Transferred from the Adobe Open Source Subversion Repository

Revision: 5966
Author:   egeorgie@adobe.com
Date:     2009-04-06T22:05:04.129878Z

Log Message:
-----------
Fix bug http://bugs.adobe.com/jira/browse/SDK-17392 Setting layout offsets causes Group's internal scale to be ignored when resizeMode=Scale

Fix: make implementation of resizeMode go through the AdvancedLayoutFeatures

QE Notes: None
Doc Notes:
Bugs: SDK-17392
Reviewer: Hans
tests: checkintests, mustella (group)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -570,170 +570,20 @@
         var value:uint = resizeModeToUINT(stringValue);
         if (_resizeMode == value)
             return;
-
+
+        // If old value was scale, reset it
+        if (_resizeMode == _SCALE_UINT)
+            setStretchXY(1, 1);
+
         _resizeMode = value;

-        if (_resizeMode == _SCALE_UINT)
-        {
-            super.scaleX = 1;
-            super.scaleY = 1;
-        }
-
         // We need the measured values and _resizeMode affects
         // our measure (skipMeasure implementation checks resizeMode) so
         // we need to invalidate the size.
         invalidateSize();
-
-        // TODO EGeorgie: can we directly call setActualSize instead?
-        invalidateParentSizeAndDisplayList();
-    }
-
-    override protected function nonDeltaLayoutMatrix():Matrix
-    {
-        if(hasDeltaIdentityTransform)
-        	return null;
-
-        if (resizeMode == ResizeMode.SCALE)
-        {
-            // Lose scale and skew:
-            return MatrixUtil.composeMatrix(x, y, 1, 1, rotation,
-                        transformX, transformY);
-        }

-        return super.nonDeltaLayoutMatrix();
-
-    }
-
-    /**
-     *  @private
-     */
-    override public function setActualSize(w:Number, h:Number):void
-    {
-        if (_resizeMode == _SCALE_UINT)
-        {
-            // TODO EGeorgie: make sure we don't invalidate again while
-            // setting the scale!
-            if (measuredWidth != 0)
-            {
-                $scaleX = w / measuredWidth;
-                w = measuredWidth;
-            }
-            if (measuredHeight != 0)
-            {
-                $scaleY = h / measuredHeight;
-                h = measuredHeight;
-            }
-        }
-
-        super.setActualSize(w, h);
-    }
-
-    /**
-     *  The scaling factor of the container in the X direction.
-     *
-     *
If resizeMode is set to ResizeMode.SCALE,
-     *  reading this property always returns 1.0, and setting it does nothing.

-     *
-     *
If resizeMode is set to anything other than ResizeMode.SCALE,
-     *  reading this property returns the current scaling factor.

-     *
-     *  @copy mx.core.UIComponent#scaleX
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    override public function get scaleX():Number
-    {
-        if (_resizeMode == _SCALE_UINT)
-            return 1;
-
-        return super.scaleX;
-    }
-
-    /**
-     *  @private
-     */
-    override public function set scaleX(value:Number):void
-    {
-        if (_resizeMode == _SCALE_UINT)
-            return;
-
-        super.scaleX = value;
-    }
-
-    /**
-     *  The scaling factor of the container in the Y direction.
-     *
-     *
If resizeMode is set to ResizeMode.SCALE,
-     *  reading this property always returns 1.0, and setting it does nothing.

-     *
-     *
If resizeMode is set to anything other than ResizeMode.SCALE,
-     *  reading this property returns the current scaling factor.

-     *
-     *  @copy mx.core.UIComponent#scaleY
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    override public function get scaleY():Number
-    {
-        if (_resizeMode == _SCALE_UINT)
-            return 1;
-
-        return super.scaleY;
-    }
-
-    /**
-     *  @private
-     */
-    override public function set scaleY(value:Number):void
-    {
-        if (_resizeMode == _SCALE_UINT)
-            return;
-
-        super.scaleY = value;
-    }
-
-    [Bindable("widthChanged")]
-    [Inspectable(category="General")]
-    [PercentProxy("percentWidth")]
-    /**
-     *  The width of the container, in pixels.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    override public function get width():Number
-    {
-        if (_resizeMode == _SCALE_UINT)
-            return super.width * $scaleX;
-
-        return super.width;
-    }
-
-    [Bindable("heightChanged")]
-    [Inspectable(category="General")]
-    [PercentProxy("percentHeight")]
-    /**
-     *  The height of the container, in pixels.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    override public function get height():Number
-    {
-        if (_resizeMode == _SCALE_UINT)
-            return super.height * $scaleY;
-
-        return super.height;
+        // Invalidate the display list so that our validateMatrix() gets called.
+        invalidateDisplayList();
     }

     /**
@@ -820,6 +670,9 @@
     {
         if (_layout && layoutInvalidateSizeFlag)
         {
+            var oldMeasuredWidth:Number = measuredWidth;
+            var oldMeasuredHeight:Number = measuredHeight;
+
             super.measure();

             layoutInvalidateSizeFlag = false;
@@ -832,7 +685,33 @@
                 measuredMinWidth = 0;
                 measuredMinHeight = 0;
             }
-        }
+
+            // Make sure that we invalidate the display list if the measured
+            // size changes, as we always size our content at the measured size when in scale mode.
+            if (_resizeMode == _SCALE_UINT && (measuredWidth != oldMeasuredWidth || measuredHeight != oldMeasuredHeight))
+                invalidateDisplayList();
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function validateMatrix():void
+    {
+        // Update the stretchXY before the matrix gets validates
+        if (_resizeMode == _SCALE_UINT)
+        {
+            var stretchX:Number = 1;
+            var stretchY:Number = 1;
+
+            if (measuredWidth != 0)
+                stretchX = width / measuredWidth;
+            if (measuredHeight != 0)
+                stretchY = height / measuredHeight;
+
+            setStretchXY(stretchX, stretchY);
+        }
+        super.validateMatrix();
     }

     /**
@@ -844,8 +723,8 @@
         {
             unscaledWidth = measuredWidth;
             unscaledHeight = measuredHeight;
-        }
-
+        }
+
         super.updateDisplayList(unscaledWidth, unscaledHeight);

 		if (maskChanged)


defined an EPSILON const in ArcBallController and coding style fixes

--- src/aerys/minko/scene/controller/camera/ArcBallController.as
+++ src/aerys/minko/scene/controller/camera/ArcBallController.as
@@ -11,10 +11,13 @@
 	import flash.events.IEventDispatcher;
 	import flash.events.MouseEvent;
 	import flash.geom.Point;
+	import flash.ui.Mouse;
+	import flash.ui.MouseCursor;

 	public class ArcBallController extends EnterFrameController
 	{
 		private static const TMP_MATRIX : Matrix4x4 = new Matrix4x4();
+		private static const EPSILON	: Number	= 0.001;

 		protected var _mousePosition	: Point		= new Point();

@@ -34,31 +37,92 @@
 		private var _thetaStep			: Number	= 0.01;
 		private var _phiStep			: Number	= 0.01;

-		public function get distance()		: Number	{ return _distance;		}
-		public function get theta()			: Number	{ return _theta;		}
-		public function get phi()			: Number	{ return _phi;			}
-		public function get lookAt()		: Vector4	{ return _lookAt;		}
-		public function get up()			: Vector4	{ return _up;			}
-
-		public function get minDistance()	: Number	{ return _minDistance;	}
-		public function get maxDistance()	: Number	{ return _maxDistance;	}
-		public function get distanceStep()	: Number	{ return _distanceStep;	}
-		public function get thetaStep()		: Number	{ return _thetaStep;	}
-		public function get phiStep()		: Number	{ return _phiStep;		}
-
-		public function set distance	(v : Number)	: void { _distance		= v; }
-		public function set theta		(v : Number)	: void { _theta			= v; }
-		public function set phi			(v : Number)	: void { _phi			= v; }
-
-		public function set minDistance	(v : Number)	: void { _minDistance	= v; }
-		public function set maxDistance	(v : Number)	: void { _maxDistance	= v; }
-		public function set distanceStep(v : Number)	: void { _distanceStep	= v; }
-		public function set thetaStep	(v : Number)	: void { _thetaStep		= v; }
-		public function set phiStep		(v : Number)	: void { _phiStep		= v; }
-
+		public function get distance() : Number
+		{
+			return _distance;
+		}
+		public function set distance(v : Number) : void
+		{
+			_distance = v;
+		}
+
+		public function get theta() : Number
+		{
+			return _theta;
+		}
+		public function set theta(v : Number) : void
+		{
+			_theta = v;
+		}
+
+		public function get phi() : Number
+		{
+			return _phi;
+		}
+		public function set phi(v : Number)	: void
+		{
+			_phi = v;
+		}
+
+		public function get lookAt() : Vector4
+		{
+			return _lookAt;
+		}
+
+		public function get up() : Vector4
+		{
+			return _up;
+		}
+
+		public function get minDistance() : Number
+		{
+			return _minDistance;
+		}
+		public function set minDistance(v : Number)	: void
+		{
+			_minDistance = v;
+		}
+
+		public function get maxDistance() : Number
+		{
+			return _maxDistance;
+		}
+		public function set maxDistance(v : Number)	: void
+		{
+			_maxDistance = v;
+		}
+
+		public function get distanceStep() : Number
+		{
+			return _distanceStep;
+		}
+		public function set distanceStep(v : Number) : void
+		{
+			_distanceStep = v;
+		}
+
+		public function get thetaStep() : Number
+		{
+			return _thetaStep;
+		}
+		public function set thetaStep(v : Number) : void
+		{
+			_thetaStep = v;
+		}
+
+		public function get phiStep() : Number
+		{
+			return _phiStep;
+		}
+
+		public function set phiStep(v : Number)	: void
+		{
+			_phiStep = v;
+		}
+
 		public function ArcBallController()
 		{
-			super(null);
+			super();

 			_lookAt.changed.add(updateNextFrameHandler);
 			_up.changed.add(updateNextFrameHandler);
@@ -76,7 +140,8 @@
 			dispatcher.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
 		}

-		override protected function targetAddedHandler(ctrl : EnterFrameController, target : ISceneNode) : void
+		override protected function targetAddedHandler(ctrl 	: EnterFrameController,
+													   target 	: ISceneNode) : void
 		{
 			super.targetAddedHandler(ctrl, target);

@@ -88,13 +153,16 @@
 														   destination	: BitmapData,
 														   time			: Number) : void
 		{
-			//FIXME : find why updates are shifted
-			if (1)//_update)
+			if (_update)
 			{
-				_distance	< _minDistance	&& (_distance = _minDistance);
-				_distance	> _maxDistance	&& (_distance = _maxDistance);
-				_phi	 	<= 0.1			&& (_phi = 0.1);
-				_phi		> Math.PI - 0.1	&& (_phi = Math.PI - 0.1);
+				if (_distance < _minDistance)
+					_distance = _minDistance;
+				if (_distance > _maxDistance)
+					_distance = _maxDistance;
+				if (_phi <= EPSILON)
+					_phi = EPSILON;
+				if (_phi > Math.PI - EPSILON)
+					_phi = Math.PI - EPSILON;

 				_position.set(
 					_distance * Math.cos(_theta) * Math.sin(_phi) + _lookAt.x,
@@ -123,8 +191,8 @@
 			// compute position
 			if (e.buttonDown)
 			{
-				_theta	+= (_mousePosition.x - e.stageX) / 100;
-				_phi	+= (_mousePosition.y - e.stageY) / 100;
+				_theta	+= (_mousePosition.x - e.stageX) / 100.0;
+				_phi	+= (_mousePosition.y - e.stageY) / 100.0;

 				_update = true;
 			}


Add extra fence for type safety on stump jump arrays

--- as3/xobjas3/src/com/rpath/xobj/XObjXMLDecoder.as
+++ as3/xobjas3/src/com/rpath/xobj/XObjXMLDecoder.as
@@ -708,7 +708,20 @@
                                 }
                                 else
                                 {
-                                    result[propertyName] = [result[propertyName]];
+                                    try
+                                    {
+                                        result[propertyName] = [result[propertyName]];
+                                    }
+                                    catch (e:TypeError)
+                                    {
+                                        if (e.errorID == 1034)
+                                        {// must be a non-array thingy. IGNORE
+                                            trace("Ignoring TypeError on promote to Array on" + propertyName);
+                                        }
+                                        else
+                                            throw e;
+
+                                    }
                                 }
                             }
                             partObj = null; // we need a fresh object next element


renamed some variables and reorganized code

Change-Id: Ib82d7d32b8db59c88095e492f79f3b8f31c10ccb


XIFF-92: Not so incomplete as this is as far as it goes.

--- src/org/igniterealtime/xiff/data/si/FileTransferExtension.as
+++ src/org/igniterealtime/xiff/data/si/FileTransferExtension.as
@@ -30,8 +30,6 @@
 	import org.igniterealtime.xiff.util.DateTimeParser;

 	/**
-	 * INCOMPLETE
-	 *
 	 * XEP-0096: SI File Transfer.
 	 *
 	 *
To be used within XEP-0095: Stream Initiation


Transferred from the Adobe Open Source Subversion Repository

Revision: 8319
Author:   srahim@adobe.com
Date:     2009-06-26T18:15:52.100805Z

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

QE Notes: None
Doc Notes: None
Bugs: -
Checkintests: passed

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
@@ -135,12 +135,65 @@
  *  The ButtonBase component is the base class for the all Spark button components.
  *  Button and ToggleButtonBase are subclasses of ButtonBase.
  *  ToggleButton, CheckBox and RadioButton are subclasses of ToggleButtonBase.
+ *
+ *  @mxml
  *
- *  @see mx.components.Button
+ *
The <ButtonBase> tag inherits all of the tag
+ *  attributes of its superclass and adds the following tag attributes:

+ *
+ *

+ *  <ButtonBase
+ *    Properties
+ *    autoRepeat="false"
+ *    content="null"
+ *    label=""
+ *    stickyHighlighting="false"
+ *
+ *    Events
+ *    buttonDown="No default"
+ *
+ *    Styles
+ *    alignmentBaseline="USE_DOMINANT_BASELINE"
+ *    baselineShift="0.0"
+ *    breakOpportunity="AUTO"
+ *    cffHinting="HORIZONTAL_STEM"
+ *    color="0"
+ *    digitCase="DEFAULT"
+ *    digitWidth="DEFAULT"
+ *    direction="LTR"
+ *    dominantBaseline="AUTO"
+ *    focusColor=""
+ *    fontFamily="Times New Roman"
+ *    fontLookup="DEVICE"
+ *    fontSize="12"
+ *    fontStyle="NORMAL"
+ *    fontWeight="NORMAL"
+ *    justificationRule="AUTO"
+ *    justificationStyle="AUTO"
+ *    kerning="AUTO"
+ *    ligatureLevel="COMMON"
+ *    lineHeight="120%"
+ *    lineThrough="false"
+ *    locale="en"
+ *    renderingMode="CFF"
+ *    repeatDelay="500"
+ *    repeatInterval="35"
+ *    textAlign="START"
+ *    textAlignLast="START"
+ *    textAlpha="1"
+ *    textDecoration="NONE"
+ *    textJustify="INTER_WORD"
+ *    trackingLeft="0"
+ *    trackingRight="0"
+ *    typographicCase="DEFAULT"
+ *  />
+ *

+ *
+ *  @see spark.components.Button
  *  @see spark.components.supportClasses.ToggleButtonBase
- *  @see mx.components.ToggleButton
- *  @see mx.components.CheckBox
- *  @see mx.components.RadioButton
+ *  @see spark.components.ToggleButton
+ *  @see spark.components.CheckBox
+ *  @see spark.components.RadioButton
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


_librariesGrid -> _flashDocsGrid

_librariesGrid -> _flashDocsGrid

--- exporter/src/main/as/flump/export/ExporterController.as
+++ exporter/src/main/as/flump/export/ExporterController.as
@@ -2,10 +2,6 @@
 // Flump - Copyright 2012 Three Rings Design

 package flump.export {
-
-import com.threerings.util.F;
-import com.threerings.util.Log;
-import com.threerings.util.StringUtil;

 import flash.desktop.NativeApplication;
 import flash.display.NativeMenu;
@@ -33,6 +29,10 @@

 import starling.display.Sprite;

+import com.threerings.util.F;
+import com.threerings.util.Log;
+import com.threerings.util.StringUtil;
+
 public class ExporterController
 {
     public static const NA :NativeApplication = NativeApplication.nativeApplication;
@@ -41,7 +41,7 @@
         Log.setLevel("", Log.INFO);
         _win = win;
         _errorsGrid = _win.errors;
-        _librariesGrid = _win.libraries;
+        _flashDocsGrid = _win.libraries;

         if (FlumpSettings.hasConfigFilePath) {
             _confFile = new File(FlumpSettings.configFilePath);
@@ -49,14 +49,14 @@
         }

         var curSelection :DocStatus = null;
-        _librariesGrid.addEventListener(GridSelectionEvent.SELECTION_CHANGE, function (..._) :void {
-            log.info("Changed", "selected", _librariesGrid.selectedIndices);
+        _flashDocsGrid.addEventListener(GridSelectionEvent.SELECTION_CHANGE, function (..._) :void {
+            log.info("Changed", "selected", _flashDocsGrid.selectedIndices);
             updatePreviewAndExport();

             if (curSelection != null) {
                 curSelection.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, updatePreviewAndExport);
             }
-            var newSelection :DocStatus = _librariesGrid.selectedItem as DocStatus;
+            var newSelection :DocStatus = _flashDocsGrid.selectedItem as DocStatus;
             if (newSelection != null) {
                 newSelection.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, updatePreviewAndExport);
             }
@@ -64,12 +64,12 @@
         });
         _win.reload.addEventListener(MouseEvent.CLICK, F.callback(reloadNow));
         _win.export.addEventListener(MouseEvent.CLICK, function (..._) :void {
-            for each (var status :DocStatus in _librariesGrid.selectedItems) {
+            for each (var status :DocStatus in _flashDocsGrid.selectedItems) {
                 exportFlashDocument(status);
             }
         });
         _win.preview.addEventListener(MouseEvent.CLICK, function (..._) :void {
-            showPreviewWindow(_librariesGrid.selectedItem.lib);
+            showPreviewWindow(_flashDocsGrid.selectedItem.lib);
         });
         _importChooser = new DirChooser(null, _win.importRoot, _win.browseImport);
         _importChooser.changed.add(setImport);
@@ -233,12 +233,12 @@
     }

     protected function updatePreviewAndExport (..._) :void {
-        _win.export.enabled = _exportChooser.dir != null && _librariesGrid.selectionLength > 0 &&
-            _librariesGrid.selectedItems.some(function (status :DocStatus, ..._) :Boolean {
+        _win.export.enabled = _exportChooser.dir != null && _flashDocsGrid.selectionLength > 0 &&
+            _flashDocsGrid.selectedItems.some(function (status :DocStatus, ..._) :Boolean {
                 return status.isValid;
             });

-        var status :DocStatus = _librariesGrid.selectedItem as DocStatus;
+        var status :DocStatus = _flashDocsGrid.selectedItem as DocStatus;
         _win.preview.enabled = status != null && status.isValid;

         if (_exportChooser.dir == null) return;
@@ -256,7 +256,7 @@
     }

     protected function setImport (root :File) :void {
-        _librariesGrid.dataProvider.removeAll();
+        _flashDocsGrid.dataProvider.removeAll();
         _errorsGrid.dataProvider.removeAll();
         if (root == null) return;
         _rootLen = root.nativePath.length + 1;
@@ -298,10 +298,6 @@
             window.visible = false;
         });
     }
-
-    protected var _previewController :PreviewController;
-    protected var _previewWindow :PreviewWindow;
-    protected var _previewControls :PreviewControlsWindow;

     protected function findFlashDocuments (base :File, exec :Executor,
         ignoreXflAtBase :Boolean = false) :void {
@@ -357,7 +353,7 @@
         }

         const status :DocStatus = new DocStatus(name, _rootLen, Ternary.UNKNOWN, Ternary.UNKNOWN, null);
-        _librariesGrid.dataProvider.addItem(status);
+        _flashDocsGrid.dataProvider.addItem(status);

         load.succeeded.add(function (lib :XflLibrary) :void {
             status.lib = lib;
@@ -376,7 +372,7 @@

     protected var _docFinder :Executor;
     protected var _win :ExporterWindow;
-    protected var _librariesGrid :DataGrid;
+    protected var _flashDocsGrid :DataGrid;
     protected var _errorsGrid :DataGrid;
     protected var _exportChooser :DirChooser;
     protected var _importChooser :DirChooser;
@@ -384,6 +380,10 @@
     protected var _conf :FlumpConf = new FlumpConf();
     protected var _confFile :File;

+    protected var _previewController :PreviewController;
+    protected var _previewWindow :PreviewWindow;
+    protected var _previewControls :PreviewControlsWindow;
+
     private static const log :Log = Log.getLog(ExporterController);
 }
 }


Remove compiler warning

Remove compiler warning

--- frameworks/projects/framework/src/mx/binding/Binding.as
+++ frameworks/projects/framework/src/mx/binding/Binding.as
@@ -292,7 +292,7 @@
         {
             element = element[chain[i++]];
             //if the element does not exist : avoid exception as it's heavy on memory allocations
-            if(element == null || element == undefined) {
+            if (element == null) {
                 destFuncFailed = true;
                 if (BindingManager.debugDestinationStrings[destString])
                 {


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

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

 package mx.core
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 14421
Author:   cframpto@adobe.com
Date:     2010-02-25T17:58:57.809794Z

Log Message:
-----------
Merge from 4.x mirroring PARB changes 14331, 14337, 14338.
Merge 14401 to fix clipping issue for right-aligned RichEditableText which had x < 0.
Merge 14402 to fix textAlignment issues for text with direction="rtl" for UIFTETextField and UITextField.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UIFTETextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/FTETextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/spark/src/mx/core/UIFTETextField.as
+++ frameworks/projects/spark/src/mx/core/UIFTETextField.as
@@ -2142,7 +2142,10 @@
         if (!isNaN(explicitHeight) && super.height != explicitHeight)
             super.height = explicitHeight;

-        // Update transform.matrix to compensate for layout mirroring
+        // If ancestor is mirroring, need to flip this so it is not
+        // mirroring, by updating transform.matrix to compenstate for layout
+        // mirroring.  layoutDirection should not be set directly on
+        // UIFTETextField.
         if (styleChangedFlag)
         {
             const oldMirror:Boolean = mirror;
@@ -2249,10 +2252,10 @@
         var textAlign:String = getStyle("textAlign");
         // Map new Spark values that might be set in a selector
 		// affecting both Halo and Spark components.
-        if (textAlign == "start")
-            textAlign = TextFormatAlign.LEFT;
+        if (textAlign == "start")
+            textAlign = direction == "ltr" ? TextFormatAlign.LEFT : TextFormatAlign.RIGHT;
         else if (textAlign == "end")
-            textAlign = TextFormatAlign.RIGHT;
+            textAlign = direction == "ltr" ? TextFormatAlign.RIGHT : TextFormatAlign.LEFT;
         textFormat.align = textAlign;
         textFormat.bold = getStyle("fontWeight") == "bold";
         if (enabled)


Transferred from the Adobe Open Source Subversion Repository

Revision: 22519
Author:   tkraikit@adobe.com
Date:     2011-09-12T23:39:55.904196Z

Log Message:
-----------
minDate and maxDate setters were not handling null input correctly after the switch to copying the input Date parameters

QE notes: make sure to test scenarios where maxDate/minDate are set, and then set to null to clear their values
Doc notes: no
Bugs: n/a
Reviewer: jszeto
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as

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

--- frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as
+++ frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as
@@ -496,7 +496,7 @@
             || (_maxDate == null && value == null))
             return;

-        _maxDate = new Date(value.time);
+        _maxDate = value != null ? new Date(value.time) : value;
         populateYearDataProvider = true;
         populateDateDataProvider = true;
         maxDateChanged = true;
@@ -541,7 +541,7 @@
             || (_minDate == null && value == null))
             return;

-        _minDate = new Date(value.time);
+        _minDate = value != null ? new Date(value.time) : value;
         populateYearDataProvider = true;
         populateDateDataProvider = true;
         minDateChanged = true;
@@ -1213,6 +1213,9 @@
         var labelWidth:Number;
         for (var i:int = 0; i < list.length; i++)
         {
+            // note: measureText() measures UITextField while our labels will be
+            // shown in StyleableTextField, but that's okay because we're only
+            // looking for the text that is relatively longest in the list
             labelWidth = measureText(list[i].label).width;
             if (labelWidth > maxWidth)
             {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17107
Author:   aharui@adobe.com
Date:     2010-07-28T22:56:52.689490Z

Log Message:
-----------
Merge 16736 from 3.x to Hero

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/ListItemDragProxy.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridDragProxy.as</path>

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as
@@ -479,6 +479,8 @@
             }

         }
+		else
+			hasComplexFieldName = false;

         if (owner)
             owner.invalidateList();


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

--- frameworks/projects/mx/src/mx/styles/metadata/ModalTransparencyStyles.as
+++ frameworks/projects/mx/src/mx/styles/metadata/ModalTransparencyStyles.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2006 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -1933,13 +1933,6 @@

         element.visible = false;

-        // Reset GridItemRenderers back to (0,0), otherwise when the element is reused
-        // it will be validated at its last layout size which causes problems with
-        // text reflow.
-
-        if (element is GridItemRenderer)
-            element.setLayoutBoundsSize(0, 0, false);
-
         const factory:IFactory = elementToFactoryMap[element];
         if (!factory)
             return false;


Transferred from the Adobe Open Source Subversion Repository

Revision: 17168
Author:   hmuller@adobe.com
Date:     2010-08-03T18:34:03.358152Z

Log Message:
-----------
Initialize the Grid columns property at commitProperties() time if necessary.

Added a note to the columns ASDoc about not supporting columns that appear more than once.

QE notes: DataGrid
Doc notes:
Bugs: SDK-26828
Reviewer: Carol
Tests run: DataGrid cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridDimensions.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -233,9 +233,9 @@

         layoutColumns(horizontalScrollPosition, verticalScrollPosition, NaN /* width */);

