Transferred from the Adobe Open Source Subversion Repository

Revision: 19449
Author:   cframpto@adobe.com
Date:     2010-12-17T14:42:26.473553Z

Log Message:
-----------
Fix invalidateCell() to take into account the padding rows returned in visibleRowIndices().  Also [ExcludeClass] GridSelection and change both createGridSelection() methods to mx_internal since GridSelection has not gone thru PARB.

QE notes:
Doc notes:
Bugs: SDK-28905
Reviewer: Hans
Tests run: cyclone
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -2970,9 +2970,12 @@
     }

     /**
-     *  Return the data provider indices of the currently visible rows.
+     *  Return the data provider indices and padding indices of the
+	 *  currently visible rows.
+	 *  Indices which are greater than or equal to the
+	 *  dataProvider length represent padding rows.
      *  Note that the item renderers for the first and last rows
-     *  may only be partially visible.
+     *  may only be partially visible.
      *  The returned vector's contents are in the order they're displayed.
      *
      *  @return A vector of the visible row indices.
@@ -3605,7 +3608,11 @@
      */
     public function invalidateCell(rowIndex:int, columnIndex:int):void
     {
-        if (!dataProvider || rowIndex >= dataProvider.length)
+        if (!dataProvider)
+			return;
+
+		const dataProviderLength:int = dataProvider.length;
+		if (rowIndex >= dataProvider.length)
 			return;

 		if (!isCellVisible(rowIndex, columnIndex))
@@ -3627,6 +3634,10 @@
 			const rowIndices:Vector.<int> = getVisibleRowIndices();
 			for each (rowIndex in rowIndices)
 			{
+				// If there are any padding rows, skip them.
+				if (rowIndex >= dataProviderLength)
+					break;
+
 				dataProvider.itemUpdated(dataProvider.getItemAt(rowIndex), dataField);
 			}
 		}
@@ -3644,7 +3655,7 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    protected function createGridSelection():GridSelection
+    mx_internal function createGridSelection():GridSelection
     {
         return new GridSelection();
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12664
Author:   mhorn@adobe.com
Date:     2009-12-08T20:39:06.119601Z

Log Message:
-----------
asdoc updates; new examples; updated examples; bug fixes

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/RectangularDropShadowExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/LineExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Graphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -238,7 +238,8 @@
      *  Possible values are GraphicsPathWinding.EVEN_ODD or GraphicsPathWinding.NON_ZERO
      *
      *  @default evenOdd
-     *  @see flash.display.GraphicPathWinding
+     *
+     *  @see flash.display.GraphicsPathWinding
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -843,8 +844,9 @@
     //after MAX, we'll be cleaning up the sharing code, and putting graphics caching
     //into the GraphicElement base class.
     private var _drawBounds:Rectangle = new Rectangle();
-    /**
-     * @inheritDoc
+
+    /**
+     *  @inheritDoc
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


add container events

add container events

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ContainerBase.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ContainerBase.as
@@ -39,6 +39,25 @@
      */
     [Event(name="stateChangeComplete", type="org.apache.flex.events.Event")]

+    /**
+     *  Indicates that the initialization of the container is complete.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    [Event(name="initComplete", type="org.apache.flex.events.Event")]
+
+    /**
+     *  Indicates that the children of the container is have been added.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    [Event(name="childrenAdded", type="org.apache.flex.events.Event")]

 	[DefaultProperty("mxmlContent")]


remember size because setting child size can affect reported size since borders go onto half-pixel boundaries

--- frameworks/projects/HTML/as/src/org/apache/flex/html/beads/SpinnerView.as
+++ frameworks/projects/HTML/as/src/org/apache/flex/html/beads/SpinnerView.as
@@ -122,12 +122,14 @@
 		 */
 		private function sizeChangeHandler( event:Event ) : void
 		{
-			_increment.width = UIBase(_strand).width;
-			_increment.height = UIBase(_strand).height/2;
+            var w:Number = UIBase(_strand).width;
+            var h:Number =  UIBase(_strand).height / 2;
+			_increment.width = w;
+			_increment.height = h;
 			_increment.y      = 0;
-			_decrement.width = UIBase(_strand).width;
-			_decrement.height = UIBase(_strand).height/2;
-			_decrement.y      = _increment.height;
+			_decrement.width = w;
+			_decrement.height = h;
+			_decrement.y      = h;
 		}
 	}
 }


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@1253202 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/charts/src/mx/charts/renderers/DiamondItemRenderer.as
+++ frameworks/projects/charts/src/mx/charts/renderers/DiamondItemRenderer.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


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@1265399 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2010 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 spark.skins.mobile
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5812
Author:   chaase@adobe.com
Date:     2009-03-31T18:34:56.901097Z

Log Message:
-----------
Fixed a bug where direct use of Animation failed because AnimationProperty was not setting up its internal keyframes with correct duration information, so the animation would skip immediately to the end.

