Packagemx.controls
Classpublic class FlexNativeMenu
InheritanceFlexNativeMenu Inheritance flash.events.EventDispatcher
Implements ILayoutManagerClient, IFlexContextMenu, IAutomationObject

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The FlexNativeMenu component provides a wrapper for AIR's NativeMenu class. The FlexNativeMenu provides a way to define native operating system menus (such as window, application, and context menus) using techniques that are familiar to Flex developers and consistent with other Flex menu components, such as using MXML and data providers to specify menu structure. However, unlike Flex menu components, the menus that are defined by a FlexNativeMenu component are rendered by the host operating system as part of an AIR application, rather than being created as visual components by Flex.

Like other Flex menu components, to define the structure of a menu represented by a FlexNativeMenu component, you create a data provider such as an XML hierarchy or an array of objects containing data to be used to define the menu. Several properties can be set to define how the data provider data is interpreted, such as the labelField property to specify the data field that is used for the menu item label, the keyEquivalentField property to specify the field that defines a keyboard equivalent shortcut for the menu item, and the mnemonicIndexField property to specify the field that defines the index position of the character in the label that is used as the menu item's mnemonic.

The data provider for FlexNativeMenu items can specify several attributes that determine how the item is displayed and behaves, as the following XML data provider shows:

   <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>

The following table lists the attributes you can specify, their data types, their purposes, and how the data provider must represent them if the menu uses the DefaultDataDescriptor class to parse the data provider:

AttributeTypeDescription
altKey BooleanSpecifies whether the Alt key is required as part of the key equivalent for the item.
cmdKey Boolean Note: this attribute is deprecated as of Flex 3.2. Use commandKey instead. Specifies whether the Command key is required as part of the key equivalent for the item.
commandKey BooleanSpecifies whether the Command key is required as part of the key equivalent for the item.
controlKey BooleanSpecifies whether the Control key is required as part of the key equivalent for the item.
ctrlKey Boolean Note: this attribute is deprecated as of Flex 3.2. Use controlKey instead. Specifies whether the Control key is required as part of the key equivalent for the item.
enabled BooleanSpecifies whether the user can select the menu item (true), or not (false). If not specified, Flex treats the item as if the value were true. If you use the default data descriptor, data providers must use an enabled XML attribute or object field to specify this characteristic.
keyEquivalent StringSpecifies a keyboard character which, when pressed, triggers an event as though the menu item was selected. The menu's keyEquivalentField or keyEquivalentFunction property determines the name of the field in the data that specifies the key equivalent, or a function for determining the key equivalents. (If the data provider is in E4X XML format, you must specify one of these properties to assign a key equivalent.)
label StringSpecifies the text that appears in the control. This item is used for all menu item types except separator. The menu's labelField or labelFunction property determines the name of the field in the data that specifies the label, or a function for determining the labels. (If the data provider is in E4X XML format, you must specify one of these properties to display a label.) If the data provider is an Array of Strings, Flex uses the String value as the label.
mnemonicIndex IntegerSpecifies the index position of the character in the label that is used as the mnemonic for the menu item. The menu's mnemonicIndexField or mnemonicIndexFunction property determines the name of the field in the data that specifies the mnemonic index, or a function for determining mnemonic index. (If the data provider is in E4X XML format, you must specify one of these properties to specify a mnemonic index in the data.) Alternatively, you can indicate that a character in the label is the menu item's mnemonic by including an underscore immediately to the left of that character.
shiftKey BooleanSpecifies whether the Shift key is required as part of the key equivalent for the item.
toggled BooleanSpecifies whether a check item is selected. If not specified, Flex treats the item as if the value were false and the item is not selected. If you use the default data descriptor, data providers must use a toggled XML attribute or object field to specify this characteristic.
type StringSpecifies the type of menu item. Meaningful values are separator and check. Flex treats all other values, or nodes with no type entry, as normal menu entries. If you use the default data descriptor, data providers must use a type XML attribute or object field to specify this characteristic.