-        var measuredWidth:Number = gridDimensions.getContentWidth(grid.requestedColumnCount);
+        var measuredWidth:Number = gridDimensions.getTypicalContentWidth(grid.requestedColumnCount);
         var measuredHeight:Number = gridDimensions.getContentHeight(grid.requestedRowCount);
-		var measuredMinWidth:Number = gridDimensions.getContentHeight(grid.requestedMinColumnCount);
+		var measuredMinWidth:Number = gridDimensions.getTypicalContentWidth(grid.requestedMinColumnCount);
 		var measuredMinHeight:Number = gridDimensions.getContentHeight(grid.requestedMinRowCount);

         // Use Math.ceil() to make sure that if the content partially occupies


FLEX-33879 fix scrolling issue

FLEX-33879 fix scrolling issue

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
@@ -1549,16 +1549,14 @@
             else if (!isNaN(rightOffset))
                 dx = dxr - rightOffset;

-            // scrollR "contains"  elementR in just one dimension
             if ((elementR.left >= scrollR.left) && (elementR.right <= scrollR.right))
                 dx = 0;
-            else if ((elementR.bottom <= scrollR.bottom) && (elementR.top >= scrollR.top))
+            if ((elementR.bottom <= scrollR.bottom) && (elementR.top >= scrollR.top))
                 dy = 0;

