You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by bi...@apache.org on 2014/08/23 10:48:22 UTC

svn commit: r1619987 [11/22] - in /flex/site/trunk/content/tourdeflex: ./ mx/ mx/charts/ mx/containers/ mx/containers/assets/ mx/controls/ mx/controls/assets/ mx/core/ mx/effects/ mx/effects/assets/ mx/formatters/ mx/printing/ mx/states/ mx/validators/...

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/ListExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/ListExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/ListExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/ListExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/MenuExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/MenuExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/MenuExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/MenuExample.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,90 @@
+<?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" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx">
+	<fx:Script>
+		<![CDATA[
+			import mx.controls.Menu;
+			import mx.events.FlexEvent;
+			import mx.events.MenuEvent;
+			
+			import skins.TDFPanelSkin;
+			
+			protected var myMenu:Menu; 
+			
+			protected function showHandler(event:MouseEvent):void
+			{
+				myMenu = Menu.createMenu(null, myMenuData, false);
+				myMenu.labelField="@label";
+				myMenu.show(90, 35);
+				myMenu.addEventListener(MenuEvent.CHANGE,onMenuChange);
+			}
+
+			protected function hideHandler(event:MouseEvent):void
+			{
+				myMenu.hide();
+			}
+			
+			protected function onMenuChange(event:MenuEvent):void
+			{
+				lblSelected.text =  event.label;
+			}
+
+		]]>
+	</fx:Script>
+	
+
+	<fx:Declarations>
+		<fx:XML format="e4x" id="myMenuData">
+			<root>
+				<menuitem label="MenuItem A" >
+					<menuitem label="SubMenuItem A-1" enabled="false"/>
+					<menuitem label="SubMenuItem A-2"/>
+				</menuitem>
+				<menuitem label="MenuItem B" type="check" toggled="true"/>
+				<menuitem label="MenuItem C" type="check" toggled="false"/>
+				<menuitem type="separator"/>     
+				<menuitem label="MenuItem D" >
+					<menuitem label="SubMenuItem D-1" type="radio" 
+							  groupName="one"/>
+					<menuitem label="SubMenuItem D-2" type="radio" 
+							  groupName="one" toggled="true"/>
+					<menuitem label="SubMenuItem D-3" type="radio" 
+							  groupName="one"/>
+				</menuitem>
+			</root>
+		</fx:XML>
+	</fx:Declarations>
+	
+	<s:Panel title="Menu Sample" width="100%" height="100%" skinClass="skins.TDFPanelSkin">
+		<s:HGroup bottom="15" horizontalCenter="0" verticalAlign="middle">
+			<s:Button label="Show Menu" click="showHandler(event)" />
+			<s:Button label="Hide Menu" click="hideHandler(event)" />
+			<s:Label text="Menu Item Selected:" fontWeight="bold" fontSize="12" color="0x336699"/>
+			<s:Label id="lblSelected" />
+		</s:HGroup>
+		<s:Label width="220" color="#323232" top="15" right="50"
+				 text="The Menu control is a pop-up control that contains a menu of individually selectable choices. You use ActionScript 
+				 to create a Menu control that pops up in response to a user action, typically as part of an event listener."/>	
+
+	</s:Panel>
+	
+</s:Application>

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/MenuExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/MenuExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/MenuExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/MenuExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/MyListItemRenderer.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/MyListItemRenderer.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/MyListItemRenderer.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/MyListItemRenderer.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,39 @@
+<!--
+
+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:ItemRenderer
+	xmlns:fx="http://ns.adobe.com/mxml/2009"
+	xmlns:s="library://ns.adobe.com/flex/spark"
+	xmlns:mx="library://ns.adobe.com/flex/mx">
+	
+	<s:states>
+		<s:State name="normal"/>
+		<s:State name="hovered"/>
+		<s:State name="selected" />
+	</s:states>
+	
+	<s:layout>
+		<s:VerticalLayout/>
+	</s:layout>
+	
+	<s:HGroup verticalAlign="middle" paddingTop="0" paddingBottom="0">
+		<mx:Image source="{data.photo}" width="50" height="40" alpha.hovered=".5"/>
+		<s:Label text="{data.name}" color.hovered="0x1313cd" color.selected="0x000000" verticalAlign="bottom"/>
+	</s:HGroup>
+	
+</s:ItemRenderer>
\ No newline at end of file

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/MyListItemRenderer.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/MyTextFlow.xml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/MyTextFlow.xml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/MyTextFlow.xml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/MyTextFlow.xml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,23 @@
+<?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.
+
+-->
+<!-- http://blog.flexexamples.com/2009/08/11/setting-text-in-a-spark-richtext-control-in-flex-4/ -->
+<TextFlow xmlns="http://ns.adobe.com/textLayout/2008" whiteSpaceCollapse="preserve">
+    <p><span>This is an example of external text being included that is using the </span> <span fontWeight="bold">Text Layout Framework </span> <span> markup.</span></p>
+</TextFlow>
\ No newline at end of file

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/MyTextFlow.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/NumericStepperExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/NumericStepperExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/NumericStepperExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/NumericStepperExample.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,92 @@
+<?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" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx" 
+			   viewSourceURL="srcview/index.html">
+
+	<fx:Script>
+		<![CDATA[
+			protected function clickHandler(event:MouseEvent):void
+			{
+				responseText.text = "Thank you for your purchase of " +this.numStepper.value + " tickets!";
+			}
+		]]>
+	</fx:Script>
+
+	<fx:Style>
+		@namespace "library://ns.adobe.com/flex/spark";
+		@namespace mx "library://ns.adobe.com/flex/mx";
+		#formHead { 
+			fontSize: 18;
+			fontFamily: Arial;
+			fontWeight: bold;
+		}
+		mx|FormItem { 
+			fontSize: 12;
+			fontFamily: Arial;
+			fontWeight: bold;
+		}	
+			
+	</fx:Style>
+	
+	<!-- Note: A custom panel skin is used for the Tour de Flex samples and is included in the
+	source tabs for each sample.	-->
+	<s:Panel title="NumericStepper Sample" 
+			 width="100%" height="100%" 
+			 skinClass="skins.TDFPanelSkin">
+			
+			<s:HGroup left="15" top="10">
+				<s:Label width="250" verticalAlign="justify" color="#323232" 
+						 text="The NumericStepper control allows you to select a number from an
+ordered set. The NumericStepper control consists of a single-line input text field and a pair of arrow buttons
+for stepping through the valid values. You can use the Up Arrow and Down arrow keys to cycle through the values."/>
+				
+				<mx:Form >
+					<mx:FormHeading id="formHead" label="Welcome to Ticket Grabber!"/>
+					<mx:FormItem label="Name:">
+						<s:TextInput id="nameTxt" widthInChars="20"/>
+					</mx:FormItem>
+					<mx:FormItem label="Address:">
+						<s:TextArea widthInChars="20" heightInLines="2"/>
+					</mx:FormItem>
+					<mx:FormItem label="Phone:">
+						<s:TextInput id="phoneTxt" widthInChars="20"/>	
+					</mx:FormItem>
+					<mx:FormItem label="Select # of tickets:">
+						<s:NumericStepper id="numStepper" width="55" 
+										  value="0" snapInterval="2"/>
+					</mx:FormItem>
+					<mx:FormItem>
+						<s:Button label="Buy Now!" click="clickHandler(event)"/>
+					</mx:FormItem>
+					<mx:FormItem>
+						<s:Group>
+							<s:Label id="responseText"/>	
+						</s:Group>
+					</mx:FormItem>
+				</mx:Form>
+			</s:HGroup>
+		
+		
+		</s:Panel>
+
+	
+</s:Application>

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/NumericStepperExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/NumericStepperExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/NumericStepperExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/NumericStepperExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/OLAPDataGridExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/OLAPDataGridExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/OLAPDataGridExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/OLAPDataGridExample.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,230 @@
+<?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" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx" 
+			   skinClass="TDFGradientBackgroundSkin"
+			   creationComplete="creationCompleteHandler();">
+	
+	<fx:Script>
+		<![CDATA[
+			import mx.rpc.AsyncResponder;
+			import mx.rpc.AsyncToken;
+			import mx.olap.OLAPQuery;
+			import mx.olap.OLAPSet;
+			import mx.olap.IOLAPQuery;
+			import mx.olap.IOLAPQueryAxis;
+			import mx.olap.IOLAPCube;
+			import mx.olap.OLAPResult;
+			import mx.events.CubeEvent;
+			import mx.controls.Alert;
+			import mx.collections.ArrayCollection;
+			
+			
+			//
+			// Format of Objects in the ArrayCollection:
+			//
+			//  data:Object = {
+			//    customer:"AAA", 
+			//    product:"ColdFusion",
+			//    quarter:"Q1"
+			//    revenue: "100.00" 
+			//  }
+			//
+			
+			[Bindable]
+			private var flatData:ArrayCollection = new ArrayCollection(
+			[
+			{customer:"AAA", product:"ColdFusion", quarter:"Q1", revenue:210, cost:25},
+			{customer:"AAA", product:"Flex", quarter:"Q2", revenue:210, cost:25},
+			{customer:"AAA", product:"Dreamweaver", quarter:"Q3", revenue:250, cost:125},
+			{customer:"AAA", product:"Flash", quarter:"Q4", revenue:430, cost:75},
+			
+			{customer:"BBB", product:"ColdFusion", quarter:"Q2", revenue:125, cost:20},
+			{customer:"BBB", product:"Flex", quarter:"Q3", revenue:210, cost:20},
+			{customer:"BBB", product:"Dreamweaver", quarter:"Q4", revenue:320, cost:120},
+			{customer:"BBB", product:"Flash", quarter:"Q1", revenue:280, cost:70},
+			
+			{customer:"CCC", product:"ColdFusion", quarter:"Q3", revenue:375, cost:120},
+			{customer:"CCC", product:"Flex", quarter:"Q4", revenue:430, cost:120},
+			{customer:"CCC", product:"Dreamweaver", quarter:"Q1", revenue:470, cost:220},
+			{customer:"CCC", product:"Flash", quarter:"Q2", revenue:570, cost:170},
+			
+			{customer:"AAA", product:"ColdFusion", quarter:"Q4", revenue:215, cost:90},
+			{customer:"AAA", product:"Flex", quarter:"Q1", revenue:210, cost:90},
+			{customer:"AAA", product:"Dreamweaver", quarter:"Q2", revenue:175, cost:190},
+			{customer:"AAA", product:"Flash", quarter:"Q3", revenue:670, cost:75},
+			
+			{customer:"BBB", product:"ColdFusion", quarter:"Q1", revenue:175, cost:20},
+			{customer:"BBB", product:"Flex", quarter:"Q2", revenue:210, cost:20},
+			{customer:"BBB", product:"Dreamweaver",quarter:"Q3", revenue:120, cost:120},
+			{customer:"BBB", product:"Flash", quarter:"Q4", revenue:310, cost:70},
+			
+			{customer:"CCC", product:"ColdFusion", quarter:"Q1", revenue:385, cost:120},
+			{customer:"CCC", product:"Flex", quarter:"Q2", revenue:340, cost:120},
+			{customer:"CCC", product:"Dreamweaver", quarter:"Q3", revenue:470, cost:220},
+			{customer:"CCC", product:"Flash", quarter:"Q4", revenue:270, cost:170},
+			
+			{customer:"AAA", product:"ColdFusion", quarter:"Q1", revenue:100, cost:25},
+			{customer:"AAA", product:"Flex", quarter:"Q2", revenue:150, cost:25},
+			{customer:"AAA", product:"Dreamweaver", quarter:"Q3", revenue:200, cost:125},
+			{customer:"AAA", product:"Flash", quarter:"Q4", revenue:300, cost:75},
+			
+			{customer:"BBB", product:"ColdFusion", quarter:"Q2", revenue:175, cost:20},
+			{customer:"BBB", product:"Flex", quarter:"Q3", revenue:100, cost:20},
+			{customer:"BBB", product:"Dreamweaver", quarter:"Q4", revenue:270, cost:120},
+			{customer:"BBB", product:"Flash", quarter:"Q1", revenue:370, cost:70},
+			
+			{customer:"CCC", product:"ColdFusion", quarter:"Q3", revenue:410, cost:120},
+			{customer:"CCC", product:"Flex", quarter:"Q4", revenue:300, cost:320},
+			{customer:"CCC", product:"Dreamweaver", quarter:"Q1", revenue:510, cost:220},
+			{customer:"CCC", product:"Flash", quarter:"Q2", revenue:620, cost:170},
+			
+			{customer:"AAA", product:"ColdFusion", quarter:"Q4", revenue:215, cost:90},
+			{customer:"AAA", product:"Flex", quarter:"Q1", revenue:210, cost:90},
+			{customer:"AAA", product:"Dreamweaver", quarter:"Q2", revenue:175, cost:190},
+			{customer:"AAA", product:"Flash", quarter:"Q3", revenue:420, cost:75},
+			
+			{customer:"BBB", product:"ColdFusion", quarter:"Q1", revenue:240, cost:20},
+			{customer:"BBB", product:"Flex", quarter:"Q2", revenue:100, cost:20},
+			{customer:"BBB", product:"Dreamweaver", quarter:"Q3", revenue:270, cost:120},
+			{customer:"BBB", product:"Flash", quarter:"Q4", revenue:370, cost:70},
+			
+			{customer:"CCC", product:"ColdFusion", quarter:"Q1", revenue:375, cost:120},
+			{customer:"CCC", product:"Flex", quarter:"Q2", revenue:420, cost:120},
+			{customer:"CCC", product:"Dreamweaver", quarter:"Q3", revenue:680, cost:220},
+			{customer:"CCC", product:"Flash", quarter:"Q4", revenue:570, cost:170}         
+			]);
+			
+			private function creationCompleteHandler():void {
+				// You must initialize the cube before you 
+				// can execute a query on it.
+				myMXMLCube.refresh();
+			}
+			
+			// Create the OLAP query.
+			private function getQuery(cube:IOLAPCube):IOLAPQuery {
+				// Create an instance of OLAPQuery to represent the query. 
+				var query:OLAPQuery = new OLAPQuery;
+				
+				// Get the row axis from the query instance.
+				var rowQueryAxis:IOLAPQueryAxis = 
+				query.getAxis(OLAPQuery.ROW_AXIS);
+				// Create an OLAPSet instance to configure the axis.
+				var productSet:OLAPSet = new OLAPSet;
+				// Add the Product to the row to aggregate data 
+				// by the Product dimension.
+				productSet.addElements(
+				cube.findDimension("ProductDim").findAttribute("Product").children);
+				// Add the OLAPSet instance to the axis.
+				rowQueryAxis.addSet(productSet);
+				
+				// Get the column axis from the query instance, and configure it
+				// to aggregate the columns by the Quarter dimension. 
+				var colQueryAxis:IOLAPQueryAxis = 
+				query.getAxis(OLAPQuery.COLUMN_AXIS);         
+				var quarterSet:OLAPSet= new OLAPSet;
+				quarterSet.addElements(
+				cube.findDimension("QuarterDim").findAttribute("Quarter").children);
+				colQueryAxis.addSet(quarterSet);
+				
+				return query;       
+			}
+			
+			// Event handler to execute the OLAP query 
+			// after the cube completes initialization.
+			private function runQuery(event:CubeEvent):void {
+				// Get cube.
+				var cube:IOLAPCube = IOLAPCube(event.currentTarget);
+				// Create a query instance.
+				var query:IOLAPQuery = getQuery(cube);
+				// Execute the query.
+				var token:AsyncToken = cube.execute(query);
+				// Setup handlers for the query results.
+				token.addResponder(new AsyncResponder(showResult, showFault));
+			}
+			
+			// Handle a query fault.
+			private function showFault(result:Object, token:Object):void {
+				Alert.show("Error in query.");
+			}
+			
+			// Handle a successful query by passing the query results to 
+			// the OLAPDataGrid control..
+			private function showResult(result:Object, token:Object):void {
+				if (!result) {
+					Alert.show("No results from query.");
+					return;
+				}
+				myOLAPDG.dataProvider= result as OLAPResult;            
+			}        
+		]]>
+	</fx:Script>
+	
+	<s:layout>
+		<s:HorizontalLayout horizontalAlign="center" />
+	</s:layout>
+	
+	<fx:Declarations>
+		<mx:OLAPCube name="FlatSchemaCube" dataProvider="{flatData}" id="myMXMLCube" complete="runQuery(event);">
+			<mx:OLAPDimension name="CustomerDim">
+				<mx:OLAPAttribute name="Customer" dataField="customer"/>
+				<mx:OLAPHierarchy name="CustomerHier" hasAll="true">
+					<mx:OLAPLevel attributeName="Customer"/>
+				</mx:OLAPHierarchy>
+			</mx:OLAPDimension>
+			
+			<mx:OLAPDimension name="ProductDim">
+				<mx:OLAPAttribute name="Product" dataField="product"/>
+				<mx:OLAPHierarchy name="ProductHier" hasAll="true">
+					<mx:OLAPLevel attributeName="Product"/>
+				</mx:OLAPHierarchy>
+			</mx:OLAPDimension>
+			
+			<mx:OLAPDimension name="QuarterDim">
+				<mx:OLAPAttribute name="Quarter" dataField="quarter"/>
+				<mx:OLAPHierarchy name="QuarterHier" hasAll="true">
+					<mx:OLAPLevel attributeName="Quarter"/>
+				</mx:OLAPHierarchy> 
+			</mx:OLAPDimension>
+			
+			<mx:OLAPMeasure name="Revenue" 
+							dataField="revenue" 
+							aggregator="SUM"/>
+		</mx:OLAPCube>
+	</fx:Declarations>
+	
+	
+	
+	<s:Panel title="OLAPDataGrid Control" color="0x000000" 
+			 borderAlpha="0.15" 
+			 width="600">
+		
+		<s:layout>
+			<s:HorizontalLayout horizontalAlign="center" 
+								paddingLeft="10" paddingRight="10" 
+								paddingTop="10" paddingBottom="10"/>
+		</s:layout>
+		
+		<mx:OLAPDataGrid id="myOLAPDG" color="0x323232" width="100%" height="100%"/>
+		
+	</s:Panel>
+	
+</s:Application>

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/OLAPDataGridExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/OLAPDataGridExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/OLAPDataGridExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/OLAPDataGridExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/OSMFExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/OSMFExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/OSMFExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/OSMFExample.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,27 @@
+<?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">
+	
+	<s:VideoPlayer horizontalCenter="0" verticalCenter="0"
+		source="http://mediapm.edgesuite.net/osmf/content/test/manifest-files/dynamic_Streaming.f4m" 
+		autoPlay="true"/>
+	
+</s:Application>
\ No newline at end of file

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/OSMFExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/OSMFExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/OSMFExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/OSMFExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/PagedList.as
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/PagedList.as?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/PagedList.as (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/PagedList.as Sat Aug 23 08:47:51 2014
@@ -0,0 +1,510 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package  
+{
+	import flash.events.Event;
+	import flash.events.EventDispatcher;
+	
+	import mx.collections.IList;
+	import mx.collections.errors.ItemPendingError;
+	import mx.events.CollectionEvent;
+	import mx.events.CollectionEventKind;
+	import mx.events.PropertyChangeEvent;
+	import mx.events.PropertyChangeEventKind;
+	import mx.resources.IResourceManager;
+	import mx.resources.ResourceManager;
+	import mx.rpc.IResponder;
+	
+	[Event(name="collectionChange", type="mx.events.CollectionEvent")]
+	
+	/**
+	 *  An IList whose items are fetched asynchronously by a user provided function.   The 
+	 *  loadItemsFunction initiates an asynchronous request for a pageSize block items, typically
+	 *  from a web service.  When the request sucessfully completes, the storeItemsAt() method
+	 *  must be called. If the request fails, then failItemsAt().
+	 * 
+	 *  <p>PagedList divides its <code>length</code> items into <code>pageSize</code> blocks or 
+	 *  "pages".  It tracks which items exist locally, typically because they've been stored with
+	 *  storeItemsAt().  When an item that does not exist locally is requested with getItemAt(),
+	 *  the loadItemsFunction is called and then an IPE is thrown.  When the loadItemsFunction
+	 *  either completes or fails, it must call storeItemsAt() or failItemsAt() which causes
+	 *  the IPE's responders to run and a "replace" CollectionEvent to be dispatched for the 
+	 *  updated page.  The failItemsAt() method resets the corresponding items to undefined, 
+	 *  which means that subsequent calls to getItemAt() will cause an IPE to be thrown.</p>
+	 * 
+	 *  <p>Unlike some other IList implementations, the only method here that can thrown an
+	 *  IPE is getItemAt().   Methods like getItemIndex() and toArray() just report items
+	 *  that aren't local as null.</p>
+	 * 
+	 *  <p>This class is intended to be used as the "list" source for an ASyncListView.</p>
+	 */
+	public class PagedList  extends EventDispatcher implements IList
+	{
+		/**
+		 *  @private
+		 */
+		private static function get resourceManager():IResourceManager
+		{
+			return ResourceManager.getInstance();
+		}
+		
+		/**
+		 *  @private
+		 */    
+		private static function checkItemIndex(index:int, listLength:int):void
+		{
+			if (index < 0 || (index >= listLength)) 
+			{
+				const message:String = resourceManager.getString("collections", "outOfBounds", [ index ]);
+				throw new RangeError(message);
+			}
+		}
+		
+		/**
+		 *  @private
+		 *  The IList's items.
+		 */
+		private const data:Vector.<*> = new Vector.<*>();
+		
+		/**
+		 *  Construct a PagedList with the specified length and pageSize.
+		 */    
+		public function PagedList(length:int=1000, pageSize:int=10)
+		{
+			this.data.length = length;
+			this.pageSize = pageSize;
+			
+			for (var i:int = 0; i < data.length; i++)
+				data[i] = undefined;
+		}
+		
+		//----------------------------------
+		//  loadItemsFunction
+		//---------------------------------- 
+		
+		private var _loadItemsFunction:Function = null;
+		
+		/**
+		 *  The value of this property must be a function that loads a contiguous 
+		 *  block of items and then calls <code>storeItemsAt()</code> or 
+		 *  <code>failItemsAt()</code>.  A loadItemsFunction must be defined as follows:
+		 *  <pre>
+		 *  myLoadItems(list:PagedList, index:int, count:int):void 
+		 *  </pre>
+		 *  
+		 *  <p>Typically the loadItemsFunction will make one or more network requests
+		 *  to retrieve the items.   It must do all of its work asynchronously to avoid
+		 *  blocking the application's GUI.
+		 *  
+		 */
+		public function get loadItemsFunction():Function
+		{
+			return _loadItemsFunction;
+		}
+		
+		/**
+		 *  @private
+		 */
+		public function set loadItemsFunction(value:Function):void
+		{
+			_loadItemsFunction = value;
+		}
+		
+		//----------------------------------
+		//  length
+		//---------------------------------- 
+		
+		[Bindable("collectionChange")]    
+		
+		/**
+		 *  The number of items in the list.
+		 *  
+		 *  <p>The length of the list can be changed directly however the "-1" indeterminate 
+		 *  length value is not supported.</p>
+		 */
+		public function get length():int
+		{
+			return data.length;
+		}
+		
+		/**
+		 *  @private
+		 */
+		public function set length(value:int):void
+		{
+			const oldLength:int = data.length;
+			const newLength:int = value;
+			
+			if (oldLength == newLength)
+				return;
+			
+			var ce:CollectionEvent = null;
+			if (hasEventListener(CollectionEvent.COLLECTION_CHANGE))
+				ce = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
+			
+			if (oldLength < newLength)
+			{
+				if (ce)
+				{
+					ce.location = Math.max(oldLength - 1, 0);
+					ce.kind = CollectionEventKind.ADD;
+					const itemsLength:int = newLength - oldLength;
+					for (var i:int = 0; i < itemsLength; i++)
+						ce.items.push(undefined);
+				}
+				
+				data.length = newLength;
+				for (var newIndex:int = Math.max(oldLength - 1, 0); newIndex < newLength; newIndex++)
+					data[newIndex] = undefined;
+			}
+			else // oldLength > newLength
+			{
+				if (ce)
+				{
+					ce.location = Math.max(newLength - 1, 0);
+					ce.kind = CollectionEventKind.REMOVE;
+					for (var oldIndex:int = Math.max(newLength - 1, 0); oldIndex < oldLength; oldIndex++)
+						ce.items.push(data[oldIndex]);
+				}
+				
+				data.length = newLength; 
+			}
+			
+			if (ce)
+				dispatchEvent(ce);
+		}
+		
+		//----------------------------------
+		//  pageSize
+		//---------------------------------- 
+		
+		private var _pageSize:int = 10;
+		
+		/** 
+		 *  Items are loaded in contiguous pageSize blocks.  The value of this property should be greater than  
+		 *  zero, smaller than the PageList's length, and a reasonable working size for the loadItemsFunction.   
+		 */
+		public function get pageSize():int
+		{
+			return _pageSize;
+		}
+		
+		/**
+		 *  @private
+		 */
+		public function set pageSize(value:int):void
+		{
+			_pageSize = value;    
+		}
+		
+		/**
+		 *  Resets the entire list to its initial state.  All local and pending items are 
+		 *  cleared.
+		 */
+		public function clearItems():void
+		{
+			var index:int = 0;
+			for each (var item:Object in data)
+			data[index++] = undefined;
+			
+			if (hasEventListener(CollectionEvent.COLLECTION_CHANGE))
+			{
+				var ce:CollectionEvent = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
+				ce.kind = CollectionEventKind.RESET;
+				dispatchEvent(ce);
+			}            
+		}
+		
+		/**
+		 *  @private
+		 */
+		private static function createUpdatePCE(itemIndex:Object, oldValue:Object, newValue:Object):PropertyChangeEvent
+		{
+			const pce:PropertyChangeEvent = new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE);
+			pce.kind = PropertyChangeEventKind.UPDATE;
+			pce.property = itemIndex;
+			pce.oldValue = oldValue;
+			pce.newValue = newValue;
+			return pce;
+		}
+		
+		/**
+		 *  @private
+		 */    
+		private static function createCE(kind:String, location:int, item:Object):CollectionEvent
+		{
+			const ce:CollectionEvent = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
+			ce.kind = kind;
+			ce.location = location;
+			
+			if (item is Array)
+				ce.items = item as Array;
+			else
+				ce.items.push(item);
+			
+			return ce;
+		}
+		
+		/**
+		 *  This method must be called by the loadItemsFunction after a block of requested
+		 *  items have been successfully retrieved.  It stores the specified items in the 
+		 *  internal data vector and clears the "pending" state associated with the original
+		 *  request.
+		 */
+		public function storeItemsAt(items:Vector.<Object>, index:int):void
+		{
+			if (index < 0 || (index + items.length) > length) 
+			{
+				const message:String = resourceManager.getString("collections", "outOfBounds", [ index ]);
+				throw new RangeError(message);
+			}
+			
+			var item:Object;
+			var itemIndex:int;
+			var pce:PropertyChangeEvent;
+			
+			// copy the new items into the internal items vector and run the IPE responders
+			
+			itemIndex = index;
+			for each (item in items)
+			{
+				var ipe:ItemPendingError = data[itemIndex] as ItemPendingError;
+				if (ipe && ipe.responders)
+				{
+					for each (var responder:IResponder in ipe.responders)
+					responder.result(null);
+				}
+				
+				data[itemIndex++] = item;
+			}
+			
+			// dispatch collection and property change events
+			
+			const hasCollectionListener:Boolean = hasEventListener(CollectionEvent.COLLECTION_CHANGE);
+			const hasPropertyListener:Boolean = hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE);
+			var propertyChangeEvents:Array = new Array();  // Array of PropertyChangeEvents; 
+			
+			if (hasCollectionListener || hasPropertyListener)
+			{   
+				itemIndex = index;
+				for each (item in items)
+				propertyChangeEvents.push(createUpdatePCE(itemIndex++, null, item));
+			}
+			
+			if (hasCollectionListener)
+				dispatchEvent(createCE(CollectionEventKind.REPLACE, index, propertyChangeEvents));
+			
+			if (hasPropertyListener)
+			{
+				for each (pce in propertyChangeEvents)
+				dispatchEvent(pce);
+			}
+		}
+		
+		public function failItemsAt(index:int, count:int):void
+		{
+			if (index < 0 || (index + count) > length) 
+			{
+				const message:String = resourceManager.getString("collections", "outOfBounds", [ index ]);
+				throw new RangeError(message);
+			}
+			
+			for (var i:int = 0; i < count; i++)
+			{
+				var itemIndex:int = i + index;
+				var ipe:ItemPendingError = data[itemIndex] as ItemPendingError;
+				if (ipe && ipe.responders)
+				{
+					for each (var responder:IResponder in ipe.responders)
+					responder.fault(null);
+				}
+				data[itemIndex] = undefined;
+			}        
+			
+			
+			
+		}
+		
+		//--------------------------------------------------------------------------
+		//
+		//  IList Implementation (length appears above)
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  @inheritDoc
+		 */    
+		public function addItem(item:Object):void
+		{
+			addItemAt(item, length);        
+		}
+		
+		/**
+		 *  @inheritDoc
+		 */   
+		public function addItemAt(item:Object, index:int):void
+		{
+			checkItemIndex(index, length + 1);
+			data.splice(index, index, item);
+			
+			if (hasEventListener(CollectionEvent.COLLECTION_CHANGE))
+				dispatchEvent(createCE(CollectionEventKind.ADD, index, item));
+		}
+		
+		/**
+		 *  @inheritDoc
+		 */   
+		public function getItemAt(index:int, prefetch:int=0):Object
+		{
+			checkItemIndex(index, length);
+			
+			var item:* = data[index];
+			if (item is ItemPendingError)
+			{
+				throw item as ItemPendingError;
+			}
+			else if (item === undefined)
+			{
+				const ipe:ItemPendingError = new ItemPendingError(String(index));
+				const pageStartIndex:int = Math.floor(index / pageSize) * pageSize;
+				const count:int = Math.min(pageSize, data.length - pageStartIndex);
+				
+				for (var i:int = 0; i < count; i++)
+					data[pageStartIndex + i] = ipe;
+				
+				if (loadItemsFunction !== null)
+					loadItemsFunction(this, pageStartIndex, count);
+				
+				// Allow for the possibility that loadItemsFunction has synchronously
+				// loaded the requested data item.
+				
+				if (data[index] == ipe)
+					throw ipe;
+				else
+					item = data[index];
+			}
+			
+			return item;
+		}
+		
+		/**
+		 *  Return the index of of the specified item, if it currently exists in the list.
+		 *  This method does not cause additional items to be loaded.
+		 */   
+		public function getItemIndex(item:Object):int
+		{
+			return data.indexOf(item);
+		}
+		
+		/**
+		 *  @inheritDoc
+		 */   
+		public function itemUpdated(item:Object, property:Object=null, oldValue:Object=null, newValue:Object=null):void
+		{
+			const hasCollectionListener:Boolean = hasEventListener(CollectionEvent.COLLECTION_CHANGE);
+			const hasPropertyListener:Boolean = hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE);
+			var pce:PropertyChangeEvent = null;
+			
+			if (hasCollectionListener || hasPropertyListener)
+				pce = createUpdatePCE(property, oldValue, newValue);
+			
+			if (hasCollectionListener)
+				dispatchEvent(createCE(CollectionEventKind.UPDATE, -1, pce));
+			
+			if (hasPropertyListener)
+				dispatchEvent(pce);
+		}
+		
+		/**
+		 *  @inheritDoc
+		 */   
+		public function removeAll():void
+		{
+			length = 0;
+			
+			if (hasEventListener(CollectionEvent.COLLECTION_CHANGE))
+			{
+				const ce:CollectionEvent = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
+				ce.kind = CollectionEventKind.RESET;
+				dispatchEvent(ce);
+			}
+		}
+		
+		/**
+		 *  @inheritDoc
+		 */   
+		public function removeItemAt(index:int):Object
+		{
+			checkItemIndex(index, length);
+			
+			const item:Object = data[index];
+			
+			data.splice(index, 1);
+			if (hasEventListener(CollectionEvent.COLLECTION_CHANGE))
+				dispatchEvent(createCE(CollectionEventKind.REMOVE, index, item));    
+			
+			return item;
+		}
+		
+		/**
+		 *  @inheritDoc
+		 */   
+		public function setItemAt(item:Object, index:int):Object
+		{
+			checkItemIndex(index, length);
+			
+			const oldItem:Object = data[index];
+			
+			if (item !== oldItem)
+			{
+				const hasCollectionListener:Boolean = hasEventListener(CollectionEvent.COLLECTION_CHANGE);
+				const hasPropertyListener:Boolean = hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE);
+				var pce:PropertyChangeEvent = null;
+				
+				if (hasCollectionListener || hasPropertyListener)
+					pce = createUpdatePCE(index, oldItem, item);
+				
+				if (hasCollectionListener)
+					dispatchEvent(createCE(CollectionEventKind.REPLACE, index, pce));
+				
+				if (hasPropertyListener)
+					dispatchEvent(pce);
+			}
+			
+			return oldItem;
+		}
+		
+		/**
+		 *  Returns an array with the same length as this list, that contains all of
+		 *  the items successfully loaded so far.  
+		 * 
+		 *  <p>Calling this method does not force additional items to be loaded.</p>
+		 */   
+		public function toArray():Array
+		{
+			const rv:Array = new Array(data.length);
+			
+			var index:int = 0;
+			for each (var item:* in data)
+			rv[index++] = (item is ItemPendingError) ? undefined : item;
+			
+			return rv;
+		}
+	}
+}

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/PagedList.as
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor1Example.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor1Example.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor1Example.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor1Example.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,81 @@
+<?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" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx" viewSourceURL="srcview/index.html">
+	
+	
+	<fx:Script>
+		<![CDATA[
+			import mx.controls.Alert;
+			protected function handleClose(event:MouseEvent):void
+			{
+				Alert.show("TEST");
+				this.currentState="normal";
+			}
+		]]>
+	</fx:Script>
+	
+	<s:states>
+		<s:State name="normal" />
+		<s:State name="infoOpen" />
+	</s:states>
+	
+	<s:transitions>
+		<mx:Transition fromState="*" toState="*">
+			<mx:Sequence>
+				<s:Fade target="{infoPopUp.popUp}" duration="1500"/>
+			</mx:Sequence>
+		</mx:Transition> 
+	</s:transitions>
+	
+	<fx:Declarations>
+		<s:LinearGradient rotation="90" id="fill1">
+			<s:GradientEntry color="0xFFFFFF" />
+			<s:GradientEntry color="0x336699" />
+		</s:LinearGradient>
+	</fx:Declarations>
+	
+	<s:Panel width="100%" height="100%" title="PopUpAnchor Sample" skinClass="skins.TDFPanelSkin">	
+		<s:HGroup horizontalCenter="0" top="5">
+			<s:VGroup top="0">
+				<s:Label width="200" height="200" color="0x323232" 
+						 text="The PopUpAnchor control displays a pop-up component in a layout. It has 
+						 no visual appearance, but it has dimensions. The PopUpAnchor control is used in the DropDownList and VolumeBar controls. The PopUpAnchor displays the pop-up component by adding it to the PopUpManager, and then sizes and positions the pop-up component relative to itself."/>
+				<s:Label text=" Click the Information icon to see the PopUpAnchor in action."/>
+				<mx:Spacer width="60"/>	
+			</s:VGroup>
+			<s:VGroup>
+				<mx:LinkButton label="Information" click="currentState = 'infoOpen'" icon="@Embed('iconinfo.gif')"/>
+				<s:PopUpAnchor id="infoPopUp" left="0" bottom="0" popUpPosition="below"  
+							   includeIn="infoOpen" displayPopUp.normal="false" 
+							   displayPopUp.infoOpen="true">
+					<s:BorderContainer cornerRadius="5" backgroundFill="{fill1}" height="160" width="180" 
+							  dropShadowVisible="true">
+						<s:Label horizontalCenter="0" top="20" width="170" height="155" color="0x323232" 
+								 text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam laoreet urna fringilla risus fermentum sed aliquam lorem aliquam. Maecenas egestas, risus at adipiscing faucibus, nisl dui dignissim turpis, at consectetur magna erat in ligula."/>
+						
+						<s:Button top="2" right="2" width="16" height="16" skinClass="skins.CloseButtonSkin" click="handleClose(event)"/>
+					</s:BorderContainer>
+				</s:PopUpAnchor>
+			</s:VGroup>
+		</s:HGroup>
+	</s:Panel>
+</s:Application>

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor1Example.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor1Example.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor1Example.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor1Example.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor2Example.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor2Example.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor2Example.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor2Example.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,80 @@
+<?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" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx">
+	
+	<s:states>
+		<s:State name="normal" />
+		<s:State name="emailOpen" />
+		<s:State name="aboutOpen" />
+		<s:State name="infoOpen" />
+	</s:states>
+	
+	<s:transitions>
+		<mx:Transition fromState="*" toState="*">
+			<mx:Sequence>
+				<s:Fade target="{emailPopUp.popUp}" duration="1000"/>
+			</mx:Sequence>
+		</mx:Transition> 
+	</s:transitions>
+	
+	<s:Panel width="100%" height="100%" 
+			 title="PopUpAnchor with Form" 
+			 skinClass="skins.TDFPanelSkin">
+		
+		<s:VGroup horizontalCenter="0" top="20">
+			<s:HGroup>
+				<mx:LinkButton label="Home" color="0x336699" click="currentState = 'normal'"/>
+				<mx:LinkButton label="About" color="0x336699" click="currentState = 'aboutOpen'"/>
+				<mx:LinkButton label="Information" color="0x336699" click="currentState = 'infoOpen'"/>
+				<mx:LinkButton label="Contact Us" color="0x336699" click="currentState = 'emailOpen'"/>
+			</s:HGroup>
+			<s:BorderContainer id="border1" excludeFrom="emailOpen" width="290" height="200" 
+					  backgroundColor="0x000000" color="0xFFFFFF" cornerRadius="7">
+				<s:Label width="200" height="200" top="20" left="5" 
+						 text.normal="Welcome to Tour de Flex!" 
+						 text.aboutOpen="Tour de Flex is constantly being updated with more cool samples!" 
+						 text.infoOpen="Check back for more Flex 4 samples weekly!"/>
+			</s:BorderContainer>
+			<s:PopUpAnchor id="emailPopUp" left="0" bottom="0" popUpPosition="below"  
+						   includeIn="emailOpen" displayPopUp.normal="false" displayPopUp.emailOpen="true">
+				<mx:Form id="form1" backgroundColor="0x000000" color="0xFFFFFF">
+					<mx:FormItem label="From :">
+						<s:TextInput/>
+					</mx:FormItem>
+					<mx:FormItem label="To :">
+						<s:TextInput/>
+					</mx:FormItem>
+					<mx:FormItem label="Subject :">
+						<s:TextInput/>
+					</mx:FormItem>
+					<mx:FormItem label="Message :">
+						<s:TextArea width="100%" height="60" maxChars="60"/>
+					</mx:FormItem>
+					<mx:FormItem direction="horizontal">
+						<s:Button label="Send" click="currentState = 'normal'" color="0x000000"/>  
+						<s:Button label="Cancel" click="currentState = 'normal'" color="0x000000"/>
+					</mx:FormItem>
+				</mx:Form>
+			</s:PopUpAnchor>
+		</s:VGroup>
+	</s:Panel>
+</s:Application>

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor2Example.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor2Example.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor2Example.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/PopUpAnchor2Example.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/PopupButtonExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/PopupButtonExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/PopupButtonExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/PopupButtonExample.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,82 @@
+<?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" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx" 
+			   skinClass="TDFGradientBackgroundSkin">
+	
+	<fx:Script>
+		<![CDATA[
+
+			import mx.controls.*;
+			import mx.events.*;
+			import mx.controls.Alert;
+
+			private var myMenu:Menu;
+
+			// Initialize the Menu control, and specify it as the pop up object
+			// of the PopUpButton control. 
+			private function initMenu():void {
+				myMenu = new Menu();
+				var dp:Object = [{label: "New Folder"}, {label: "Sent Items"}, {label: "Inbox"}];        
+				myMenu.dataProvider = dp;
+				myMenu.selectedIndex = 0;       
+				myMenu.addEventListener("itemClick", itemClickHandler);
+				popB.popUp = myMenu;
+				popB.label = "Put in: " + myMenu.dataProvider[myMenu.selectedIndex].label;
+			}
+
+			// Define the event listener for the Menu control's itemClick event. 
+			private function itemClickHandler(event:MenuEvent):void {
+				var label:String = event.item.label;        
+				popTypeB.text=String("Moved to " + label);
+				popB.label = "Put in: " + label;
+				popB.close();
+				myMenu.selectedIndex = event.index;
+			}
+
+		]]>
+	</fx:Script>
+	
+	<s:layout>
+		<s:HorizontalLayout horizontalAlign="center" />
+	</s:layout>
+	
+	<s:Panel title="PopUpButton Control" color="0x000000" 
+			 borderAlpha="0.15" 
+			 width="600">
+		
+		<s:layout>
+			<s:VerticalLayout horizontalAlign="center" 
+							  paddingLeft="10" paddingRight="10" 
+							  paddingTop="10" paddingBottom="10"/>
+		</s:layout>
+         
+         <s:Label width="100%" color="0x323232"
+            text="Button label contains the name of the last selected menu item." />
+        <mx:PopUpButton id="popB" label="Edit" creationComplete="initMenu();" width="140" color="0x323232" click="{Alert.show('Action: ' + popB.label);}" />
+		
+        <mx:Spacer height="65" />
+		
+        <s:TextInput id="popTypeB" color="0x323232" text="...waiting" />
+        
+	</s:Panel>
+	
+</s:Application>

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/PopupButtonExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/PopupButtonExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/PopupButtonExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/PopupButtonExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/ProgressBarExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/ProgressBarExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/ProgressBarExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/ProgressBarExample.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,71 @@
+<?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" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx" 
+			   skinClass="TDFGradientBackgroundSkin">
+	
+	<fx:Script>
+        <![CDATA[
+           
+          private var j:uint=10;
+          
+          // Event handler function to set the value of the 
+          // ProgressBar control.
+          private function runit():void
+          {
+    	      if(j<=100)
+    	      {
+    	         bar.setProgress(j,100);
+        		 bar.label= "CurrentProgress" + " " + j + "%";
+        		 j+=10;
+    	      }
+    	      if(j>100)
+    	      {
+        		 j=0;
+              }
+          }
+        ]]>    
+    </fx:Script>
+	
+	<s:layout>
+		<s:HorizontalLayout horizontalAlign="center" />
+	</s:layout>
+    
+	<s:Panel title="ProgressBar Control" color="0x000000" 
+			 borderAlpha="0.15" 
+			 width="600">
+		
+		<s:layout>
+			<s:VerticalLayout horizontalAlign="center" 
+							  paddingLeft="10" paddingRight="10" 
+							  paddingTop="10" paddingBottom="10"/>
+		</s:layout>
+         
+         <s:Label width="100%" color="0x323232"
+            text="Click the button to increment the progress bar." />
+        <s:Button id="Speed" label="Run" click="runit();" color="0x323232"/>
+            
+        <mx:ProgressBar id="bar" labelPlacement="bottom" minimum="0" visible="true" maximum="100"
+         	color="0x323232" label="CurrentProgress 0%" direction="right" mode="manual" width="100%"/>
+            
+	</s:Panel>
+	
+</s:Application>

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/ProgressBarExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/ProgressBarExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/ProgressBarExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/ProgressBarExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/RadioButtonExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/RadioButtonExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/RadioButtonExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/RadioButtonExample.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,95 @@
+<?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" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx" 
+			   viewSourceURL="srcview/index.html">
+
+	<fx:Script>
+		<![CDATA[
+			protected function scoreClickHandler(event:MouseEvent):void
+			{
+				var score:Number = 0.0;
+				
+				if (group1.selectedValue=="True")
+					score=33.34;
+				if (group2.selectedValue=="South Africa")
+					score=score+33.34;
+				if (group3.selectedValue=="False")
+					score=score+33.34;
+				scoreText.text = "You scored " + numberFormatter.format(score).toString()+"%";
+			}
+		]]>
+	</fx:Script>
+	<fx:Declarations>
+		<s:RadioButtonGroup id="group1"/>
+		<s:RadioButtonGroup id="group2"/>
+		<s:RadioButtonGroup id="group3"/>
+		<mx:NumberFormatter id="numberFormatter"
+							precision="0"
+							rounding="nearest"/>
+	</fx:Declarations>
+	<fx:Style>
+		@namespace "library://ns.adobe.com/flex/spark";
+		
+		RadioButton{ 
+			baseColor: #FFFFFF; 
+		}
+		
+	</fx:Style>
+	
+	<!-- Note: A custom panel skin is used for the Tour de Flex samples and is included in the
+	source tabs for each sample.	-->
+	<s:Panel title="RadioButton Sample" 
+			 width="100%" height="100%" 
+			 skinClass="skins.TDFPanelSkin">
+		
+		<s:HGroup horizontalCenter="0" top="10">
+			<s:VGroup>
+				<s:Label text="1) The sky is blue:"/>
+				<s:RadioButton id="trueRadioBtn" label="True" groupName="group1"/>
+				<s:RadioButton id="falseRadioBtn" label="False" groupName="group1"/>
+			</s:VGroup>	
+			<s:VGroup paddingLeft="20">
+				<s:Label text="2) Which of the following is not a continent?"/>
+				<s:RadioButton id="multiRadioBtnA" label="North America" groupName="group2"/>
+				<s:RadioButton id="multiRadioBtnB" label="Europe" groupName="group2"/>
+				<s:RadioButton id="multiRadioBtnC" label="Asia" groupName="group2"/>
+				<s:RadioButton id="multiRadioBtnD" label="South Africa" groupName="group2"/>
+			</s:VGroup>
+			<s:VGroup paddingLeft="20">
+				<s:Label text="3) Tallahasee is the capital of Alabama:"/>
+				<s:RadioButton id="trueRadioBtn3" label="True" groupName="group3" />
+				<s:RadioButton id="falseRadioBtn3" label="False" groupName="group3"/>
+			</s:VGroup>
+			<s:VGroup horizontalAlign="contentJustify">
+				<s:Button id="scoreBtn" label="Score Me!" click="scoreClickHandler(event)"/>
+				<s:Label id="scoreText"/>
+			</s:VGroup>
+		</s:HGroup>
+		
+		<s:Label bottom="20" left="5" width="100%" verticalAlign="justify" color="#323232" 
+					  text="The RadioButton control is a single choice in a set of mutually 
+exclusive choices. A RadioButton group is composed of two or more RadioButton controls with
+the same group name. Only one member of the group can be selected at any given time." />
+	</s:Panel>
+	
+		
+</s:Application>

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/RadioButtonExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/RadioButtonExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/RadioButtonExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/RadioButtonExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/RichEditableTextExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/RichEditableTextExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/RichEditableTextExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/RichEditableTextExample.mxml Sat Aug 23 08:47:51 2014
@@ -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.
+
+-->
+<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
+			   xmlns:s="library://ns.adobe.com/flex/spark" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx" 
+			   preinitialize="init();">
+	
+	<!-- Based on samples from Peter DeHaan's blog: http://blog.flexexamples.com/ --> 
+	
+	<fx:Script>
+		import flashx.textLayout.elements.Configuration;
+		import flashx.textLayout.elements.TextFlow;
+		import flashx.textLayout.formats.TextDecoration;
+		import flashx.textLayout.formats.TextLayoutFormat;
+		
+		import spark.events.TextOperationEvent;
+		
+		[Bindable]
+		protected static var lineCount:uint = 0;
+		
+		protected function richEdTxt_changeHandler(evt:TextOperationEvent):void {
+			lineCount = richEdTxt.mx_internal::textContainerManager.numLines;
+			lineCnt.text = lineCount.toString();
+		}
+		
+		protected function init():void {
+			var cfg:Configuration = TextFlow.defaultConfiguration;
+			
+			var normalTLF:TextLayoutFormat = new TextLayoutFormat(cfg.defaultLinkNormalFormat);
+			normalTLF.color = 0xFF0000;
+			
+			var hoverTLF:TextLayoutFormat = new TextLayoutFormat(cfg.defaultLinkHoverFormat);
+			hoverTLF.color = 0xFF00FF;
+			hoverTLF.textDecoration = TextDecoration.NONE;
+			
+			var activeTLF:TextLayoutFormat = new TextLayoutFormat(cfg.defaultLinkActiveFormat);
+			activeTLF.color = 0x00FF00;
+			
+			cfg.defaultLinkNormalFormat = normalTLF;
+			cfg.defaultLinkHoverFormat = hoverTLF;
+			cfg.defaultLinkActiveFormat = activeTLF;
+			TextFlow.defaultConfiguration = cfg;
+		}
+	</fx:Script>
+	<fx:Style>
+		@namespace s "library://ns.adobe.com/flex/spark";
+		@namespace mx "library://ns.adobe.com/flex/mx";
+		
+		s|VGroup s|Label {
+			fontWeight: "bold";
+		}
+	</fx:Style>
+	<s:Panel width="100%" height="100%"
+			 skinClass="skins.TDFPanelSkin"
+			 title="RichEditableText Sample">
+		
+		<s:VGroup id="vgrp" width="100%" height="100%" top="10" left="15">
+			<s:HGroup>
+				<s:Label text="Uneditable text with formatted link:"/>
+				<s:RichEditableText editable="false">
+					<s:content>
+						<s:p>The quick brown <s:a href="http://www.adobe.com/">fox</s:a> jumps over the lazy dog.</s:p>
+					</s:content>
+				</s:RichEditableText>
+			</s:HGroup>
+			<s:HGroup>
+				<s:Label text="Editable text:"/>
+				<s:RichEditableText id="richEdTxt" widthInChars="20" heightInLines="10" 
+									change="richEdTxt_changeHandler(event);" backgroundColor="0xCCCCCC" text="Hello world!">
+				</s:RichEditableText>	
+			</s:HGroup>
+			<s:HGroup>
+				<s:Label text="Line Count of editable text:"/>
+				<s:Label id="lineCnt"/>	
+			</s:HGroup>
+			
+		</s:VGroup>
+		<s:Label width="266" height="180" right="10" top="38" color="0x323232" text="RichEditableText is a low-level UIComponent for displaying, scrolling, selecting, and editing richly-formatted text.
+The rich text can contain clickable hyperlinks and inline graphics that are either embedded or loaded from URLs. RichEditableText does not have scrollbars, but it implements 
+the IViewport interface for programmatic scrolling so that it can be controlled by a Scroller, which does provide scrollbars. It also supports vertical scrolling with the mouse wheel." />
+	</s:Panel>
+	
+</s:Application>

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/RichEditableTextExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/RichEditableTextExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/RichEditableTextExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/RichEditableTextExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/SWFLoaderExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/SWFLoaderExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/SWFLoaderExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/SWFLoaderExample.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,56 @@
+<?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" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx" 
+			   skinClass="TDFGradientBackgroundSkin"
+			   creationComplete="init()">
+	
+	<fx:Script>
+		<![CDATA[
+			private function init():void{
+				swfObj.content.addEventListener("SWF_EVENT",ballHandler);
+			}
+			private function ballHandler(ev:Event):void{
+				txt.text = "Flash content embedded at compile time | " + ev.target.ballCnt + " gumballs left";
+			}
+		]]>
+	</fx:Script>
+	
+	<s:layout>
+		<s:HorizontalLayout horizontalAlign="center" />
+	</s:layout>
+	
+	<s:Panel title="SWFLoader Control" color="0x000000" 
+			 borderAlpha="0.15" 
+			 width="600">
+		
+		<s:layout>
+			<s:VerticalLayout horizontalAlign="center" 
+							  paddingLeft="10" paddingRight="10" 
+							  paddingTop="10" paddingBottom="10"/>
+		</s:layout>
+		
+		<s:Label id="txt" color="0x323232" fontWeight="bold" text="Flash content embedded at compile time | 10 gumballs left" />
+		
+		<mx:SWFLoader id="swfObj" source="@Embed('assets/swf_sample.swf')"  />
+	</s:Panel>
+	
+</s:Application>

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/SWFLoaderExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/SampleHelpFormExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/SampleHelpFormExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/SampleHelpFormExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/SampleHelpFormExample.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,44 @@
+<?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" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx" backgroundColor="haloSilver" fontSize="14">
+	
+	<s:Form horizontalCenter="0">
+		<s:FormItem label="Enter some text">
+			<s:TextInput/>
+			<s:helpContent>
+				<s:Label text="I've fallen and I can't get up!"/>
+			</s:helpContent>
+		</s:FormItem>
+		<s:FormItem label="Check a box">
+			<s:CheckBox label="option 1"/>
+			<s:CheckBox label="option 2"/>
+			<s:helpContent>
+				<s:Label text="What does it mean?"/>
+				<s:Button label="?" width="30" x="120"/>
+			</s:helpContent>
+		</s:FormItem>
+		<s:FormItem>
+			<s:Button label="Submit!"/>
+		</s:FormItem>
+	</s:Form>
+	
+</s:Application>
\ No newline at end of file

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/SampleHelpFormExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/SampleHelpFormExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/SampleHelpFormExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/SampleHelpFormExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/SampleSequenceFormExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/SampleSequenceFormExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/SampleSequenceFormExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/SampleSequenceFormExample.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,37 @@
+<?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" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx" backgroundColor="haloSilver" fontSize="14">
+	
+	<s:Form horizontalCenter="0">
+		<s:FormItem sequenceLabel="1." label="Enter some text">
+			<s:TextInput/>
+		</s:FormItem>
+		<s:FormItem sequenceLabel="2." label="Check a box">
+			<s:CheckBox label="option 1"/>
+			<s:CheckBox label="option 2"/>
+		</s:FormItem>
+		<s:FormItem>
+			<s:Button label="Submit it!"/>
+		</s:FormItem>
+	</s:Form>
+	
+</s:Application>
\ No newline at end of file

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/SampleSequenceFormExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/SampleSequenceFormExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/SampleSequenceFormExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/SampleSequenceFormExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/SampleSimpleFormExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/SampleSimpleFormExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/SampleSimpleFormExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/SampleSimpleFormExample.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,38 @@
+<?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"
+			   xmlns:mx="library://ns.adobe.com/flex/mx"
+			   backgroundColor="haloSilver" fontSize="14">
+	
+	<s:Form horizontalCenter="0">
+		<s:FormItem label="Enter some text">
+			<s:TextInput/>
+		</s:FormItem>
+		<s:FormItem label="Check a box">
+			<s:CheckBox label="option 1"/>
+			<s:CheckBox label="option 2"/>
+		</s:FormItem>
+		<s:FormItem>
+			<s:Button label="Submit it!"/>
+		</s:FormItem>
+	</s:Form>
+
+</s:Application>
\ No newline at end of file

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/SampleSimpleFormExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/SampleSimpleFormExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/SampleSimpleFormExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/SampleSimpleFormExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/SampleStackedFormExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/SampleStackedFormExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/SampleStackedFormExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/SampleStackedFormExample.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,38 @@
+<?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" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx" backgroundColor="haloSilver" fontSize="14">
+	
+	<s:Form skinClass="spark.skins.spark.StackedFormSkin" horizontalCenter="0">
+		<s:FormHeading label="Do some data entry" skinClass="spark.skins.spark.StackedFormHeadingSkin"/>
+		<s:FormItem label="Enter some text" skinClass="spark.skins.spark.StackedFormItemSkin">
+			<s:TextInput/>
+		</s:FormItem>
+		<s:FormItem label="Check a box" skinClass="spark.skins.spark.StackedFormItemSkin">
+			<s:CheckBox label="option 1"/>
+			<s:CheckBox label="option 2"/>
+		</s:FormItem>
+		<s:FormItem skinClass="spark.skins.spark.StackedFormItemSkin">
+			<s:Button label="Submit it!"/>
+		</s:FormItem>
+	</s:Form>
+	
+</s:Application>
\ No newline at end of file

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/SampleStackedFormExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/SampleStackedFormExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/SampleStackedFormExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/SampleStackedFormExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: flex/site/trunk/content/tourdeflex/spark/controls/ScrollBarExample.mxml
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/ScrollBarExample.mxml?rev=1619987&view=auto
==============================================================================
--- flex/site/trunk/content/tourdeflex/spark/controls/ScrollBarExample.mxml (added)
+++ flex/site/trunk/content/tourdeflex/spark/controls/ScrollBarExample.mxml Sat Aug 23 08:47:51 2014
@@ -0,0 +1,85 @@
+<?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:mx="library://ns.adobe.com/flex/mx"
+	xmlns:s="library://ns.adobe.com/flex/spark"  viewSourceURL="srcview/index.html">
+	
+	<s:Panel width="100%" height="100%"
+			 skinClass="skins.TDFPanelSkin"
+			 title="ScrollBar Sample">
+		
+		<s:layout>
+				<s:HorizontalLayout paddingLeft="80" paddingTop="15"/>
+		</s:layout>
+		<mx:Box borderStyle="solid">
+			<s:HGroup>
+				<s:DataGroup id="vertView" left="10" top="20"
+							 clipAndEnableScrolling="true"
+							 itemRenderer="spark.skins.spark.DefaultItemRenderer">
+					<s:layout> 
+						<s:VerticalLayout requestedRowCount="4"/> 
+					</s:layout> 
+					<s:dataProvider> 
+						<s:ArrayCollection> 
+							<fx:String>Flex</fx:String>                
+							<fx:String>Flex JS</fx:String>   
+							<fx:String>Falcon</fx:String>
+							<fx:String>Falcon FX</fx:String>
+						</s:ArrayCollection>
+					</s:dataProvider> 
+				</s:DataGroup> 
+				<s:VScrollBar viewport="{vertView}" 
+							  top="10" 
+							  left="{vertView.x + vertView.width + 10}" 
+							  height="{vertView.height}"/>
+			</s:HGroup>
+		</mx:Box> 
+		<mx:Box borderStyle="solid">
+			<s:HGroup>
+				<s:DataGroup id="horizView" right="200" top="10"
+							 clipAndEnableScrolling="true"
+							 itemRenderer="spark.skins.spark.DefaultItemRenderer">
+					<s:layout> 
+						<s:HorizontalLayout requestedColumnCount="3"/> 
+					</s:layout> 
+					<s:dataProvider> 
+						<s:ArrayCollection> 
+							<fx:String>Flex</fx:String>                
+							<fx:String>Flex JS</fx:String>   
+							<fx:String>Falcon</fx:String>
+							<fx:String>Falcon FX</fx:String>   
+						</s:ArrayCollection>
+					</s:dataProvider> 
+				</s:DataGroup> 
+				
+			</s:HGroup>
+			<s:HScrollBar viewport="{horizView}" 
+						  left="{horizView.left}" 
+						  bottom="{horizView.bottom}" 
+						  width ="{horizView.width}"/>
+		</mx:Box>
+		
+		<s:Label paddingLeft="15" width="199" verticalAlign="justify" color="0x323232"
+				 text="You can add scrollbars to any component to give scrolling capability. This sample shows
+how you can use both a vertical and horizontal ScrollBar. Also see the Scroller sample for more information."/>	
+	</s:Panel>
+</s:Application>
\ No newline at end of file

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/ScrollBarExample.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: flex/site/trunk/content/tourdeflex/spark/controls/ScrollBarExample.swf
URL: http://svn.apache.org/viewvc/flex/site/trunk/content/tourdeflex/spark/controls/ScrollBarExample.swf?rev=1619987&view=auto
==============================================================================
Binary file - no diff available.

Propchange: flex/site/trunk/content/tourdeflex/spark/controls/ScrollBarExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream