(AIR のみ)
パッケージmx.controls
クラスpublic class FlexNativeMenu
継承FlexNativeMenu Inheritance EventDispatcher Inheritance Object
実装 ILayoutManagerClient, IFlexContextMenu

ランタイムバージョン: AIR 1.1

FlexNativeMenu コンポーネントでは、AIR の NativeMenu クラスのラッパーが提供されます。FlexNativeMenu は、MXML とデータプロバイダを使用してメニュー構造を指定するなど、Flex 開発者が使い慣れており、その他の Flex メニューコンポーネントと一貫している手法を使用して、ネイティブのオペレーティングシステムメニュー(ウィンドウ、アプリケーションおよびコンテキストメニューなど)を定義する方法を提供します。ただし、Flex メニューコンポーネントとは異なり、FlexNativeMenu コンポーネントによって定義されているメニューは、Flex によるビジュアルコンポーネントとして作成されるのではなく、AIR アプリケーションの一部としてホストオペレーティングシステムによってレンダリングされます。

その他の Flex メニューコンポーネントと同様に、FlexNativeMenu コンポーネントによって表わされるメニューの構造を定義するには、メニューを定義するために使用されるデータを格納している XML 階層やオブジェクトの配列などのデータプロバイダを作成します。メニューアイテムラベルに使用されるデータフィールドを指定する labelField プロパティ、メニューアイテムに対するキーボードショートカットを定義するフィールドを指定する keyEquivalentField プロパティおよびメニューアイテムのニーモニックとして使用されるラベルの文字のインデックス位置を定義するフィールドを指定する mnemonicIndexField プロパティなど、いくつかのプロパティは、データプロバイダのデータがどのように解釈されるかを定義するために設定できます。

FlexNativeMenu アイテムに使用するデータプロバイダによって、次の XML データプロバイダが示すように、アイテムの表示方法と動き方を決定する属性をいくつか指定できます。

   <mx:XML format="e4x" id="myMenuData">
     <root>
        <menuitem label="MenuItem A">
            <menuitem label="SubMenuItem A-1" enabled="False"/>
            <menuitem label="SubMenuItem A-2"/>
        </menuitem>
        <menuitem label="MenuItem B" type="check" toggled="true"/>
        <menuitem label="MenuItem C" type="check" toggled="false"/>
        <menuitem type="separator"/>
        <menuitem label="MenuItem D">
            <menuitem label="SubMenuItem D-1"/>
            <menuitem label="SubMenuItem D-2"/>
            <menuitem label="SubMenuItem D-3"/>
        </menuitem>
    </root>
 </mx:XML>

次の表では、指定できる属性とそのデータ型、さらにその目的と、メニューで DefaultDataDescriptor クラスを使用してデータプロバイダを解析する場合に、そのデータプロバイダが属性をどのように表示するかを一覧で説明します。

