Transferred from the Adobe Open Source Subversion Repository

Revision: 8031
Author:   egeorgie@adobe.com
Date:     2009-06-20T01:10:03.288554Z

Log Message:
-----------
Scrub the TODOs in the framework, convert to FIXMEs in the new convention and assigning an owner.

Doc Notes: N/A
Bugs: N/A
Reviewer: Deepa
tests: build, checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Timeline.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ModifiedCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ErrorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/StreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RemoveActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1279864 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/PopUpAnchor.as
+++ frameworks/projects/spark/src/spark/components/PopUpAnchor.as
@@ -426,7 +426,7 @@
     //
     //--------------------------------------------------------------------------

-    // TODO (jszeto) Rename to not use 'state'
+    // FIXME (jszeto): Rename to not use 'state'
     /**
      *  @private
      */


Transferred from the Adobe Open Source Subversion Repository

Revision: 3109
Author:   hmuller@adobe.com
Date:     2008-09-05T04:22:32.753328Z

Log Message:
-----------
Substantially revised the Scroller component.  This version supports
the vertical,horizontalScrollPolicy properties (as in Halo) and no
longer includes a vestigal "viewportHolder" skin part.  Layout is
now handled programatically, instead of with MXML constraints.

There are still some limitations for the "auto" scroll policies, and
some other minor layout problems.  There is no documentation (yet).

Corrected minimum size calculation in Vertical,HorizontalLayout
for the cases where an explicit rowCount or columnCount was specified.
The measured min sizes are now only based on the first rowCount
or columnCount (visible) layout items.

QE: Scroller can now be tested
Doc: No
Checkintests: Pass
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/intf/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/ScrollerSkin.mxml</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1285277 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
@@ -289,7 +289,6 @@
         	layoutTarget.invalidateDisplayList();
         }
     }
-

     private function variableRowHeightMeasure(layoutTarget:Group):void
     {
@@ -305,34 +304,39 @@
         var totalCount:uint = count; // How many items will be laid out
         for (var i:int = 0; i < count; i++)
         {
-            var layoutItem:ILayoutItem = layoutTarget.getLayoutItemAt(i);
-            if (!layoutItem || !layoutItem.includeInLayout)
+            var li:ILayoutItem = layoutTarget.getLayoutItemAt(i);
+            if (!li || !li.includeInLayout)
             {
             	totalCount--;
                 continue;
             }

-            preferredWidth = Math.max(preferredWidth, layoutItem.preferredSize.x);
-            preferredHeight += layoutItem.preferredSize.y;
-
-            var itemMinWidth:Number = hasPercentWidth(layoutItem) ? layoutItem.minSize.x : layoutItem.preferredSize.x;
-            var itemMinHeight:Number = hasPercentHeight(layoutItem) ? layoutItem.minSize.y : layoutItem.preferredSize.y;
-            minWidth = Math.max(minWidth, itemMinWidth);
-            minHeight += itemMinHeight;
+            preferredWidth = Math.max(preferredWidth, li.preferredSize.x);
+            preferredHeight += li.preferredSize.y;

-            if ((explicitRowCount != -1) && (visibleRows < explicitRowCount))
-            {
-            	visibleHeight = preferredHeight;
-            	visibleRows += 1;
+            var vrr:Boolean = (explicitRowCount != -1) && (visibleRows < explicitRowCount);
+
+            if (vrr || (explicitRowCount == -1))
+            {
+                var mw:Number =  hasPercentWidth(li) ? li.minSize.x : li.preferredSize.x;
+                var mh:Number = hasPercentHeight(li) ? li.minSize.y : li.preferredSize.y;
+                minWidth = Math.max(mw, minWidth);
+                minHeight += mh;
             }
+
+            if (vrr)
+            {
+                visibleHeight = preferredHeight;
+                visibleRows += 1;
+            }
         }

         if (totalCount > 1)
         {
-            var gapSpace:Number = gap * (totalCount - 1);
-            minHeight += gapSpace;
-            preferredHeight += gapSpace;
-            visibleHeight += (visibleRows > 1) ? (gap * (visibleRows - 1)) : 0;
+            preferredHeight += gap * (totalCount - 1);
+            var vgap:Number = (visibleRows > 1) ? (gap * (visibleRows - 1)) : 0;
+            visibleHeight += vgap;
+            minHeight += vgap;
         }

         layoutTarget.measuredWidth = preferredWidth;
@@ -384,7 +388,7 @@
         layoutTarget.measuredHeight = visibleHeight;

         layoutTarget.measuredMinWidth = minColumnWidth;
-        layoutTarget.measuredMinHeight = rowHeight;
+        layoutTarget.measuredMinHeight = visibleHeight;

         layoutTarget.setContentSize(columnWidth, contentHeight);
     }


removed unused variable

removed unused variable

--- src/fr/manashield/flex/thex/Game.as
+++ src/fr/manashield/flex/thex/Game.as
@@ -51,8 +51,7 @@
 			_scoreField.text = _score.toString();

 			// central hexagon
-			var centralBlock:Block = new Block(HexagonalGrid.instance.cell(new Point(0,0)), new Color(0x5c5c5c));
-			$(centralBlock); // Get rid of the annoying "not used" warning.
+			new Block(HexagonalGrid.instance.cell(new Point(0,0)), new Color(0x5c5c5c));

 			// reate the initial blocks
 			this.fillGrid();
@@ -91,8 +90,5 @@
 				}
 			}
 		}
-
-		//useless function used to get rid of a warning
-		private function $(o:Object):void{}
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19633
Author:   chiedozi@adobe.com
Date:     2011-01-06T22:45:58.821271Z

Log Message:
-----------
Reduced the amount of bitmaps generated in SlideViewTransition to increase fullscreen animation initialization time.

QE notes:
Doc notes:
Bugs:
Reviewer: Corey
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1264874 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as
@@ -585,6 +585,12 @@
      */
     protected var actionBar:ActionBar;

+    /**
+     *  @private
+     *  Convenience property which caches our associated tab bar.
+     */
+    protected var tabBar:ButtonBarBase;
+
     //--------------------------------------------------------------------------
     //
     //  Methods
@@ -609,8 +615,12 @@
         // Remember some common references.
         parentNavigator = navigator.parentNavigator;
         targetNavigator = parentNavigator ? parentNavigator : navigator;
+
         if (navigator is ViewNavigator)
             actionBar = ViewNavigator(navigator).actionBar;
+
+        if (targetNavigator is TabbedViewNavigator)
+            tabBar = TabbedViewNavigator(targetNavigator).tabBar;

         // Determine first if we're able to transition our control bars independently
         // of our view content.  If we are, then capture the necessary action bar
@@ -1129,6 +1139,7 @@

         consolidatedTransition = false;
         actionBar = null;
+        tabBar = null;
         parentNavigator = null;
         targetNavigator = null;
         navigator = null;
@@ -1218,18 +1229,18 @@
         if (!target.visible || target.width == 0 || target.height == 0)
             return null;

-        var snapShot:BitmapImage = new BitmapImage();
+        var snapshot:BitmapImage = new BitmapImage();

         // Ensure bitmap leverages its own display object for performance
         // reasons.
-        snapShot.alwaysCreateDisplayObject = true;
+        snapshot.alwaysCreateDisplayObject = true;

         // Capture image, with consideration for transform and color matrix.
         // Return null if an error is thrown.
         var bounds:Rectangle = new Rectangle();
         try
         {
-            snapShot.source = BitmapUtil.getSnapshotWithPadding(target, padding, true, bounds);
+            snapshot.source = BitmapUtil.getSnapshotWithPadding(target, padding, true, bounds);
         }
         catch (e:SecurityError)
         {
@@ -1237,8 +1248,8 @@
         }

         // Size and offset snapShot to match our image bounds data.
-        snapShot.width = bounds.width;
-        snapShot.height = bounds.height;
+        snapshot.width = bounds.width;
+        snapshot.height = bounds.height;

         var m:Matrix = new Matrix();
         m.translate(bounds.left, bounds.top);
