| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!-- saved from url=(0014)about:internet -->
|
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
| <html xmlns="http://www.w3.org/1999/xhtml">
|
| <head>
|
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
| <title>SampleContextMenu.mxml</title>
|
| <link rel="stylesheet" type="text/css" href="../SourceStyles.css"/>
|
| </head>
|
|
|
| <body>
|
| <pre><span class="MXMLProcessing_Instruction"><?xml version="1.0" encoding="utf-8"?></span>
|
| <span class="MXMLComponent_Tag"><s:View</span><span class="MXMLDefault_Text"> xmlns:fx="</span><span class="MXMLString">http://ns.adobe.com/mxml/2009</span><span class="MXMLDefault_Text">"
|
| xmlns:s="</span><span class="MXMLString">library://ns.adobe.com/flex/spark</span><span class="MXMLDefault_Text">"
|
| title="</span><span class="MXMLString">Custom Menu</span><span class="MXMLDefault_Text">" viewActivate="view1_viewActivateHandler(event)"</span><span class="MXMLComponent_Tag">></span>
|
|
|
| <span class="MXMLComment"><!--</span><span class="MXMLComment"> NOT SUPPORTED on IOS </span><span class="MXMLComment">--></span>
|
|
|
| <span class="MXMLSpecial_Tag"><fx:Script></span>
|
| <![CDATA[
|
| <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">mx</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">collections</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">ArrayCollection</span>;
|
| <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">mx</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">events</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">FlexEvent</span>;
|
|
|
| <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">spark</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">events</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">IndexChangeEvent</span>;
|
| <span class="ActionScriptReserved">import</span> spark.events.ViewNavigatorEvent;
|
|
|
| <span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptMetadata">Bindable</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptReserved">protected</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">ac</span>:<span class="ActionScriptDefault_Text">ArrayCollection</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">ArrayCollection</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
|
|
|
| <span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptMetadata">Bindable</span><span class="ActionScriptBracket/Brace">]
|
| </span> [<span class="ActionScriptMetadata">Embed</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"assets/launchpad_calendar.png"</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">]</span>
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">calIcon</span>:<span class="ActionScriptDefault_Text">Class</span>;
|
|
|
| <span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptMetadata">Bindable</span><span class="ActionScriptBracket/Brace">]
|
| </span> [<span class="ActionScriptMetadata">Embed</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"assets/launchpad_account.png"</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">]</span>
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">accountIcon</span>:<span class="ActionScriptDefault_Text">Class</span>;
|
|
|
| <span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptMetadata">Bindable</span><span class="ActionScriptBracket/Brace">]
|
| </span> [<span class="ActionScriptMetadata">Embed</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"assets/launchpad_add.png"</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">]</span>
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">addIcon</span>:<span class="ActionScriptDefault_Text">Class</span>;
|
|
|
| <span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptMetadata">Bindable</span><span class="ActionScriptBracket/Brace">]</span>
|
| [<span class="ActionScriptReserved">Embed</span>(<span class="ActionScriptString">"assets/launchpad_activity.png"</span>)]
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">updateIcon</span>:<span class="ActionScriptDefault_Text">Class</span>;
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">isMenuShowing</span>:<span class="ActionScriptDefault_Text">Boolean</span>;
|
|
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> view1_viewActivateHandler(event:ViewNavigatorEvent):<span class="ActionScriptReserved">void</span>
|
| {
|
| currentState = <span class="ActionScriptString">'default'</span>;
|
| ac.addItem({label:<span class="ActionScriptString">"Calendar"</span>, icon:calIcon});
|
| ac.addItem({label:<span class="ActionScriptString">"List"</span>, icon:accountIcon});
|
| ac.addItem({label:<span class="ActionScriptString">"Add"</span>, icon:addIcon});
|
| ac.addItem({label:<span class="ActionScriptString">"Update"</span>, icon:updateIcon});
|
|
|
| addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
|
| addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
|
| }
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onKeyDown</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">KeyboardEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span> <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">keyCode</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptDefault_Text">Keyboard</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">MENU</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptDefault_Text">event</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">preventDefault</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">this</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">currentState</span><span class="ActionScriptOperator">==</span><span class="ActionScriptString">'default'</span><span class="ActionScriptBracket/Brace">)</span>
|
| <span class="ActionScriptDefault_Text">currentState</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptString">'menu'</span>;
|
| <span class="ActionScriptReserved">else</span> <span class="ActionScriptDefault_Text">currentState</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptString">'default'</span>;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
| <span class="ActionScriptBracket/Brace">}</span>
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onChange</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">IndexChangeEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| lbl.text = list.selectedItem.label + <span class="ActionScriptString">" selected"</span>;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onMouseDown</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">MouseEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">currentState</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptString">'menu'</span><span class="ActionScriptBracket/Brace">)</span>
|
| <span class="ActionScriptComment">// Set to default (no menu) if they click outside of the menu
|
| </span> <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">target</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptString">'mouseCatcher'</span><span class="ActionScriptBracket/Brace">)</span>
|
| <span class="ActionScriptDefault_Text">currentState</span><span class="ActionScriptOperator">=</span><span class="ActionScriptString">'default'</span>;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">menuPnl_keyDownHandler</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">KeyboardEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptReserved">if</span> (event.keyCode == Keyboard.DOWN)
|
| list.selectedIndex = list.selectedIndex+1;
|
| <span class="ActionScriptReserved">else if</span> (event.keyCode == Keyboard.UP)
|
| list.selectedIndex = list.selectedIndex-1;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">menuPnl_creationCompleteHandler</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">FlexEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| menuPnl.addEventListener(KeyboardEvent.KEY_DOWN,menuPnl_keyDownHandler);
|
| <span class="ActionScriptBracket/Brace">}</span>
|
| <span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptOperator">></span>
|
| <span class="MXMLSpecial_Tag"></fx:Script></span>
|
|
|
| <span class="MXMLComponent_Tag"><s:states></span>
|
| <span class="MXMLComponent_Tag"><s:State</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">default</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"><s:State</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">menu</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"></s:states></span>
|
|
|
| <span class="MXMLComponent_Tag"><s:layout></span>
|
| <span class="MXMLComponent_Tag"><s:VerticalLayout</span><span class="MXMLDefault_Text"> gap="</span><span class="MXMLString">40</span><span class="MXMLDefault_Text">" horizontalAlign="</span><span class="MXMLString">center</span><span class="MXMLDefault_Text">" paddingBottom="</span><span class="MXMLString">5</span><span class="MXMLDefault_Text">" paddingLeft="</span><span class="MXMLString">5</span><span class="MXMLDefault_Text">"
|
| paddingRight="</span><span class="MXMLString">5</span><span class="MXMLDefault_Text">" verticalAlign="</span><span class="MXMLString">top</span><span class="MXMLDefault_Text">" paddingTop="</span><span class="MXMLString">10</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"></s:layout></span>
|
|
|
| <span class="MXMLComponent_Tag"><s:TextArea</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">ta</span><span class="MXMLDefault_Text">" width="</span><span class="MXMLString">95%</span><span class="MXMLDefault_Text">" editable="</span><span class="MXMLString">false</span><span class="MXMLDefault_Text">"
|
| text="</span><span class="MXMLString">Press the device menu key to trigger a custom popup menu to be displayed in the area below.</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
|
|
| <span class="MXMLComponent_Tag"><s:Panel</span> id="<span class="MXMLString">menuPnl</span>" includeIn="<span class="MXMLString">menu</span>" width="<span class="MXMLString">85%</span>" height="<span class="MXMLString">277</span>" creationComplete="menuPnl_creationCompleteHandler(event)"
|
| skinClass="<span class="MXMLString">views.ContextMenuPanelSkin</span>"<span class="MXMLComponent_Tag">></span>
|
| <span class="MXMLComponent_Tag"><s:List</span> id="<span class="MXMLString">list</span>" left="<span class="MXMLString">0</span>" right="<span class="MXMLString">0</span>" top="<span class="MXMLString">0</span>" bottom="<span class="MXMLString">0</span>" width="<span class="MXMLString">100%</span>" height="<span class="MXMLString">100%</span>"
|
| borderVisible="<span class="MXMLString">false</span>" change="onChange(event)" color="<span class="MXMLString">#3636AC</span>"
|
| contentBackgroundAlpha="<span class="MXMLString">1.0</span>" contentBackgroundColor="<span class="MXMLString">#E7E7E7</span>" dataProvider="<span class="MXMLString">{</span>ac<span class="MXMLString">}</span>"
|
| fontSize="<span class="MXMLString">22</span>"<span class="MXMLComponent_Tag">></span>
|
| <span class="MXMLComponent_Tag"><s:itemRenderer></span>
|
| <span class="MXMLSpecial_Tag"><fx:Component></span>
|
| <span class="MXMLComponent_Tag"><s:IconItemRenderer</span> iconField="<span class="MXMLString">icon</span>" height="<span class="MXMLString">60</span>" mouseOver="<span class="ActionScriptReserved">this</span>.alpha=1.0" mouseOut="<span class="ActionScriptReserved">this</span>.alpha=.7" alpha="<span class="MXMLString">.7</span>"<span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLSpecial_Tag"></fx:Component></span>
|
| <span class="MXMLComponent_Tag"></s:itemRenderer></span>
|
| <span class="MXMLComponent_Tag"></s:List></span>
|
| <span class="MXMLComponent_Tag"></s:Panel></span>
|
| <span class="MXMLComponent_Tag"><s:Label</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">lbl</span><span class="MXMLDefault_Text">" includeIn="</span><span class="MXMLString">menu</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
|
|
| <span class="MXMLComponent_Tag"></s:View></span></pre></body>
|
| </html>
|