http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/UIViews/ListView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/UIViews/ListView.mxml 
b/tourdeflexmobile/src/UIViews/ListView.mxml
deleted file mode 100644
index ce00d68..0000000
--- a/tourdeflexmobile/src/UIViews/ListView.mxml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
-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.
-
--->
-<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
-               xmlns:s="library://ns.adobe.com/flex/spark" title="List">
-       
-       <fx:Script>
-               <![CDATA[
-                       import spark.skins.mobile.TextAreaSkin;
-                       
-                       protected function buttonHandler(event:MouseEvent):void
-                       {
-                               if(currentState == "DemoState"){
-                                       currentState = "InfoState";             
                
-                               }else if(currentState == "InfoState"){
-                                       currentState = "DemoState";
-                               }
-                       }
-                       
-               ]]>
-       </fx:Script>
-       
-       <s:states>
-               <s:State name="DemoState"/>
-               <s:State name="InfoState"/>
-       </s:states>
-       
-       <fx:Declarations>
-               <s:MultiDPIBitmapSource id="aboutIcon" 
source160dpi="@Embed('assets/icons/160/about.png')" 
source240dpi="@Embed('assets/icons/240/about.png')" 
source320dpi="@Embed('assets/icons/320/about.png')"/>
-               <s:MultiDPIBitmapSource id="demoIcon" 
source160dpi="@Embed('assets/icons/160/dock.png')" 
source240dpi="@Embed('assets/icons/240/dock.png')" 
source320dpi="@Embed('assets/icons/320/dock.png')"/>
-       </fx:Declarations>
-       
-       <s:List includeIn="DemoState" width="100%" height="100%">
-               <s:ArrayList>
-                       <fx:Object label="Item 1"/>
-                       <fx:Object label="Item 2"/>
-                       <fx:Object label="Item 3"/>
-                       <fx:Object label="Item 4"/>
-                       <fx:Object label="Item 5"/>
-                       <fx:Object label="Item 6"/>
-                       <fx:Object label="Item 7"/>
-                       <fx:Object label="Item 8"/>
-                       <fx:Object label="Item 9"/>
-                       <fx:Object label="Item 10"/>
-                       <fx:Object label="Item 11"/>
-                       <fx:Object label="Item 12"/>
-                       <fx:Object label="Item 13"/>
-                       <fx:Object label="Item 14"/>
-                       <fx:Object label="Item 15"/>
-                       <fx:Object label="Item 16"/>
-                       <fx:Object label="Item 17"/>
-                       <fx:Object label="Item 18"/>
-                       <fx:Object label="Item 19"/>
-                       <fx:Object label="Item 20"/>
-                       <fx:Object label="Item 21"/>
-                       <fx:Object label="Item 22"/>
-                       <fx:Object label="Item 23"/>
-               </s:ArrayList>
-       </s:List>
-       
-       <s:TextArea includeIn="InfoState" 
skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" 
bottom="10" editable="false" text="The List control displays a vertical list of 
items. Its functionality is similar to that of the SELECT form element in HTML. 
If there are more items than can be displayed at once, it can display a 
vertical scroll bar so the user can access all items in the list. An optional 
horizontal scroll bar lets the user view items when the full width of the list 
items is unlikely to fit. The user can select one or more items from the list, 
depending on the value of the allowMultipleSelection property.
-                               &#xd;&#xd;Note: The Spark list-based controls 
(the Spark ListBase class and its subclasses such as ButtonBar, ComboBox, 
DropDownList, List, and TabBar) do not support the BasicLayout class as the 
value of the layout property. Do not use BasicLayout with the Spark list-based 
controls. When a layout is specified, the layout's typicalLayoutElement 
property should not be set; it's automatically set to an item renderer created 
with the List's typicalItem.
-                               
-                               &#xd;&#xd;To use this component in a list-based 
component, such as a List or DataGrid, create an item renderer. For information 
about creating an item renderer, see Custom Spark item renderers."/>
-       
-       <s:actionContent>
-               <s:Button click="buttonHandler(event)" 
icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
-       </s:actionContent>
-</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/UIViews/MobileGridView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/UIViews/MobileGridView.mxml 
b/tourdeflexmobile/src/UIViews/MobileGridView.mxml
deleted file mode 100644
index d875580..0000000
--- a/tourdeflexmobile/src/UIViews/MobileGridView.mxml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
-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.
-
--->
-<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
-               xmlns:s="library://ns.adobe.com/flex/spark" title="MobileGrid" 
xmlns:ns="http://flex.apache.org/experimental/ns";>
-       <fx:Script>
-               <![CDATA[
-                       import spark.skins.mobile.TextAreaSkin;
-                       
-                       protected function buttonHandler(event:MouseEvent):void
-                       {
-                               if(currentState == "DemoState"){
-                                       currentState = "InfoState";             
                
-                               }else if(currentState == "InfoState"){
-                                       currentState = "DemoState";
-                               }
-                       }
-               ]]>
-       </fx:Script>
-       
-       <s:states>
-               <s:State name="DemoState"/>
-               <s:State name="InfoState"/>
-       </s:states>
-       
-       <fx:Declarations>
-               <s:MultiDPIBitmapSource id="aboutIcon" 
source160dpi="@Embed('assets/icons/160/about.png')" 
source240dpi="@Embed('assets/icons/240/about.png')" 
source320dpi="@Embed('assets/icons/320/about.png')"/>
-               <s:MultiDPIBitmapSource id="demoIcon" 
source160dpi="@Embed('assets/icons/160/dock.png')" 
source240dpi="@Embed('assets/icons/240/dock.png')" 
source320dpi="@Embed('assets/icons/320/dock.png')"/>
-       </fx:Declarations>
-       
-       <ns:MobileGrid includeIn="DemoState" width="100%" height="100%">
-               <ns:columns>
-                       <ns:MobileGridColumn width="33%" headerText="Column 1" 
dataField="label"/>
-                       <ns:MobileGridColumn width="33%" headerText="Column 2" 
dataField="label"/>
-                       <ns:MobileGridColumn width="33%" headerText="Column 3" 
dataField="label"/>
-               </ns:columns>
-               <s:ArrayList>
-                       <fx:Object label="Item 1"/>
-                       <fx:Object label="Item 2"/>
-                       <fx:Object label="Item 3"/>
-                       <fx:Object label="Item 4"/>
-                       <fx:Object label="Item 5"/>
-                       <fx:Object label="Item 6"/>
-                       <fx:Object label="Item 7"/>
-                       <fx:Object label="Item 8"/>
-                       <fx:Object label="Item 9"/>
-                       <fx:Object label="Item 10"/>
-                       <fx:Object label="Item 11"/>
-                       <fx:Object label="Item 12"/>
-                       <fx:Object label="Item 13"/>
-                       <fx:Object label="Item 14"/>
-                       <fx:Object label="Item 15"/>
-                       <fx:Object label="Item 16"/>
-                       <fx:Object label="Item 17"/>
-                       <fx:Object label="Item 18"/>
-                       <fx:Object label="Item 19"/>
-                       <fx:Object label="Item 20"/>
-                       <fx:Object label="Item 21"/>
-                       <fx:Object label="Item 22"/>
-                       <fx:Object label="Item 23"/>
-               </s:ArrayList>
-       </ns:MobileGrid>
-       
-       
-       <s:TextArea includeIn="InfoState" 
skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" 
bottom="10" editable="false" text="The MobileGrid displays a collection of 
items in a grid of rows and columns and column headers and is optimized for 
speed on mobile devices.
-                               &#xd;&#xd;The MobileGrid component provides the 
following features:
-                               
-                               &#xd;&#xd;user can swipe through the rows in 
the datagrid.
-                               &#xd;&#xd;supports single selection of a row.
-                               &#xd;&#xd;rows can be sorted according to a 
given column by clicking on the column's header.
-                               &#xd;&#xd;cells can be displayed as text in 
different fonts and formats, as images, or using a custom renderer.
-                               &#xd;&#xd;default skin uses dark shades of 
gray, and is available in different screen densities.
-                               &#xd;&#xd;It's important to understand that 
MobileGrid does not have all the capabilities and flexibility of it's desktop 
equivalent, in order to ensure optimal display and scrolling performance on 
mobile devices.
-                               
-                               &#xd;&#xd;Typically, the following features are 
not available in MobileGrid:
-                               
-                               &#xd;&#xd;multiple selection is not supported
-                               &#xd;&#xd;it's not possible to interactively 
reorder columns
-                               &#xd;&#xd;MobileGrid does not scroll 
horizontally, even when the column widths exceeds the component's width.
-                               &#xd;&#xd;custom cell renderers must be 
designed with care, preferably in ActionScript, to ensure good display 
performance
-                               &#xd;&#xd;Internally, MobileGrid inherits for 
Mobile spark.List component rather than any Grid or DataGrid, which means that 
all cell renderers in a single row are managed by one single 
MobileGridRowRenderer that delegates the individual cell renderers to 
light-weight sub-renderers.
-                               
-                               &#xd;&#xd;You usually don't access this 
internal row renderer yourself, and will rather define the individual cell 
renderers.
-                               
-                               &#xd;&#xd;This technique ensures optimal 
display and memory performance, which is critical for mobile devices, at the 
price of less flexibility for cell renderers."/>
-       
-       <s:actionContent>
-               <s:Button click="buttonHandler(event)" 
icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
-       </s:actionContent>
-</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/UIViews/RadiobuttonView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/UIViews/RadiobuttonView.mxml 
b/tourdeflexmobile/src/UIViews/RadiobuttonView.mxml
deleted file mode 100644
index 47d1804..0000000
--- a/tourdeflexmobile/src/UIViews/RadiobuttonView.mxml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
-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.
-
--->
-<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
-               xmlns:s="library://ns.adobe.com/flex/spark" title="RadioButton">
-       
-       <fx:Script>
-               <![CDATA[
-                       import spark.skins.mobile.TextAreaSkin;
-                       protected function radiobuttonHandler(event:Event):void
-                       {
-                               label.text = event.target.label + " Selected.";
-                       }
-                       
-                       protected function buttonHandler(event:MouseEvent):void
-                       {
-                               if(currentState == "DemoState"){
-                                       currentState = "InfoState";             
                
-                               }else if(currentState == "InfoState"){
-                                       currentState = "DemoState";
-                               }
-                       }
-               ]]>
-       </fx:Script>
-       
-       <fx:Declarations>
-               <s:MultiDPIBitmapSource id="aboutIcon" 
source160dpi="@Embed('assets/icons/160/about.png')" 
source240dpi="@Embed('assets/icons/240/about.png')" 
source320dpi="@Embed('assets/icons/320/about.png')"/>
-               <s:MultiDPIBitmapSource id="demoIcon" 
source160dpi="@Embed('assets/icons/160/dock.png')" 
source240dpi="@Embed('assets/icons/240/dock.png')" 
source320dpi="@Embed('assets/icons/320/dock.png')"/>
-
-               <s:RadioButtonGroup id="radiogroup1"/>
-       </fx:Declarations>
-       
-       <s:states>
-               <s:State name="DemoState"/>
-               <s:State name="InfoState"/>
-       </s:states>
-
-       <s:VGroup includeIn="DemoState" horizontalCenter="0" y="20">
-               <s:RadioButton change="radiobuttonHandler(event)" 
label="RadioButton 1" groupName="radiogroup1"/>
-               <s:RadioButton change="radiobuttonHandler(event)" 
label="RadioButton 2" groupName="radiogroup1"/>
-               <s:RadioButton change="radiobuttonHandler(event)" 
label="RadioButton 3" groupName="radiogroup1"/>
-       </s:VGroup>
-       
-       <s:Label id="label" horizontalCenter="0" textAlign="center" 
bottom="20"/>
-       
-       <s:TextArea includeIn="InfoState" 
skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" 
bottom="10" editable="false" text="The RadioButton component allows the user 
make a single choice within a set of mutually exclusive choices. A 
RadioButtonGroup is composed of two or more RadioButton components with the 
same groupName property. While grouping RadioButton instances in a 
RadioButtonGroup is optional, a group lets you do things like set a single 
event handler on a group of RadioButtons, rather than on each individual 
RadioButton.
-                               &#xd;&#xd;The RadioButton group can refer to 
the a group created by the RadioButtonGroup tag. The user selects only one 
member of the group at a time. Selecting an unselected group member deselects 
the currently selected RadioButton component within that group.
-                                                                               
                                                                  