-            // elementR "contains" scrollR in just one dimension
             if ((elementR.left <= scrollR.left) && (elementR.right >= scrollR.right))
                 dx = 0;
-            else if ((elementR.bottom >= scrollR.bottom) && (elementR.top <= scrollR.top))
+            if ((elementR.bottom >= scrollR.bottom) && (elementR.top <= scrollR.top))
                 dy = 0;
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20020
Author:   klin@adobe.com
Date:     2011-01-31T21:20:57.777154Z

Log Message:
-----------
Add mx_internal virtualLayoutSupported to layouts. By default, this flag is set to true. In BasicLayout, it is set to false. List checks this flag to prevent setting "useVirtualLayout" when the layout does not support virtualization. Fixes runtime error issues for tools.

QE notes: No
Doc notes: No
Bugs: SDK-25409
Reviewer: Evtim, Hans, Glenn
Tests run: cyclone server, checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
@@ -227,7 +227,7 @@
         _useVirtualLayout = value;
         if (target)
             target.invalidateDisplayList();
-    }
+    }

     /**
      *  When useVirtualLayout is true,
@@ -251,6 +251,16 @@
      */
     public function clearVirtualLayoutCache():void
     {
+    }
+
+    /**
+     *  Specifies whether this layout supports virtual layout.
+     *
+     *  @default true
+     */
+    mx_internal function get virtualLayoutSupported():Boolean
+    {
+        return true;
     }

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


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

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

 package mx.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5393