@@ -1251,12 +1262,12 @@
             inverted.invert();
             m.concat(inverted);
         }
-        snapShot.setLayoutMatrix(m, false);
+        snapshot.setLayoutMatrix(m, false);

         // Exclude from layout.
-        snapShot.includeInLayout = false;
-
-        return snapShot;
+        snapshot.includeInLayout = false;
+
+        return snapshot;
     }

     //--------------------------------------------------------------------------


Transferred from the Adobe Open Source Subversion Repository

Revision: 19131
Author:   egeorgie@adobe.com
Date:     2010-12-08T01:57:27.424504Z

Log Message:
-----------
Fix issues with density scaling and transitions.

In this change:
- apply the inverse concatenated matrix to the transition bitmap snapshot
- use faster version of the bitmap snapshot function - draw only once, no read-back from the bitmap data for bounds detection.

QE notes:
Doc notes:
Bugs:
Reviewer: Corey
Tests run: checkintests, manual testing
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/CrossFadeViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/utils/BitmapUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1264902 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
@@ -194,7 +194,7 @@

         var oldVisibility:Boolean = endView.visible;
         endView.visible = false;
-        cachedNavigator = getSnapshot(targetNavigator);
+        cachedNavigator = getSnapshot(targetNavigator, 0);
         endView.visible = oldVisibility;
     }