To create a window menu, set the FlexNativeMenu as the menu property of the Window or WindowedApplication instance on which the menu should appear. To create an application menu, assign the FlexNativeMenu as the menu property of the application's WindowedApplication. To assign a FlexNativeMenu as the context menu for a portion of the user interface, call the FlexNativeMenu instance's setContextMenu() method, passing the UI object as an argument. Call the FlexNativeMenu component's display() method to display the menu as a pop-up menu anywhere on one of the application's windows.

To detect when menu items commands are triggered, register a listener for the itemClick event. You can also register a listener for the menuShow event to determine when any menu or submenu is opened.

MXML SyntaxexpandedHide MXML Syntax

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"
  />
  

See also

flash.display.NativeMenu
mx.events.FlexNativeMenuEvent


Public Properties
 PropertyDefined By
  AIR-only automationDelegate : Object
The delegate object that handles the automation-related functionality.
FlexNativeMenu
  AIR-only automationEnabled : Boolean
[read-only] True if this component is enabled for automation, false otherwise.
FlexNativeMenu
  AIR-only automationName : String
Name that can be used as an identifier for this object.
FlexNativeMenu
  AIR-only automationOwner : DisplayObjectContainer
The owner of this component for automation purposes.
FlexNativeMenu
  AIR-only automationParent : DisplayObjectContainer
The parent of this component for automation purposes.
FlexNativeMenu
  AIR-only automationTabularData : Object
[read-only] An implementation of the IAutomationTabularData interface, which can be used to retrieve the data.
FlexNativeMenu
  AIR-only automationValue : Array
[read-only] This value generally corresponds to the rendered appearance of the object and should be usable for correlating the identifier with the object as it appears visually within the application.
FlexNativeMenu
  AIR-only automationVisible : Boolean
[read-only] True if this component is visible for automation, false otherwise.
FlexNativeMenu
  AIR-only dataDescriptor : IMenuDataDescriptor
The object that accesses and manipulates data in the data provider.
FlexNativeMenu
  AIR-only dataProvider : Object
The hierarchy of objects that are used to define the structure of menu items in the NativeMenu.
FlexNativeMenu
  AIR-only hasRoot : Boolean
[read-only] A flag that indicates that the current data provider has a root node; for example, a single top node in a hierarchical structure.
FlexNativeMenu
  AIR-only initialized : Boolean
A flag that determines if an object has been through all three phases of layout: commitment, measurement, and layout (provided that any were required).
FlexNativeMenu
  AIR-only keyEquivalentField : String
The name of the field in the data provider that determines the key equivalent for each menu item.
FlexNativeMenu
  AIR-only keyEquivalentFunction : Function
The function that determines the key equivalent for each menu item.
FlexNativeMenu
  AIR-only keyEquivalentModifiersFunction : Function
The function that determines the key equivalent modifiers for each menu item.
FlexNativeMenu
  AIR-only labelField : String
The name of the field in the data provider that determines the text to display for each menu item.
FlexNativeMenu
  AIR-only labelFunction : Function
The function that determines the text to display for each menu item.
FlexNativeMenu
  AIR-only mnemonicIndexField : String
The name of the field in the data provider that determines the mnemonic index for each menu item.
FlexNativeMenu
  AIR-only mnemonicIndexFunction : Function
The function that determines the mnemonic index for each menu item.
FlexNativeMenu
  AIR-only nativeMenu : NativeMenu
[read-only] Returns the flash.display.NativeMenu managed by this object, or null if there is not one.
FlexNativeMenu
  AIR-only nestLevel : int
Depth of this object in the containment hierarchy.
FlexNativeMenu
  AIR-only numAutomationChildren : int
[read-only] The number of automation children this container has.
FlexNativeMenu
  AIR-only processedDescriptors : Boolean
