additional trace statements

additional trace statements

--- flexEditor/src/org/arisgames/editor/services/AppServices.as
+++ flexEditor/src/org/arisgames/editor/services/AppServices.as
@@ -334,12 +334,15 @@
         if (isNaN(req.requirementId))
         {
             trace("This Requirement doesn't have an Id, so call Create Requirement function On Remote Server..");
-            l = AppDAO.getInstance().getRequirementsServer().createRequirement(gid, req.contentType, req.contentId, req.requirement, req.requirementDetail1, req.requirementDetail2, req.requirementDetail3, AppConstants.REQUIREMENT_BOOLEAN_AND_DATABASE);
+			trace("Requirement ID:" + req.requirementId + " Requirement:" + req.requirement + " Detail1:" + req.requirementDetail1 + " Detail2:" + req.requirementDetail2 );
+			l = AppDAO.getInstance().getRequirementsServer().createRequirement(gid, req.contentType, req.contentId, req.requirement, req.requirementDetail1, req.requirementDetail2, req.requirementDetail3, AppConstants.REQUIREMENT_BOOLEAN_AND_DATABASE);
         }
         else
         {
             trace("This Requirement has an Id (" + req.requirementId + "), so call Update Requirement function on Remote Server.");
-            l = AppDAO.getInstance().getRequirementsServer().updateRequirement(gid, req.requirementId, req.contentType, req.contentId, req.requirement, req.requirementDetail1, req.requirementDetail2, req.requirementDetail3, AppConstants.REQUIREMENT_BOOLEAN_AND_DATABASE);
+			trace("Requirement ID:" + req.requirementId + " Requirement:" + req.requirement + " Detail1:" + req.requirementDetail1 + " Detail2:" + req.requirementDetail2 );
+
+			l = AppDAO.getInstance().getRequirementsServer().updateRequirement(gid, req.requirementId, req.contentType, req.contentId, req.requirement, req.requirementDetail1, req.requirementDetail2, req.requirementDetail3, AppConstants.REQUIREMENT_BOOLEAN_AND_DATABASE);
         }
         l.addResponder(resp);
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/automation_spark/src/mx/core/Version.as
+++ frameworks/projects/automation_spark/src/mx/core/Version.as
@@ -0,0 +1,18 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+import mx.core.mx_internal;
+
+/**
+ *  @private
+ *  Version string for this class.
+ */
+mx_internal static const VERSION:String = "4.0.0.0";


Transferred from the Adobe Open Source Subversion Repository

Revision: 8336
Author:   jszeto@adobe.com
Date:     2009-06-26T21:16:13.987948Z

Log Message:
-----------
Halo Spark Skinning Fix

http://bugs.adobe.com/jira/browse/SDK-19599 - symbolColor does not work on some of our Halo components.

These skins were using .png for their arrow buttons and icons. I created SparkSkin versions of each of these .pngs.

These changes affect the following components:

DateChooser
-	Month and year arrows

ColorPicker
-	Down arrow

Menu
-	Branch icon
-	Check icon
-	Radio icon

QE Notes: None
Doc Notes: None
Bugs: SDK-19599
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuArrow.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuRadio.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/assets/ArrowDownSmall.png</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/assets/DateChooserArrowLeftDown.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DataGridSortArrow.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/assets/ArrowUpSmallDown.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuCheckDisabled.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserNextMonthSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/assets/DateChooserArrowLeft.png</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/assets/ColorPickerArrow.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DataGridSortArrow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/build.xml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/assets/ArrowUpSmall.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserNextYearSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/assets/MenuArrow.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuArrowDisabled.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/assets/DateChooserArrowRightDown.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuRadioDisabled.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/assets/ArrowDownSmallOver.png</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/assets/DateChooserArrowRight.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserPrevMonthSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/assets/DateChooserArrowLeftOver.png</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/assets/ArrowUpSmallOver.png</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/assets/MenuArrow_disabled.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ColorPickerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/SparkSkinsClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuCheck.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserPrevYearSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/assets/ArrowDownSmallDown.png</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/assets/DateChooserArrowRightOver.png</path>

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

--- frameworks/projects/framework/src/mx/graphics/BitmapFill.as
+++ frameworks/projects/framework/src/mx/graphics/BitmapFill.as
@@ -22,6 +22,7 @@
 import flash.utils.getDefinitionByName;

 import mx.events.PropertyChangeEvent;
+import mx.geom.CompoundTransform;

 /**
@@ -75,6 +76,74 @@
 	//
 	//--------------------------------------------------------------------------

+    //----------------------------------
+    //  compoundTransform
+    //----------------------------------
+
+    protected var compoundTransform:CompoundTransform;
+
+    //----------------------------------
+    //  matrix
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the matrix property.
+     */
+    private var _matrix:Matrix;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  By default, the LinearGradientStroke defines a transition
+     *  from left to right across the control.
+     *  Use the rotation property to control the transition direction.
+     *  For example, a value of 180.0 causes the transition
+     *  to occur from right to left, rather than from left to right.
+     *
+     *  @default 0.0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get matrix():Matrix
+    {
+        return compoundTransform ? compoundTransform.matrix : null;
+    }
+
+    /**
+     *  @private
+     */
+    public function set matrix(value:Matrix):void
+    {
+        var oldValue:Matrix = matrix;
+
+        var oldX:Number = x;
+        var oldY:Number = y;
+        var oldRotation:Number = rotation;
+
+        if (value == null)
+        {
+            compoundTransform = null;
+            x = NaN;
+            y = NaN;
+            rotation = 0;
+        }
+        else
+        {
+            // Create the transform if none exists.
+            if(compoundTransform == null)
+                compoundTransform = new CompoundTransform();
+            compoundTransform.matrix = value; // CompoundTransform will create a clone
+
+            dispatchFillChangedEvent("x", oldX, compoundTransform.x);
+            dispatchFillChangedEvent("y", oldY, compoundTransform.y);
+            dispatchFillChangedEvent("rotation", oldRotation, compoundTransform.rotationZ);
+        }
+    }
+
 	//----------------------------------
 	//  originX
 	//----------------------------------
@@ -259,17 +328,21 @@
 	 */
 	public function get rotation():Number
 	{
-		return _rotation;
+        return compoundTransform ? compoundTransform.rotationZ : _rotation;
 	}

 	public function set rotation(value:Number):void
-	{
-		var oldValue:Number = _rotation;
-		if (value != oldValue)
-		{
-			_rotation = value;
-			dispatchFillChangedEvent("rotation", oldValue, value);
-		}
+	{
+        if (value != rotation)
+        {
+            var oldValue:Number = rotation;
+
+            if (compoundTransform)
+                compoundTransform.rotationZ = value;
+            else
+                _rotation = value;
+            dispatchFillChangedEvent("rotation", oldValue, value);
+        }
 	}

 	//----------------------------------
@@ -295,15 +368,22 @@
 	 */
 	public function get scaleX():Number
 	{
-		return _scaleX;
-	}
-
+        return compoundTransform ? compoundTransform.scaleX : _scaleX;
+	}
+
+    /**
+     *  @private
+     */
 	public function set scaleX(value:Number):void
 	{
-		var oldValue:Number = _scaleX;
-		if (value != oldValue)
+		if (value != scaleX)
 		{
-			_scaleX = value;
+            var oldValue:Number = scaleX;
+
+            if (compoundTransform)
+                compoundTransform.scaleX = value;
+            else
+			    _scaleX = value;
 			dispatchFillChangedEvent("scaleX", oldValue, value);
 		}
 	}
@@ -331,17 +411,24 @@
 	 */
 	public function get scaleY():Number
 	{
-		return _scaleY;
-	}
-
+        return compoundTransform ? compoundTransform.scaleY : _scaleY;
+	}
+
+    /**
+     *  @private
+     */
 	public function set scaleY(value:Number):void
 	{
-		var oldValue:Number = _scaleY;
-		if (value != oldValue)
-		{
-			_scaleY = value;
-			dispatchFillChangedEvent("scaleY", oldValue, value);
-		}
+        if (value != scaleY)
+        {
+            var oldValue:Number = scaleY;
+
+            if (compoundTransform)
+                compoundTransform.scaleY = value;
+            else
+                _scaleY = value;
+            dispatchFillChangedEvent("scaleY", oldValue, value);
+        }
 	}

 	//----------------------------------