- bugfix: DocumentView now properly cleans itself up once it is removed from stage

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@809 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/ui/DocumentView.as
+++ src/reprise/ui/DocumentView.as
@@ -11,18 +11,17 @@

 package reprise.ui
 {
-	import reprise.debug.DebugInterface;
 	import reprise.core.ApplicationContext;
 	import reprise.core.FocusManager;
 	import reprise.core.UIRendererFactory;
 	import reprise.core.reprise;
 	import reprise.css.CSS;
 	import reprise.css.CSSDeclaration;
+	import reprise.debug.DebugInterface;
 	import reprise.events.DisplayEvent;

 	import flash.display.StageScaleMode;
 	import flash.events.Event;
-	import flash.utils.clearTimeout;
 	import flash.utils.getTimer;

 	use namespace reprise;
@@ -220,7 +219,7 @@
 		{
 			if (m_invalidChildren.length == 0)
 			{
-				addEventListener(Event.ENTER_FRAME, self_enterFrame);
+				addEventListener(Event.ENTER_FRAME, self_enterFrame, false, 0, true);
 			}
 			//TODO: check if child.toString() is ok to use
 			m_invalidChildren.push({element : child, path : child.toString()});
@@ -263,14 +262,15 @@
 			m_rootElement = this;
 			m_containingBlock = this;
 			m_invalidChildren = [];
-			stage.addEventListener(Event.RESIZE, stage_resize);
+			stage.addEventListener(Event.RESIZE, stage_resize, false, 0, true);
+			addEventListener(Event.REMOVED_FROM_STAGE, self_removedFromStage, false, 0, true);
 			super.initialize();
 			stage.stageFocusRect = false;
 			m_focusManager = new FocusManager(this);

 			m_debugInterface = new DebugInterface(this);
 		}
-
+
 		protected override function initDefaultStyles() : void
 		{
 			m_elementDefaultStyles.setStyle('width', '100%');
@@ -362,8 +362,8 @@

 		protected function stage_resize(event : Event) : void
 		{
-			if ((m_widthIsRelative && m_contentBoxWidth != stage.stageWidth) ||
-				(m_heightIsRelative && m_contentBoxHeight != stage.stageHeight))
+			if (stage && ((m_widthIsRelative && m_contentBoxWidth != stage.stageWidth) ||
+				(m_heightIsRelative && m_contentBoxHeight != stage.stageHeight)))
 			{
 				stageDimensionsChanged = true;
 				invalidateStyles();
@@ -375,5 +375,11 @@
 			removeEventListener(Event.ENTER_FRAME, self_enterFrame);
 			validateElements();
 		}
+
+		protected function self_removedFromStage(event : Event) : void
+		{
+			removeEventListener(Event.ENTER_FRAME, self_enterFrame);
+			stage.removeEventListener(Event.RESIZE, stage_resize);
+		}
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 9211
Author:   hmuller@adobe.com
Date:     2009-08-10T21:50:20.402032Z

Log Message:
-----------
Corrected two alignment=JUSTIFY problems exposed by this bug:

- VerticalLayout/updateDisplayListVirtual() methods unconditionally
used LinearLayoutVector.minorSize for the contentWidth.  If
horizontalAlign=JUSTIFY then the contentWidth is less than or equal to
the "targetWidth", i.e. the target's width less the left/right
padding.  HorizontalLayout is similar.

- DataGroup/getVirtualElementAt() now initializes the new renderer's
width and height with setLayoutBoundsSize(), before calling validateNow().
If  VerticalLayout.horizontalAlign=JUSTIFY, the (renderer's) width is
the DataGroup's width less padding and height is NaN.   HorizontalLayout
is similar.

The signature for GroupBase/getVirtualElementAt() has changed, two optional
parameters were added:

  public function getVirtualElementAt(index:int, eltWidth:Number=NaN, eltHeight:Number=NaN):IVisualElement

QE Notes: API change should not affect tests.  Mustella datagroup, viewport, and layout tests pass.
Doc Notes: ASDoc revisions in all classes
Bugs: sdk-22017
Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/Block.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1285533 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as
@@ -13,7 +13,7 @@
 package spark.layouts.supportClasses
 {
 import flash.geom.Rectangle;
-import spark.primitives.Rect;
+
 import mx.core.ILayoutElement;
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;
@@ -87,7 +87,7 @@
     internal static const BLOCK_SHIFT:uint = 7;
     internal static const BLOCK_MASK:uint = 0x7F;
     private var blockTable:Vector.<Block> = new Vector.<Block>(0, false);
-
+
     public function LinearLayoutVector(majorAxis:uint = VERTICAL)
     {
         super();
@@ -184,7 +184,7 @@
     //----------------------------------

     private var _minorSize:Number = 0;
-
+
     /**
      *  The maximum size of items along the axis opposite the majorAxis.
      *
@@ -711,7 +711,7 @@
             return index + Math.floor(Number(distance - curDistance) / Number(_defaultMajorSize + _gap));
         }
     }
-
+
     /**
      *  Stores the majorSize for the specified ILayoutElement at index,
      *  and updates the minorSize and minMinorSize properties.
@@ -745,22 +745,22 @@
         if (!elt || (index >= _length))
             return;

-        // The minorSize is the max of the perferredBoundsWidths, rather than
-        // the actual widths, because we do not want the contentWidth to track
-        // the target's width, per horizontalAlign="contentJustify" or
-        // "justify".  The majorAxis=HORIZONTAL case is similar.
+        // The minorSize is the min of the acutal width and the preferred width
+        // because we do not want the contentWidth to track the target's width,
+        // per horizontalAlign="contentJustify" or "justify".
+        // The majorAxis=HORIZONTAL case is similar.

         if (majorAxis == VERTICAL)
         {
+            setMajorSize(index, elt.getLayoutBoundsHeight());
             var w:Number = Math.min(elt.getPreferredBoundsWidth(), elt.getLayoutBoundsWidth());
-            setMajorSize(index, elt.getLayoutBoundsHeight());
             minorSize = Math.max(minorSize, w);
             minMinorSize = Math.max(minMinorSize, elt.getMinBoundsWidth());
         }
         else
         {
+            setMajorSize(index, elt.getLayoutBoundsWidth());
             var h:Number = Math.min(elt.getPreferredBoundsHeight(), elt.getLayoutBoundsHeight());
-            setMajorSize(index, elt.getLayoutBoundsWidth());
             minorSize = Math.max(minorSize, h);
             minMinorSize = Math.max(minMinorSize, elt.getMinBoundsHeight());
         }


update EnvironmentMappingShaderPart.getEnvironmentColor() to return (0, 0, 0, 0) if ENVIRONMENT_MAPPING_TYPE or ENVIRONMENT_MAP are not set

--- src/aerys/minko/render/shader/part/environment/EnvironmentMappingShaderPart.as
+++ src/aerys/minko/render/shader/part/environment/EnvironmentMappingShaderPart.as
@@ -34,6 +34,10 @@

 		public function getEnvironmentColor() : SFloat
 		{
+            if (!meshBindings.propertyExists(EnvironmentMappingProperties.ENVIRONMENT_MAPPING_TYPE)
+                || !meshBindings.propertyExists(EnvironmentMappingProperties.ENVIRONMENT_MAP))
+                return float4(0, 0, 0, 0);
+
 			// compute reflected vector
 			var cWorldCameraPosition	: SFloat = this.cameraPosition;
 			var vsWorldVertexToCamera	: SFloat = normalize(subtract(cWorldCameraPosition, vsWorldPosition));


fixed bug created in previous commit

fixed bug created in previous commit

--- WeaveUISpark/src/weave/Weave.as
+++ WeaveUISpark/src/weave/Weave.as
@@ -158,7 +158,7 @@
 			var cc:ColorColumn = target.requestObject(DEFAULT_COLOR_COLUMN, ColorColumn, true);
 			var bc:BinnedColumn = cc.internalDynamicColumn.requestGlobalObject(DEFAULT_COLOR_BIN_COLUMN, BinnedColumn, true);
 			var fc:FilteredColumn = bc.internalDynamicColumn.requestGlobalObject(DEFAULT_COLOR_DATA_COLUMN, FilteredColumn, true);
-			//fc.filter.requestGlobalObject(DEFAULT_SUBSET_KEYFILTER, KeyFilter, true);
+			fc.filter.requestGlobalObject(DEFAULT_SUBSET_KEYFILTER, KeyFilter, false); // false to allow disabling filtering

 			// default key sets
 			var subset:KeyFilter = target.requestObject(DEFAULT_SUBSET_KEYFILTER, KeyFilter, true);


Bug 616031 - abcdump should display opcode count along with size and align the summary text (r=cpeyer) . . attachment 494566 - nicely formats opcode summary table along with adding count . opcode count is useful and alignment is nice on the eyes.

--- utils/abcdump.as
+++ utils/abcdump.as
@@ -75,6 +75,7 @@

     var totalSize:int
     var opSizes:Array = new Array(256)
+    var opCounts:Array = new Array(256)

     function dumpPrint(s) {
         if (doExtractAbs)
@@ -541,6 +542,7 @@
                     var size:int = code.position - start
                     totalSize += size
                     opSizes[opcode] = int(opSizes[opcode]) + size
+                    opCounts[opcode] = int(opCounts[opcode]) + 1
                     dumpPrint(s)
                 }
                 if (exceptions) {
@@ -1128,7 +1130,7 @@
             }
             infoPrint("ScriptInfo size "+(data.position-start)+" "+int(100*(data.position-start)/data.length)+" %")
         }
-
+
         function parseMethodBodies()
         {
             var start:int = data.position
@@ -1185,7 +1187,7 @@
                     m.dump(this,indent)
             }

-            infoPrint("OPCODE\tSIZE\t% OF "+totalSize)
+            infoPrint(align(14,"OPCODE",' ',"left")+"\tCOUNT\t SIZE\t% OF "+totalSize)
             var done = []
             for (;;)
             {
@@ -1202,8 +1204,16 @@
                 if (max == -1)
                     break;
                 done[max] = 1;
-                infoPrint(opNames[max]+"\t"+int(opSizes[max])+"\t"+int(100*opSizes[max]/totalSize)+"%")
-            }
+                infoPrint(opNames[max]+"\t"+align(6,int(opCounts[max]))+"\t"+align(6,int(opSizes[max]))+"\t"+align(2,int(100*opSizes[max]/totalSize))+"%")
+            }
+        }
+
+        // right/left align 's' to 'len' characters using 'pad' as padding
+        function align(len, s, pad=' ', ment='right')
+        {
+            return (ment == 'right')
+                ? new Array(Math.max(0,len-String(s).length)).join(pad)+String(s)
+                : new String(s)+Array(Math.max(0,len-String(s).length)).join(pad)
         }
     }


For 615252 - Merge gcTrace and gcTraceLarge methods: Update exactgc.as not to generate gcTraceLarge, and to obey the new protocol (r=fklockii)

--- utils/exactgc.as
+++ utils/exactgc.as
@@ -1347,15 +1347,19 @@
             PR("const size_t _xact_work_count = " + c.variable_length_field.count + ";").
             PR("if (_xact_cursor * _xact_work_increment >= _xact_work_count)").
             IN().
-            PR("return (_xact_cursor == 0);").
+            PR("return false;").
             OUT().
             PR("size_t _xact_work = _xact_work_increment;").
+            PR("bool _xact_more = true;").
             PR("if ((_xact_cursor + 1) * _xact_work_increment >= _xact_work_count)").
+            PR("{").
             IN().
             PR("_xact_work = _xact_work_count - (_xact_cursor * _xact_work_increment);").
-            OUT();
+            PR("_xact_more = false;").
+            OUT().
+            PR("}");
         emitChunk(c.out, c.variable_length_field, "(_xact_cursor * _xact_work_increment)", "_xact_work");
-        c.out.PR("return true;");
+        c.out.PR("return _xact_more;");
     }

     function emitArrayUnchunked(c) {
@@ -1410,7 +1414,7 @@
         // traced class has an exactly traced base class.

         if (c.base != null && !noUsefulTracer(c.base)) {
-            c.out.PR(c.base + "::gcTrace(gc);");
+            c.out.PR(c.base + "::gcTrace(gc, 0);");
             if (interlockOutputFile != null)
                 c.out.PR("(void)(" + cleanupNs(c.base) + "_isExactInterlock != 0);");
         }
@@ -1481,7 +1485,7 @@
                     NL();
             if (c.probablyLarge) {
                 output.
-                    PR("bool " + c.cls + "::gcTraceLarge(MMgc::GC* gc, size_t _xact_cursor)").
+                    PR("bool " + c.cls + "::gcTrace(MMgc::GC* gc, size_t _xact_cursor)").
                     PR("{").
                     DO(function (output) {
                             if (output === builtins) {
@@ -1500,21 +1504,15 @@
                         }).
                     PR(c.out.get()).
                     PR("}").
-                    NL().
-                    PR("void " + c.cls + "::gcTrace(MMgc::GC* gc)").
-                    PR("{").
-                    IN().
-                    PR("gcTraceSmallAsLarge(gc);").
-                    OUT().
-                    PR("}").
                     NL();
             }
             else {
                 output.
-                    PR("void " + c.cls + "::gcTrace(MMgc::GC* gc)").
+                    PR("bool " + c.cls + "::gcTrace(MMgc::GC* gc, size_t _xact_cursor)").
                     PR("{").
                     IN().
                     PR("(void)gc;").
+                    PR("(void)_xact_cursor;").
                     DO(function (output) {
                             if (output === builtins) {
                                 output.
@@ -1525,12 +1523,8 @@
                         }).
                     OUT().
                     PR(c.out.get()).
-                    PR("}").
-                    NL().
-                    PR("bool " + c.cls + "::gcTraceLarge(MMgc::GC* gc, size_t _xact_cursor)").
-                    PR("{").
                     IN().
-                    PR("return gcTraceLargeAsSmall(gc, _xact_cursor);").
+                    PR("return false;").
                     OUT().
                     PR("}").
                     NL();


Use `colorize` in readline test.

Use `colorize` in readline test.

--- test-src/test_readline_flash.as
+++ test-src/test_readline_flash.as
@@ -1,4 +1,5 @@
 package {
+  import stdio.colorize
   import stdio.flash.Sprite
   import stdio.process
   import stdio.Interactive
@@ -9,9 +10,14 @@
       process.prompt = "What’s your name? "
       process.gets(function (name: String): void {
         process.puts("Hello, " + name + "!")
-        process.prompt = "Favorite color? "
+        process.prompt = "What’s your favorite color? "
         process.gets(function (color: String): void {
-          process.puts("I like " + color + " too!")
+          color = color.toLowerCase()
+          process.puts(
+            "I like " + colorize(
+              "%{bold}%{" + color + "}" + color + "%{none}"
+            ) + " too!"
+          )
           process.exit()
         })
       })


Added getProjectName utility function

Added getProjectName utility function

--- collect-flex/collect-flex-client/src/generated/flex/org/openforis/collect/metamodel/proxy/SurveyProxy.as
+++ collect-flex/collect-flex-client/src/generated/flex/org/openforis/collect/metamodel/proxy/SurveyProxy.as
@@ -6,9 +6,26 @@
  */

 package org.openforis.collect.metamodel.proxy {
-
+
+	/**
+	 * @author S. Ricci
+	 */
     [Bindable]
     [RemoteClass(alias="org.openforis.collect.metamodel.proxy.SurveyProxy")]
     public class SurveyProxy extends SurveyProxyBase {
+
+		public function getProjectName(lang:String = "en", firstIfNotFound:Boolean = true):String {
+			for each (var p:LanguageSpecificTextProxy in projectNames) {
+				if(p.language == lang) {
+					return p.text;
+				}
+			}
+			if(firstIfNotFound && projectNames.length > 0) {
+				var langText:LanguageSpecificTextProxy = LanguageSpecificTextProxy(projectNames.getItemAt(0));
+				return langText.text;
+			} else {
+				return name;
+			}
+		}
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20013
Author:   harishs@adobe.com
Date:     2011-01-31T15:32:09.255609Z

Log Message:
-----------
QE notes: Globalization changes. Full cyclone run has been done. Default locale changes and sort bug fixes since Dec 14 2010
Doc notes: ASDOC comments for all classes have been updated.
Bugs: SDK-29132 SDK-29127 SDK-28163  SDK-29075 SDK-28600 SDK-28492 SDK-28856

Reviewer: Gordon Smith, Xie Fang, Zhigang Qi
Tests run: cyclone and checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/SortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/NumberValidatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ISort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/GlobalizationValidatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/supportClasses/CollatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/collections/Sort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/NumberValidator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/CurrencyValidator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/collections/SortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/supportClasses/GlobalizationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/GlobalizationUtils.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/SortingCollator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/LastOperationStatus.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/Sort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/supportClasses/NumberFormatterBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/MatchingCollator.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1288049 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/validators/supportClasses/GlobalizationValidatorBase.as
+++ frameworks/projects/spark/src/spark/validators/supportClasses/GlobalizationValidatorBase.as
@@ -263,7 +263,6 @@
      *  displays an error message for a failure,
      *  or hides any existing error message for a successful validation.

      *
-     *
      *  @langversion 3.0
      *  @playerversion Flash 10.1
      *  @playerversion AIR 2.5
@@ -780,6 +779,8 @@
      *  removeListenerHandler() method and then the
      *  addListenerHandler method if
      *  the value of one of their listeners or sources changes.
+     *  The CreditCardValidator and DateValidator classes use this function
+     *  internally.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10.1
@@ -824,7 +825,7 @@
     }

     /**
-     *  Returns the Object to validate.
+     *  Returns the Object to validate.
      *
      *  @return The Object to validate.
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1248667 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/advancedgrids/src/mx/olap/IOLAPAxisPosition.as
+++ frameworks/projects/advancedgrids/src/mx/olap/IOLAPAxisPosition.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1259345 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/core/IFontContextComponent.as
+++ frameworks/projects/framework/src/mx/core/IFontContextComponent.as
@@ -0,0 +1,50 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+/**
+ *  Allows a component to support a font context property.
+ *  The property will be set on the component by the framework
+ *  as the child is added to  the display list.
+ *
+ *  A font context is important for components that create flash.text.TextField
+ *  objects with embedded fonts.
+ *  If an embedded font is not registered using Font.registerFont(),
+ *  TextField objects can only use embedded fonts if they are created
+ *  in the context of the embedded font.
+ *  This interface provides for tracking the font context of a component.
+ */
+public interface IFontContextComponent
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  fontContext
+    //----------------------------------
+
+    /**
+     *  The module factory that provides the font context for this component.
+     */
+    function get fontContext():IFlexModuleFactory;
+
+    /**
+     *  @private
+     */
+    function set fontContext(moduleFactory:IFlexModuleFactory):void;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 10919
Author:   gosmith@adobe.com
Date:     2009-10-07T22:15:33.759089Z

Log Message:
-----------
Integrated TLF Build 517.

This isn't the latest TLF build, but it is the one that introduced a significant API change, so I want to take it before taking other TLF changes. The ITextLineCreator interface, with its createTextLine() and recreateTextLine() methods, has been replaced with an ISWFContext interface with a callInContext() method. This required changes in 11 framework classes and in the MXML compiler's autogenerated code for the module factory classes.

The purpose of both the old and the new interface is to support cross-SWF font embedding, by allowing certain FTE calls such as textBlock.createTextLine() to execute in the SWF where the font you're using is embedded.

QE notes: None
Doc notes: None
Bugs: None
Reviewer: Alex should review
Tests run: ant checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/textLayout_core/src/flashx/textLayout/compose/TextFlowLine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/textLayout_core/src/flashx/textLayout/compose/IFlowComposer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UIFTETextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/FTETextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/textLayout_edit/src/flashx/textLayout/container/TextContainerManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/TextFieldFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/textLayout_core/src/flashx/textLayout/CoreClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/textLayout_core/src/flashx/textLayout/BuildInfo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/textLayout_core/src/flashx/textLayout/compose/ComposeState.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/ReleaseNotes.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/textLayout_core/src/flashx/textLayout/compose/FlowComposerBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/textLayout_core/src/flashx/textLayout/factory/StringTextLineFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/textLayout_core/src/flashx/textLayout/compose/SimpleCompose.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/textLayout_core/src/flashx/textLayout/elements/FlowLeafElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/textLayout_core/src/flashx/textLayout/factory/TextLineFactoryBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/tlf.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/textLayout/textLayout_core/src/flashx/textLayout/factory/TextFlowTextLineFactory.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1280181 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -31,7 +31,7 @@
 import flash.text.engine.TextLine;
 import flash.ui.Keyboard;

-import flashx.textLayout.compose.ITextLineCreator;
+import flashx.textLayout.compose.ISWFContext;
 import flashx.textLayout.container.TextContainerManager;
 import flashx.textLayout.conversion.ConversionType;
 import flashx.textLayout.conversion.ITextExporter;
@@ -2188,8 +2188,8 @@
             // Otherwise, this will be null.
             embeddedFontContext = getEmbeddedFontContext();

-            _textContainerManager.textLineCreator =
-                ITextLineCreator(embeddedFontContext);
+            _textContainerManager.swfContext =
+				ISWFContext(embeddedFontContext);

             _textContainerManager.hostFormat =
             hostFormat = new CSSTextLayoutFormat(this);
@@ -3401,7 +3401,7 @@
             // specify an embedded font.
             if (s == "auto")
             {
-                s = _textContainerManager.textLineCreator ?
+                s = _textContainerManager.swfContext ?
                     FontLookup.EMBEDDED_CFF :
                     FontLookup.DEVICE;
             }
@@ -3930,7 +3930,7 @@
         //    set hostFormat
         //    set compositionWidth/compositionHeight
         //    set horizontalScrollPosition/veriticalScrollPosition
-        //    set textLineCreator
+        //    set swfContext
         //    updateContainer or compose: always if TextFlowFactory, sometimes
         //        if flowComposer


Transferred from the Adobe Open Source Subversion Repository

Revision: 6373
Author:   cframpto@adobe.com
Date:     2009-04-29T11:42:59.574644Z

Log Message:
-----------
Change set baseline calculation for RichEditableText.  ascent is already available so don't need to compose dummy text if there is no text available.

QE Notes:
Doc Notes:
Bugs: SDK-20809
Reviewers: Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1280085 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -510,15 +510,8 @@
      */
     override public function get baselinePosition():Number
     {
-        var isEmpty:Boolean = text == "";
-
-        if (isEmpty)
-            text = "Wj";
-
-        validateBaselinePosition();
-
-        if (isEmpty)
-            text = "";
+        // Update ascent, if fontMetrics changed.
+        calculateFontMetrics();

         return getStyle("paddingTop") + ascent;
     }
@@ -1609,13 +1602,8 @@
     {
         super.measure();

-        // Recalculate the ascent, and descent
-        // if these might have changed.
-        if (fontMetricsInvalid)
-        {
-            calculateFontMetrics();
-            fontMetricsInvalid = false;
-        }
+        // Recalculate the ascent, and descent, if fontMetrics changed.
+        calculateFontMetrics();

         if (_autoSize)
         {
@@ -2175,6 +2163,9 @@
      */
     private function calculateFontMetrics():void
     {
+        if (!fontMetricsInvalid)
+            return;
+
         // If the CSS styles for this component specify an embedded font,
         // embeddedFontContext will be set to the module factory that
         // should create TextLines (since they must be created in the
@@ -2233,6 +2224,8 @@

         ascent = textLine.ascent;
         descent = textLine.descent;
+
+        fontMetricsInvalid = false;
     }

     /**


Fixed bug in StandardDeviationBinningDefinition where it wasn't creating
the correct bin ranges.

Change-Id: Iefcfbea84f3694ef47fd6dda6635d5263e2f420e

--- WeaveData/src/weave/data/BinningDefinitions/StandardDeviationBinningDefinition.as
+++ WeaveData/src/weave/data/BinningDefinitions/StandardDeviationBinningDefinition.as
@@ -77,16 +77,16 @@
 				if (absSDNumber == MAX_SD)
 					bin.min.value = -Infinity;
 				else
-					bin.min.value = mean - (absSDNumber + 1) * stdDev;
-				bin.max.value = mean - absSDNumber * stdDev;
+					bin.min.value = mean - absSDNumber * stdDev;
+				bin.max.value = mean - (absSDNumber - 1) * stdDev;
 			}
 			else // above mean
 			{
-				bin.min.value = mean + absSDNumber * stdDev;
+				bin.min.value = mean + (absSDNumber - 1) * stdDev;
 				if (absSDNumber == MAX_SD)
 					bin.max.value = Infinity;
 				else
-					bin.max.value = mean + (absSDNumber + 1) * stdDev;
+					bin.max.value = mean + absSDNumber * stdDev;
 			}
 			bin.minInclusive.value = true;
 			bin.maxInclusive.value = true;


Transferred from the Adobe Open Source Subversion Repository

Revision: 16236
Author:   jszeto@adobe.com
Date:     2010-05-20T00:54:54.963159Z

Log Message:
-----------
Form Feature Work

Merging in Form classes from the private sandbox. All spec'ed functionality has been implemented.

QE notes: none
Doc notes: Needs ASDoc comments
Bugs: none
Reviewer: Hans, Kevin
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/FormItemLayout.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/FormItemLayout.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/assets/ErrorIndicator.png" copyfrom-rev="16235" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/assets/ErrorIndicator.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/StackedFormItemSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/StackedFormItemSkin.mxml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/Form.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Form.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormItemSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormItemSkin.mxml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/StackedFormHeadingSkin.mxml" copyfrom-rev="16047" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/StackedFormHeadingSkin.mxml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormHeadingSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormHeadingSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/FormLayout.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/FormLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/bundles/en_US/layout.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/assets/RequiredIndicator.png" copyfrom-rev="16235" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/assets/RequiredIndicator.png</path>
<path kind="dir" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/assets" copyfrom-rev="16235" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/assets</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/FormItem.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/FormItem.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/FormHeading.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1259975 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -936,6 +936,31 @@
  *  @productversion Flex 4.1
  */
 [Style(name="layoutDirection", type="String", enumeration="ltr,rtl", inherit="yes")]
+
+/**
+ *  Show the error border or skin when this component is invalid
+ *
+ *  @default true
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4.5
+ */
+[Style(name="showErrorSkin", type="Boolean", inherit="yes")]
+
+/**
+ *  Show the error tip when this component is invalid and the user
+ *  rolls over it
+ *
+ *  @default true
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4.5
+ */
+[Style(name="showErrorTip", type="Boolean", inherit="yes")]

 /**
  *  Theme color of a component. This property controls the appearance of highlights,
@@ -6297,7 +6322,7 @@
     //----------------------------------
     //  baselinePosition
     //----------------------------------
-
+
     /**
      *  @inheritDoc
      *
@@ -6801,7 +6826,10 @@
         var oldValue:String = _errorString;
         _errorString = value;

-        ToolTipManager.registerErrorString(this, oldValue, value);
+        var showErrorTip:Boolean = getStyle("showErrorTip");
+
+        if (showErrorTip)
+            ToolTipManager.registerErrorString(this, oldValue, value);

         errorStringChanged = true;
         invalidateProperties();
@@ -6816,38 +6844,44 @@
      */
     private function setBorderColorForErrorString():void
     {
-        if (!_errorString || _errorString.length == 0)
-        {
-            if (!isNaN(origBorderColor))
+        var showErrorSkin:Boolean = getStyle("showErrorSkin");
+
+        if (showErrorSkin)
+        {
+
+            if (!_errorString || _errorString.length == 0)
             {
-                setStyle("borderColor", origBorderColor);
-                saveBorderColor = true;
+                if (!isNaN(origBorderColor))
+                {
+                    setStyle("borderColor", origBorderColor);
+                    saveBorderColor = true;
+                }
             }
-        }
-        else
-        {
-            // Remember the original border color
-            if (saveBorderColor)
+            else
             {
-                saveBorderColor = false;
-                origBorderColor = getStyle("borderColor");
+                // Remember the original border color
+                if (saveBorderColor)
+                {
+                    saveBorderColor = false;
+                    origBorderColor = getStyle("borderColor");
+                }
+
+                setStyle("borderColor", getStyle("errorColor"));
             }
-
-            setStyle("borderColor", getStyle("errorColor"));
-        }
-
-        styleChanged("themeColor");
-
-        var focusManager:IFocusManager = focusManager;
-        var focusObj:DisplayObject = focusManager ?
-                                     DisplayObject(focusManager.getFocus()) :
-                                     null;
-        if (focusManager && focusManager.showFocusIndicator &&
-            focusObj == this)
-        {
-            drawFocus(true);
-        }
-
+
+            styleChanged("themeColor");
+
+            var focusManager:IFocusManager = focusManager;
+            var focusObj:DisplayObject = focusManager ?
+                                         DisplayObject(focusManager.getFocus()) :
+                                         null;
+            if (focusManager && focusManager.showFocusIndicator &&
+                focusObj == this)
+            {
+                drawFocus(true);
+            }
+
+        }
     }

     //----------------------------------
@@ -7829,6 +7863,7 @@
         // are properly laid out, so that we can use
         // their locations to compute a baselinePosition.
         validateNow();
+

         return true;
     }
@@ -9787,7 +9822,7 @@
         if (focusObj)
         {
             var rectCol:Number;
-            if (errorString && errorString != "")
+            if (errorString && errorString != "" && getStyle("showErrorSkin"))
                 rectCol = getStyle("errorColor");
             else if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
                 rectCol = getStyle("themeColor");
@@ -11897,10 +11932,9 @@
         catch (error:SecurityError)
         {

-        }
-
-    }
-
+        }
+    }
+
     /**
      *  @private
      *  See the comments for addedHandler() above.


Transferred from the Adobe Open Source Subversion Repository

Revision: 4840
Author:   egeorgie@adobe.com
Date:     2009-02-04T21:20:07.890221Z

Log Message:
-----------
Fix bug SDK-18904 Redudant APIs on UICompoennt and GraphicElement, SDK-17508 Applying a translation to a Rect causes shape to be scaled

Fix: remove layoutMatrix, layoutMatrix3D properties, add a parameter to the setLayoutMatrix, setLayoutMatrix3D methods to designate whether to trigger a layout pass after the transformation is applied.

QE Notes: None
Doc Notes: None
Bugs: SDK-18434
Reviewer: Jason
tests: checkintests, mustella flash component kit

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1259823 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -1573,7 +1573,6 @@
         if(_layoutFeatures == null)
         {
             super.x  = value;
-            invalidateProperties();
         }
         else
         {
@@ -1581,6 +1580,7 @@
             invalidateTransform();
         }

+        invalidateProperties();

         dispatchEvent(new Event("xChanged"));
     }
@@ -1603,9 +1603,12 @@
     {
         if (z == value)
             return;
-        if(_layoutFeatures == null) initAdvancedLayoutFeatures();
+        if (_layoutFeatures == null)
+            initAdvancedLayoutFeatures();
+
         _layoutFeatures.layoutZ = value;
         invalidateTransform();
+        invalidateProperties();
         dispatchEvent(new Event("zChanged"));
     }

@@ -1614,8 +1617,9 @@
      */
     public function get transformX():Number
     {
-        return (_layoutFeatures == null)? 0:_layoutFeatures.transformX;
-    }
+        return (_layoutFeatures == null)? 0 : _layoutFeatures.transformX;
+    }
+
     /**
      *  @private
      */
@@ -1623,9 +1627,11 @@
     {
         if (transformX == value)
             return;
-        if(_layoutFeatures == null) initAdvancedLayoutFeatures();
+        if (_layoutFeatures == null)
+            initAdvancedLayoutFeatures();
         _layoutFeatures.transformX = value;
         invalidateTransform();
+        invalidateProperties();
         invalidateParentSizeAndDisplayList();
     }

@@ -1634,8 +1640,9 @@
      */
     public function get transformY():Number
     {
-        return (_layoutFeatures == null)? 0:_layoutFeatures.transformY;
-    }
+        return (_layoutFeatures == null)? 0 : _layoutFeatures.transformY;
+    }
+
     /**
      *  @private
      */
@@ -1643,9 +1650,11 @@
     {
         if (transformY == value)
             return;
-        if(_layoutFeatures == null) initAdvancedLayoutFeatures();
+        if (_layoutFeatures == null)
+            initAdvancedLayoutFeatures();
         _layoutFeatures.transformY = value;
         invalidateTransform();
+        invalidateProperties();
         invalidateParentSizeAndDisplayList();
     }

@@ -1666,6 +1675,7 @@
         if(_layoutFeatures == null) initAdvancedLayoutFeatures();
         _layoutFeatures.transformZ = value;
         invalidateTransform();
+        invalidateProperties();
         invalidateParentSizeAndDisplayList();
     }

@@ -1719,6 +1729,7 @@
         }

         invalidateTransform();
+        invalidateProperties();
         invalidateParentSizeAndDisplayList();
     }

@@ -1758,9 +1769,11 @@
         if (rotationX == value)
             return;

-        if(_layoutFeatures == null) initAdvancedLayoutFeatures();
+        if (_layoutFeatures == null)
+            initAdvancedLayoutFeatures();
         _layoutFeatures.layoutRotationX = value;
         invalidateTransform();
+        invalidateProperties();
         invalidateParentSizeAndDisplayList();
     }