Set to true after immediate or deferred child creation, depending on which one happens.
FlexNativeMenu
  AIR-only showInAutomationHierarchy : Boolean
A flag that determines if an automation object shows in the automation hierarchy.
FlexNativeMenu
  AIR-only showRoot : Boolean
A Boolean flag that specifies whether to display the data provider's root node.
FlexNativeMenu
  AIR-only updateCompletePendingFlag : Boolean
A flag that determines if an object has been through all three phases of layout validation (provided that any were required).
FlexNativeMenu
Public Methods
 MethodDefined By
  
Constructor.
FlexNativeMenu
  
Returns a set of properties that identify the child within this container.
FlexNativeMenu
  
Returns a set of properties as automation IDs that identify the child within this container.
FlexNativeMenu
  
AIR-only display(stage:Stage, x:int, y:int):void
Pops up this menu at the specified location.
FlexNativeMenu
  
Provides the automation object at the specified index.
FlexNativeMenu
  
Provides the automation object list .
FlexNativeMenu
  
Marks a component so that its commitProperties() method gets called during a later screen update.
FlexNativeMenu
  
AIR-only replayAutomatableEvent(event:Event):Boolean
Replays the specified event.
FlexNativeMenu
  
AIR-only resolveAutomationIDPart(criteria:Object):Array
Resolves a child by using the id provided.
FlexNativeMenu
  
AIR-only setContextMenu(component:InteractiveObject):void
Sets the context menu of the InteractiveObject to the underlying native menu.
FlexNativeMenu
  
AIR-only unsetContextMenu(component:InteractiveObject):void
Unsets the context menu of the InteractiveObject that has been set to the underlying native menu.
FlexNativeMenu
  
Validates the position and size of children and draws other visuals.
FlexNativeMenu
  
AIR-only validateNow():void
Validates and updates the properties and layout of this object and redraws it, if necessary.
FlexNativeMenu
  
Validates the properties of a component.
FlexNativeMenu
  
AIR-only validateSize(recursive:Boolean = false):void
Validates the measured size of the component If the LayoutManager.invalidateSize() method is called with this ILayoutManagerClient, then the validateSize() method is called when it's time to do measurements.
FlexNativeMenu
Protected Methods
 MethodDefined By
  
Processes the properties set on the component.
FlexNativeMenu
  
AIR-only itemToKeyEquivalent(data:Object):String
Returns the key equivalent for the given data object based on the keyEquivalentField and keyEquivalentFunction properties.
FlexNativeMenu
  
AIR-only itemToKeyEquivalentModifiers(data:Object):Array
Returns the key equivalent modifiers for the given data object based on the keyEquivalentModifiersFunction property.
FlexNativeMenu
  
AIR-only itemToLabel(data:Object):String
Returns the String to use as the menu item label for the given data object, based on the labelField and labelFunction properties.
FlexNativeMenu
  
AIR-only itemToMnemonicIndex(data:Object):int
Returns the mnemonic index for the given data object based on the mnemonicIndexField and mnemonicIndexFunction properties.
FlexNativeMenu
  
AIR-only parseLabelToMnemonicIndex(data:String):int
Extracts the mnemonic index from a label based on the presence of an underscore character.
FlexNativeMenu
  
AIR-only parseLabelToString(data:String):String
Determines the actual label to be used for the NativeMenuItem by removing underscore characters and converting escaped underscore characters, if there are any.
FlexNativeMenu
Events
 Event Summary Defined By
  Dispatched when a menu item is selected.FlexNativeMenu
  Dispatched before a menu or submenu is displayed.FlexNativeMenu
Property Detail
AIR-only automationDelegateproperty
automationDelegate:Object

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The delegate object that handles the automation-related functionality.


Implementation
    public function get automationDelegate():Object
    public function set automationDelegate(value:Object):void
AIR-only automationEnabledproperty 
automationEnabled:Boolean  [read-only]

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

True if this component is enabled for automation, false otherwise.