Bugs: SDK-20356
QE Notes: spark/effects Mustella tests currently hosed, couldn't run test suite
Doc Notes: None
Reviewer: Jason
Testing: checkintests, Mustella effects tests could not be run (post-rename issues)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RotateInstance.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/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateShaderTransitionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimationProperty.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/Rotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/animation/SimpleMotionPath.as
+++ frameworks/projects/spark/src/spark/effects/animation/SimpleMotionPath.as
@@ -11,11 +11,7 @@

 package spark.effects
 {
-import spark.effects.interpolation.IInterpolator;
 import spark.effects.interpolation.NumberArrayInterpolator;
-
-import spark.effects.KeyFrame;
-import spark.effects.MotionPath;

 /**
@@ -48,15 +44,17 @@
      * @param property The name of the property being animated
      * @param valueFrom The value that the animation starts from
      * @param valueTo The value that the animation ends on
+     * @param duration The time, in milliseconds, that the animation should take
      * @param valueBy An optional parameter that specifies the delta with
      * which to calculate either the from or to values.
      */
-    public function AnimationProperty(property:String = null, valueFrom:Object = null,
-        valueTo:Object = null, valueBy:Object = null)
+    public function AnimationProperty(property:String = null,
+        valueFrom:Object = null, valueTo:Object = null,
+        duration:Number = NaN, valueBy:Object = null)
     {
         super();
         this.property = property;
-        keyframes = [new KeyFrame(0, valueFrom), new KeyFrame(NaN, valueTo, valueBy)];
+        keyframes = [new KeyFrame(0, valueFrom), new KeyFrame(duration, valueTo, valueBy)];
         if (valueFrom is Array && valueTo is Array)
             interpolator = NumberArrayInterpolator.getInstance();
     }


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@1253410 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/charts/src/mx/charts/styles/metadata/LeadingStyle.as
+++ frameworks/projects/charts/src/mx/charts/styles/metadata/LeadingStyle.as
@@ -1,2 +1,21 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////

+/**
+ *  Additional vertical space between lines of text.
+ *  The default value is 2.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
 [Style(name="leading", type="Number", format="Length", inherit="yes")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/framework/src/mx/core/IInteractiveObjectInterface.as
+++ frameworks/projects/framework/src/mx/core/IInteractiveObjectInterface.as
@@ -14,34 +14,64 @@
  *  but for backward compatibility, their ancestor methods have to be included
  *  directly into IFlexDisplayObject, so these also have to be kept in
  *  this separate include file so it can be used in ITextField
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */

     /**
      *  @copy flash.display.InteractiveObject#tabEnabled
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get tabEnabled():Boolean;
     function set tabEnabled(enabled:Boolean):void;

     /**
      *  @copy flash.display.InteractiveObject#tabIndex
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get tabIndex():int;
     function set tabIndex(index:int):void;

     /**
      *  @copy flash.display.InteractiveObject#focusRect
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get focusRect():Object;
     function set focusRect(focusRect:Object):void;

     /**
      *  @copy flash.display.InteractiveObject#mouseEnabled
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get mouseEnabled():Boolean;
     function set mouseEnabled(enabled:Boolean):void;

     /**
      *  @copy flash.display.InteractiveObject#doubleClickEnabled
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get doubleClickEnabled():Boolean;
     function set doubleClickEnabled(enabled:Boolean):void;


Transferred from the Adobe Open Source Subversion Repository

Revision: 19380
Author:   mcho@adobe.com
Date:     2010-12-15T00:00:09.653153Z

Log Message:
-----------
Replace fxg scrollbar skins with graphics drawing; Add 320 ppi for scrollbar skins

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

Modified Paths:
--------------
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/VScrollThumb.fxg</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/VScrollThumb.fxg</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="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/HScrollThumb.fxg</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/HScrollThumb.fxg</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>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as
@@ -13,7 +13,6 @@
 {

 import mx.core.DPIClassification;
-import mx.core.UIComponent;

 import spark.components.Button;
 import spark.components.VScrollBar;
@@ -50,22 +49,25 @@
         super();

         useChromeColor = true;
-
-        // Depending on density set our measured width and height
+		layoutMeasuredHeight = 20;
+
+		// Depending on density set our measured width
         switch (applicationDPI)
         {
+			case DPIClassification.DPI_320:
+			{
+				layoutMeasuredWidth = 12;
+				break;
+			}
             case DPIClassification.DPI_240:
             {
                 layoutMeasuredWidth = 9;
-                layoutMeasuredHeight = 40;
                 break;
             }
             default:
             {
                 // default PPI160
                 layoutMeasuredWidth = 6;
-                layoutMeasuredHeight = 20;
-
                 break;
             }
         }
@@ -128,7 +130,6 @@
             track.height = layoutMeasuredHeight;
             addChild(track);
         }
-
         if (!thumb)
         {
             thumb = new Button();


Transferred from the Adobe Open Source Subversion Repository

Revision: 18265
Author:   hmuller@adobe.com
Date:     2010-10-21T17:03:48.301800Z

Log Message:
-----------
DataGrid Tier 2 PARB Changes

Added GridColumn columnName parameter; as in MX DataGridColumn.

The selection property set methods added for Tier 2, like selectedIndices, now only defer when they're called before the component has been initialized.

Removed the (GridColumnHeaderGroup) overlayGroup property.

Replaced GridColumnHeaderBar mouseSeparatorWidth property with "separatorAffordance" style.

QE notes: Gaurav assured me that the 7 Button (timeout) and 2 DateTimeFormatter cyclone failures aren't related to this commit
Doc notes:
Bugs:
Reviewer: Kevin
Tests run: checkin, mustella cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/GridColumnHeaderGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/defaults.css</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as
@@ -73,15 +73,21 @@

     /**
      *  Constructor.
+     *
+     *  @param columnName Initial value for the dataField</cod> and
+     *     headerText properties.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 2.0
      *  @productversion Flex 4.5
      */
-    public function GridColumn()
+    public function GridColumn(columnName:String = null)
     {
         super();
+
+        if (columnName)
+            dataField = headerText = columnName;
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 16653
Author:   cframpto@adobe.com
Date:     2010-06-24T15:30:32.303628Z

Log Message:
-----------
The following changes apply to Spark DataGrid only.   Code reviews have been deferred until the implementation is closer to completion.

Comment out leftover trace message in measure().

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

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -228,7 +228,7 @@
         grid.measuredMinWidth = grid.measuredWidth;
         grid.measuredMinHeight = grid.measuredHeight;

-       trace("GridLayout.measure", grid.measuredWidth, grid.measuredHeight);
+       //trace("GridLayout.measure", grid.measuredWidth, grid.measuredHeight);
     }

     /**


Addd reverse property on AbstractAnimationController : plays animations in reverse

--- src/aerys/minko/scene/controller/animation/AbstractAnimationController.as
+++ src/aerys/minko/scene/controller/animation/AbstractAnimationController.as
@@ -24,6 +24,22 @@
 		protected var _previousTime				: int;
 		protected var _totalTime				: int;

+		private function get loopBeginTime():int
+		{
+			if (!_reverse)
+				return _loopBeginTime;
+			else
+				return _loopEndTime;
+		}
+
+		private function get loopEndTime():int
+		{
+			if (!_reverse)
+				return _loopEndTime;
+			else
+				return _loopBeginTime;
+		}
+
 		protected var _timeFunction				: Function;

 		protected var _lastTime					: int;
@@ -38,6 +54,18 @@

 		private var _nextLabelIds				: Array;

+		protected var _reverse					: Boolean;
+
+		public function get reverse():Boolean
+		{
+			return _reverse;
+		}
+
+		public function set reverse(value:Boolean):void
+		{
+			_reverse = value;
+			updateNextLabel(_currentTime);
+		}

 		public function get numLabels() : uint
 		{
@@ -141,6 +169,9 @@

 		protected function updateNextLabel(currentTime : int = -1) : void
 		{
+			if (reverse)
+				return updateNextLabelReverse(currentTime);
+
 			_nextLabelIds = [];

 			if (!_labelTimes.length)
@@ -155,7 +186,7 @@
 			{
 				var time : int = _labelTimes[i];

-				if (time < _loopBeginTime || time > _loopEndTime)
+				if (time < loopBeginTime || time > loopEndTime)
 					continue;

 				if (time >= currentTime)
@@ -174,22 +205,76 @@

 			if (!_nextLabelIds.length)
 			{
-				updateNextLabel(_loopBeginTime);
-			}
-			else if (min == _loopEndTime && _looping)
+				updateNextLabel(loopBeginTime);
+			}
+			else if (min == loopEndTime && _looping)
 			{
 				for(i = 0; i < _labelTimes.length; ++i)
 				{
-					if (_labelTimes[i] == _loopBeginTime && _nextLabelIds.indexOf(i) == -1)
+					if (_labelTimes[i] == loopBeginTime && _nextLabelIds.indexOf(i) == -1)
 						_nextLabelIds.push(i);
 				}
 			}
 		}

+		private function updateNextLabelReverse(currentTime : int = -1) : void
+		{
+			_nextLabelIds = [];
+
+			if (!_labelTimes.length)
+				return;
+
+			if (currentTime == -1)
+				currentTime = _currentTime;
+
+			var max : int = int.MIN_VALUE;
+
+			for(var i : int = 0; i < _labelTimes.length; ++i)
+			{
+				var time : int = _labelTimes[i];
+
+				if (time > loopBeginTime || time < loopEndTime)
+					continue;
+
+				if (time <= currentTime)
+				{
+					if (time > max)
+					{
+						max = time;
+						_nextLabelIds = [i];
+					}
+					else if (time == max)
+					{
+						_nextLabelIds.push(i);
+					}
+				}
+			}
+
+			if (!_nextLabelIds.length)
+			{
+				updateNextLabel(loopBeginTime);
+			}
+			else if (max == loopEndTime && _looping)
+			{
+				for(i = 0; i < _labelTimes.length; ++i)
+				{
+					if (_labelTimes[i] == loopBeginTime && _nextLabelIds.indexOf(i) == -1)
+						_nextLabelIds.push(i);
+				}
+			}
+		}
+
+		private function updateLastTime() : void
+		{
+			_lastTime = _reverse ? -getTimer() : getTimer();
+			if (_timeFunction != null)
+				_lastTime = _timeFunction(_lastTime);
+		}
+
 		public function play() : IAnimationController
 		{
 			_isPlaying = true;
-			_lastTime = _timeFunction != null ? _timeFunction(getTimer()) : getTimer();
+			updateLastTime();
 			_started.execute(this);

 			checkLabelHit(_currentTime, _currentTime);
@@ -207,7 +292,7 @@

 			_isPlaying = false;
 			_updateOneTime 	= true;
-			_lastTime = _timeFunction != null ? _timeFunction(getTimer()) : getTimer();
+			updateLastTime();
 			_stopped.execute(this);

 			return this;
@@ -215,12 +300,19 @@

 		public function setPlaybackWindow(beginTime	: Object = null,
 										  endTime	: Object = null) : IAnimationController
-		{
+		{
 			_loopBeginTime	= beginTime != null ? getAnimationTime(beginTime) : 0;
 			_loopEndTime	= endTime != null ? getAnimationTime(endTime) : _totalTime;

+			if (_loopBeginTime > _loopEndTime)
+			{
+				var begin : int = _loopEndTime;
+				_loopEndTime	= _loopBeginTime;
+				_loopBeginTime	= begin;
+			}
+
 			if (_currentTime < _loopBeginTime || _currentTime > _loopEndTime)
-				_currentTime = _loopBeginTime;
+				_currentTime = loopBeginTime;

 			updateNextLabel();

@@ -263,6 +355,8 @@
 			if (_isPlaying || _updateOneTime)
 			{
 				_previousTime = _currentTime;
+				if (_reverse)
+					time = -time;
 				if (_timeFunction != null)
 					time = _timeFunction(time);

@@ -271,9 +365,9 @@

 				if (_isPlaying)
 				{
-					_currentTime = _loopBeginTime
-						+ (_currentTime + deltaT - _loopBeginTime)
-						% (_loopEndTime - _loopBeginTime);
+					_currentTime = loopBeginTime
+						+ (_currentTime + deltaT - loopBeginTime)
+						% (loopEndTime - loopBeginTime);
 				}

 				if ((deltaT > 0 && lastCurrentTime > _currentTime)
@@ -284,7 +378,10 @@
 						_looped.execute(this);
 					else
 					{
-						_currentTime = deltaT > 0 ? _loopEndTime : 0;
+						if (_reverse)
+							_currentTime = deltaT < 0 ? loopEndTime : 0;
+						else
+							_currentTime = deltaT > 0 ? loopEndTime : 0;
 						stop();

 						return true;
@@ -312,6 +409,8 @@

 		protected function checkLabelHit(previousTime : int, newTime : int) : void
 		{
+			if (reverse)
+				return checkLabelHitReverse(previousTime, newTime);
 			if (!_isPlaying || !_nextLabelIds || !_nextLabelIds.length || !_labelHit.numCallbacks)
 				return;

@@ -320,9 +419,9 @@

 			if (newTime < previousTime)
 			{
-				if (previousTime < nextLabelTime && nextLabelTime <= _loopEndTime)
+				if (previousTime < nextLabelTime && nextLabelTime <= loopEndTime)
 					trigger = true;
-				else if (_loopBeginTime <= nextLabelTime && nextLabelTime <= newTime)
+				else if (loopBeginTime <= nextLabelTime && nextLabelTime <= newTime)
 					trigger = true;
 			}
 			else
@@ -333,9 +432,38 @@
 			if (trigger)
 			{
 				for each(var i : int in _nextLabelIds)
-					triggerLabelHit(_labelNames[i], _labelTimes[i]);
-
-				updateNextLabel((newTime + 1) % _loopEndTime);
+				triggerLabelHit(_labelNames[i], _labelTimes[i]);
+
+				updateNextLabel((newTime + 1) % loopEndTime);
+			}
+		}
+
+		protected function checkLabelHitReverse(previousTime : int, newTime : int) : void
+		{
+			if (!_isPlaying || !_nextLabelIds || !_nextLabelIds.length || !_labelHit.numCallbacks)
+				return;
+
+			var nextLabelTime	: Number	= _labelTimes[_nextLabelIds[0]];
+			var trigger			: Boolean	= false;
+
+			if (newTime > previousTime)
+			{
+				if (previousTime > nextLabelTime && nextLabelTime >= loopEndTime)
+					trigger = true;
+				else if (loopBeginTime >= nextLabelTime && nextLabelTime >= newTime)
+					trigger = true;
+			}
+			else
+			{
+				if ((previousTime > nextLabelTime && nextLabelTime >= newTime) || newTime == nextLabelTime)
+					trigger = true;
+			}
+			if (trigger)
+			{
+				for each(var i : int in _nextLabelIds)
+				triggerLabelHit(_labelNames[i], _labelTimes[i]);
+
+				updateNextLabel((newTime - 1) % _loopEndTime);
 			}
 		}


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@1258809 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/containers/utilityClasses/FlexChildInfo.as
+++ frameworks/projects/framework/src/mx/containers/utilityClasses/FlexChildInfo.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2006 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


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@1273705 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as
+++ frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.messaging.channels
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5912
Author:   cframpto@adobe.com
Date:     2009-04-03T19:18:48.131864Z

Log Message:
-----------
-Redo clipping.
-Shared display object containers used if text not being clipped and container is BasicLayout
-SimpleText will recycle text lines if the player supports it (>= Argo)
-SimpleText now supports truncation.  -1 means fill box and truncate if overflow.  0 mean no truncation.  >0 is the number of lines to keep before truncating.

There is one issue with textLines being composed with x=0 and textWidth=-number which isn't reflected in the bounding box for either SimpleText or RichText so the text isn't clipped properly.  (kerning=on and trackingLeft=-10 demonstrates this).

QE Notes:
Doc Notes:
Bugs:
Reviewers: will be Gordon

Modified Paths:
--------------
<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/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -2455,7 +2455,8 @@

     private var _alwaysCreateDisplayObject:Boolean;

-    // TODO (jszeto) Remove once we have a better solution for a design tool to getBitmapData for hit testing
+    // TODO (jszeto) Remove once we have a better solution for a design tool
+    // to getBitmapData for hit testing.
     mx_internal function set alwaysCreateDisplayObject(value:Boolean):void
     {
     	if (value != _alwaysCreateDisplayObject)
@@ -2524,7 +2525,7 @@
      */
     public function closeSequence():Boolean
     {
-        return false;
+        return _alwaysCreateDisplayObject;
     }

     private var _shareIndex:int;


add property BasicMaterial.diffuseMapFiltering

--- src/aerys/minko/render/material/basic/BasicMaterial.as
+++ src/aerys/minko/render/material/basic/BasicMaterial.as
@@ -13,16 +13,6 @@
 		public static const DEFAULT_BASIC_SHADER	: BasicShader	= new BasicShader();
 		public static const DEFAULT_EFFECT			: Effect		= new Effect(DEFAULT_BASIC_SHADER);

-		public function get diffuseMapFormat() : uint
-		{
-			return getProperty(BasicProperties.DIFFUSE_MAP_FORMAT);
-		}
-
-		public function set diffuseMapFormat(value : uint) : void
-		{
-			setProperty(BasicProperties.DIFFUSE_MAP_FORMAT, value);
-		}
-
 		public function get blending() : uint
 		{
 			return getProperty(BasicProperties.BLENDING);
@@ -58,7 +48,25 @@
 		{
 			setProperty(BasicProperties.DIFFUSE_MAP, value);
 		}
-
+
+        public function get diffuseMapFiltering() : uint
+        {
+            return getProperty(BasicProperties.DIFFUSE_MAP_FILTERING);
+        }
+        public function set diffuseMapFiltering(value : uint) : void
+        {
+            setProperty(BasicProperties.DIFFUSE_MAP_FILTERING, value);
+        }
+
+        public function get diffuseMapFormat() : uint
+        {
+            return getProperty(BasicProperties.DIFFUSE_MAP_FORMAT);
+        }
+        public function set diffuseMapFormat(value : uint) : void
+        {
+            setProperty(BasicProperties.DIFFUSE_MAP_FORMAT, value);
+        }
+
 		public function get alphaMap() : TextureResource
 		{
 			return getProperty(BasicProperties.ALPHA_MAP) as TextureResource;


refactor BasicMaterial.diffuseFormat into BasicMaterial.diffuseMapFormat

--- src/aerys/minko/render/material/basic/BasicMaterial.as
+++ src/aerys/minko/render/material/basic/BasicMaterial.as
@@ -13,12 +13,12 @@
 		public static const DEFAULT_BASIC_SHADER	: BasicShader	= new BasicShader();
 		public static const DEFAULT_EFFECT			: Effect		= new Effect(DEFAULT_BASIC_SHADER);

-		public function get diffuseFormat() : uint
+		public function get diffuseMapFormat() : uint
 		{
 			return getProperty(BasicProperties.DIFFUSE_MAP_FORMAT);
 		}

-		public function set diffuseFormat(value : uint) : void
+		public function set diffuseMapFormat(value : uint) : void
 		{
 			setProperty(BasicProperties.DIFFUSE_MAP_FORMAT, value);
 		}


also init styles in the main document

also init styles in the main document

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleCSSValuesImpl.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleCSSValuesImpl.as
@@ -78,11 +78,9 @@
 	            var mainClassName:String = getQualifiedClassName(mainClass);
 				styleClassName = "_" + mainClassName + "_Styles";
 				c = ApplicationDomain.currentDomain.getDefinition(styleClassName) as Class;
+                generateCSSStyleDeclarations(c["factoryFunctions"], c["data"]);
 			}
-			else
-			{
-				c = mainClass.constructor as Class;
-			}
+			c = mainClass.constructor as Class;
             generateCSSStyleDeclarations(c["factoryFunctions"], c["data"]);
         }


handle spans better in html

handle spans better in html

--- frameworks/projects/HTML/as/src/org/apache/flex/html/beads/TextFieldViewBase.as
+++ frameworks/projects/HTML/as/src/org/apache/flex/html/beads/TextFieldViewBase.as
@@ -20,10 +20,11 @@
 {
 	import flash.display.DisplayObject;
 	import flash.display.DisplayObjectContainer;
+	import flash.text.StyleSheet;

 	import org.apache.flex.core.CSSTextField;
 	import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.ILayoutChild;
+	import org.apache.flex.core.ILayoutChild;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.ITextModel;
 	import org.apache.flex.core.IUIBase;
@@ -189,10 +190,63 @@
          */
         public function set html(value:String):void
 		{
-			_textField.htmlText = value;
+			convertToTextFieldHTML(value);
             autoSizeIfNeeded();
 		}

+        private function convertToTextFieldHTML(input:String):void
+        {
+            var classCount:int = 0;
+            var ss:StyleSheet;
+            var c:int = input.indexOf("<span");
+            while (c != -1)
+            {
+                var c1:int = input.indexOf(">", c);
+                if (c1 == -1)
+                {
+                    trace("did not parse span correctly");
+                    return;
+                }
+                var tag:String = input.substring(c, c1 + 1);
+                var c2:int = tag.indexOf("style=");
+                if (c2 != -1)
+                {
+                    var quote:String = tag.charAt(c2 + 6);
+                    var c3:int = tag.indexOf(quote, c2 + 7);
+                    if (c3 != -1)
+                    {
+                        var styles:String = tag.substring(c2 + 7, c3);
+                        if (!ss)
+                            ss = new StyleSheet();
+                        var styleObject:Object = {};
+                        var list:Array = styles.split(";");
+                        for each (var pair:String in list)
+                        {
+                            var parts:Array = pair.split(":");
+                            var name:String = parts[0];
+                            var c4:int = name.indexOf("-");
+                            if (c4 != -1)
+                            {
+                                var firstChar:String = name.charAt(c4 + 1);
+                                firstChar = firstChar.toUpperCase();
+                                var tail:String = name.substring(c4 + 2);
+                                name = name.substring(0, c4) + firstChar + tail;
+                            }
+                            styleObject[name] = parts[1];
+                        }
+                        var className:String = "css" + classCount++;
+                        ss.setStyle("." + className, styleObject);
+                        var newTag:String = "<span class='" + className + "'>";
+                        input = input.replace(tag, newTag);
+                        c1 += newTag.length - tag.length;
+                    }
+                }
+                c = input.indexOf("<span", c1);
+            }
+            _textField.styleSheet = ss;
+            _textField.htmlText = input;
+        }
+
 		private function textChangeHandler(event:Event):void
 		{
 			text = _textModel.text;


Transferred from the Adobe Open Source Subversion Repository

Revision: 4922
Author:   gosmith@adobe.com
Date:     2009-02-10T22:19:49.510252Z

Log Message:
-----------
Renamed mx.graphics.graphicsClasses to mx.graphics.baseClasses, based on PARB review.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Jason

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxFadeInstance.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/TextFlowComposer.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as" copyfrom-rev="4920" action="R">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/TextGraphicElement.as" copyfrom-rev="4920" action="R">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/StrokedElement.as</path>
<path kind="dir" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses" copyfrom-rev="4916" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/TextBlockComposer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -9,8 +9,9 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-package mx.graphics.graphicsClasses
+package mx.graphics.baseClasses
 {
+
 import flash.display.BitmapData;
 import flash.display.BlendMode;
 import flash.display.DisplayObject;


Made TypeFilter matching restrictive (so an empty filter doesn't match anything) in the usage test.

--- test/org/robotlegs/v2/core/impl/TypeFilterUsageTest.as
+++ test/org/robotlegs/v2/core/impl/TypeFilterUsageTest.as
@@ -64,7 +64,7 @@

 			var filter:ITypeFilter = new TypeFilter(new <Class>[], new <Class>[], new <Class>[]);

-			assertTrue("Default behaviour where nothing is specified is to match", itemPassesFilter(subject, filter));
+			assertFalse("Default behaviour where nothing is specified is to not match", itemPassesFilter(subject, filter));
 		}

@@ -94,7 +94,7 @@

 			var anyOfTypes:Vector.<Class> = typeFilter.anyOfTypes;

-			if(anyOfTypes.length == 0)
+			if(anyOfTypes.length == 0 && (allOfTypes.length > 0 || noneOfTypes.length > 0))
 			{
 				return true;
 			}


353 Non-stupid defaults for ActivitySpinne

--- raw/src/org/yellcorp/lib/display/ActivitySpinner.as
+++ raw/src/org/yellcorp/lib/display/ActivitySpinner.as
@@ -25,10 +25,10 @@
     public function ActivitySpinner()
     {
         idleParams = new ActivitySpinnerParams(
-            0x808080, 1, 4, 16, 32);
+            0x808080, 0, 4, 16, 32);

         pulseParams = new ActivitySpinnerParams(
-            0x808080, .5);
+            Number.NaN, 1);

         calcPulseParams = new ActivitySpinnerParams();
         workParams = new ActivitySpinnerParams();


Commenting root-finding of CubicBezier d/dt

--- raw/src/org/yellcorp/lib/geom/curves/CubicBezier.as
+++ raw/src/org/yellcorp/lib/geom/curves/CubicBezier.as
@@ -224,12 +224,16 @@

         if (divisor != 0)
         {
+            // the part under the square root sign. need to check
+            // this isn't negative
             radicand = a * (d - c) + b * (b - c - d) + c * c;

+            // if it's 0, then the +/- doesn't change the sum, push one root
             if (radicand == 0)
             {
                 out.push(a_2b_c / divisor);
             }
+            // otherwise push the + and - solution
             else if (radicand > 0)
             {
                 var sqrt:Number = Math.sqrt(radicand);
@@ -239,6 +243,8 @@
         }
         else
         {
+            // if the divisor == 0, then d == a - 3 * (b * c), in which
+            // case the solution simplifies to the following:
             if (a_2b_c != 0)
             {
                 out.push((a - b) / (2 * a_2b_c));


Transferred from the Adobe Open Source Subversion Repository

Revision: 5098
Author:   gauravj@adobe.com
Date:     2009-02-27T02:21:27.489350Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
151 paths were modified

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -50,6 +50,11 @@
  *  The backgrounds of the list items alternate among the colors in the array.
  *
  *  @default undefined
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Style(name="alternatingItemColors", type="Array", arrayType="uint", format="Color", inherit="yes")]

@@ -59,6 +64,11 @@
  *  The main color for a component.
  *
  *  @default 0xCCCCCC
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Style(name="baseColor", type="uint", format="Color", inherit="yes")]

@@ -68,6 +78,11 @@
  *  Color of the fill of an itemRenderer
  *
  *  @default 0xFFFFFF
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Style(name="contentBackgroundColor", type="uint", format="Color", inherit="yes")]

@@ -77,6 +92,11 @@
  *  Color of focus ring when the component is in focus
  *
  *  @default 0x70B2EE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Style(name="focusColor", type="uint", format="Color", inherit="yes")]

@@ -86,6 +106,11 @@
  *  Color of the highlights when the mouse is over the component
  *
  *  @default 0xCEDBEF
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Style(name="rollOverColor", type="uint", format="Color", inherit="yes")]

@@ -96,6 +121,11 @@
  *  the arrow of a FxScrollButton
  *
  *  @default 0x000000
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Style(name="symbolColor", type="uint", format="Color", inherit="yes")]