-                               &#xd;&#xd; To use this component in a 
list-based component, such as a List or DataGrid, create an item renderer. For 
information about creating an item renderer, see Custom Spark item renderers."/>
-       
-       <s:actionContent>
-               <s:Button click="buttonHandler(event)" 
icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
-       </s:actionContent>
-</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/UIViews/SpinnerListView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/UIViews/SpinnerListView.mxml 
b/tourdeflexmobile/src/UIViews/SpinnerListView.mxml
deleted file mode 100644
index c94f59b..0000000
--- a/tourdeflexmobile/src/UIViews/SpinnerListView.mxml
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
-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.
-
--->
-<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
-               xmlns:s="library://ns.adobe.com/flex/spark" title="SpinnerList">
-       <fx:Script>
-               <![CDATA[
-                       import spark.events.IndexChangeEvent;
-                       import spark.skins.mobile.TextAreaSkin;
-                       
-                       protected function 
spinnerListHandler(event:IndexChangeEvent):void
-                       {
-                               label.text = spinnerList1.selectedItem.label + 
" " + spinnerList2.selectedItem.label;
-                       }
-                       
-                       protected function buttonHandler(event:MouseEvent):void
-                       {
-                               if(currentState == "DemoState"){
-                                       currentState = "InfoState";             
                
-                               }else if(currentState == "InfoState"){
-                                       currentState = "DemoState";
-                               }
-                       }
-                       
-               ]]>
-       </fx:Script>
-       
-       <s:states>
-               <s:State name="DemoState"/>
-               <s:State name="InfoState"/>
-       </s:states>
-       
-       <fx:Declarations>
-               <s:MultiDPIBitmapSource id="aboutIcon" 
source160dpi="@Embed('assets/icons/160/about.png')" 
source240dpi="@Embed('assets/icons/240/about.png')" 
source320dpi="@Embed('assets/icons/320/about.png')"/>
-               <s:MultiDPIBitmapSource id="demoIcon" 
source160dpi="@Embed('assets/icons/160/dock.png')" 
source240dpi="@Embed('assets/icons/240/dock.png')" 
source320dpi="@Embed('assets/icons/320/dock.png')"/>
-       </fx:Declarations>
-       
-       <s:SpinnerListContainer includeIn="DemoState" width="100%">
-               <s:SpinnerList id="spinnerList1" 
change="spinnerListHandler(event)" width="50%" height="150">
-                       <s:ArrayCollection>
-                               <fx:Object label="Item A 1"/>
-                               <fx:Object label="Item A 2"/>
-                               <fx:Object label="Item A 3"/>
-                               <fx:Object label="Item A 4"/>
-                               <fx:Object label="Item A 5"/>
-                               <fx:Object label="Item A 6"/>
-                               <fx:Object label="Item A 7"/>
-                               <fx:Object label="Item A 8"/>
-                               <fx:Object label="Item A 9"/>
-                               <fx:Object label="Item A 10"/>
-                               <fx:Object label="Item A 11"/>
-                               <fx:Object label="Item A 12"/>
-                               <fx:Object label="Item A 13"/>
-                               <fx:Object label="Item A 14"/>
-                               <fx:Object label="Item A 15"/>
-                               <fx:Object label="Item A 16"/>
-                               <fx:Object label="Item A 17"/>
-                               <fx:Object label="Item A 18"/>
-                               <fx:Object label="Item A 19"/>
-                               <fx:Object label="Item A 20"/>
-                       </s:ArrayCollection>
-               </s:SpinnerList>
-               
-               <s:SpinnerList id="spinnerList2" 
change="spinnerListHandler(event)" width="50%" height="150">
-                       <s:ArrayCollection>
-                               <fx:Object label="Item B 1"/>
-                               <fx:Object label="Item B 2"/>
-                               <fx:Object label="Item B 3"/>
-                               <fx:Object label="Item B 4"/>
-                               <fx:Object label="Item B 5"/>
-                               <fx:Object label="Item B 6"/>
-                               <fx:Object label="Item B 7"/>
-                               <fx:Object label="Item B 8"/>
-                               <fx:Object label="Item B 9"/>
-                               <fx:Object label="Item B 10"/>
-                               <fx:Object label="Item B 11"/>
-                               <fx:Object label="Item B 12"/>
-                               <fx:Object label="Item B 13"/>
-                               <fx:Object label="Item B 14"/>
-                               <fx:Object label="Item B 15"/>
-                               <fx:Object label="Item B 16"/>
-                               <fx:Object label="Item B 17"/>
-                               <fx:Object label="Item B 18"/>
-                               <fx:Object label="Item B 19"/>
-                               <fx:Object label="Item B 20"/>
-                       </s:ArrayCollection>
-               </s:SpinnerList>
-       </s:SpinnerListContainer>
-       
-       
-       <s:Label id="label" horizontalCenter="0" textAlign="center" 
bottom="20"/>
-       
-       <s:TextArea includeIn="InfoState" 
skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" 
bottom="10" editable="false" text="The SpinnerList component displays a list of 
items. The item in the center of the list is always the selectedItem. By 
default, the list wraps around.
-                               &#xd;&#xd;You can have multiple SpinnerList 
controls arranged horizontally within a single border by wrapping then in a 
SpinnerListContainer."/>
-       
-       <s:actionContent>
-               <s:Button click="buttonHandler(event)" 
icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
-       </s:actionContent>
-
-</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/UIViews/TextInputView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/UIViews/TextInputView.mxml 
b/tourdeflexmobile/src/UIViews/TextInputView.mxml
deleted file mode 100644
index 8a765c8..0000000
--- a/tourdeflexmobile/src/UIViews/TextInputView.mxml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
-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.
-
--->
-<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
-               xmlns:s="library://ns.adobe.com/flex/spark" title="TextInput">
-       <fx:Script>
-               <![CDATA[
-                       import mx.events.FlexEvent;
-                       
-                       import spark.skins.mobile.TextAreaSkin;
-                       
-                       protected function buttonHandler(event:MouseEvent):void
-                       {
-                               if(currentState == "DemoState"){
-                                       currentState = "InfoState";             
                
-                               }else if(currentState == "InfoState"){
-                                       currentState = "DemoState";
-                               }
-                       }
-                       
-                       private function submitText():void
-                       {
-                               label.text = textInput.text;
-                       }
-                       
-               ]]>
-       </fx:Script>
-       
-       <s:states>
-               <s:State name="DemoState"/>
-               <s:State name="InfoState"/>
-       </s:states>
-       
-       <fx:Declarations>
-               <s:MultiDPIBitmapSource id="aboutIcon" 
source160dpi="@Embed('assets/icons/160/about.png')" 
source240dpi="@Embed('assets/icons/240/about.png')" 
source320dpi="@Embed('assets/icons/320/about.png')"/>
-               <s:MultiDPIBitmapSource id="demoIcon" 
source160dpi="@Embed('assets/icons/160/dock.png')" 
source240dpi="@Embed('assets/icons/240/dock.png')" 
source320dpi="@Embed('assets/icons/320/dock.png')"/>
-       </fx:Declarations>
-       
-       <s:TextInput includeIn="DemoState" id="textInput" 
skinClass="spark.skins.mobile.TextInputSkin" prompt="Type Here and Tap Enter" 
left="5" right="5" top="5" height="40" enter="submitText()" />
-       
-       <s:Label includeIn="DemoState" id="label" horizontalCenter="0" y="60" 
textAlign="center"/>
-       
-       <s:TextArea includeIn="InfoState" 
skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" 
bottom="10" editable="false" text="TextInput is a text-entry control that lets 
users enter and edit a single line of uniformly-formatted text.
-                               &#xd; &#xd;The TextInput skin for the Spark 
theme uses the RichEditableText class. This means that the Spark TextInput 
control supports the Text Layout Framework (TLF) library, which builds on the 
Flash Text Engine (FTE). In combination, these layers provide text editing with 
high-quality international typography and layout.
-                               
-                               &#xd; &#xd;The TextInput skin for the mobile 
theme uses the StyleableStageText class instead of RichEditableText. Since 
StyleableStageText uses native text fields it allows for better text entry and 
manipulation experiences on mobile devices however there are limitations and 
differences that you should consider. The native text controls used by 
StageText apply different paddings around text. In order to avoid vertical 
scrolling, the StageText-based TextInput skin attempts to estimate this padding 
and compensate for that. Because of this and other differences in how native 
text controls treat text, the default height of the TextInput control using 
StageText-based skin will differ from its default height using the the 
TextField-based TextInput skin.
-                               
-                               &#xd; &#xd;You can set the text to be 
displayed, or get the text that the user has entered, using the text property. 
This property is a String, so if the user enter a numeric value it will be 
reported, for example, as 123.45 rather than 123.45.
-                               
-                               &#xd; &#xd;The text is formatted using CSS 
styles such as fontFamily and fontSize.
-                               
-                               &#xd; &#xd;For the Spark theme you can specify 
the width of the control using the widthInChars property which provides a 
convenient way to specify the width in a way that scales with the font size or 
you can use the typicalText property. Note that if you use typicalText, the 
widthInChars property is ignored. For all themes, you can also specify an 
explicit width in pixels, a percent width, or use constraints such as left and 
right. You do not normally do anything to specify the height; the control's 
default height is sufficient to display one line of text.
-                               
-                               &#xd; &#xd;You can use the maxChars property to 
limit the number of character that the user can enter, and the restrict to 
limit which characters the user can enter. To use this control for password 
input, set the displayAsPassword property to true.
-                               
-                               &#xd; &#xd;For the mobile theme, the 
soft-keyboard-specific properties, autoCapitalize, autoCorrect, returnKeyLabel 
and softKeyboardType properties specify keyboard hints. If a soft-keyboard is 
present but does not support a feature represented by the hint, the hint is 
ignored. In mobile environments with only hardware keyboards, these hints are 
ignored.
-                               
-                               &#xd; &#xd;This control dispatches a 
FlexEvent.ENTER event when the user pressed the Enter key rather than inserting 
a line break, because this control does not support entering multiple lines of 
text. By default, this control has explicit line breaks.
-                               
-                               &#xd; &#xd;     This control is a skinnable 
control whose default skin contains either a RichEditableText instance for the 
Spark theme or a StyleableStageText instance for the Mobile theme. It handles 
displaying and editing the text. (The skin also handles drawing the border and 
background.) This RichEditableText or StyleableStageText instance can be 
accessed as the textDisplay object. For the mobile theme, if you wish to use 
the TextField-based skin, rather than the StageText-based skin, set the 
skinClass property to spark.skins.mobile.TextInputSkin.
-                                                                               
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
         