Implementation
    public function get automationEnabled():Boolean
AIR-only automationNameproperty 
automationName:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Name that can be used as an identifier for this object.


Implementation
    public function get automationName():String
    public function set automationName(value:String):void
AIR-only automationOwnerproperty 
automationOwner:DisplayObjectContainer

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The owner of this component for automation purposes.


Implementation
    public function get automationOwner():DisplayObjectContainer
    public function set automationOwner(value:DisplayObjectContainer):void
AIR-only automationParentproperty 
automationParent:DisplayObjectContainer

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The parent of this component for automation purposes.


Implementation
    public function get automationParent():DisplayObjectContainer
    public function set automationParent(value:DisplayObjectContainer):void
AIR-only automationTabularDataproperty 
automationTabularData:Object  [read-only]

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

An implementation of the IAutomationTabularData interface, which can be used to retrieve the data.


Implementation
    public function get automationTabularData():Object
AIR-only automationValueproperty 
automationValue:Array  [read-only]

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

This value generally corresponds to the rendered appearance of the object and should be usable for correlating the identifier with the object as it appears visually within the application.


Implementation
    public function get automationValue():Array
AIR-only automationVisibleproperty 
automationVisible:Boolean  [read-only]

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

True if this component is visible for automation, false otherwise.


Implementation
    public function get automationVisible():Boolean
AIR-only dataDescriptorproperty 
dataDescriptor:IMenuDataDescriptor

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The object that accesses and manipulates data in the data provider. The FlexNativeMenu control delegates to the data descriptor for information about its data. This data is then used to parse and move about the data source. The data descriptor defined for the FlexNativeMenu is used for all child menus and submenus.

When you specify this property as an attribute in MXML, you must use a reference to the data descriptor, not the string name of the descriptor. Use the following format for setting the property:

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

Alternatively, you can specify the property in MXML as a nested subtag, as the following example shows:

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

The default value is an internal instance of the DefaultDataDescriptor class.


Implementation
    public function get dataDescriptor():IMenuDataDescriptor
    public function set dataDescriptor(value:IMenuDataDescriptor):void
AIR-only dataProviderproperty 
dataProvider:Object

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The hierarchy of objects that are used to define the structure of menu items in the NativeMenu. Individual data objects define menu items, and items with child items become menus and submenus.

The FlexNativeMenu control handles the source data object as follows:

The default value is "undefined".

This property can be used as the source for data binding.


Implementation
    public function get dataProvider():Object
    public function set dataProvider(value:Object):void
AIR-only hasRootproperty 
hasRoot:Boolean  [read-only]

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

A flag that indicates that the current data provider has a root node; for example, a single top node in a hierarchical structure. XML and Object are examples of types that have a root node, while Lists and Arrays do not.


Implementation
    public function get hasRoot():Boolean
AIR-only initializedproperty 
initialized:Boolean

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

A flag that determines if an object has been through all three phases of layout: commitment, measurement, and layout (provided that any were required).


Implementation
    public function get initialized():Boolean
    public function set initialized(value:Boolean):void
AIR-only keyEquivalentFieldproperty 
keyEquivalentField:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The name of the field in the data provider that determines the key equivalent for each menu item. The set of values is defined in the Keyboard class, in the KEYNAME_XXXX constants. For example, consult that list for the value for a control character such as Home, Insert, etc.

Setting the keyEquivalentFunction property causes this property to be ignored.

The default value is "keyEquivalent".

This property can be used as the source for data binding.


Implementation
    public function get keyEquivalentField():String
    public function set keyEquivalentField(value:String):void

See also

flash.ui.Keyboard
AIR-only keyEquivalentFunctionproperty 
keyEquivalentFunction:Function

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The function that determines the key equivalent for each menu item. If you omit this property, Flex uses the contents of the field or attribute specified by the keyEquivalentField property. If you specify this property, Flex ignores any keyEquivalentField property value.

