Transferred from the Adobe Open Source Subversion Repository

Revision: 19202
Author:   smgilson@adobe.com
Date:     2010-12-09T14:06:10.040620Z

Log Message:
-----------
ASDoc updates based on comments from the localization team

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/TouchInteractionEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigatorApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as</path>

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

--- frameworks/projects/framework/src/mx/events/TouchInteractionEvent.as
+++ frameworks/projects/framework/src/mx/events/TouchInteractionEvent.as
@@ -37,7 +37,7 @@
      *  The TouchInteractionEvent.TOUCH_INTERACTION_STARTING constant defines the value of the
      *  type property of the event object for a touchInteractionStarting event.
      *
-     *
The properties of the event object have the following values:

+     *
The properties of the event object have the following values:

      *

      *
Property	Value

      *
bubbles	true

@@ -69,7 +69,7 @@
      *  The TouchInteractionEvent.TOUCH_INTERACTION_START constant defines the value of the
      *  type property of the event object for a touchInteractionStart event.
      *
-     *
The properties of the event object have the following values:

+     *
The properties of the event object have the following values:

      *

      *
Property	Value

      *
bubbles	true

@@ -101,7 +101,7 @@
      *  The TouchInteractionEvent.TOUCH_INTERACTION_END constant defines the value of the
      *  type property of the event object for a touchInteractionEnd event.
      *
-     *
The properties of the event object have the following values:

+     *
The properties of the event object have the following values:

      *

      *
Property	Value

      *
bubbles	false

@@ -168,7 +168,7 @@
     //----------------------------------

     /**
-     *  The reason for this geture capture event.
+     *  The reason for this gesture capture event.
      *
      *  @see mx.events.TouchInteractionReason
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 3243
Author:   rfrishbe@adobe.com
Date:     2008-09-17T16:14:14.399661Z

Log Message:
-----------
DataGroup/Group split work.  DataGroup is for holding data items that may require item rendering. Group only holds visual items now.  The Group APIs stay the same (numItems, addItem, etc...).  DataGroup uses the IList APIs through its dataProvider.  So the equivalent methods are now dataProvider.length, dataProvider, addItem, etc...  This is just the initial split work as there's more to come to get the files up to spec.  We will also have to visit how we deal with graphic elements in DataGroup vs. Group.  For now the implementations are roughly the same.

QE: Yes - tests may break.  please update them.
Doc: Yes
Bugs: -
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/BasicLayout.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/DataComponent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/DataComponentSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<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/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ItemsComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/gumbo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Graphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/DataGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Selector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/SelectorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.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/intf/ILayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/flex4test.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/ComplexPanelSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableContainer.as
@@ -60,7 +60,7 @@

 /**
  * The ItemsComponent class is the base class for all skinnable components that have
- * content. This class is not typically instantiated in MXML. It is primarily
+ * visual content. This class is not typically instantiated in MXML. It is primarily
  * used as a base class, or as a SkinPart.
  */
 public class ItemsComponent extends SkinnableComponent
@@ -255,62 +255,6 @@

     }

-    //----------------------------------
-    //  itemRenderer
-    //----------------------------------
-
-    private var _itemRenderer:IFactory;
-
-    /**
-     *  @copy flex.core.Group#itemRenderer
-     */
-    public function get itemRenderer():IFactory
-    {
-        if (contentGroup)
-            return contentGroup.itemRenderer;
-
-        return _itemRenderer;
-    }
-
-    public function set itemRenderer(value:IFactory):void
-    {
-        if (value == _itemRenderer)
-            return;
-
-        _itemRenderer = value;
-
-        if (contentGroup)
-            contentGroup.itemRenderer = _itemRenderer;
-    }
-
-    //----------------------------------
-    //  itemRendererFunction
-    //----------------------------------
-
-    private var _itemRendererFunction:Function;
-
-    /**
-     *  @copy flex.core.Group#itemRendererFunction
-     */
-    public function get itemRendererFunction():Function
-    {
-        if (contentGroup)
-            return contentGroup.itemRendererFunction;
-
-        return _itemRendererFunction;
-    }
-
-    public function set itemRendererFunction(value:Function):void
-    {
-        if (value == _itemRendererFunction)
-            return;
-
-        _itemRendererFunction = value;
-
-        if (contentGroup)
-            contentGroup.itemRendererFunction = _itemRendererFunction;
-    }
-
     //--------------------------------------------------------------------------
     //
     //  Methods proxied to contentGroup
@@ -452,11 +396,6 @@
             }
             if (_layout != null)
                 contentGroup.layout = _layout;
-            if (_itemRenderer != null || _itemRendererFunction != null)
-            {
-                contentGroup.itemRenderer = _itemRenderer;
-                contentGroup.itemRendererFunction = _itemRendererFunction;
-            }

             contentGroup.addEventListener(
                 ItemExistenceChangedEvent.ITEM_ADD, contentGroup_itemAddedHandler);


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

--- frameworks/projects/mobilecomponents/src/spark/components/SpinnerListItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/SpinnerListItemRenderer.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 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.components
 {


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

--- frameworks/projects/spark/src/spark/formatters/supportClasses/NumberFormatterBase.as
+++ frameworks/projects/spark/src/spark/formatters/supportClasses/NumberFormatterBase.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2010 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: 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@1252896 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/charts/src/mx/charts/Legend.as
+++ frameworks/projects/charts/src/mx/charts/Legend.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.
 //
 ////////////////////////////////////////////////////////////////////////////////

@@ -6517,17 +6525,6 @@
     }
 }

-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-2006 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.
-//
-////////////////////////////////////////////////////////////////////////////////
-

 import flash.display.DisplayObject;
 import flash.geom.Point;
@@ -6732,4 +6729,4 @@
     {
         return owner.rawChildren_contains(child);
     }
-}   +}


Transferred from the Adobe Open Source Subversion Repository

Revision: 19722
Author:   egeorgie@adobe.com
Date:     2011-01-12T00:53:24.336848Z

Log Message:
-----------
Fix popups/tooltips and scaling bugs:
Slider tooltip renders far above under 2.0 scaling - http://bugs.adobe.com/jira/browse/SDK-28833
Mobile HSliderSkin dataTip sometimes stops following the thumb all the way to the right edge - http://bugs.adobe.com/jira/browse/SDK-28762
When the app is scaled, DropDownList shows the list at wrong place - http://bugs.adobe.com/jira/browse/SDK-28818

In this change:
- update popup/tooltip positioning code to work with scaling.

QE notes:  make another test pass on tooltips/pop-ups
Doc notes:
Bugs: SDK-28833, SDK-28762, SDK-28818
Reviewer: Alex
Tests run: full mustella cyclone
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/DragManagerImpl.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/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/DataGridEditor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/PopUpUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ComboBox.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/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as</path>

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

--- frameworks/projects/mx/src/mx/controls/ComboBox.as
+++ frameworks/projects/mx/src/mx/controls/ComboBox.as
@@ -1730,7 +1730,7 @@
         }

-        var m:Matrix = MatrixUtil.getConcatenatedMatrix(this);
+        var m:Matrix = MatrixUtil.getConcatenatedMatrix(this, true /*excludingRootSprite*/);
         _dropdown.scaleX = m.a; //scale x
         _dropdown.scaleY = m.d; //scale y


Transferred from the Adobe Open Source Subversion Repository

Revision: 11468
Author:   smgilson@adobe.com
Date:     2009-11-05T16:54:31.738281Z

Log Message:
-----------
Part 1 of ASDoc localization bug fixes

QE notes: -
Doc notes: -
Bugs: - FLEXDOCS-934, FLEXDOCS-909, FLEXDOCS-908, FLEXDOCS-906, FLEXDOCS-882, FLEXDOCS-883, FLEXDOCS-881
Reviewer: -
Tests run: - checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Pause.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quartic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeLeft.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quintic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quadratic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Cubic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeDown.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/HSBColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ArrayUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/TweenEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeRight.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/DefaultListEffect.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeUp.as</path>

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