@@ -1785,9 +1798,11 @@
         if (rotationY == value)
             return;

-        if(_layoutFeatures == null) initAdvancedLayoutFeatures();
+        if (_layoutFeatures == null)
+            initAdvancedLayoutFeatures();
         _layoutFeatures.layoutRotationY = value;
         invalidateTransform();
+        invalidateProperties();
         invalidateParentSizeAndDisplayList();
     }

@@ -1828,7 +1843,6 @@

         if(_layoutFeatures == null)
         {
-            invalidateProperties();
             super.y  = value;
         }
         else
@@ -1836,7 +1850,7 @@
             _layoutFeatures.layoutY = value;
             invalidateTransform();
         }
-
+        invalidateProperties();

         dispatchEvent(new Event("yChanged"));
     }
@@ -2016,7 +2030,6 @@
     {
         if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
         {
-
             if (_scaleX == value)
                 return;

@@ -2027,8 +2040,6 @@
         }
         else
         {
-
-
             var prevValue:Number = (_layoutFeatures == null)? scaleX:_layoutFeatures.layoutScaleX;
             if (prevValue == value)
                 return;
@@ -2043,6 +2054,7 @@
                 _layoutFeatures.layoutScaleX = value;
             }
             invalidateTransform();
+            invalidateProperties();

             // If we're not compatible with Flex3 (measuredWidth is pre-scale always)
             // and scaleX is changing we need to invalidate parent size and display list
@@ -2103,7 +2115,6 @@

             invalidateProperties();
             invalidateSize();
-
        }
        else
        {
@@ -2119,6 +2130,7 @@
                 _layoutFeatures.layoutScaleY = value;
             }
             invalidateTransform();