Author:   rfrishbe@adobe.com
Date:     2009-03-18T17:43:37.919635Z

Log Message:
-----------
For item renderers, we weren't correctly parsing the color name for alternatingItemColor.

Also, in VGroup/HGroup, we ended up allocating 2 different layout objects.  Now, we only allocate one of them because the GroupBase constructor takes an optional layout parameter.

QE Notes: -
Doc Notes: -
Bugs: SDK-19486, SDK-19976
Reviewer: Deepa
tests: checkintests, datagroup, group, fxdatacontainer, list (some failed, but qa has approved me as they must be Mac issues)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -11,15 +11,14 @@

 package mx.components
 {
-import flash.display.DisplayObjectContainer;
+import flash.display.DisplayObjectContainer;
 import flash.events.Event;
 import flash.events.MouseEvent;
 import flash.geom.Point;

 import mx.core.mx_internal;
-import mx.components.IItemRenderer;
-import mx.components.IItemRendererOwner;
 import mx.graphics.baseClasses.TextGraphicElement;
+import mx.styles.StyleManager;

 /**
  *  The ItemRenderer class is the base class for Spark item renderers.
@@ -59,9 +58,12 @@
     {
         var alternatingColors:Array = getStyle("alternatingItemColors");

-        if (alternatingColors)
+        if (alternatingColors && alternatingColors.length > 0)
         {
             var idx:int;
+
+            // translate these colors into uints
+            StyleManager.getColorNames(alternatingColors);

             if (parent is DataGroup)
                 idx = DataGroup(parent).dataProvider.getItemIndex(data);


Transferred from the Adobe Open Source Subversion Repository

Revision: 4337
Author:   egeorgie@adobe.com
Date:     2008-12-17T01:41:36.131845Z

Log Message:
-----------
ILayoutElement methods renames

Interface ILayoutElement
{
getLayoutWidth -> getLayoutBoundsWidth
getLayoutHeight -> getLayoutBoundsHeight
getLayoutPositionX -> getLayoutBoundsX
getLayoutPositionY -> getLayoutBoundsY
setLayoutSize -> setLayoutBoundsSize
setLayoutPosition -> setLayoutBoundsPosition
getPreferredWidth -> getPreferredBoundsWidth
getPreferredHeight -> getPreferredBoundsHeight
getMinWidth -> getMinBoundsWidth
getMinHeight -> getMinBoundsHeight
getMaxWidth -> getMaxBoundsWidth
getMaxHeight -> getMaxBoundsHeight

…unrelated stuff…
}

Reviewed by Gordon

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/mx/layout/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/graphics/GraphicTags_checkintests.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
@@ -658,10 +658,10 @@
                 var layoutElement:ILayoutElement = LayoutElementFactory.getLayoutElementFor(target);
                 var parentW:int = 0;
                 var parentH:int = 0;
-                var targetX:Number = layoutElement.getLayoutPositionX();
-                var targetY:Number = layoutElement.getLayoutPositionY();
-                var targetW:Number = layoutElement.getLayoutWidth();
-                var targetH:Number = layoutElement.getLayoutHeight();
+                var targetX:Number = layoutElement.getLayoutBoundsX();
+                var targetY:Number = layoutElement.getLayoutBoundsY();
+                var targetW:Number = layoutElement.getLayoutBoundsWidth();
+                var targetH:Number = layoutElement.getLayoutBoundsHeight();

                 // For 'bottom' or 'verticalCenter' we need the parent height
                 if (constraintsHolder["bottom"] !== undefined ||


insert methods

insert methods

--- frameworks/projects/XML/as/src/XML.as
+++ frameworks/projects/XML/as/src/XML.as
@@ -961,6 +961,15 @@
 			return _namespaces.slice();
 		}

+		private function insertChildAt(child:XML,idx:int):void{
+			if(!child)
+				return;
+			var parent:XML = child.parent();
+			if(parent)
+				parent.removeChild(child);
+			child.setParent(this);
+			_children.splice(idx,0,child);
+		}
 		/**
 		 * Inserts the given child2 parameter after the child1 parameter in this XML object and returns the resulting object.
 		 *
@@ -969,9 +978,32 @@
 		 * @return
 		 *
 		 */
-		public function insertChildAfter(child1:Object, child2:Object):*
-		{
-			return null;
+		public function insertChildAfter(child1:Object, child2:Object):XML
+		{
+			/*
+				When the insertChildAfter method is called on an XML object x with parameters child1 and child2, the following steps are taken:
+				1. If x.[[Class]] ∈ {"text", "comment", "processing-instruction", "attribute"}, return
+				2. If (child1 == null)
+				a. Call the [[Insert]] method of x with arguments "0" and child2
+				b. Return x
+				3. Else if Type(child1) is XML
+				a. For i = 0 to x.[[Length]]-1
+				i. If x[i] is the same object as child1
+				1. Call the [[Insert]] method of x with a
+			*/
+			if(_nodeKind == "text" || _nodeKind == "comment" || _nodeKind == "processing-instruction" || _nodeKind == "attribute")
+				return null;
+			if(!child1)
+			{
+				insertChildAt(child2,0);
+				return child2;
+			}
+			var idx:int = _children.indexOf(child1);
+			if(idx >= 0)
+			{
+				insertChildAt(child2,idx+1);
+			}
+			return child2;
 		}

 		/**
@@ -982,9 +1014,34 @@
 		 * @return
 		 *
 		 */
-		public function insertChildBefore(child1:Object, child2:Object):*
-		{
-			return null;
+		public function insertChildBefore(child1:Object, child2:Object):XML
+		{
+			/*
+				When the insertChildBefore method is called on an XML object x with parameters child1 and child2, the following steps are taken:
+				1. If x.[[Class]] ∈ {"text", "comment", "processing-instruction", "attribute"}, return
+				2. If (child1 == null)
+				a. Call the [[Insert]] method of x with arguments ToString(x.[[Length]]) and child2
+				b. Return x
+				3. Else if Type(child1) is XML
+				a. For i = 0 to x.[[Length]]-1
+				i. If x[i] is the same object as child1
+				1. Call the [[Insert]] method of x with arguments ToString(i) and child2
+				2. Return x
+				4. Return
+			*/
+			if(_nodeKind == "text" || _nodeKind == "comment" || _nodeKind == "processing-instruction" || _nodeKind == "attribute")
+				return null;
+			if(!child1)
+			{
+				insertChildAt(child2,_children.length);
+				return child2;
+			}
+			var idx:int = _children.indexOf(child1);
+			if(idx >= 0)
+			{
+				insertChildAt(child2,idx);
+			}
+			return child2;
 		}

 		/**


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

--- frameworks/projects/airframework/src/mx/controls/HTML.as
+++ frameworks/projects/airframework/src/mx/controls/HTML.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2006-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.controls
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -11426,10 +11426,10 @@
         if (obj == null)
             obj = new classObj();

-        // If we just created a UITLFTextField, set its textLineCreator property
+        // If we just created a UITLFTextField, set its fontContext property
         // so that it knows what module to use for creating its TextLines.
         if (className == "mx.core::UIFTETextField")
-            obj.textLineCreator = moduleContext;
+            obj.fontContext = moduleContext;

         return obj;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 7743
Author:   clucier@adobe.com
Date:     2009-06-11T13:53:10.203664Z

Log Message:
-----------
Moving away from using namespace qualifiers in most cases in the SDK.  We've run into a few cases now where the use of qualifiers in code that is called excessively can slow things down.
Bugs: SDK-21337
Reviewer: Ryan, Paul
QE Notes: None
Tests: Ran several random Mustella test groups, checkintests.

Modified Paths:
--------------
106 paths were modified

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

--- frameworks/projects/mx/src/mx/containers/VBox.as
+++ frameworks/projects/mx/src/mx/containers/VBox.as
@@ -11,6 +11,8 @@

 package mx.containers
 {
+import mx.core.mx_internal;
+use namespace mx_internal;

 //--------------------------------------
 //  Excluded APIs
@@ -103,7 +105,7 @@
     {
         super();

-        mx_internal::layoutObject.direction = BoxDirection.VERTICAL;
+        layoutObject.direction = BoxDirection.VERTICAL;
     }

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


p0 is always (0, 0).

p0 is always (0, 0).

--- exporter/src/main/as/flump/xfl/XflKeyframe.as
+++ exporter/src/main/as/flump/xfl/XflKeyframe.as
@@ -61,21 +61,15 @@
             var rewound :Matrix = matrix.clone();
             rewound.tx = rewound.ty = 0;

-            var p0 :Point = rewound.transformPoint(new Point(0, 0));
-            var p1 :Point = rewound.transformPoint(new Point(1, 0));
-            kf.rotation = Math.atan2(p1.y - p0.y, p1.x - p0.x);
+            var p :Point = rewound.transformPoint(new Point(1, 0));
+            kf.rotation = Math.atan2(p.y, p.x);

             // Back out of rotation
             rewound.rotate(-kf.rotation);

-            p0 = rewound.transformPoint(new Point(0, 0));
-            p1 = rewound.transformPoint(new Point(1, 1));
-
-            kf.scaleX = p1.x - p0.x;
-            kf.scaleY = p1.y - p0.y;
-
-            // var skewX :Number = p1.x - 1;
-            // var skewY :Number = p1.y - 1;
+            p = rewound.transformPoint(new Point(1, 1));
+            kf.scaleX = p.x;
+            kf.scaleY = p.y;
         }

         // Read the pivot point


Fix for issue FLEX-34320

Fix for issue FLEX-34320

--- frameworks/projects/framework/src/mx/collections/Sort.as
+++ frameworks/projects/framework/src/mx/collections/Sort.as
@@ -392,23 +392,27 @@
         {
             compareForFind = this.compareFunction;
             // configure the search criteria
-            if (values && fieldList.length > 0)
+				if (values && fields.length > 0)
             {
                 fieldsForCompare = [];
                 //build up the fields we can compare, if we skip a field in the
                 //middle throw an error.  it is ok to not have all the fields
                 //though
-                var fieldName:String;
+					var field:ISortField;
                 var hadPreviousFieldName:Boolean = true;
-                for (var i:int = 0; i < fieldList.length; i++)
+					for (var i:int = 0; i < fields.length; i++)
                 {
-                    fieldName = fieldList[i];
-                    if (fieldName)
+						field = fields[i];
+						if (field)
                     {
                         var hasFieldName:Boolean = false;
 						try
                         {
-                            hasFieldName = values[fieldName] !== undefined;
+								hasFieldName = field.compareFunction != null;
+
+								if ( !hasFieldName ) {
+									hasFieldName = values[field.name] !== undefined;
+								}
                         }
                         catch(e:Error)
                         {
@@ -418,12 +422,12 @@
                             if (!hadPreviousFieldName)
                             {
                                 message = resourceManager.getString(
-                                    "collections", "findCondition", [ fieldName ]);
+										"collections", "findCondition", [ field.name ]);
                                 throw new SortError(message);
                             }
                             else
                             {
-                                fieldsForCompare.push(fieldName);
+									fieldsForCompare.push(field);
                             }
                         }
                         else


Transferred from the Adobe Open Source Subversion Repository

Revision: 12339
Author:   clucier@adobe.com
Date:     2009-12-01T22:28:31.107685Z

Log Message:
-----------
Reducing some of the event dispatching noise in the SDK.  Seeing pretty good results in our runtime performance tests and startup times... 5%-15% improvement over all.  This is about all we'll be able to commit to for Flex 4.0.  Added hasEventListener test before dispatching more of our lifecycle events.  Modified compiler binding code-gen to do the same.  Documented all public facing events where applicable to denote that they are no longer capturable by default.

QE notes: No
Doc notes: No
Bugs: SDK-24249
Reviewer: Alex
Tests run: Mustella, Checkin
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/BorderContainerSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColor.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/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ChildManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientEntry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/State.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/BindableSecondPassEvaluator.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/BindableProperty.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -114,6 +114,9 @@
  *  using the rawChildren.addChild() or
  *  rawChildren.addChildAt() method, the event is not dispatched.
  *
+ *
This event will only be dispatched when there are one or more relevant listeners
+ * attached to the dispatching object.

+ *
  *  @eventType mx.events.FlexEvent.ADD
  *
  *  @langversion 3.0
@@ -129,6 +132,9 @@
  *
  *
At this point, depending on its visible property,
  *  the component may not be visible even though it has been drawn.

+ *
+ *
This event will only be dispatched when there are one or more
+ *  relevant listeners attached to the dispatching object.

  *
  *  @eventType mx.events.FlexEvent.CREATION_COMPLETE
  *
@@ -148,6 +154,9 @@
  *  displayed. All properties have been committed and the component has
  *  been measured and layed out.

  *
+ *
This event will only be dispatched when there are one or more
+ *  relevant listeners attached to the dispatching object.

+ *
  *  @eventType mx.events.FlexEvent.UPDATE_COMPLETE
  *
  *  @langversion 3.0
@@ -177,6 +186,9 @@
  *  is measured, laid out, and drawn, after which the
  *  creationComplete event is dispatched.

  *
+ *
This event will only be dispatched when there are one or more
+ *  relevant listeners attached to the dispatching object.

+ *
  *  @eventType mx.events.FlexEvent.INITIALIZE
  *
  *  @langversion 3.0
@@ -210,6 +222,9 @@
  *  In all other situations, the move event is not dispatched
  *  until after the property changes.

  *
+ *
This event will only be dispatched when there are one or more
+ *  relevant listeners attached to the dispatching object.

+ *
  *  @eventType mx.events.MoveEvent.MOVE
  *
  *  @langversion 3.0
@@ -229,6 +244,9 @@
  *  the children, including the internal children, of a component
  *  have not yet been created.
  *
+ *
This event will only be dispatched when there are one or more
+ *  relevant listeners attached to the dispatching object.

+ *
  *  @eventType mx.events.FlexEvent.PREINITIALIZE
  *
  *  @langversion 3.0
@@ -246,6 +264,9 @@
  *  using the rawChildren.removeChild() or
  *  rawChildren.removeChildAt() method, the event is not dispatched.
  *
+ *
This event will only be dispatched when there are one or more relevant listeners
+ * attached to the dispatching object.

+ *
  *  @eventType mx.events.FlexEvent.REMOVE
  *
  *  @langversion 3.0
@@ -276,6 +297,9 @@
  *
  *
The resize event is not
  *  dispatched until after the property changes.

+ *
+ *
This event will only be dispatched when there are one or more
+ *  relevant listeners attached to the dispatching object.

  *
  *  @eventType mx.events.ResizeEvent.RESIZE
  *
@@ -617,6 +641,9 @@
 /**
  *  Dispatched after the currentState property changes,
  *  but before the view state changes.
+ *
+ *
This event will only be dispatched when there are one or more
+ *  relevant listeners attached to the dispatching object.

  *
  *  @eventType mx.events.StateChangeEvent.CURRENT_STATE_CHANGING
  *
@@ -629,6 +656,9 @@

 /**
  *  Dispatched after the view state has changed.
+ *
+ *
This event will only be dispatched when there are one or more
+ *  relevant listeners attached to the dispatching object.

  *
  *  @eventType mx.events.StateChangeEvent.CURRENT_STATE_CHANGE
  *
@@ -641,6 +671,9 @@

 /**
  *  Dispatched after the component has entered a view state.
+ *
+ *
This event will only be dispatched when there are one or more
+ *  relevant listeners attached to the dispatching object.

  *
  *  @eventType mx.events.FlexEvent.ENTER_STATE
  *
@@ -653,6 +686,9 @@

 /**
  *  Dispatched just before the component exits a view state.
+ *
+ *
This event will only be dispatched when there are one or more
+ *  relevant listeners attached to the dispatching object.

  *
  *  @eventType mx.events.FlexEvent.EXIT_STATE
  *
@@ -1547,7 +1583,8 @@
         {
             setVisible(_visible, true);

-            dispatchEvent(new FlexEvent(FlexEvent.CREATION_COMPLETE));
+            if (hasEventListener(FlexEvent.CREATION_COMPLETE))
+                dispatchEvent(new FlexEvent(FlexEvent.CREATION_COMPLETE));
         }
     }

@@ -1599,7 +1636,7 @@
     {
         _processedDescriptors = value;

-        if (value)
+        if (value && hasEventListener(FlexEvent.INITIALIZE))
             dispatchEvent(new FlexEvent(FlexEvent.INITIALIZE));
     }

@@ -2107,7 +2144,8 @@

         invalidateProperties();

-        dispatchEvent(new Event("xChanged"));
+        if (hasEventListener("xChanged"))
+            dispatchEvent(new Event("xChanged"));
     }

     [Bindable("zChanged")]
@@ -2145,7 +2183,9 @@
         invalidateProperties();
         if (was3D != is3D)
             validateMatrix();
-        dispatchEvent(new Event("zChanged"));
+
+        if (hasEventListener("zChanged"))
+            dispatchEvent(new Event("zChanged"));
     }

     /**
@@ -2481,7 +2521,8 @@
         }
         invalidateProperties();

-        dispatchEvent(new Event("yChanged"));
+        if (hasEventListener("yChanged"))
+            dispatchEvent(new Event("yChanged"));
     }

     //----------------------------------
@@ -2553,7 +2594,8 @@

             _width = value;

-            dispatchEvent(new Event("widthChanged"));
+            if (hasEventListener("widthChanged"))
+                dispatchEvent(new Event("widthChanged"));
         }
     }

@@ -2625,7 +2667,8 @@

             _height = value;

-            dispatchEvent(new Event("heightChanged"));
+            if (hasEventListener("heightChanged"))
+                dispatchEvent(new Event("heightChanged"));
         }
     }

@@ -7167,7 +7210,8 @@
         // affect child creation.
         // Note that this implies that "preinitialize" handlers are called
         // top-down; i.e., parents before children.
-        dispatchEvent(new FlexEvent(FlexEvent.PREINITIALIZE));
+        if (hasEventListener(FlexEvent.PREINITIALIZE))
+            dispatchEvent(new FlexEvent(FlexEvent.PREINITIALIZE));

         // Create child objects.
         createChildren();
@@ -7521,9 +7565,15 @@
     {
         StyleProtoChain.styleChanged(this, styleProp);
         if (styleProp && (styleProp != "styleName"))
-            dispatchEvent(new Event(styleProp + "Changed"));
-        else
-            dispatchEvent(new Event("allStylesChanged"));
+        {
+            if (hasEventListener(styleProp + "Changed"))
+                dispatchEvent(new Event(styleProp + "Changed"));
+        }
+        else
+        {
+            if (hasEventListener("allStylesChanged"))
+                dispatchEvent(new Event("allStylesChanged"));
+        }
     }

     /**
@@ -9016,8 +9066,9 @@
                 super.x  = x;
             else
                 _layoutFeatures.layoutX = x;
-
-            dispatchEvent(new Event("xChanged"));
+
+            if (hasEventListener("xChanged"))
+                dispatchEvent(new Event("xChanged"));
             changed = true;
         }

@@ -9028,7 +9079,8 @@
             else
                 _layoutFeatures.layoutY = y;

-            dispatchEvent(new Event("yChanged"));
+            if (hasEventListener("yChanged"))
+                dispatchEvent(new Event("yChanged"));
             changed = true;
         }

@@ -9068,14 +9120,16 @@
         if (_width != w)
         {
             _width = w;
-            dispatchEvent(new Event("widthChanged"));
+            if (hasEventListener("widthChanged"))
+                dispatchEvent(new Event("widthChanged"));
             changed = true;
         }

         if (_height != h)
         {
             _height = h;
-            dispatchEvent(new Event("heightChanged"));
+            if (hasEventListener("heightChanged"))
+                dispatchEvent(new Event("heightChanged"));
             changed = true;
         }

@@ -9517,8 +9571,9 @@
     protected function dispatchPropertyChangeEvent(prop:String, oldValue:*,
                                                    value:*):void
     {
-        dispatchEvent(PropertyChangeEvent.createUpdateEvent(
-                            this, prop, oldValue, value));
+        if (hasEventListener("propertyChange"))
+            dispatchEvent(PropertyChangeEvent.createUpdateEvent(
+                this, prop, oldValue, value));
     }

     /**
@@ -9526,10 +9581,13 @@
      */
     private function dispatchMoveEvent():void
     {
-        var moveEvent:MoveEvent = new MoveEvent(MoveEvent.MOVE);
-        moveEvent.oldX = oldX;
-        moveEvent.oldY = oldY;
-        dispatchEvent(moveEvent);
+        if (hasEventListener(MoveEvent.MOVE))
+        {
+            var moveEvent:MoveEvent = new MoveEvent(MoveEvent.MOVE);
+            moveEvent.oldX = oldX;
+            moveEvent.oldY = oldY;
+            dispatchEvent(moveEvent);
+        }

         oldX = x;
         oldY = y;
@@ -9540,10 +9598,13 @@
      */
     private function dispatchResizeEvent():void
     {
-        var resizeEvent:ResizeEvent = new ResizeEvent(ResizeEvent.RESIZE);
-        resizeEvent.oldWidth = oldWidth;
-        resizeEvent.oldHeight = oldHeight;
-        dispatchEvent(resizeEvent);
+        if (hasEventListener(ResizeEvent.RESIZE))
+        {
+            var resizeEvent:ResizeEvent = new ResizeEvent(ResizeEvent.RESIZE);
+            resizeEvent.oldWidth = oldWidth;
+            resizeEvent.oldHeight = oldHeight;
+            dispatchEvent(resizeEvent);
+        }

         oldWidth = width;
         oldHeight = height;
@@ -9682,13 +9743,16 @@
             nextTransition.effect.captureStartValues();

         // Dispatch currentStateChanging event
-        event = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGING);
-        event.oldState = oldState;
-        event.newState = requestedCurrentState ? requestedCurrentState : "";
-        dispatchEvent(event);
-
+        if (hasEventListener(StateChangeEvent.CURRENT_STATE_CHANGING))
+        {
+            event = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGING);
+            event.oldState = oldState;
+            event.newState = requestedCurrentState ? requestedCurrentState : "";
+            dispatchEvent(event);
+        }
+
         // If we're leaving the base state, send an exitState event
-        if (isBaseState(_currentState))
+        if (isBaseState(_currentState) && hasEventListener(FlexEvent.EXIT_STATE))
             dispatchEvent(new FlexEvent(FlexEvent.EXIT_STATE));

         // Remove the existing state
@@ -9700,17 +9764,23 @@

         // If we're going back to the base state, dispatch an
         // enter state event, otherwise apply the state.
-        if (isBaseState(currentState))
-            dispatchEvent(new FlexEvent(FlexEvent.ENTER_STATE));
+        if (isBaseState(currentState))
+        {
+            if (hasEventListener(FlexEvent.ENTER_STATE))
+                dispatchEvent(new FlexEvent(FlexEvent.ENTER_STATE));
+        }
         else
             applyState(_currentState, commonBaseState);

         // Dispatch currentStateChange
-        event = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGE);
-        event.oldState = oldState;
-        event.newState = _currentState ? _currentState : "";
-        dispatchEvent(event);
-
+        if (hasEventListener(StateChangeEvent.CURRENT_STATE_CHANGE))
+        {
+            event = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGE);
+            event.oldState = oldState;
+            event.newState = _currentState ? _currentState : "";
+            dispatchEvent(event);
+        }
+
         if (nextTransition)
         {
             // Force a validation before playing the transition effect
@@ -10957,12 +11027,16 @@
                 }

                 r[indices[n - 1]] = this;
-                var event:PropertyChangeEvent =
-                    PropertyChangeEvent.createUpdateEvent(parentDocument,
-                                                          id,
-                                                          parentDocument[id],
-                                                          parentDocument[id]);
-                parentDocument.dispatchEvent(event);
+
+                if (parentDocument.hasEventListener("propertyChange"))
+                {
+                    var event:PropertyChangeEvent =
+                        PropertyChangeEvent.createUpdateEvent(parentDocument,
+                                                            id,
+                                                            parentDocument[id],
+                                                            parentDocument[id]);
+                    parentDocument.dispatchEvent(event);
+                }
             }
         }
     }