--- frameworks/projects/mx/src/mx/effects/WipeRight.as
+++ frameworks/projects/mx/src/mx/effects/WipeRight.as
@@ -22,7 +22,7 @@
 [Alternative(replacement="spark.effects.Wipe", since="4.0")]

 /**
- *  The WipeRight class defines a bar wipe right effect.
+ *  The WipeRight class defines a wipe right effect.
  *  The before or after state of the component must be invisible.
  *
  *
You often use this effect with the showEffect
@@ -68,28 +68,28 @@
 {
     include "../core/Version.as";

-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------

-	/**
-	 *  Constructor.
-	 *
-	 *  @param target The Object to animate with this effect.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function WipeRight(target:Object = null)
-	{
-		super(target);
+    /**
+     *  Constructor.
+     *
+     *  @param target The Object to animate with this effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function WipeRight(target:Object = null)
+    {
+        super(target);

-		instanceClass = WipeRightInstance;
-	}
+        instanceClass = WipeRightInstance;
+    }
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 1098
Author:   jimurphy@adobe.com
Date:     2008-04-03T21:50:39.896200Z

Log Message:
-----------
Merge 3.0.x -- 362:394, 427:429, 603:608, 644:645, 651:663, 672:676, 755:756, 763:766, 785:790, 812:814, 854:861, 862:866, 866:933,971:1009, 1050:1056 --> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/DefaultDataDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VRule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/IList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IRepeaterClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/VideoError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/HTTPRequestMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/Locale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ParallelInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/Responder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/SOAPMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IBrowserManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ComponentDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/IViewCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/AbstractWebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.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/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/IMenuItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase.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/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ILayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Spacer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/Fault.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/XMLListCollection.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/framework/src/mx/events/SliderEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncToken.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/ScrollEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/CuePointManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/NumericStepperEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/BrowserManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/events/ChannelFaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/CursorBookmark.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/WSDLLoadEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/LoadEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ListCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/FlexClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/SubscriptionInfo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/DescribeTypeCache.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/logging/LogLogger.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/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/build_framework.xml</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/frameworks/projects/rpc/src/mx/rpc/events/HeaderEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/ITreeDataDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/AsyncRequest.as
+++ frameworks/projects/rpc/src/mx/rpc/AsyncRequest.as
@@ -109,8 +109,8 @@
     *
     * @param msg The message for which the existence of pending requests is checked.
     *
-    * @return true if there are any pending requests for the passed in message;
-    * otherwise, returns false
+    * @return Returns true if there are any pending requests for the
+    * passed in message; otherwise, returns false.
     */
 	override public function hasPendingRequestForMessage(msg:IMessage):Boolean
 	{


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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -78,6 +78,7 @@
 import mx.managers.IFocusManagerComponent;
 import mx.managers.IFocusManagerContainer;
 import mx.managers.ILayoutManagerClient;
+import mx.managers.ILayoutManagerContainerClient;
 import mx.managers.ISystemManager;
 import mx.managers.IToolTipManagerClient;
 import mx.managers.SystemManager;
@@ -1420,7 +1421,7 @@
 public class UIComponent extends FlexSprite
     implements IAutomationObject, IChildList, IConstraintClient,
     IDeferredInstantiationUIComponent, IFlexDisplayObject, IFlexModule,
-    IInvalidating, ILayoutManagerClient, IPropertyChangeNotifier,
+    IContainerInvalidating, ILayoutManagerContainerClient, IPropertyChangeNotifier,
     IRepeaterClient, IStateClient, IAdvancedStyleClient, IToolTipManagerClient,
     IUIComponent, IValidatorListener, IVisualElement
 {
@@ -1714,6 +1715,13 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     *  @private
+     *  flag that indicates that child estimated sizes
+     *  need recalculation.
+     */
+    mx_internal var childEstimatedSizesChanged:Boolean = true;
+
     /**
      *  @private
      *  hold the setStyles() calls that have been deferred untils a moduleFactory
@@ -5230,6 +5238,68 @@
     //--------------------------------------------------------------------------

     //----------------------------------
+    //  estimatedHeight
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the estimatedHeight property.
+     */
+    private var _estimatedHeight:Number;
+
+    /**
+     *  The height a component is likely to be given at layout time.  It is
+     *  determined by examining the parent's estimatedHeight, and the
+     *  component's percentHeight, explicitHeight, top and bottom constraints.
+     *  It is NaN if there isn't enough information to compute the height.
+     *  The component can use this information in calculating its
+     *  measuredWidth if the measuredWidth is dependent on the layout
+     *  height.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public function get estimatedHeight():Number
+    {
+        return _estimatedHeight;
+    }
+
+    //----------------------------------
+    //  estimatedWidth
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the estimatedWidth property.
+     */
+    private var _estimatedWidth:Number;
+
+    /**
+     *  The width a component is likely to be given at layout time.  It is
+     *  determined by examining the parent's estimatedWidth, and the
+     *  component's percentWidth, explicitWidth, left and right constraints.
+     *  It is NaN if there isn't enough information to compute the width.
+     *  The component can use this information in calculating its
+     *  measuredHeight if the measuredHeight is dependent on the layout
+     *  width.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public function get estimatedWidth():Number
+    {
+        return _estimatedWidth;
+    }
+
+    //----------------------------------
     //  percentWidth
     //----------------------------------

@@ -5281,8 +5351,8 @@
             _explicitWidth = NaN;

         _percentWidth = value;
-
-         invalidateParentSizeAndDisplayList();
+
+        invalidateParentSizeAndDisplayList(true);
     }

     //----------------------------------
@@ -5338,7 +5408,7 @@

         _percentHeight = value;

-        invalidateParentSizeAndDisplayList();
+        invalidateParentSizeAndDisplayList(true);
     }

     //----------------------------------
@@ -5908,8 +5978,9 @@

         // We invalidate size because locking in width
         // may change the measured height in flow-based components.
+        invalidateEstimatedSizesOfChildren();
         invalidateSize();
-        invalidateParentSizeAndDisplayList();
+        invalidateParentSizeAndDisplayList(true);

         dispatchEvent(new Event("explicitWidthChanged"));
     }
@@ -5970,8 +6041,9 @@

         // We invalidate size because locking in height
         // may change the measured width in flow-based components.
+        invalidateEstimatedSizesOfChildren();
         invalidateSize();
-        invalidateParentSizeAndDisplayList();
+        invalidateParentSizeAndDisplayList(true);

         dispatchEvent(new Event("explicitHeightChanged"));
     }
@@ -6068,6 +6140,8 @@
             {
                 p.invalidateSize();
                 p.invalidateDisplayList();
+				if (value && parent is IContainerInvalidating)
+					(IContainerInvalidating(parent)).invalidateEstimatedSizesOfChildren();
             }

             dispatchEvent(new Event("includeInLayoutChanged"));
@@ -7736,6 +7810,33 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
+    public function invalidateEstimatedSizesOfChildren():void
+    {
+        childEstimatedSizesChanged = true;
+    }
+
+    /**
+     *  Marks a component so that its commitProperties()
+     *  method gets called during a later screen update.
+     *
+     *
Invalidation is a useful mechanism for eliminating duplicate
+     *  work by delaying processing of changes to a component until a
+     *  later screen update.
+     *  For example, if you want to change the text color and size,
+     *  it would be wasteful to update the color immediately after you
+     *  change it and then update the size when it gets set.
+     *  It is more efficient to change both properties and then render
+     *  the text with its new size and color once.

+     *
+     *
Invalidation methods rarely get called.
+     *  In general, setting a property on a component automatically
+     *  calls the appropriate invalidation method.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
     public function invalidateProperties():void
     {
         if (!invalidatePropertiesFlag)
@@ -7789,7 +7890,7 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    protected function invalidateParentSizeAndDisplayList():void
+    protected function invalidateParentSizeAndDisplayList(estimatedSizeChanged:Boolean = false):void
     {
         if (!includeInLayout)
             return;
@@ -7800,6 +7901,9 @@

         p.invalidateSize();
         p.invalidateDisplayList();
+
+        if (estimatedSizeChanged && parent is IContainerInvalidating)
+            (IContainerInvalidating(parent)).invalidateEstimatedSizesOfChildren();
     }

     /**
@@ -8018,26 +8122,19 @@
         if (!parent)
             return false;

-        // If this component hasn't been sized yet, assign it
-        // an actual size that's based on its explicit or measured size.
-        //
-        // TODO (egeorgie): remove this code when all SDK clients
-        // follow the rule to size first and query baselinePosition later.
-        if (!setActualSizeCalled && (width == 0 || height == 0))
-        {
-            validateNow();
-
-            var w:Number = getExplicitOrMeasuredWidth();
-            var h:Number = getExplicitOrMeasuredHeight();
-
-            setActualSize(w, h);
-        }
-
+
         // Ensure that this component's internal TextFields
         // are properly laid out, so that we can use
         // their locations to compute a baselinePosition.
+        if (!setActualSizeCalled)
+        {
+            UIComponentGlobals.layoutManager.validateClient(this, true);
+            var w:Number = getExplicitOrMeasuredWidth();
+            var h:Number = getExplicitOrMeasuredHeight();
+            setActualSize(w, h);
+        }
+
         validateNow();
-

         return true;
     }
@@ -8330,6 +8427,121 @@
     //--------------------------------------------------------------------------

     /**
+     *  Some basic estimated size computation logic
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    mx_internal function validateEstimatedSizesOfChild(child:ILayoutElement):void
+    {
+        var cw:Number;
+        var ch:Number;
+        var c:Number;
+        var oldcw:Number = child.estimatedWidth;
+        var oldch:Number = child.estimatedHeight;
+        c = estimatedWidth;
+        if (isNaN(c) && !isNaN(explicitWidth))
+            c = explicitWidth;
+        if (!isNaN(c))
+        {
+            if (!isNaN(child.percentWidth))
+                cw = child.percentWidth * c / 100;
+            else
+            {
+                if (child.left is Number && child.right is Number)
+                {
+                    var left:Number = Number(child.left);
+                    var right:Number = Number(child.right);
+                    if (!isNaN(left) && !isNaN(right))
+                        cw = c - left - right;
+                }
+            }
+        }
+        c = estimatedHeight;
+        if (isNaN(c) && !isNaN(explicitHeight))
+            c = explicitHeight;
+        if (!isNaN(c))
+        {
+            if (!isNaN(child.percentHeight))
+                ch = child.percentHeight * c / 100;
+            else
+            {
+                if (child.top is Number && child.bottom is Number)
+                {
+                    var top:Number = Number(child.top);
+                    var bottom:Number = Number(child.bottom);
+                    if (!isNaN(top) && !isNaN(bottom))
+                        ch = c - top - bottom;
+                }
+            }
+        }
+        child.setEstimatedSize(cw, ch);
+		if (child is ILayoutManagerContainerClient)
+		{
+			var sameWidth:Boolean = isNaN(cw) && isNaN(oldcw) || cw == oldcw;
+			var sameHeight:Boolean = isNaN(ch) && isNaN(oldch) || ch == oldch;
+            if (!(sameHeight && sameWidth))
+            {
+                if (child is IContainerInvalidating)
+                    IContainerInvalidating(child).invalidateEstimatedSizesOfChildren();
+                ILayoutManagerContainerClient(child).validateEstimatedSizesOfChildren();
+            }
+		}
+    }
+
+    /**
+     *  Do a basic default calculation of estimated sizes
+     *  on the children
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public function validateEstimatedSizesOfChildren():void
+    {
+        if (!childEstimatedSizesChanged)
+            return;
+
+        var childList:IChildList;
+
+        if (this is IRawChildrenContainer)
+            childList = IRawChildrenContainer(this).rawChildren;
+        else
+            childList = IChildList(this);
+
+        for (var i:int = 0; i < childList.numChildren; i++)
+        {
+            var layoutElement:ILayoutElement = childList.getChildAt(i) as ILayoutElement;
+            if (!layoutElement)
+				continue;
+			if (!layoutElement.includeInLayout)
+				continue;
+            validateEstimatedSizesOfChild(layoutElement);
+        }
+        childEstimatedSizesChanged = false;
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public function setEstimatedSize(estimatedWidth:Number = NaN,
+                                       estimatedHeight:Number = NaN,
+										invalidateSize:Boolean = true):void
+    {
+        _estimatedWidth = estimatedWidth;
+        _estimatedHeight = estimatedHeight;
+    }
+
+
+    /**
      *  @inheritDoc
      *
      *  @langversion 3.0
@@ -8355,6 +8567,7 @@

             if (sizeChanging && includeInLayout)
             {
+                setActualSizeCalled = false;
                 // TODO (egeorgie): we don't need this invalidateDisplayList() here
                 // because we'll call it if the parent sets new actual size?
                 invalidateDisplayList();
@@ -9031,7 +9244,7 @@
      */
     public function setConstraintValue(constraintName:String, value:*):void
     {
-        setStyle(constraintName, value);
+        setStyle(constraintName, value);
     }

     [Inspectable(category="General")]
@@ -9615,7 +9828,7 @@
         // trace("setActualSize: " + this + " width = " + w + " height = " + h);

         var changed:Boolean = false;
-
+
         if (_width != w)
         {
             _width = w;
@@ -9642,7 +9855,7 @@
             invalidateDisplayList();
             dispatchResizeEvent();
         }
-
+
         setActualSizeCalled = true;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4960
Author:   gosmith@adobe.com
Date:     2009-02-14T02:23:27.721068Z

Log Message:
-----------
Decreased the number of Gumbo style buckets.

Combined AdvancedCharacterFormatTextStyles.as, AdvancedParagraphFormatTextStyles.as, and AdvancedContainerFormatTextStyles.as into AdvancedTextLayoutFormatStyles.as.

Combined BasicCharacterFormatTextStyles.as, BasicParagraphFormatTextStyles.as, and BasicContainerFormatTextStyles.as into BasicTextLayoutFormatStyles.as.

The reason for doing this is that TLF combined its CharacterFormat, ParagraphFormat, and ContainerFormat classes into a single TextLayoutFormat.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: None; no functional change

Modified Paths:
--------------
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/AdvancedCharacterFormatTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/BasicContainerFormatTextStyles.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/AdvancedParagraphFormatTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/BasicCharacterFormatTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/AdvancedTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTextBase.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/BasicParagraphFormatTextStyles.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/AdvancedContainerFormatTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSlider.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/components/FxDataContainer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/BasicTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/Button.as
+++ frameworks/projects/spark/src/spark/components/Button.as
@@ -28,9 +28,7 @@
 import mx.managers.IFocusManagerComponent;
 import mx.utils.BitFlagUtil;

-include "../styles/metadata/BasicContainerFormatTextStyles.as"
-include "../styles/metadata/BasicParagraphFormatTextStyles.as"
-include "../styles/metadata/BasicCharacterFormatTextStyles.as"
+include "../styles/metadata/BasicTextLayoutFormatStyles.as"

 /**
  *  @copy mx.components.baseClasses.GroupBase#focusColor


Transferred from the Adobe Open Source Subversion Repository

Revision: 4205
Author:   clucier@adobe.com
Date:     2008-12-01T19:48:53.571431Z

Log Message:
-----------
Initial baselinePosition support for our new skinnable components.
QE Notes: Please wait until Evtim completes his baseline support in our new layouts to test.
Doc Notes: None
Reviewer: Glenn, Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDefaultItemRenderer.mxml</path>
<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/graphicsClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.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" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTextBase.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/components/FxList.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/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 17827
Author:   chiedozi@adobe.com
Date:     2010-09-23T22:26:49.287708Z

Log Message:
-----------
Replaced the active property setter in View and ViewNavigator with an mx_internal method
TabbedViewNavigator and TabbedMobileApplication now use their creationPolicy property to determine if the top views for all their child navigators should be created or not
ViewNavigator now has a destructionPolicy property that determines whether the active view should be destroyed when the navigator is deactivated
TabbedViewNavigator now pops to the first view if the selected tab is clicked
ViewNavigator can now indicate whether it wants to save its navigation history when it is deactivated using the maintainNavigationStack property

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/ContainerDestructionPolicy.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewNavigatorApplication.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewNavigatorApplication.as
@@ -103,7 +103,8 @@

     [SkinPart(required="false")]
     /**
-     *
+     *  The main view navigator for the application.  This component is
+     *  responsible for managing the view navigation model for the application.
      */
     public var navigator:ViewNavigator;

@@ -118,7 +119,7 @@
     /**
      *  @private
      */
-    // TODO (chiedozi): WHy glenn said to make this private
+    // TODO (chiedozi): Why did we decide to make this private?
     private function get navigationStack():NavigationStack
     {
         if (navigator)
@@ -159,7 +160,6 @@
         return navigator && navigator.canCancelBackKeyBehavior;
     }

-    // TODO (Chiedozi): Why is this a getter instead of public var
     //----------------------------------
     //  firstViewData
     //----------------------------------
@@ -376,7 +376,15 @@

     [Bindable]
     /**
+     *  The default title that should be used by the ActionBar if the
+     *  view doesn't provide one.
+     *
+     *  @default null
      *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get title():String
     {
@@ -486,7 +494,6 @@
     /**
      *  @private
      */
-    // TODO (chiedozi): Should these be refactored into the base class?
     override protected function backKeyHandler():void
     {
         super.backKeyHandler();
@@ -613,7 +620,7 @@
             navigatorProperties = newNavigatorProperties;
             navigator.firstView = firstView;
             navigator.firstViewData = firstViewData;
-            navigator.navigationStack = navigationStack;  // TODO (chiedozi): Do other way
+            navigator.navigationStack = navigationStack;
             navigator.landscapeOrientation = landscapeOrientation;

             // Set the stage focus to the navigator
@@ -654,7 +661,7 @@
                 newNavigatorProperties.titleLayout = navigator.titleLayout;

             // Always want to save the navigation stack
-            // TODO (chiedozi): I'm nto doing this right...
+            // TODO (chiedozi): I'm not doing this right...
             newNavigatorProperties.navigationStack = navigator.navigationStack;
             navigatorProperties = newNavigatorProperties;
         }


FLEX-22502 Implemented DATA_CHANGE event when editing date in text field

--- frameworks/projects/mx/src/mx/controls/DateField.as
+++ frameworks/projects/mx/src/mx/controls/DateField.as
@@ -2035,6 +2035,8 @@
         textInput.mouseChildren = true;
         textInput.mouseEnabled = true;
         textInput.addEventListener(TextEvent.TEXT_INPUT, textInput_textInputHandler);
+		textInput.addEventListener(Event.CHANGE, onTextInputChange);
+
         // hide the border, we use the text input's border
         if (border)
             border.visible = false;
@@ -2276,6 +2278,14 @@
         monthSymbol = monthSymbolOverride;
         yearSymbol = yearSymbolOverride;
     }
+
+	/**
+	 *  @private
+	 */
+	protected function onTextInputChange(event:Event = null):void
+	{
+		dispatchEvent(new ItemEditEvent(ItemEditEvent.DATA_CHANGE, true));
+	}

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


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

--- frameworks/projects/automation/src/mx/automation/tabularData/ChartSeriesTabularData.as
+++ frameworks/projects/automation/src/mx/automation/tabularData/ChartSeriesTabularData.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.automation.tabularData
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8535
Author:   chaase@adobe.com
Date:     2009-07-13T23:23:47.722512Z

Log Message:
-----------
Fixed some transform effects bugs plus a GraphicElement.localToGlobal() bug with the shared display object.

QE Notes: 8 failures in transform effects tests, 1 in Resize test, require changes to the test (new, correct behavior causes a change in the relevantStyles and affectedProperties return values)
Doc Notes: None
Bugs: sdk-21875, sdk-21465, sdk-21804, sdk-22165, sdk-21933
Reviewer: Jason, Glenn (for 21933)
Tests: checkintests, Mustella (spark/effects, mx/effects), Catalyst transition test

Modified Paths:
--------------
<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/spark/src/spark/effects/Move3D.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/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
@@ -170,6 +170,16 @@
     private static var offsetRotation:Vector3D = new Vector3D();
     private static var offsetTranslation:Vector3D = new Vector3D();
     private static var offsetScale:Vector3D = new Vector3D();
+
+    /**
+     * These maps hold the properties and layout constraints used to
+     * set up automatic property animations based on state changes. They
+     * are populated when the effect instance is set up according to
+     * the properties/constraints affected by each transform effect.
+     */
+    mx_internal var layoutConstraints:Object = new Object();
+    mx_internal var affectedProperties:Object = new Object();
+

     //--------------------------------------------------------------------------
     //
@@ -432,17 +442,23 @@
     override public function play():void
     {
         var autoProps:Object = new Object();
+        var s:String;

         if (propertyChanges)
         {
-            for (var s:String in propertyChanges.end)
-                if (TRANSFORM_PROPERTIES.indexOf(s) >= 0 &&
+            // autoProps holds the properties that we want to automatically
+            // create animations for. Only do this for properties that
+            // are directly related to this effect instance (affectedProperties)
+            // and which change between states (propertyChanges values)
+            for (s in propertyChanges.end)
+                if (affectedProperties[s] !== undefined &&
                     propertyChanges.end[s] !== undefined &&
+                    propertyChanges.start[s] !== undefined &&
                     propertyChanges.start[s] != propertyChanges.end[s])
                 {
                     autoProps[s] = s;
                 }
-        }
+        }
         if (motionPaths)
         {
             var i:int;
@@ -473,15 +489,6 @@
                 }
             }
         }
