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/26 01:35:29 UTC

[44/51] [partial] ADC articles donated by Adobe Systems Inc

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/MyVMItemSkin.as
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/MyVMItemSkin.as b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/MyVMItemSkin.as
new file mode 100644
index 0000000..50bb33b
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/MyVMItemSkin.as
@@ -0,0 +1,179 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 skins
+{
+	import flash.display.GradientType;
+	import flash.display.Graphics;
+	
+	import mx.core.DPIClassification;
+	import mx.core.mx_internal;
+	
+	import spark.components.IconPlacement;
+	import spark.skins.mobile.assets.ViewMenuItem_down;
+	import spark.skins.mobile.assets.ViewMenuItem_showsCaret;
+	import spark.skins.mobile.assets.ViewMenuItem_up;
+	import spark.skins.mobile.supportClasses.ButtonSkinBase;
+	import spark.skins.mobile320.assets.ViewMenuItem_down;
+	import spark.skins.mobile320.assets.ViewMenuItem_showsCaret;
+	import spark.skins.mobile320.assets.ViewMenuItem_up;
+	import spark.skins.mobile.ButtonSkin;
+	
+	use namespace mx_internal;
+	
+	/**
+	 *  Default skin for ViewMenuItem. Supports a label, icon and iconPlacement and draws a background.   
+	 * 
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 2.5 
+	 *  @productversion Flex 4.5
+	 */ 
+	public class MyVMItemSkin extends ButtonSkin
+	{
+		/**
+		 *  Constructor.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 2.5
+		 *  @productversion Flex 4.5
+		 */
+		public function MyVMItemSkin()
+		{
+			super();
+			
+			switch (applicationDPI)
+			{
+				case DPIClassification.DPI_320:
+				{
+					
+					upBorderSkin = spark.skins.mobile320.assets.ViewMenuItem_up;
+					downBorderSkin = spark.skins.mobile320.assets.ViewMenuItem_down;
+					showsCaretBorderSkin = spark.skins.mobile320.assets.ViewMenuItem_showsCaret;
+					
+					layoutGap = 12;
+					layoutPaddingLeft = 12;
+					layoutPaddingRight = 12;
+					layoutPaddingTop = 12;
+					layoutPaddingBottom = 12;
+					layoutBorderSize = 2;   
+					
+					
+					break;
+				}
+				case DPIClassification.DPI_240:
+				{   
+					upBorderSkin = spark.skins.mobile.assets.ViewMenuItem_up;
+					downBorderSkin = spark.skins.mobile.assets.ViewMenuItem_down;
+					showsCaretBorderSkin = spark.skins.mobile.assets.ViewMenuItem_showsCaret;
+					
+					layoutGap = 8;
+					layoutPaddingLeft = 8;
+					layoutPaddingRight = 8;
+					layoutPaddingTop = 8;
+					layoutPaddingBottom = 8;
+					layoutBorderSize = 1;
+					
+					break;
+					
+				}
+				default:
+				{
+					upBorderSkin = spark.skins.mobile.assets.ViewMenuItem_up;
+					downBorderSkin = spark.skins.mobile.assets.ViewMenuItem_down;
+					showsCaretBorderSkin = spark.skins.mobile.assets.ViewMenuItem_showsCaret; 
+					
+					layoutGap = 6;
+					layoutPaddingLeft = 6;
+					layoutPaddingRight = 6;
+					layoutPaddingTop = 6;
+					layoutPaddingBottom = 6;
+					layoutBorderSize = 1;
+				}
+			}
+			
+		}
+		
+		/**
+		 *  Class to use for the border in the showsCaret state.
+		 * 
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 2.5 
+		 *  @productversion Flex 4.5
+		 *       
+		 *  @default Button_down
+		 */ 
+		protected var showsCaretBorderSkin:Class;
+		
+		/**
+		 *  @private
+		 */
+		override protected function getBorderClassForCurrentState():Class
+		{
+			var borderClass:Class = super.getBorderClassForCurrentState();
+			
+			if (currentState == "showsCaret")
+				borderClass = showsCaretBorderSkin;  
+			
+			return borderClass;
+		}
+		
+		/**
+		 *  @private
+		 */
+		override protected function layoutContents(unscaledWidth:Number, unscaledHeight:Number):void
+		{
+			var iconPlacement:String = getStyle("iconPlacement");
+			useCenterAlignment = (iconPlacement == IconPlacement.LEFT)
+				|| (iconPlacement == IconPlacement.RIGHT);
+			
+			super.layoutContents(unscaledWidth, unscaledHeight);
+		}
+		
+		/**
+		 *  @private
+		 */
+		override protected function drawBackground(unscaledWidth:Number, unscaledHeight:Number):void
+		{
+			// omit call to super.drawBackground(), drawRect instead
+			
+			if (currentState == "showsCaret" || currentState == "down")
+			{
+				graphics.beginFill(getStyle("focusColor"));
+			}
+			else
+			{
+				colorMatrix.createGradientBox(unscaledWidth, 
+					unscaledHeight, 
+					Math.PI / 2, 0, 0);
+				var chromeColor:uint = getStyle("chromeColor");
+				
+				graphics.beginGradientFill(GradientType.LINEAR,
+					[chromeColor, chromeColor],
+					[0.0, 0.98],
+					[0, 255],
+					colorMatrix);
+			}
+			
+			graphics.drawRect(0,0,unscaledWidth,unscaledHeight);
+			graphics.endFill();
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/MyViewMenuSkin.mxml
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/MyViewMenuSkin.mxml b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/MyViewMenuSkin.mxml
new file mode 100644
index 0000000..211e3b3
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/MyViewMenuSkin.mxml
@@ -0,0 +1,130 @@
+<?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.
+
+-->
+
+
+<!--- The default skin class for a Spark ViewMenu in a mobile application.  
+
+@see spark.components.ViewMenu
+
+@langversion 3.0
+@playerversion Flash 10
+@playerversion AIR 1.5
+@productversion Flex 4
+-->
+<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" 
+             xmlns:fb="http://ns.adobe.com/flashbuilder/2009" alpha.disabled="0.5">
+	
+	
+    
+    <fx:Metadata>
+        <![CDATA[ 
+        /** 
+        * @copy spark.skins.spark.ApplicationSkin#hostComponent
+        */
+        [HostComponent("spark.components.ViewMenu")]
+        ]]>
+    </fx:Metadata> 
+    
+	<fx:Script>
+		<![CDATA[
+			import spark.effects.easing.Power;
+		]]>
+	</fx:Script>
+	
+    <s:states>
+        <s:State name="normal"                          stateGroups="openedGroup"/>
+        <s:State name="closed"                          stateGroups="closedGroup"/>
+        <s:State name="disabled"                        stateGroups="openedGroup"/>
+        <s:State name="normalAndLandscape"              stateGroups="openedGroup, landscapeGroup"/>
+        <s:State name="closedAndLandscape"              stateGroups="closedGroup, landscapeGroup"/>
+        <s:State name="disabledAndLandscape"            stateGroups="openedGroup, landscapeGroup" />
+    </s:states>
+    
+    <s:transitions>
+        <s:Transition fromState="closed" toState="normal" autoReverse="true">
+            <s:Parallel>
+                <s:Fade target="{chromeGroup}" duration="150" easer="{new Power(0.5, 3)}" /> 
+                <s:Move target="{chromeGroup}" duration="150" disableLayout="true"  easer="{new Power(0, 5)}"/>
+            </s:Parallel>
+        </s:Transition>
+        
+        <s:Transition fromState="closedAndLandscape" toState="normalAndLandscape" autoReverse="true">
+            <s:Parallel>
+                <s:Fade target="{chromeGroup}" duration="150" easer="{new Power(0.5, 3)}" /> 
+                <s:Move target="{chromeGroup}" duration="150" disableLayout="true"  easer="{new Power(0, 5)}"/>
+            </s:Parallel>
+        </s:Transition>
+
+        <s:Transition fromState="normal" toState="closed" autoReverse="true">
+            <s:Parallel>
+                <s:Fade target="{chromeGroup}" duration="100"/> 
+                <s:Move target="{chromeGroup}" duration="100" disableLayout="true"/>
+            </s:Parallel>
+        </s:Transition>
+
+        <s:Transition fromState="normalAndLandscape" toState="closedAndLandscape" autoReverse="true">
+            <s:Parallel>
+                <s:Fade target="{chromeGroup}" duration="100"/> 
+                <s:Move target="{chromeGroup}" duration="100" disableLayout="true"/>
+            </s:Parallel>
+        </s:Transition>
+    </s:transitions>
+
+    <!-- The ViewMenu and its skin are sized to the application.
+         The menu chrome is a separate group that is anchored to the bottom of the skin. -->
+
+    <s:Group id="chromeGroup"
+             left="0"
+             right="0"
+             top.closedGroup="{hostComponent.height - chromeGroup.height / 2}"
+             bottom.openedGroup="0" 
+             visible.closedGroup="false">
+        
+        <!-- Divider line -->
+        <s:Rect left="0" right="0" top="0" height="0" >
+			<s:filters>
+				<s:DropShadowFilter color="0x000000" blurX="100" blurY="100"/>
+			</s:filters>
+            <s:stroke>
+                <s:SolidColorStroke id="dividerStroke" weight="0" color="#FFFFFF"/>   
+            </s:stroke>
+        </s:Rect> 
+        
+        <!-- Background -->
+		<!-- was 1 from the top, I made less -->
+        <s:Rect left="0" right="0" top="1" bottom="0" id="background" radiusX="10" >
+			<s:filters>
+				<s:DropShadowFilter color="0x000000" blurY="20" blurX="20"/>
+			</s:filters>
+			<s:fill> 
+				<s:SolidColor color="0xFFFFFF"/>
+			</s:fill>
+        </s:Rect>
+        
+       
+        <!--- @copy spark.components.SkinnableContainer#contentGroup -->
+        <s:Group id="contentGroup" left="0" right="0" top="3" bottom="2" minWidth="0" minHeight="0">
+            <s:layout>
+                <s:ViewMenuLayout horizontalGap="2" verticalGap="2" id="contentGroupLayout"
+                                  requestedMaxColumnCount="3" requestedMaxColumnCount.landscapeGroup="6"/>
+            </s:layout>
+        </s:Group>    
+    </s:Group>
+</s:SparkSkin>

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorApplicationSkin.as
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorApplicationSkin.as b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorApplicationSkin.as
new file mode 100644
index 0000000..cbd6d4b
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorApplicationSkin.as
@@ -0,0 +1,137 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 spark.skins.mobile
+{
+import mx.core.ClassFactory;
+import mx.core.IFactory;
+
+import spark.components.TabbedViewNavigator;
+import spark.components.TabbedViewNavigatorApplication;
+import spark.components.ViewMenu;
+import spark.skins.mobile.supportClasses.MobileSkin;
+
+/**
+ *  The ActionScript-based skin used for TabbedViewNavigatorApplication.  
+ *  This skin contains a single TabbedViewNavigator that spans the
+ *  entire content area of the application.
+ * 
+ * @see spark.components.TabbedViewNavigatorApplication
+ * 
+ *  @langversion 3.0
+ *  @playerversion AIR 2.5 
+ *  @productversion Flex 4.5
+ */
+public class TabbedViewNavigatorApplicationSkin extends MobileSkin
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+    /**
+     *  Constructor.
+     *  
+     *  @langversion 3.0
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function TabbedViewNavigatorApplicationSkin()
+    {
+        super();
+        
+        viewMenu = new ClassFactory(ViewMenu);
+    }
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+    
+    /**
+     * The tabbed navigator for the application
+     *  
+     *  @langversion 3.0
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public var tabbedNavigator:TabbedViewNavigator;
+    
+    
+    /**
+     *  Creates an action menu from this factory when the menu button is pressed 
+     *  
+     *  @langversion 3.0
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */ 
+    public var viewMenu:IFactory;
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden Properties
+    //
+    //--------------------------------------------------------------------------
+    /** 
+     *  @copy spark.skins.spark.ApplicationSkin#hostComponent
+     */
+    public var hostComponent:TabbedViewNavigatorApplication;
+    
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+    
+    /**
+     *  @private
+     */
+    override protected function createChildren():void
+    {
+        tabbedNavigator = new TabbedViewNavigator();
+        tabbedNavigator.id = "tabbedNavigator";
+        
+        addChild(tabbedNavigator);
+    }
+    
+    /**
+     *  @private 
+     */ 
+    override protected function measure():void
+    {        
+        super.measure();
+        
+        measuredWidth = tabbedNavigator.getPreferredBoundsWidth();
+        measuredHeight = tabbedNavigator.getPreferredBoundsHeight();
+    }
+    
+    /**
+     *  @private
+     */
+    override protected function layoutContents(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        super.layoutContents(unscaledWidth, unscaledHeight);
+        
+        tabbedNavigator.setLayoutBoundsSize(unscaledWidth, unscaledHeight);
+        tabbedNavigator.setLayoutBoundsPosition(0, 0);
+    }
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorButtonBarFirstButton_selected.fxg
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorButtonBarFirstButton_selected.fxg b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorButtonBarFirstButton_selected.fxg
new file mode 100644
index 0000000..c726e7f
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorButtonBarFirstButton_selected.fxg
@@ -0,0 +1,62 @@
+<?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.
+
+-->
+
+
+<Graphic version="2.0" xmlns="http://ns.adobe.com/fxg/2008"
+    scaleGridTop="4" scaleGridBottom="72" scaleGridLeft="3" scaleGridRight="117">
+    
+    <!-- highlight fill -->
+    <Rect x="0" y="2" width="120" height="72">
+        <fill>
+            <LinearGradient x="0" scaleX="72" rotation="90">
+                <GradientEntry color="#000000" ratio="0" alpha=".05"/>
+                <GradientEntry color="#000000" ratio="1" alpha=".1"/>
+            </LinearGradient>
+        </fill>
+    </Rect>
+    
+    <!-- border top -->
+    <Rect x="0" y="0" width="120" height="2">
+        <fill>
+    		<SolidColor color="#000000" alpha="0.75"/>
+        </fill>
+    </Rect>
+    <!-- border bottom -->
+    <Rect x="0" y="74" width="120" height="2">
+        <fill>
+    		<SolidColor color="#000000" alpha="0.75"/>
+        </fill>
+    </Rect>
+    
+    <!-- highlight stroke -->
+    <Rect x="0.5" y="2.5" width="119" height="71">
+    	<stroke>
+    		<SolidColorStroke color="#000000" weight="1" alpha=".1"/>
+    	</stroke>
+    </Rect>
+    
+    <!-- scaling fix -->
+    <Rect x="0" y="0" width="120" height="76">
+        <fill>
+    		<SolidColor color="#000000" alpha="0"/>
+        </fill>
+    </Rect>
+    
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorSkin.as
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorSkin.as b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorSkin.as
new file mode 100644
index 0000000..5b26b98
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorSkin.as
@@ -0,0 +1,188 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 skins
+{
+import mx.core.FlexGlobals;
+
+import spark.components.ButtonBar;
+import spark.components.Group;
+import spark.components.Scroller;
+import spark.components.TabbedViewNavigator;
+import spark.components.TabbedViewNavigatorApplication;
+import spark.components.supportClasses.ButtonBarBase;
+import spark.skins.mobile.supportClasses.MobileSkin;
+
+/**
+ *  The ActionScript-based skin used for TabbedViewNavigator components.
+ * 
+ *  @langversion 3.0
+ *  @playerversion AIR 2.5 
+ *  @productversion Flex 4.5
+ * 
+ */
+public class TabbedViewNavigatorSkin extends MobileSkin
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+    /**
+     *  Constructor.
+     * 
+     *  @langversion 3.0
+     *  @playerversion AIR 2.5 
+     *  @productversion Flex 4.5
+     * 
+     */
+    public function TabbedViewNavigatorSkin()
+    {
+        super();
+    }
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+    /** 
+     *  @copy spark.skins.spark.ApplicationSkin#hostComponent
+     */
+    public var hostComponent:TabbedViewNavigator;
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+    
+    /**
+     *  @copy spark.components.SkinnableContainer#contentGroup
+     */
+    public var contentGroup:Group;
+    
+    /**
+     *  @copy spark.components.TabbedViewNavigator#tabBar
+     */
+    public var tabBar:ButtonBarBase;
+    
+    //--------------------------------------------------------------------------
+    //
+    // Methods
+    //
+    //--------------------------------------------------------------------------
+
+    private var _isOverlay:Boolean;
+    
+    /**
+     *  @private
+     */
+    override protected function createChildren():void
+    {
+        if (!contentGroup)
+        {
+            contentGroup = new Group();
+            contentGroup.id = "contentGroup";
+            addChild(contentGroup);
+        }
+        
+        if (!tabBar)
+        {
+            tabBar = new ButtonBar();
+            tabBar.id = "tabBar";
+            tabBar.requireSelection = true;
+			this.addChild(tabBar);
+			
+        }
+    }
+    
+    /**
+     *  @private
+     */
+    override protected function commitCurrentState():void
+    {
+        super.commitCurrentState();
+        
+        _isOverlay = (currentState.indexOf("Overlay") >= 1);
+        
+        // Force a layout pass on the components
+        invalidateProperties();
+        invalidateSize();
+        invalidateDisplayList();
+    }
+    
+    /**
+     *  @private
+     */
+    override protected function measure():void
+    {
+        super.measure();
+        
+        measuredWidth = Math.max(tabBar.getPreferredBoundsWidth(), 
+            contentGroup.getPreferredBoundsWidth());
+        
+        if (currentState == "portraitAndOverlay" || currentState == "landscapeAndOverlay")
+        {
+            measuredHeight = Math.max(tabBar.getPreferredBoundsHeight(), 
+                contentGroup.getPreferredBoundsHeight());
+        }
+        else
+        {
+            measuredHeight = tabBar.getPreferredBoundsHeight() + 
+                contentGroup.getPreferredBoundsHeight();
+        }
+    }
+    
+    /**
+     *  @private
+     */
+    override protected function layoutContents(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        super.layoutContents(unscaledWidth, unscaledHeight);
+        
+        var tabBarHeight:Number = 0; 
+        
+        if (tabBar.includeInLayout)
+        {
+			trace("INcludetab bar " + " setting pos to " + (unscaledHeight - tabBarHeight));
+            tabBarHeight = Math.min(tabBar.getPreferredBoundsHeight(), unscaledHeight);
+            tabBar.setLayoutBoundsSize(unscaledWidth, tabBarHeight);
+            //tabBar.setLayoutBoundsPosition(0, unscaledHeight - tabBarHeight);
+			tabBar.setLayoutBoundsPosition(0,0 );
+            tabBarHeight = tabBar.getLayoutBoundsHeight(); 
+            
+            // backgroundAlpha is not a declared style on ButtonBar
+            // TabbedViewNavigatorButtonBarSkin implements for overlay support
+            var backgroundAlpha:Number = (_isOverlay) ? 0.75 : 1;
+            tabBar.setStyle("backgroundAlpha", backgroundAlpha);
+        }
+        
+        if (contentGroup.includeInLayout)
+        {
+			trace("INclude content group - height " +  Math.max(unscaledHeight - tabBarHeight, 0));
+            var contentGroupHeight:Number = (_isOverlay) ? unscaledHeight : Math.max(unscaledHeight - tabBarHeight, 0);
+            contentGroup.setLayoutBoundsSize(unscaledWidth, contentGroupHeight);
+            //contentGroup.setLayoutBoundsPosition(0, 0);
+			trace("Tab bar height " + tabBarHeight);
+			contentGroup.setLayoutBoundsPosition(0, tabBarHeight);
+        }
+    }
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarFirstTabSkin.as
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarFirstTabSkin.as b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarFirstTabSkin.as
new file mode 100644
index 0000000..a3a417d
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarFirstTabSkin.as
@@ -0,0 +1,71 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 skins
+{
+import mx.core.DPIClassification;
+
+import spark.skins.mobile.assets.TabbedViewNavigatorButtonBarFirstButton_down;
+import spark.skins.mobile.assets.TabbedViewNavigatorButtonBarFirstButton_up;
+import spark.skins.mobile320.assets.TabbedViewNavigatorButtonBarFirstButton_down;
+import spark.skins.mobile320.assets.TabbedViewNavigatorButtonBarFirstButton_up;
+
+/**
+ *  Skin for the left-most button in the TabbedViewNavigator ButtonBar skin
+ *  part.
+ * 
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5 
+ *  @productversion Flex 4.5
+ */
+public class TabbedViewNavigatorTabBarFirstTabSkin extends TabbedViewNavigatorTabBarTabSkinBase
+{
+    /**
+     *  Constructor.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function TabbedViewNavigatorTabBarFirstTabSkin()
+    {
+        super();
+        
+        switch (applicationDPI)
+        {
+            case DPIClassification.DPI_320:
+            {
+                upBorderSkin = spark.skins.mobile320.assets.TabbedViewNavigatorButtonBarFirstButton_up;
+                downBorderSkin = spark.skins.mobile320.assets.TabbedViewNavigatorButtonBarFirstButton_down;
+                selectedBorderSkin = spark.skins.mobile320.assets.TabbedViewNavigatorButtonBarFirstButton_selected;
+                break;
+            }
+            default:
+            {
+                upBorderSkin = spark.skins.mobile.assets.TabbedViewNavigatorButtonBarFirstButton_up;
+                downBorderSkin = spark.skins.mobile.assets.TabbedViewNavigatorButtonBarFirstButton_down;
+                selectedBorderSkin = spark.skins.mobile.assets.TabbedViewNavigatorButtonBarFirstButton_selected;
+                break;
+            }
+        }
+    }
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarHorizontalLayout.as
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarHorizontalLayout.as b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarHorizontalLayout.as
new file mode 100644
index 0000000..24f1798
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarHorizontalLayout.as
@@ -0,0 +1,164 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 skins
+{
+import mx.core.ILayoutElement;
+
+import spark.components.supportClasses.GroupBase;
+import spark.layouts.supportClasses.LayoutBase;
+
+/**
+ *  The TabbedViewNavigatorButtonBarHorizontalLayout class is a layout
+ *  specifically designed for the TabbedViewNavigator.
+ *  The layout lays out the children horizontally, left to right.
+ *  
+ *  <p>The layout sizes children to equal sizes and to fit the parent
+ *  width.</p>
+ * 
+ *  <p>All children are set to the height of the parent.</p>
+ * 
+ *  @see spark.skins.mobile.TabbedViewNavigatorButtonBarSkin
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+public class TabbedViewNavigatorTabBarHorizontalLayout extends LayoutBase
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+    
+    /**
+     *  Constructor.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function TabbedViewNavigatorTabBarHorizontalLayout()
+    {
+        super();
+		trace("TABS LAYOUT");
+    }
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+    
+    /**
+     *  @private 
+     */
+    override public function measure():void
+    {
+        super.measure();
+        
+        var layoutTarget:GroupBase = target;
+        if (!layoutTarget)
+            return;
+        
+        var elementCount:int = 0;
+        
+        var width:Number = 0;
+        var height:Number = 0;
+        
+        var count:int = layoutTarget.numElements;
+		
+		
+        for (var i:int = 0; i < count; i++)
+        {
+			var layoutElement:ILayoutElement = layoutTarget.getElementAt(i);
+			// Not show first tab
+			/*if (i<3)
+				layoutElement.includeInLayout=true;
+			else layoutElement.includeInLayout=false;*/
+				
+			if (!layoutElement || !layoutElement.includeInLayout)
+                continue;
+            
+            width += layoutElement.getPreferredBoundsWidth();
+            elementCount++;
+            height = Math.max(height, layoutElement.getPreferredBoundsHeight());
+        }
+        
+        layoutTarget.measuredWidth = width;
+        layoutTarget.measuredHeight = height;
+    }
+    
+    /**
+     *  @private 
+     */
+    override public function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+     
+		trace("Unscaled width  " + unscaledWidth);
+        var layoutTarget:GroupBase = target;
+        if (!layoutTarget)
+            return;
+        
+        var childX:Number = 0;
+        var count:int = layoutTarget.numElements;
+        var elementCount:int = count;
+        var layoutElement:ILayoutElement;
+        for (var i:int = 0; i < count; i++)
+        {
+            layoutElement = layoutTarget.getElementAt(i);
+            if (!layoutElement || !layoutElement.includeInLayout)
+            {
+                elementCount--;
+                continue;
+            }
+        }
+        
+        // The content size is always the parent size
+        layoutTarget.setContentSize(unscaledWidth, unscaledHeight);
+        
+        // mininum width 1px
+        //var preferredChildWidth:Number = Math.max(Math.floor(unscaledWidth / elementCount), 1);
+		
+        // distribute rounding errors evenly
+        //var excessWidth:Number = unscaledWidth - (preferredChildWidth * elementCount);
+		var excessWidth:Number = 0;
+        var childWidth:Number = 200;
+        
+        // Resize and position children
+        for (i = 0; i < count; i++)
+        {
+            layoutElement = layoutTarget.getElementAt(i);
+            if (!layoutElement || !layoutElement.includeInLayout)
+                continue;
+            
+            //childWidth = (excessWidth > 0) ? preferredChildWidth + 1 : preferredChildWidth;
+            
+            layoutElement.setLayoutBoundsSize(childWidth, unscaledHeight);
+            layoutElement.setLayoutBoundsPosition(childX, 0);
+            
+            childX += childWidth;
+            excessWidth--;
+        }
+    }
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarLastTabSkin.as
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarLastTabSkin.as b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarLastTabSkin.as
new file mode 100644
index 0000000..e88e251
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarLastTabSkin.as
@@ -0,0 +1,72 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 spark.skins.mobile
+{
+import mx.core.DPIClassification;
+
+import spark.skins.mobile.assets.TabbedViewNavigatorButtonBarLastButton_down;
+import spark.skins.mobile.assets.TabbedViewNavigatorButtonBarLastButton_up;
+import spark.skins.mobile.supportClasses.TabbedViewNavigatorTabBarTabSkinBase;
+import spark.skins.mobile320.assets.TabbedViewNavigatorButtonBarLastButton_down;
+import spark.skins.mobile320.assets.TabbedViewNavigatorButtonBarLastButton_up;
+
+/**
+ *  Skin for used for middle and the right-most ButtonBarButton in the 
+ *  TabbedViewNavigator ButtonBar skin.
+ * 
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5 
+ *  @productversion Flex 4.5
+ */
+public class TabbedViewNavigatorTabBarLastTabSkin extends TabbedViewNavigatorTabBarTabSkinBase
+{
+    /**
+     *  Constructor.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function TabbedViewNavigatorTabBarLastTabSkin()
+    {
+        super();
+        
+        switch (applicationDPI)
+        {
+            case DPIClassification.DPI_320:
+            {
+                upBorderSkin = spark.skins.mobile320.assets.TabbedViewNavigatorButtonBarLastButton_up;
+                downBorderSkin = spark.skins.mobile320.assets.TabbedViewNavigatorButtonBarLastButton_down;
+                selectedBorderSkin = spark.skins.mobile320.assets.TabbedViewNavigatorButtonBarLastButton_selected;
+                break;
+            }
+            default:
+            {
+                upBorderSkin = spark.skins.mobile.assets.TabbedViewNavigatorButtonBarLastButton_up;
+                downBorderSkin = spark.skins.mobile.assets.TabbedViewNavigatorButtonBarLastButton_down;
+                selectedBorderSkin = spark.skins.mobile.assets.TabbedViewNavigatorButtonBarLastButton_selected;
+                break;
+            }
+        }
+    }
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarSkin.as
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarSkin.as b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarSkin.as
new file mode 100644
index 0000000..700c7a1
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarSkin.as
@@ -0,0 +1,139 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 skins
+{
+import skins.TabbedViewNavigatorTabBarHorizontalLayout;
+
+import spark.components.ButtonBarButton;
+import spark.components.DataGroup;
+import spark.components.Group;
+import spark.components.Scroller;
+import spark.skins.mobile.TabbedViewNavigatorTabBarFirstTabSkin;
+import spark.skins.mobile.supportClasses.ButtonBarButtonClassFactory;
+import spark.skins.spark.DefaultComplexItemRenderer;
+
+/**
+ *  The default skin class for the Spark TabbedViewNavigator tabBar skin part.
+ *  
+ *  @see spark.components.TabbedViewNavigator#tabBar
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+public class TabbedViewNavigatorTabBarSkin extends ButtonBarSkin
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+    
+    /**
+     *  Constructor.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5 
+     *  @productversion Flex 4.5
+     * 
+     */
+    public function TabbedViewNavigatorTabBarSkin()
+    {
+        super();
+    }
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+    
+    /**
+     *  @private
+     */
+    override protected function createChildren():void
+    {
+		trace("Tab bar skin Creating children " + firstButton);
+        if (!firstButton)
+        {
+			trace("no first button ");
+            firstButton = new ButtonBarButtonClassFactory(ButtonBarButton);
+            firstButton.skinClass = skins.TabbedViewNavigatorTabBarFirstTabSkin;
+        }
+        
+        if (!lastButton)
+        {
+            lastButton = new ButtonBarButtonClassFactory(ButtonBarButton);
+            lastButton.skinClass = spark.skins.mobile.TabbedViewNavigatorTabBarLastTabSkin;
+        }
+        
+        if (!middleButton)
+        {
+            middleButton = new ButtonBarButtonClassFactory(ButtonBarButton);
+            middleButton.skinClass = spark.skins.mobile.TabbedViewNavigatorTabBarLastTabSkin;
+        }
+        
+        if (!dataGroup)
+        {
+			trace("Not data group");
+            // TabbedViewNavigatorButtonBarHorizontalLayout for even percent layout
+            var tabLayout:TabbedViewNavigatorTabBarHorizontalLayout = 
+                new TabbedViewNavigatorTabBarHorizontalLayout();
+            tabLayout.useVirtualLayout = false;
+            dataGroup = new DataGroup();
+			dataGroup.layout = tabLayout;
+		
+			scroll = new Scroller();
+			scroll.percentHeight=100;
+			scroll.percentWidth=100;
+			this.dataGroup.percentWidth=60;
+			trace("This is button skin");
+			//var g:Group = new Group();
+			//g.addElement(dataGroup);
+			scroll.viewport = dataGroup;
+			this.addChild(scroll);
+			
+			//addChild(dataGroup);
+        }
+    }
+    
+    /**
+     *  @private
+     */
+    override protected function drawBackground(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        super.drawBackground(unscaledWidth, unscaledHeight);
+
+        // backgroundAlpha style is not supported by ButtonBar
+        // TabbedViewNavigatorSkin sets a hard-coded value to support
+        // overlayControls
+        var backgroundAlphaValue:* = getStyle("backgroundAlpha");
+        var backgroundAlpha:Number = (backgroundAlphaValue === undefined)
+            ? 1 : getStyle("backgroundAlpha");
+        
+		// Draws the background of the tab buttons, the ButtonBarSkin does the actual buttons, this will draw that rect behind them
+        graphics.beginFill(getStyle("chromeColor"), backgroundAlpha);
+        graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
+        graphics.endFill();
+    }
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarTabSkinBase.as
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarTabSkinBase.as b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarTabSkinBase.as
new file mode 100644
index 0000000..e6c88c1
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/skins/TabbedViewNavigatorTabBarTabSkinBase.as
@@ -0,0 +1,199 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 skins
+{
+import flash.display.DisplayObject;
+import flash.display.Graphics;
+import flash.events.Event;
+import flash.text.TextLineMetrics;
+
+import mx.core.DPIClassification;
+import mx.core.mx_internal;
+import mx.events.FlexEvent;
+
+import spark.components.ButtonBarButton;
+import spark.components.IconPlacement;
+import spark.components.supportClasses.ButtonBase;
+import spark.components.supportClasses.ViewNavigatorBase;
+import spark.skins.mobile.ButtonSkin;
+import spark.skins.mobile.supportClasses.ButtonBarButtonSkinBase;
+
+use namespace mx_internal;
+
+/**
+ *  ButtonBarButton skin base class for TabbedViewNavigator ButtonBarButtons.
+ * 
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5 
+ *  @productversion Flex 4.5
+ */
+public class TabbedViewNavigatorTabBarTabSkinBase extends ButtonBarButtonSkinBase
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+    
+    /**
+     *  Constructor.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function TabbedViewNavigatorTabBarTabSkinBase()
+    {
+        super();
+        
+        useCenterAlignment = false;
+        
+        switch (applicationDPI)
+        {
+            case DPIClassification.DPI_320:
+            {
+                layoutBorderSize = 2;
+                layoutPaddingTop = 12;
+                layoutPaddingBottom = 12;
+                layoutPaddingLeft = 12;
+                layoutPaddingRight = 12;
+                layoutGap = 10;
+                measuredDefaultHeight = 102;
+                
+                break;
+            }
+            case DPIClassification.DPI_240:
+            {
+                layoutBorderSize = 1;
+                layoutPaddingTop = 9;
+                layoutPaddingBottom = 9;
+                layoutPaddingLeft = 9;
+                layoutPaddingRight = 9;
+                layoutGap = 7;
+                measuredDefaultHeight = 76;
+				
+                this.measuredDefaultWidth=0;
+                break;
+            }
+            default:
+            {
+                // default DPI_160
+                layoutBorderSize = 1;
+                layoutPaddingTop = 6;
+                layoutPaddingBottom = 6;
+                layoutPaddingLeft = 6;
+                layoutPaddingRight = 6;
+                layoutGap = 5;
+                measuredDefaultHeight = 51;
+                
+                break;
+            }
+        }
+    }
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+    
+    /**
+     *  @private
+     */
+    override public function set hostComponent(value:ButtonBase):void
+    {
+        if (hostComponent)
+        {
+            hostComponent.removeEventListener(FlexEvent.DATA_CHANGE, dataChanged);
+        }
+        
+        super.hostComponent = value;
+        
+        // look for enabled in hostComponent data
+        if (hostComponent)
+        {
+            hostComponent.addEventListener(FlexEvent.DATA_CHANGE, dataChanged);
+            dataChanged();
+        }
+    }
+    
+    /**
+     *  @private
+     */
+    override protected function commitDisabled():void
+    {
+        var alphaValue:Number = (currentState.indexOf("disabled") >= 0) ? 0.25 : 1;
+        
+        labelDisplay.alpha = alphaValue;
+        labelDisplayShadow.alpha = alphaValue;
+        
+        var icon:DisplayObject = getIconDisplay();
+        
+        if (icon != null)
+            icon.alpha = alphaValue;
+    }
+    
+    /**
+     *  @private
+     */
+    override protected function drawBackground(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        // omit super.drawBackground() to drawRect instead
+        // use transparent ButtonBarButtons to support ViewNavigatorBase#overlayControls
+        //graphics.beginFill(0, 0);
+        //graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
+		trace("Draw background");
+		//this.unscaledWidth=0;
+		//graphics.drawRect(0, 0, 0,0);
+        //graphics.endFill();
+    }
+    
+    /**
+     *  @private
+     *  Set enabled on ButtonBarButton host component based on ViewNavigator
+     *  enabled value.
+     */
+    private function dataChanged(event:Event=null):void
+    {
+        var buttonBarButtonHost:ButtonBarButton = ButtonBarButton(hostComponent);
+        
+        // TabbedViewNavigator dataProvider for ButtonBar is
+        // navigators:Vector.<ViewNavigatorBase>
+        if (buttonBarButtonHost.data && (buttonBarButtonHost.data is ViewNavigatorBase))
+        {
+            var viewNavigator:ViewNavigatorBase = ViewNavigatorBase(buttonBarButtonHost.data);
+            viewNavigator.addEventListener("enabledChanged", dataEnabledChanged);
+            
+            dataEnabledChanged();
+        }
+    }
+    
+    /**
+     *  @private
+     *  Update enabled state when ViewNavigator enabled value changes.
+     */
+    private function dataEnabledChanged(event:Event=null):void
+    {
+        hostComponent.enabled = ViewNavigatorBase(ButtonBarButton(hostComponent).data).enabled;
+    }
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/styles.css
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/styles.css b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/styles.css
new file mode 100644
index 0000000..8cd9aa0
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/styles.css
@@ -0,0 +1,81 @@
+/*
+ * 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.
+ */
+@namespace "library://ns.adobe.com/flex/spark";
+@namespace mx "library://ns.adobe.com/flex/mx";
+
+@media (os-platform: "ios") {
+	ActionBar {
+		defaultButtonAppearance: beveled;
+		titleAlign: center;
+	}
+}
+
+ActionBar
+{
+	chromeColor: #000000;
+	defaultButtonAppearance: normal;
+	skinClass: ClassReference("spark.skins.mobile.ActionBarSkin");
+	textShadowAlpha: .65;
+	textShadowColor: #000000;
+	paddingBottom: 1;
+	paddingLeft: 0;
+	paddingRight: 0;
+	paddingTop: 1;
+}
+ActionBar #titleDisplay
+{
+	fontFamily: "Papyrus";
+	fontWeight: normal;
+	
+}
+Label 
+{
+	fontFamily: "Papyrus";
+	fontWeight: bold;
+	
+}
+Button 
+{
+	fontFamily: "Papyrus";
+}
+
+TabbedViewNavigator #tabBar
+{
+	chromeColor: #000000;
+	color: #FFFFFF;
+	fontSize: 19;
+	fontWeight: bold;
+	fontFamily: "Papyrus";
+	iconPlacement: top;
+	interactionMode: mouse;
+	textShadowAlpha: 0;
+}
+
+
+TabbedViewNavigator ButtonBarButton:upAndSelected,
+TabbedViewNavigator ButtonBarButton:overAndSelected,
+TabbedViewNavigator ButtonBarButton:downAndSelected
+{
+	chromeColor: #51B8F2;
+	color: #FFFFFF;
+}
+
+TabbedViewNavigator ButtonBarButton:up
+{
+	color: #CCCCCC;
+}
+

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/views/FadeInView.mxml
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/views/FadeInView.mxml b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/views/FadeInView.mxml
new file mode 100644
index 0000000..e1b9151
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/views/FadeInView.mxml
@@ -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:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" title="Fade In View" backgroundColor="black">
+		
+	<s:HGroup width="100%" horizontalAlign="center" paddingTop="270" verticalAlign="middle">
+		<s:Label text="Fading Into View..." color="0xCCCCCC" fontWeight="bold" fontSize="50"/>
+	</s:HGroup>
+				
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/views/SlideView.mxml
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/views/SlideView.mxml b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/views/SlideView.mxml
new file mode 100644
index 0000000..02897c6
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/views/SlideView.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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" title="Slide View" backgroundColor="black">
+	<fx:Script>
+		<![CDATA[
+			import mx.events.EffectEvent;
+			
+			protected function fadeOut_effectEndHandler(event:EffectEvent):void
+			{
+				formGrp.visible=true;
+			}
+			
+			protected function submitButton_clickHandler(event:MouseEvent):void
+			{
+				formGrp.visible=false;
+				lbl.visible=true;
+			}
+		]]>
+	</fx:Script>
+	
+	<fx:Declarations>
+		<s:Fade duration="500" id="fadeOut" alphaFrom=".9" alphaTo="0" effectEnd="fadeOut_effectEndHandler(event)"/>
+		<s:Sequence id="sq">
+			<s:Move duration="800" xTo="{this.width/2-170}" xFrom="500"/>
+			<s:Fade duration="800" id="fadeIn" alphaFrom="0" alphaTo=".9"/>	
+		</s:Sequence>
+	</fx:Declarations>
+	
+	<s:HGroup id="formGrp" width="100%" horizontalAlign="center" paddingTop="270" verticalAlign="middle">
+		<s:Label text="Enter Your Name:" color="0xFFFFFF"/>
+		<s:TextInput id="txtName" width="160"/>
+		<s:Button id="submitButton" label="Submit" click="submitButton_clickHandler(event)"/>
+	</s:HGroup>
+	<!-- This label shows when the submit button is clicked -->
+	<s:Label id="lbl" text="{'Thank You '+txtName.text+'!'}" visible="false" showEffect="sq" color="0x993366" fontSize="50" paddingTop="270"/>			
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/views/WelcomeView.mxml
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/views/WelcomeView.mxml b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/views/WelcomeView.mxml
new file mode 100644
index 0000000..0a07f92
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/SampleTabEffects/src/views/WelcomeView.mxml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" title="Home" backgroundColor="0x000000">
+	<fx:Declarations>
+		<!-- Place non-visual elements (e.g., services, value objects) here -->
+	</fx:Declarations>
+	
+	<s:layout>
+		<s:VerticalLayout paddingTop="5" paddingBottom="5" paddingLeft="5" paddingRight="5" gap="5" 
+						  horizontalAlign="center" verticalAlign="middle"/>
+	</s:layout>
+	
+	<s:Label text="Welcome!" color="0x993366" fontWeight="bold" fontSize="50"/>
+</s:View>

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.actionScriptProperties b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.actionScriptProperties
new file mode 100644
index 0000000..c897dff
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.actionScriptProperties
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<actionScriptProperties analytics="false" mainApplicationPath="ViewTransitionsSample.mxml" projectUUID="34d11d12-2c36-4c8c-8897-a816c9cd8b0e" version="10">
+  <compiler additionalCompilerArguments="-locale en_US" autoRSLOrdering="true" copyDependentFiles="true" fteInMXComponents="false" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin-debug" removeUnusedRSL="true" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="true" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
+    <compilerSourcePath/>
+    <libraryPath defaultLinkType="0">
+      <libraryPathEntry kind="4" path="">
+        <excludedEntries>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/qtp.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/advancedgrids.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_air.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/air/airspark.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/netmon.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/mx/mx.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/air/applicationupdater.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/utilities.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/flex.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/sparkskins.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/qtp_air.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/datavisualization.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/core.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/spark_dmv.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_dmv.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_flashflexkit.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/air/applicationupdater_ui.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/air/airframework.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_agent.swc" useDefaultLinkType="false"/>
+        </excludedEntries>
+      </libraryPathEntry>
+      <libraryPathEntry kind="1" linkType="1" path="libs"/>
+    </libraryPath>
+    <sourceAttachmentPath/>
+  </compiler>
+  <applications>
+    <application path="ViewTransitionsSample.mxml">
+      <airExcludes/>
+    </application>
+  </applications>
+  <modules/>
+  <buildCSSFiles/>
+  <flashCatalyst validateFlashCatalystCompatibility="false"/>
+  <buildTargets>
+    <buildTarget buildTargetName="com.adobe.flexide.multiplatform.ios.platform" iosSettingsVersion="1" provisioningFile="/Users/hollyschinsky/Documents/iPhoneDeveloperStuff/HollysDistributionProvisioningProfile2.mobileprovision" releasePackageType="">
+      <airSettings airCertificatePath="/Users/hollyschinsky/Documents/iPhoneDeveloperStuff/HollysDistributionCertificates.p12" airTimestamp="true" version="1">
+        <airExcludes/>
+      </airSettings>
+      <multiPlatformSettings enabled="true" includePlatformLibs="false" platformID="com.adobe.flexide.multiplatform.ios.platform" version="2"/>
+      <actionScriptSettings version="1"/>
+    </buildTarget>
+    <buildTarget androidSettingsVersion="1" buildTargetName="com.adobe.flexide.multiplatform.android.platform">
+      <airSettings airCertificatePath="" airTimestamp="true" version="1">
+        <airExcludes/>
+      </airSettings>
+      <multiPlatformSettings enabled="true" includePlatformLibs="false" platformID="com.adobe.flexide.multiplatform.android.platform" version="2"/>
+      <actionScriptSettings version="1"/>
+    </buildTarget>
+    <buildTarget buildTargetName="default">
+      <airSettings airCertificatePath="" airTimestamp="true" version="1">
+        <airExcludes/>
+      </airSettings>
+      <multiPlatformSettings enabled="false" includePlatformLibs="false" platformID="default" version="2"/>
+      <actionScriptSettings version="1"/>
+    </buildTarget>
+  </buildTargets>
+</actionScriptProperties>

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.flexProperties
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.flexProperties b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.flexProperties
new file mode 100644
index 0000000..67bba73
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.flexProperties
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flexProperties enableServiceManager="false" flexServerFeatures="0" flexServerType="0" fmlDataModelLocation=".model/ViewTransitionsSample.fml" toolCompile="true" useServerFlexSDK="false" version="2"/>

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.fxpProperties
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.fxpProperties b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.fxpProperties
new file mode 100644
index 0000000..0882ba1
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.fxpProperties
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<fxpProperties abbreviated="false" authoringTool="Flex Builder" compiles="true" parentProject="34d11d12-2c36-4c8c-8897-a816c9cd8b0e" projectUUID="34d11d12-2c36-4c8c-8897-a816c9cd8b0e" pureCatalystProject="false" sdkVersion="4.5.1" uuid="a0c1fef8-2f0d-47b0-8198-d5b259b2e61a" version="15">
+  <projects/>
+  <src/>
+  <swc>
+    <linked location="sdkPlaceHolder" path="sdkPlaceHolder" position="0" uuid="a0c1fef8-2f0d-47b0-8198-d5b259b2e61a"/>
+    <linked location="/libs" path="\libs" position="1" uuid="a0c1fef8-2f0d-47b0-8198-d5b259b2e61a"/>
+  </swc>
+  <misc/>
+  <theme/>
+  <mxmlFormattingPrefs groupAttributesByState="true" maxLineWidth="100" mxmlAlignAttributes="true" mxmlAttributeOrder="id,userLabel,includeIn,excludeFrom,visible,x,y,z,left,right,top,bottom,width,height,minWidth,minHeight,maxWidth,maxHeight,label" mxmlKeepAttributeValuesOrganized="true"/>
+</fxpProperties>

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.project
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.project b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.project
new file mode 100644
index 0000000..4a6fbf8
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.project
@@ -0,0 +1,43 @@
+<?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.
+
+-->
+<projectDescription>
+	<name>ViewTransitionsSample</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.apollobuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexide.project.multiplatform.multiplatformnature</nature>
+		<nature>com.adobe.flexbuilder.project.apollonature</nature>
+		<nature>com.adobe.flexbuilder.project.flexnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.settings/org.eclipse.core.resources.prefs
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.settings/org.eclipse.core.resources.prefs b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..d404c15
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,18 @@
+# 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.
+
+#Fri May 06 05:23:48 EDT 2011
+eclipse.preferences.version=1
+encoding/<project>=utf-8

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/libs/.emptyDir
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/libs/.emptyDir b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/libs/.emptyDir
new file mode 100644
index 0000000..b0b2b1c
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/libs/.emptyDir
@@ -0,0 +1 @@
+
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/mimetype
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/mimetype b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/mimetype
new file mode 100644
index 0000000..a86de00
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/mimetype
@@ -0,0 +1 @@
+application/vnd.adobe.fxp
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/src/MyButtonBarSkin.as
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/src/MyButtonBarSkin.as b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/src/MyButtonBarSkin.as
new file mode 100644
index 0000000..cc859c0
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/src/MyButtonBarSkin.as
@@ -0,0 +1,179 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 spark.components.ButtonBar;
+	import spark.components.ButtonBarButton;
+	import spark.components.DataGroup;
+	import spark.components.supportClasses.ButtonBarHorizontalLayout;
+	import spark.skins.mobile.supportClasses.ButtonBarButtonClassFactory;
+	import spark.skins.mobile.supportClasses.MobileSkin;
+	
+	/**
+	 *  The default skin class for the Spark ButtonBar component.
+	 *
+	 *  @see spark.components.ButtonBar
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 2.5
+	 *  @productversion Flex 4.5
+	 */
+	public class MyButtonBarSkin extends MobileSkin
+	{
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 * Constructor.
+		 * 
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 2.5
+		 *  @productversion Flex 4.5
+		 *
+		 */
+		public function MyButtonBarSkin()
+		{
+			super();
+		}
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Skin parts
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  @copy spark.skins.spark.ApplicationSkin#hostComponent
+		 */
+		public var hostComponent:ButtonBar;
+		
+		/**
+		 *  @copy spark.components.ButtonBar#firstButton
+		 */
+		public var firstButton:ButtonBarButtonClassFactory;
+		
+		/**
+		 *  @copy spark.components.ButtonBar#lastButton
+		 */
+		public var lastButton:ButtonBarButtonClassFactory;
+		
+		/**
+		 *  @copy spark.components.ButtonBar#middleButton
+		 */
+		public var middleButton:ButtonBarButtonClassFactory;
+		
+		/**
+		 *  @copy spark.components.SkinnableDataContainer#dataGroup
+		 */
+		public var dataGroup:DataGroup;
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden methods
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  @private
+		 */
+		override protected function createChildren():void
+		{
+			// Set up the class factories for the buttons
+			if (!firstButton)
+			{
+				firstButton = new ButtonBarButtonClassFactory(ButtonBarButton);
+				//firstButton.skinClass = spark.skins.mobile.ButtonBarFirstButtonSkin;
+			}
+			
+			if (!lastButton)
+			{
+				lastButton = new ButtonBarButtonClassFactory(ButtonBarButton);
+				//lastButton.skinClass = spark.skins.mobile.ButtonBarLastButtonSkin;
+			}
+			
+			if (!middleButton)
+			{
+				middleButton = new ButtonBarButtonClassFactory(ButtonBarButton);
+				//middleButton.skinClass = spark.skins.mobile.ButtonBarMiddleButtonSkin;
+			}
+			
+			// create the data group to house the buttons
+			if (!dataGroup)
+			{
+				dataGroup = new DataGroup();
+				var hLayout:ButtonBarHorizontalLayout = new ButtonBarHorizontalLayout();
+				hLayout.gap = 0;
+				dataGroup.layout = hLayout;
+				addChild(dataGroup);
+			}
+		}
+		
+		/**
+		 *  @private
+		 */
+		override protected function commitCurrentState():void
+		{
+			alpha = (currentState == "disabled") ? 0.5 : 1;
+		}
+		
+		/**
+		 *  @private
+		 */
+		override protected function measure():void
+		{
+			measuredWidth = dataGroup.measuredWidth;
+			measuredHeight = dataGroup.measuredHeight;
+			
+			measuredMinWidth = dataGroup.measuredMinWidth;
+			measuredMinHeight = dataGroup.measuredMinHeight;
+		}
+		
+		/**
+		 *  @private
+		 */
+		override protected function layoutContents(unscaledWidth:Number, unscaledHeight:Number):void
+		{
+			super.layoutContents(unscaledWidth, unscaledHeight);
+			
+			setElementPosition(dataGroup, 0, 0);
+			setElementSize(dataGroup, unscaledWidth, unscaledHeight);
+		}
+		override protected function drawBackground(unscaledWidth:Number, unscaledHeight:Number):void
+		{
+			super.drawBackground(unscaledWidth, unscaledHeight);
+			
+			// backgroundAlpha style is not supported by ButtonBar
+			// TabbedViewNavigatorSkin sets a hard-coded value to support
+			// overlayControls
+			var backgroundAlphaValue:* = getStyle("backgroundAlpha");
+			var backgroundAlpha:Number = (backgroundAlphaValue === undefined)
+				? 1 : getStyle("backgroundAlpha");
+			
+			graphics.beginFill(getStyle("chromeColor"), backgroundAlpha);
+			graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
+			graphics.endFill();
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-external/blob/1bcc0e18/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/src/MyItemRenderer.mxml
----------------------------------------------------------------------
diff --git a/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/src/MyItemRenderer.mxml b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/src/MyItemRenderer.mxml
new file mode 100644
index 0000000..4044e3b
--- /dev/null
+++ b/ADC/devnet/flex/TransitionsSamples/ViewTransitionsSample/src/MyItemRenderer.mxml
@@ -0,0 +1,24 @@
+<?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:IconItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
+					xmlns:s="library://ns.adobe.com/flex/spark"  label="{data}" 
+					color="#294867" width="100">
+	
+</s:IconItemRenderer>