@@ -11021,12 +11095,15 @@
                 }
                 else
                 {
-                    var event:PropertyChangeEvent =
-                        PropertyChangeEvent.createUpdateEvent(parentDocument,
-                                                              id,
-                                                              parentDocument[id],
-                                                              parentDocument[id]);
-                    parentDocument.dispatchEvent(event);
+                    if (parentDocument.hasEventListener("propertyChange"))
+                    {
+                        var event:PropertyChangeEvent =
+                            PropertyChangeEvent.createUpdateEvent(parentDocument,
+                                                                id,
+                                                                parentDocument[id],
+                                                                parentDocument[id]);
+                        parentDocument.dispatchEvent(event);
+                    }
                 }
             }
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 2478
Author:   clucier@adobe.com
Date:     2008-07-14T21:57:30.401666Z

Log Message:
-----------
Removed idAssigned dispatching logic.
Bugs: SDK-16023
QA: Yes
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4/.project</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/init/ValueInitializer.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -8398,17 +8398,6 @@
             if (!indices)
             {
                 parentDocument[id] = this;
-
-                // TODO: Determine if we want "idAssigned" to be an event or
-                // callback function. If this is changed, it alse needs to be
-                // updated in:
-                // modules/compiler/src/java/flex2/compiler/mxml/rep/init/ValueInitializer.java
-                var e:PropertyChangeEvent = new PropertyChangeEvent("idAssigned");
-                e.source = parentDocument;
-                e.property = id;
-                e.oldValue = null;
-                e.newValue = this;
-                parentDocument.dispatchEvent(e);
             }
             else
             {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12785
Author:   mhorn@adobe.com
Date:     2009-12-10T15:33:19.460787Z

Log Message:
-----------
asdoc updates for l10n

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/IStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/ImageSnapshot.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/IStroke.as
+++ frameworks/projects/framework/src/mx/graphics/IStroke.as
@@ -85,6 +85,8 @@
      *
      *  @default LineScaleMode.NORMAL
      *
+     *  @see flash.display.LineScaleMode
+     *
      *  @langversion 3.0
      *  @playerversion Flash 9
      *  @playerversion AIR 1.1
@@ -114,9 +116,11 @@
     //----------------------------------

     /**
-     *  Specifies the type of joint appearance used at angles.
+     *  Specifies the appearance of line intersections used at angles.
      *  Valid values are JointStyle.ROUND, JointStyle.MITER,
      *  and JointStyle.BEVEL.
+     *
+     *  @see flash.display.JoingStyle
      *
      *  @langversion 3.0
      *  @playerversion Flash 9


Transferred from the Adobe Open Source Subversion Repository

Revision: 1262
Author:   jimurphy@adobe.com
Date:     2008-04-16T18:53:40.899270Z

Log Message:
-----------
Merged revisions 1219,1241,1261 via svnmerge from
http://opensource.adobe.com/svn/opensource/flex/sdk/branches/3.0.x

........
  r1219 | gosmith@adobe.com | 2008-04-15 14:00:39 -0400 (Tue, 15 Apr 2008) | 1 line

  Fixed a problem with the bin/asdoc tool. asDocHelper and asDocHelper.linux in asdoc/templates need to have the svn:executable property set.
........
  r1241 | genovese@adobe.com | 2008-04-15 21:55:32 -0400 (Tue, 15 Apr 2008) | 1 line

  ASDoc updates, added missing parameter descriptions, etc.
........
  r1261 | mhorn@adobe.com | 2008-04-16 14:38:28 -0400 (Wed, 16 Apr 2008) | 1 line

  bug fix FlexDocs-420
........

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/asdoc/templates/asDocHelper.linux</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/asdoc/templates/asDocHelper</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Consumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/logging/AbstractTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ActionEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MultiTopicConsumer.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/MessageAgent.as
+++ frameworks/projects/rpc/src/mx/messaging/MessageAgent.as
@@ -959,6 +959,9 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     *  @private
+     */
     final protected function assertCredentials(value:String):void
     {
         if (_credentials != null && (_credentials != value))