@@ -108,6 +138,11 @@
  *
  *  @see mx.layout.LayoutBase
  *  @see mx.components.ResizeMode
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class GroupBase extends UIComponent implements IViewport
 {
@@ -119,6 +154,11 @@

     /**
      * Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function GroupBase()
     {
@@ -176,6 +216,11 @@
      *  @default mx.layout.BasicLayout
      *
      *  @see LayoutBase
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get layout():LayoutBase
     {
@@ -230,6 +275,11 @@

     /**
      *  @copy mx.core.IViewport#horizontalScrollPosition
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get horizontalScrollPosition():Number
     {
@@ -257,6 +307,11 @@

     /**
      *  @copy mx.core.IViewport#verticalScrollPosition
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get verticalScrollPosition():Number
     {
@@ -282,6 +337,11 @@

     /**
      *  @copy mx.core.IViewport#clipAndEnableScrolling
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get clipAndEnableScrolling():Boolean
     {
@@ -350,6 +410,11 @@
      *  when children are added to or removed from the container.
      *
      *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get autoLayout():Boolean
     {
@@ -389,6 +454,11 @@
      *  @param value The String representation of the enumeration.
      *
      *  @return The uint value corresponding to the String.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     private static function resizeModeToUINT(value:String):uint
     {
@@ -404,6 +474,11 @@
      *  @param value The uint value of the enumeration.
      *
      *  @return The String corresponding to the uint value.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     private static function resizeModeToString(value:uint):String
     {
@@ -423,6 +498,11 @@
  * @default ResizeMode.NORMAL
  *
  * @see mx.components.ResizeMode
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
     public function get resizeMode():String
     {
@@ -502,6 +582,11 @@
      *  reading this property returns the current scaling factor.

      *
      *  @copy mx.core.UIComponent#scaleX
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function get scaleX():Number
     {
@@ -532,6 +617,11 @@
      *  reading this property returns the current scaling factor.

      *
      *  @copy mx.core.UIComponent#scaleY
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function get scaleY():Number
     {
@@ -557,6 +647,11 @@
     [PercentProxy("percentWidth")]
     /**
      *  The width of the container, in pixels.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function get width():Number
     {
@@ -571,6 +666,11 @@
     [PercentProxy("percentHeight")]
     /**
      *  The height of the container, in pixels.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function get height():Number
     {
@@ -726,6 +826,11 @@

     /**
      *  @copy mx.core.IViewport#horizontalScrollPositionDelta
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function getHorizontalScrollPositionDelta(scrollUnit:uint):Number
     {
@@ -734,6 +839,11 @@

     /**
      *  @copy mx.core.IViewport#verticalScrollPositionDelta
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function getVerticalScrollPositionDelta(scrollUnit:uint):Number
     {
@@ -757,6 +867,11 @@

     /**
      *  @copy mx.core.IViewport#contentWidth
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get contentWidth():Number
     {
@@ -786,6 +901,11 @@

     /**
      *  @copy mx.core.IViewport#contentWidth
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get contentHeight():Number
     {
@@ -814,6 +934,11 @@
      *  @param w The new value of contentWidth.
      *
      *  @param h The new value of contentHeight.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function setContentSize(w:Number, h:Number):void
     {
@@ -893,6 +1018,11 @@

     /**
      *  @copy mx.core.IVisualElementContainer#numElements
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get numElements():int
     {
@@ -901,6 +1031,11 @@

     /**
      *  @copy mx.core.IVisualElementContainer#getElementAt
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function getElementAt(index:int):IVisualElement
     {
@@ -909,6 +1044,11 @@

     /**
      *  @copy mx.core.IVisualElementContainer#getElementIndex
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function getElementIndex(element:IVisualElement):int
     {
@@ -927,6 +1067,11 @@
      *  not already on a display list nor in the elements array.
      *
      *  @see flash.display.DisplayObject#mask
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function get mask():DisplayObject
     {
@@ -962,6 +1107,11 @@
      *  Possible values are MaskType.CLIP and MaskType.ALPHA.
      *
      *  @see  mx.graphics.MaskType
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get maskType():String
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3553
Author:   chaase@adobe.com
Date:     2008-10-09T23:14:18.257660Z

Log Message:
-----------
Fixed sdk-17113, sdk-17139, sdk-16526, sdk-16884, sdk-17154, sdk-16999, sdk-16631, sdk-17214. Most of these fixes are related to making effects work when contraints are enabled on the target. For that, two new attributes were added to FxAnimate: disableLayout (default false) and adjustConstraints (default false). Fixes were also made for various other effects issues, such as running all animations and startDelays off of the same global timer.
The change also includes renames of some effects classes and the easing API (now in mx.effects.interpolation).

Reviewed by: Jason (effects code) and Hans (renames)
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing/IEaser.as" copyfrom-rev="3548" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/IEaser.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing/Linear.as" copyfrom-rev="3548" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/Animate3DInstance.as" copyfrom-rev="3548" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animate3D.as" copyfrom-rev="3548" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/Animate3DInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/gumbo-manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Timeline.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing/Constant.as" copyfrom-rev="3548" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/Constant.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/Rotate3DInstance.as" copyfrom-rev="3548" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateFilter.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Rotate3D.as" copyfrom-rev="3548" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxRotate3D.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing/EaseInOut.as" copyfrom-rev="3548" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/EaseInOut.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing/Power.as" copyfrom-rev="3548" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/Power.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/Rotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing/Sine.as" copyfrom-rev="3548" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/Sine.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Rotate3D.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -113,6 +113,54 @@
         invalidateDisplayList();
     }

+    //----------------------------------
+    //  autoLayout
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the autoLayout property.
+     */
+    private var _autoLayout:Boolean = true;
+
+    [Inspectable(defaultValue="true")]
+
+    /**
+     *  If true, measurement and layout are done
+     *  when the position or size of a child is changed.
+     *  If false, measurement and layout are done only once,
+     *  when children are added to or removed from the container.
+     *
+     *  @default true
+     */
+    public function get autoLayout():Boolean
+    {
+        return _autoLayout;
+    }
+
+    /**
+     *  @private
+     */
+    public function set autoLayout(value:Boolean):void
+    {
+        if (_autoLayout == value)
+            return;
+
+        _autoLayout = value;
+
+        // If layout is being turned back on, trigger a layout to occur now.
+        if (value)
+        {
+            invalidateSize();
+            invalidateDisplayList();
+            invalidateParentSizeAndDisplayList();
+        }
+    }
+
+    //----------------------------------
+    //  resizeMode
+    //----------------------------------
+
     private var _resizeMode:uint = ResizeMode._NORMAL_UINT;

     /**
@@ -342,7 +390,7 @@

         super.updateDisplayList(unscaledWidth, unscaledHeight);

-        if (_layout)
+        if (autoLayout && _layout)
             _layout.updateDisplayList(unscaledWidth, unscaledHeight);
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 18635
Author:   aharui@adobe.com
Date:     2010-11-17T00:18:36.469040Z

Log Message:
-----------
Add estimatedSizes to the layout infrastructure to better deal with text reflow.
Add new events to layout infrastructure to deal with caching of size information

QE notes: New APIs and Interfaces
Doc notes: New APIs and interfaces
Bugs: SDK-27226, SDK-26155, SDK-25483, SDK-23621, SDK-27225, SDK-26993, SDK-25535, SDK-25521
Reviewer: Evtim
Tests run: checkintests mustella full run
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/layoutClasses/PriorityQueue.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.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/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/BasicLayout.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/components/PopUpAnchor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/IContainerInvalidating.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/scripts/FormTestScript.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ILayoutManagerContainerClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/IStyleManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -1146,6 +1146,52 @@
     }

     /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+	override public function setEstimatedSize(estimatedWidth:Number = NaN,
+												estimatedHeight:Number = NaN,
+												invalidateSize:Boolean = true):void
+    {
+        var oldcw:Number = this.estimatedWidth;
+        var oldch:Number = this.estimatedHeight;
+        super.setEstimatedSize(estimatedWidth, estimatedHeight);
+		var sameWidth:Boolean = isNaN(estimatedWidth) && isNaN(oldcw) || estimatedWidth == oldcw;
+		var sameHeight:Boolean = isNaN(estimatedHeight) && isNaN(oldch) || estimatedHeight == oldch;
+		if (!(sameHeight && sameWidth))
+        {
+            if (!isNaN(explicitWidth) &&
+                !isNaN(explicitHeight))
+                return;
+
+            if (_layout)
+                layout.setEstimatedSize(estimatedWidth, estimatedHeight, invalidateSize);
+        }
+
+    }
+
+    /**
+     *  @private
+     */
+    override public function validateEstimatedSizesOfChildren():void
+    {
+        if (!childEstimatedSizesChanged)
+            return;
+
+        if (_layout)
+		{
+            layout.estimateSizesOfElements();
+			childEstimatedSizesChanged = false;
+		}
+        else
+            super.validateEstimatedSizesOfChildren();
+    }
+
+    /**
      *  @private
      */
     override protected function validateMatrix():void
@@ -1753,7 +1799,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function getVirtualElementAt(index:int, eltWidth:Number=NaN, eltHeight:Number=NaN):IVisualElement
+    public function getVirtualElementAt(index:int, eltWidth:Number=NaN, eltHeight:Number=NaN, skipValidation:Boolean = false):IVisualElement
     {
         return getElementAt(index);
     }