Adobe® AIR® API Reference for HTML Developers
Home  |  Show Classes List |  Index  |  Appendixes

Language Reference only       
NativeMenu 
3D:
Context3D
Context3DBlendFactor
Context3DClearMask
Context3DCompareMode
Context3DProgramType
Context3DRenderMode
Context3DStencilAction
Context3DTextureFormat
Context3DTriangleFace
Context3DVertexBufferFormat
CubeTexture
IndexBuffer3D
Program3D
Stage3D
Texture
VertexBuffer3D
Air.net:
ServiceMonitor
SocketMonitor
URLMonitor
Air.update:
ApplicationUpdater
ApplicationUpdaterUI
DownloadErrorEvent
StatusFileUpdateErrorEvent
StatusFileUpdateEvent
StatusUpdateErrorEvent
StatusUpdateEvent
UpdateEvent
Data:
EncryptedLocalStore
SQLCollationType
SQLColumnNameStyle
SQLColumnSchema
SQLConnection
SQLError
SQLErrorEvent
SQLErrorOperation
SQLEvent
SQLIndexSchema
SQLMode
SQLResult
SQLSchema
SQLSchemaResult
SQLStatement
SQLTableSchema
SQLTransactionLockType
SQLTriggerSchema
SQLUpdateEvent
SQLViewSchema
Desktop:
Clipboard
ClipboardFormats
ClipboardTransferMode
DockIcon
Icon
InteractiveIcon
NativeApplication
NativeProcess
NativeProcessStartupInfo
NotificationType
SystemTrayIcon
Display:
BitmapData
NativeMenu
NativeMenuItem
Screen
Stage
StageDisplayState
StageQuality
Events:
ActivityEvent
AsyncErrorEvent
BrowserInvokeEvent
DataEvent
DatagramSocketDataEvent
DNSResolverEvent
DRMAuthenticateEvent
DRMStatusEvent
ErrorEvent
Event
EventDispatcher
FileListEvent
HTTPStatusEvent
InvokeEvent
InvokeEventReason
IOErrorEvent
LocationChangeEvent
MouseEvent
NativeProcessExitEvent
NetDataEvent
NetMonitorEvent
NetStatusEvent
OutputProgressEvent
ProgressEvent
SampleDataEvent
SecurityErrorEvent
ServerSocketConnectEvent
StatusEvent
StorageVolumeChangeEvent
TimerEvent
UncaughtErrorEvent
UncaughtErrorEvents
File:
File
FileMode
FileStream
StorageVolume
StorageVolumeInfo
Functions:
trace()
generateRandomBytes()
navigateToURL()
sendToURL()
Geom:
Matrix
Point
Rectangle
Media:
AudioDecoder
AudioPlaybackMode
H264Level
H264Profile
H264VideoStreamSettings
ID3Info
InputMediaStream
Microphone
MicrophoneEnhancedMode
MicrophoneEnhancedOptions
Sound
SoundChannel
SoundCodec
SoundLoaderContext
SoundMixer
SoundTransform
VideoCodec
VideoStatus
VideoStreamSettings
Native window:
NativeWindow
NativeWindowBoundsEvent
NativeWindowDisplayState
NativeWindowDisplayStateEvent
NativeWindowInitOptions
NativeWindowRenderMode
NativeWindowResize
NativeWindowSystemChrome
NativeWindowType
Net:
AAAARecord
ARecord
CertificateStatus
DatagramSocket
DNSResolver
FileFilter
InterfaceAddress
IPVersion
LocalConnection
MXRecord
NetConnection
NetMonitor
NetStreamAppendBytesAction
NetStreamMulticastInfo
NetworkInfo
NetworkInterface
ObjectEncoding
PTRRecord
ResourceRecord
Responder
SecureSocket
ServerSocket
SharedObject
SharedObjectFlushStatus
Socket
SRVRecord
URLLoader
URLLoaderDataFormat
URLRequest
URLRequestDefaults
URLRequestHeader
URLRequestMethod
URLStream
URLVariables
XMLSocket
Security:
ReferencesValidationSetting
RevocationCheckSettings
SignatureStatus
SignerTrustSettings
X500DistinguishedName
X509Certificate
XMLSignatureValidator
System:
Capabilities
Security
System
Updater
Ui:
Keyboard
KeyboardType
KeyLocation
Mouse
MouseCursorData
Utils:
Vector
ByteArray
Collator
CollatorMode
CompressionAlgorithm
CurrencyFormatter
CurrencyParseResult
DateTimeFormatter
DateTimeNameContext
DateTimeNameStyle
DateTimeStyle
Endian
HTMLLoader
HTMLPDFCapability
LastOperationStatus
LocaleID
NationalDigitsType
NumberFormatter
NumberParseResult
StringTools
Timer
window.runtime propertywindow.runtime.flash.display.NativeMenu
InheritanceNativeMenu Inheritance EventDispatcher Inheritance Object