属性データ型説明
altKey ブールAlt キーがアイテムのキー相当物の一部として必要かどうかを指定します。
cmdKey ブール メモ:この属性は Flex 3.2 では使用されません。代わりに、commandKey を使用してください。Command キーがアイテムのキー相当物の一部として必要かどうかを指定します。
commandKey ブールCommand キーがアイテムのキー相当物の一部として必要かどうかを指定します。
controlKey ブールControl キーがアイテムのキー相当物の一部として必要かどうかを指定します。
ctrlKey ブール メモ:この属性は Flex 3.2 では使用されません。代わりに、controlKey を使用してください。Control キーがアイテムのキー相当物の一部として必要かどうかを指定します。
enabled ブールユーザーがメニューアイテムを選択できる場合は true、選択できない場合は false を指定します。 このプロパティを指定しないと、アイテムはこの値が true の場合と同じように扱われます。 デフォルトのデータ記述子を使用する場合、データプロバイダでは enabled XML 属性またはオブジェクトフィールドを使用して、この特定を指定する必要があります。
keyEquivalent ストリング押されると、メニューアイテムが選択されたようにイベントをトリガするキーボード文字を指定します。キー相当物を指定するデータ内のフィールド名や、キー相当物を決定する関数は、メニューの keyEquivalentField プロパティまたは keyEquivalentFunction プロパティで指定します。データプロバイダが E4X XML 形式の場合、キー相当物を割り当てるにはこれらのプロパティのいずれかを指定する必要があります。
label ストリングコントロールに表示されるテキストを指定します。 このアイテムは、separator 以外のすべてのタイプのメニューアイテムに使用します。 ラベルを指定するデータ内のフィールド名や、ラベルを決定する関数は、メニューの labelField プロパティまたは labelFunction プロパティで指定します。 データプロバイダが E4X XML 形式の場合、ラベルを表示するにはこれらのプロパティのいずれかを指定する必要があります。データプロバイダがストリングの配列である場合、ストリング値がラベルとして使用されます。
mnemonicIndex 整数メニューアイテムのニーモニックとして使用されるラベル内の文字のインデックス位置を指定します。ニーモニックインデックスを指定するデータ内のフィールド名や、ニーモニックインデックスを決定する関数は、メニューの mnemonicIndexField プロパティまたは mnemonicIndexFunction プロパティで指定します。データプロバイダが E4X XML 形式の場合、データ内のニーモニックインデックスを指定するにはこれらのプロパティのいずれかを指定する必要があります。また、ラベル内の文字の左に隣接する形でアンダースコアを含めることによって、その文字がメニューアイテムのニーモニックであることを示すことができます。
shiftKey ブールShift キーがアイテムのキー相当物の一部として必要かどうかを指定します。
toggled ブールcheck アイテムが選択されているかどうかを指定します。このプロパティを選択しないと、アイテムはこの値が false の場合と同じように扱われ、アイテムは選択されません。デフォルトのデータ記述子を使用する場合、データプロバイダでは toggled XML 属性またはオブジェクトフィールドを使用して、この特性を指定する必要があります。
type ストリングメニューアイテムのタイプを指定します。 有効な値は、separator および check です。他の値や、タイプ項目のないノードは、normal のメニュー項目として扱われます。 デフォルトのデータ記述子を使用する場合、データプロバイダでは type XML 属性またはオブジェクトフィールドを使用して、この特性を指定する必要があります。

ウィンドウメニューを作成するには、メニューが表示される Window または WindowedApplication インスタンスの menu プロパティとして FlexNativeMenu を設定します。アプリケーションメニューを作成するには、アプリケーションの WindowedApplication の menu プロパティとして FlexNativeMenu を割り当てます。ユーザーインターフェイスの一部に対するコンテキストメニューとして FlexNativeMenu を割り当てるには、FlexNativeMenu インスタンスの setContextMenu() () メソッドを呼び出し、UI オブジェクトを引数として渡します。FlexNativeMenu コンポーネントの display() () メソッドを呼び出して、アプリケーションのウィンドウのいずれかの上の任意の場所にポップアップメニューとしてメニューを表示します。

いつメニューアイテムコマンドがトリガされるかを検出するには、itemClick イベントのリスナーを登録します。メニューまたはサブメニューが開かれるときを決定するために、menuShow イベントに対するリスナーを登録することもできます。

MXML のシンタックスexpandedMXML シンタックスを隠す

The <mx:FlexNativeMenu> tag supports the following tag attributes:

  <mx:FlexNativeMenu
    Properties
    dataDescriptor="mx.controls.treeClasses.DefaultDataDescriptor"
    dataProvider="undefined"
    keyEquivalentField="keyEquivalent"
    keyEquivalentFunction="undefined"
    keyEquivalentModifiersFunction="undefined"
    labelField="label"
    labelFunction="undefined"
    mnemonicIndexField="mnemonicIndex"
    mnemonicIndexFunction="undefined"
    showRoot="true"
 
    Events
    itemClick="No default"
    menuShow="No default"
  />
  

関連項目

flash.display.NativeMenu
mx.events.FlexNativeMenuEvent


パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  dataDescriptor : IMenuDataDescriptor
データプロバイダ内のデータにアクセスして操作するオブジェクトです。
FlexNativeMenu
  dataProvider : Object
NativeMenu のメニューアイテムの構造を定義するために使用されるオブジェクトの階層です。
FlexNativeMenu
  hasRoot : Boolean