The keyEquivalentFunction property is good for handling formatting, localization, and platform independence.

The key equivalent function must take a single argument, which is the item in the data provider, and must return a String.

myKeyEquivalentFunction(item:Object):String

The default value is "undefined".

This property can be used as the source for data binding.


Implementation
    public function get keyEquivalentFunction():Function
    public function set keyEquivalentFunction(value:Function):void

See also

flash.ui.Keyboard
AIR-only keyEquivalentModifiersFunctionproperty 
keyEquivalentModifiersFunction:Function

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The function that determines the key equivalent modifiers for each menu item. If you omit this property, Flex uses its own default function to determine the Array of modifiers by looking in the data provider data for the presence of the following (boolean) fields: altKey, commandKey, controlKey, and shiftKey.

The keyEquivalentModifiersFunction property is good for handling formatting, localization, and platform independence.

The key equivalent modifiers function must take a single argument, which is the item in the data provider, and must return an array of modifier key names.

myKeyEquivalentModifiersFunction(item:Object):Array

The default value is "undefined".

This property can be used as the source for data binding.


Implementation
    public function get keyEquivalentModifiersFunction():Function
    public function set keyEquivalentModifiersFunction(value:Function):void
AIR-only labelFieldproperty 
labelField:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The name of the field in the data provider that determines the text to display for each menu item. If the data provider is an Array of Strings, Flex uses each string value as the label. If the data provider is an E4X XML object, you must set this property explicitly. For example, if each XML elementin an E4X XML Object includes a "label" attribute containing the text to display for each menu item, set the labelField to "@label".

In a label, you can specify the character to be used as the mnemonic index by preceding it with an underscore. For example, a label value of "C_ut" sets the mnemonic index to 1. Only the first underscore present is used for this purpose. To display a literal underscore character in the label, you can escape it using a double underscore. For example, a label value of "C__u_t" would result in a menu item with the label "C_ut" and a mnemonic index of 3 (the "t" character). If the field defined in the mnemonicIndexField property is present and set to a value greater than zero, that value takes precedence over any underscore-specified mnemonic index value.

Setting the labelFunction property causes this property to be ignored.

The default value is "label".

This property can be used as the source for data binding.


Implementation
    public function get labelField():String
    public function set labelField(value:String):void
AIR-only labelFunctionproperty 
labelFunction:Function

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The function that determines the text to display for each menu item. The label function must find the appropriate field or fields in the data provider and return a displayable string.

If you omit this property, Flex uses the contents of the field or attribute specified by the labelField property. If you specify this property, Flex ignores any labelField property value.

The labelFunction property can be helpful for handling formatting, localization, and platform-independence.

The label function must take a single argument, which is the item in the data provider, and must return a String.

myLabelFunction(item:Object):String

The default value is "undefined".

This property can be used as the source for data binding.


Implementation
    public function get labelFunction():Function
    public function set labelFunction(value:Function):void
AIR-only mnemonicIndexFieldproperty 
mnemonicIndexField:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The name of the field in the data provider that determines the mnemonic index for each menu item.

If the field specified by this property contains a number greater than zero, that mnemonic index takes precedence over one specified by an underscore in the label.

Setting the mnemonicIndexFunction property causes this property to be ignored.

The default value is "mnemonicIndex".

This property can be used as the source for data binding.


Implementation
    public function get mnemonicIndexField():String
    public function set mnemonicIndexField(value:String):void

See also

AIR-only mnemonicIndexFunctionproperty 
mnemonicIndexFunction:Function

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The function that determines the mnemonic index for each menu item.

If you omit this property, Flex uses the contents of the field or attribute specified by the mnemonicIndexField property. If you specify this property, Flex ignores any mnemonicIndexField property value.

If this property is defined and the function returns a number greater than zero for a data item, the returned mnemonic index takes precedence over one specified by an underscore in the label.