Runtime Versions:  1.0

The NativeMenu class contains methods and properties for defining native menus.

A native menu is a menu that is controlled and drawn by the operating system rather than by your application. AIR supports the following types of native menus:

  • Application menus are supported on OS X. Use the NativeApplication.supportsMenu property to test whether application menus are supported on the host operating system. An application menu is displayed on the Menu bar at the top of the Mac desktop. OS X provides a default menu for every application, but many of the menu commands are not functional. You can add event listeners to the default items, replace individual menus and items, or even replace the default menu entirely. Access the application menu object using the NativeApplication menu property.
  • Window menus are supported on Windows and Linux. Use the NativeWindow.supportsMenu property to test whether window menus are supported on the host operating system. A window menu is displayed below the window title bar. The area occupied by the menu is not part of the window stage. Applications cannot draw into this area. Assign a menu to a window using the NativeWindow menu property.
  • Dock icon menus are supported on OS X. Use the NativeApplication.supportsDockIcon property to test whether dock icons are supported on the host operating system. Items in a dock icon menu are displayed above the default items provided by the operating system. The default items cannot be accessed by application code. Assign a menu to the menu property of the application's DockIcon object.
  • System tray icon menus are supported on Windows and most Linux operating systems. Use the NativeApplication.supportsSystemTrayIcon property to test whether system tray icons are supported on the host operating system. A system tray icon menu is displayed in response to a right-click on the icon, in much the same fashion as a context menu. Assign a menu to the menu property of the application's SystemTrayIcon object.
  • Pop-up menus are supported on all operating systems. Pop-up menus are functionally the same as context menus, but are displayed using the menu display() method rather than as a response to a user interface event. A pop-up menu is not attached to any other object. Simply create the native menu and call the display() method.

A menu object contains menu items. A menu item can represent a command, a submenu, or a separator line. Add menu items to a menu using the addItem() or addItemAt() method. The display order of the menu items matches the order of the items in the menu's items array.

To create a submenu, add a menu item to the parent menu object. Assign the menu object representing the submenu to the submenu property of the matching menu item in the parent menu.

Note: The root menu of window and application menus must contain only submenu items; items that do not represent submenus may not be displayed and are contrary to user expectation for these types of menus.

Menus dispatch select events when a command item in the menu or one of its submenus is selected. (Submenu and separator items are not selectable.) The target property of the event object references the selected item.

Menus dispatch preparing events just before the menu is displayed and when a key equivalent attached to one of the items in the menu is pressed. You can use this event to update the contents of the menu based on the current state of the application.

Note: The AIR SDK includes the MenuBuilder framework (AIRMenuBuilder.js)for defining menus using XML or JSON notation. It is typically easier to define menus declaratively than it is to write JavaScript code to create the menu structure item-by-item.

See also



Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  isSupported : Boolean
[static] [read-only] Indicates whether any form of native menu is supported on the client system.
NativeMenu
  items : Array