-        // FIXME (chaase): autoProps automatically animates all transform properties
-        // that are not explicitly specified via the effect properties.
-        // This handles, for example, transitions, to pick up all changes and turn
-        // them into motionPaths on the transform properties.
-        // This is great, but may have unintended consequences, such as performing
-        // an animated Rotate when only a Move was requested (but the rotation angle
-        // change was picked up automatically).
-        // Ideally, we would have this behavior for the superclass effect, but not
-        // carry over into the Move/Rotate/etc. effects.
         for (s in autoProps)
         {
             var mp:MotionPath = new MotionPath(s);
@@ -492,21 +499,11 @@
                 motionPaths = new Vector.<MotionPath>();
             motionPaths.push(mp);
         }
-        // FIXME (chaase): We probably need to advertise percentWidth/Height
-        // in the affected properties/styles arrays; we don't pick these up
-        // in the transition propertyChanges automatically otherwise
         if (propertyChanges && !disableLayout)
-        {
-            setupConstraintAnimation("left");
-            setupConstraintAnimation("right");
-            setupConstraintAnimation("top");
-            setupConstraintAnimation("bottom");
-            setupConstraintAnimation("percentWidth");
-            setupConstraintAnimation("percentHeight");
-            setupConstraintAnimation("horizontalCenter");
-            setupConstraintAnimation("verticalCenter");
-            // FIXME (chaase): also deal with baseline when it works in BasicLayout
-        }
+            // automatically animate layout constraints affected by this
+            // effect instance if we are in a transition
+            for (s in layoutConstraints)
+                setupConstraintAnimation(s);
         super.play();
     }