The mnemonicIndexFunction property is good for handling formatting, localization, and platform independence.

The mnemonic index function must take a single argument which is the item in the data provider and return an int.

myMnemonicIndexFunction(item:Object):int

The default value is "undefined".

This property can be used as the source for data binding.


Implementation
    public function get mnemonicIndexFunction():Function
    public function set mnemonicIndexFunction(value:Function):void
AIR-only nativeMenuproperty 
nativeMenu:NativeMenu  [read-only]

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Returns the flash.display.NativeMenu managed by this object, or null if there is not one. Any changes made directly to the underlying NativeMenu instance may be lost when changes are made to the menu or the underlying data provider.

This property can be used as the source for data binding.


Implementation
    public function get nativeMenu():NativeMenu
AIR-only nestLevelproperty 
nestLevel:int

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Depth of this object in the containment hierarchy. This number is used by the measurement and layout code. The value is 0 if this component is not on the DisplayList.


Implementation
    public function get nestLevel():int
    public function set nestLevel(value:int):void
AIR-only numAutomationChildrenproperty 
numAutomationChildren:int  [read-only]

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

The number of automation children this container has. This sum should not include any composite children, though it does include those children not significant within the automation hierarchy.


Implementation
    public function get numAutomationChildren():int
AIR-only processedDescriptorsproperty 
processedDescriptors:Boolean

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Set to true after immediate or deferred child creation, depending on which one happens. For a Container object, it is set to true at the end of the createComponentsFromDescriptors() method, meaning after the Container object creates its children from its child descriptors.

For example, if an Accordion container uses deferred instantiation, the processedDescriptors property for the second pane of the Accordion container does not become true until after the user navigates to that pane and the pane creates its children. But, if the Accordion had set the creationPolicy property to "all", the processedDescriptors property for its second pane is set to true during application startup.

For classes that are not containers, which do not have descriptors, it is set to true after the createChildren() method creates any internal component children.


Implementation
    public function get processedDescriptors():Boolean
    public function set processedDescriptors(value:Boolean):void
AIR-only showInAutomationHierarchyproperty 
showInAutomationHierarchy:Boolean

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

A flag that determines if an automation object shows in the automation hierarchy. Children of containers that are not visible in the hierarchy appear as children of the next highest visible parent. Typically containers used for layout, such as boxes and Canvas, do not appear in the hierarchy.

Some controls force their children to appear in the hierarchy when appropriate. For example a List will always force item renderers, including boxes, to appear in the hierarchy. Implementers must support setting this property to true.


Implementation
    public function get showInAutomationHierarchy():Boolean
    public function set showInAutomationHierarchy(value:Boolean):void
AIR-only showRootproperty 
showRoot:Boolean

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

A Boolean flag that specifies whether to display the data provider's root node.

If the data provider has a root node, and the showRoot property is set to false, the top-level menu items displayed by the FlexNativeMenu control correspond to the immediate descendants of the root node.

This flag has no effect when using a data provider without a root nodes, such as a List or Array.

The default value is true.


Implementation
    public function get showRoot():Boolean
    public function set showRoot(value:Boolean):void

See also

AIR-only updateCompletePendingFlagproperty 
updateCompletePendingFlag:Boolean

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

A flag that determines if an object has been through all three phases of layout validation (provided that any were required).


Implementation
    public function get updateCompletePendingFlag():Boolean
    public function set updateCompletePendingFlag(value:Boolean):void
Constructor Detail
AIR-only FlexNativeMenu()Constructor
public function FlexNativeMenu()

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Constructor.

Method Detail
AIR-only commitProperties()method
protected function commitProperties():void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Processes the properties set on the component.

See also

AIR-only createAutomationIDPart()method 
public function createAutomationIDPart(child:IAutomationObject):Object

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Returns a set of properties that identify the child within this container. These values should not change during the lifespan of the application.

Parameters

child:IAutomationObject — Child for which to provide the id.