The array of NativeMenuItem objects in this menu.
NativeMenu
  numItems : int
[read-only] The number of NativeMenuItem objects in this menu.
NativeMenu
  parent : NativeMenu
[read-only] The parent menu.
NativeMenu
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
Public Methods
 MethodDefined By
  
Creates a new NativeMenu object.
NativeMenu
 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
  
Adds a menu item at the bottom of the menu.
NativeMenu
  
Inserts a menu item at the specified position.
NativeMenu
  
addSubmenu(submenu:NativeMenu, label:String):NativeMenuItem
Adds a submenu to the menu by inserting a new menu item.
NativeMenu
  
addSubmenuAt(submenu:NativeMenu, index:int, label:String):NativeMenuItem
Adds a submenu to the menu by inserting a new menu item at the specified position.
NativeMenu
  
Creates a copy of the menu and all items.
NativeMenu
  
Reports whether this menu contains the specified menu item.
NativeMenu
 Inherited
dispatchEvent(event:Event):Boolean
Dispatches an event into the event flow.
EventDispatcher
  
display(stage:Stage, stageX:Number, stageY:Number):void
Pops up this menu at the specified location.
NativeMenu
  
Gets the menu item at the specified index.
NativeMenu
  
Gets the menu item with the specified name.
NativeMenu
  
Gets the position of the specified item.
NativeMenu
 Inherited
hasEventListener(type:String):Boolean
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
hasOwnProperty(name:String):Boolean
Indicates whether an object has a specified property defined.
Object
 Inherited
isPrototypeOf(theClass:Object):Boolean
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
propertyIsEnumerable(name:String):Boolean
Indicates whether the specified property exists and is enumerable.
Object
  
Removes all items from the menu.
NativeMenu
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
  
Removes the specified menu item.
NativeMenu
  
Removes and returns the menu item at the specified index.
NativeMenu
  
setItemIndex(item:NativeMenuItem, index:int):void
Moves a menu item to the specified position.
NativeMenu
 Inherited
setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
toLocaleString():String
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
toString():String
Returns the string representation of the specified object.
Object
 Inherited
valueOf():Object
Returns the primitive value of the specified object.
Object
 Inherited
willTrigger(type:String):Boolean
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
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
  Dispatched by this NativeMenu object immediately before the menu is displayed.NativeMenu
  Dispatched by the NativeMenu object when a key equivalent is pressed and immediately before the menu is displayed.NativeMenu
  Dispatched by this NativeMenu object when one of its menu items or an item in one of its descendant submenus is selected.NativeMenu
Property Detail

isSupported

property
isSupported:Boolean  [read-only]

Runtime Versions:  2.0

Indicates whether any form of native menu is supported on the client system.

See also

items

property 
items:Array

Runtime Versions:  1.0

The array of NativeMenuItem objects in this menu.

The array is sorted in display order.

Note: This property is read-only in AIR 1.0. It became read/write in AIR 1.1.

numItems

property 
numItems:int  [read-only]

Runtime Versions:  1.0

The number of NativeMenuItem objects in this menu.

parent

property 
parent:NativeMenu  [read-only]

Runtime Versions:  1.0

The parent menu.

The parent of the root (top-level) menu object is null.

Constructor Detail

NativeMenu

()Constructor
public function NativeMenu()

Runtime Versions:  1.0

Creates a new NativeMenu object.

Method Detail

addItem

()method
public function addItem(item:NativeMenuItem):NativeMenuItem

Runtime Versions:  1.0

Adds a menu item at the bottom of the menu.

Note: Adding an item to a menu can cause an application to hang if the item's submenu is set to the menu itself (causing a circular reference).

Parameters

item:NativeMenuItem — The NativeMenuItem object to add at the bottom of the menu.

Returns
NativeMenuItem

Throws
ArgumentError — If item is null.
 
ArgumentError — If item is a member of another menu.

addItemAt