[読み取り専用] 現在のデータプロバイダにルートノード(例えば、階層構造内の単一の最上位ノードなど)があることを示すフラグです。
FlexNativeMenu
  initialized : Boolean
オブジェクトがレイアウトの 3 つの段階(処理、測定、レイアウト)すべてを完了したものであるかどうかを示すフラグです(いずれかが必須であった場合)。
FlexNativeMenu
  keyEquivalentField : String
各メニューアイテムのキー相当物を決定するデータプロバイダのフィールド名です。
FlexNativeMenu
  keyEquivalentFunction : Function
各メニューアイテムのキー相当物を判定する関数です。
FlexNativeMenu
  keyEquivalentModifiersFunction : Function
各メニューアイテムのキー相当物のモディファイアを判定する関数です。
FlexNativeMenu
  labelField : String
各メニューアイテムに表示されるテキストを決定するデータプロバイダのフィールド名です。
FlexNativeMenu
  labelFunction : Function
各メニューアイテムに表示するテキストを判定する関数です。
FlexNativeMenu
  mnemonicIndexField : String
各メニューアイテムに表示されるニーモニックインデックスを決定するデータプロバイダのフィールド名です。
FlexNativeMenu
  mnemonicIndexFunction : Function
各メニューアイテムのニーモニックインデックスを判定する関数です。
FlexNativeMenu
  nativeMenu : NativeMenu
[読み取り専用] このオブジェクトで管理される flash.display.NativeMenu を返します。存在しない場合は null を返します。
FlexNativeMenu
  nestLevel : int
オブジェクト階層におけるこのオブジェクトの深度を表します。
FlexNativeMenu
  processedDescriptors : Boolean
子をすぐに生成するか、遅延生成した後、このいずれかの発生に応じて、true に設定されます。
FlexNativeMenu
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  showRoot : Boolean
データプロバイダのルートノードを表示するかどうかを指定するブール値のフラグです。
FlexNativeMenu
  updateCompletePendingFlag : Boolean
オブジェクトが 3 段階のレイアウト検証をすべて完了したものであるかどうかを示すフラグです(いずれかの検証が必須であった場合)。
FlexNativeMenu
パブリックメソッド
 メソッド定義元
  
コンストラクタです。
FlexNativeMenu
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
  
display(stage:Stage, stageX:Number, stageY:Number):void
このメニューを、指定された位置にポップアップ表示します。
FlexNativeMenu
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  
後で画面更新時に commitProperties() メソッドが呼び出されるように、コンポーネントをマークします。
FlexNativeMenu
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
  
InteractiveObject のコンテキストメニューを基になるネイティブメニューに設定します。
FlexNativeMenu
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
  
基になるネイティブメニューに設定されていた InteractiveObject のコンテキストメニューの設定を解除します。
FlexNativeMenu
  
子の位置とサイズを検証し、その他のビジュアルオブジェクトを描画します。
FlexNativeMenu
  
必要に応じて、このオブジェクトのプロパティとレイアウトを検証および更新し、それを再描画します。
FlexNativeMenu
  
コンポーネントのプロパティを検証します。
FlexNativeMenu
  
validateSize(recursive:Boolean = false):void
コンポーネントの測定サイズを検証します。LayoutManager.invalidateSize() メソッドがこの ILayoutManagerClient を指定して呼び出された場合、測定の実行時に validateSize() メソッドが呼び出されます。
FlexNativeMenu
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
プロテクトメソッド
 メソッド定義元
  
コンポーネントに設定されたプロパティを処理します。
FlexNativeMenu
  
keyEquivalentField プロパティと keyEquivalentFunction プロパティに基づいて、指定されたデータオブジェクトのキー相当物を返します。
FlexNativeMenu
  
keyEquivalentModifiersFunction プロパティに基づいて、指定されたデータオブジェクトのキー相当物のモディファイアを返します。
FlexNativeMenu
  
labelField プロパティと labelFunction プロパティに基づいて、指定されたデータオブジェクトに対するメニューアイテムラベルとして使用するストリングを返します。
FlexNativeMenu
  