-                               &#xd; &#xd; For the Spark theme, as a result of 
its RichEditableText using TLF, the Spark TextInput control supports displaying 
left-to-right (LTR) text, such as French, right-to-left (RTL) text, such as 
Arabic, and bidirectional text such as a French phrase inside of an Arabic one. 
If the predominant text direction is right-to-left, set the direction style to 
rtl. The textAlign style defaults to start, which makes the text left-aligned 
when direction is ltr and right-aligned when direction is rtl. To get the 
opposite alignment, set textAlign to end.
-                                                                               
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
         
-                               &#xd; &#xd; Also as a result of using TLF, the 
Spark TextInput supports unlimited undo/redo within one editing session. An 
editing session starts when the control gets keyboard focus and ends when the 
control loses focus.
-                                                                               
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
         
-                               &#xd; &#xd;To use this component in a 
list-based component, such as a List or DataGrid, create an item renderer. For 
information about creating an item renderer, see Custom Spark item renderers."/>
-       
-       <s:actionContent>
-               <s:Button click="buttonHandler(event)" 
icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
-       </s:actionContent>
-</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/UIViews/ToggleSwitchView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/UIViews/ToggleSwitchView.mxml 
b/tourdeflexmobile/src/UIViews/ToggleSwitchView.mxml
deleted file mode 100644
index 5309a75..0000000
--- a/tourdeflexmobile/src/UIViews/ToggleSwitchView.mxml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
-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.
-
--->
-<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
-               xmlns:s="library://ns.adobe.com/flex/spark" 
title="ToggleSwitch">
-       
-       <fx:Script>
-               <![CDATA[
-
-                       protected function buttonHandler(event:MouseEvent):void
-                       {
-                               if(currentState == "DemoState"){
-                                       currentState = "InfoState";             
                
-                               }else if(currentState == "InfoState"){
-                                       currentState = "DemoState";
-                               }
-                       }
-                       
-               ]]>
-       </fx:Script>
-       
-       <s:states>
-               <s:State name="DemoState"/>
-               <s:State name="InfoState"/>
-       </s:states>
-       
-       <fx:Declarations>
-               <s:MultiDPIBitmapSource id="aboutIcon" 
source160dpi="@Embed('assets/icons/160/about.png')" 
source240dpi="@Embed('assets/icons/240/about.png')" 
source320dpi="@Embed('assets/icons/320/about.png')"/>
-               <s:MultiDPIBitmapSource id="demoIcon" 
source160dpi="@Embed('assets/icons/160/dock.png')" 
source240dpi="@Embed('assets/icons/240/dock.png')" 
source320dpi="@Embed('assets/icons/320/dock.png')"/>
-       </fx:Declarations>
-       
-       <s:ToggleSwitch includeIn="DemoState" horizontalCenter="0" y="20" />
-       
-       <s:TextArea includeIn="InfoState" 
skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" 
bottom="10" editable="false" text="The Spark ToggleSwitch control defines a 
binary switch that can be in the selected or unselected position. The 
ToggleSwitch consists of a thumb skin part that moves between the two ends of 
the track skin part, similar to the Spark Slider control.
-                               The ToggleSwitch control has two positions: 
selected and unselected. By default, the label OFF corresponds to the 
unselected position and ON corresponds to the selected position.
-                               &#xd; &#xd;Clicking anywhere in the control 
toggles the position. You can also slide the thumb along the track to change 
position. When you release the thumb, it moves to the position, selected or 
unselected, that is closest to the thumb location.
-                               &#xd; &#xd;The ToggleSwitch control uses the 
following default values for the unselected and selected labels: OFF 
(unselected) and ON (selected). Define a custom skin to change the labels, or 
to change other visual characteristics of the control."/>
-                               
-       <s:actionContent>
-               <s:Button click="buttonHandler(event)" 
icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
-       </s:actionContent>
-</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/icons/160/about.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/icons/160/about.png 
b/tourdeflexmobile/src/assets/icons/160/about.png
deleted file mode 100644
index d7b7e69..0000000
Binary files a/tourdeflexmobile/src/assets/icons/160/about.png and /dev/null 
differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/icons/160/add.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/icons/160/add.png 
b/tourdeflexmobile/src/assets/icons/160/add.png
deleted file mode 100644
index 4d5d484..0000000
Binary files a/tourdeflexmobile/src/assets/icons/160/add.png and /dev/null 
differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/icons/160/dock.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/icons/160/dock.png 
b/tourdeflexmobile/src/assets/icons/160/dock.png
deleted file mode 100644
index aa0c320..0000000
Binary files a/tourdeflexmobile/src/assets/icons/160/dock.png and /dev/null 
differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/icons/240/about.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/icons/240/about.png 
b/tourdeflexmobile/src/assets/icons/240/about.png
deleted file mode 100644
index 6eaf08a..0000000
Binary files a/tourdeflexmobile/src/assets/icons/240/about.png and /dev/null 
differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/icons/240/add.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/icons/240/add.png 
b/tourdeflexmobile/src/assets/icons/240/add.png
deleted file mode 100644
index ad8ada6..0000000
Binary files a/tourdeflexmobile/src/assets/icons/240/add.png and /dev/null 
differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/icons/240/dock.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/icons/240/dock.png 
b/tourdeflexmobile/src/assets/icons/240/dock.png
deleted file mode 100644
index 37f3a93..0000000
Binary files a/tourdeflexmobile/src/assets/icons/240/dock.png and /dev/null 
differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/icons/320/about.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/icons/320/about.png 
b/tourdeflexmobile/src/assets/icons/320/about.png
deleted file mode 100644
index 4ee903f..0000000
Binary files a/tourdeflexmobile/src/assets/icons/320/about.png and /dev/null 
differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/icons/320/add.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/icons/320/add.png 
b/tourdeflexmobile/src/assets/icons/320/add.png
deleted file mode 100644
index 23b9a1c..0000000
Binary files a/tourdeflexmobile/src/assets/icons/320/add.png and /dev/null 
differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/icons/320/dock.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/icons/320/dock.png 
b/tourdeflexmobile/src/assets/icons/320/dock.png
deleted file mode 100644
index a749474..0000000
Binary files a/tourdeflexmobile/src/assets/icons/320/dock.png and /dev/null 
differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/images/bg.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/images/bg.png 
b/tourdeflexmobile/src/assets/images/bg.png
deleted file mode 100644
index e1613e5..0000000
Binary files a/tourdeflexmobile/src/assets/images/bg.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/images/box1.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/images/box1.png 
b/tourdeflexmobile/src/assets/images/box1.png
deleted file mode 100644
index 8c12918..0000000
Binary files a/tourdeflexmobile/src/assets/images/box1.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/images/box2.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/images/box2.png 
b/tourdeflexmobile/src/assets/images/box2.png
deleted file mode 100644
index bb45969..0000000
Binary files a/tourdeflexmobile/src/assets/images/box2.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/images/box3.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/images/box3.png 
b/tourdeflexmobile/src/assets/images/box3.png
deleted file mode 100644
index b5682da..0000000
Binary files a/tourdeflexmobile/src/assets/images/box3.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/assets/images/logo.png
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/assets/images/logo.png 
b/tourdeflexmobile/src/assets/images/logo.png
deleted file mode 100644
index 0278b81..0000000
Binary files a/tourdeflexmobile/src/assets/images/logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/AIRViews/AccelerometerView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/main/flex/AIRViews/AccelerometerView.mxml 
b/tourdeflexmobile/src/main/flex/AIRViews/AccelerometerView.mxml
new file mode 100644
index 0000000..fbb7c5b
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/AIRViews/AccelerometerView.mxml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+               xmlns:s="library://ns.adobe.com/flex/spark" 
title="Accelerometer" viewActivate="init()" viewDeactivate="deactivate(event)">
+       
+       <fx:Script>
+               <![CDATA[
+                       import flash.sensors.Accelerometer;
+                       
+                       import spark.events.ViewNavigatorEvent;
+
+                       private var ball:Sprite;
+                       private var accelerometer:Accelerometer;        
+                       private var xSpeed:Number = 0;
+                       private var ySpeed:Number = 0;
+                       private const RADIUS:Number = 20;
+                       
+                       private function init():void
+                       {
+                               stage.autoOrients = false;
+                               
+                               createBall();
+                               
+                               if (Accelerometer.isSupported)
+                               {
+                                       accelerometer = new Accelerometer();
+                                       
accelerometer.addEventListener(AccelerometerEvent.UPDATE, accUpdateHandler);
+                                       
stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
+                               }
+                       }
+                       
+                       private function createBall():void
+                       {       
+                               ball = new Sprite();
+                               ball.graphics.beginFill(0xFF0000);
+                               ball.graphics.drawCircle(0, 0, RADIUS);
+                               ball.cacheAsBitmap = true;
+                               ball.x = stage.stageWidth / 2;
+                               ball.y = stage.stageHeight / 2;
+                               container.addChild(ball);
+                       }
+                       
+                       private function enterFrameHandler(event:Event):void
+                       {
+                               event.stopPropagation();
+                               moveBall();
+                       }
+                       
+                       private function moveBall():void
+                       {
+                               var newX:Number = ball.x + xSpeed;
+                               var newY:Number = ball.y + ySpeed;
+                               
+                               if (newX < 20)
+                               {
+                                       ball.x = RADIUS;
+                                       xSpeed = 0;
+                               }
+                               
+                               else if (newX > stage.stageWidth - RADIUS)
+                               {
+                                       ball.x = stage.stageWidth - RADIUS;
+                                       xSpeed = 0;
+                               }
+                               
+                               else
+                               {
+                                       ball.x += xSpeed;
+                               }
+                               
+                               if (newY < RADIUS)
+                               {
+                                       ball.y = RADIUS;
+                                       ySpeed = 0;
+                               }
+                               
+                               else if (newY > this.height - RADIUS)
+                               {
+                                       ball.y = this.height - RADIUS;
+                                       ySpeed = 0;
+                               }
+                               
+                               else
+                               {
+                                       ball.y += ySpeed;
+                               }
+                       }
+                       
+                       private function 
accUpdateHandler(event:AccelerometerEvent):void
+                       {
+                               xSpeed -= event.accelerationX * 2;
+                               ySpeed += event.accelerationY * 2;
+                       }
+                       
+                       protected function 
deactivate(event:ViewNavigatorEvent):void
+                       {
+                               stage.autoOrients = true;
+                       }
+                       
+                       protected function buttonHandler(event:MouseEvent):void
+                       {
+                               if(currentState == "DemoState"){
+                                       currentState = "InfoState";             
                
+                               }else if(currentState == "InfoState"){
+                                       currentState = "DemoState";
+                               }
+                       }
+                       
+               ]]>
+       </fx:Script>
+       
+       <s:states>
+               <s:State name="DemoState"/>
+               <s:State name="InfoState"/>
+       </s:states>
+       
+       <fx:Declarations>
+               <s:MultiDPIBitmapSource id="aboutIcon" 
source160dpi="@Embed('/assets/icons/160/about.png')" 
source240dpi="@Embed('/assets/icons/240/about.png')" 
source320dpi="@Embed('/assets/icons/320/about.png')"/>
+               <s:MultiDPIBitmapSource id="demoIcon" 
source160dpi="@Embed('/assets/icons/160/dock.png')" 
source240dpi="@Embed('/assets/icons/240/dock.png')" 
source320dpi="@Embed('/assets/icons/320/dock.png')"/>
+       </fx:Declarations>
+
+       <s:SpriteVisualElement id="container" includeIn="DemoState"/>
+       
+       <s:TextArea includeIn="InfoState" 
skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" 
bottom="10" editable="false" text="The Accelerometer class dispatches events 
based on activity detected by the device's motion sensor. This data represents 
the device's location or movement along a 3-dimensional axis. When the device 
moves, the sensor detects this movement and returns acceleration data. The 
Accelerometer class provides methods to query whether or not accelerometer is 
supported, and also to set the rate at which acceleration events are dispatched.
+                               &#xd; &#xd;Note: Use the 
Accelerometer.isSupported property to test the runtime environment for the 
ability to use this feature. While the Accelerometer class and its members are 
accessible to the Runtime Versions listed for each API entry, the current 
environment for the runtime determines the availability of this feature. For 
example, you can compile code using the Accelerometer class properties for 
Flash Player 10.1, but you need to use the Accelerometer.isSupported property 
to test for the availability of the Accelerometer feature in the current 
deployment environment for the Flash Player runtime. If 
Accelerometer.isSupported is true at runtime, then Accelerometer support 
currently exists."/>
+       
+       <s:actionContent>
+               <s:Button click="buttonHandler(event)" 
icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
+       </s:actionContent>
+       
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/AIRViews/SQLiteView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/main/flex/AIRViews/SQLiteView.mxml 
b/tourdeflexmobile/src/main/flex/AIRViews/SQLiteView.mxml
new file mode 100644
index 0000000..035c72a
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/AIRViews/SQLiteView.mxml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+               xmlns:s="library://ns.adobe.com/flex/spark" title="SQLite" 
viewActivate="init(event)">
+       
+       <fx:Script>
+               <![CDATA[
+        import flash.data.SQLConnection;
+        import flash.data.SQLResult;
+        import flash.data.SQLStatement;
+        import flash.filesystem.File;
+
+        import mx.collections.ArrayCollection;
+
+                       import spark.events.ViewNavigatorEvent;
+
+                       public var conn:SQLConnection;
+                       public var db:File;
+                       private var myStatement:SQLStatement;
+                       private var myQuery:String;
+                       
+                       protected function init(event:ViewNavigatorEvent):void
+                       {
+                               db = 
File.applicationStorageDirectory.resolvePath("flex.db");
+                               conn = new SQLConnection();
+                               conn.addEventListener(SQLEvent.OPEN, 
openDatabaseHandler);
+                               conn.openAsync(db);
+                       }
+                       
+                       private function loadEntries():void{
+                               myStatement = new SQLStatement();
+                               myStatement.sqlConnection = conn;
+                               myStatement.addEventListener(SQLEvent.RESULT, 
openDatabaseResult);                              
+                               var myQuery:String = "SELECT * FROM items";     
                        
+                               myStatement.text = myQuery;
+                               myStatement.execute();
+                       }
+                       
+                       private function 
openDatabaseHandler(event:SQLEvent):void{
+                               myStatement = new SQLStatement();
+                               myStatement.sqlConnection = conn;
+                               myStatement.addEventListener(SQLEvent.RESULT, 
loadDatabaseResult);                              
+                               myQuery = "CREATE TABLE IF NOT EXISTS items (id 
INTEGER PRIMARY KEY, itemText TEXT)";
+                               myStatement.text = myQuery;
+                               myStatement.execute();
+                       }
+                       
+                       private function 
loadDatabaseResult(event:SQLEvent):void{
+                               loadEntries();
+                       }
+                       
+                       private function 
openDatabaseResult(event:SQLEvent):void{
+                               var itemsArray:Array = new Array();
+                               
+                               var result:SQLResult = myStatement.getResult();
+                               
+                               if(result.data != null){
+                                       for(var i:int = 0; 
i<result.data.length; i++){
+                                               
itemsArray.push({label:unescape(result.data[i].itemText)});                     
                
+                                       }
+                               }
+                                                       
+                               itemsCollection = new 
ArrayCollection(itemsArray);
+                               itemsList.dataProvider = itemsCollection;
+                       }
+                       
+                       private function 
modifyDatabaseResult(event:SQLEvent):void{
+                               loadEntries();
+                       }
+                       
+                       protected function addItemHandler():void
+                       {
+                               if(textInput.text != ""){
+                                       var myStatement:SQLStatement = new 
SQLStatement();
+                                       myStatement.sqlConnection = conn;
+                                       
myStatement.addEventListener(SQLEvent.RESULT, modifyDatabaseResult);
+                                       
+                                       var myQuery:String = "INSERT INTO items 
(itemText) VALUES ('"+textInput.text+"')";
+                                       
+                                       myStatement.text = myQuery;
+                                       myStatement.execute();
+                                       
+                                       textInput.text = "";
+                               }
+                       }
+                       
+                       protected function buttonHandler(event:MouseEvent):void
+                       {
+                               if(currentState == "DemoState"){
+                                       currentState = "InfoState";             
                
+                               }else if(currentState == "InfoState"){
+                                       currentState = "DemoState";
+                               }
+                       }
+                       
+               ]]>
+       </fx:Script>
+       
+       <s:states>
+               <s:State name="DemoState"/>
+               <s:State name="InfoState"/>
+       </s:states>
+       
+       <fx:Declarations>
+               <s:MultiDPIBitmapSource id="aboutIcon" 
source160dpi="@Embed('/assets/icons/160/about.png')" 
source240dpi="@Embed('/assets/icons/240/about.png')" 
source320dpi="@Embed('/assets/icons/320/about.png')"/>
+               <s:MultiDPIBitmapSource id="demoIcon" 
source160dpi="@Embed('/assets/icons/160/dock.png')" 
source240dpi="@Embed('/assets/icons/240/dock.png')" 
source320dpi="@Embed('/assets/icons/320/dock.png')"/>
+               <s:ArrayCollection id="itemsCollection"/>
+       </fx:Declarations>
+       
+       <s:TextInput id="textInput" includeIn="DemoState" 
enter="addItemHandler()" skinClass="spark.skins.mobile.TextInputSkin" y="10" 
left="5" right="60" height="40"/>
+       <s:Button label="Add" y="10" includeIn="DemoState" width="50" 
height="40" right="5" click="addItemHandler()"/>
+       
+       <s:List id="itemsList" includeIn="DemoState" width="100%" bottom="0" 
top="60"/>
+       
+       <s:TextArea includeIn="InfoState" 
skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" 
bottom="10" editable="false" text="A SQLConnection instance is used to manage 
the creation of and connection to local SQL database files (local databases).
+                               &#xd; &#xd;The functionality of the 
SQLConnection class falls into several categories:
+                               
+                               &#xd; &#xd;A local SQL database file is created 
or opened by calling the open() method or the SQLConnection instance to the 
SQLStatement's sqlConnection property.
+                               
+                               &#xd; &#xd;The SQLConnection class also 
provides state for SQL statements, including a mechanism for executing multiple 
statements in a transaction. Transactions are managed using the begin(), 
commit(), and rollback() methods. In addition, the setSavepoint(), 
releaseSavepoint(), and rollbackToSavepoint() methods allow code to define and 
manage savepoints. These are used to subdivide transactions into sets of 
operations.
+                               
+                               &#xd; &#xd;The SQLConnection class provides 
access to database schema information for connected databases. A database's 
schema describes the definitions of its tables, columns, indices, and triggers. 
See the loadSchema() method for more information.
+                               
+                               &#xd; &#xd;The SQLConnection class provides the 
ability to encrypt databases using AES with CCM. This provides both 
authentication and privacy for data. To encrypt a database, a 16 byte key 
(specified using a ByteArray) must be specified when the database is created. 
This key can later be changed using the SQLConnection.reencrypt() method. 
Encryption imposes a performance penalty on writes to and reads from the 
database. Encryption is applied to data stored on the disk, but not to a 
temporary data cache in memory. Encryption is not supported for in-memory 
databases.
+                               
+                               &#xd; &#xd;A SQLConnection instance can be used 
to receive database-level event notifications and provide configuration control 
for all aspects of a database, including cache page size, process canceling, 
and statement execution options.
+                               
+                               &#xd; &#xd;A SQLConnection instance operates in 
one of two distinct execution modes: asynchronous and synchronous. To use 
synchronous execution, you use the open() method to connect to the main 
database for the SQLConnection instance. To use asynchronous execution, use the 
openAsync() method to connect to the main database for the instance.
+                               
+                               &#xd; &#xd;When you're using asynchronous 
execution, you use event listeners or a Responder instance to determine when an 
operation completes or fails. The operations run in the background rather than 
in the main application thread, so the application continues to run and respond 
to user interaction even while the database operations are being performed. 
Each asynchronous SQLConnection instance executes SQL statements in its own 
thread.
+                               
+                               &#xd; &#xd;In asynchronous execution mode, you 
begin a specific operation by calling the appropriate method, and you can 
detect the completion (or failure) of the operation by registering a listener 
for the appropriate event. Each operation has an associated event that is 
dispatched when the operation completes successfully; for example, when an 
openAsync() method call completes successfully (when the database connection is 
opened) the open event is dispatched. When any operation fails, an error event 
is dispatched. The SQLError instance in the SQLErrorEvent object's error 
property contains information about the specific error, including the operation 
that was being attempted and the reason the operation failed.
+                               
+                               &#xd; &#xd;When you're using synchronous 
execution, you do not need to register event listeners to determine when an 
operation completes or fails. To identify errors, enclose the error-throwing 
statements in a try..catch block. Because synchronous operations execute in the 
main execution thread, all application functionality (including refreshing the 
screen and allowing mouse and keyboard interaction) is paused while the 
database operation or operations are performed. For long-running operations 
this can cause a noticeable pause in the application.."/>
+       
+       <s:actionContent>
+               <s:Button click="buttonHandler(event)" 
icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
+       </s:actionContent>
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/LayoutViews/AccordionLayoutView.mxml
----------------------------------------------------------------------
diff --git 
a/tourdeflexmobile/src/main/flex/LayoutViews/AccordionLayoutView.mxml 
b/tourdeflexmobile/src/main/flex/LayoutViews/AccordionLayoutView.mxml
new file mode 100644
index 0000000..a3e0156
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/LayoutViews/AccordionLayoutView.mxml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+               xmlns:s="library://ns.adobe.com/flex/spark" 
title="AccordionLayout" xmlns:ns="http://flex.apache.org/experimental/ns";>
+       
+       <fx:Script>
+               <![CDATA[
+                       import spark.primitives.BitmapImage;
+                       protected function buttonHandler(event:MouseEvent):void
+                       {
+                               var random:Number = Math.ceil(Math.random()*3);
+                               
+                               var bitmapImage:BitmapImage = new BitmapImage();
+                               bitmapImage.width =  150;
+                               bitmapImage.height = bitmapImage.width;
+                               bitmapImage.source = 
"assets/images/box"+random+".png";
+                               group.addElement(bitmapImage);
+                               
+                               group.verticalScrollPosition = 
group.contentHeight;
+                       }
+               ]]>
+       </fx:Script>
+       
+       
+       <s:actionContent>
+               <s:Button click="buttonHandler(event)">
+                       <s:icon>
+                               <s:MultiDPIBitmapSource 
source160dpi="@Embed('/assets/icons/160/add.png')" 
source240dpi="@Embed('/assets/icons/240/add.png')" 
source320dpi="@Embed('/assets/icons/320/add.png')" />
+                       </s:icon>
+               </s:Button>
+       </s:actionContent>
+                       
+       <s:Scroller id="scroller" width="200" height="200" horizontalCenter="0" 
verticalCenter="0">
+               <s:Group id="group">
+                       <s:layout>
+                               <ns:AccordionLayout useVirtualLayout="true" />
+                       </s:layout>
+               </s:Group>
+       </s:Scroller>
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/LayoutViews/CarouselLayoutView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/main/flex/LayoutViews/CarouselLayoutView.mxml 
b/tourdeflexmobile/src/main/flex/LayoutViews/CarouselLayoutView.mxml
new file mode 100644
index 0000000..de68785
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/LayoutViews/CarouselLayoutView.mxml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+               xmlns:s="library://ns.adobe.com/flex/spark" 
title="CarouselLayout" xmlns:ns="http://flex.apache.org/experimental/ns";>
+       
+       <fx:Script>
+               <![CDATA[
+                       import spark.primitives.BitmapImage;
+                       protected function buttonHandler(event:MouseEvent):void
+                       {
+                               var random:Number = Math.ceil(Math.random()*3);
+                               
+                               var bitmapImage:BitmapImage = new BitmapImage();
+                               bitmapImage.width =  
Math.ceil(Math.random()*150);
+                               bitmapImage.height = bitmapImage.width;
+                               bitmapImage.source = 
"assets/images/box"+random+".png";
+                               group.addElement(bitmapImage);
+                               
+                               group.verticalScrollPosition = 
group.contentHeight;
+                       }
+               ]]>
+       </fx:Script>
+       
+       
+       <s:actionContent>
+               <s:Button click="buttonHandler(event)">
+                       <s:icon>
+                               <s:MultiDPIBitmapSource 
source160dpi="@Embed('/assets/icons/160/add.png')" 
source240dpi="@Embed('/assets/icons/240/add.png')" 
source320dpi="@Embed('/assets/icons/320/add.png')" />
+                       </s:icon>
+               </s:Button>
+       </s:actionContent>
+                       
+       <s:Scroller id="scroller" width="100%" height="100%">
+               <s:Group id="group">
+                       <s:layout>
+                               <ns:CarouselLayout verticalAlign="middle" 
useVirtualLayout="true" />
+                       </s:layout>
+               </s:Group>
+       </s:Scroller>
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/LayoutViews/CoverFlowLayoutView.mxml
----------------------------------------------------------------------
diff --git 
a/tourdeflexmobile/src/main/flex/LayoutViews/CoverFlowLayoutView.mxml 
b/tourdeflexmobile/src/main/flex/LayoutViews/CoverFlowLayoutView.mxml
new file mode 100644
index 0000000..82a9469
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/LayoutViews/CoverFlowLayoutView.mxml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+               xmlns:s="library://ns.adobe.com/flex/spark" 
title="CoverFlowLayout" xmlns:ns="http://flex.apache.org/experimental/ns";>
+       
+       <fx:Script>
+               <![CDATA[
+                       import spark.primitives.BitmapImage;
+                       protected function buttonHandler(event:MouseEvent):void
+                       {
+                               var random:Number = Math.ceil(Math.random()*3);
+                               
+                               var bitmapImage:BitmapImage = new BitmapImage();
+                               bitmapImage.width =  
Math.ceil(Math.random()*150);
+                               bitmapImage.height = bitmapImage.width;
+                               bitmapImage.source = 
"assets/images/box"+random+".png";
+                               group.addElement(bitmapImage);
+                               
+                               group.verticalScrollPosition = 
group.contentHeight;
+                       }
+               ]]>
+       </fx:Script>
+       
+       
+       <s:actionContent>
+               <s:Button click="buttonHandler(event)">
+                       <s:icon>
+                               <s:MultiDPIBitmapSource 
source160dpi="@Embed('/assets/icons/160/add.png')" 
source240dpi="@Embed('/assets/icons/240/add.png')" 
source320dpi="@Embed('/assets/icons/320/add.png')" />
+                       </s:icon>
+               </s:Button>
+       </s:actionContent>
+                       
+       <s:Scroller id="scroller" width="100%" height="100%">
+               <s:Group id="group">
+                       <s:layout>
+                               <ns:CoverflowLayout verticalAlign="middle" 
duration="500" useVirtualLayout="true" />
+                       </s:layout>
+               </s:Group>
+       </s:Scroller>
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/LayoutViews/HorizontalLayoutView.mxml
----------------------------------------------------------------------
diff --git 
a/tourdeflexmobile/src/main/flex/LayoutViews/HorizontalLayoutView.mxml 
b/tourdeflexmobile/src/main/flex/LayoutViews/HorizontalLayoutView.mxml
new file mode 100644
index 0000000..efb1747
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/LayoutViews/HorizontalLayoutView.mxml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+               xmlns:s="library://ns.adobe.com/flex/spark" 
title="HorizontalLayout">
+       
+       <fx:Script>
+               <![CDATA[
+                       import spark.primitives.BitmapImage;
+                       protected function buttonHandler(event:MouseEvent):void
+                       {
+                               var random:Number = Math.ceil(Math.random()*3);
+                               
+                               var bitmapImage:BitmapImage = new BitmapImage();
+                               bitmapImage.width =  
Math.ceil(Math.random()*150);
+                               bitmapImage.height = bitmapImage.width;
+                               bitmapImage.source = 
"assets/images/box"+random+".png";
+                               group.addElement(bitmapImage);
+                               
+                               group.horizontalScrollPosition = 
group.contentWidth;
+                       }
+               ]]>
+       </fx:Script>
+       
+       
+       <s:actionContent>
+               <s:Button click="buttonHandler(event)">
+                       <s:icon>
+                               <s:MultiDPIBitmapSource 
source160dpi="@Embed('/assets/icons/160/add.png')" 
source240dpi="@Embed('/assets/icons/240/add.png')" 
source320dpi="@Embed('/assets/icons/320/add.png')" />
+                       </s:icon>
+               </s:Button>
+       </s:actionContent>
+                       
+       <s:Scroller id="scroller" width="100%" height="100%">
+               <s:Group id="group">
+                       <s:layout>
+                               <s:HorizontalLayout verticalAlign="middle" 
useVirtualLayout="true" />
+                       </s:layout>
+               </s:Group>
+       </s:Scroller>
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/LayoutViews/RolodexLayoutView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/main/flex/LayoutViews/RolodexLayoutView.mxml 
b/tourdeflexmobile/src/main/flex/LayoutViews/RolodexLayoutView.mxml
new file mode 100644
index 0000000..ba38a23
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/LayoutViews/RolodexLayoutView.mxml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+               xmlns:s="library://ns.adobe.com/flex/spark" 
title="RolodexLayout" xmlns:ns="http://flex.apache.org/experimental/ns";>
+       
+       <fx:Script>
+               <![CDATA[
+                       import spark.primitives.BitmapImage;
+                       protected function buttonHandler(event:MouseEvent):void
+                       {
+                               var random:Number = Math.ceil(Math.random()*3);
+                               
+                               var bitmapImage:BitmapImage = new BitmapImage();
+                               bitmapImage.width =  
Math.ceil(Math.random()*150);
+                               bitmapImage.height = bitmapImage.width;
+                               bitmapImage.source = 
"assets/images/box"+random+".png";
+                               group.addElement(bitmapImage);
+                               
+                               group.verticalScrollPosition = 
group.contentHeight;
+                       }
+               ]]>
+       </fx:Script>
+       
+       
+       <s:actionContent>
+               <s:Button click="buttonHandler(event)">
+                       <s:icon>
+                               <s:MultiDPIBitmapSource 
source160dpi="@Embed('/assets/icons/160/add.png')" 
source240dpi="@Embed('/assets/icons/240/add.png')" 
source320dpi="@Embed('/assets/icons/320/add.png')" />
+                       </s:icon>
+               </s:Button>
+       </s:actionContent>
+                       
+       <s:Scroller id="scroller" width="100%" height="100%">
+               <s:Group id="group">
+                       <s:layout>
+                               <ns:RolodexLayout horizontalAlign="center" 
useVirtualLayout="true" />
+                       </s:layout>
+               </s:Group>
+       </s:Scroller>
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/LayoutViews/StackLayoutView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/main/flex/LayoutViews/StackLayoutView.mxml 
b/tourdeflexmobile/src/main/flex/LayoutViews/StackLayoutView.mxml
new file mode 100644
index 0000000..4a59e4c
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/LayoutViews/StackLayoutView.mxml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+               xmlns:s="library://ns.adobe.com/flex/spark" title="StackLayout" 
xmlns:ns="http://flex.apache.org/experimental/ns";>
+       
+       <fx:Script>
+               <![CDATA[
+                       import spark.primitives.BitmapImage;
+                       protected function buttonHandler(event:MouseEvent):void
+                       {
+                               var random:Number = Math.ceil(Math.random()*3);
+                               
+                               var bitmapImage:BitmapImage = new BitmapImage();
+                               bitmapImage.width =  
Math.ceil(Math.random()*150);
+                               bitmapImage.height = bitmapImage.width;
+                               bitmapImage.source = 
"assets/images/box"+random+".png";
+                               group.addElement(bitmapImage);
+                               
+                               group.verticalScrollPosition = 
group.contentHeight;
+                       }
+               ]]>
+       </fx:Script>
+       
+       
+       <s:actionContent>
+               <s:Button click="buttonHandler(event)">
+                       <s:icon>
+                               <s:MultiDPIBitmapSource 
source160dpi="@Embed('/assets/icons/160/add.png')" 
source240dpi="@Embed('/assets/icons/240/add.png')" 
source320dpi="@Embed('/assets/icons/320/add.png')" />
+                       </s:icon>
+               </s:Button>
+       </s:actionContent>
+                       
+       <s:Scroller id="scroller" width="100%" height="100%">
+               <s:Group id="group">
+                       <s:layout>
+                               <ns:StackLayout verticalAlign="middle" 
useVirtualLayout="true" />
+                       </s:layout>
+               </s:Group>
+       </s:Scroller>
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/LayoutViews/TileLayoutView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/main/flex/LayoutViews/TileLayoutView.mxml 
b/tourdeflexmobile/src/main/flex/LayoutViews/TileLayoutView.mxml
new file mode 100644
index 0000000..e807728
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/LayoutViews/TileLayoutView.mxml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+               xmlns:s="library://ns.adobe.com/flex/spark" title="TileLayout">
+       
+       <fx:Script>
+               <![CDATA[
+                       import spark.primitives.BitmapImage;
+                       protected function buttonHandler(event:MouseEvent):void
+                       {
+                               var random:Number = Math.ceil(Math.random()*3);
+                               
+                               var miniGroup:Group = new Group();
+                               group.addElement(miniGroup);
+                               
+                               var bitmapImage:BitmapImage = new BitmapImage();
+                               bitmapImage.width =  
Math.ceil(Math.random()*100);
+                               bitmapImage.height = bitmapImage.width;
+                               bitmapImage.source = 
"assets/images/box"+random+".png";
+                               miniGroup.addElement(bitmapImage);
+                               
+                               //group.verticalScrollPosition = 
group.contentHeight;
+                       }
+               ]]>
+       </fx:Script>
+       
+       
+       <s:actionContent>
+               <s:Button click="buttonHandler(event)">
+                       <s:icon>
+                               <s:MultiDPIBitmapSource 
source160dpi="@Embed('/assets/icons/160/add.png')" 
source240dpi="@Embed('/assets/icons/240/add.png')" 
source320dpi="@Embed('/assets/icons/320/add.png')" />
+                       </s:icon>
+               </s:Button>
+       </s:actionContent>
+                       
+       <s:Scroller id="scroller" width="100%" height="100%">
+               <s:Group id="group">
+                       <s:layout>
+                               <s:TileLayout orientation="rows" 
columnWidth="100" rowHeight="100" useVirtualLayout="true" />
+                       </s:layout>
+               </s:Group>
+       </s:Scroller>
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/LayoutViews/TimeMachineLayoutView.mxml
----------------------------------------------------------------------
diff --git 
a/tourdeflexmobile/src/main/flex/LayoutViews/TimeMachineLayoutView.mxml 
b/tourdeflexmobile/src/main/flex/LayoutViews/TimeMachineLayoutView.mxml
new file mode 100644
index 0000000..476f16d
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/LayoutViews/TimeMachineLayoutView.mxml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+               xmlns:s="library://ns.adobe.com/flex/spark" 
title="TimeMachineLayout" xmlns:ns="http://flex.apache.org/experimental/ns";>
+       
+       <fx:Script>
+               <![CDATA[
+                       import spark.primitives.BitmapImage;
+                       protected function buttonHandler(event:MouseEvent):void
+                       {
+                               var random:Number = Math.ceil(Math.random()*3);
+                               
+                               var bitmapImage:BitmapImage = new BitmapImage();
+                               bitmapImage.width =  
Math.ceil(Math.random()*150);
+                               bitmapImage.height = bitmapImage.width;
+                               bitmapImage.source = 
"assets/images/box"+random+".png";
+                               group.addElement(bitmapImage);
+                               
+                               group.verticalScrollPosition = 
group.contentHeight;
+                       }
+               ]]>
+       </fx:Script>
+       
+       
+       <s:actionContent>
+               <s:Button click="buttonHandler(event)">
+                       <s:icon>
+                               <s:MultiDPIBitmapSource 
source160dpi="@Embed('/assets/icons/160/add.png')" 
source240dpi="@Embed('/assets/icons/240/add.png')" 
source320dpi="@Embed('/assets/icons/320/add.png')" />
+                       </s:icon>
+               </s:Button>
+       </s:actionContent>
+                       
+       <s:Scroller id="scroller" width="100%" height="100%">
+               <s:Group id="group">
+                       <s:layout>
+                               <ns:TimeMachineLayout verticalAlign="middle" 
useVirtualLayout="true" />
+                       </s:layout>
+               </s:Group>
+       </s:Scroller>
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/LayoutViews/VerticalLayoutView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/main/flex/LayoutViews/VerticalLayoutView.mxml 
b/tourdeflexmobile/src/main/flex/LayoutViews/VerticalLayoutView.mxml
new file mode 100644
index 0000000..72b7547
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/LayoutViews/VerticalLayoutView.mxml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+               xmlns:s="library://ns.adobe.com/flex/spark" 
title="VerticalLayout">
+       
+       <fx:Script>
+               <![CDATA[
+                       import spark.primitives.BitmapImage;
+                       protected function buttonHandler(event:MouseEvent):void
+                       {
+                               var random:Number = Math.ceil(Math.random()*3);
+                               
+                               var bitmapImage:BitmapImage = new BitmapImage();
+                               bitmapImage.width =  
Math.ceil(Math.random()*150);
+                               bitmapImage.height = bitmapImage.width;
+                               bitmapImage.source = 
"assets/images/box"+random+".png";
+                               group.addElement(bitmapImage);
+                               
+                               group.verticalScrollPosition = 
group.contentHeight;
+                       }
+               ]]>
+       </fx:Script>
+       
+       
+       <s:actionContent>
+               <s:Button click="buttonHandler(event)">
+                       <s:icon>
+                               <s:MultiDPIBitmapSource 
source160dpi="@Embed('/assets/icons/160/add.png')" 
source240dpi="@Embed('/assets/icons/240/add.png')" 
source320dpi="@Embed('/assets/icons/320/add.png')" />
+                       </s:icon>
+               </s:Button>
+       </s:actionContent>
+                       
+       <s:Scroller id="scroller" width="100%" height="100%">
+               <s:Group id="group">
+                       <s:layout>
+                               <s:VerticalLayout horizontalAlign="center" 
useVirtualLayout="true" />
+                       </s:layout>
+               </s:Group>
+       </s:Scroller>
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/TourDeFlexMobile.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/main/flex/TourDeFlexMobile.mxml 
b/tourdeflexmobile/src/main/flex/TourDeFlexMobile.mxml
new file mode 100644
index 0000000..b9faa1e
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/TourDeFlexMobile.mxml
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+
+<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+                                                       
xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="160" 
applicationComplete="init(event)">
+       
+       <fx:Style source="styles.css"/>
+       
+       <fx:Script>
+               <![CDATA[
+                       import mx.events.FlexEvent;
+                       
+                       import spark.events.IndexChangeEvent;
+                       
+                       import AIRViews.AccelerometerView;
+                       import AIRViews.SQLiteView;
+                       
+                       import LayoutViews.AccordionLayoutView;
+                       import LayoutViews.CarouselLayoutView;
+                       import LayoutViews.CoverFlowLayoutView;
+                       import LayoutViews.HorizontalLayoutView;
+                       import LayoutViews.RolodexLayoutView;
+                       import LayoutViews.TileLayoutView;
+                       import LayoutViews.TimeMachineLayoutView;
+                       import LayoutViews.VerticalLayoutView;
+                       
+                       import UIViews.ButtonBarView;
+                       import UIViews.CalloutButtonView;
+                       import UIViews.CheckboxView;
+                       import UIViews.DateSpinnerView;
+                       import UIViews.ListView;
+                       import UIViews.MobileGridView;
+                       import UIViews.RadiobuttonView;
+                       import UIViews.SpinnerListView;
+                       import UIViews.TextInputView;
+                       import UIViews.ToggleSwitchView;
+                       
+                       import views.HttpServiceView;
+                       
+                       private var isOpen:Boolean;     
+                       
+                       [Bindable]
+                       private var currentStageWidth:Number;
+               
+                       [Bindable]
+                       private var currentStageHeight:Number;
+                       
+                       protected function init(event:FlexEvent):void
+                       {
+                               stage.addEventListener(Event.RESIZE, 
orientationHandler);
+                               
+                               currentStageWidth = stage.stageWidth*-1;
+                               lateralMenu.x = currentStageWidth;
+                               currentStageHeight = navigator.height-45;
+                               lateralMenu.height = currentStageHeight;        
                
+                               lateralMenu.x = currentStageWidth;
+                               isOpen = false;
+                       }
+                       
+                       private function orientationHandler(event:Event):void{
+                               currentStageWidth = stage.stageWidth*-1;
+                               
+                               if(isOpen == false){
+                                       lateralMenu.x = currentStageWidth;
+                               }
+                               
+                               currentStageHeight = navigator.height-45;
+                               lateralMenu.height = currentStageHeight;        
+                               
+                               trace(lateralMenu.height);
+                       }
+                       
+                       protected function menuHandler(event:MouseEvent):void
+                       {
+                               
+                               if(isOpen == true){
+                                       moveOut.play();
+                                       isOpen = false;
+                               } else if(isOpen == false){
+                                       moveIn.play();
+                                       isOpen = true;
+                               }
+                       }
+                       
+                       protected function 
changeHandler(event:IndexChangeEvent):void
+                       {
+                               isOpen = false;
+                               moveOut.play();
+                               
+                               
navigator.pushView(componentsList.selectedItem.view);
+                       }
+                       
+                       protected function 
menuBackgroundHandler(event:MouseEvent):void
+                       {
+                               isOpen = false;
+                               moveOut.play();
+                       }
+                       
+               ]]>
+       </fx:Script>
+       
+       <fx:Declarations>
+               <s:Move id="moveIn" duration="200" target="{lateralMenu}" 
xTo="0"/>
+               <s:Move id="moveOut" duration="200" target="{lateralMenu}" 
xTo="{currentStageWidth}"/>
+       </fx:Declarations>
+       
+       <s:ViewNavigator id="navigator" firstView="views.BlogView" width="100%" 
height="100%">
+               <s:navigationContent>
+                       <s:Button icon="@Embed('/assets/images/logo.png')" 
height="35" width="77" label="Menu" click="menuHandler(event)"/>
+               </s:navigationContent>
+       </s:ViewNavigator>
+       
+       <s:Group id="lateralMenu" width="100%" y="45">
+               <s:Graphic width="100%" height="100%" 
click="menuBackgroundHandler(event)">
+                       <s:BitmapImage width="100%" height="100%" 
scaleMode="zoom" source="@Embed('/assets/images/bg.png')"/>
+               </s:Graphic>
+               
+               <s:List id="componentsList" 
itemRenderer="renderers.MenuRenderer" width="200" height="100%" 
change="changeHandler(event)" contentBackgroundColor="#000000">
+                       <s:ArrayList>
+                               <fx:Object label="UI Components" 
type="separator"/>                     
+                               <fx:Object label="ButtonBar" type="view" 
view="{ButtonBarView}"/>
+                               <fx:Object label="CalloutButton" type="view" 
view="{CalloutButtonView}"/>
+                               <fx:Object label="CheckBox" type="view" 
view="{CheckboxView}"/>
+                               <fx:Object label="DateSpinner" type="view" 
view="{DateSpinnerView}"/>
+                               <fx:Object label="List" type="view" 
view="{ListView}"/>
+                               <fx:Object label="MobileGrid" type="view" 
view="{MobileGridView}"/>
+                               <fx:Object label="RadioButton" type="view" 
view="{RadiobuttonView}"/>
+                               <fx:Object label="SpinnerList" type="view" 
view="{SpinnerListView}"/>
+                               <fx:Object label="TextInput" type="view" 
view="{TextInputView}"/>
+                               <fx:Object label="ToggleSwitch" type="view" 
view="{ToggleSwitchView}"/>
+                               
+                               <fx:Object label="Layouts" type="separator"/>   
                        
