BETA ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Hide Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes

Language Reference only
Filters: AIR 32.0 and earlier, Flash Player 32.0 and earlier, Flash Lite 4
None
Hide Filters
mx.controls 

FlexNativeMenu  - AS3 Flex

Packagesx

Top Level
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.consulting.pst.vo
com.adobe.dct.event
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.impl
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.importexport
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.mosaic.core
com.adobe.mosaic.core.events
com.adobe.mosaic.core.validators
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skins.aqua
com.adobe.mosaic.skins.aqua.organizer
com.adobe.mosaic.skins.aqua.tile
com.adobe.mosaic.skins.aqua.util
com.adobe.mosaic.skins.aqua.view
com.adobe.mosaic.skins.aqua.viewManager
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.endpoint
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses

Language Elements

Global Constants
Global Functions
Operators
Statements, Keywords & Directives
Special Types

Appendixes

What's New
Compiler Errors
Compiler Warnings
Run-Time Errors
Migrating to ActionScript 3
Supported Character Sets
MXML Only Tags
Motion XML Elements
Timed Text Tags
List of deprecated elements
Accessibility Implementation Constants
How to Use ActionScript Examples
Legal notices
(Preview)
Packagemx.controls
Classpublic class FlexNativeMenu
InheritanceFlexNativeMenu Inheritance EventDispatcher Inheritance Object
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"
  />
  

Related API Elements



Public Properties
 PropertyDefined By
      automationDelegate : Object
The delegate object that handles the automation-related functionality.
FlexNativeMenu
      automationEnabled : Boolean
[read-only] True if this component is enabled for automation, false otherwise.
FlexNativeMenu
      automationName : String
Name that can be used as an identifier for this object.
FlexNativeMenu
      automationOwner : DisplayObjectContainer
The owner of this component for automation purposes.
FlexNativeMenu
      automationParent : DisplayObjectContainer
The parent of this component for automation purposes.
FlexNativeMenu
      automationTabularData : Object
[read-only] An implementation of the IAutomationTabularData interface, which can be used to retrieve the data.
FlexNativeMenu
      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
      automationVisible : Boolean
[read-only] True if this component is visible for automation, false otherwise.
FlexNativeMenu
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
      dataDescriptor : IMenuDataDescriptor
The object that accesses and manipulates data in the data provider.
FlexNativeMenu
      dataProvider : Object
The hierarchy of objects that are used to define the structure of menu items in the NativeMenu.
FlexNativeMenu
      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
      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
      keyEquivalentField : String
The name of the field in the data provider that determines the key equivalent for each menu item.
FlexNativeMenu
      keyEquivalentFunction : Function
The function that determines the key equivalent for each menu item.
FlexNativeMenu
      keyEquivalentModifiersFunction : Function
The function that determines the key equivalent modifiers for each menu item.
FlexNativeMenu
      labelField : String
The name of the field in the data provider that determines the text to display for each menu item.
FlexNativeMenu
      labelFunction : Function
The function that determines the text to display for each menu item.
FlexNativeMenu
      mnemonicIndexField : String
The name of the field in the data provider that determines the mnemonic index for each menu item.
FlexNativeMenu
      mnemonicIndexFunction : Function
The function that determines the mnemonic index for each menu item.
FlexNativeMenu
      nativeMenu : NativeMenu
[read-only] Returns the flash.display.NativeMenu managed by this object, or null if there is not one.
FlexNativeMenu
      nestLevel : int
Depth of this object in the containment hierarchy.
FlexNativeMenu
      numAutomationChildren : int
[read-only] The number of automation children this container has.
FlexNativeMenu
      processedDescriptors : Boolean
Set to true after immediate or deferred child creation, depending on which one happens.
FlexNativeMenu
      showInAutomationHierarchy : Boolean
A flag that determines if an automation object shows in the automation hierarchy.
FlexNativeMenu
      showRoot : Boolean
A Boolean flag that specifies whether to display the data provider's root node.
FlexNativeMenu
      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
  
    FlexNativeMenu()
Constructor.
FlexNativeMenu
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event.
EventDispatcher
  
Returns a set of properties that identify the child within this container.
FlexNativeMenu
  
Returns a set of properties that identify the child within this container.
FlexNativeMenu
 Inherited
Dispatches an event into the event flow.
EventDispatcher
  
    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
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
  
Marks a component so that its commitProperties() method gets called during a later screen update.
FlexNativeMenu
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
  
Replays the specified event.
FlexNativeMenu
  
Resolves a child by using the id provided.
FlexNativeMenu
  
Sets the context menu of the InteractiveObject to the underlying native menu.
FlexNativeMenu
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
  
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
  
    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
  
    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
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Protected Methods
 MethodDefined By
  
Processes the properties set on the component.
FlexNativeMenu
  
Returns the key equivalent for the given data object based on the keyEquivalentField and keyEquivalentFunction properties.
FlexNativeMenu
  
Returns the key equivalent modifiers for the given data object based on the keyEquivalentModifiersFunction property.
FlexNativeMenu
  
    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
  
Returns the mnemonic index for the given data object based on the mnemonicIndexField and mnemonicIndexFunction properties.
FlexNativeMenu
  
Extracts the mnemonic index from a label based on the presence of an underscore character.
FlexNativeMenu
  
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
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active.EventDispatcher
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive.EventDispatcher
  
    itemClick
Dispatched when a menu item is selected.FlexNativeMenu
  
    menuShow
Dispatched before a menu or submenu is displayed.FlexNativeMenu
Property Detail
Constructor Detail
Method Detail
Event Detail