@@ -489,7 +576,7 @@
      */
     public function get transformX():Number
     {
-        return _transformX;
+        return compoundTransform ? compoundTransform.transformX : _transformX;
     }

     /**
@@ -497,11 +584,16 @@
      */
     public function set transformX(value:Number):void
     {
-        if (_transformX == value)
+        if (transformX == value)
             return;
+
+        var oldValue:Number = transformX;

-        var oldValue:Number = _transformX;
-        _transformX = value;
+        if (compoundTransform)
+            compoundTransform.transformX = value;
+        else
+            _transformX = value;
+
         dispatchFillChangedEvent("transformX", oldValue, value);
     }

@@ -523,7 +615,7 @@
      */
     public function get transformY():Number
     {
-        return _transformY;
+        return compoundTransform ? compoundTransform.transformY : _transformY;
     }

     /**
@@ -531,11 +623,16 @@
      */
     public function set transformY(value:Number):void
     {
-        if (_transformY == value)
+        if (transformY == value)
             return;

-        var oldValue:Number = _transformY;
-        _transformY = value;
+        var oldValue:Number = transformY;
+
+        if (compoundTransform)
+            compoundTransform.transformY = value;
+        else
+            _transformY = value;
+
         dispatchFillChangedEvent("transformY", oldValue, value);
     }

@@ -559,7 +656,7 @@
      */
     public function get x():Number
     {
-    	return _x;
+        return compoundTransform ? compoundTransform.x : _x;
     }

 	/**
@@ -567,12 +664,15 @@
 	 */
     public function set x(value:Number):void
     {
-    	var oldValue:Number = _x;
-    	if (value != oldValue)
-    	{
-    		_x = value;
-    		dispatchFillChangedEvent("x", oldValue, value);
-    	}
+        var oldValue:Number = x;
+        if (value != oldValue)
+        {
+            if (compoundTransform)
+                compoundTransform.x = value;
+            else
+                _x = value;
+            dispatchFillChangedEvent("x", oldValue, value);
+        }
     }

     //----------------------------------