+            invalidateProperties();

             // If we're not compatible with Flex3 (measuredWidth is pre-scale always)
             // and scaleX is changing we need to invalidate parent size and display list
@@ -2161,9 +2173,11 @@
     {
         if (scaleZ == value)
             return;
-        if(_layoutFeatures == null) initAdvancedLayoutFeatures();
+        if (_layoutFeatures == null)
+            initAdvancedLayoutFeatures();
         _layoutFeatures.layoutScaleZ = value;
         invalidateTransform();
+        invalidateProperties();
         dispatchEvent(new Event("scaleZChanged"));
     }

@@ -5942,24 +5956,22 @@
         }
     }

-    private function invalidateTransform(triggerPropertyInvalidation:Boolean = true):void
-    {
-        if(_layoutFeatures && _layoutFeatures.updatePending == false)
+    private function invalidateTransform():void
+    {
+        if (_layoutFeatures && _layoutFeatures.updatePending == false)
         {
             _layoutFeatures.updatePending = true;
-            if(isOnDisplayList() && UIComponentGlobals.layoutManager &&
-            invalidateDisplayListFlag == false)
+            if (isOnDisplayList() && UIComponentGlobals.layoutManager &&
+                invalidateDisplayListFlag == false)
             {
                 UIComponentGlobals.layoutManager.invalidateDisplayList(this);
             }
         }
-        if(triggerPropertyInvalidation)
-            invalidateProperties();
     }

     private function transformOffsetsChangedHandler(e:Event):void
     {
-        invalidateTransform(false);
+        invalidateTransform();
     }

     private function isOnDisplayList():Boolean
@@ -7192,7 +7204,7 @@

         if (changed)
         {
-            invalidateTransform(false);
+            invalidateTransform();
             dispatchMoveEvent();
         }
     }
