<?xml version="1.0" encoding="utf-8"?>
<mx:Application click="showMenu(event)" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" viewSourceURL="srcview/index.html">

    <!-- Styles for skin -->
    <mx:Style source="css/Styles.css" />
    
    <mx:Script>
        <![CDATA[
            
            import mx.controls.Menu;
            import com.xsive.controls.menuClasses.*;
            
            private var _menu:Menu;
            
            public function showMenu(eventObj:MouseEvent):void{
                var _mouseClick:Point = new Point(stage.mouseX, stage.mouseY);
                _menu                = Menu.createMenu(this, STANDARDMENU, false);
                _menu.showRoot      = false;
                _menu.iconFunction  = iconFunctionKey;
                _menu.labelField       = "@label"
                _menu.itemRenderer     = new ClassFactory(FunctionKeyLabelRenderer);
                _menu.show(_mouseClick.x+3,_mouseClick.y+3);
            }
            
            private function iconFunctionKey(item:Object):Class{
                
                switch (XML(item).attribute("functionKey").toString()) {
                    case "F2":
                        return F2;
                    case "F3":
                        return F3;
                    default:
                        return null;
                }            
            }

            public static function get STANDARDMENU():XML{
                return new XML("<root>" + 
                    "<menuitem label='menu1' functionKey='F2' enabled='false' />" + 
                    "<menuitem label='menu2' functionKey='F3' enabled='true' />" + 
                    "<menuitem type='separator' />" + 
                    "<menuitem label='&File' enabled='false' />" + 
                    "<menuitem label='&Edit' enabled='true' />" + 
                    "</root>");
            }
            
        ]]>
    </mx:Script>    
    
</mx:Application>