Returns
Object — Sets of properties describing the child which can later be used to resolve the component.
AIR-only createAutomationIDPartWithRequiredProperties()method 
public function createAutomationIDPartWithRequiredProperties(child:IAutomationObject, properties:Array):Object

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Returns a set of properties as automation IDs that identify the child within this container. These values should not change during the lifespan of the application

Parameters

child:IAutomationObject — Child for which to provide the id.
 
properties:Array — which needs to be considered for forming the Id.

Returns
Object — Sets of properties describing the child which can later be used to resolve the component.
AIR-only display()method 
public function display(stage:Stage, x:int, y:int):void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Pops up this menu at the specified location.

Parameters

stage:Stage — The Stage object on which to display this menu.
 
x:int — The number of horizontal pixels, relative to the origin of stage, at which to display this menu.
 
y:int — The number of vertical pixels, relative to the origin of stage, at which to display this menu.

AIR-only getAutomationChildAt()method 
public function getAutomationChildAt(index:int):IAutomationObject

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Provides the automation object at the specified index. This list should not include any children that are composites.

Parameters

index:int — The index of the child to return

Returns
IAutomationObject — The child at the specified index.
AIR-only getAutomationChildren()method 
public function getAutomationChildren():Array

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Provides the automation object list . This list does not include any children that are composites.

Returns
Array — the automation children.
AIR-only invalidateProperties()method 
public function invalidateProperties():void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Marks a component so that its commitProperties() method gets called during a later screen update.

Invalidation is a useful mechanism for eliminating duplicate work by delaying processing of changes to a component until a later screen update. For example, if you want to change the text color and size, it would be wasteful to update the color immediately after you change it and then update the size when it gets set. It is more efficient to change both properties and then render the text with its new size and color once.

Invalidation methods rarely get called. In general, setting a property on a component automatically calls the appropriate invalidation method.

AIR-only itemToKeyEquivalent()method 
protected function itemToKeyEquivalent(data:Object):String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Returns the key equivalent for the given data object based on the keyEquivalentField and keyEquivalentFunction properties. If the method cannot convert the parameter to a String, it returns an empty string.

Parameters

data:Object — Object to be displayed.

Returns
String — The key equivalent based on the data.
AIR-only itemToKeyEquivalentModifiers()method 
protected function itemToKeyEquivalentModifiers(data:Object):Array

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Returns the key equivalent modifiers for the given data object based on the keyEquivalentModifiersFunction property. If the method cannot convert the parameter to an Array of modifiers, it returns an empty Array.

Parameters

data:Object — Object to be displayed.

Returns
Array — The array of key equivalent modifiers based on the data.
AIR-only itemToLabel()method 
protected function itemToLabel(data:Object):String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Returns the String to use as the menu item label for the given data object, based on the labelField and labelFunction properties. If the method cannot convert the parameter to a String, it returns a single space.

Parameters

data:Object — Object to be displayed.

Returns
String — The string to be displayed based on the data.
AIR-only itemToMnemonicIndex()method 
protected function itemToMnemonicIndex(data:Object):int

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Returns the mnemonic index for the given data object based on the mnemonicIndexField and mnemonicIndexFunction properties. If the method cannot convert the parameter to an integer, it returns -1.

Parameters

data:Object — Object to be displayed.

Returns
int — The mnemonic index based on the data.
AIR-only parseLabelToMnemonicIndex()method 
protected function parseLabelToMnemonicIndex(data:String):int

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Extracts the mnemonic index from a label based on the presence of an underscore character. It finds the leading underscore character if there is one and uses that as the index.

Parameters

data:String — The data to parse for the index.

Returns
int — The index.
AIR-only parseLabelToString()method 
protected function parseLabelToString(data:String):String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Determines the actual label to be used for the NativeMenuItem by removing underscore characters and converting escaped underscore characters, if there are any.

Parameters

data:String — The data to parse for the label.