@@ -9862,10 +9874,8 @@
         features.layoutY = y;
         features.layoutZ = z;
         _layoutFeatures = features;
-        invalidateTransform(false);
-    }
-
-
+        invalidateTransform();
+    }

     private function setTransform(value:flash.geom.Transform):void
     {
@@ -9891,11 +9901,9 @@
         var m:Matrix = _transform.matrix;
         var m3:Matrix3D =  _transform.matrix3D;
         if(m != null)
-            layoutMatrix = m.clone();
+            setLayoutMatrix(m.clone(), true /*triggerLayoutPass*/);
         else if(m3 != null)
-            layoutMatrix3D = m3.clone();
-
-        invalidateSize();
+            setLayoutMatrix3D(m3.clone(), true /*triggerLayoutPass*/);
     }

     /**
@@ -10010,39 +10018,15 @@
     }

     /**
-     *  The transform matrix that is used to calculate the component's layout relative to its siblings. This matrix
-     *  is defined by the component's 2D properties such as x, y, rotation,
-     *  scaleX, scaleY, transformX, and transformY.
-     *
This matrix is modified by the values of the offset property to determine its final, computed matrix.

-     */
-    public function get layoutMatrix():Matrix
-    {
-        if(_layoutFeatures != null)
-        {
-            // esg: _layoutFeatures keeps a single internal copy of the layoutMatrix.
-            // since this is an internal class, we don't need to worry about developers
-            // accidentally messing with this matrix, _unless_ we hand it out. Instead,
-            // we hand out a clone.
-            return _layoutFeatures.layoutMatrix.clone();
-        }
-        else
-        {
-            // flash also returns copies.
-            return super.transform.matrix;
-        }
-    }
-
-    /**
-     * @private
-     */
-    public function set layoutMatrix(value:Matrix):void
+     *  @inheritDoc
+     */
+    public function setLayoutMatrix(value:Matrix, triggerLayout:Boolean):void
     {
         hasDeltaIdentityTransform = false;
-        if(_layoutFeatures == null)
+        if (_layoutFeatures == null)
         {
             // flash will make a copy of this on assignment.
             super.transform.matrix = value;
-            invalidateSize();
         }
         else
         {
@@ -10050,42 +10034,31 @@
             // holding onto a reference to it.
             _layoutFeatures.layoutMatrix = value;
             invalidateTransform();
+        }
+
+        invalidateProperties();
+
+        if (triggerLayout)
             invalidateParentSizeAndDisplayList();
-        }
-    }
-
-    /**
-     *  Similarly to the layoutMatrix property, sets the layout Matrix, but
-     *  doesn't trigger a layout pass.
-     */
-    public function setLayoutMatrix(value:Matrix):void
-    {
-        hasDeltaIdentityTransform = false;
-        if (_layoutFeatures == null)
-        {
-            super.transform.matrix = value;
-        }
-        else
-        {
-            // layout features will internally make a copy of this matrix rather than
-            // holding onto a reference to it.
-            _layoutFeatures.layoutMatrix = value;
-            invalidateTransform(false /*triggerPropertyInvalidation*/);
-        }
     }

     /**
      *  Similarly to the layoutMatrix3D property, sets the layout Matrix3D, but
      *  doesn't trigger a layout pass.
      */