mnemonicIndexField プロパティと mnemonicIndexFunction プロパティに基づいて、指定されたデータオブジェクトのニーモニックインデックスを返します。
FlexNativeMenu
  
アンダースコア文字が存在するかどうかに基づいてラベルからニーモニックインデックスを抽出します。
FlexNativeMenu
  
アンダースコア文字がある場合は削除し、エスケープされているアンダースコア文字がある場合は変換して、NativeMenuItem に対して使用される実際のラベルを決定します。
FlexNativeMenu
イベント
 イベント 概要 定義元
 Inherited[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
  メニューアイテムが選択されたときに送出されます。FlexNativeMenu
  メニューまたはサブメニューが表示される前に送出されます。FlexNativeMenu
プロパティの詳細
dataDescriptorプロパティ
dataDescriptor:IMenuDataDescriptor

データプロバイダ内のデータにアクセスして操作するオブジェクトです。FlexNativeMenu コントロールは、データに関する情報について、データ記述子に委任します。次に、このデータはデータソースに関する解析と移動のために使用されます。FlexNativeMenu に対して定義されたデータ記述子は、すべての子メニューおよびサブメニューで使用されます。

このプロパティを MXML の属性として指定する場合、記述子のストリング名ではなく、データ記述子への参照を使用する必要があります。プロパティを設定するには次の形式を使用します。

<mx:FlexNativeMenu id="flexNativeMenu" dataDescriptor="{new MyCustomDataDescriptor()}"/>

また、次の例に示すように、ネストしたサブタグとして MXML のプロパティを指定できます。

<mx:FlexNativeMenu>
      <mx:dataDescriptor>
         <myCustomDataDescriptor>
      </mx:dataDescriptor>
      ...

デフォルト値は、DefaultDataDescriptor クラスの内部インスタンスです。



実装
    public function get dataDescriptor():IMenuDataDescriptor
    public function set dataDescriptor(value:IMenuDataDescriptor):void
dataProviderプロパティ 
dataProvider:Object

NativeMenu のメニューアイテムの構造を定義するために使用されるオブジェクトの階層です。個別のデータオブジェクトはメニューアイテムを定義し、子アイテムを持つアイテムはメニューとサブメニューになります。

FlexNativeMenu コントロールは、ソースデータオブジェクトを次のように処理します。

デフォルト値 : "未定義".

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 collectionChange イベントが送出されます。



実装
    public function get dataProvider():Object
    public function set dataProvider(value:Object):void
hasRootプロパティ 
hasRoot:Boolean  [読み取り専用]

現在のデータプロバイダにルートノード(例えば、階層構造内の単一の最上位ノードなど)があることを示すフラグです。XML と Object はルートノードがあるタイプの例であり、リストと配列はルートノードがないタイプの例です。



実装
    public function get hasRoot():Boolean
initializedプロパティ 
initialized:Boolean

オブジェクトがレイアウトの 3 つの段階(処理、測定、レイアウト)すべてを完了したものであるかどうかを示すフラグです(いずれかが必須であった場合)。



実装
    public function get initialized():Boolean
    public function set initialized(value:Boolean):void
keyEquivalentFieldプロパティ 
keyEquivalentField:String

各メニューアイテムのキー相当物を決定するデータプロバイダのフィールド名です。値のセットは、Keyboard クラスの KEYNAME_XXXX 定数で定義されます。例えば、Home、Insert などの制御文字の値に対して一覧表示される定数です。

keyEquivalentFunction プロパティを設定すると、このプロパティは無視されます。

デフォルト値 : "keyEquivalent".

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 keyEquivalentChanged イベントが送出されます。



実装
    public function get keyEquivalentField():String
    public function set keyEquivalentField(value:String):void

関連項目

keyEquivalentFunctionプロパティ 
keyEquivalentFunction:Function

各メニューアイテムのキー相当物を判定する関数です。このプロパティを省略すると、keyEquivalentField プロパティで指定したフィールドまたは属性の値が使用されます。このプロパティを指定した場合、keyEquivalentField プロパティの値は無視されます。

keyEquivalentFunction プロパティは、フォーマット処理やローカライズにも使用でき、プラットフォームに依存しません。

このキー相当物関数は単一の引数を取得します。この引数は、データプロバイダ内のアイテムであり、ストリングを返します。

myKeyEquivalentFunction(item:Object):String

デフォルト値 : "未定義".

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 keyEquivalentFunctionChanged イベントが送出されます。



実装
    public function get keyEquivalentFunction():Function
    public function set keyEquivalentFunction(value:Function):void

関連項目

keyEquivalentModifiersFunctionプロパティ 
keyEquivalentModifiersFunction:Function

各メニューアイテムのキー相当物のモディファイアを判定する関数です。このプロパティを省略した場合、Flex では独自のデフォルト関数が使用され、次の(ブール)フィールドが存在するかどうかについてデータプロバイダのデータを確認することによって、モディファイアの配列が決定されます。 altKeycommandKeycontrolKey、および shiftKey です。

keyEquivalentModifiersFunction プロパティは、フォーマット処理やローカライズにも使用でき、プラットフォームに依存しません。

このキー相当物のモディファイア関数は単一の引数を取得します。この引数は、データプロバイダ内のアイテムであり、モディファイアキー名の配列を返します。

myKeyEquivalentModifiersFunction(item:Object):Array

デフォルト値 : "未定義".

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 keyEquivalentModifiersFunctionChanged イベントが送出されます。



実装
    public function get keyEquivalentModifiersFunction():Function
    public function set keyEquivalentModifiersFunction(value:Function):void
labelFieldプロパティ 
labelField:String

各メニューアイテムに表示されるテキストを決定するデータプロバイダのフィールド名です。データプロバイダがストリングの配列である場合、各ストリング値がラベルとして使用されます。データプロバイダが E4X XML オブジェクトの場合、このプロパティを明示的に設定する必要があります。例えば、E4X XML オブジェクト内の各 XML エレメントに各メニューアイテムに対して表示するテキストを含む "" 属性が含まれている場合は、labelField を "@label""@label" に設定します。

ラベルでは、アンダースコアを前に付けることによって、ニーモニックインデックスとして使用される文字を指定できます。 例えば、"C_ut" というラベル値の場合、ニーモニックインデックスが 1 に設定されます。この目的に使用されるのは、最初のアンダースコアだけです。ラベル内にリテラルアンダースコア文字を表示するには、アンダースコアを 2 つ使用することによってエスケープできます。例えば、"C__u_t"" というラベル値は、"C_ut" というラベルを持ち、ニーモニックインデックスが 3 ("t" 文字)であるメニューアイテムになります。mnemonicIndexField プロパティで定義されているフィールドが存在し、それが 0 より大きい値に設定されている場合は、アンダースコアで指定されているニーモニックインデックス値よりもその値が優先されます。

labelFunction プロパティを設定すると、このプロパティは無視されます。

デフォルト値 : "label".

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 labelFieldChanged イベントが送出されます。



実装
    public function get labelField():String
    public function set labelField(value:String):void
labelFunctionプロパティ 
labelFunction:Function

各メニューアイテムに表示するテキストを判定する関数です。ラベル関数でデータプロバイダ内の適切なフィールドを検索し、表示可能なストリングを返す必要があります。

このプロパティを省略すると、labelField プロパティで指定したフィールドまたは属性の値が使用されます。このプロパティを指定した場合、labelField プロパティの値は無視されます。

labelFunction プロパティは、フォーマット処理やローカライズに役立ち、プラットフォームに依存しません。

このラベル関数は単一の引数を取得します。この引数は、データプロバイダ内のアイテムであり、ストリングを返します。

myLabelFunction(item:Object):String

デフォルト値 : "未定義".

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 labelFunctionChanged イベントが送出されます。



実装
    public function get labelFunction():Function
    public function set labelFunction(value:Function):void
mnemonicIndexFieldプロパティ 
mnemonicIndexField:String

各メニューアイテムに表示されるニーモニックインデックスを決定するデータプロバイダのフィールド名です。

このプロパティに指定されているフィールドに 0 より大きい数が含まれている場合は、そのニーモニックインデックスは、ラベル内のアンダースコアによって指定された数よりも優先されます。

mnemonicIndexFunction プロパティを設定すると、このプロパティは無視されます。

デフォルト値 : "mnemonicIndex".

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 mnemonicIndexChanged イベントが送出されます。



実装
    public function get mnemonicIndexField():String
    public function set mnemonicIndexField(value:String):void

関連項目

mnemonicIndexFunctionプロパティ 
mnemonicIndexFunction:Function

各メニューアイテムのニーモニックインデックスを判定する関数です。

このプロパティを省略すると、mnemonicIndexField プロパティで指定したフィールドまたは属性の値が使用されます。このプロパティを指定した場合、mnemonicIndexField プロパティの値は無視されます。

このプロパティが定義されており、関数がデータアイテムに対して 0 より大きい数を返す場合は、ラベル内のアンダースコアによって指定された数よりも返されたニーモニックインデックスが優先されます。

mnemonicIndexFunction プロパティは、フォーマット処理やローカライズにも使用でき、プラットフォームに依存しません。

このニーモニックインデックス関数は単一のパラメータを取得します。このパラメータは、データプロバイダ内のアイテムであり、int を返します。

myMnemonicIndexFunction(item:Object):int

デフォルト値 : "未定義".

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 mnemonicIndexFunctionChanged イベントが送出されます。



実装
    public function get mnemonicIndexFunction():Function
    public function set mnemonicIndexFunction(value:Function):void
nativeMenuプロパティ 
nativeMenu:NativeMenu  [読み取り専用]

このオブジェクトで管理される flash.display.NativeMenu を返します。存在しない場合は null を返します。基になる NativeMenu インスタンスに対して直接加えられた変更は、メニューまたは基になるデータプロバイダが変更されるときに失われることがあります。

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 nativeMenuUpdate イベントが送出されます。



実装
    public function get nativeMenu():NativeMenu
nestLevelプロパティ 
nestLevel:int

オブジェクト階層におけるこのオブジェクトの深度を表します。この数値は、測定およびレイアウトコードによって使用されます。このコンポーネントが DisplayList でない場合、この値は 0 になります。



実装
    public function get nestLevel():int
    public function set nestLevel(value:int):void
processedDescriptorsプロパティ 
processedDescriptors:Boolean

子をすぐに生成するか、遅延生成した後、このいずれかの発生に応じて、true に設定されます。Container オブジェクトの場合、true に設定されるのは、createComponentsFromDescriptors() メソッドの終了時、つまり、Container オブジェクトが子の記述子から子を作成した後です。

例えば、Accordion コンテナが遅延インスタンス化を使用する場合、Accordion コンテナの 2 番目のペインの processedDescriptors プロパティは、ユーザーがそのペインまでナビゲートし、ペインがその子を作成するまで true になりません。 ただし、Accordion が creationPolicy プロパティを "all" に設定している場合、その 2 番目のペインの processedDescriptors プロパティはアプリケーションの起動中に true に設定されます。

コンテナではないクラスには記述子がなく、この場合、このプロパティが true に設定されるのは、createChildren() メソッドが内部コンポーネントの子を作成した後です。



実装
    public function get processedDescriptors():Boolean
    public function set processedDescriptors(value:Boolean):void
showRootプロパティ 
showRoot:Boolean

データプロバイダのルートノードを表示するかどうかを指定するブール値のフラグです。

データプロバイダにルートノードがあり、showRoot プロパティが false に設定されている場合、FlexNativeMenu コントロールによって表示される最上位のメニューアイテムは、ルートノードの直下の子孫に対応します。

このフラグは、リストや配列などのルートノードがないデータプロバイダを使用する場合には、影響しません。

デフォルト値 : true.



実装
    public function get showRoot():Boolean
    public function set showRoot(value:Boolean):void

関連項目

updateCompletePendingFlagプロパティ 
updateCompletePendingFlag:Boolean

オブジェクトが 3 段階のレイアウト検証をすべて完了したものであるかどうかを示すフラグです(いずれかの検証が必須であった場合)。



実装
    public function get updateCompletePendingFlag():Boolean
    public function set updateCompletePendingFlag(value:Boolean):void
コンストラクタの詳細
FlexNativeMenu()コンストラクタ
public function FlexNativeMenu()

コンストラクタです。

メソッドの詳細
commitProperties()メソッド
protected function commitProperties():void

コンポーネントに設定されたプロパティを処理します。

関連項目

display()メソッド 
public function display(stage:Stage, stageX:Number, stageY:Number):void

このメニューを、指定された位置にポップアップ表示します。

パラメータ

stage:Stage — このメニューが表示される Stage オブジェクトです。
 
stageX:Number — このメニューが表示される stage の原点を基準にした水平方向のピクセル数です。
 
stageY:Number — このメニューが表示される stage の原点を基準にした垂直方向のピクセル数です。

invalidateProperties()メソッド 
public function invalidateProperties():void

次に画面が更新されている間に commitProperties() メソッドが呼び出されるように、コンポーネントをマークします。

無効化は、後で画面が更新されるまでコンポーネントの変更処理を保留することで、作業の重複を解消する便利なメカニズムです。例えば、テキストの色とサイズを変更する場合、色を変更した後、すぐに色を更新し、次にサイズを設定して、今度はサイズを更新するという処理は時間の浪費です。両方のプロパティを変更した後、新しいサイズと色でテキストを一度に再描画する方が効率的です。

無効化メソッドが呼び出されることはほとんどありません。一般的には、コンポーネントのプロパティを設定すると、適切な無効化メソッドが自動的に呼び出されます。

itemToKeyEquivalent()メソッド 
protected function itemToKeyEquivalent(data:Object):String

keyEquivalentField プロパティと keyEquivalentFunction プロパティに基づいて、指定されたデータオブジェクトのキー相当物を返します。このメソッドは、パラメータをストリングに変換できない場合、空のストリングを返します。

パラメータ

data:Object — 表示されるオブジェクトです。

戻り値
String — データに基づいたキー相当物です。
itemToKeyEquivalentModifiers()メソッド 
protected function itemToKeyEquivalentModifiers(data:Object):Array

keyEquivalentModifiersFunction プロパティに基づいて、指定されたデータオブジェクトのキー相当物のモディファイアを返します。このメソッドは、パラメータをモディファイアの配列に変換できない場合、空の配列を返します。

パラメータ

data:Object — 表示されるオブジェクトです。

戻り値
Array — データに基づいたキー相当物のモディファイアの配列です。
itemToLabel()メソッド 
protected function itemToLabel(data:Object):String

labelField プロパティと labelFunction プロパティに基づいて、指定されたデータオブジェクトに対するメニューアイテムラベルとして使用するストリングを返します。このメソッドがパラメータをストリングに変換できない場合は、単一の空白文字が返されます。

パラメータ

data:Object — 表示されるオブジェクトです。

戻り値
String — データに応じて表示されるストリングです。
itemToMnemonicIndex()メソッド 
protected function itemToMnemonicIndex(data:Object):int

mnemonicIndexField プロパティと mnemonicIndexFunction プロパティに基づいて、指定されたデータオブジェクトのニーモニックインデックスを返します。このメソッドは、パラメータを整数に変換できない場合、-1 を返します。

パラメータ

data:Object — 表示されるオブジェクトです。

戻り値
int — データに基づいたニーモニックインデックスです。
parseLabelToMnemonicIndex()メソッド 
protected function parseLabelToMnemonicIndex(data:String):int

アンダースコア文字が存在するかどうかに基づいてラベルからニーモニックインデックスを抽出します。先頭のアンダースコア文字(ある場合)を探し、インデックスとして使用します。

パラメータ

data:String

戻り値
int
parseLabelToString()メソッド 
protected function parseLabelToString(data:String):String

アンダースコア文字がある場合は削除し、エスケープされているアンダースコア文字がある場合は変換して、NativeMenuItem に対して使用される実際のラベルを決定します。

パラメータ

data:String

戻り値
String
setContextMenu()メソッド 
public function setContextMenu(component:InteractiveObject):void

InteractiveObject のコンテキストメニューを基になるネイティブメニューに設定します。

パラメータ

component:InteractiveObject

unsetContextMenu()メソッド 
public function unsetContextMenu(component:InteractiveObject):void

基になるネイティブメニューに設定されていた InteractiveObject のコンテキストメニューの設定を解除します。

パラメータ

component:InteractiveObject

validateDisplayList()メソッド 
public function validateDisplayList():void

子の位置とサイズを検証し、その他のビジュアルオブジェクトを描画します。 この ILayoutManagerClient クライアントの場合に LayoutManager.invalidateDisplayList() メソッドを呼び出すと、リストを更新する時点で validateDisplayList() メソッドが呼び出されます。

validateNow()メソッド 
public function validateNow():void

必要に応じて、このオブジェクトのプロパティとレイアウトを検証および更新し、それを再描画します。

validateProperties()メソッド 
public function validateProperties():void

コンポーネントのプロパティを検証します。 この ILayoutManagerClient クライアントの場合に LayoutManager.invalidateProperties() メソッドを呼び出すと、プロパティ値の処理時に validateProperties() メソッドが呼び出されます。

validateSize()メソッド 
public function validateSize(recursive:Boolean = false):void

コンポーネントの測定サイズを検証します。LayoutManager.invalidateSize() メソッドがこの ILayoutManagerClient を指定して呼び出された場合、測定の実行時に validateSize() メソッドが呼び出されます。

パラメータ

recursive:Boolean (default = false)true の場合、このメソッドをオブジェクトの子で呼び出します。

イベントの詳細
itemClick イベント
イベントオブジェクトの型: mx.events.FlexNativeMenuEvent
プロパティ FlexNativeMenuEvent.type = mx.events.FlexNativeMenuEvent.ITEM_CLICK

メニューアイテムが選択されたときに送出されます。

FlexNativeMenuEvent.ITEM_CLICK イベント型定数は、ユーザーがメニューアイテムを選択したことを示します。

このイベントタイプのイベントオブジェクトの各プロパティには次の値が設定されています。イベントの種類によっては無効なプロパティもあります。詳細については、各プロパティの説明を参照してください。

プロパティ
bubblesfalse
cancelabletrue
currentTargetイベント処理を行うイベントリスナーの定義用オブジェクトを表します。 例えば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は myButton となります。
index選択されたメニューアイテムのメニュー内におけるインデックスです。
item選択された dataProvider 内のアイテムです。
label選択されたメニューアイテムのラベルテキストです。
nativeMenuイベントに関連付けられた特定の NativeMenu インスタンスです。
nativeMenuItemイベントに関連付けられた特定の NativeMenuItem インスタンスです。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトにアクセスするには、currentTarget プロパティを使用します。
typeFlexNativeMenuEvent.ITEM_CLICK
menuShow イベント  
イベントオブジェクトの型: mx.events.FlexNativeMenuEvent
プロパティ FlexNativeMenuEvent.type = mx.events.FlexNativeMenuEvent.MENU_SHOW

メニューまたはサブメニューが表示される前に送出されます。

FlexNativeMenuEvent.MENU_SHOW 型定数は、マウスポインタがメニュー上に置かれたか、サブメニューが開かれたことを示します。

このイベントタイプのイベントオブジェクトの各プロパティには次の値が設定されています。イベントの種類によっては無効なプロパティもあります。詳細については、各プロパティの説明を参照してください。

プロパティ
bubblesfalse
cancelabletrue
currentTargetイベント処理を行うイベントリスナーの定義用オブジェクトを表します。 例えば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は myButton となります。
index-1。このプロパティは、このタイプのイベントの場合は設定されません。
itemnull。このプロパティは、このタイプのイベントの場合は設定されません。
labelnull。このプロパティは、このタイプのイベントの場合は設定されません。
nativeMenuイベントに関連付けられた特定の NativeMenu インスタンスです。
nativeMenuItemnull。このプロパティは、このタイプのイベントの場合は設定されません。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトにアクセスするには、currentTarget プロパティを使用します。
typeFlexNativeMenuEvent.MENU_SHOW




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/mx/controls/FlexNativeMenu.html