Returns
String — The label.
AIR-only replayAutomatableEvent()method 
public function replayAutomatableEvent(event:Event):Boolean

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Replays the specified event. A component author should probably call super.replayAutomatableEvent in case default replay behavior has been defined in a superclass.

Parameters

event:Event — The event to replay.

Returns
Booleantrue if a replay was successful.
AIR-only resolveAutomationIDPart()method 
public function resolveAutomationIDPart(criteria:Object):Array

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Resolves a child by using the id provided. The id is a set of properties as provided by the createAutomationIDPart() method.

Parameters

criteria:Object — Set of properties describing the child. The criteria can contain regular expression values resulting in multiple children being matched.

Returns
Array — Array of children that matched the criteria or null if no children could not be resolved.
AIR-only setContextMenu()method 
public function setContextMenu(component:InteractiveObject):void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Sets the context menu of the InteractiveObject to the underlying native menu.

Parameters

component:InteractiveObject — The interactive object.

AIR-only unsetContextMenu()method 
public function unsetContextMenu(component:InteractiveObject):void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Unsets the context menu of the InteractiveObject that has been set to the underlying native menu.

Parameters

component:InteractiveObject — The interactive object.

AIR-only validateDisplayList()method 
public function validateDisplayList():void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Validates the position and size of children and draws other visuals. If the LayoutManager.invalidateDisplayList() method is called with this ILayoutManagerClient, then the validateDisplayList() method is called when it's time to update the display list.

AIR-only validateNow()method 
public function validateNow():void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Validates and updates the properties and layout of this object and redraws it, if necessary.

AIR-only validateProperties()method 
public function validateProperties():void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Validates the properties of a component. If the LayoutManager.invalidateProperties() method is called with this ILayoutManagerClient, then the validateProperties() method is called when it's time to commit property values.

AIR-only validateSize()method 
public function validateSize(recursive:Boolean = false):void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Validates the measured size of the component If the LayoutManager.invalidateSize() method is called with this ILayoutManagerClient, then the validateSize() method is called when it's time to do measurements.

Parameters

recursive:Boolean (default = false) — If true, call this method on the objects children.

Event Detail
AIR-only itemClick Event
Event Object Type: mx.events.FlexNativeMenuEvent
FlexNativeMenuEvent.type property = mx.events.FlexNativeMenuEvent.ITEM_CLICK

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Dispatched when a menu item is selected.

The FlexNativeMenuEvent.ITEM_CLICK event type constant indicates that the user selected a menu item.

The properties of the event object for this event type have the following values. Not all properties are meaningful for all kinds of events. See the detailed property descriptions for more information.

PropertyValue
bubblesfalse
cancelabletrue
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
indexThe index in the menu of the selected menu item.
itemThe item in the dataProvider that was selected.
labelThe label text of the selected menu item.
nativeMenuThe specific NativeMenu instance associated with this event.
nativeMenuItemThe specific NativeMenuItem instance associated with this event.
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.
typeFlexNativeMenuEvent.ITEM_CLICK
AIR-only menuShow Event  
Event Object Type: mx.events.FlexNativeMenuEvent
FlexNativeMenuEvent.type property = mx.events.FlexNativeMenuEvent.MENU_SHOW

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : AIR 1.1

Dispatched before a menu or submenu is displayed.

The FlexNativeMenuEvent.MENU_SHOW type constant indicates that the mouse pointer rolled a menu or submenu opened.

The properties of the event object for this event type have the following values. Not all properties are meaningful for all kinds of events. See the detailed property descriptions for more information.

PropertyValue
bubblesfalse
cancelabletrue
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
index-1. This property is not set for this type of event.
itemnull. This property is not set for this type of event.
labelnull. This property is not set for this type of event.
nativeMenuThe specific NativeMenu instance associated with this event.
nativeMenuItemnull. This property is not set for this type of event.
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.
typeFlexNativeMenuEvent.MENU_SHOW