-    public function setLayoutMatrix3D(value:Matrix3D):void
+    public function setLayoutMatrix3D(value:Matrix3D, triggerLayout:Boolean):void
     {
         if (_layoutFeatures == null)
             initAdvancedLayoutFeatures();
         // layout features will internally make a copy of this matrix rather than
         // holding onto a reference to it.
         _layoutFeatures.layoutMatrix3D = value;
-        invalidateTransform(false /*triggerPropertyInvalidation*/);
+        invalidateTransform();
+
+        invalidateProperties();
+
+        if (triggerLayout)
+            invalidateParentSizeAndDisplayList();
     }

     /**
@@ -10149,20 +10122,6 @@
     }

     /**
-     * @private
-     */
-    public function get layoutMatrix3D():Matrix3D
-    {
-        if(_layoutFeatures == null) initAdvancedLayoutFeatures();
-        // esg: _layoutFeatures keeps a single internal copy of the layoutMatrix.
-        // since this is an internal class, we don't need to worry about developers
-        // accidentally messing with this matrix, _unless_ we hand it out. Instead,
-        // we hand out a clone.
-        return _layoutFeatures.layoutMatrix3D.clone();
-    }
-
-
-    /**
      * Determines the order in which items inside of groups are rendered. Groups order their items based on their layer property, with the lowest layer
      * in the back, and the higher in the front.  items with the same layer value will appear in the order they are added to the Groups item list.
      *
@@ -10320,7 +10279,19 @@
      */
     public function getLayoutMatrix():Matrix
     {
-        return layoutMatrix;
+        if(_layoutFeatures != null)
+        {
+            // esg: _layoutFeatures keeps a single internal copy of the layoutMatrix.
+            // since this is an internal class, we don't need to worry about developers
+            // accidentally messing with this matrix, _unless_ we hand it out. Instead,
+            // we hand out a clone.
+            return _layoutFeatures.layoutMatrix.clone();
+        }
+        else
+        {
+            // flash also returns copies.
+            return super.transform.matrix;
+        }
     }

     /**
@@ -10328,7 +10299,13 @@
      */
     public function getLayoutMatrix3D():Matrix3D
     {
-        return layoutMatrix3D;
+        if (_layoutFeatures == null)
+            initAdvancedLayoutFeatures();
+        // esg: _layoutFeatures keeps a single internal copy of the layoutMatrix.
+        // since this is an internal class, we don't need to worry about developers
+        // accidentally messing with this matrix, _unless_ we hand it out. Instead,
+        // we hand out a clone.
+        return _layoutFeatures.layoutMatrix3D.clone();
     }

     protected function nonDeltaLayoutMatrix():Matrix
@@ -10343,9 +10320,9 @@
                         UIComponent(obj).transformX, UIComponent(obj).transformY);
         }
 */
-        if(hasDeltaIdentityTransform)
+        if (hasDeltaIdentityTransform)
             return null;
-        if(_layoutFeatures != null)
+        if (_layoutFeatures != null)
         {
             return _layoutFeatures.layoutMatrix;
         }


2006 is an odd default changed to current year

--- frameworks/projects/mx/src/mx/controls/CalendarLayout.as
+++ frameworks/projects/mx/src/mx/controls/CalendarLayout.as
@@ -625,7 +625,7 @@
      */
     private var _proposedDisplayedYear:int = -1;

-    [Inspectable(category="General", defaultValue="2006")]
+    [Inspectable(category="General", defaultValue="2013")]

     /**
      *  @private


Transferred from the Adobe Open Source Subversion Repository

Revision: 18741
Author:   smgilson@adobe.com
Date:     2010-11-19T20:18:27.301685Z

Log Message:
-----------
Update ASDoc based on rename of args to prepare()/discard()

QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1281832 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as
@@ -187,7 +187,7 @@
     /**
      *  Called from the item renderer owner's updateDisplayList() method
      *  after all of the renderer's properties have been set.
-     *  The willBeRecycled parameter is false
+     *  The hasBeenRecycled parameter is false
      *  if this renderer has not been used before, meaning it was not recycled.
      *  This method is called when a renderer is about to become visible
      *  and each time it's redisplayed because of a change in a renderer
@@ -217,7 +217,7 @@
     /**
      *  Called from the item renderer owner's updateDisplayList() method
      *  when it has been determined that this renderer will no longer be visible.
-     *  If the hasBeenRecycled parameter is true,
+     *  If the willBeRecycled parameter is true,
      *  then the owner adds this renderer to its internal free list for reuse.
      *  Implementations can use this method to clear any renderer properties that are no longer needed.
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 3509
Author:   jimurphy@adobe.com
Date:     2008-10-07T18:19:17.646255Z

Log Message:
-----------
Rename of flex -> mx.

For compatibility reasons it was decided that the new functionality remain integrated with the old framework, although we will continue to build two separate SWCs, one with primarily existing framework classes, and one with new Flex 4 classes. This change removes duplicate names from the Flex 4 framework to avoid class name overlapping with the old framework code.  The naming overlap consists of two major areas:  New Components, and New Effects

Modified Paths:
--------------
386 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1284147 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/effects/interpolation/NumberInterpolator.as
+++ frameworks/projects/spark/src/spark/effects/interpolation/NumberInterpolator.as
@@ -8,7 +8,7 @@
 //  in accordance with the terms of the license agreement accompanying it.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package flex.effects.interpolation
+package mx.effects.interpolation
 {
 /**
  * The NumberInterpolator class provides interpolation between


Transferred from the Adobe Open Source Subversion Repository

Revision: 4410
Author:   jszeto@adobe.com
Date:     2009-01-06T22:48:36.629482Z

Log Message:
-----------
FXG Bug Fixes

SDK-18287 RTE when trying to use databinding with FXG graphic assets

Added Bindable metadata back to FilledElement.fill and StrokedElement.stroke. These were causing RTEs because databinding was
attempting to access the fill or stroke before they were created.

SDK-17650 LinearGradient scaleX attribute doesn't work when linear gradient is rotated

When scaleX is set, we now honor the value when the gradient is rotated. Graphics.createGradientBox normally tries to "fit" the gradient into the available space when it is rotated.

SDK-17645 Data binding will not be able to detect assignments to LinearGradient rotation property

Added Bindable metadata to GradientBase.rotation

SDK-18293 mx.filters.ColorMatrixFilter matrix property needs to support a comma delimited String of values

Changed the matrix property from type Array to type Object. The underlying backing variable remains an array. The setter will convert a comma delimited string into an array. The getter will always return an array.

QE Notes: LinearGradient looks different than before when using scaleX and rotation together. Add tests for ColorMatrixFilter.
Doc Notes: Need docs for ColorMatrixFilter. Changed behavior of LinearGradient.scaleX and LinearGradient.rotation.
Bugs: SDK-18287, SDK-17650, SDK-17645, SDK-18293
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/StrokedElement.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1286038 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as
@@ -63,7 +63,8 @@
      *  @private
      */
     mx_internal var _stroke:IStroke;
