3.4 aetypes -- AppleEvent オブジェクト

Macintoshプラットフォームで利用できます。

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 が生成するパッケージ内で、目的に応じてクラスやプロパティを増やす 際に使われます。

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

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

クラス Unknown( type, data)

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

クラス Enum( enum)

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

クラス InsertionLoc( of, pos)

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

クラス Boolean( bool)

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

クラス StyledText( style, text)

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

クラス AEText( script, style, text)

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

クラス IntlText( script, language, text)

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

クラス IntlWritingCode( script, language)

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

クラス QDPoint( v, h)

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

クラス QDRectangle( v0, h0, v1, h1)

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

クラス RGBColor( r, g, b)

色を表すクラスです。

クラス Type( type)

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

クラス Keyword( name)

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

クラス Range( start, stop)

範囲を表すクラスです。

クラス Ordinal( abso)

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

クラス Logical( logc, term)

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

クラス Comparison( obj1, relo, obj2)

obj1obj2relo による比較を表すクラスです。

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

クラス ComponentItem( which[, fr])

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

クラス NProperty( fr)

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

クラス ObjectSpecifier( want, form, seld[, fr])

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

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。