@@ -594,7 +694,7 @@
      */
     public function get y():Number
     {
-    	return _y;
+        return compoundTransform ? compoundTransform.y : _y;
     }

     /**
@@ -602,12 +702,16 @@
      */
     public function set y(value:Number):void
     {
-    	var oldValue:Number = _y;
-    	if (value != oldValue)
-    	{
-    		_y = value;
-    		dispatchFillChangedEvent("y", oldValue, value);
-    	}
+        var oldValue:Number = y;
+        if (value != oldValue)
+        {
+            if (compoundTransform)
+                compoundTransform.y = value;
+            else
+                _y = value;
+
+            dispatchFillChangedEvent("y", oldValue, value);
+        }
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 11444
Author:   hmuller@adobe.com
Date:     2009-11-04T20:22:02.152655Z

Log Message:
-----------
Initial commit of the TabBar component.  ButtonBar and TabBar share a new base class called ButtonBarBase.

QE notes: tests for TabBar are TBD
Doc notes: Please check the new TabBar, ButtonBarBase ASDoc
Bugs:
Reviewer: Alex, Glenn
Tests run: ButtonBar Mustella tests pass
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TabBarButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TabBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/ButtonBar.as
+++ frameworks/projects/spark/src/spark/components/ButtonBar.as
@@ -20,7 +20,7 @@
 import flash.events.MouseEvent;
 import flash.ui.Keyboard;

-import spark.components.supportClasses.ListBase;
+import spark.components.supportClasses.ButtonBarBase;
 import spark.events.IndexChangeEvent;
 import spark.events.RendererExistenceEvent;

@@ -37,13 +37,9 @@

 use namespace mx_internal;  //ListBase and List share selection properties that are mx_internal

-//--------------------------------------
-//  Other metadata
-//--------------------------------------
+[IconFile("ButtonBar.png")]

 [AccessibilityClass(implementation="spark.accessibility.ButtonBarAccImpl")]
-
-[IconFile("ButtonBar.png")]

 /**
  *  The ButtonBar control defines a horizontal group of
@@ -103,7 +99,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class ButtonBar extends ListBase implements IFocusManagerComponent
+public class ButtonBar extends ButtonBarBase implements IFocusManagerComponent
 {
     include "../core/Version.as";

@@ -136,30 +132,10 @@
     public function ButtonBar()
     {
         super();
-
+
         itemRendererFunction = defaultButtonBarItemRendererFunction;
-
-        tabChildren = false;
-        tabEnabled = true;
-        tabFocusEnabled = true;
-
-        addEventListener(IndexChangeEvent.CARET_CHANGE, caretChangeHandler);
-
-        // start off with a button under the caret
-        _caretIndex = 0;
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Variables
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    private var inKeyUpHandler:Boolean;
-
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Properties
@@ -214,9 +190,10 @@
      */
     public var middleButton:IFactory;

-    //--------------------------------------------------------------------------
-    //
-    //  Overridden properties
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden Properties
     //
     //--------------------------------------------------------------------------

@@ -230,230 +207,13 @@
     override public function set dataProvider(value:IList):void
     {
         if (dataProvider)
-        {
             dataProvider.removeEventListener(CollectionEvent.COLLECTION_CHANGE, resetCollectionChangeHandler);
-            if (dataProvider is ISelectableList)
-                dataProvider.removeEventListener(Event.CHANGE, navigationChangeHandler);
-        }

         // not really a default handler, we just want it to run after the datagroup
         if (value)
-        {
             value.addEventListener(CollectionEvent.COLLECTION_CHANGE, resetCollectionChangeHandler, false, EventPriority.DEFAULT_HANDLER);
-            if (value is ISelectableList)
-                value.addEventListener(Event.CHANGE, navigationChangeHandler);
-        }

         super.dataProvider = value;
-
-        if (value is ISelectableList)
-            if (ISelectableList(dataProvider).selectedIndex != selectedIndex)
-                selectedIndex = ISelectableList(dataProvider).selectedIndex;
-    }
-
-    //----------------------------------
-    //  requireSelection
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var requireSelectionChanging:Boolean;
-
-    /**
-     *  @private
-     */
-    override public function set requireSelection(value:Boolean):void
-    {
-        super.requireSelection = value;
-        requireSelectionChanging = true;
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Overridden methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     *  Called by the initialize() method of UIComponent
-     *  to hook in the accessibility code.
-     */
-    override protected function initializeAccessibility():void
-    {
-        if (createAccessibilityImplementation != null)
-            createAccessibilityImplementation(this);
-    }
-
-    /**
-     *  @private
-     */
-    override protected function commitProperties():void
-    {
-        super.commitProperties();
-
-        if (requireSelectionChanging && dataProvider)
-        {
-            requireSelectionChanging = false;
-            var n:int = dataProvider.length;
-            for (var i:int = 0; i < n; i++)
-            {
-                var renderer:ButtonBarButton =
-                    dataGroup.getElementAt(i) as ButtonBarButton;
-                if (renderer)
-                    renderer.allowDeselection = !requireSelection;
-            }
-        }
-    }
-
-    /**
-     *  @private
-     */
-    override protected function partAdded(partName:String, instance:Object):void
-    {
-        super.partAdded(partName, instance);
-        if (instance == dataGroup)
-        {
-            dataGroup.addEventListener(
-                RendererExistenceEvent.RENDERER_ADD, dataGroup_rendererAddHandler);
-            dataGroup.addEventListener(
-                RendererExistenceEvent.RENDERER_REMOVE, dataGroup_rendererRemoveHandler);
-        }
-    }
-
-    /**
-     *  @private
-     */
-    override protected function partRemoved(partName:String, instance:Object):void
-    {
-        if (instance == dataGroup)
-        {
-            dataGroup.removeEventListener(
-                RendererExistenceEvent.RENDERER_ADD, dataGroup_rendererAddHandler);
-            dataGroup.removeEventListener(
-                RendererExistenceEvent.RENDERER_REMOVE, dataGroup_rendererRemoveHandler);
-        }
-
-        super.partRemoved(partName, instance);
-    }
-
-    /**
-     *  @private
-     */
-    override public function drawFocus(isFocused:Boolean):void
-    {
-        adjustLayering(caretIndex);
-        drawButtonFocus(caretIndex, isFocused);
-    }
-
-
-    /**
-     *  @private
-     */
-    override protected function itemSelected(index:int, selected:Boolean):void
-    {
-        super.itemSelected(index, selected);
-
-        var renderer:IItemRenderer =
-            dataGroup.getElementAt(index) as IItemRenderer;
-
-        if (renderer)
-        {
-            setCurrentCaretIndex(index);
-            renderer.selected = selected;
-        }
-        if (dataProvider is ISelectableList && selected)
-            ISelectableList(dataProvider).selectedIndex = index;
-    }
-
-    /**
-     *  @private
-     *  button bar always keeps something under the caret so don't let it
-     *  become -1
-     */
-    override mx_internal function setCurrentCaretIndex(value:Number):void
-    {
-        if (value == -1)
-            return;
-
-        super.setCurrentCaretIndex(value);
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-	 *  @private
-	 */
-	private function defaultButtonBarItemRendererFunction(data:Object):IFactory
-    {
-        var i:int = dataProvider.getItemIndex(data);
-        if (i == 0)
-            return firstButton ? firstButton : middleButton;
-
-        var n:int = dataProvider.length - 1;
-        if (i == n)
-            return lastButton ? lastButton : middleButton;
-
-        return middleButton;
-    }
-
-
-    /**
-     *  @private
-     */
-    private function drawButtonFocus(index:int, focused:Boolean):void
-    {
-        var n:int = dataProvider ? dataProvider.length : 0;
-        if (n > 0 && index < n)
-        {
-            var renderer:IItemRenderer =
-                dataGroup.getElementAt(index) as IItemRenderer;
-            if (renderer)
-                renderer.showsCaret = focused;
-        }
-    }
-
-    /**
-     *  @private
-     *  Attempt to lift the focused button above the others
-     *  so that the focus ring can show.
-     */
-    private function adjustLayering(caretIndex:int):void
-    {
-        var n:int = dataProvider ? dataProvider.length : 0;
-        for (var i:int = 0; i < n; i++)
-        {
-            var renderer:IVisualElement = IVisualElement(dataGroup.getElementAt(i));
-            // renderer may not exist in commitProps
-            // should get called again when we get focus
-            if (renderer)
-            {
-                if (i == caretIndex)
-                    renderer.depth = 1;
-                else
-                    renderer.depth = 0;
-            }
-        }
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Event handlers
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    private function navigationChangeHandler(event:Event):void
-    {
-        if (ISelectableList(dataProvider).selectedIndex != selectedIndex)
-            selectedIndex = ISelectableList(dataProvider).selectedIndex;
     }

     /**
@@ -479,181 +239,46 @@

     /**
      *  @private
-     *  Called when an item has been added to this component.
-     */
-    private function dataGroup_rendererAddHandler(event:RendererExistenceEvent):void
-    {
-        var renderer:IVisualElement = event.renderer;
-        var index:int = event.index;
-
-        if (renderer)
-        {
-            renderer.addEventListener(MouseEvent.CLICK, item_clickHandler);
-            if (renderer is IFocusManagerComponent)
-                IFocusManagerComponent(renderer).focusEnabled = false;
-            if (renderer is ButtonBarButton)
-                ButtonBarButton(renderer).allowDeselection = !requireSelection;
-        }
-    }
-
-    /**
-     *  @private
-     *  Called when an item has been removed from this component.
-     */
-    private function dataGroup_rendererRemoveHandler(event:RendererExistenceEvent):void
-    {
-        var renderer:IVisualElement = event.renderer;
-
-        if (renderer)
-            renderer.removeEventListener(MouseEvent.CLICK, item_clickHandler);
-    }
-
-    /**
-     *  @private
-     *  Called when an item is clicked.
-     */
-    private function item_clickHandler(event:MouseEvent):void
-    {
-        var newIndex:int
-        if (event.currentTarget is IItemRenderer)
-            newIndex = IItemRenderer(event.currentTarget).itemIndex;
-        else
-            newIndex = dataGroup.getElementIndex(event.currentTarget as IVisualElement);
-
-        var currentRenderer:IItemRenderer;
-        if (caretIndex >= 0 && !inKeyUpHandler) // don't remove caret when keybd nav
-        {
-            currentRenderer = dataGroup.getElementAt(caretIndex) as IItemRenderer;
-            currentRenderer.showsCaret = false;
-        }
-
-        if (newIndex == selectedIndex)
-        {
-            if (!requireSelection)
-                selectedIndex = NO_SELECTION;
-        }
-        else
-        {
-            selectedIndex = newIndex;
-        }
-
-    }
-
-    /**
-     *  @private
-     */
-    private function caretChangeHandler(event:Event):void
-    {
-        adjustLayering(caretIndex);
-    }
-
-    /**
-     *  @private
-     */
-    override protected function keyDownHandler(event:KeyboardEvent):void
-    {
-        var currentRenderer:IItemRenderer;
-        var renderer:IItemRenderer;
-
-        if (event.eventPhase == EventPhase.BUBBLING_PHASE)
+     *  button bar always keeps something under the caret so don't let it
+     *  become -1
+     */
+    override mx_internal function setCurrentCaretIndex(value:Number):void
+    {
+        if (value == -1)
             return;

-        if (!enabled || !dataProvider || event.isDefaultPrevented())
-            return;
-
-        super.keyDownHandler(event);
-
-        var oldCaretIndex:Number = caretIndex;
-        var e:IndexChangeEvent;
-        var length:int = dataProvider.length;
-        switch (event.keyCode)
-        {
-            case Keyboard.UP:
-            case Keyboard.LEFT:
-            {
-                currentRenderer = dataGroup.getElementAt(caretIndex) as IItemRenderer;
-                if (caretIndex > 0 || arrowKeysWrapFocus)
-                {
-                    if (currentRenderer)
-                        currentRenderer.showsCaret = false;
-                    setCurrentCaretIndex((caretIndex - 1 + length) % length);
-                    adjustLayering(caretIndex);
-                    renderer = dataGroup.getElementAt(caretIndex) as IItemRenderer;
-                    if (renderer)
-                        renderer.showsCaret = true;
-                    e = new IndexChangeEvent(IndexChangeEvent.CARET_CHANGE);
-                    e.oldIndex = oldCaretIndex;
-                    e.newIndex = caretIndex;
-                    dispatchEvent(e);
-                }
-
-                event.preventDefault();
-                break;
-            }
-            case Keyboard.DOWN:
-            case Keyboard.RIGHT:
-            {
-                currentRenderer = dataGroup.getElementAt(caretIndex) as IItemRenderer;
-                if (caretIndex < dataProvider.length - 1 || arrowKeysWrapFocus)
-                {
-                    if (currentRenderer)
-                        currentRenderer.showsCaret = false;
-                    setCurrentCaretIndex((caretIndex + 1) % length);
-                    adjustLayering(caretIndex);
-                    renderer = dataGroup.getElementAt(caretIndex) as IItemRenderer;
-                    if (renderer)
-                        renderer.showsCaret = true;
-                    e = new IndexChangeEvent(IndexChangeEvent.CARET_CHANGE);
-                    e.oldIndex = oldCaretIndex;
-                    e.newIndex = caretIndex;
-                    dispatchEvent(e);
-                }
-
-                event.preventDefault();
-                break;
-            }
-            case Keyboard.SPACE:
-            {
-                currentRenderer = dataGroup.getElementAt(caretIndex) as IItemRenderer;
-                if (!currentRenderer || (currentRenderer.selected && requireSelection))
-                    return;
-                currentRenderer.dispatchEvent(event);
-                break;
-            }
-        }
-    }
-
-    /**
-     *  @private
-     */
-    override protected function keyUpHandler(event:KeyboardEvent):void
-    {
-        var currentRenderer:IItemRenderer;
-        var renderer:IItemRenderer;
-
-        if (event.eventPhase == EventPhase.BUBBLING_PHASE)
-            return;
-
-        if (!enabled)
-            return;
-
-        inKeyUpHandler = true;
-
-        super.keyUpHandler(event);
-
-        switch (event.keyCode)
-        {
-            case Keyboard.SPACE:
-            {
-                  currentRenderer = dataGroup.getElementAt(caretIndex) as IItemRenderer;
-                if (!currentRenderer || (currentRenderer.selected && requireSelection))
-                    return;
-                currentRenderer.dispatchEvent(event);
-                break;
-            }
-        }
-
-        inKeyUpHandler = false;
+        super.setCurrentCaretIndex(value);
+    }
+
+     /**
+     *  @private
+     *  Called by the initialize() method of UIComponent
+     *  to hook in the accessibility code.
+     */
+    override protected function initializeAccessibility():void
+    {
+        if (createAccessibilityImplementation != null)
+            createAccessibilityImplementation(this);
+    }
+
+
+    //--------------------------------------------------------------------------
+    //
+    //  Private Methods
+    //
+    //--------------------------------------------------------------------------
+
+    private function defaultButtonBarItemRendererFunction(data:Object):IFactory
+    {
+        var i:int = dataProvider.getItemIndex(data);
+        if (i == 0)
+            return firstButton ? firstButton : middleButton;
+
+        var n:int = dataProvider.length - 1;
+        if (i == n)
+            return lastButton ? lastButton : middleButton;
+
+        return middleButton;
     }
 }


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

--- frameworks/projects/spark/src/spark/effects/easing/Power.as
+++ frameworks/projects/spark/src/spark/effects/easing/Power.as
@@ -1,11 +1,19 @@
-		////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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.
 //
 ////////////////////////////////////////////////////////////////////////////////
 package spark.effects.easing


Weave.className() now prefers actual class name over the one passed to Weave.registerClass().

--- WeaveJS/src/Weave.as
+++ WeaveJS/src/Weave.as
@@ -438,20 +438,23 @@
 			if (!def)
 				return null;

+			if (!def.prototype)
+				def = def.constructor;
+
+			if (def.prototype && def.prototype.FLEXJS_CLASS_INFO)
+				return def.prototype.FLEXJS_CLASS_INFO.names[0].qName;
+
 			if (map_class_name.has(def))
 				return map_class_name.get(def);

-			if (!def.prototype)
-				def = def.constructor;
-
-			if (def.prototype && def.prototype.FLEXJS_CLASS_INFO)
-				return def.prototype.FLEXJS_CLASS_INFO.names[0].qName;
-
 			return def.name;
 		}

 		public static function getDefinition(name:String):*
 		{
+			if (!name)
+				return undefined;
+
 			var def:* = JS.global;
 			var names:Array = name.split('.');
 			for each (var key:String in names)


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/charts/src/mx/charts/renderers/BoxItemRenderer.as
+++ frameworks/projects/charts/src/mx/charts/renderers/BoxItemRenderer.as
@@ -0,0 +1,188 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.charts.renderers
+{
+
+import flash.display.Graphics;
+import flash.geom.Rectangle;
+import mx.charts.ChartItem;
+import mx.charts.chartClasses.GraphicsUtilities;
+import mx.core.IDataRenderer;
+import mx.graphics.IFill;
+import mx.graphics.IStroke;
+import mx.skins.ProgrammaticSkin;
+import mx.graphics.SolidColor;
+import mx.utils.ColorUtil;
+
+/**
+ *  A simple chart itemRenderer implementation
+ *  that fills a rectangular area.
+ *  This class is the default itemRenderer for ColumnSeries and BarSeries objects.
+ *  It can be used as an itemRenderer for ColumnSeries, BarSeries, AreaSeries,
+ *  LineSeries, PlotSeries, and BubbleSeries objects.
+ *  This class renders its area on screen using the fill and stroke styles
+ *  of its associated series.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class BoxItemRenderer extends ProgrammaticSkin implements IDataRenderer
+{
+    include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function BoxItemRenderer()
+	{
+		super();
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+	//  data
+    //----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the data property.
+	 */
+	private var _data:Object;
+
+	[Inspectable(environment="none")]
+
+   	/**
+	 *  The chartItem that this itemRenderer is displaying.
+	 *  This value is assigned by the owning series
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get data():Object
+	{
+		return _data;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set data(value:Object):void
+	{
+		if (_data == value)
+			return;
+		_data = value;
+	}
+
+	//--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override protected function updateDisplayList(unscaledWidth:Number,
+												  unscaledHeight:Number):void
+	{
+		super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+		var fill:IFill;
+		var state:String = "";
+
+		if (_data is ChartItem && _data.hasOwnProperty('fill'))
+		{
+			state = _data.currentState;
+			fill = _data.fill;
+		}
+		else
+		 	fill = GraphicsUtilities.fillFromStyle(getStyle('fill'));
+
+		var color:uint;
+		var adjustedRadius:Number = 0;
+
+		switch (state)
+		{
+			case ChartItem.FOCUSED:
+			case ChartItem.ROLLOVER:
+					if (styleManager.isValidStyleValue(getStyle('itemRollOverColor')))
+						color = getStyle('itemRollOverColor');
+					else
+						color = ColorUtil.adjustBrightness2(GraphicsUtilities.colorFromFill(fill),-20);
+					fill = new SolidColor(color);
+					adjustedRadius = getStyle('adjustedRadius');
+					if (!adjustedRadius)
+						adjustedRadius = 0;
+					break;
+			case ChartItem.DISABLED:
+					if (styleManager.isValidStyleValue(getStyle('itemDisabledColor')))
+						color = getStyle('itemDisabledColor');
+					else
+						color = ColorUtil.adjustBrightness2(GraphicsUtilities.colorFromFill(fill),20);
+					fill = new SolidColor(GraphicsUtilities.colorFromFill(color));
+					break;
+			case ChartItem.FOCUSEDSELECTED:
+			case ChartItem.SELECTED:
+					if (styleManager.isValidStyleValue(getStyle('itemSelectionColor')))
+						color = getStyle('itemSelectionColor');
+					else
+						color = ColorUtil.adjustBrightness2(GraphicsUtilities.colorFromFill(fill),-30);
+					fill = new SolidColor(color);
+					adjustedRadius = getStyle('adjustedRadius');
+					if (!adjustedRadius)
+						adjustedRadius = 0;
+					break;
+		}
+
+		var stroke:IStroke = getStyle("stroke");
+
+		var w:Number = stroke ? stroke.weight / 2 : 0;
+
+		var rc:Rectangle = new Rectangle(w - adjustedRadius, w - adjustedRadius, width - 2 * w + adjustedRadius * 2, height - 2 * w + adjustedRadius * 2);
+
+		var g:Graphics = graphics;
+		g.clear();
+		g.moveTo(rc.left,rc.top);
+		if (stroke)
+			stroke.apply(g,null,null);
+		if (fill)
+			fill.begin(g,rc,null);
+		g.lineTo(rc.right,rc.top);
+		g.lineTo(rc.right,rc.bottom);
+		g.lineTo(rc.left,rc.bottom);
+		g.lineTo(rc.left,rc.top);
+		if (fill)
+			fill.end(g);
+	}
+}
+
+}


Better test for undefined color

Better test for undefined color

Change-Id: I233bdb72945445013b3394aa9c54eb86780af440

--- WeaveUISpark/src/weave/visualization/plotters/BarChartLegendPlotter.as
+++ WeaveUISpark/src/weave/visualization/plotters/BarChartLegendPlotter.as
@@ -142,7 +142,7 @@
 				// otherwise, we reverse the iColorIndex
 				var iColorIndex:int = ascendingOrder.value ? (numColumns - 1 - iColumn) : iColumn;
 				var color:Number = chartColors.getColorFromNorm(iColorIndex / (numColumns - 1));
-				if (color <= Infinity) // alternative to !isNaN()
+				if (isFinite(color))
 					g.beginFill(color, 1.0);
 				var xMin:Number = _itemBounds.getXNumericMin();
 				var xMax:Number = _itemBounds.getXNumericMax();


whitespace

whitespace

--- src/org/hola/ZExternalInterface.as
+++ src/org/hola/ZExternalInterface.as
@@ -5,6 +5,7 @@
     {
         private static var is_avail:Boolean = false;
         private static var inited:Boolean = false;
+
         public static function avail():Boolean{
             if (!inited)
             {


- bugfix: Added null guard in TooltipManager

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

--- src/reprise/core/TooltipManager.as
+++ src/reprise/core/TooltipManager.as
@@ -111,7 +111,7 @@
 			m_lastMousedElement = mousedElement;
 			m_lastTooltipDataProvider = element;

-			if (element == null)
+			if (element == null && m_tooltip)
 			{
 				m_tooltip.setMousedComponent(null);
 				m_tooltip.setMousedElement(null);


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

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

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

--- frameworks/projects/mx/src/mx/effects/AddChildAction.as
+++ frameworks/projects/mx/src/mx/effects/AddChildAction.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-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.effects
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

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

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

--- frameworks/projects/mx/src/mx/effects/easing/Quintic.as
+++ frameworks/projects/mx/src/mx/effects/easing/Quintic.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2004-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.effects.easing
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6266
Author:   egeorgie@adobe.com
Date:     2009-04-24T23:09:01.304621Z

Log Message:
-----------
Layout PARB changes

Major (most probably will require updates):
- LayoutBase.getScrollPositionDelta() -> getScrollPositionDeltaToElement()
- HorizontalLayout, VerticalLayout method inView() -> fractionOfElementInView()
- LayoutElementFactory is deleted, interface ILayoutElement is implemented by UIComponent, GraphicElement, VisualSprite, no need for casting in those cases, cast to ILayoutElement in case of type Object.
- TileLayout.elementHorizontalAlign -> horizontalAlign
- TileLayout.elementVerticalAlign -> verticalAlign
- TileJustifyRows -> RowAlign
- TileJustifyColumsn > ColumnAlign
- TileLayout.justifyRows -> rowAlign
- TileLayout.justifyColumns -> columnAling
- TileJustifyRows.NONE, "none" -> TOP, "top"
- TileJustifyRows.GAP_SIZE, "gapSize" -> JUSTIFY_USING_GAP, "justifyUsingGap"
- TileJustifyRows.ROW_SIZE, "rowSize" -> JUSTIFY_USING_HEIGHT, "justifyUsingHeight"
- TileJustifyColumns.NONE, "none" -> LEFT, "left"
- TileJustifyColumns.GAP_SIZE, "gapSize" -> JUSTIFY_USING_GAP, "justifyUsingGap"
- TileJustifyColumns.COLUMN_SIZE, "columnSize" -> JUSTIFY_USING_WIDTH, "justifyUsingWidth"
- TileLayout.set rowCount -> set requestedRowCount
- add TileLayout.get requestedRowCount
- TileLayout.set columnCount -> set requestedColumnCount
- add TileLayout.get requestedColumnCount

Minor (may require updates, but not that probable):
- get baselinePosition() is moved from IVisualElement to ILayoutElement.
- setLayoutBoundsSize() does not have default NaN values for width & height (but still logic is the same).
- name of ILayoutInterface methods' parameter "postTransform" is renamed to "postLayoutTransform".
- name of ILayoutInterface methods' parameter "triggerLayout" is renamed to "invalidateLayout".
- LayoutBase methods invalidateTargetSizeAndDisplayList() and invalidateTargetSize() are removed.
- LayoutBase method getTargetScrollRect() is renamed to getScrollRect().

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Hans, Ryan
tests: checkintests, mustella (gumbo/layout, gumbo/group, gumbo/dataGroup)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/layout/layout_tester.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LayoutBase.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/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/RowAlign.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/TileJustifyRows.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/Animate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/HorizontalLayout.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/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/ColumnAlign.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LayoutElementFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBarHorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/TileJustifyColumns.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/TextBaseClass.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/Block.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollerLayout.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/RowAlign.as
+++ frameworks/projects/spark/src/spark/layouts/RowAlign.as
@@ -0,0 +1,58 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 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.layout
+{
+
+/**
+ *  Enumerated type for the TileLayout's rowAlign
+ *  property.
+ *
+ *  @see TileLayout#rowAlign
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+public final class RowAlign
+{
+    /**
+     *  Does not justify the rows.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public static const TOP:String = "top";
+
+    /**
+     *  Justifies the rows by increasing the vertical gap.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public static const JUSTIFY_USING_GAP:String = "justifyUsingGap";
+
+    /**
+     *  Justifies the rows by increasing the row height.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public static const JUSTIFY_USING_HEIGHT:String = "justifyUsingHeight";
+}
+}


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

--- frameworks/projects/framework/src/mx/managers/IHistoryManagerClient.as
+++ frameworks/projects/framework/src/mx/managers/IHistoryManagerClient.as
@@ -23,6 +23,11 @@
  *  component that is registered with the HistoryManager.</p>
  *
  *  @see mx.managers.HistoryManager
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public interface IHistoryManagerClient
 {
@@ -57,6 +62,11 @@
 	 *	</pre>
 	 *
 	 *  @return The state of this object.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	function saveState():Object;

@@ -85,6 +95,11 @@
 	 *  	}
 	 *  }
 	 *  </pre>
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	function loadState(state:Object):void;

@@ -93,6 +108,11 @@
 	 *  Implemented by UIComponent.
 	 *
 	 *  @return The unique identifier for this object.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	function toString():String;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11050
Author:   jimurphy@adobe.com
Date:     2009-10-21T16:12:53.014279Z

Log Message:
-----------
Merged 3.x revisions 10953,10964,10974,11007,11026 to Trunk

  r10953 | aharui@adobe.com | 2009-10-09 13:50:37 -0400 (Fri, 09 Oct 2009) | 11 lines

  Get rid of a try/catch block that was generating a lot of noise on the heap.

  QE Notes: None
  Doc Notes: None
  Bugs: SDK-23563
  Reviewer: Ryan
  API Change: no
  Is noteworthy for integration: No
  tests: checkintests mustella/Managers/DragManager
........

 r10964 | rfrishbe@adobe.com | 2009-10-09 19:23:26 -0400 (Fri, 09 Oct 2009) | 8 lines

  In DividedBox we mutate a childÆs percentWidth/percentHeight values.  This is so we can utilize the default BoxLayout algorithm.  However, after the algorithm has finished running, we should reset the values to what they were so when children get added it works correctly.

  QE notes: -
  Doc notes: -
  Bugs: SDK-15876
  Reviewer: Alex
  Tests run: checkintests, mustella DividedBox
  Is noteworthy for integration: no
........

  r10974 | pfarland@adobe.com | 2009-10-12 17:56:48 -0400 (Mon, 12 Oct 2009) | 9 lines

  Submitting customer patch for SDK-19188. Correcting XSD scope lookup while decoding wrapped style document literal responses.

  QE notes: Please add a regression test for this scenario.
  Doc notes: N/A
  Bugs: SDK-19188
  Reviewer: Pete
  Tests run: Checkintests, webtier mxunit, flexunit
  Is noteworthy for integration: No
........

  r11007 | pfarland@adobe.com | 2009-10-19 14:26:21 -0400 (Mon, 19 Oct 2009) | 17 lines

  Adding support for <xsd:any /> deserialization to include attributes as properties in addition to child elements.

  Just as with multiple child elements of the same name, an attribute and child element sharing the same name will be promoted to an Array of values (or ArrayCollection if makeObjectsBindable is true).

  Since dynamic ActionScript objects can only have public properties added at runtime, attribute namespaces will be ignored and only the localName will be used for the property name.

  Simple values that have attributes are supported - a special dynamic SimpleContent type is used to hold the value (the simple content value can be retrieved using toString() or valueOf()) and attributes become dynamic properties on this instance.

  Mixed content is still not supported and the cdata content is ignored.

  QE notes: Yes, please add a test case that uses attributes in the SOAP response data for <xsd:any> deserialization.
  Doc notes: We may want to add a release note that fixing this bug includes attributes during generic SOAP deserialization for the <xsd:any> scenario.
  Bugs: SDK-23140 - No data while using "Object" as "resultFormat" for Sharepoint WebService
  Reviewer: Svetlin, Tom J
  Tests run: Checkintests, bug test case
  Is noteworthy for integration: No
........

  r11026 | jimurphy@adobe.com | 2009-10-20 11:47:03 -0400 (Tue, 20 Oct 2009) | 8 lines

  update 3.x with most recent release of AIR: 1.5.2.8900

  QE notes:
  Doc notes:
  Bugs: no
  Reviewer: n/a
  Tests run: yes
  Is noteworthy for integration: no
........

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/SOAPDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>

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

--- frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as
+++ frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as
@@ -661,14 +661,8 @@
 		if (!obj.visible)
 			return;

-		try
-		{
-			if (!obj[$visible])
-				return;
-		}
-		catch (e:Error)
-		{
-		}
+        if ((obj is UIComponent) && !UIComponent(obj).$visible)
+			return;

 		if (obj.hitTestPoint(pt.x, pt.y, true))
 		{
@@ -720,7 +714,6 @@
 		}
 	}

-	private static var $visible:QName = new QName(mx_internal, "$visible");
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 153
Author:   proberts@adobe.com
Date:     2008-01-10T20:22:23.867658Z

Log Message:
-----------
Severity: ignore
Description: docs update -- added @productVersion tag to Flex AIR classes' class descriptions.

Modified Paths:
--------------
<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/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMaximizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/IWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemSizeDisplayMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/AIREvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FileEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowCloseButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>

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

--- frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as
+++ frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as
@@ -62,6 +62,8 @@
  *  manages tooltips, cursors, popups, and other content for the Window.</p>
  *
  *  @see mx.managers.SystemManager
+ *
+ *  @productversion Apollo 1.0
  */
 public class WindowedSystemManager extends MovieClip implements ISystemManager
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5099
Author:   gauravj@adobe.com
Date:     2009-02-27T03:43:02.639229Z

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:
--------------
147 paths were modified

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

--- frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as
+++ frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as
@@ -43,6 +43,12 @@
 /**
  *  This NetConnectionChannel provides the basic NetConnection support for messaging.
  *  The AMFChannel and RTMPChannel both extend this class.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion BlazeDS 4
+ *  @productversion LCDS 3
  */
 public class NetConnectionChannel extends PollingChannel
 {
@@ -65,6 +71,12 @@
      *  @param id The id of this Channel.
      *
      *  @param uri The uri for this Channel.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function NetConnectionChannel(id:String = null, uri:String = null)
     {
@@ -103,6 +115,12 @@

     /**
      *  Provides access to the associated NetConnection for this Channel.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function get netConnection():NetConnection
     {
@@ -464,6 +482,12 @@
      *  @param msg The outbound message.
      *
      *  @param channel The channel this responder is using.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function NetConnectionMessageResponder(agent:MessageAgent,
                                     msg:IMessage, channel:NetConnectionChannel)


Transferred from the Adobe Open Source Subversion Repository

Revision: 12478
Author:   gosmith@adobe.com
Date:     2009-12-04T01:03:50.724937Z

Log Message:
-----------
The partAdded() and partRemoved() methods of Spark components now dispatch new events named "partAdded" and "partRemoved", of type SkinPartEvent. The accessibility implementation classes will soon use these events to know when skin parts are added and removed so that they can attach and remove event handlers appropriately. This mechanism may change in a future release, so developers should not depend on these undocumented events.

I've made sure that all overrides of partAdded() and partRemoved() call the supermethod so that they dispatch these events.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/events/SkinPartEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -830,6 +830,7 @@
     override protected function partAdded(partName:String, instance:Object):void
     {
         super.partAdded(partName, instance);
+
         if (instance == dataGroup)
         {
             // Not your typical delegation, see 'set useVirtualLayout'


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

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


break instead

break instead

--- src/com/phylake/fsm/impl/Fsm.as
+++ src/com/phylake/fsm/impl/Fsm.as
@@ -94,7 +94,7 @@
                                 {
                                     throw new IllegalOperationError("> 1 unguarded transition for " + currentState.id);
                                     // while this is an exception we have a valid transition from which to continue
-                                    continue outer;// TODO consider returning instead
+                                    break outer;// TODO consider returning instead
                                 }

                                 trueGuard = guard;


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

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

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

--- frameworks/projects/mx/src/mx/containers/TitleWindow.as
+++ frameworks/projects/mx/src/mx/containers/TitleWindow.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-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.containers
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/mx/src/mx/printing/PrintDataGrid.as
+++ frameworks/projects/mx/src/mx/printing/PrintDataGrid.as
@@ -0,0 +1,556 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-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.printing
+{
+
+import flash.events.KeyboardEvent;
+import mx.controls.DataGrid;
+import mx.core.EdgeMetrics;
+import mx.core.ScrollPolicy;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Excluded APIs
+//--------------------------------------
+
+//--------------------------------------
+//  public properties
+//--------------------------------------
+
+[Exclude(name="allowDragSelection", kind="property")]
+[Exclude(name="allowMultipleSelection", kind="property")]
+[Exclude(name="dataTipField", kind="property")]
+[Exclude(name="dataTipFunction", kind="property")]
+[Exclude(name="doubleClickEnabled", kind="property")]
+[Exclude(name="dragEnabled", kind="property")]
+[Exclude(name="draggableColumns", kind="property")]
+[Exclude(name="dragMoveEnabled", kind="property")]
+[Exclude(name="dropEnabled", kind="property")]
+[Exclude(name="dropTarget", kind="property")]
+[Exclude(name="editable", kind="property")]
+[Exclude(name="editedItemPosition", kind="property")]
+[Exclude(name="editedItemRenderer", kind="property")]
+[Exclude(name="horizontalScrollBar", kind="property")]
+[Exclude(name="horizontalScrollPolicy", kind="property")]
+[Exclude(name="maxHorizontalScrollPosition", kind="property")]
+[Exclude(name="maxVerticalScrollPosition", kind="property")]
+[Exclude(name="scrollTipFunction", kind="property")]
+[Exclude(name="selectable", kind="property")]
+[Exclude(name="selectedIndex", kind="property")]
+[Exclude(name="selectedIndices", kind="property")]
+[Exclude(name="selectedItem", kind="property")]
+[Exclude(name="selectedItems", kind="property")]
+[Exclude(name="showScrollTips", kind="property")]
+[Exclude(name="toolTip", kind="property")]
+[Exclude(name="useHandCursor", kind="property")]
+[Exclude(name="verticalScrollBar", kind="property")]
+[Exclude(name="verticalScrollPolicy", kind="property")]
+
+//--------------------------------------
+//  protected properties
+//--------------------------------------
+
+[Exclude(name="anchorBookmark", kind="property")]
+[Exclude(name="anchorIndex", kind="property")]
+[Exclude(name="caretBookmark", kind="property")]
+[Exclude(name="caretIndex", kind="property")]
+[Exclude(name="caretIndicator", kind="property")]
+[Exclude(name="caretItemRenderer", kind="property")]
+[Exclude(name="caretUID", kind="property")]
+[Exclude(name="dragImage", kind="property")]
+[Exclude(name="dragImageOffsets", kind="property")]
+[Exclude(name="highlightIndicator", kind="property")]
+[Exclude(name="highlightUID", kind="property")]
+[Exclude(name="keySelectionPending", kind="property")]
+[Exclude(name="lastDropIndex", kind="property")]
+[Exclude(name="selectionLayer", kind="property")]
+[Exclude(name="selectionTweens", kind="property")]
+[Exclude(name="showCaret", kind="property")]
+
+//--------------------------------------
+//  public methods
+//--------------------------------------
+
+[Exclude(name="calculateDropIndex", kind="method")]
+[Exclude(name="createItemEditor", kind="method")]
+[Exclude(name="destroyItemEditor", kind="method")]
+[Exclude(name="effectFinished", kind="method")]
+[Exclude(name="effectStarted", kind="method")]
+[Exclude(name="endEffectStarted", kind="method")]
+[Exclude(name="hideDropFeedback", kind="method")]
+[Exclude(name="isItemHighlighted", kind="method")]
+[Exclude(name="isItemSelected", kind="method")]
+[Exclude(name="showDropFeedback", kind="method")]
+[Exclude(name="startDrag", kind="method")]
+
+//--------------------------------------
+//  protected methods
+//--------------------------------------
+
+[Exclude(name="dragCompleteHandler", kind="method")]
+[Exclude(name="dragDropHandler", kind="method")]
+[Exclude(name="dragEnterHandler", kind="method")]
+[Exclude(name="dragExitHandler", kind="method")]
+[Exclude(name="dragOverHandler", kind="method")]
+[Exclude(name="dragScroll", kind="method")]
+[Exclude(name="drawCaretIndicator", kind="method")]
+[Exclude(name="drawHighlightIndicator", kind="method")]
+[Exclude(name="drawSelectionIndicator", kind="method")]
+[Exclude(name="mouseClickHandler", kind="method")]
+[Exclude(name="mouseDoubleClickHandler", kind="method")]
+[Exclude(name="mouseDownHandler", kind="method")]
+[Exclude(name="mouseEventToItemRenderer", kind="method")]
+[Exclude(name="mouseMoveHandler", kind="method")]
+[Exclude(name="mouseOutHandler", kind="method")]
+[Exclude(name="mouseOverHandler", kind="method")]
+[Exclude(name="mouseUpHandler", kind="method")]
+[Exclude(name="mouseWheelHandler", kind="method")]
+[Exclude(name="moveSelectionHorizontally", kind="method")]
+[Exclude(name="moveSelectionVertically", kind="method")]
+[Exclude(name="placeSortArrow", kind="method")]
+[Exclude(name="removeIndicators", kind="method")]
+[Exclude(name="selectItem", kind="method")]
+[Exclude(name="setScrollBarProperties", kind="method")]
+
+//--------------------------------------
+//  events
+//--------------------------------------
+
+[Exclude(name="click", kind="event")]
+[Exclude(name="doubleClick", kind="event")]
+[Exclude(name="dragComplete", kind="event")]
+[Exclude(name="dragDrop", kind="event")]
+[Exclude(name="dragEnter", kind="event")]
+[Exclude(name="dragExit", kind="event")]
+[Exclude(name="dragOver", kind="event")]
+[Exclude(name="effectEnd", kind="event")]
+[Exclude(name="effectStart", kind="event")]
+[Exclude(name="headerRelease", kind="event")]
+[Exclude(name="itemClick", kind="event")]
+[Exclude(name="itemDoubleClick", kind="event")]
+[Exclude(name="itemEditBegin", kind="event")]
+[Exclude(name="itemEditBeginning", kind="event")]
+[Exclude(name="itemEditEnd", kind="event")]
+[Exclude(name="itemFocusIn", kind="event")]
+[Exclude(name="itemFocusOut", kind="event")]
+[Exclude(name="itemRollOut", kind="event")]
+[Exclude(name="itemRollOver", kind="event")]
+[Exclude(name="keyDown", kind="event")]
+[Exclude(name="keyUp", kind="event")]
+[Exclude(name="mouseDown", kind="event")]
+[Exclude(name="mouseDownOutside", kind="event")]
+[Exclude(name="mouseFocusChange", kind="event")]
+[Exclude(name="mouseMove", kind="event")]
+[Exclude(name="mouseOut", kind="event")]
+[Exclude(name="mouseOver", kind="event")]
+[Exclude(name="mouseUp", kind="event")]
+[Exclude(name="mouseWheel", kind="event")]
+[Exclude(name="mouseWheelOutside", kind="event")]
+[Exclude(name="rollOut", kind="event")]
+[Exclude(name="rollOver", kind="event")]
+[Exclude(name="toolTipCreate", kind="event")]
+[Exclude(name="toolTipEnd", kind="event")]
+[Exclude(name="toolTipHide", kind="event")]
+[Exclude(name="toolTipShow", kind="event")]
+[Exclude(name="toolTipShown", kind="event")]
+[Exclude(name="toolTipStart", kind="event")]
+
+//--------------------------------------
+//  styles
+//--------------------------------------
+
+[Exclude(name="columnDropIndicatorSkin", kind="style")]
+[Exclude(name="columnResizeSkin", kind="style")]
+[Exclude(name="dropIndicatorSkin", kind="style")]
+[Exclude(name="headerDragProxyStyleName", kind="style")]
+[Exclude(name="horizontalScrollBarStyleName", kind="style")]
+[Exclude(name="rollOverColor", kind="style")]
+[Exclude(name="selectionColor", kind="style")]
+[Exclude(name="selectionDisabledColor", kind="style")]
+[Exclude(name="selectionDuration", kind="style")]
+[Exclude(name="selectionEasingFunction", kind="style")]
+[Exclude(name="strechCursor", kind="style")]
+[Exclude(name="textRollOverColor", kind="style")]
+[Exclude(name="textSelectedColor", kind="style")]
+[Exclude(name="useRollOver", kind="style")]
+[Exclude(name="verticalScrollBarStyleName", kind="style")]
+
+//--------------------------------------
+//  effects
+//--------------------------------------
+
+[Exclude(name="addedEffect", kind="effect")]
+[Exclude(name="creationCompleteEffect", kind="effect")]
+[Exclude(name="focusInEffect", kind="effect")]
+[Exclude(name="focusOutEffect", kind="effect")]
+[Exclude(name="hideEffect", kind="effect")]
+[Exclude(name="mouseDownEffect", kind="effect")]
+[Exclude(name="mouseUpEffect", kind="effect")]
+
+[Exclude(name="moveEffect", kind="effect")]
+[Exclude(name="removedEffect", kind="effect")]
+[Exclude(name="resizeEffect", kind="effect")]
+[Exclude(name="rollOutEffect", kind="effect")]
+[Exclude(name="rollOverEffect", kind="effect")]
+[Exclude(name="showEffect", kind="effect")]
+
+/**
+ *  The PrintDataGrid control is a DataGrid subclass that is styled
+ *  to show a table with line borders and is optimized for printing.
+ *  It can automatically size to properly fit its container, and removes
+ *  any partially displayed rows.
+ *
+ *  @mxml
+ *
+ *
The <mx:PrintDataGrid> tag inherits the tag attributes
+ *  of its superclass; however, you do not use the properties, styles, events,
+ *  and effects (or methods) associated with user interaction.
+ *  The <mx:PrintDataGrid> tag adds the following tag attribute:
+ *

+ *

+ *  <mx:PrintDataGrid
+ *    Properties
+ *    sizeToPage="true|false"
+ *  >
+ *  ...
+ *  </mx:PrintDataGrid>
+ *

+ *
+ *  @see FlexPrintJob
+ *
+ *  @includeExample examples/FormPrintHeader.mxml -noswf
+ *  @includeExample examples/FormPrintFooter.mxml -noswf
+ *  @includeExample examples/FormPrintView.mxml -noswf
+ *  @includeExample examples/PrintDataGridExample.mxml
+ */
+public class PrintDataGrid extends DataGrid
+{
+	include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *
Constructs a DataGrid without scrollbars or user interactivity:
+	 *  column sorting, resizing, drag scrolling, selection, or keyboard
+	 *  interaction.
+	 *  The default height is 100% of the container height, or the height
+	 *  required to display all the dataProvider rows, whichever is smaller.

+	 */
+	public function PrintDataGrid()
+	{
+		super();
+
+		horizontalScrollPolicy = ScrollPolicy.OFF;
+		verticalScrollPolicy = ScrollPolicy.OFF;
+		sortableColumns = false;
+		selectable = false;
+		// to disable dragScrolling
+		dragEnabled = true;
+		resizableColumns = false;
+		super.percentHeight = 100;
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+	//  height
+    //----------------------------------
+
+    [Bindable("heightChanged")]
+    [Inspectable(category="General")]
+	[PercentProxy("percentHeight")]
+
+    /**
+	 *  @private
+	 *  Getter needs to be overridden if setter is overridden.
+	 */
+    override public function get height():Number
+	{
+		return super.height;
+	}
+
+	/**
+	 *  @private
+	 *  Height setter needs to be overridden to update _originalHeight.
+	 */
+	override public function set height(value:Number):void
+	{
+		_originalHeight = value;
+		if (!isNaN(percentHeight))
+		{
+			super.percentHeight = NaN;
+			measure();
+			value = measuredHeight;
+		}
+
+		super.height = value;
+
+		invalidateDisplayList();
+
+		if (sizeToPage && !isNaN(explicitHeight))
+			explicitHeight = NaN;
+	}
+
+    //----------------------------------
+	//  percentHeight
+    //----------------------------------
+
+    [Bindable("resize")]
+    [Inspectable(category="Size", defaultValue="NaN")]
+    /**
+	 *  @private
+	 *  Getter needs to be overridden if setter is overridden.
+	 */
+    override public function get percentHeight():Number
+    {
+        return super.percentHeight;
+    }
+
+    /**
+     *  @private
+     *  percentHeight setter needs to be overridden to update _originalHeight.
+     */
+    override public function set percentHeight(value:Number):void
+    {
+		_originalHeight = NaN;
+		super.percentHeight = value;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+	//  currentPageHeight
+    //----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the currentPageHeight property.
+	 */
+	private var _currentPageHeight:Number;
+
+	/**
+	 *  The height of PrintDataGrid that would be, if sizeToPage
+	 *  property is true and PrintDataGrid displays only completely
+	 *  viewable rows and no partial rows. If sizeToPage property
+	 *  is true, the value of this property equals
+	 *  the height property.
+	 */
+	public function get currentPageHeight():Number
+	{
+		return _currentPageHeight;
+	}
+
+    //----------------------------------
+	//  originalHeight
+    //----------------------------------
+
+	/**
+	 *  Storage for the originalHeight property.
+	 *  @private
+	 */
+	private var _originalHeight:Number;
+
+	/**
+	 *  The height of PrintDataGrid as set by the user.
+	 *  If the sizeToPage property is false,
+	 *  the value of this property equals the height property.
+	 */
+	public function get originalHeight():Number
+	{
+		return _originalHeight;
+	}
+
+    //----------------------------------
+	//  sizeToPage
+    //----------------------------------
+
+	/**
+	 *  If true, the PrintDataGrid readjusts its height to display
+	 *  only completely viewable rows.
+	 */
+	public var sizeToPage:Boolean = true;
+
+    //----------------------------------
+	//  validNextPage
+    //----------------------------------
+
+	/**
+	 *  Indicates the data provider contains additional data rows that follow
+	 *  the rows that the PrintDataGrid control currently displays.
+	 *
+	 *  @return A Boolean value of true if a set of rows is
+	 *  available else false</false>.
+	 */
+	public function get validNextPage():Boolean
+	{
+		var vPos:int = verticalScrollPosition + rowCount;
+
+		return dataProvider && vPos < dataProvider.length ? true : false;
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: UIComponent
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Sets the default number of display rows to dataProvider.length.
+	 */
+	override protected function measure():void
+	{
+		var oldRowCount:uint = rowCount;
+
+		var count:uint = (dataProvider) ? dataProvider.length : 0;
+
+		if (count >= verticalScrollPosition)
+			count -= verticalScrollPosition;
+		else
+			count = 0;
+
+		if (headerVisible)
+			count++;
+
+		setRowCount(count);
+
+		// need to calculate rowCount before super()
+		super.measure();
+		measureHeight();
+
+		if (isNaN(_originalHeight))
+			_originalHeight = measuredHeight;
+		_currentPageHeight = measuredHeight;
+
+		if (!sizeToPage)
+		{
+			setRowCount(oldRowCount);
+			super.measure();
+		}
+	}
+
+	/**
+	 *  @private
+	 *  setActualSize() is overridden to update _originalHeight.
+	 */
+	override public function setActualSize(w:Number, h:Number):void
+	{
+		if (!isNaN(percentHeight))
+		{
+			_originalHeight = h;
+			super.percentHeight = NaN;
+			measure();
+			h = measuredHeight;
+		}
+
+		super.setActualSize(w, h);
+
+		invalidateDisplayList();
+
+		if (sizeToPage && !isNaN(explicitHeight))
+			explicitHeight = NaN;
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: ListBase
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Overridden configureScrollBars to disable autoScrollUp.
+	 */
+	override protected function configureScrollBars():void
+	{
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  Puts the next set of data rows in view;
+	 *  that is, it sets the PrintDataGrid verticalScrollPosition
+	 *  property to equal verticalScrollPosition + (number of scrollable rows).
+	 */
+	public function nextPage():void
+	{
+		verticalScrollPosition += rowCount - lockedRowCount;
+
+		invalidateSize();
+		invalidateDisplayList();
+	}
+
+	/**
+	 *  @private
+	 *  ListBase.measure() does'nt calculate measuredHeight in required way
+	 *  so have to add the code here.
+	 */
+	private function measureHeight():void
+	{
+		if (dataProvider && dataProvider.length > 0
+			&& (verticalScrollPosition >= dataProvider.length))
+		{
+			setRowCount(0);
+			measuredHeight = 0;
+			measuredMinHeight = 0;
+			return;
+		}
+
+		var o:EdgeMetrics = viewMetrics;
+        var rc:int = (explicitRowCount < 1) ? rowCount : explicitRowCount;
+
+        var maxHeight:Number = isNaN(_originalHeight) ? -1
+        						: _originalHeight - o.top - o.bottom;
+
+		measuredHeight = measureHeightOfItemsUptoMaxHeight(
+			-1, rc, maxHeight) + o.top + o.bottom;
+
+		measuredMinHeight = measureHeightOfItemsUptoMaxHeight(
+			-1, Math.min(rc, 2), maxHeight) + o.top + o.bottom;
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden event handlers: UIComponent
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Overridden keyDown to disable keyboard functionality.
+	 */
+	override protected function keyDownHandler(event:KeyboardEvent):void
+	{
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 2464
Author:   jimurphy@adobe.com
Date:     2008-07-14T19:50:33.449468Z

Log Message:
-----------
add flex 4 to trunk

Modified Paths:
--------------
134 paths were modified

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

--- frameworks/projects/spark/src/spark/components/Label.as
+++ frameworks/projects/spark/src/spark/components/Label.as
@@ -0,0 +1,200 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 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 flex.graphics
+{
+
+import flash.display.DisplayObjectContainer;
+import flash.display.Graphics;
+import flash.geom.Rectangle;
+import flash.text.engine.ElementFormat;
+import flash.text.engine.FontDescription;
+
+import flex.graphics.graphicsClasses.TextBlockComposer;
+import flex.graphics.graphicsClasses.TextGraphicElement;
+
+[DefaultProperty("text")]
+
+/**
+ *  Documentation is not currently available.
+ */
+public class TextBox extends TextGraphicElement
+	implements IDisplayObjectElement
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 */
+	public function TextBox()
+	{
+		super();
+	}
+
+	//--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private var textBlockComposer:TextBlockComposer = new TextBlockComposer();
+
+	/**
+	 *  @private
+	 *  This flag is set to true by the text, width, and height setters,
+	 *  to indicate that the TextLines must be regenerated.
+	 *  The regeneration occurs when draw() is called or 'bounds' is read.
+	 */
+	private var invalid:Boolean = false;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden properties: GraphicElement
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  bounds
+	//----------------------------------
+
+	/**
+	 *  @private
+	 */
+	private var _bounds:Rectangle = new Rectangle();
+
+    override public function get bounds():Rectangle
+	{
+		if (invalid)
+		{
+			compose();
+			invalid = false;
+		}
+
+		var w:Number;
+		var h:Number;
+
+		if (drawWidth != 0 && drawHeight != 0)
+		{
+			w = drawWidth;
+			h = drawHeight;
+		}
+		else
+		{
+			var r:Rectangle = textBlockComposer.actualBounds;
+			w = Math.ceil(r.width);
+			h = Math.ceil(r.height);
+		}
+
+		_bounds.width = w;
+		_bounds.height = h;
+
+		return _bounds;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: GraphicElement
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override public function draw(g:Graphics):void
+	{
+		super.draw(g);
+
+		compose(drawWidth, drawHeight);
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: TextGraphicElement
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override protected function invalidateTextLines(cause:String):void
+	{
+		invalid = true;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private function compose(width:Number = Infinity,
+							 height:Number = Infinity):void
+	{
+		var fontDescription:FontDescription = new FontDescription();
+		fontDescription.fontName = fontFamily;
+		fontDescription.fontPosture = fontStyle;
+		fontDescription.fontWeight = fontWeight;
+
+		var elementFormat:ElementFormat = new ElementFormat();
+		elementFormat.alpha = textAlpha;
+        elementFormat.color = color;
+		elementFormat.fontDescription = fontDescription;
+		elementFormat.fontSize = fontSize;
+		elementFormat.kerning = kerning;
+        if (tracking is Number)
+        {
+            elementFormat.trackingRight = Number(tracking);
+        }
+        else if (tracking is String)
+        {
+            var len:int = String(tracking).length;
+            if (tracking.charAt(len - 1) == "%")
+            {
+                var percent:Number = Number(tracking.substring(0, len - 1));
+                elementFormat.trackingRight = percent / 100 * fontSize;
+            }
+        }
+
+		textBlockComposer.removeTextLines(DisplayObjectContainer(displayObject));
+
+		var bounds:Rectangle = textBlockComposer.requestedBounds;
+		bounds.x = 0;
+		bounds.y = 0;
+		bounds.width = width;
+		bounds.height = height;
+
+		textBlockComposer.lineHeight = lineHeight;
+		textBlockComposer.paddingLeft = paddingLeft;
+		textBlockComposer.paddingTop = paddingTop;
+		textBlockComposer.paddingRight = paddingRight;
+		textBlockComposer.paddingBottom = paddingBottom;
+		textBlockComposer.textAlign = textAlign;
+		textBlockComposer.verticalAlign = verticalAlign;
+
+		textBlockComposer.composeText(text, elementFormat);
+
+		textBlockComposer.addTextLines(DisplayObjectContainer(displayObject));
+	}
+}
+
+}