-
+
+    [Bindable("propertyChange")]
     [Inspectable(category="General")]

     /**
@@ -80,6 +81,7 @@
     public function set stroke(value:IStroke):void
     {
         var strokeEventDispatcher:EventDispatcher;
+        var oldValue:IStroke = _stroke;

         strokeEventDispatcher = _stroke as EventDispatcher;
         if (strokeEventDispatcher)
@@ -94,6 +96,8 @@
             strokeEventDispatcher.addEventListener(
                 PropertyChangeEvent.PROPERTY_CHANGE,
                 stroke_propertyChangeHandler);
+
+     	dispatchPropertyChangeEvent("stroke", oldValue, _stroke);

         invalidateDisplayList();
         // Parent layout takes stroke into account


in dispose(), _invalidated = true

in dispose(), _invalidated = true

--- WeaveCore/src/weave/core/LinkableTask.as
+++ WeaveCore/src/weave/core/LinkableTask.as
@@ -228,7 +228,7 @@
 		public function dispose():void
 		{
 			_lazy = true;
-			_invalidated = false;
+			_invalidated = true;
 			_asyncToken = null;
 			_result = null;
 			_error = null;


improved randomSort()

improved randomSort()

Change-Id: I7e21528b5e641028e38a353d217493cda4ef1d86

--- WeaveData/src/weave/utils/VectorUtils.as
+++ WeaveData/src/weave/utils/VectorUtils.as
@@ -152,11 +152,11 @@
 		 */
 		public static function randomSort(vector:*):void
 		{
-			var length:int = vector.length;
-			for (var i:int = length; i--;)
+			var i:int = vector.length;
+			while (i)
 			{
 				// randomly choose index j
-				var j:int = Math.floor(Math.random() * length);
+				var j:int = Math.floor(Math.random() * i--);
 				// swap elements i and j
 				var temp:* = vector[i];
 				vector[i] = vector[j];


335 few more funcs for ColorMatrixUtil

335 few more funcs for ColorMatrixUtil

--- raw/src/org/yellcorp/lib/color/matrix/ColorMatrixUtil.as
+++ raw/src/org/yellcorp/lib/color/matrix/ColorMatrixUtil.as
@@ -4,6 +4,7 @@
 {
     public static const MAX:int = 20;
     public static const WIDTH:int = 5;
+    public static const EPSILON:Number = 1 / 512;

     public static function makeIdentity(cm:Array = null):Array
     {
@@ -149,6 +150,26 @@
             if (!isFinite(e))
                 return false;
         }
+        return true;
+    }
+
+    /**
+     * Returns true if the color matrix cm is representable as a
+     * ColorTransform. This is true if a color matrix has zeros everywhere
+     * outside the diagonal and the last column.
+     */
+    public static function isColorTransform(cm:Array):Boolean
+    {
+        // skip 0, 18 and 19
+        for (var i:int = 1; i < 18; i++)
+        {
+            if (i % 6 != 0  &&  i % 5 != 4  // skip diagonal and last col
+                && (cm[i] >= EPSILON || cm[i] < -EPSILON))
+            {
+                return false;
+            }
+        }
+        return true;
     }

     public static function invert(m:Array, out:Array = null):Array


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1248582 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridSortItemRenderer.as
+++ frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridSortItemRenderer.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  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
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Fixed error in updateBuffer() override.

Fixed error in updateBuffer() override.

--- net/flashpunk/graphics/TiledImage.as
+++ net/flashpunk/graphics/TiledImage.as
@@ -34,7 +34,7 @@
 		}

 		/** @private Updates the buffer. */
-		override public function updateBuffer():void
+		override public function updateBuffer(clearBefore:Boolean = false):void
 		{
 			if (!_source) return;
 			if (!_texture)


Transferred from the Adobe Open Source Subversion Repository

Revision: 20274
Author:   chiedozi@adobe.com
Date:     2011-02-10T19:03:03.415911Z

Log Message:
-----------
Fixed an issue where cover view transitions would animate components in the wrong z order.

QE notes:
Doc notes:
Bugs: SDK-29462
Reviewer: Corey
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1264837 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
@@ -246,11 +246,12 @@
         {
             // Animate the tabBar if its overlayControls or visible property is toggled.
             animateTabBar = startView.overlayControls != endView.overlayControls ||
-                            startView.tabBarVisible != endView.tabBarVisible;
+                            startView.tabBarVisible != endView.tabBarVisible ||
+                            mode == SlideViewTransitionMode.COVER;
         }

         // Snapshot the entire navigator or actionBar depending on the mode.
-        if (mode == SlideViewTransitionMode.UNCOVER)
+        if (mode != SlideViewTransitionMode.PUSH)
         {
             var oldVisibility:Boolean = endView.visible;
             endView.visible = false;
@@ -446,10 +447,12 @@
         // transition mode (cover vs. uncover for instance).
         if (mode == SlideViewTransitionMode.COVER)
         {
-            // Add the transition group on top of the contentGroup.  It's important that its placed on
-            // top so that alpha characteristics of the cached ActionBar are shown properly
-            var childIndex:uint = targetNavigator.skin.getChildIndex(targetNavigator.contentGroup);
-            addComponentToContainerAt(transitionGroup, targetNavigator.skin, childIndex + 1);
+            // When doing a cover animation, the transition group is added to the bottom
+            // of the main navigator's skin with a bitmap image of the previous state.  The
+            // end view and ui controls will then animate on top of this image to create
+            // the cover effect.
+            addComponentToContainerAt(transitionGroup, targetNavigator.skin, 0);
+            transitionGroup.addElement(cachedNavigator);
         }
         else
         {
@@ -469,7 +472,14 @@
             actionBar.cacheAsBitmap = true;
         }

-        if (startView)
+        if (mode == SlideViewTransitionMode.COVER)
+        {
+            // Hide the start view since we have a cached image of the initial
+            // navigator state.
+            startViewProps = {visible: startView.visible};
+            startView.visible = false;
+        }
+        else if (startView)
         {
             // Store the position of the startView
             navigatorProps.startViewX = startView.x;
@@ -655,6 +665,11 @@
         else
         {

+            if (startView && mode == SlideViewTransitionMode.COVER)
+            {
+                startView.visible = startViewProps.visible;
+            }
+
             if (tabBar)
             {
                 tabBar.includeInLayout = navigatorProps.tabBarIncludeInLayout;


Transferred from the Adobe Open Source Subversion Repository

Revision: 19328
Author:   mhorn@adobe.com
Date:     2010-12-13T20:45:00.405533Z

Log Message:
-----------
ASDoc updates

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationAngledButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderDataTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationButtonSkin.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1265498 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as
@@ -26,6 +26,15 @@
     //  Constructor
     //
     //--------------------------------------------------------------------------
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     *
+     */
     public function TabbedViewNavigatorSkin()
     {
         super();