You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2014/04/25 08:33:05 UTC

[23/42] TourDeFlex donation from Adobe Systems Inc

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/sample1.mxml.html
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/sample1.mxml.html b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/sample1.mxml.html
new file mode 100644
index 0000000..c1c03f0
--- /dev/null
+++ b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/sample1.mxml.html
@@ -0,0 +1,108 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- saved from url=(0014)about:internet -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>sample1.mxml</title>
+<link rel="stylesheet" type="text/css" href="../SourceStyles.css"/>
+</head>
+
+<body><pre><span class="MXMLProcessing_Instruction">&lt;?xml version="1.0" encoding="utf-8"?&gt;</span>
+<span class="MXMLComponent_Tag">&lt;s:WindowedApplication</span><span class="MXMLDefault_Text">    xmlns:fx="</span><span class="MXMLString">http://ns.adobe.com/mxml/2009</span><span class="MXMLDefault_Text">" 
+            xmlns:s="</span><span class="MXMLString">library://ns.adobe.com/flex/spark</span><span class="MXMLDefault_Text">" 
+            xmlns:mx="</span><span class="MXMLString">library://ns.adobe.com/flex/mx</span><span class="MXMLDefault_Text">"
+            currentState="</span><span class="MXMLString">START_STATE</span><span class="MXMLDefault_Text">" styleName="</span><span class="MXMLString">plain</span><span class="MXMLDefault_Text">" 
+            width="</span><span class="MXMLString">100%</span><span class="MXMLDefault_Text">" height="</span><span class="MXMLString">100%</span><span class="MXMLDefault_Text">" backgroundColor="</span><span class="MXMLString">0x000000</span><span class="MXMLDefault_Text">" horizontalCenter="</span><span class="MXMLString">0</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
+    
+    <span class="MXMLComment">&lt;!--</span><span class="MXMLComment"> Based on this sample: http://www.riaspace.net/2010/01/file-promises-with-adobe-air-2-0/ </span><span class="MXMLComment">--&gt;</span>
+    
+    <span class="MXMLSpecial_Tag">&lt;fx:Script&gt;</span>
+        &lt;![CDATA[
+            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">air</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">desktop</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">URLFilePromise</span>;
+            
+            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">events</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Event</span>;
+            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">events</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">MouseEvent</span>;
+            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">system</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Capabilities</span>;
+            
+            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">filePromise</span>:<span class="ActionScriptDefault_Text">URLFilePromise</span>;
+            
+            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">imgAirIcon_mouseDownHandler</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">MouseEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptComment">// Instantiating new file promise
+</span>                <span class="ActionScriptDefault_Text">filePromise</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">URLFilePromise</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptComment">// Registering OPEN event listener, to switch to 
+</span>                <span class="ActionScriptComment">// DOWNLOAD_STATE when downloading starts
+</span>                <span class="ActionScriptDefault_Text">filePromise</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addEventListener</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Event</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">OPEN</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">onOpen</span><span class="ActionScriptBracket/Brace">)</span>;
+                
+                <span class="ActionScriptComment">// Setting URLRequest pointing to remote file
+</span>                <span class="ActionScriptDefault_Text">filePromise</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">request</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">URLRequest</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">fileUrl</span><span class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptComment">// Setting relativePath with fileName to be saved locally
+</span>                <span class="ActionScriptDefault_Text">filePromise</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">relativePath</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">fileName</span>;
+                
+                <span class="ActionScriptComment">// Array of promises with single promise in this case
+</span>                <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">promises</span>:<span class="ActionScriptDefault_Text">Array</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Array</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptDefault_Text">promises</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">push</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">filePromise</span><span class="ActionScriptBracket/Brace">)</span>;
+                
+                <span class="ActionScriptComment">// Instantiating clipboard object pointing to the promise
+</span>                <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">clipboard</span>:<span class="ActionScriptDefault_Text">Clipboard</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Clipboard</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptDefault_Text">clipboard</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setData</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">ClipboardFormats</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">FILE_PROMISE_LIST_FORMAT</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">promises</span><span class="ActionScriptBracket/Brace">)</span>;
+                
+                <span class="ActionScriptComment">// Dragging with NativeDragManager
+</span>                <span class="ActionScriptDefault_Text">NativeDragManager</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">doDrag</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">imgAirIcon</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">clipboard</span><span class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+            
+            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onOpen</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">Event</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptDefault_Text">currentState</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptString">"DOWNLOAD_STATE"</span>;
+                <span class="ActionScriptDefault_Text">prgBar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">source</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">filePromise</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+            
+            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">fileUrl</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">String</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptComment">// Returns remote file URL based on current operating system
+</span>                <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Capabilities</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">os</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">search</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">/mac/i</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">&gt;</span> <span class="ActionScriptOperator">-</span>1<span class="ActionScriptBracket/Brace">)</span>
+                    <span class="ActionScriptReserved">return</span> <span class="ActionScriptString">"http://airdownload.adobe.com/air/mac/download/latest/AdobeAIR.dmg"</span>;
+                <span class="ActionScriptReserved">else</span> <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Capabilities</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">os</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">search</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">/win/i</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">&gt;</span> <span class="ActionScriptOperator">-</span>1<span class="ActionScriptBracket/Brace">)</span>
+                    <span class="ActionScriptReserved">return</span> <span class="ActionScriptString">"http://airdownload.adobe.com/air/win/download/latest/AdobeAIRInstaller.exe"</span>;
+                <span class="ActionScriptReserved">else</span> 
+                    <span class="ActionScriptReserved">return</span> <span class="ActionScriptString">"http://airdownload.adobe.com/air/lin/download/latest/AdobeAIRInstaller.bin"</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+            
+            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">fileName</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">String</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">fileUrl</span>:<span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">fileUrl</span>;
+                <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">fileUrl</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">slice</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">fileUrl</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">lastIndexOf</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"/"</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">+</span> 1<span class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+        <span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptOperator">&gt;</span>
+    <span class="MXMLSpecial_Tag">&lt;/fx:Script&gt;</span>
+    
+    <span class="MXMLSpecial_Tag">&lt;fx:Declarations&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;s:State</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">START_STATE</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;s:State</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">DOWNLOAD_STATE</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+    <span class="MXMLSpecial_Tag">&lt;/fx:Declarations&gt;</span>
+    
+    <span class="MXMLComponent_Tag">&lt;s:VGroup</span><span class="MXMLDefault_Text"> paddingLeft="</span><span class="MXMLString">100</span><span class="MXMLDefault_Text">" paddingTop="</span><span class="MXMLString">50</span><span class="MXMLDefault_Text">" horizontalAlign="</span><span class="MXMLString">center</span><span class="MXMLDefault_Text">" gap="</span><span class="MXMLString">15</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;mx:Image</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">imgAirIcon</span><span class="MXMLDefault_Text">" source="</span><span class="MXMLString">@Embed(source='adobe_air_logo.png')</span><span class="MXMLDefault_Text">" mouseDown="</span><span class="ActionScriptDefault_Text">imgAirIcon_mouseDownHandler</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span><span class="ActionScriptBracket/Brace">)</span><span class="MXMLDefault_Text">" toolTip="</span><span class="MXMLString">{</span><span class="ActionScriptDefault_Text">fileUrl</span><span class="MXMLString">}</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;s:Label</span><span class="MXMLDefault_Text"> text="</span><span class="MXMLString">(Drag out the icon to begin Adobe AIR download)</span><span class="MXMLDefault_Text">" color="</span><span class="MXMLString">0xFFFFFF</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;mx:ProgressBar</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">prgBar</span><span class="MXMLDefault_Text">" bottom="</span><span class="MXMLString">10</span><span class="MXMLDefault_Text">" horizontalCenter="</span><span class="MXMLString">0</span><span class="MXMLDefault_Text">"  visible="</span><span class="MXMLString">false</span><span class="MXMLDefault_Text">" visible.DOWNLOAD_STATE="</span><span class="MXMLString">true</span><span class="MXMLDefault_Text">" 
+                        label="</span><span class="MXMLString">Downloading {</span><span class="ActionScriptDefault_Text">int</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">prgBar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">percentComplete</span><span class="ActionScriptBracket/Brace">)</span><span class="MXMLString">}%</span><span class="MXMLDefault_Text">" color="</span><span class="MXMLString">0xFFFFFF</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+    <span class="MXMLComponent_Tag">&lt;/s:VGroup&gt;</span>
+        
+<span class="MXMLComponent_Tag">&lt;/s:WindowedApplication&gt;</span></pre></body>
+</html>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/Sample-AIR2-FilePromise/src/adobe_air_logo.png
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/Sample-AIR2-FilePromise/src/adobe_air_logo.png b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/Sample-AIR2-FilePromise/src/adobe_air_logo.png
new file mode 100755
index 0000000..8b6e306
Binary files /dev/null and b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/Sample-AIR2-FilePromise/src/adobe_air_logo.png differ

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/Sample-AIR2-FilePromise/src/sample1-app.xml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/Sample-AIR2-FilePromise/src/sample1-app.xml b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/Sample-AIR2-FilePromise/src/sample1-app.xml
new file mode 100755
index 0000000..09a53b3
--- /dev/null
+++ b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/Sample-AIR2-FilePromise/src/sample1-app.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!--
+
+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.
+
+-->
+<application xmlns="http://ns.adobe.com/air/application/2.0">
+
+<!-- Adobe AIR Application Descriptor File Template.
+
+	Specifies parameters for identifying, installing, and launching AIR applications.
+
+	xmlns - The Adobe AIR namespace: http://ns.adobe.com/air/application/1.5.3
+			The last segment of the namespace specifies the version 
+			of the AIR runtime required for this application to run.
+			
+	minimumPatchLevel - The minimum patch level of the AIR runtime required to run 
+			the application. Optional.
+-->
+
+	<!-- The application identifier string, unique to this application. Required. -->
+	<id>sample1</id>
+
+	<!-- Used as the filename for the application. Required. -->
+	<filename>sample1</filename>
+
+	<!-- The name that is displayed in the AIR application installer. 
+	     May have multiple values for each language. See samples or xsd schema file. Optional. -->
+	<name>sample1</name>
+
+	<!-- An application version designator (such as "v1", "2.5", or "Alpha 1"). Required. -->
+	<version>v1</version>
+
+	<!-- Description, displayed in the AIR application installer.
+	     May have multiple values for each language. See samples or xsd schema file. Optional. -->
+	<!-- <description></description> -->
+
+	<!-- Copyright information. Optional -->
+	<!-- <copyright></copyright> -->
+
+	<!-- Publisher ID. Used if you're updating an application created prior to 1.5.3 -->
+	<!-- <publisherID></publisherID> -->
+
+	<!-- Settings for the application's initial window. Required. -->
+	<initialWindow>
+		<!-- The main SWF or HTML file of the application. Required. -->
+		<!-- Note: In Flash Builder, the SWF reference is set automatically. -->
+		<content>[This value will be overwritten by Flash Builder in the output app.xml]</content>
+		
+		<!-- The title of the main window. Optional. -->
+		<!-- <title></title> -->
+
+		<!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. -->
+		<!-- <systemChrome></systemChrome> -->
+
+		<!-- Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. -->
+		<!-- <transparent></transparent> -->
+
+		<!-- Whether the window is initially visible. Optional. Default false. -->
+		<!-- <visible></visible> -->
+
+		<!-- Whether the user can minimize the window. Optional. Default true. -->
+		<!-- <minimizable></minimizable> -->
+
+		<!-- Whether the user can maximize the window. Optional. Default true. -->
+		<!-- <maximizable></maximizable> -->
+
+		<!-- Whether the user can resize the window. Optional. Default true. -->
+		<!-- <resizable></resizable> -->
+
+		<!-- The window's initial width. Optional. -->
+		<!-- <width></width> -->
+
+		<!-- The window's initial height. Optional. -->
+		<!-- <height></height> -->
+
+		<!-- The window's initial x position. Optional. -->
+		<!-- <x></x> -->
+
+		<!-- The window's initial y position. Optional. -->
+		<!-- <y></y> -->
+
+		<!-- The window's minimum size, specified as a width/height pair, such as "400 200". Optional. -->
+		<!-- <minSize></minSize> -->
+
+		<!-- The window's initial maximum size, specified as a width/height pair, such as "1600 1200". Optional. -->
+		<!-- <maxSize></maxSize> -->
+	</initialWindow>
+
+	<!-- The subpath of the standard default installation location to use. Optional. -->
+	<!-- <installFolder></installFolder> -->
+
+	<!-- The subpath of the Programs menu to use. (Ignored on operating systems without a Programs menu.) Optional. -->
+	<!-- <programMenuFolder></programMenuFolder> -->
+
+	<!-- The icon the system uses for the application. For at least one resolution,
+		 specify the path to a PNG file included in the AIR package. Optional. -->
+	<!-- <icon>
+		<image16x16></image16x16>
+		<image32x32></image32x32>
+		<image48x48></image48x48>
+		<image128x128></image128x128>
+	</icon> -->
+
+	<!-- Whether the application handles the update when a user double-clicks an update version
+	of the AIR file (true), or the default AIR application installer handles the update (false).
+	Optional. Default false. -->
+	<!-- <customUpdateUI></customUpdateUI> -->
+	
+	<!-- Whether the application can be launched when the user clicks a link in a web browser.
+	Optional. Default false. -->
+	<!-- <allowBrowserInvocation></allowBrowserInvocation> -->
+
+	<!-- Listing of file types for which the application can register. Optional. -->
+	<!-- <fileTypes> -->
+
+		<!-- Defines one file type. Optional. -->
+		<!-- <fileType> -->
+
+			<!-- The name that the system displays for the registered file type. Required. -->
+			<!-- <name></name> -->
+
+			<!-- The extension to register. Required. -->
+			<!-- <extension></extension> -->
+			
+			<!-- The description of the file type. Optional. -->
+			<!-- <description></description> -->
+			
+			<!-- The MIME content type. -->
+			<!-- <contentType></contentType> -->
+			
+			<!-- The icon to display for the file type. Optional. -->
+			<!-- <icon>
+				<image16x16></image16x16>
+				<image32x32></image32x32>
+				<image48x48></image48x48>
+				<image128x128></image128x128>
+			</icon> -->
+			
+		<!-- </fileType> -->
+	<!-- </fileTypes> -->
+
+</application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/Sample-AIR2-FilePromise/src/sample1.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/Sample-AIR2-FilePromise/src/sample1.mxml b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/Sample-AIR2-FilePromise/src/sample1.mxml
new file mode 100644
index 0000000..3a65e58
--- /dev/null
+++ b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/Sample-AIR2-FilePromise/src/sample1.mxml
@@ -0,0 +1,100 @@
+<?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.
+
+-->
+<mx:Module	xmlns:fx="http://ns.adobe.com/mxml/2009" 
+			xmlns:s="library://ns.adobe.com/flex/spark" 
+			xmlns:mx="library://ns.adobe.com/flex/mx"
+			currentState="START_STATE" styleName="plain" 
+			width="100%" height="100%" backgroundColor="0x000000" horizontalCenter="0">
+	
+	<!-- Based on this sample: http://www.riaspace.net/2010/01/file-promises-with-adobe-air-2-0/ -->
+	
+	<fx:Script>
+		<![CDATA[
+			import air.desktop.URLFilePromise;
+			
+			import flash.events.Event;
+			import flash.events.MouseEvent;
+			import flash.system.Capabilities;
+			
+			protected var filePromise:URLFilePromise;
+			
+			protected function imgAirIcon_mouseDownHandler(event:MouseEvent):void
+			{
+				// Instantiating new file promise
+				filePromise = new URLFilePromise();
+				// Registering OPEN event listener, to switch to 
+				// DOWNLOAD_STATE when downloading starts
+				filePromise.addEventListener(Event.OPEN, onOpen);
+				
+				// Setting URLRequest pointing to remote file
+				filePromise.request = new URLRequest(fileUrl);
+				// Setting relativePath with fileName to be saved locally
+				filePromise.relativePath = fileName;
+				
+				// Array of promises with single promise in this case
+				var promises:Array = new Array();
+				promises.push(filePromise);
+				
+				// Instantiating clipboard object pointing to the promise
+				var clipboard:Clipboard = new Clipboard();
+				clipboard.setData(ClipboardFormats.FILE_PROMISE_LIST_FORMAT, promises);
+				
+				// Dragging with NativeDragManager
+				NativeDragManager.doDrag(imgAirIcon, clipboard);
+			}
+			
+			protected function onOpen(event:Event):void
+			{
+				currentState = "DOWNLOAD_STATE";
+				prgBar.source = filePromise;
+			}
+			
+			protected function get fileUrl():String
+			{
+				// Returns remote file URL based on current operating system
+				if (Capabilities.os.search(/mac/i) > -1)
+					return "http://airdownload.adobe.com/air/mac/download/latest/AdobeAIR.dmg";
+				else if (Capabilities.os.search(/win/i) > -1)
+					return "http://airdownload.adobe.com/air/win/download/latest/AdobeAIRInstaller.exe";
+				else 
+					return "http://airdownload.adobe.com/air/lin/download/latest/AdobeAIRInstaller.bin";
+			}
+			
+			protected function get fileName():String
+			{
+				var fileUrl:String = fileUrl;
+				return fileUrl.slice(fileUrl.lastIndexOf("/") + 1);
+			}
+		]]>
+	</fx:Script>
+	
+	<fx:Declarations>
+		<s:State name="START_STATE"/>
+		<s:State name="DOWNLOAD_STATE"/>
+	</fx:Declarations>
+	
+	<s:VGroup paddingLeft="100" paddingTop="50" horizontalAlign="center" gap="15">
+		<mx:Image id="imgAirIcon" source="@Embed(source='adobe_air_logo.png')" mouseDown="imgAirIcon_mouseDownHandler(event)" toolTip="{fileUrl}" />
+		<s:Label text="(Drag out the icon to begin Adobe AIR download)" color="0xFFFFFF"/>
+		<mx:ProgressBar id="prgBar" bottom="10" horizontalCenter="0"  visible="false" visible.DOWNLOAD_STATE="true" 
+						label="Downloading {int(prgBar.percentComplete)}%" color="0xFFFFFF"/>
+	</s:VGroup>
+		
+</mx:Module>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/SourceIndex.xml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/SourceIndex.xml b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/SourceIndex.xml
new file mode 100644
index 0000000..f0c15f2
--- /dev/null
+++ b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/SourceIndex.xml
@@ -0,0 +1,35 @@
+<?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.
+
+-->
+<index>
+	<title>Source of Sample-AIR2-FilePromise</title>
+	<nodes>
+		<node label="libs">
+		</node>
+		<node label="src">
+			<node icon="imageIcon" label="adobe_air_logo.png" url="source/adobe_air_logo.png.html"/>
+			<node label="sample1-app.xml" url="source/sample1-app.xml.txt"/>
+			<node icon="mxmlAppIcon" selected="true" label="sample1.mxml" url="source/sample1.mxml.html"/>
+		</node>
+	</nodes>
+	<zipfile label="Download source (ZIP, 22K)" url="Sample-AIR2-FilePromise.zip">
+	</zipfile>
+	<sdklink label="Download Flex SDK" url="http://www.adobe.com/go/flex4_sdk_download">
+	</sdklink>
+</index>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/SourceStyles.css
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/SourceStyles.css b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/SourceStyles.css
new file mode 100644
index 0000000..9d5210f
--- /dev/null
+++ b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/SourceStyles.css
@@ -0,0 +1,155 @@
+/*
+ * 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.
+ */
+body {
+	font-family: Courier New, Courier, monospace;
+	font-size: medium;
+}
+
+.ActionScriptASDoc {
+	color: #3f5fbf;
+}
+
+.ActionScriptBracket/Brace {
+}
+
+.ActionScriptComment {
+	color: #009900;
+	font-style: italic;
+}
+
+.ActionScriptDefault_Text {
+}
+
+.ActionScriptMetadata {
+	color: #0033ff;
+	font-weight: bold;
+}
+
+.ActionScriptOperator {
+}
+
+.ActionScriptReserved {
+	color: #0033ff;
+	font-weight: bold;
+}
+
+.ActionScriptString {
+	color: #990000;
+	font-weight: bold;
+}
+
+.ActionScriptclass {
+	color: #9900cc;
+	font-weight: bold;
+}
+
+.ActionScriptfunction {
+	color: #339966;
+	font-weight: bold;
+}
+
+.ActionScriptinterface {
+	color: #9900cc;
+	font-weight: bold;
+}
+
+.ActionScriptpackage {
+	color: #9900cc;
+	font-weight: bold;
+}
+
+.ActionScripttrace {
+	color: #cc6666;
+	font-weight: bold;
+}
+
+.ActionScriptvar {
+	color: #6699cc;
+	font-weight: bold;
+}
+
+.MXMLASDoc {
+	color: #3f5fbf;
+}
+
+.MXMLComment {
+	color: #800000;
+}
+
+.MXMLComponent_Tag {
+	color: #0000ff;
+}
+
+.MXMLDefault_Text {
+}
+
+.MXMLProcessing_Instruction {
+}
+
+.MXMLSpecial_Tag {
+	color: #006633;
+}
+
+.MXMLString {
+	color: #990000;
+}
+
+.CSS@font-face {
+	color: #990000;
+	font-weight: bold;
+}
+
+.CSS@import {
+	color: #006666;
+	font-weight: bold;
+}
+
+.CSS@media {
+	color: #663333;
+	font-weight: bold;
+}
+
+.CSS@namespace {
+	color: #923196;
+}
+
+.CSSComment {
+	color: #999999;
+}
+
+.CSSDefault_Text {
+}
+
+.CSSDelimiters {
+}
+
+.CSSProperty_Name {
+	color: #330099;
+}
+
+.CSSProperty_Value {
+	color: #3333cc;
+}
+
+.CSSSelector {
+	color: #ff00ff;
+}
+
+.CSSString {
+	color: #990000;
+}
+

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/SourceTree.html
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/SourceTree.html b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/SourceTree.html
new file mode 100644
index 0000000..80281a9
--- /dev/null
+++ b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/SourceTree.html
@@ -0,0 +1,129 @@
+<!--
+  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.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">	
+    <!-- 
+    Smart developers always View Source. 
+    
+    This application was built using Adobe Flex, an open source framework
+    for building rich Internet applications that get delivered via the
+    Flash Player or to desktops via Adobe AIR. 
+    
+    Learn more about Flex at http://flex.org 
+    // -->
+    <head>
+        <title></title>         
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<!-- Include CSS to eliminate any default margins/padding and set the height of the html element and 
+		     the body element to 100%, because Firefox, or any Gecko based browser, interprets percentage as 
+			 the percentage of the height of its parent container, which has to be set explicitly.  Initially, 
+			 don't display flashContent div so it won't show if JavaScript disabled.
+		-->
+        <style type="text/css" media="screen"> 
+			html, body	{ height:100%; }
+			body { margin:0; padding:0; overflow:auto; text-align:center; 
+			       background-color: #ffffff; }   
+			#flashContent { display:none; }
+        </style>
+		
+		<!-- Enable Browser History by replacing useBrowserHistory tokens with two hyphens -->
+        <!-- BEGIN Browser History required section >
+        <link rel="stylesheet" type="text/css" href="history/history.css" />
+        <script type="text/javascript" src="history/history.js"></script>
+        <! END Browser History required section -->  
+		    
+        <script type="text/javascript" src="swfobject.js"></script>
+        <script type="text/javascript">
+  	        function loadIntoMain(url) {
+				parent.mainFrame.location.href = url;
+			}
+			
+			function openUrlWindow(url) {
+				window.top.location = url;
+			}
+			
+            <!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. --> 
+            var swfVersionStr = "10.0.0";
+            <!-- To use express install, set to playerProductInstall.swf, otherwise the empty string. -->
+            var xiSwfUrlStr = "playerProductInstall.swf";
+            var flashvars = {};
+            var params = {};
+            params.quality = "high";
+            params.bgcolor = "#ffffff";
+            params.allowscriptaccess = "sameDomain";
+            params.allowfullscreen = "true";
+            var attributes = {};
+            attributes.id = "SourceTree";
+            attributes.name = "SourceTree";
+            attributes.align = "middle";
+            swfobject.embedSWF(
+                "SourceTree.swf", "flashContent", 
+                "100%", "100%", 
+                swfVersionStr, xiSwfUrlStr, 
+                flashvars, params, attributes);
+			<!-- JavaScript enabled so display the flashContent div in case it is not replaced with a swf object. -->
+			swfobject.createCSS("#flashContent", "display:block;text-align:left;");
+        </script>
+    </head>
+    <body>
+        <!-- SWFObject's dynamic embed method replaces this alternative HTML content with Flash content when enough 
+			 JavaScript and Flash plug-in support is available. The div is initially hidden so that it doesn't show
+			 when JavaScript is disabled.
+		-->
+        <div id="flashContent">
+        	<p>
+	        	To view this page ensure that Adobe Flash Player version 
+				10.0.0 or greater is installed. 
+			</p>
+			<script type="text/javascript"> 
+				var pageHost = ((document.location.protocol == "https:") ? "https://" :	"http://"); 
+				document.write("<a href='http://www.adobe.com/go/getflashplayer'><img src='" 
+								+ pageHost + "www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a>" ); 
+			</script> 
+        </div>
+	   	
+       	<noscript>
+            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%" id="SourceTree">
+                <param name="movie" value="SourceTree.swf" />
+                <param name="quality" value="high" />
+                <param name="bgcolor" value="#ffffff" />
+                <param name="allowScriptAccess" value="sameDomain" />
+                <param name="allowFullScreen" value="true" />
+                <!--[if !IE]>-->
+                <object type="application/x-shockwave-flash" data="SourceTree.swf" width="100%" height="100%">
+                    <param name="quality" value="high" />
+                    <param name="bgcolor" value="#ffffff" />
+                    <param name="allowScriptAccess" value="sameDomain" />
+                    <param name="allowFullScreen" value="true" />
+                <!--<![endif]-->
+                <!--[if gte IE 6]>-->
+                	<p> 
+                		Either scripts and active content are not permitted to run or Adobe Flash Player version
+                		10.0.0 or greater is not installed.
+                	</p>
+                <!--<![endif]-->
+                    <a href="http://www.adobe.com/go/getflashplayer">
+                        <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash Player" />
+                    </a>
+                <!--[if !IE]>-->
+                </object>
+                <!--<![endif]-->
+            </object>
+	    </noscript>		
+   </body>
+</html>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/index.html
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/index.html b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/index.html
new file mode 100644
index 0000000..6303cd6
--- /dev/null
+++ b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/index.html
@@ -0,0 +1,32 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- saved from url=(0014)about:internet -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Source of Sample-AIR2-FilePromise</title>
+</head>
+<frameset cols="235,*" border="2" framespacing="1">
+    <frame src="SourceTree.html" name="leftFrame" scrolling="NO">
+    <frame src="source/sample1.mxml.html" name="mainFrame">
+</frameset>
+<noframes>
+	<body>		
+	</body>
+</noframes>
+</html>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/source/adobe_air_logo.png.html
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/source/adobe_air_logo.png.html b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/source/adobe_air_logo.png.html
new file mode 100644
index 0000000..45e854f
--- /dev/null
+++ b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/source/adobe_air_logo.png.html
@@ -0,0 +1,28 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- saved from url=(0014)about:internet -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+<title>adobe_air_logo.png</title>
+</head>
+
+<body>
+<img src="adobe_air_logo.png" border="0"/>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/source/sample1-app.xml.txt
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/source/sample1-app.xml.txt b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/source/sample1-app.xml.txt
new file mode 100644
index 0000000..09a53b3
--- /dev/null
+++ b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/source/sample1-app.xml.txt
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!--
+
+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.
+
+-->
+<application xmlns="http://ns.adobe.com/air/application/2.0">
+
+<!-- Adobe AIR Application Descriptor File Template.
+
+	Specifies parameters for identifying, installing, and launching AIR applications.
+
+	xmlns - The Adobe AIR namespace: http://ns.adobe.com/air/application/1.5.3
+			The last segment of the namespace specifies the version 
+			of the AIR runtime required for this application to run.
+			
+	minimumPatchLevel - The minimum patch level of the AIR runtime required to run 
+			the application. Optional.
+-->
+
+	<!-- The application identifier string, unique to this application. Required. -->
+	<id>sample1</id>
+
+	<!-- Used as the filename for the application. Required. -->
+	<filename>sample1</filename>
+
+	<!-- The name that is displayed in the AIR application installer. 
+	     May have multiple values for each language. See samples or xsd schema file. Optional. -->
+	<name>sample1</name>
+
+	<!-- An application version designator (such as "v1", "2.5", or "Alpha 1"). Required. -->
+	<version>v1</version>
+
+	<!-- Description, displayed in the AIR application installer.
+	     May have multiple values for each language. See samples or xsd schema file. Optional. -->
+	<!-- <description></description> -->
+
+	<!-- Copyright information. Optional -->
+	<!-- <copyright></copyright> -->
+
+	<!-- Publisher ID. Used if you're updating an application created prior to 1.5.3 -->
+	<!-- <publisherID></publisherID> -->
+
+	<!-- Settings for the application's initial window. Required. -->
+	<initialWindow>
+		<!-- The main SWF or HTML file of the application. Required. -->
+		<!-- Note: In Flash Builder, the SWF reference is set automatically. -->
+		<content>[This value will be overwritten by Flash Builder in the output app.xml]</content>
+		
+		<!-- The title of the main window. Optional. -->
+		<!-- <title></title> -->
+
+		<!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. -->
+		<!-- <systemChrome></systemChrome> -->
+
+		<!-- Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. -->
+		<!-- <transparent></transparent> -->
+
+		<!-- Whether the window is initially visible. Optional. Default false. -->
+		<!-- <visible></visible> -->
+
+		<!-- Whether the user can minimize the window. Optional. Default true. -->
+		<!-- <minimizable></minimizable> -->
+
+		<!-- Whether the user can maximize the window. Optional. Default true. -->
+		<!-- <maximizable></maximizable> -->
+
+		<!-- Whether the user can resize the window. Optional. Default true. -->
+		<!-- <resizable></resizable> -->
+
+		<!-- The window's initial width. Optional. -->
+		<!-- <width></width> -->
+
+		<!-- The window's initial height. Optional. -->
+		<!-- <height></height> -->
+
+		<!-- The window's initial x position. Optional. -->
+		<!-- <x></x> -->
+
+		<!-- The window's initial y position. Optional. -->
+		<!-- <y></y> -->
+
+		<!-- The window's minimum size, specified as a width/height pair, such as "400 200". Optional. -->
+		<!-- <minSize></minSize> -->
+
+		<!-- The window's initial maximum size, specified as a width/height pair, such as "1600 1200". Optional. -->
+		<!-- <maxSize></maxSize> -->
+	</initialWindow>
+
+	<!-- The subpath of the standard default installation location to use. Optional. -->
+	<!-- <installFolder></installFolder> -->
+
+	<!-- The subpath of the Programs menu to use. (Ignored on operating systems without a Programs menu.) Optional. -->
+	<!-- <programMenuFolder></programMenuFolder> -->
+
+	<!-- The icon the system uses for the application. For at least one resolution,
+		 specify the path to a PNG file included in the AIR package. Optional. -->
+	<!-- <icon>
+		<image16x16></image16x16>
+		<image32x32></image32x32>
+		<image48x48></image48x48>
+		<image128x128></image128x128>
+	</icon> -->
+
+	<!-- Whether the application handles the update when a user double-clicks an update version
+	of the AIR file (true), or the default AIR application installer handles the update (false).
+	Optional. Default false. -->
+	<!-- <customUpdateUI></customUpdateUI> -->
+	
+	<!-- Whether the application can be launched when the user clicks a link in a web browser.
+	Optional. Default false. -->
+	<!-- <allowBrowserInvocation></allowBrowserInvocation> -->
+
+	<!-- Listing of file types for which the application can register. Optional. -->
+	<!-- <fileTypes> -->
+
+		<!-- Defines one file type. Optional. -->
+		<!-- <fileType> -->
+
+			<!-- The name that the system displays for the registered file type. Required. -->
+			<!-- <name></name> -->
+
+			<!-- The extension to register. Required. -->
+			<!-- <extension></extension> -->
+			
+			<!-- The description of the file type. Optional. -->
+			<!-- <description></description> -->
+			
+			<!-- The MIME content type. -->
+			<!-- <contentType></contentType> -->
+			
+			<!-- The icon to display for the file type. Optional. -->
+			<!-- <icon>
+				<image16x16></image16x16>
+				<image32x32></image32x32>
+				<image48x48></image48x48>
+				<image128x128></image128x128>
+			</icon> -->
+			
+		<!-- </fileType> -->
+	<!-- </fileTypes> -->
+
+</application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/source/sample1.mxml.html
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/source/sample1.mxml.html b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/source/sample1.mxml.html
new file mode 100644
index 0000000..c1c03f0
--- /dev/null
+++ b/TourDeFlex/TourDeFlex/src/objects/AIR20/FilePromise/srcview/source/sample1.mxml.html
@@ -0,0 +1,108 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- saved from url=(0014)about:internet -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>sample1.mxml</title>
+<link rel="stylesheet" type="text/css" href="../SourceStyles.css"/>
+</head>
+
+<body><pre><span class="MXMLProcessing_Instruction">&lt;?xml version="1.0" encoding="utf-8"?&gt;</span>
+<span class="MXMLComponent_Tag">&lt;s:WindowedApplication</span><span class="MXMLDefault_Text">    xmlns:fx="</span><span class="MXMLString">http://ns.adobe.com/mxml/2009</span><span class="MXMLDefault_Text">" 
+            xmlns:s="</span><span class="MXMLString">library://ns.adobe.com/flex/spark</span><span class="MXMLDefault_Text">" 
+            xmlns:mx="</span><span class="MXMLString">library://ns.adobe.com/flex/mx</span><span class="MXMLDefault_Text">"
+            currentState="</span><span class="MXMLString">START_STATE</span><span class="MXMLDefault_Text">" styleName="</span><span class="MXMLString">plain</span><span class="MXMLDefault_Text">" 
+            width="</span><span class="MXMLString">100%</span><span class="MXMLDefault_Text">" height="</span><span class="MXMLString">100%</span><span class="MXMLDefault_Text">" backgroundColor="</span><span class="MXMLString">0x000000</span><span class="MXMLDefault_Text">" horizontalCenter="</span><span class="MXMLString">0</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
+    
+    <span class="MXMLComment">&lt;!--</span><span class="MXMLComment"> Based on this sample: http://www.riaspace.net/2010/01/file-promises-with-adobe-air-2-0/ </span><span class="MXMLComment">--&gt;</span>
+    
+    <span class="MXMLSpecial_Tag">&lt;fx:Script&gt;</span>
+        &lt;![CDATA[
+            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">air</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">desktop</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">URLFilePromise</span>;
+            
+            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">events</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Event</span>;
+            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">events</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">MouseEvent</span>;
+            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">system</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Capabilities</span>;
+            
+            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">filePromise</span>:<span class="ActionScriptDefault_Text">URLFilePromise</span>;
+            
+            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">imgAirIcon_mouseDownHandler</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">MouseEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptComment">// Instantiating new file promise
+</span>                <span class="ActionScriptDefault_Text">filePromise</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">URLFilePromise</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptComment">// Registering OPEN event listener, to switch to 
+</span>                <span class="ActionScriptComment">// DOWNLOAD_STATE when downloading starts
+</span>                <span class="ActionScriptDefault_Text">filePromise</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addEventListener</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Event</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">OPEN</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">onOpen</span><span class="ActionScriptBracket/Brace">)</span>;
+                
+                <span class="ActionScriptComment">// Setting URLRequest pointing to remote file
+</span>                <span class="ActionScriptDefault_Text">filePromise</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">request</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">URLRequest</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">fileUrl</span><span class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptComment">// Setting relativePath with fileName to be saved locally
+</span>                <span class="ActionScriptDefault_Text">filePromise</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">relativePath</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">fileName</span>;
+                
+                <span class="ActionScriptComment">// Array of promises with single promise in this case
+</span>                <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">promises</span>:<span class="ActionScriptDefault_Text">Array</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Array</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptDefault_Text">promises</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">push</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">filePromise</span><span class="ActionScriptBracket/Brace">)</span>;
+                
+                <span class="ActionScriptComment">// Instantiating clipboard object pointing to the promise
+</span>                <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">clipboard</span>:<span class="ActionScriptDefault_Text">Clipboard</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Clipboard</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptDefault_Text">clipboard</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setData</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">ClipboardFormats</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">FILE_PROMISE_LIST_FORMAT</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">promises</span><span class="ActionScriptBracket/Brace">)</span>;
+                
+                <span class="ActionScriptComment">// Dragging with NativeDragManager
+</span>                <span class="ActionScriptDefault_Text">NativeDragManager</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">doDrag</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">imgAirIcon</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">clipboard</span><span class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+            
+            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onOpen</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">Event</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptDefault_Text">currentState</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptString">"DOWNLOAD_STATE"</span>;
+                <span class="ActionScriptDefault_Text">prgBar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">source</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">filePromise</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+            
+            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">fileUrl</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">String</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptComment">// Returns remote file URL based on current operating system
+</span>                <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Capabilities</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">os</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">search</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">/mac/i</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">&gt;</span> <span class="ActionScriptOperator">-</span>1<span class="ActionScriptBracket/Brace">)</span>
+                    <span class="ActionScriptReserved">return</span> <span class="ActionScriptString">"http://airdownload.adobe.com/air/mac/download/latest/AdobeAIR.dmg"</span>;
+                <span class="ActionScriptReserved">else</span> <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Capabilities</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">os</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">search</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">/win/i</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">&gt;</span> <span class="ActionScriptOperator">-</span>1<span class="ActionScriptBracket/Brace">)</span>
+                    <span class="ActionScriptReserved">return</span> <span class="ActionScriptString">"http://airdownload.adobe.com/air/win/download/latest/AdobeAIRInstaller.exe"</span>;
+                <span class="ActionScriptReserved">else</span> 
+                    <span class="ActionScriptReserved">return</span> <span class="ActionScriptString">"http://airdownload.adobe.com/air/lin/download/latest/AdobeAIRInstaller.bin"</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+            
+            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">fileName</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">String</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">fileUrl</span>:<span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">fileUrl</span>;
+                <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">fileUrl</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">slice</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">fileUrl</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">lastIndexOf</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"/"</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">+</span> 1<span class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+        <span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptOperator">&gt;</span>
+    <span class="MXMLSpecial_Tag">&lt;/fx:Script&gt;</span>
+    
+    <span class="MXMLSpecial_Tag">&lt;fx:Declarations&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;s:State</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">START_STATE</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;s:State</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">DOWNLOAD_STATE</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+    <span class="MXMLSpecial_Tag">&lt;/fx:Declarations&gt;</span>
+    
+    <span class="MXMLComponent_Tag">&lt;s:VGroup</span><span class="MXMLDefault_Text"> paddingLeft="</span><span class="MXMLString">100</span><span class="MXMLDefault_Text">" paddingTop="</span><span class="MXMLString">50</span><span class="MXMLDefault_Text">" horizontalAlign="</span><span class="MXMLString">center</span><span class="MXMLDefault_Text">" gap="</span><span class="MXMLString">15</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;mx:Image</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">imgAirIcon</span><span class="MXMLDefault_Text">" source="</span><span class="MXMLString">@Embed(source='adobe_air_logo.png')</span><span class="MXMLDefault_Text">" mouseDown="</span><span class="ActionScriptDefault_Text">imgAirIcon_mouseDownHandler</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span><span class="ActionScriptBracket/Brace">)</span><span class="MXMLDefault_Text">" toolTip="</span><span class="MXMLString">{</span><span class="ActionScriptDefault_Text">fileUrl</span><span class="MXMLString">}</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;s:Label</span><span class="MXMLDefault_Text"> text="</span><span class="MXMLString">(Drag out the icon to begin Adobe AIR download)</span><span class="MXMLDefault_Text">" color="</span><span class="MXMLString">0xFFFFFF</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;mx:ProgressBar</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">prgBar</span><span class="MXMLDefault_Text">" bottom="</span><span class="MXMLString">10</span><span class="MXMLDefault_Text">" horizontalCenter="</span><span class="MXMLString">0</span><span class="MXMLDefault_Text">"  visible="</span><span class="MXMLString">false</span><span class="MXMLDefault_Text">" visible.DOWNLOAD_STATE="</span><span class="MXMLString">true</span><span class="MXMLDefault_Text">" 
+                        label="</span><span class="MXMLString">Downloading {</span><span class="ActionScriptDefault_Text">int</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">prgBar</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">percentComplete</span><span class="ActionScriptBracket/Brace">)</span><span class="MXMLString">}%</span><span class="MXMLDefault_Text">" color="</span><span class="MXMLString">0xFFFFFF</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+    <span class="MXMLComponent_Tag">&lt;/s:VGroup&gt;</span>
+        
+<span class="MXMLComponent_Tag">&lt;/s:WindowedApplication&gt;</span></pre></body>
+</html>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex/src/objects/AIR20/Gestures/TDFPanelSkin.mxml.html
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex/src/objects/AIR20/Gestures/TDFPanelSkin.mxml.html b/TourDeFlex/TourDeFlex/src/objects/AIR20/Gestures/TDFPanelSkin.mxml.html
new file mode 100644
index 0000000..fbb0bfb
--- /dev/null
+++ b/TourDeFlex/TourDeFlex/src/objects/AIR20/Gestures/TDFPanelSkin.mxml.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+  <meta http-equiv="Content-Style-Type" content="text/css">
+  <title>TDFPanelSkin.mxml</title>
+  <meta name="Generator" content="Cocoa HTML Writer">
+  <meta name="CocoaVersion" content="1187.4">
+  <style type="text/css">
+    p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Courier}
+    p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #941100}
+    p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px}
+    p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Courier; min-height: 14.0px}
+  </style>
+</head>
+<body>
+<p class="p1">&lt;?xml version="1.0" encoding="utf-8"?&gt;</p>
+<p class="p2">&lt;!--</p>
+<p class="p3"><br></p>
+<p class="p2">Licensed to the Apache Software Foundation (ASF) under one or more</p>
+<p class="p2">contributor license agreements.<span class="Apple-converted-space">  </span>See the NOTICE file distributed with</p>
+<p class="p2">this work for additional information regarding copyright ownership.</p>
+<p class="p2">The ASF licenses this file to You under the Apache License, Version 2.0</p>
+<p class="p2">(the "License"); you may not use this file except in compliance with</p>
+<p class="p2">the License.<span class="Apple-converted-space">  </span>You may obtain a copy of the License at</p>
+<p class="p3"><br></p>
+<p class="p2">http://www.apache.org/licenses/LICENSE-2.0</p>
+<p class="p3"><br></p>
+<p class="p2">Unless required by applicable law or agreed to in writing, software</p>
+<p class="p2">distributed under the License is distributed on an "AS IS" BASIS,</p>
+<p class="p2">WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</p>
+<p class="p2">See the License for the specific language governing permissions and</p>
+<p class="p2">limitations under the License.</p>
+<p class="p3"><br></p>
+<p class="p2">--&gt;</p>
+<p class="p1">&lt;s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"<span class="Apple-converted-space"> </span></p>
+<p class="p1"><span class="Apple-converted-space">        </span>alpha.disabled="0.5" minWidth="131" minHeight="127"&gt;</p>
+<p class="p4"><span class="Apple-converted-space">    </span></p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;fx:Metadata&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>[HostComponent("spark.components.Panel")]</p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;/fx:Metadata&gt;<span class="Apple-converted-space"> </span></p>
+<p class="p4"><span class="Apple-converted-space">    </span></p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;s:states&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;s:State name="normal" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;s:State name="disabled" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;s:State name="normalWithControlBar" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;s:State name="disabledWithControlBar" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;/s:states&gt;</p>
+<p class="p4"><span class="Apple-converted-space">    </span></p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;!-- drop shadow --&gt;</p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;s:Rect left="0" top="0" right="0" bottom="0"&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;s:filters&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;s:DropShadowFilter blurX="15" blurY="15" alpha="0.18" distance="11" angle="90" knockout="true" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;/s:filters&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;s:fill&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;s:SolidColor color="0" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;/s:fill&gt;</p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;/s:Rect&gt;</p>
+<p class="p4"><span class="Apple-converted-space">    </span></p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;!-- layer 1: border --&gt;</p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;s:Rect left="0" right="0" top="0" bottom="0"&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;s:stroke&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;s:SolidColorStroke color="0" alpha="0.50" weight="1" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;/s:stroke&gt;</p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;/s:Rect&gt;</p>
+<p class="p4"><span class="Apple-converted-space">    </span></p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;!-- layer 2: background fill --&gt;</p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;s:Rect left="0" right="0" bottom="0" height="15"&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;s:fill&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;s:LinearGradient rotation="90"&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;s:GradientEntry color="0xE2E2E2" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;s:GradientEntry color="0x000000" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;/s:LinearGradient&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;/s:fill&gt;</p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;/s:Rect&gt;</p>
+<p class="p4"><span class="Apple-converted-space">    </span></p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;!-- layer 3: contents --&gt;</p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;s:Group left="1" right="1" top="1" bottom="1" &gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;s:layout&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;s:VerticalLayout gap="0" horizontalAlign="justify" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;/s:layout&gt;</p>
+<p class="p4"><span class="Apple-converted-space">        </span></p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;s:Group id="topGroup" &gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;!-- layer 0: title bar fill --&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;!-- Note: We have custom skinned the title bar to be solid black for Tour de Flex --&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;s:Rect id="tbFill" left="0" right="0" top="0" bottom="1" &gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;s:fill&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                    </span>&lt;s:SolidColor color="0x000000" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;/s:fill&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;/s:Rect&gt;</p>
+<p class="p4"><span class="Apple-converted-space">            </span></p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;!-- layer 1: title bar highlight --&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;s:Rect id="tbHilite" left="0" right="0" top="0" bottom="0" &gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;s:stroke&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                    </span>&lt;s:LinearGradientStroke rotation="90" weight="1"&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                        </span>&lt;s:GradientEntry color="0xEAEAEA" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                        </span>&lt;s:GradientEntry color="0xD9D9D9" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                    </span>&lt;/s:LinearGradientStroke&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;/s:stroke&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;/s:Rect&gt;</p>
+<p class="p4"><span class="Apple-converted-space">            </span></p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;!-- layer 2: title bar divider --&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;s:Rect id="tbDiv" left="0" right="0" height="1" bottom="0"&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;s:fill&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                    </span>&lt;s:SolidColor color="0xC0C0C0" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;/s:fill&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;/s:Rect&gt;</p>
+<p class="p4"><span class="Apple-converted-space">            </span></p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;!-- layer 3: text --&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;s:Label id="titleDisplay" maxDisplayedLines="1"</p>
+<p class="p1"><span class="Apple-converted-space">                     </span>left="9" right="3" top="1" minHeight="30"</p>
+<p class="p1"><span class="Apple-converted-space">                     </span>verticalAlign="middle" fontWeight="bold" color="#E2E2E2"&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;/s:Label&gt;</p>
+<p class="p4"><span class="Apple-converted-space">            </span></p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;/s:Group&gt;</p>
+<p class="p4"><span class="Apple-converted-space">        </span></p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;s:Group id="contentGroup" width="100%" height="100%" minWidth="0" minHeight="0"&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;/s:Group&gt;</p>
+<p class="p4"><span class="Apple-converted-space">        </span></p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;s:Group id="bottomGroup" minWidth="0" minHeight="0"</p>
+<p class="p1"><span class="Apple-converted-space">                 </span>includeIn="normalWithControlBar, disabledWithControlBar" &gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;!-- layer 0: control bar background --&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;s:Rect left="0" right="0" bottom="0" top="1" &gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;s:fill&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                    </span>&lt;s:SolidColor color="0xE2EdF7" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;/s:fill&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;/s:Rect&gt;</p>
+<p class="p4"><span class="Apple-converted-space">            </span></p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;!-- layer 1: control bar divider line --&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;s:Rect left="0" right="0" top="0" height="1" &gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;s:fill&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                    </span>&lt;s:SolidColor color="0xD1E0F2" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;/s:fill&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;/s:Rect&gt;</p>
+<p class="p4"><span class="Apple-converted-space">            </span></p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;!-- layer 2: control bar --&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;s:Group id="controlBarGroup" left="0" right="0" top="1" bottom="1" minWidth="0" minHeight="0"&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;s:layout&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                    </span>&lt;s:HorizontalLayout paddingLeft="10" paddingRight="10" paddingTop="7" paddingBottom="7" gap="10" /&gt;</p>
+<p class="p1"><span class="Apple-converted-space">                </span>&lt;/s:layout&gt;</p>
+<p class="p1"><span class="Apple-converted-space">            </span>&lt;/s:Group&gt;</p>
+<p class="p1"><span class="Apple-converted-space">        </span>&lt;/s:Group&gt;</p>
+<p class="p1"><span class="Apple-converted-space">    </span>&lt;/s:Group&gt;</p>
+<p class="p1">&lt;/s:Skin&gt;</p>
+</body>
+</html>