Create menu from XML : Menu Model « Components « Flex






Create menu from XML

Create menu from XML
      
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="absolute">
    <mx:Script>
        
        import mx.controls.Menu;
        import mx.events.MenuEvent;
        private var myMenu:Menu;
        private function createAndShow():void {
            ta1.text="";
            myMenu = Menu.createMenu(null, myMenuData, false);
            myMenu.labelField="@label";
            myMenu.addEventListener(MenuEvent.ITEM_ROLL_OVER,menuShowInfo);
            myMenu.show(225, 10);
        }
        private function menuShowInfo(event:MenuEvent):void {
            ta1.text="event.type: " + event.type;
            ta1.text+="\nevent.label: " + event.label;
            ta1.text+="\nevent.index: " + event.index;
            if (event.item) {
                ta1.text+="\nItem label: " + event.item.@label
                ta1.text+="\nItem selected: " + event.item.@toggled;
                ta1.text+= "\nItem type: " + event.item.@type;
            }
        }

        [Bindable]
        public var menuData:Array = [
            {label: "MenuItem A", children: [
            {label: "SubMenuItem A-1", enabled: false},
            {label: "SubMenuItem A-2", type: "normal"}]},
            {label: "MenuItem B", type: "check", toggled: true},
            {label: "MenuItem C", type: "check", toggled: false},
            {type: "separator"},
            {label: "MenuItem D", children: [
            {label: "SubMenuItem D-1", type: "radio", groupName: "g1"},
            {label: "SubMenuItem D-2", type: "radio", groupName: "g1",toggled: true},
            {label: "SubMenuItem D-3", type: "radio", groupName: "g1"}]}
        ];
      
    </mx:Script>
    <mx:XML id="myMenuData">
        <xmlRoot>
            <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" type="radio" groupName="one" />
                <menuitem label="SubMenuItem D-2" type="radio" groupName="one" toggled="true" />
                <menuitem label="SubMenuItem D-3" type="radio" groupName="one" />
            </menuitem>
        </xmlRoot>
    </mx:XML>
    <mx:Button x="10" y="5" label="Open XML Popup" click="createAndShow();" />
    <mx:TextArea x="10" y="70" width="200" height="300" id="ta1" />
</mx:Application>

   
    
    
    
    
    
  








Related examples in the same category

1.Create a Menu that uses an Array data providerCreate a Menu that uses an Array data provider
2.Use to define the data for the Menu controlUse <mx:XML> to define the data for the Menu control
3.Use XMLListCollection as the data model for MenuBarUse XMLListCollection as the data model for MenuBar
4.Provide Data for MenusProvide Data for Menus
5.Array DataProvider for MenuArray DataProvider for Menu
6.An XML menu data provider with iconsAn XML menu data provider with icons
7.The dataProvider property is the default property of the MenuBar controlThe dataProvider property is the default property of the MenuBar control
8.Create MenuBar from XMLListCreate MenuBar from XMLList
9.Create Menu from ArrayCreate Menu from Array
10.Define XML or XMLList object as a direct child of the Define XML or XMLList object as a direct child of the <mx:MenuBar>
11.Dynamically Populate MenusDynamically Populate Menus
12.Model With MenuModel With Menu