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:32:44 UTC

[02/42] TourDeFlex donation from Adobe Systems Inc

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/effects/PauseEffectExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/effects/PauseEffectExample.mxml b/TourDeFlex/TourDeFlex3/src/effects/PauseEffectExample.mxml
new file mode 100755
index 0000000..20b77b8
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/effects/PauseEffectExample.mxml
@@ -0,0 +1,45 @@
+<?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.
+  -->
+
+<!-- Simple example to demonstrate the Pause effect. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Script>
+        <![CDATA[
+            import mx.effects.easing.*;                   
+        ]]>
+    </mx:Script>
+
+    <mx:Sequence id="movePauseMove">
+        <mx:Move xBy="150" duration="2000" easingFunction="Bounce.easeOut"/>
+        <mx:Pause duration="2000"/>
+        <mx:Move xBy="-150" duration="2000" easingFunction="Bounce.easeIn"/>
+    </mx:Sequence>
+
+    <mx:Panel title="Pause Effect Example" width="75%" height="75%" 
+        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
+
+        <mx:Text width="100%" color="blue" 
+		    text="Click the phone image to start the Sequence effect. The effect pauses for 2 seconds between moves."/>
+
+        <mx:Image
+            source="@Embed(source='assets/Nokia_6630.png')" 
+            mouseDownEffect="{movePauseMove}"/>
+
+    </mx:Panel>
+</mx:Application>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/effects/ResizeEffectExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/effects/ResizeEffectExample.mxml b/TourDeFlex/TourDeFlex3/src/effects/ResizeEffectExample.mxml
new file mode 100755
index 0000000..a4fd29a
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/effects/ResizeEffectExample.mxml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- Simple example to demonstrate the Resize effect. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Resize id="expand" target="{img}" widthTo="100" heightTo="200"/>
+    <mx:Resize id="contract" target="{img}" widthTo="30" heightTo="60"/>
+
+    <mx:Panel title="Resize Effect Example" width="100%" height="100%" 
+        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
+
+        <mx:Text width="100%" color="blue" 
+            text="Use the Button controls to resize the image."/>
+
+        <mx:Image id="img" width="30" height="60"
+            source="@Embed(source='assets/Nokia_6630.png')"/>
+
+        <mx:ControlBar>
+            <mx:Button label="Expand" click="expand.end(); expand.play();"/>
+            <mx:Button label="Contract" click="contract.end(); contract.play();"/>
+        </mx:ControlBar>
+
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/effects/RotateEffectExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/effects/RotateEffectExample.mxml b/TourDeFlex/TourDeFlex3/src/effects/RotateEffectExample.mxml
new file mode 100755
index 0000000..566b465
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/effects/RotateEffectExample.mxml
@@ -0,0 +1,63 @@
+<?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.
+  -->
+
+<!-- Simple example to demonstrate the Rotate effect. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
+    initialize="Font.registerFont(myriad_font);">
+
+    <mx:Script>
+        <![CDATA[
+
+            import flash.text.Font;
+            
+            [Embed("assets/MyriadWebPro.ttf", fontName="MyMyriad")]
+            public var myriad_font:Class;
+
+            [Bindable]
+            public var angle:int=0;
+
+            private function rotateImage():void {
+                rotate.end();
+                angle += 45;
+                rotate.play();
+            }
+      ]]>
+    </mx:Script>
+
+    <mx:Rotate id="rotate" angleFrom="{angle-45}" angleTo="{angle}" target="{myVB}"/>
+
+    <mx:Panel title="Rotate Effect Example" horizontalAlign="center" 
+        width="75%" height="75%" layout="horizontal"
+        paddingTop="5" paddingLeft="10" paddingRight="10" paddingBottom="5">
+
+        <mx:VBox id="myVB" width="50%" horizontalAlign="center">
+            <mx:Label text="Nokia 9930"  
+                fontFamily="MyMyriad" fontSize="14"/>
+
+            <mx:Image id="img" 
+                source="@Embed(source='assets/Nokia_6630.png')"/>
+        </mx:VBox>
+
+        <mx:Text width="50%" color="blue" 
+            text="Click the button to rotate the image 45 degrees. Use an embedded font when applying the Rotate effect to text."/>
+
+        <mx:ControlBar>
+            <mx:Button label="Rotate 45 Degrees" click="rotateImage();"/>
+        </mx:ControlBar>
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/effects/SequenceEffectExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/effects/SequenceEffectExample.mxml b/TourDeFlex/TourDeFlex3/src/effects/SequenceEffectExample.mxml
new file mode 100755
index 0000000..36dbe3f
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/effects/SequenceEffectExample.mxml
@@ -0,0 +1,45 @@
+<?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.
+  -->
+
+<!-- Simple example to demonstrate the Sequence effect. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Script>
+        <![CDATA[
+            import mx.effects.easing.*;                   
+        ]]>
+    </mx:Script>
+
+    <mx:Sequence id="movePauseMove">
+        <mx:Move xBy="150" duration="2000" easingFunction="Bounce.easeOut"/>
+        <mx:Pause duration="2000"/>
+        <mx:Move xBy="-150" duration="2000" easingFunction="Bounce.easeIn"/>
+    </mx:Sequence>
+
+    <mx:Panel title="Sequence Effect Example" width="75%" height="75%" 
+        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
+
+        <mx:Text width="100%" color="blue" 
+		    text="Click the phone image to start the Sequence effect. The effect pauses for 2 seconds between moves."/>
+
+        <mx:Image
+            source="@Embed(source='assets/Nokia_6630.png')" 
+            mouseDownEffect="{movePauseMove}"/>
+
+    </mx:Panel>
+</mx:Application>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/effects/SimpleEffectExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/effects/SimpleEffectExample.mxml b/TourDeFlex/TourDeFlex3/src/effects/SimpleEffectExample.mxml
new file mode 100755
index 0000000..ed17a6e
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/effects/SimpleEffectExample.mxml
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- Simple example to demonstrate the Effect class. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Script>
+        <![CDATA[
+
+            import mx.controls.Alert;
+
+            // Event handler for the effectEnd event.            
+            private function endEffectHandler():void {
+                Alert.show("Effect Ended!");
+            }
+
+            // Event handler for the reset button.            
+            private function resetHandler():void {
+                expand.end(); 
+                img.width=30; 
+                img.height=60; 
+                button1.enabled=true;
+            }
+        ]]>
+    </mx:Script>
+
+
+    <mx:Resize id="expand" target="{img}" widthTo="100" heightTo="200" 
+        duration="10000" effectEnd="endEffectHandler();"/>
+
+    <mx:Panel title="Resize Effect Example" width="100%" height="100%" 
+        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
+
+        <mx:Text width="100%" color="blue" 
+            text="Use the Button controls to control the Resize effect."/>
+
+        <mx:Image id="img" width="30" height="60"
+            source="@Embed(source='assets/Nokia_6630.png')"/>
+     
+        <mx:ControlBar>
+            <mx:Button id="button1" label="Start" click="expand.play(); button1.enabled=false;"/>
+            <mx:Button label="Pause" click="expand.pause();"/>
+            <mx:Button label="Resume" click="expand.resume();"/>
+            <mx:Button label="Reverse" click="expand.reverse();"/>
+            <mx:Button label="End" click="expand.end();"/>
+            <mx:Button label="Reset" click="resetHandler();"/>
+        </mx:ControlBar>
+        
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/effects/SimpleTweenEffectExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/effects/SimpleTweenEffectExample.mxml b/TourDeFlex/TourDeFlex3/src/effects/SimpleTweenEffectExample.mxml
new file mode 100755
index 0000000..7488a8a
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/effects/SimpleTweenEffectExample.mxml
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- Simple example to demonstrate the TweenEffect class. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Script>
+        <![CDATA[
+        
+            import mx.events.TweenEvent;
+
+            // Event handler for the tweenUpdate and tweenEnd effects.            
+            private function tweenUpdateHandler(event:TweenEvent):void {
+                // Access current width of the image.
+                currentWidth.text="Current width (in pixels): " + String(event.value[0]);
+            }
+
+            // Event handler for the reset button.            
+            private function resetHandler():void {
+                expand.end(); 
+                img.width=30; 
+                currentWidth.text="Current width (in pixels): 30";                
+                img.height=60; 
+                button1.enabled=true;
+            }
+        ]]>
+    </mx:Script>
+
+    <mx:Resize id="expand" target="{img}" widthTo="100" heightTo="200" 
+        duration="10000" 
+        tweenUpdate="tweenUpdateHandler(event);" 
+        tweenEnd="tweenUpdateHandler(event);"/>
+
+    <mx:Panel title="Resize Effect Example" width="100%" height="100%" 
+        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
+
+        <mx:Text width="100%" color="blue" 
+            text="Use the Button controls to resize the image."/>
+
+        <mx:HBox width="100%">
+            <mx:Image id="img" width="30" height="60"
+                source="@Embed(source='assets/Nokia_6630.png')"/>
+            <mx:Text id="currentWidth" height="20" width="100%"/>     
+        </mx:HBox>
+            
+        <mx:ControlBar>
+            <mx:Button id="button1" label="Start" click="expand.play(); button1.enabled=false;"/>
+            <mx:Button label="Pause" click="expand.pause();"/>
+            <mx:Button label="Resume" click="expand.resume();"/>
+            <mx:Button label="Reverse" click="expand.reverse();"/>
+            <mx:Button label="End" click="expand.end();"/>
+            <mx:Button label="Reset" click="resetHandler();"/>
+        </mx:ControlBar>
+        
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/effects/SoundEffectExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/effects/SoundEffectExample.mxml b/TourDeFlex/TourDeFlex3/src/effects/SoundEffectExample.mxml
new file mode 100755
index 0000000..63b1d3f
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/effects/SoundEffectExample.mxml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- Simple example to demonstrate the SoundEffect effect. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:SoundEffect id="mySounds" source="@Embed(source='assets/jazz.mp3')"/>
+
+    <mx:Panel title="Sound Effect Example" width="75%" height="75%" 
+        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
+
+        <mx:Label width="100%" color="blue" 
+            text="Click on the phone to hear the sound effect."/>
+
+        <mx:Image id="flex" source="@Embed(source='assets/Nokia_6630.png')" 
+            mouseDownEffect="{mySounds}"/>
+
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/effects/WipeDownExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/effects/WipeDownExample.mxml b/TourDeFlex/TourDeFlex3/src/effects/WipeDownExample.mxml
new file mode 100755
index 0000000..c57aab7
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/effects/WipeDownExample.mxml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- Simple example to demonstrate the WipeDown effect. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:WipeDown id="wipeOut" duration="1000"/>
+    <mx:WipeDown id="wipeIn" duration="1000"/>
+
+    <mx:Panel title="WipeDown Effect Example" width="95%" height="95%" 
+        paddingTop="5" paddingLeft="10" paddingRight="10" paddingBottom="5">
+
+        <mx:Text width="100%" color="blue" 
+            text="Use the WipeDown effect to show or hide the text and image."/>
+
+        <mx:Label text="Nokia 9930"  
+            fontSize="14"
+            visible="{cb1.selected}"
+            hideEffect="{wipeOut}" showEffect="{wipeIn}"/>
+			
+        <mx:Image source="@Embed(source='assets/Nokia_6630.png')" 
+            visible="{cb1.selected}"
+            hideEffect="{wipeOut}" showEffect="{wipeIn}"/>
+            
+        <mx:CheckBox id="cb1" label="visible" selected="true"/>
+
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/effects/WipeLeftExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/effects/WipeLeftExample.mxml b/TourDeFlex/TourDeFlex3/src/effects/WipeLeftExample.mxml
new file mode 100755
index 0000000..d9365e3
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/effects/WipeLeftExample.mxml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- Simple example to demonstrate the WipeLeft effect. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:WipeLeft id="wipeOut" duration="1000"/>
+    <mx:WipeLeft id="wipeIn" duration="1000"/>
+
+    <mx:Panel title="WipeLeft Effect Example" width="95%" height="95%" 
+        paddingTop="5" paddingLeft="10" paddingRight="10" paddingBottom="5">
+
+        <mx:Text width="100%" color="blue" 
+            text="Use the WipeLeft effect to show or hide the text and image."/>
+
+        <mx:Label text="Nokia 9930"  
+            fontSize="14"
+            visible="{cb1.selected}"
+            hideEffect="{wipeOut}" showEffect="{wipeIn}"/>
+			
+        <mx:Image source="@Embed(source='assets/Nokia_6630.png')" 
+            visible="{cb1.selected}"
+            hideEffect="{wipeOut}" showEffect="{wipeIn}"/>
+            
+        <mx:CheckBox id="cb1" label="visible" selected="true"/>
+
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/effects/WipeRightExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/effects/WipeRightExample.mxml b/TourDeFlex/TourDeFlex3/src/effects/WipeRightExample.mxml
new file mode 100755
index 0000000..76d3efe
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/effects/WipeRightExample.mxml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- Simple example to demonstrate the WipeRight effect. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:WipeRight id="wipeOut" duration="1000"/>
+    <mx:WipeRight id="wipeIn" duration="1000"/>
+
+    <mx:Panel title="WipeRight Effect Example" width="95%" height="95%" 
+        paddingTop="5" paddingLeft="10" paddingRight="10" paddingBottom="5">
+
+        <mx:Text width="100%" color="blue" 
+            text="Use the WipeRight effect to show or hide the text and image."/>
+
+        <mx:Label text="Nokia 9930"  
+            fontSize="14"
+            visible="{cb1.selected}"
+            hideEffect="{wipeOut}" showEffect="{wipeIn}"/>
+			
+        <mx:Image source="@Embed(source='assets/Nokia_6630.png')" 
+            visible="{cb1.selected}"
+            hideEffect="{wipeOut}" showEffect="{wipeIn}"/>
+            
+        <mx:CheckBox id="cb1" label="visible" selected="true"/>
+
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/effects/WipeUpExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/effects/WipeUpExample.mxml b/TourDeFlex/TourDeFlex3/src/effects/WipeUpExample.mxml
new file mode 100755
index 0000000..5508f82
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/effects/WipeUpExample.mxml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- Simple example to demonstrate the WipeUp effect. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:WipeUp id="wipeOut" duration="1000"/>
+    <mx:WipeUp id="wipeIn" duration="1000"/>
+
+    <mx:Panel title="WipeUp Effect Example" width="95%" height="95%" 
+        paddingTop="5" paddingLeft="10" paddingRight="10" paddingBottom="5">
+
+        <mx:Text width="100%" color="blue" 
+            text="Use the WipeUp effect to show or hide the text and image."/>
+
+        <mx:Label text="Nokia 9930"  
+            fontSize="14"
+            visible="{cb1.selected}"
+            hideEffect="{wipeOut}" showEffect="{wipeIn}"/>
+			
+        <mx:Image source="@Embed(source='assets/Nokia_6630.png')" 
+            visible="{cb1.selected}"
+            hideEffect="{wipeOut}" showEffect="{wipeIn}"/>
+            
+        <mx:CheckBox id="cb1" label="visible" selected="true"/>
+
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/effects/ZoomEffectExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/effects/ZoomEffectExample.mxml b/TourDeFlex/TourDeFlex3/src/effects/ZoomEffectExample.mxml
new file mode 100755
index 0000000..54287b2
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/effects/ZoomEffectExample.mxml
@@ -0,0 +1,54 @@
+<?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.
+  -->
+
+<!-- Simple example to demonstrate the Zoom effect. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Script>
+        <![CDATA[		
+            import flash.events.MouseEvent;
+		
+            public function doZoom(event:MouseEvent):void {
+                if (zoomAll.isPlaying) {
+                    zoomAll.reverse();
+                }
+                else {
+                    // If this is a ROLL_OUT event, play the effect backwards. 
+                    // If this is a ROLL_OVER event, play the effect forwards.
+                    zoomAll.play([event.target], event.type == MouseEvent.ROLL_OUT ? true : false);
+                }
+            }
+        ]]>	
+    </mx:Script>
+
+    <mx:Zoom id="zoomAll" zoomWidthTo="1" zoomHeightTo="1" zoomWidthFrom=".5" zoomHeightFrom=".5"  />
+	
+    <mx:Panel title="Zoom Effect Example" width="95%" height="95%" horizontalAlign="center"
+        paddingTop="5" paddingLeft="10" paddingRight="10" paddingBottom="5">
+
+        <mx:Text width="100%" color="blue"
+            text="Move the mouse over the image to enlarge it. Move the mouse off of the image to shrink it."/>
+
+        <mx:Image id="img"
+            source="@Embed(source='assets/Nokia_6630.png')"
+            scaleX=".5" scaleY=".5"
+            rollOver="doZoom(event)"
+            rollOut="doZoom(event)"/>
+
+    </mx:Panel>
+</mx:Application>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/effects/assets/jazz.mp3
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/effects/assets/jazz.mp3 b/TourDeFlex/TourDeFlex3/src/effects/assets/jazz.mp3
new file mode 100755
index 0000000..4e33af1
Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/effects/assets/jazz.mp3 differ

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/explorer.html
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/explorer.html b/TourDeFlex/TourDeFlex3/src/explorer.html
new file mode 100755
index 0000000..ffcb81c
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/explorer.html
@@ -0,0 +1,67 @@
+<!--
+  ~ 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 -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>Apache Flex 4 Component Explorer</title>
+<script src="AC_OETags.js" language="javascript"></script>
+<style>
+body { margin: 0px; overflow:hidden }
+</style>
+</head>
+
+<body scroll='no'>
+<script language="JavaScript" type="text/javascript">
+<!--
+		AC_FL_RunContent(
+					"src", "explorer",
+					"width", "100%",
+					"height", "100%",
+					"align", "middle",
+					"id", "explorer",
+					"quality", "high",
+					"bgcolor", "#869ca7",
+					"name", "explorer",
+					"allowScriptAccess","sameDomain",
+					"type", "application/x-shockwave-flash",
+					"pluginspage", "http://www.adobe.com/go/getflashplayer"
+	);
+// -->
+</script>
+<noscript>
+	<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
+			id="explorer" width="100%" height="100%"
+			codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
+			<param name="movie" value="explorer.swf" />
+			<param name="quality" value="high" />
+			<param name="bgcolor" value="#869ca7" />
+			<param name="allowScriptAccess" value="sameDomain" />
+			<embed src="explorer.swf" quality="high" bgcolor="#869ca7"
+				width="100%" height="100%" name="explorer" align="middle"
+				play="true"
+				loop="false"
+				quality="high"
+				allowScriptAccess="sameDomain"
+				type="application/x-shockwave-flash"
+				pluginspage="http://www.adobe.com/go/getflashplayer">
+			</embed>
+	</object>
+</noscript>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/explorer.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/explorer.mxml b/TourDeFlex/TourDeFlex3/src/explorer.mxml
new file mode 100755
index 0000000..337f875
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/explorer.mxml
@@ -0,0 +1,78 @@
+<?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:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:explorer="*"
+    width="100%" height="100%" pageTitle="Apache Flex 4 Component Explorer"
+    initialize="sdk.send();">
+
+    <mx:Script>
+        <![CDATA[
+
+        private function treeChanged(event:Event):void
+        {
+            var nodeApp:String = compLibTree.selectedItem.@app;
+            if (nodeApp != null && nodeApp != "")
+            {
+                swfLoader.loadApp(nodeApp + ".swf");
+                vs.loadSource(nodeApp, compLibTree.selectedItem.@src);
+            }
+            else
+            {
+                compLibTree.expandItem(compLibTree.selectedItem, true, true);
+            }
+        }
+
+        private function sdkLoaded():void
+        {
+            explorerTree = XML(sdk.lastResult.node);
+            charts.send();
+        }
+
+        private function chartsLoaded():void
+        {
+            explorerTree.appendChild(charts.lastResult.node);
+            populateTree()
+        }
+
+        //we don't use data binding because the timing of the charts loading can be off
+        private function populateTree():void
+        {
+            compLibTree.dataProvider = explorerTree;
+        }
+        ]]>
+    </mx:Script>
+
+    <mx:XML id="explorerTree"/>
+
+    <mx:HTTPService id="sdk" url="explorer.xml" resultFormat="e4x" result="sdkLoaded();" fault="//do nothing" />
+
+    <mx:HTTPService id="charts" url="charts_explorer.xml" resultFormat="e4x" result="chartsLoaded();" fault="populateTree()" />
+
+    <mx:HDividedBox width="100%" height="100%">
+        <mx:Panel width="30%" height="100%" title="Apache Flex 4 Component Explorer">
+            <mx:Tree id="compLibTree" width="100%" height="100%" showRoot="false" labelField="@label"
+                     change="treeChanged(event);"/>
+        </mx:Panel>
+        <mx:VDividedBox width="100%" height="100%">
+            <explorer:loaderPanel id="swfLoader" width="100%" height="50%"/>
+            <mx:VBox width="100%" height="50%" backgroundColor="#FFFFFF">
+                <explorer:viewsource id="vs" width="100%" height="100%"/>
+            </mx:VBox>
+        </mx:VDividedBox>
+    </mx:HDividedBox>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/explorer.xml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/explorer.xml b/TourDeFlex/TourDeFlex3/src/explorer.xml
new file mode 100755
index 0000000..603a7a5
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/explorer.xml
@@ -0,0 +1,158 @@
+<?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.
+  -->
+
+<compTree>
+    <node label="FrameWork Components">
+
+    <node label="Visual Components">
+        <node label="General Controls">
+            <node label="Alert" app="controls/SimpleAlert"/>
+            <node label="ColorPicker" app="controls/ColorPickerExample"/>
+            <node label="ComboBox" app="controls/SimpleComboBox"/>
+            <node label="DataGrid" app="controls/SimpleDataGrid"/>
+            <node label="HorizontalList" app="controls/HorizontalListExample"/>
+            <node label="HRule" app="controls/SimpleHRule"/>
+            <node label="HScrollBar" app="controls/HScrollBarExample"/>
+            <node label="HSlider" app="controls/SimpleImageHSlider"/>
+            <node label="List" app="controls/SimpleList"/>
+            <node label="NumericStepper" app="controls/NumericStepperExample"/>
+            <node label="ProgressBar" app="controls/SimpleProgressBar"/>
+            <node label="Spacer" app="controls/SpacerExample"/>
+            <node label="TabBar" app="controls/TabBarExample"/>
+            <node label="TileList" app="controls/TileListExample"/>
+            <node label="Tree" app="controls/TreeExample"/>
+            <node label="VRule" app="controls/SimpleVRule"/>
+            <node label="VScrollBar" app="controls/VScrollBarExample"/>
+            <node label="VSlider" app="controls/SimpleImageVSlider"/>
+        </node>
+        <node label="Button Controls">
+            <node label="Button" app="controls/ButtonExample"/>
+            <node label="ButtonBar" app="controls/ButtonBarExample"/>
+            <node label="CheckBox" app="controls/CheckBoxExample"/>
+            <node label="LinkBar" app="controls/LinkBarExample"/>
+            <node label="LinkButton" app="controls/LinkButtonExample"/>
+            <node label="PopUpButton" app="controls/PopUpButtonExample"/>
+            <node label="RadioButton" app="controls/RadioButtonExample"/>
+            <node label="RadioButtonGroup" app="controls/RadioButtonGroupExample"/>
+            <node label="ToggleButtonBar" app="controls/ToggleButtonBarExample"/>
+        </node>
+        <node label="Date Controls">
+            <node label="DateChooser" app="controls/DateChooserExample"/>
+            <node label="DateField" app="controls/DateFieldExample"/>
+        </node>
+        <node label="Loader Controls">
+            <node label="Image" app="controls/SimpleImage"/>
+            <node label="SWFLoader" app="controls/SimpleLoader" src="controls/Local.mxml"/>
+            <node label="VideoDisplay" app="controls/VideoDisplayExample"/>
+        </node>
+        <node label="Menu Controls">
+            <node label="Menu" app="controls/SimpleMenuExample"/>
+            <node label="MenuBar" app="controls/MenuBarExample"/>
+            <node label="PopUpMenuButton" app="controls/PopUpButtonMenuExample"/>
+        </node>
+        <node label="Text Controls">
+            <node label="Label" app="controls/LabelExample"/>
+            <node label="RichTextEditor" app="controls/RichTextEditorExample"/>
+            <node label="Text" app="controls/TextExample"/>
+            <node label="TextArea" app="controls/TextAreaExample"/>
+            <node label="TextInput" app="controls/TextInputExample"/>
+        </node>
+        <node label="Containers">
+            <node label="Application" app="core/SimpleApplicationExample"/>
+            <node label="Accordion" app="containers/AccordionExample"/>
+            <node label="ApplicationControlBar" app="containers/SimpleApplicationControlBarExample"/>
+            <node label="Box" app="containers/SimpleBoxExample"/>
+            <node label="Canvas" app="containers/SimpleCanvasExample"/>
+            <node label="ControlBar" app="containers/SimpleControlBarExample"/>
+            <node label="DividedBox" app="containers/DividedBoxExample"/>
+            <node label="Form, FormHeading, FormItem" app="containers/FormExample"/>
+            <node label="Grid, GridItem, GridRow" app="containers/GridLayoutExample"/>
+            <node label="HBox" app="containers/HBoxExample"/>
+            <node label="HDividedBox" app="containers/HDividedBoxExample"/>
+            <node label="Panel" app="containers/SimplePanelExample"/>
+            <node label="TabNavigator" app="containers/TabNavigatorExample"/>
+            <node label="Tile" app="containers/TileLayoutExample"/>
+            <node label="TitleWindow" app="containers/TitleWindowApp" src="containers/SimpleTitleWindowExample.mxml"/>
+            <node label="VBox" app="containers/VBoxExample"/>
+            <node label="VDividedBox" app="containers/VDividedBoxExample"/>
+            <node label="ViewStack" app="containers/ViewStackExample"/>
+        </node>
+        <node label="Repeater Control">
+            <node label="Repeater" app="core/RepeaterExample"/>
+        </node>
+    </node>
+    <node label="Print Controls">
+        <node label="FlexPrintJob, PrintDataGrid" app="printing/PrintDataGridExample" src="printing/FormPrintView.mxml&amp;printing/FormPrintHeader.mxml&amp;printing/FormPrintFooter.mxml"/>
+    </node>
+    <node label="Validators and Formatters">
+        <node label="Validators">
+            <node label="CreditCardValidator" app="validators/CreditCardValidatorExample"/>
+            <node label="CurrencyValidator" app="validators/CurrencyValidatorExample"/>
+            <node label="DateValidator" app="validators/DateValidatorExample"/>
+            <node label="EmailValidator" app="validators/EmailValidatorExample"/>
+            <node label="NumberValidator" app="validators/NumberValidatorExample"/>
+            <node label="PhoneNumberValidator" app="validators/PhoneNumberValidatorExample"/>
+            <node label="RegExpValidator" app="validators/RegExValidatorExample"/>
+            <node label="SocialSecurityValidator" app="validators/SocialSecurityValidatorExample"/>
+            <node label="StringValidator" app="validators/StringValidatorExample"/>
+            <node label="Validator" app="validators/SimpleValidatorExample"/>
+            <node label="ZipCodeValidator" app="validators/ZipCodeValidatorExample"/>
+        </node>
+        <node label="Formatters">
+            <node label="CurrencyFormatter" app="formatters/CurrencyFormatterExample"/>
+            <node label="DateFormatter" app="formatters/DateFormatterExample"/>
+            <node label="Formatter" app="formatters/SimpleFormatterExample"/>
+            <node label="NumberFormatter" app="formatters/NumberFormatterExample"/>
+            <node label="PhoneFormatter" app="formatters/PhoneFormatterExample"/>
+            <node label="SwitchSymbolFormatter" app="formatters/SwitchSymbolFormatterExample"/>
+            <node label="ZipCodeFormatter" app="formatters/ZipCodeFormatterExample"/>
+        </node>
+    </node>
+    <node label="Effects, View States, and Transitions">
+        <node label="Effects">
+            <node label="AddItemActionEffect" app="effects/AddItemActionEffectExample"/>
+            <node label="AnimateProperty" app="effects/AnimatePropertyEffectExample"/>
+            <node label="Blur" app="effects/BlurEffectExample"/>
+            <node label="Dissolve" app="effects/DissolveEffectExample"/>
+            <node label="Effect" app="effects/SimpleEffectExample"/>
+            <node label="Fade" app="effects/FadeEffectExample"/>
+            <node label="Glow" app="effects/GlowEffectExample"/>
+            <node label="Iris" app="effects/IrisEffectExample"/>
+            <node label="Move" app="effects/MoveEffectExample"/>
+            <node label="Parallel" app="effects/ParallelEffectExample"/>
+            <node label="Pause" app="effects/PauseEffectExample"/>
+            <node label="RemoveItemActionEffect" app="effects/AddItemActionEffectExample"/>
+            <node label="Resize" app="effects/ResizeEffectExample"/>
+            <node label="Rotate" app="effects/RotateEffectExample"/>
+            <node label="Sequence" app="effects/SequenceEffectExample"/>
+            <node label="SoundEffect" app="effects/SoundEffectExample"/>
+            <node label="WipeDown" app="effects/WipeDownExample"/>
+            <node label="WipeLeft" app="effects/WipeLeftExample"/>
+            <node label="WipeRight" app="effects/WipeRightExample"/>
+            <node label="WipeUp" app="effects/WipeUpExample"/>
+            <node label="Zoom" app="effects/ZoomEffectExample"/>
+        </node>
+        <node label="View States">
+            <node label="State" app="states/StatesExample"/>
+        </node>
+        <node label="Transitions">
+            <node label="Transition" app="states/TransitionExample"/>
+        </node>
+    </node>
+    </node>
+</compTree>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/formatters/CurrencyFormatterExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/formatters/CurrencyFormatterExample.mxml b/TourDeFlex/TourDeFlex3/src/formatters/CurrencyFormatterExample.mxml
new file mode 100755
index 0000000..429f911
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/formatters/CurrencyFormatterExample.mxml
@@ -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.
+  -->
+
+<!-- Simple example to demonstrate the CurrencyFormatter. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Script>
+        <![CDATA[
+
+              import mx.events.ValidationResultEvent;			
+              private var vResult:ValidationResultEvent;
+			
+              // Event handler to validate and format input.
+              private function Format():void {
+              
+                 	vResult = numVal.validate();
+
+    				if (vResult.type==ValidationResultEvent.VALID) {
+                        var temp:Number=Number(priceUS.text); 
+                        formattedUSPrice.text= usdFormatter.format(temp);
+                    }
+                    
+                    else {
+                       formattedUSPrice.text="";
+                    }
+              }
+        ]]>
+    </mx:Script>
+
+    <mx:CurrencyFormatter id="usdFormatter" precision="2" 
+        currencySymbol="$" decimalSeparatorFrom="."
+        decimalSeparatorTo="." useNegativeSign="true" 
+        useThousandsSeparator="true" alignSymbol="left"/>
+
+    <mx:NumberValidator id="numVal" source="{priceUS}" property="text" 
+        allowNegative="true" domain="real"/>
+
+    <mx:Panel title="CurrencyFormatter Example" width="75%" height="75%" 
+        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
+
+        <mx:Form>
+            <mx:FormItem label="Enter U.S. dollar amount:">
+                <mx:TextInput id="priceUS" text="" width="50%"/>
+            </mx:FormItem>
+
+            <mx:FormItem label="Formatted amount: ">
+                <mx:TextInput id="formattedUSPrice" text="" width="50%" editable="false"/>
+            </mx:FormItem>
+
+            <mx:FormItem>
+                <mx:Button label="Validate and Format" click="Format();"/>
+            </mx:FormItem>
+        </mx:Form>
+
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/formatters/DateFormatterExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/formatters/DateFormatterExample.mxml b/TourDeFlex/TourDeFlex3/src/formatters/DateFormatterExample.mxml
new file mode 100755
index 0000000..17a6621
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/formatters/DateFormatterExample.mxml
@@ -0,0 +1,65 @@
+<?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.
+  -->
+
+<!-- Simple example to demonstrate the DateFormatter. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Script>
+        <![CDATA[
+
+            import mx.events.ValidationResultEvent;			
+            private var vResult:ValidationResultEvent;
+
+            // Event handler to validate and format input.            
+            private function Format():void
+            {
+                vResult = dateVal.validate();
+                if (vResult.type==ValidationResultEvent.VALID) {
+                    formattedDate.text=dateFormatter.format(dob.text);
+                }
+              
+                else {
+                    formattedDate.text= "";
+                }
+            }
+        ]]>
+    </mx:Script>
+
+    <mx:DateFormatter id="dateFormatter" formatString="month: MM, day: DD, year: YYYY"/>
+
+    <mx:DateValidator id="dateVal" source="{dob}" property="text" inputFormat="mm/dd/yyyy"/>
+
+    <mx:Panel title="DateFormatter Example" width="95%" height="95%" 
+            paddingTop="10" paddingLeft="5" paddingRight="5" paddingBottom="10">
+
+        <mx:Form width="100%">
+            <mx:FormItem label="Enter date (mm/dd/yyyy):" width="100%">
+                <mx:TextInput id="dob" text=""/>
+            </mx:FormItem>
+
+            <mx:FormItem label="Formatted date: " width="100%">
+                <mx:TextInput id="formattedDate" text="" editable="false"/>
+            </mx:FormItem>
+
+            <mx:FormItem>
+                <mx:Button label="Validate and Format" click="Format();"/>
+            </mx:FormItem>
+        </mx:Form>
+
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/formatters/NumberFormatterExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/formatters/NumberFormatterExample.mxml b/TourDeFlex/TourDeFlex3/src/formatters/NumberFormatterExample.mxml
new file mode 100755
index 0000000..e452b5d
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/formatters/NumberFormatterExample.mxml
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- Simple example to demonstrate NumberFormatter. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Script>
+        <![CDATA[
+
+          import mx.events.ValidationResultEvent;			
+          private var vResult:ValidationResultEvent;
+
+          // Event handler to validate and format input.            
+          private function Format():void
+          {
+             vResult = numVal.validate();
+			 if (vResult.type==ValidationResultEvent.VALID) {
+			 
+                formattedNumber.text= numberFormatter.format(inputVal.text);
+             }
+             
+             else {
+                formattedNumber.text= "";
+             }
+          }
+      ]]>      
+    </mx:Script>
+
+    <mx:NumberFormatter id="numberFormatter" precision="4" 
+        useThousandsSeparator="true" useNegativeSign="true"/>
+
+    <mx:NumberValidator id="numVal" source="{inputVal}" property="text" 
+        allowNegative="true" domain="real"/>
+
+    <mx:Panel title="NumberFormatter Example" width="75%" height="75%" 
+            paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
+
+        <mx:Form>
+            <mx:FormItem label="Enter number:">
+                <mx:TextInput id="inputVal" text="" width="50%"/>
+            </mx:FormItem>
+
+            <mx:FormItem label="Formatted number (precision=4): ">
+                <mx:TextInput id="formattedNumber" editable="false" width="50%"/>
+            </mx:FormItem>
+
+            <mx:FormItem>
+                <mx:Button label="Validate and Format" click="Format();"/>
+            </mx:FormItem>
+        </mx:Form>
+        
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/formatters/PhoneFormatterExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/formatters/PhoneFormatterExample.mxml b/TourDeFlex/TourDeFlex3/src/formatters/PhoneFormatterExample.mxml
new file mode 100755
index 0000000..f507a17
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/formatters/PhoneFormatterExample.mxml
@@ -0,0 +1,67 @@
+<?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.
+  -->
+
+<!-- Simple example to demonstrate PhoneFormatter. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Script>
+        <![CDATA[
+                
+            import mx.events.ValidationResultEvent;			
+            private var vResult:ValidationResultEvent;
+
+            // Event handler to validate and format input.            
+            private function Format():void
+            {
+                vResult = pnVal.validate();
+                if (vResult.type==ValidationResultEvent.VALID) {
+                    formattedPhone.text= phoneFormatter.format(phone.text);
+                }
+              
+                else {
+                    formattedPhone.text= "";
+                }
+            }
+        ]]>
+    </mx:Script>
+
+    <mx:PhoneFormatter id="phoneFormatter" 
+        formatString="(###) ###-####" validPatternChars="#-() "/>
+
+    <mx:PhoneNumberValidator id="pnVal" source="{phone}" property="text" 
+            allowedFormatChars=""/>
+
+    <mx:Panel title="PhoneFormatter Example" width="75%" height="75%" 
+            paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
+
+        <mx:Form>
+            <mx:FormItem label="Enter a 10-digit phone number:">
+                <mx:TextInput id="phone" text="" width="75%"/>
+            </mx:FormItem>
+
+            <mx:FormItem label="Formatted phone number: ">
+                <mx:TextInput id="formattedPhone" text="" width="75%" editable="false"/>
+            </mx:FormItem>
+
+            <mx:FormItem>
+                <mx:Button label="Validate and Format" click="Format();"/>
+            </mx:FormItem>
+        </mx:Form>
+
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/formatters/SimpleFormatterExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/formatters/SimpleFormatterExample.mxml b/TourDeFlex/TourDeFlex3/src/formatters/SimpleFormatterExample.mxml
new file mode 100755
index 0000000..bf19ebd
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/formatters/SimpleFormatterExample.mxml
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- Simple example to demonstrate the Formatter class. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Script>
+        <![CDATA[
+
+            // Event handler to format the input.            
+            private function Format():void
+            {
+                // The format() method returns the formatted String,
+                // or an empty String if there is an error.
+                var formattedVal:String = numberFormatter.format(inputVal.text);
+
+                if (formattedVal.length==0) {
+                    // If there is an error, the Format.error property 
+                    // contains the reason.
+                	formattedNumber.text=numberFormatter.error;
+                }
+                
+                else {
+                    formattedNumber.text=formattedVal;
+                }
+            }
+        ]]>
+    </mx:Script>
+
+    <mx:NumberFormatter id="numberFormatter"/>
+
+    <mx:Panel title="NumberFormatter Example" width="75%" height="75%" 
+            paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
+
+        <mx:Form>
+            <mx:FormItem label="Enter number - a letter is invalid:">
+                <mx:TextInput id="inputVal" text="" width="75%"/>
+            </mx:FormItem>
+
+            <mx:FormItem label="Formatted number: ">
+                <mx:TextInput id="formattedNumber" editable="false" width="75%"/>
+            </mx:FormItem>
+
+            <mx:FormItem>
+                <mx:Button label="Validate and Format" click="Format();"/>
+            </mx:FormItem>
+        </mx:Form>
+  
+    </mx:Panel>
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/formatters/SwitchSymbolFormatterExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/formatters/SwitchSymbolFormatterExample.mxml b/TourDeFlex/TourDeFlex3/src/formatters/SwitchSymbolFormatterExample.mxml
new file mode 100755
index 0000000..82adc44
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/formatters/SwitchSymbolFormatterExample.mxml
@@ -0,0 +1,61 @@
+<?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.
+  -->
+
+<!-- Simple example to demonstrate SwitchSymbolFormatter. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Script>
+        <![CDATA[
+        
+            import mx.formatters.SwitchSymbolFormatter;                
+            import mx.events.ValidationResultEvent;			
+            
+            private var vResult:ValidationResultEvent;
+
+            // Event handler to validate and format input.            
+            private function Format():void
+            {
+                vResult = scVal.validate();
+
+                if (vResult.type==ValidationResultEvent.VALID) {
+                    var switcher:SwitchSymbolFormatter=new SwitchSymbolFormatter('#');
+
+                    formattedSCNumber.text = 
+                        switcher.formatValue("Formatted Social Securty number: ###-##-#### ", scNum.text);
+                }
+
+                else {
+                    formattedSCNumber.text= "";
+                }
+            }
+        ]]>
+    </mx:Script>
+
+    <mx:SocialSecurityValidator id="scVal" source="{scNum}" property="text"/>
+
+    <mx:Panel title="SwitchSymbolFormatter Example" width="75%" height="75%" 
+            paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
+
+        <mx:Label text="Enter a 9 digit Social Security number with no separator characters:"/>
+        <mx:TextInput id="scNum" text="" maxChars="9" width="50%"/>
+
+        <mx:Button label="Validate and Format" click="Format();"/>
+        <mx:TextInput id="formattedSCNumber" editable="false" width="75%"/>
+
+    </mx:Panel>
+</mx:Application>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/formatters/ZipCodeFormatterExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/formatters/ZipCodeFormatterExample.mxml b/TourDeFlex/TourDeFlex3/src/formatters/ZipCodeFormatterExample.mxml
new file mode 100755
index 0000000..b5f61ed
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/formatters/ZipCodeFormatterExample.mxml
@@ -0,0 +1,66 @@
+<?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.
+  -->
+
+<!-- Simple example to demonstrate ZipCodeFormatter. -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Script>
+        <![CDATA[
+
+            import mx.events.ValidationResultEvent;			
+            private var vResult:ValidationResultEvent;
+
+            // Event handler to validate and format input.
+            private function Format():void 
+            {
+                vResult = zcVal.validate();
+                
+                if (vResult.type==ValidationResultEvent.VALID) {
+                    formattedZipcode.text= zipFormatter.format(zip.text);
+                }
+                
+                else {
+                    formattedZipcode.text= "";
+                }
+            }
+        ]]>      
+    </mx:Script>
+
+    <mx:ZipCodeFormatter id="zipFormatter" formatString="#####-####"/>
+
+    <mx:ZipCodeValidator id="zcVal" source="{zip}" property="text" allowedFormatChars=""/>
+
+    <mx:Panel title="ZipCodeFormatter Example" width="75%" height="75%" 
+            paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
+
+        <mx:Form width="100%">
+            <mx:FormItem label="Enter a 5 or 9 digit U.S. ZIP code:" width="100%">
+                <mx:TextInput id="zip" text=""/>
+            </mx:FormItem>
+
+            <mx:FormItem label="Formatted ZIP code: " width="100%">
+                <mx:TextInput id="formattedZipcode" text="" editable="false"/>
+            </mx:FormItem>
+
+            <mx:FormItem>
+                <mx:Button label="Validate and Format" click="Format();"/>
+            </mx:FormItem>
+        </mx:Form>
+
+    </mx:Panel>
+</mx:Application>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/loaderPanel.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/loaderPanel.mxml b/TourDeFlex/TourDeFlex3/src/loaderPanel.mxml
new file mode 100755
index 0000000..a67ea26
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/loaderPanel.mxml
@@ -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.
+  -->
+
+<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml"
+		  horizontalAlign="center" headerHeight="10">
+   <mx:Script>
+     <![CDATA[
+     
+	public function loadApp(swfApp:String):void
+    {
+    	myLoader.source = swfApp;
+    }
+    
+    ]]>
+  </mx:Script>
+
+<mx:SWFLoader id="myLoader" width="100%" height="100%" />
+
+</mx:Panel>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/printing/AdvancedPrintDataGridExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/printing/AdvancedPrintDataGridExample.mxml b/TourDeFlex/TourDeFlex3/src/printing/AdvancedPrintDataGridExample.mxml
new file mode 100755
index 0000000..7e116cc
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/printing/AdvancedPrintDataGridExample.mxml
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- printing\ADGPrint.mxml -->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
+
+    <mx:Script>
+        <![CDATA[
+            import mx.printing.*;
+            import mx.collections.ArrayCollection;
+            import mx.printing.PrintAdvancedDataGrid;
+                    
+            // Create a PrintJob instance.
+            private function doPrint():void {
+                // Create an instance of the FlexPrintJob class.
+                var printJob:FlexPrintJob = new FlexPrintJob();
+                
+                // Initialize the PrintAdvancedDataGrid control.
+                var printADG:PrintAdvancedDataGrid = 
+                    new PrintAdvancedDataGrid();
+                // Exclude the PrintAdvancedDataGrid control from layout.
+                printADG.includeInLayout = false;
+                printADG.source = adg;
+
+                // Add the print-specific control to the application.                
+                addChild(printADG);
+                
+                // Start the print job.
+                if (printJob.start() == false) {                
+                    // User cancelled print job.
+                    // Remove the print-specific control to free memory.                
+                    removeChild(printADG);
+                    return;
+                }
+
+                // Add the object to print. Do not scale it.
+                printJob.addObject(printADG, FlexPrintJobScaleType.NONE);
+
+                // Send the job to the printer.
+                printJob.send();
+
+                // Remove the print-specific control to free memory.                
+                removeChild(printADG);
+            }
+            
+            [Bindable]
+            private var dpHierarchy:ArrayCollection = new ArrayCollection([
+              {Region:"Southwest", children: [
+                 {Region:"Arizona", children: [ 
+                    {Territory_Rep:"Barbara Jennings", Actual:38865, Estimate:40000}, 
+                    {Territory_Rep:"Dana Binn", Actual:29885, Estimate:30000}]},  
+                 {Region:"Central California", children: [ 
+                    {Territory_Rep:"Joe Smith", Actual:29134, Estimate:30000}]},  
+                 {Region:"Nevada", children: [ 
+                    {Territory_Rep:"Bethany Pittman", Actual:52888, Estimate:45000}]},  
+                 {Region:"Northern California", children: [ 
+                    {Territory_Rep:"Lauren Ipsum", Actual:38805, Estimate:40000}, 
+                    {Territory_Rep:"T.R. Smith", Actual:55498, Estimate:40000}]},  
+                 {Region:"Southern California", children: [ 
+                    {Territory_Rep:"Alice Treu", Actual:44985, Estimate:45000}, 
+                    {Territory_Rep:"Jane Grove", Actual:44913, Estimate:45000}]}
+              ]}
+            ]);
+            
+        ]]>
+    </mx:Script>
+
+    <mx:Panel title="PrintAdvancedDataGrid Control Example"
+        height="75%" width="75%" layout="horizontal"
+        paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">
+
+        <mx:AdvancedDataGrid id="adg"
+            width="100%" height="100%">
+            <mx:dataProvider>
+                <mx:HierarchicalData source="{dpHierarchy}"/>
+            </mx:dataProvider>
+            <mx:columns>
+                <mx:AdvancedDataGridColumn dataField="Region"/>
+                <mx:AdvancedDataGridColumn dataField="Territory_Rep"
+                    headerText="Territory Rep"/>
+                <mx:AdvancedDataGridColumn dataField="Actual"/>
+                <mx:AdvancedDataGridColumn dataField="Estimate"/>
+            </mx:columns>
+        </mx:AdvancedDataGrid>    
+
+        <mx:Button id="myButton" 
+            label="Print" 
+            click="doPrint();"/>
+    </mx:Panel>    
+</mx:Application>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/printing/FormPrintFooter.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/printing/FormPrintFooter.mxml b/TourDeFlex/TourDeFlex3/src/printing/FormPrintFooter.mxml
new file mode 100755
index 0000000..7e34d2a
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/printing/FormPrintFooter.mxml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- Custom control for the footer area of the printed page. -->
+
+<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="60%"
+    horizontalAlign="right" >
+    <!-- Declare and initialize the product total variable. -->
+
+    <mx:Script>
+        <![CDATA[
+            [Bindable]
+            public var pTotal:Number = 0;
+        ]]>
+    </mx:Script>
+    <mx:Label text="Product Total: {pTotal}"/>
+</mx:VBox>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/printing/FormPrintHeader.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/printing/FormPrintHeader.mxml b/TourDeFlex/TourDeFlex3/src/printing/FormPrintHeader.mxml
new file mode 100755
index 0000000..4fc4c19
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/printing/FormPrintHeader.mxml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- Custom control for the header area of the printed page. -->
+
+<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="60%"
+    horizontalAlign="right" >
+
+    <mx:Label text="This is a placeholder for first page contents"/>
+</mx:VBox>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/3dc107b9/TourDeFlex/TourDeFlex3/src/printing/FormPrintView.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/printing/FormPrintView.mxml b/TourDeFlex/TourDeFlex3/src/printing/FormPrintView.mxml
new file mode 100755
index 0000000..c0bea66
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/printing/FormPrintView.mxml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<!--
+  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.
+  -->
+
+<!-- Custom control to print the DataGrid control on multiple pages. -->
+
+<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" backgroundColor="#FFFFFF"
+    paddingTop="50" paddingBottom="50" paddingLeft="50">
+
+    <mx:Script>
+        <![CDATA[
+            import mx.core.*
+            // Declare and initialize the variables used in the component.
+            // The application sets the actual prodTotal value.
+            [Bindable]
+            public var pageNumber:Number = 1;
+            [Bindable]
+            public var prodTotal:Number = 0;
+
+            // Control the page contents by selectively hiding the header and
+            // footer based on the page type.
+            public function showPage(pageType:String):void {
+                if(pageType == "first" || pageType == "middle") {
+                    // Hide the footer.
+                    footer.includeInLayout=false;
+                    footer.visible = false;
+                }
+                if(pageType == "middle" || pageType == "last") {
+                    // The header won't be used again; hide it.
+                    header.includeInLayout=false;
+                    header.visible = false;
+                }
+                if(pageType == "last") {
+                    // Show the footer.
+                    footer.includeInLayout=true;
+                    footer.visible = true;
+                }
+                //Update the DataGrid layout to reflect the results.
+                validateNow();
+            }        
+        ]]>
+    </mx:Script>
+
+    <!-- The template for the printed page, with the contents for all pages. -->
+    <mx:VBox width="80%" horizontalAlign="left">
+        <mx:Label text="Page {pageNumber}"/>
+    </mx:VBox>
+
+    <FormPrintHeader id="header" />
+    <!-- The data grid. The sizeToPage property is true by default, so the last
+        page has only as many grid rows as are needed for the data. -->
+    <mx:PrintDataGrid id="myDataGrid" width="60%" height="100%">
+    <!-- Specify the columns to ensure that their order is correct. -->
+        <mx:columns>
+            <mx:DataGridColumn dataField="Index" />
+            <mx:DataGridColumn dataField="Qty" />
+        </mx:columns>
+    </mx:PrintDataGrid>
+
+    <!-- Create a FormPrintFooter control and set its prodTotal variable. -->
+    <FormPrintFooter id="footer" pTotal="{prodTotal}" />
+
+</mx:VBox>
\ No newline at end of file