+                               <fx:Object label="HorizontalLayout" type="view" 
view="{HorizontalLayoutView}"/>
+                               <fx:Object label="VerticalLayout" type="view" 
view="{VerticalLayoutView}"/>
+                               <fx:Object label="TileLayout" type="view" 
view="{TileLayoutView}"/>
+                               <fx:Object label="CoverFlowLayout" type="view" 
view="{CoverFlowLayoutView}"/>
+                               <fx:Object label="TimeMachineLayout" 
type="view" view="{TimeMachineLayoutView}"/>
+                               <fx:Object label="RolodexLayout" type="view" 
view="{RolodexLayoutView}"/>
+                               <fx:Object label="CarouselLayout" type="view" 
view="{CarouselLayoutView}"/>
+                               <fx:Object label="AccordionLayout" type="view" 
view="{AccordionLayoutView}"/>
+                               <!-- <fx:Object label="StackLayout" type="view" 
view="{StackLayoutView}"/> -->
+                               
+                               <fx:Object label="AIR APIs" type="separator"/>  
                        
+                               <fx:Object label="SQLite" type="view" 
view="{SQLiteView}"/>
+                               <fx:Object label="Accelerometer" type="view" 
view="{AccelerometerView}"/>
+                               
+                               <fx:Object label="Data Access" 
type="separator"/>                       
+                               <fx:Object label="HTTPService" type="view" 
view="{HttpServiceView}"/>
+                       </s:ArrayList>
+               </s:List>
+       </s:Group>
+       
+       
+</s:Application>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/UIViews/ButtonBarView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/main/flex/UIViews/ButtonBarView.mxml 
b/tourdeflexmobile/src/main/flex/UIViews/ButtonBarView.mxml
new file mode 100644
index 0000000..0ed687a
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/UIViews/ButtonBarView.mxml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+               xmlns:s="library://ns.adobe.com/flex/spark" title="ButtonBar">
+       
+       <fx:Script>
+               <![CDATA[
+                       import spark.events.IndexChangeEvent;
+                       import spark.skins.mobile.TextAreaSkin;
+                       
+                       protected function 
buttonbarHandler(event:IndexChangeEvent):void
+                       {
+                               label.text = buttonbar.selectedItem.label + " 
Pressed.";
+                       }
+                       
+                       protected function buttonHandler(event:MouseEvent):void
+                       {
+                               if(currentState == "DemoState"){
+                                       currentState = "InfoState";             
                
+                               }else if(currentState == "InfoState"){
+                                       currentState = "DemoState";
+                               }
+                       }
+                       
+               ]]>
+       </fx:Script>
+       
+       <s:states>
+               <s:State name="DemoState"/>
+               <s:State name="InfoState"/>
+       </s:states>
+       
+       <fx:Declarations>
+               <s:MultiDPIBitmapSource id="aboutIcon" 
source160dpi="@Embed('/assets/icons/160/about.png')" 
source240dpi="@Embed('/assets/icons/240/about.png')" 
source320dpi="@Embed('/assets/icons/320/about.png')"/>
+               <s:MultiDPIBitmapSource id="demoIcon" 
source160dpi="@Embed('/assets/icons/160/dock.png')" 
source240dpi="@Embed('/assets/icons/240/dock.png')" 
source320dpi="@Embed('/assets/icons/320/dock.png')"/>
+       </fx:Declarations>
+       
+       <s:ButtonBar id="buttonbar" includeIn="DemoState" 
change="buttonbarHandler(event)" left="5" right="5" top="5">
+               <s:ArrayList>
+                       <fx:Object label="Button 1"/>
+                       <fx:Object label="Button 2"/>
+                       <fx:Object label="Button 3"/>
+               </s:ArrayList>
+       </s:ButtonBar>
+
+       <s:Label id="label" includeIn="DemoState" horizontalCenter="0" 
textAlign="center" bottom="20"/>
+       
+       <s:TextArea includeIn="InfoState" 
skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" 
bottom="10" editable="false" text="The ButtonBar control defines a horizontal 
group of logically related buttons with a common look and navigation.
+                               &#xd; &#xd;The typical use for a button bar is 
for grouping a set of related buttons together, which gives them a common look 
and navigation, and handling the logic for the change event in a single place.
+                               
+                               &#xd; &#xd;The ButtonBar control creates Button 
controls based on the value of its dataProvider property. Use methods such as 
addItem() and removeItem() to manipulate the dataProvider property to add and 
remove data items. The ButtonBar control automatically adds or removes the 
necessary children based on changes to the dataProvider property.
+                               
+                               &#xd; &#xd;To use this component in a 
list-based component, such as a List or DataGrid, create an item renderer. For 
information about creating an item renderer, see Custom Spark item renderers.
+                               
+                               &#xd; &#xd;For non-mobile projects, you can use 
the ButtonBar control to set the active child of a ViewStack container, as the 
following example shows:
+                               
+                               &#xd; &#xd;Note: The Spark list-based controls 
(the Spark ListBase class and its subclasses such as ButtonBar, ComboBox, 
DropDownList, List, and TabBar) do not support the BasicLayout class as the 
value of the layout property. Do not use BasicLayout with the Spark list-based 
controls."/>
+       
+       <s:actionContent>
+               <s:Button click="buttonHandler(event)" 
icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
+       </s:actionContent>
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/bc1ad766/tourdeflexmobile/src/main/flex/UIViews/CalloutButtonView.mxml
----------------------------------------------------------------------
diff --git a/tourdeflexmobile/src/main/flex/UIViews/CalloutButtonView.mxml 
b/tourdeflexmobile/src/main/flex/UIViews/CalloutButtonView.mxml
new file mode 100644
index 0000000..5f2faeb
--- /dev/null
+++ b/tourdeflexmobile/src/main/flex/UIViews/CalloutButtonView.mxml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+               xmlns:s="library://ns.adobe.com/flex/spark" 
title="CalloutButton">
+       
+       <fx:Script>
+               <![CDATA[
+                       import spark.skins.mobile.TextAreaSkin;
+                       protected function buttonHandler(event:MouseEvent):void
+                       {
+                               if(currentState == "DemoState"){
+                                       currentState = "InfoState";             
                
+                               }else if(currentState == "InfoState"){
+                                       currentState = "DemoState";
+                               }
+                       }
+               ]]>
+       </fx:Script>
+       
+       <s:states>
+               <s:State name="DemoState"/>
+               <s:State name="InfoState"/>
+       </s:states>
+       
+       <fx:Declarations>
+               <s:MultiDPIBitmapSource id="aboutIcon" 
source160dpi="@Embed('/assets/icons/160/about.png')" 
source240dpi="@Embed('/assets/icons/240/about.png')" 
source320dpi="@Embed('/assets/icons/320/about.png')"/>
+               <s:MultiDPIBitmapSource id="demoIcon" 
source160dpi="@Embed('/assets/icons/160/dock.png')" 
source240dpi="@Embed('/assets/icons/240/dock.png')" 
source320dpi="@Embed('/assets/icons/320/dock.png')"/>
+       </fx:Declarations>
+       
+       <s:CalloutButton label="CalloutButton" horizontalCenter="0" y="10">
+               <s:List>
+                       <s:ArrayList>
+                               <fx:Object label="Item 1"/>
+                               <fx:Object label="Item 2"/>
+                               <fx:Object label="Item 3"/>
+                               <fx:Object label="Item 4"/>
+                               <fx:Object label="Item 5"/>
+                       </s:ArrayList>
+               </s:List>
+       </s:CalloutButton>
+       
+       <s:TextArea includeIn="InfoState" 
skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" 
bottom="10" editable="false" text="The CalloutButton control is a drop down 
component that defines a button to open and close a Callout container. The 
CalloutButton specifies the layout and child components of the Callout 
container.
+                               
+                               &#xd; &#xd;The CalloutButton control uses the 
spark.components.supportClasses.DropDownController class to manage the Callout 
container. You can access the DropDownController by using the protected 
CalloutButton.dropDownController property.
+                               
+                               &#xd; &#xd;When the callout is open:
+                               
+                               &#xd; &#xd;Clicking the button closes the 
callout
+                               &#xd; &#xd;Clicking outside of the callout 
closes the callout."/>
+       
+       <s:actionContent>
+               <s:Button click="buttonHandler(event)" 
icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
+       </s:actionContent>
+       
+</s:View>

Reply via email to