()method 
public function addItemAt(item:NativeMenuItem, index:int):NativeMenuItem

Runtime Versions:  1.0

Inserts a menu item at the specified position. The position is indexed from the top. Set the index parameter to zero to insert the item at the top of the menu. All types of menus: window, application, system tray icon, dock icon, context, and pop-up, index the menu position from the top.

Parameters

item:NativeMenuItem — The NativeMenuItem object to insert.
 
index:int — The (zero-based) position in menu at which to insert the menu item.

Note: Adding an item to a menu can cause an application to hang if the item's submenu is set to the menu itself (causing a circular reference).

Returns
NativeMenuItem

Throws
ArgumentError — If item is null.
 
ArgumentError — If item is a member of another menu.
 
RangeError — If the index is outside the bounds of the menu's items array.

addSubmenu

()method 
public function addSubmenu(submenu:NativeMenu, label:String):NativeMenuItem

Runtime Versions:  1.0

Adds a submenu to the menu by inserting a new menu item.

Calling the addSubMenu() method is equivalent to creating a new menu item, adding it to the menu, and assigning a NativeMenu object to the item's submenu property.

Note: Adding a menu as a submenu of itself (in a circular reference) can cause an application to hang.

Parameters

submenu:NativeMenu — The NativeMenu object that defines the submenu to be added.
 
label:String — The display label for the menu item to be added.

Returns
NativeMenuItem — The NativeMenuItem object created for the submenu.

addSubmenuAt

()method 
public function addSubmenuAt(submenu:NativeMenu, index:int, label:String):NativeMenuItem

Runtime Versions:  1.0

Adds a submenu to the menu by inserting a new menu item at the specified position.

Calling the addSubMenuAt() method is equivalent to creating a new menu item, inserting it at the desired position in the menu, and assigning a NativeMenu object to the item's submenu property.

Note: Adding a menu as a submenu of itself (in a circular reference) can cause an application to hang.

Parameters

submenu:NativeMenu — The NativeMenu object that defines the submenu to be added.
 
index:int — The position in the items array of this menu at which to insert the menu item to be added.
 
label:String — The display label for the menu item to be added.

Returns
NativeMenuItem — The NativeMenuItem object created for the submenu.

clone

()method 
public function clone():NativeMenu

Runtime Versions:  1.0

Creates a copy of the menu and all items.

Returns
NativeMenu

containsItem

()method 
public function containsItem(item:NativeMenuItem):Boolean

Runtime Versions:  1.0

Reports whether this menu contains the specified menu item.

Parameters

item:NativeMenuItem — The NativeMenuItem object to look up.

Returns
Booleantrue if item is in this menu.

display

()method 
public function display(stage:Stage, stageX:Number, stageY:Number):void

Runtime Versions:  1.0

Pops up this menu at the specified location.

Parameters

stage:Stage — The Stage object on which to display this menu.
 
stageX:Number — The number of horizontal pixels, relative to the origin of stage, at which to display this menu.
 
stageY:Number — The number of vertical pixels, relative to the origin of stage, at which to display this menu.

getItemAt

()method 
public function getItemAt(index:int):NativeMenuItem

Runtime Versions:  1.0

Gets the menu item at the specified index.

Parameters

index:int — The (zero-based) position of the item to return.

Returns
NativeMenuItem — The NativeMenuItem object at the specified position in the menu.

Throws
RangeError — If index is outside the bounds of the menu's items array.

getItemByName

()method 
public function getItemByName(name:String):NativeMenuItem

Runtime Versions:  1.0

Gets the menu item with the specified name.

Note: The name property of menu items is not assigned by default.

Parameters

name:String — The string to look up.

Returns
NativeMenuItem — The NativeMenuItem object with the specified name or null, if no such item exists in the menu.

getItemIndex

()method 
public function getItemIndex(item:NativeMenuItem):int

Runtime Versions:  1.0

Gets the position of the specified item.

