38.4. "aetypes" --- AppleEvent オブジェクト
*******************************************

"aetypes" では、 Apple Event データデスクリプタ (data descriptor) や
Apple Event オブジェクト指定子 (object specifier) を表現するクラスを定
義しています。

Apple Event データはデスクリプタに含まれていて、これらのデスクリプタは
型付けされています。多くのデスクリプタは、単に対応するPython の型で 表
現されています。例えば、OSA 中の "typeText" は Python 文字列型で、
"typeFloat" は 浮動小数点型になる、といった具合です。 このモジュールで
は、OSA の型のうち、直接的に対応する Python の型がないもののためにクラ
スを定義しています。そのようなクラスのインスタンスに対するパックやアン
パック操作は、 "aepack" モジュール自動的に処理します。

オブジェクト指定子は、本質的には Apple Event サーバ中に実装されている
オブジェクトへのアドレスです。Apple Event 指定子は、Apple Event のオブ
ジェクトそのものとして、あるいはオプションパラメタの引数として使われま
す。 "aetypes" モジュールには OSA クラスやプロパティを表現するための基
底クラスが入っています。これらのクラスは、 "gensuitemodule" が生成する
パッケージ内で、目的に応じてクラスやプロパティを増やす際に使われます。

以前のバージョンとの互換性や、スタブパッケージを生成していないようなア
プリケーションをスクリプトで書く必要がある場合のために、このモジュール
には "Document" 、 "Window" 、 "Character" 、 といったよく使われる OSA
クラスのいくつかを指定できるオブジェクト指定子も入っています。

注釈: このモジュールは Python 3.x で削除されました。

"AEObjects" モジュールでは、以下のようなクラスを定義して、 Apple Event
デスクリプタデータを表現しています:

class aetypes.Unknown(type, data)

   "aepack" や "aetypes" がサポートしていない OSA の デスクリプタデー
   タ、すなわち、このモジュールで扱っている他のクラスや、 Python の組
   み込み型の値で表現されていないようなデータを表現するクラスです。

class aetypes.Enum(enum)

   列挙値 (enumeration value) を表すクラスです。 値は 4 文字の文字列型
   になります。

class aetypes.InsertionLoc(of, pos)

   オブジェクト "of" の中の "pos" の位置を表すクラスです。

class aetypes.Boolean(bool)

   ブール値 (真偽値) を表すクラスです。

class aetypes.StyledText(style, text)

   スタイル情報 (フォント、タイプフェイスなど) つきのテキストを表すク
   ラスです。

class aetypes.AEText(script, style, text)

   スクリプトシステム (script system) およびスタイル情報の入ったテキス
   トを表すクラスです。

class aetypes.IntlText(script, language, text)

   スクリプトシステムと言語情報 (language information) の入ったテキス
   トを表すクラスです。

class aetypes.IntlWritingCode(script, language)

   スクリプトシステムと言語情報を表すクラスです。

class aetypes.QDPoint(v, h)

   QuickDraw の点を表すクラスです。

class aetypes.QDRectangle(v0, h0, v1, h1)

   QuickDraw の矩形を表すクラスです。

class aetypes.RGBColor(r, g, b)

   色を表すクラスです。

class aetypes.Type(type)

   OSA の型 (type value) を表すクラスです。 4 文字からなる名前を値に持
   ちます。

class aetypes.Keyword(name)

   OSA のキーワードです。 4 文字からなる名前を値に持ちます。

class aetypes.Range(start, stop)

   範囲を表すクラスです。

class aetypes.Ordinal(abso)

   先頭を表す ""firs"" や中央を表す ""midd"" のように、 数値でない絶対
   位置指定子を表すクラスです。

class aetypes.Logical(logc, term)

   演算子 "logc" を "term" に適用したときの論理式を表すクラスです。

class aetypes.Comparison(obj1, relo, obj2)

   "obj1" と "obj2" の "relo" による比較を表すクラスです。

以下のクラスは、生成されたスタブパッケージが、 AppleScript のクラスや
プロパティを Python で表現する上で基底クラスとして利用します。

class aetypes.ComponentItem(which[, fr])

   OSA クラス用の抽象基底クラスです。サブクラスでは、クラス属性 "want"
   を 4 文字の OSA クラスコードに設定せねばなりません。 このクラスのサ
   ブクラスのインスタンスは AppleScript オブジェクト指定子と同じになり
   ます。インスタンス化を行う最には、 "which" にセレクタを渡さねばなり
   ません。また、任意で親オブジェクトを "fr" に渡せます。

class aetypes.NProperty(fr)

   OSA プロパティ用の抽象基底クラスです。サブクラスでは、クラス属性
   "want" と "which" を設定して、どのプロパティを表しているかを指定せ
   ねばなりません。このクラスのサブクラスのインスタンスはオブジェクト
   指定子と同じになります。

class aetypes.ObjectSpecifier(want, form, seld[, fr])

   "ComponentItem" と "NProperty" の基底クラスで、汎用の OSA オブジェ
   クト指定子を表します。パラメタの説明は Apple Open Scripting
   Architecture のドキュメントを参照してください。 このクラスは抽象ク
   ラスではないので注意してください。
