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>