Parameters

item:NativeMenuItem — The NativeMenuItem object to look up.

Returns
int — The (zero-based) position of the specified item in this menu or -1, if the item is not in this menu.

removeAllItems

()method 
public function removeAllItems():void

Runtime Versions:  1.0

Removes all items from the menu.

removeItem

()method 
public function removeItem(item:NativeMenuItem):NativeMenuItem

Runtime Versions:  1.0

Removes the specified menu item.

Parameters

item:NativeMenuItem — The NativeMenuItem object to remove from this menu.

Returns
NativeMenuItem

Throws
RangeError — If the item is not in this menu

removeItemAt

()method 
public function removeItemAt(index:int):NativeMenuItem

Runtime Versions:  1.0

Removes and returns the menu item at the specified index.

Parameters

index:int — The (zero-based) position of the item to remove.

Returns
NativeMenuItem — The NativeMenuItem object removed.

Throws
RangeError — If index is outside the bounds of this menu's items array.

setItemIndex

()method 
public function setItemIndex(item:NativeMenuItem, index:int):void

Runtime Versions:  1.0

Moves a menu item to the specified position. If the item is not already in the menu, calling this method adds the item to the menu.

Parameters

item:NativeMenuItem — The NativeMenuItem object to move.
 
index:int — The (zero-based) position in the menu to which to move the item.


Throws
RangeError — If index is outside the bounds of the menu's items array.
Event Detail

displaying

Event
Event Object Type: flash.events.Event
property Event.type = flash.events.Event.DISPLAYING

Runtime Versions:  1.0

Dispatched by this NativeMenu object immediately before the menu is displayed.

Listen to this event to update the menu before it is displayed. A displaying event is also dispatched by the items in a menu.

The preparing event supersedes the displaying event and provides additional functionality. Listen for the preparing event or the displaying event, but not both.

Note: On Mac OS X, prior to AIR 2.6, menus and menu items dispatched a displaying event when the user pressed a key equivalent. (This event was not dispatched for key equivalent interaction on other operating systems.) As of AIR 2.6, displaying events are no longer dispatched when the user presses a key equivalent. Use the preparing event instead.

The Event.DISPLAYING constant defines the value of the type property of a displaying event object.

Note: This event does not go through a "capture phase" and is dispatched directly to the target, whether the target is on the display list or not.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe object that is about to be displayed.

preparing

Event  
Event Object Type: flash.events.Event
property Event.type = flash.events.Event.PREPARING

Runtime Versions:  2.6

Dispatched by the NativeMenu object when a key equivalent is pressed and immediately before the menu is displayed.

Listen to this event to update the menu either before it is displayed, or when a key equivalent is pressed by the user. The preparing event is dispatched before the key equivalent is fully evaluated. You can enable, disable, add, or remove items from the menu in the preparing event handler and those changes will be in effect when the key equivalent is processed. For example, if you remove or disable the menu item assigned to the triggering key equivalent, then the sequence of events is effectively canceled and no select event is dispatched. A preparing event is also dispatched by the items in a menu.

The preparing event supersedes the displaying event and provides additional functionality. Listen for the preparing event or the displaying event, but not both.

The Event.PREPARING constant defines the value of the type property of a preparing event object.

Note: This event does not go through a "capture phase" and is dispatched directly to the target, whether the target is on the display list or not.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse
currentTargetThe object that dispatched this event.
targetThe object that dispatched this event.

select

Event  
Event Object Type: flash.events.Event
property Event.type = flash.events.Event.SELECT

Runtime Versions:  1.0

Dispatched by this NativeMenu object when one of its menu items or an item in one of its descendant submenus is selected.

A select event bubbles from a menu item to its containing menu and on up through the parent menu chain to the root menu object. The target property of the event object references the selected NativeMenuItem object; the currentTarget property references this NativeMenu object.

The Event.SELECT constant defines the value of the type property of a select event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe object on which an item has been selected.