メソッド | プロパティ フレームあり | フレームなし

mx.core
UIObjectDescriptor クラス




UIObjectDescriptor クラス

MXML ファイル内のほとんどのタグは、UIObjects のツリーを説明するものです。たとえば、 タグは UIObject で、その子コンテナとコントロールもすべて UIObject です。

コンパイルでは、これらの UIObject はすべて UIObjectDescriptor に変換されます。厳密には、コンパイラは、UIObjectDescriptor のツリーを作成する ActionScript コードを生成します。アプリケーションが起動すると、この ActionScript コードが実行されます。

Container.createComponents() メソッドまたは Container.createComponent() メソッドが呼び出されると、そのメソッドは UIObjectDescriptor の情報を使用して UIObject を作成します。Container.creationPolicy プロパティの値によっては、アプリケーションの起動時に UIObject が表示されるとき、またはアプリケーションの開発者が手動で createComponent() メソッドを呼び出したときに、UIObject が作成されることもあります。



メソッド
       inheritingStyles
インラインの継承スタイルファクトリ関数の記憶域を表します。
       nonInheritingStyles
インラインの非継承スタイルファクトリ関数の記憶域を表します。
       type
UIObject のコンストラクタ関数を参照します。



プロパティ
       document:Object
ドキュメントは、これらのすべてのオブジェクトが (それぞれの所属にかかわりなく) 実際に表示される場所です。
       effects:Array
MXML で指定されたプロパティに関連付けられた、エフェクトであるイベントの名前を指定する配列です。
       events:Object
MXML で指定されるイベントハンドラを指定するオブジェクトです。
       id:String
MXML で指定される、または MXML コンパイラによって割り当てられる ID です。
       properties:Object   [読み取り専用]
MXML で指定される UIObject のプロパティを含む initObj を返します。



メソッドの詳細

inheritingStyles

inheritingStyles( )

インラインの継承スタイルファクトリ関数の記憶域を表します。


nonInheritingStyles

nonInheritingStyles( )

インラインの非継承スタイルファクトリ関数の記憶域を表します。


type

type( )

UIObject のコンストラクタ関数を参照します。たとえば、<mx:TextInput/> と記述した場合は、descriptor.type は mx.controls.TextInput です。これは、(少なくとも MXML コンパイラによって設定される UIObjectDescriptor では) undefined になることはありません。



プロパティの詳細

ドキュメント

document:Object  

ドキュメントは、これらのすべてのオブジェクトが (それぞれの所属にかかわりなく) 実際に表示される場所です。_properties 関数は、イベントが正しく実行されるように、ドキュメントのコンテキストの中で呼び出します。また、子記述子にも伝播する必要があります。


effects

effects:Array  

MXML で指定されたプロパティに関連付けられた、エフェクトであるイベントの名前を指定する配列です。たとえば、<mx:TextInput showEffect="Fade" and hideEffect="Fade"/> と記述した場合、descriptor.effects は [ "show", "hide" ] です。MXML エフェクトが指定されていない場合は、undefined です。この配列は、Effect マネージャにエフェクトイベントを登録するために、createComponent() メソッドによって使用されます。


イベント

events:Object  

MXML で指定されるイベントハンドラを指定するオブジェクトです。たとえば、<mx:DataGrid id="datagrid" initialize="datagrid_initialize();" change="datagrid_change();"/> と記述した場合、descriptor.events は { initialize:function(event) { datagrid_initialize(); }, change:function(event) { datagrid_change(); } } です。MXML イベントハンドラが指定されていない場合は、undefined です。このオブジェクトは、Delegate オブジェクトを UIObject のイベントリスナーとして登録するために、createComponent() メソッドによって使用されます。Delegate は、UIObject のスコープ内ではなく、MXML ドキュメントのスコープ内でのイベントハンドラの実行を担います。


id

id:String  

MXML で指定される、または MXML コンパイラによって割り当てられる ID です。たとえば、<mx:TextInput id="firstName"/> と記述した場合、descriptor.id は firstName です。ID が作成者によって指定されていない場合、またはコンパイラによって割り当てられていない場合は undefined です。ID は、UIObject を参照する値を持つ MXML ドキュメントオブジェクトの、プロパティの名前になります。これは、createComponent() メソッドによって自動的に生成される UIObject のインスタンス名と同一ではありません。インスタンス名は、attachMovie() メソッドに 2 番目のパラメータとして渡され、UIObject の _name プロパティの値になる他、UIObject を参照する値を持つ親のプロパティの名前にもなります。


プロパティ

properties:Object   [読み取り専用]

MXML で指定される UIObject のプロパティを含む initObj を返します。MXML プロパティが指定されていない場合は、undefined です。これは、常にオブジェクト (または undefined) を返します。関数は返しません。