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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 10872
Author:   cframpto@adobe.com
Date:     2009-10-05T19:39:47.041984Z

Log Message:
-----------
Most changes already approved by PARB and a few are pending.  Given the two reviewers are at MAX and then there is a shutdown week we decided to take a chance that these changes will actually stick.

TLFText.css -> MXFTEText.css
TLFTextField -> FTETextField
UITLFTextField -> UIFTETextField
TLFDataGridItemRenderer -> FTEDataGridItemRenderer
TLFTextInput -> MXFTETextInput

UITextFormat.useTLF -> UITextFormat.useFTE

QE notes:
Doc notes:
Bugs: SDK-22909
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/TLFTextInput.as" copyfrom-rev="10865" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/MXFTETextInput.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UITLFTextField.as" copyfrom-rev="10865" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UIFTETextField.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/TLFTextInput.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/TLFTextField.as" copyfrom-rev="10865" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/FTETextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UITLFTextField.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/dataGridClasses/TLFDataGridItemRenderer.as" copyfrom-rev="10865" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/TextFieldFactory.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/TLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/CSSTextLayoutFormat.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/dataGridClasses/TLFDataGridItemRenderer.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/ITextFieldFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Label.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/TLFText.css" copyfrom-rev="10865" action="A">/flex/sdk/trunk/frameworks/projects/spark/MXFTEText.css</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/TLFText.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as
+++ frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as
@@ -27,7 +27,7 @@
 import mx.core.IToolTip;
 import mx.core.UIComponent;
 import mx.core.UIComponentGlobals;
-import mx.core.UITLFTextField;
+import mx.core.UIFTETextField;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
 import mx.events.InterManagerRequest;
@@ -59,8 +59,8 @@
 [Event(name="dataChange", type="mx.events.FlexEvent")]

 /**
- *  The DataGridItemRenderer class defines the default item renderer for a DataGrid control.
- *  By default, the item renderer
+ *  The FTEDataGridItemRenderer class defines the default item renderer for a
+ *  DataGrid control used with FTEText. By default, the item renderer
  *  draws the text associated with each item in the grid.
  *
  *
You can override the default item renderer by creating a custom item renderer.

@@ -74,7 +74,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-public class TLFDataGridItemRenderer extends UITLFTextField
+public class FTEDataGridItemRenderer extends UIFTETextField
                                   implements IDataRenderer,
                                   IDropInListItemRenderer, ILayoutManagerClient,
                                   IListItemRenderer, IStyleClient
@@ -95,7 +95,7 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function TLFDataGridItemRenderer()
+    public function FTEDataGridItemRenderer()
     {
         super();

@@ -684,7 +684,7 @@

         while (className != null &&
                className != "mx.core.UIComponent" &&
-               className != "mx.core.UITLFTextField")
+               className != "mx.core.UIFTETextField")
         {
             var s:CSSStyleDeclaration =
                 styleManager.getStyleDeclaration(className);


Typo Fixes Fixed some minor (and not so minor) typos.

--- HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
+++ HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
@@ -88,7 +88,7 @@
 				reload(lastQuality);
 		}

-		// Here a quality of -1 indecates that we are attempting to load a backup manifest
+		// Here a quality of -1 indicates that we are attempting to load a backup manifest
 		private function reload(quality:int, manifest:HLSManifestParser = null):void
 		{
 			if (reloadTimer)
@@ -158,7 +158,7 @@
 				}
 				else
 				{
-					trace("Backup Stream Swap Failed: No stream of quiality level " + stream + " found. Max quality level is " + (manifest.streams.length - 1));
+					trace("Backup Stream Swap Failed: No stream of quality level " + stream + " found. Max quality level is " + (manifest.streams.length - 1));
 					return false;
 				}
 			}
@@ -563,7 +563,7 @@
 				return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL);
 			}
 			if (HLSHTTPNetStream.recoveryStateNum == URLErrorRecoveryStates.SEG_BY_TIME_ATTEMPTED)
-				HLSHTTPNetStream.recoveryStateNum = URLErrorRecoveryStates.SEG_BY_TIME_ATTEMPTED;
+				HLSHTTPNetStream.recoveryStateNum = URLErrorRecoveryStates.NEXT_SEG_ATTEMPTED;

 			quality = getWorkingQuality(quality);


Fix for race condition where pending best efforts would never be fired.

--- HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
+++ HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
@@ -913,8 +913,18 @@
 						}
 					}
 				}
-				else
-				{
+				else
+				{
+
+					// Fire any pending best effort requests.
+					if(_pendingBestEffortRequest)
+					{
+						trace("Firing pending best effort request (2): " + _pendingBestEffortRequest);
+						var pber:HTTPStreamRequest = _pendingBestEffortRequest;
+						_pendingBestEffortRequest = null;
+						return pber;
+					}
+
 					trace("getFileForTime - Waiting on knowledge!");
 					return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL, null, SHORT_LIVE_STALL_DELAY);
 				}


Fixed error downloading uploaded image

Fixed error downloading uploaded image

--- collect-client/src/main/flex/org/openforis/collect/util/ApplicationConstants.as
+++ collect-client/src/main/flex/org/openforis/collect/util/ApplicationConstants.as
@@ -28,7 +28,7 @@

 		private static const FILE_UPLOAD_SERVLET_NAME:String = "uploadFile.htm";

-		private static const RECORD_FILE_DOWNLOAD_SERVLET_NAME:String = "downloadRecordFile.htm";
+		private static const RECORD_FILE_DOWNLOAD_SERVLET_NAME:String = "api/downloadRecordFile.htm";
 		private static const RECORD_FILE_DELETE_SERVLET_NAME:String = "deleteRecordFile.htm";

 		private static const DOWNLOAD_EXPORTED_DATA_SERVLET_NAME:String = "downloadDataExport.htm";


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

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.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.layouts.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3563
Author:   jimurphy@adobe.com
Date:     2008-10-10T13:41:29.904903Z

Log Message:
-----------
Merged 3.0.x revisions 3421,3427,3442,3455,3457,3474,3477,3493,3500,3503,3513,3520,3531,3544 -> trunk
Integrate:
player 10.0.r12.036
lcds: 4.0.0.3542
coretech: 1.360354

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/DLocation.java</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/LoaderUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/rideau.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/RSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/tcal_conversion.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/tcal_edit.swc</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/CrossDomainRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/player/10/playerglobal.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/tcal_core.swc</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/flashplayer.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/install_flash_player_10_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/libflashplayer.so.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/FlashPlayer.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Flash Player.app.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/afe.jar</path>

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

--- frameworks/projects/framework/src/mx/core/RSLItem.as
+++ frameworks/projects/framework/src/mx/core/RSLItem.as
@@ -27,6 +27,7 @@
 import flash.utils.ByteArray;

 import mx.events.RSLEvent;
+import mx.utils.LoaderUtil;

 [ExcludeClass]

@@ -74,6 +75,18 @@
      */
     public var loaded:uint = 0;

+    //----------------------------------
+    //  rootURL
+    //----------------------------------
+
+    /**
+     *  @private
+     *
+     *  Provides the url used to locate relative RSL urls.
+     */
+    public var rootURL:String;
+
+
     //--------------------------------------------------------------------------
     //
     //  Variables
@@ -84,7 +97,7 @@
      *  @private
      */
     protected var url:String;
-
+
     /**
      *  @private
      */
@@ -117,12 +130,15 @@
      *  Create a RSLItem with a given URL.
      *
      *  @param url location of RSL to load
-     */
-    public function RSLItem(url:String)
+     *
+     *  @param rootURL provides the url used to locate relative RSL urls.
+     */
+    public function RSLItem(url:String, rootURL:String = null)
     {
         super();

         this.url = url;
+        this.rootURL = rootURL;
     }

     //--------------------------------------------------------------------------
@@ -165,7 +181,7 @@

         var loader:Loader = new Loader();
         var loaderContext:LoaderContext = new LoaderContext();
-        urlRequest = new URLRequest(url);
+        urlRequest = new URLRequest(LoaderUtil.createAbsoluteURL(rootURL, url));

         // The RSLItem needs to listen to certain events.


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

--- frameworks/projects/mx/src/mx/controls/LinkButton.as
+++ frameworks/projects/mx/src/mx/controls/LinkButton.as
@@ -0,0 +1,277 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.controls
+{
+
+import flash.text.TextLineMetrics;
+import mx.core.FlexVersion;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+/**
+ *  Corner radius of the highlighted rectangle around a LinkButton.
+ *
+ *  @default 4
+ */
+[Style(name="cornerRadius", type="Number", format="Length", inherit="no")]
+
+/**
+ *  Color of a LinkButton as a user moves the mouse pointer over it.
+ *
+ *  @default 0xEEFEE6
+ */
+[Style(name="rollOverColor", type="uint", format="Color", inherit="yes")]
+
+/**
+ *  Background color of a LinkButton as a user presses it.
+ *
+ *  @default 0xB7F39B
+ */
+[Style(name="selectionColor", type="uint", format="Color", inherit="yes")]
+
+/**
+ *  Text color of a LinkButton as a user moves the mouse pointer over it.
+ *
+ *  @default 0x2B333C
+ */
+[Style(name="textRollOverColor", type="uint", format="Color", inherit="yes")]
+
+/**
+ *  Text color of a LinkButton as a user presses it.
+ *
+ *  @default 0x2B333C
+ */
+[Style(name="textSelectedColor", type="uint", format="Color", inherit="yes")]
+
+//--------------------------------------
+//  Excluded APIs
+//--------------------------------------
+
+[Exclude(name="emphasized", kind="property")]
+
+[Exclude(name="borderColor", kind="style")]
+[Exclude(name="fillAlphas", kind="style")]
+[Exclude(name="fillColors", kind="style")]
+[Exclude(name="highlightAlphas", kind="style")]
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[AccessibilityClass(implementation="mx.accessibility.LinkButtonAccImpl")]
+
+[IconFile("LinkButton.png")]
+
+/**
+ *  The LinkButton control is a borderless Button control
+ *  whose contents are highlighted when a user moves the mouse over it.
+ *  These traits are often exhibited by HTML links
+ *  contained within a browser page.
+ *  In order for the LinkButton control to perform some action,
+ *  you must specify a click event handler,
+ *  as you do with a Button control.
+ *
+ *
The LinkButton control has the following default characteristics:

+ *

+ *

+ *           Characteristic
+ *           Description
+ *

+ *

+ *           Default size
+ *           Width and height large enough for the text
+ *

+ *

+ *           Minimum size
+ *           0 pixels
+ *

+ *

+ *           Maximum size
+ *           Undefined
+ *

+ *

+ *
+ *  @mxml
+ *
+ *
The <mx:LinkButton> tag inherits all of the tag attributes
+ *  of its superclass, and adds the following tag attributes:

+ *
+ *

+ *  <mx:LinkButton
+ *    Styles
+ *    cornerRadius="4""
+ *    rollOverColor="0xEEFEE6"
+ *    selectionColor="0xB7F39B"
+ *    textRollOverColor="0x2B333C"
+ *    textSelectedColor="0x2B333C"
+ *  />
+ *

+ *
+ *  @includeExample examples/LinkButtonExample.mxml
+ *
+ *  @see mx.controls.LinkBar
+ */
+public class LinkButton extends Button
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class mixins
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Placeholder for mixin by LinkButtonAccImpl.
+	 */
+	mx_internal static var createAccessibilityImplementation:Function;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 */
+	public function LinkButton()
+	{
+		super();
+
+		// Sprite variables.
+		buttonMode = true; // enables the hand cursor
+
+		// Old Padding logic variables
+		extraSpacing = 4;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  emphasized
+	//----------------------------------
+
+	[Inspectable(environment="none")]
+
+	/**
+	 *  @private
+	 *  A LinkButton doesn't have an emphasized state, so _emphasized
+	 *  is set false in the constructor and can't be changed via this setter.
+	 */
+    override public function set emphasized(value:Boolean):void
+    {
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: UIComponent
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @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 measure():void
+	{
+		super.measure();
+
+    	if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)
+		{
+
+			var textWidth:Number = 8;
+			var textHeight:Number = 8;
+
+			if (label)
+			{
+				var lineMetrics:TextLineMetrics = measureText(label);
+				textWidth += lineMetrics.width;
+				textHeight += lineMetrics.height;
+			}
+
+			textWidth += (getStyle("paddingLeft") +
+						  getStyle("paddingRight"));
+
+			// Make sure any pending icon changes are committed before measuring.
+			// commitProperties() should always be called before measure(),
+			// but bug 103305 is a case where it isn't.
+			//
+			//removed icon and iconchanged in api scrub replaced with icon style
+			//if (iconChanged)
+			//	changeIcons();
+
+			viewIcon();
+			viewSkin();
+
+			var iconWidth:Number = currentIcon ? currentIcon.width : 0;
+			var iconHeight:Number = currentIcon ? currentIcon.height : 0;
+
+			var w:Number = 0;
+			var h:Number = 0;
+
+			if (labelPlacement == ButtonLabelPlacement.LEFT ||
+				labelPlacement == ButtonLabelPlacement.RIGHT)
+			{
+				if (label && label.length > 0)
+					w = textWidth + iconWidth;
+				else
+					w = iconWidth;
+				if (iconWidth != 0)
+					w += getStyle("horizontalGap");
+				h = Math.max(textHeight, iconHeight);
+			}
+			else
+			{
+				w = Math.max(textWidth, iconWidth);
+				if (label && label.length > 0)
+					h = textHeight + iconHeight;
+				else
+					h = iconHeight;
+				if (iconHeight != 0)
+					h += getStyle("verticalGap");
+			}
+
+			if (label && label != "")
+				w += extraSpacing;
+
+			w = Math.max(20, w);
+			h = Math.max(14, h);
+
+			measuredMinWidth = measuredWidth = w;
+			measuredMinHeight = measuredHeight = h;
+		}
+	}
+
+}
+
+}


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

--- frameworks/projects/rpc/src/mx/rpc/AsyncResponder.as
+++ frameworks/projects/rpc/src/mx/rpc/AsyncResponder.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.rpc
 {


Added rescued documentation from the old EZGame class.

git-svn-id: a3e1eb16dde062992de22c830ed8045c8013209a@140 c613c5cb-e716-0410-b11b-feb51c14d237

--- src/as/com/threerings/ezgame/EZGameControl.as
+++ src/as/com/threerings/ezgame/EZGameControl.as
@@ -9,6 +9,11 @@

 import flash.display.DisplayObject;

+/**
+ * The single point of control for each client in your multiplayer EZGame.
+ *
+ * TODO: lots of documentation.
+ */
 public class EZGameControl extends EventDispatcher
 {
     /**
@@ -59,13 +64,17 @@
         }
     }

-    // from EZGame
+    /**
+     * Data accessor.
+     */
     public function get data () :Object
     {
         return _gameData;
     }

-    // from EZGame
+    /**
+     * Get a property from data.
+     */
     public function get (propName :String, index :int = -1) :Object
     {
         var value :Object = data[propName];
@@ -81,13 +90,20 @@
         return value;
     }

-    // from EZGame
+    /**
+     * Set a property that will be distributed.
+     */
     public function set (propName :String, value :Object, index :int = -1) :void
     {
         callEZCode("setProperty_v1", propName, value, index);
     }

-    // from EZGame
+    /**
+     * Register an object to receive whatever events it should receive,
+     * based on which event listeners it implements. Note that it is not
+     * necessary to register any objects which appear on the display list,
+     * as they'll be registered automatically.
+     */
     public function registerListener (obj :Object) :void
     {
         if (obj is MessageReceivedListener) {
@@ -116,7 +132,9 @@
         }
     }

-    // from EZGame
+    /**
+     * Unregister the specified object from receiving events.
+     */
     public function unregisterListener (obj :Object) :void
     {
         if (obj is MessageReceivedListener) {
@@ -140,19 +158,40 @@
         }
     }

-    // from EZGame
+    /**
+     * Set the specified collection to contain the specified values,
+     * clearing any previous values.
+     */
     public function setCollection (collName :String, values :Array) :void
     {
         populateCollection(collName, values, true);
     }

-    // from EZGame
+    /**
+     * Add to an existing collection. If it doesn't exist, it will
+     * be created. The new values will be inserted randomly into the
+     * collection.
+     */
     public function addToCollection (collName :String, values :Array) :void
     {
         populateCollection(collName, values, false);
     }

-    // from EZGame
+    /**
+     * Pick (do not remove) the specified number of elements from a collection,
+     * and distribute them to a specific player or set them as a property
+     * in the game data.
+     *
+     * @param collName the collection name.
+     * @param count the number of elements to pick
+     * @param msgOrPropName the name of the message or property
+     *        that will contain the picked elements.
+     * @param playerIndex if -1 (or unset), the picked elements should be
+     *        set on the gameObject as a property for all to see.
+     *        If a playerIndex is specified, only that player will receive
+     *        the elements as a message.
+     */
+    // TODO: a way to specify exclusive picks vs. duplicate-OK picks?
     public function pickFromCollection (
         collName :String, count :int, msgOrPropName :String,
         playerIndex :int = -1) :void
@@ -161,7 +200,21 @@
             false, null);
     }

-    // from EZGame
+    /**
+     * Deal (remove) the specified number of elements from a collection,
+     * and distribute them to a specific player or set them as a property
+     * in the game data.
+     *
+     * @param collName the collection name.
+     * @param count the number of elements to pick
+     * @param msgOrPropName the name of the message or property
+     *        that will contain the picked elements.
+     * @param playerIndex if -1 (or unset), the picked elements should be
+     *        set on the gameObject as a property for all to see.
+     *        If a playerIndex is specified, only that player will receive
+     *        the elements as a message.
+     */
+    // TODO: figure out the method signature of the callback
     public function dealFromCollection (
         collName :String, count :int, msgOrPropName :String,
         callback :Function = null, playerIndex :int = -1) :void
@@ -170,104 +223,167 @@
             true, callback);
     }

-    // from EZGame
+    /**
+     * Merge the specified collection into the other collection.
+     * The source collection will be destroyed. The elements from
+     * The source collection will be shuffled and appended to the end
+     * of the destination collection.
+     */
     public function mergeCollection (srcColl :String, intoColl :String) :void
     {
         callEZCode("mergeCollection_v1", srcColl, intoColl);
     }

-    // from EZGame
+    /**
+     * Send a "message" to other clients subscribed to the game.
+     * These is similar to setting a property, except that the
+     * value will not be saved- it will merely end up coming out
+     * as a MessageReceivedEvent.
+     *
+     * @param playerIndex if -1, sends to all players, otherwise
+     * the message will be private to just one player
+     */
     public function sendMessage (
         messageName :String, value :Object, playerIndex :int = -1) :void
     {
         callEZCode("sendMessage_v1", messageName, value, playerIndex);
     }

-    // from EZGame
+    /**
+     * Start the ticker with the specified name. It will deliver
+     * messages to the game object at the specified delay,
+     * the value of each message being a single integer, starting with 0
+     * and increasing by one with each messsage.
+     */
     public function startTicker (tickerName :String, msOfDelay :int) :void
     {
         callEZCode("setTicker_v1", tickerName, msOfDelay);
     }

-    // from EZGame
+    /**
+     * Stop the specified ticker.
+     */
     public function stopTicker (tickerName :String) :void
     {
         startTicker(tickerName, 0);
     }

-    // from EZGame
+    /**
+     * Send a message that will be heard by everyone in the game room,
+     * even observers.
+     */
     public function sendChat (msg :String) :void
     {
         callEZCode("sendChat_v1", msg);
     }

-    // from EZGame
+    /**
+     * Display the specified message immediately locally: not sent
+     * to any other players or observers in the game room.
+     */
     public function localChat (msg :String) :void
     {
         callEZCode("localChat_v1", msg);
     }

-    // from EZGame
+    /**
+     * Get the number of players currently in the game.
+     */
     public function getPlayerCount () :int
     {
         return int(callEZCode("getPlayerCount_v1"));
     }

-    // from EZGame
+    /**
+     * Get the player names, as an array.
+     */
     public function getPlayerNames () :Array
     {
         return (callEZCode("getPlayerNames_v1") as Array);
     }

-    // from EZGame
+    /**
+     * Get the index into the player names array of the current player,
+     * or -1 if the user is not a player.
+     */
     public function getMyIndex () :int
     {
         return int(callEZCode("getMyIndex_v1"));
     }

-    // from EZGame
+    /**
+     * Get the turn holder's index, or -1 if it's nobody's turn.
+     */
     public function getTurnHolderIndex () :int
     {
         return int(callEZCode("getTurnHolderIndex_v1"));
     }

-    // from EZGame
+    /**
+     * Get the indexes of the winners
+     */
     public function getWinnerIndexes () :Array /* of int */
     {
         return (callEZCode("getWinnerIndexes_v1") as Array);
     }

-    // from EZGame
+    /**
+     * Get the user-specific game data for the specified user. The
+     * first time this is requested per game instance it will be retrieved
+     * from the database. After that, it will be returned from memory.
+     */
     public function getUserCookie (playerIndex :int, callback :Function) :void
     {
         callEZCode("getUserCookie_v1", playerIndex, callback);
     }

-    // from EZGame
+    /**
+     * Store persistent data that can later be retrieved by an instance
+     * of this game. The maximum size of this data is 4096 bytes AFTER
+     * AMF3 encoding.
+     *
+     * Note: there is no playerIndex parameter because a cookie may only
+     * be stored for the current player.
+     *
+     * @return false if the cookie could not be encoded to 4096 bytes
+     * or less; true if the cookie is going to try to be saved. There is
+     * no guarantee it will be saved and no way to find out if it failed,
+     * but if it fails it will be because the shit hit the fan so hard that
+     * there's nothing you can do anyway.
+     */
     public function setUserCookie (cookie :Object) :Boolean
     {
         return Boolean(callEZCode("setUserCookie_v1", cookie));
     }

-    // from EZGame
+    /**
+     * A convenience method to just check if it's our turn.
+     */
     public function isMyTurn () :Boolean
     {
         return Boolean(callEZCode("isMyTurn_v1"));
     }

-    // from EZGame
+    /**
+     * Is the game currently in play?
+     */
     public function isInPlay () :Boolean
     {
         return Boolean(callEZCode("isInPlay_v1"));
     }

-    // from EZGame
+    /**
+     * End the current turn. If no next player index is specified,
+     * then the next player after the current one is used.
+     */
     public function endTurn (nextPlayerIndex :int = -1) :void
     {
         callEZCode("endTurn_v1", nextPlayerIndex);
     }

-    // from EZGame
+    /**
+     * End the game. The specified player indexes are winners!
+     */
     public function endGame (... winnerIndexes) :void
     {
         var args :Array = winnerIndexes;
@@ -277,6 +393,9 @@
         callEZCode.apply(null, args);
     }

+    /**
+     * Your own events may not be dispatched here.
+     */
     override public function dispatchEvent (event :Event) :Boolean
     {
         // Ideally we want to not be an IEventDispatcher so that people
@@ -320,6 +439,9 @@
         o["dispatchEvent_v1"] = dispatch;
     }

+    /**
+     * Private method to post a PropertyChangedEvent.
+     */
     private function propertyWasSet_v1 (
         name :String, newValue :Object, oldValue :Object, index :int) :void
     {
@@ -327,21 +449,33 @@
             new PropertyChangedEvent(this, name, newValue, oldValue, index));
     }

+    /**
+     * Private method to post a StateChangedEvent.
+     */
     private function turnDidChange_v1 () :void
     {
         dispatch(new StateChangedEvent(StateChangedEvent.TURN_CHANGED, this));
     }

+    /**
+     * Private method to post a MessageReceivedEvent.
+     */
     private function messageReceived_v1 (name :String, value :Object) :void
     {
         dispatch(new MessageReceivedEvent(this, name, value));
     }

+    /**
+     * Private method to post a StateChangedEvent.
+     */
     private function gameDidStart_v1 () :void
     {
         dispatch(new StateChangedEvent(StateChangedEvent.GAME_STARTED, this));
     }

+    /**
+     * Private method to post a StateChangedEvent.
+     */
     private function gameDidEnd_v1 () :void
     {
         dispatch(new StateChangedEvent(StateChangedEvent.GAME_ENDED, this));
@@ -360,6 +494,9 @@
         _funcs = o;
     }

+    /**
+     * Call a method across the security boundary.
+     */
     protected function callEZCode (name :String, ... args) :*
     {
         if (_funcs != null) {
@@ -375,7 +512,7 @@
     }

     /**
-     * Internal method that is called whenever the mouse enters our root.
+     * Internal method that is called whenever the mouse clicks our root.
      */
     protected function handleRootClick (evt :MouseEvent) :void
     {
@@ -401,8 +538,10 @@
         }
     }

+    /** Contains the data properties shared by all players in the game. */
     protected var _gameData :Object;

+    /** Contains functions exposed to us from the EZGame host. */
     protected var _funcs :Object;
 }
 }


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

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

 package mx.automation.codec
 {


update Mesh.geometry setter to listen to the Geometry.changed signal and execute Mesh.geometryChanged when it's triggered

--- src/aerys/minko/scene/node/Mesh.as
+++ src/aerys/minko/scene/node/Mesh.as
@@ -130,7 +130,14 @@
 			{
 				var oldGeometry	: Geometry = _geometry;

+				if (oldGeometry)
+					oldGeometry.changed.remove(geometryChangedHandler);
+
 				_geometry = value;
+
+				if (value)
+					_geometry.changed.add(geometryChangedHandler);
+
 				_geometryChanged.execute(this, oldGeometry, value);
 			}
 		}
@@ -218,7 +225,7 @@
 			_bindings = new DataBindings(this);
 			this.properties = new DataProvider(properties, 'meshProperties', DataProviderUsage.EXCLUSIVE);

-			_geometry = geometry;
+			this.geometry = geometry;
 			this.material = material || DEFAULT_MATERIAL;

 			_visibility = new VisibilityController();
@@ -268,5 +275,10 @@
 			if (child === this)
 				_bindings.removeProvider(transformData);
 		}
+
+		private function geometryChangedHandler(geometry : Geometry) : void
+		{
+			_geometryChanged.execute(this, _geometry, _geometry);
+		}
 	}
 }


AIROptionsParser: add more folders with -C option instead of -e to reduce command line string (references BowlerHatLLC/vscode-as3mxml#388)

--- src/com/as3mxml/asconfigc/AIROptionsParser.as
+++ src/com/as3mxml/asconfigc/AIROptionsParser.as
@@ -372,8 +372,8 @@

 		protected static function parseFiles(files:Array, result:Array):void
 		{
-			var selfFolders:Array = [];
-			var rootFolders:Array = [];
+			var cOptionFolders:Array = [];
+			var cOptionRootFolders:Array = [];
 			var count:int = files.length;
 			for(var i:int = 0; i < count; i++)
 			{
@@ -397,21 +397,21 @@
 					{
 						//add these folders after everything else because we'll
 						//use the -C option
-						selfFolders.push(srcFile);
+						cOptionFolders.push(new FolderToAddWithCOption(srcFile, null));
 						continue;
 					}
-					else if(destPath == path.basename(srcFile))
+					else if(destPath == ".")
 					{
 						//add these folders after everything else because we'll
 						//use the -C option
-						selfFolders.push(srcFile);
+						cOptionRootFolders.push(srcFile);
 						continue;
 					}
-					else if(destPath == ".")
+					else if(canUseCOptionForFolder(srcFile, destPath))
 					{
 						//add these folders after everything else because we'll
 						//use the -C option
-						rootFolders.push(srcFile);
+						cOptionFolders.push(new FolderToAddWithCOption(srcFile, destPath));
 						continue;
 					}
 				}
@@ -422,22 +422,68 @@
 				}
 				addFile(srcFile, destPath, result);
 			}
-			count = rootFolders.length;
+			count = cOptionRootFolders.length;
 			for(i = 0; i < count; i++)
 			{
-				folder = rootFolders[i];
+				var folder:String = cOptionRootFolders[i];
 				result.push("-C");
 				result.push(folder);
 				result.push(".");
 			}
-			count = selfFolders.length;
+			count = cOptionFolders.length;
 			for(i = 0; i < count; i++)
 			{
-				var folder:String = selfFolders[i];
-				result.push("-C");
-				result.push(path.dirname(folder));
-				result.push(path.basename(folder));
-			}
+				var cOptionFolder:FolderToAddWithCOption = FolderToAddWithCOption(cOptionFolders[i]);
+				var cOptionFolderSrcPath:String = cOptionFolder.srcPath;
+				var cOptionFolderDestPath:String = cOptionFolder.destPath;
+				if(!cOptionFolderDestPath)
+				{
+					result.push("-C");
+					result.push(path.dirname(cOptionFolderSrcPath));
+					result.push(path.basename(cOptionFolderSrcPath));
+				}
+				else
+				{
+					var baseFolderPath:String = cOptionFolderSrcPath;
+					var currentDestPath:String = cOptionFolderDestPath;
+					do
+					{
+						baseFolderPath = path.dirname(baseFolderPath);
+						if (baseFolderPath === ".") {
+							break;
+						}
+						currentDestPath = path.dirname(currentDestPath);
+					}
+					while(currentDestPath !== ".");
+
+					result.push("-C");
+					result.push(baseFolderPath);
+					result.push(cOptionFolderDestPath);
+				}
+			}
+		}
+
+		protected static function canUseCOptionForFolder(srcFolder:String, destPath:String):Boolean
+		{
+			var currentSrcPath:String = srcFolder;
+			var currentDestPath:String = destPath;
+			do
+			{
+				if(currentSrcPath === ".")
+				{
+					return false;
+				}
+				var currentSrcName:String = path.basename(currentSrcPath);
+				var currentDestName:String = path.basename(currentDestPath);
+				if(currentSrcName !== currentDestName)
+				{
+					return false;
+				}
+				currentSrcPath = path.dirname(currentSrcPath);
+				currentDestPath = path.dirname(currentDestPath);
+			}
+			while(currentDestPath !== ".");
+			return true;
 		}

 		protected static function addFile(srcFile:String, destPath:String, result:Array):void
@@ -521,4 +567,15 @@
 			}
 		}
 	}
+}
+
+class FolderToAddWithCOption {
+	public function FolderToAddWithCOption(srcPath:String, destPath:String)
+	{
+		this.srcPath = srcPath;
+		this.destPath = destPath;
+	}
+
+	public var srcPath:String;
+	public var destPath:String;
 }


Added option to specify url request method

--- WeaveUI/src/weave/application/VisApplication.as
+++ WeaveUI/src/weave/application/VisApplication.as
@@ -266,8 +266,8 @@
 		private var _loadFileCallback:Function;
 		/**
 		 * Loads a session state file from a URL.
-		 * @param url The URL to the session state file (.weave or .xml) specified as a String, a URLRequest, or an Object containing properties "url" and "requestHeaders".
-		 *            Example:  {"url": "myfile.ext", "requestHeaders": {"Content-type", "foo"}}
+		 * @param url The URL to the session state file (.weave or .xml) specified as a String, a URLRequest, or an Object containing properties "url", "requestHeaders", "method".
+		 *            Example:  {"url": "myfile.ext", "requestHeaders": {"Content-type", "foo"}, method: "POST"}
 		 * @param callback Either a Function or a String containing a JavaScript function definition. The callback will be invoked when the file loading completes.
 		 * @param noCacheHack If set to true, appends "?" followed by a series of numbers to prevent Flash from using a cached version of the file.  Only works when url is given as a String.
 		 */
@@ -287,6 +287,7 @@
 			else
 			{
 				request = new URLRequest(String(url['url']));
+				request.method = url['method'];
 				var headers:Object = url['requestHeaders'];
 				for (var k:String in headers)
 					request.requestHeaders.push(new URLRequestHeader(k, headers[k]));


Handle case where fill could be a LinearGradient or a SolidColor

--- frameworks/projects/Charts/asjs/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
+++ frameworks/projects/Charts/asjs/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
@@ -25,6 +25,7 @@
 	import org.apache.flex.core.graphics.IStroke;
 	import org.apache.flex.core.graphics.Rect;
 	import org.apache.flex.core.graphics.SolidColor;
+	import org.apache.flex.core.graphics.LinearGradient;
 	import org.apache.flex.html.supportClasses.DataItemRenderer;

 	/**
@@ -230,7 +231,7 @@
 			}
 		}

-		private var hoverFill:SolidColor;
+		private var hoverFill:IFill;

 		override public function updateRenderer():void
 		{
@@ -238,9 +239,22 @@

 			if (down||selected||hovered) {
 				if (hoverFill == null) {
-					hoverFill = new SolidColor();
-					hoverFill.color = (fill as SolidColor).color;
-					hoverFill.alpha = 0.5;
+					if(fill is SolidColor)
+					{
+						hoverFill = new SolidColor();
+						(hoverFill as SolidColor).color = (fill as SolidColor).color;
+						(hoverFill as SolidColor).alpha = 0.5;
+					}
+					else if(fill is LinearGradient)
+					{
+						hoverFill = new LinearGradient();
+						(hoverFill as LinearGradient).entries = (fill as LinearGradient).entries;
+						for (var i:int=0; i<(hoverFill as LinearGradient).entries; i++)
+						{
+							(hoverFill as LinearGradient).entries[i].alpha = 0.5;
+						}
+					}
+
 				}
 				filledRect.fill = hoverFill;
 			}


fixed AbstractSceneNode.parent setter to do nothing if the new parent and the old one are the same

--- src/aerys/minko/scene/node/AbstractSceneNode.as
+++ src/aerys/minko/scene/node/AbstractSceneNode.as
@@ -51,6 +51,9 @@
 		}
 		public function set parent(value : Group) : void
 		{
+			if (value == _parent)
+				return ;
+
 			// remove child
 			if (_parent)
 			{


Made the methods public and it still doesn't work. There's some awful bug
in the compiler or runtime, I think.

git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@3979 542714f4-19e9-0310-aa3c-eee0fc999fb1

--- src/as/com/threerings/presents/client/Client.as
+++ src/as/com/threerings/presents/client/Client.as
@@ -264,13 +264,15 @@
         }
     }

-    internal function gotClientObject (clobj :ClientObject) :void
+    // TODO: this should be 'internal' except for a fucking bug with AS3
+    public function gotClientObject (clobj :ClientObject) :void
     {
         _clobj = clobj;
         notifyObservers(ClientEvent.CLIENT_DID_LOGON);
     }

-    internal function getClientObjectFailed (cause :Error) :void
+    // TODO: this should be 'internal' except for a fucking bug with AS3
+    public function getClientObjectFailed (cause :Error) :void
     {
         notifyObservers(ClientEvent.CLIENT_FAILED_TO_LOGON, cause);
     }


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

--- frameworks/projects/framework/src/mx/controls/menuClasses/IMenuDataDescriptor.as
+++ frameworks/projects/framework/src/mx/controls/menuClasses/IMenuDataDescriptor.as
@@ -21,6 +21,11 @@
  *  of data that is displayed by a Menu or MenuBar control.
  *
  *  @see mx.collections.ICollectionView
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public interface IMenuDataDescriptor
 {
@@ -32,63 +37,123 @@

     /**
      *  @copy mx.controls.treeClasses.DefaultDataDescriptor#getChildren()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	function getChildren(node:Object, model:Object = null):ICollectionView;

 	/**
      *  @copy mx.controls.treeClasses.DefaultDataDescriptor#hasChildren()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	function hasChildren(node:Object, model:Object = null):Boolean;

 	/**
      *  @copy mx.controls.treeClasses.DefaultDataDescriptor#getData()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	function getData(node:Object, model:Object = null):Object;

     /**
      *  @copy mx.controls.treeClasses.DefaultDataDescriptor#isBranch()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	function isBranch(node:Object, model:Object = null):Boolean;

 	/**
      *  @copy mx.controls.treeClasses.DefaultDataDescriptor#getType()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	function getType(node:Object):String;

 	/**
      *  @copy mx.controls.treeClasses.DefaultDataDescriptor#addChildAt()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function addChildAt(parent:Object, newChild:Object, index:int,
 						model:Object = null):Boolean;

     /**
      *  @copy mx.controls.treeClasses.DefaultDataDescriptor#removeChildAt()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function removeChildAt(parent:Object, child:Object, index:int,
 						   model:Object = null):Boolean;

 	/**
      *  @copy mx.controls.treeClasses.DefaultDataDescriptor#isEnabled()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	function isEnabled(node:Object):Boolean;

 	/**
      *  @copy mx.controls.treeClasses.DefaultDataDescriptor#setEnabled()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	function setEnabled(node:Object, value:Boolean):void;

 	/**
      *  @copy mx.controls.treeClasses.DefaultDataDescriptor#isToggled()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	function isToggled(node:Object):Boolean;

 	/**
      *  @copy mx.controls.treeClasses.DefaultDataDescriptor#setToggled()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	function setToggled(node:Object, value:Boolean):void;

 	/**
      *  @copy mx.controls.treeClasses.DefaultDataDescriptor#getGroupName()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	function getGroupName(node:Object):String;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19980
Author:   chiedozi@adobe.com
Date:     2011-01-27T19:46:02.128372Z

Log Message:
-----------
TabbedViewNavigator now disables the TabBar when a child navigator is changing views
TabbedViewNavigator now enforces its tabBar skinpart to have its requireSelection property be true
Removed an unnecessary  validateNow from TabbedViewNavigator
Resolved some TODOs and FIXMEs

QE notes:
Doc notes:
Bugs:
Reviewer: Jason San Jose
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/managers/PersistenceManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewDescriptor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as
@@ -123,7 +123,9 @@
     //--------------------------------------------------------------------------

     // TODO (chiedozi): Consider having a NO_SELECTION constant to differentiate
-    // between NO_PROPOSED_SELECTION and clearing the selection.  See List.
+    // between NO_PROPOSED_SELECTION and clearing the selection.  See List.  It
+    // seems redundant because TabbedViewNavigator expects requireSelection to be
+    // true on its TabBar.
     /**
      *  @private
      *  Static constant representing no proposed selection.
@@ -204,6 +206,11 @@

     /**
      *  @private
+     */
+    private var explicitTabBarMouseEnabled:Boolean = false;
+
+    /**
+     *  @private
      *  Keeps track of the tab that was last selected.  See
      *  tabBarRendererClicked() for information on how it's used.
      */
@@ -238,6 +245,11 @@
      *  @private
      */
     private var tabBarVisibilityChanged:Boolean = false;
+
+    /**
+     * @private
+     */
+    mx_internal var selectedNavigatorChangingView:Boolean = false;

     //--------------------------------------------------------------------------
     //
@@ -340,7 +352,6 @@
     /**
      *  @private
      */
-    // FIXME (chiedozi): Part of restructuring setSelectedIndex and adjustIndex
     public function set navigators(value:Vector.<ViewNavigatorBase>):void
     {
         var i:int;
@@ -632,7 +643,6 @@
     {
         super.commitProperties();

-        // FIXME (chiedozi): Should cancel any queued view changes of the active view navigator.
         if (selectedIndexChanged || dataProviderChanged)
         {
             var navigator:ViewNavigatorBase;
@@ -655,6 +665,7 @@

                 // Private event dispatched when a view has finished transitioning
                 navigator.removeEventListener("viewChangeComplete", navigator_viewChangeCompleteHandler);
+                navigator.removeEventListener("viewChangeStart", navigator_viewChangeStartHandler);
                 navigator.removeEventListener(ElementExistenceEvent.ELEMENT_ADD, navigator_elementAddHandler);
                 navigator.removeEventListener(ElementExistenceEvent.ELEMENT_REMOVE, navigator_elementRemoveHandler);
             }
@@ -666,17 +677,13 @@
                 navigator = navigators[_selectedIndex];

                 navigator.addEventListener("viewChangeComplete", navigator_viewChangeCompleteHandler);
+                navigator.addEventListener("viewChangeStart", navigator_viewChangeStartHandler);
                 navigator.addEventListener(ElementExistenceEvent.ELEMENT_ADD, navigator_elementAddHandler);
                 navigator.addEventListener(ElementExistenceEvent.ELEMENT_REMOVE, navigator_elementRemoveHandler);

                 navigator.setActive(true);
                 navigator.visible = true;
                 navigator.includeInLayout = true;
-
-                // FIXME (chiedozi): Why do i need to validate here
-                // Force a validation of the new navigator to prevent a flicker from
-                // occurring since the view will be rendered this frame
-                navigator.validateNow();

                 if (navigator.activeView)
                 {
@@ -745,7 +752,8 @@
     private function commitVisibilityChanges():void
     {
         // Can't change the visibility during a view transition
-        // FIXME (chiedozi): Shouldn't be able to do this if the child view is animating
+        if (selectedNavigatorChangingView)
+            return;

         // If an animation is running, end it
         if (tabBarVisibilityEffect)
@@ -912,6 +920,7 @@
             tabBar.addEventListener(IndexChangeEvent.CHANGING, tabBar_indexChanging);
             tabBar.dataGroup.addEventListener(RendererExistenceEvent.RENDERER_ADD, tabBar_elementAddHandler);
             tabBar.dataProvider = this;
+            tabBar.requireSelection = true;
         }
     }

@@ -988,6 +997,26 @@
     {
         if (hasEventListener("viewChangeComplete"))
             dispatchEvent(event);
+
+        selectedNavigatorChangingView = false;
+
+        if (tabBar)
+            tabBar.mouseEnabled = explicitTabBarMouseEnabled;
+    }
+
+    /**
+     *  @private
+     */
+    private function navigator_viewChangeStartHandler(event:Event):void
+    {
+        selectedNavigatorChangingView = true;
+
+        // Disable mouse interaction with the tabBar
+        if (tabBar)
+        {
+            explicitTabBarMouseEnabled = tabBar.mouseEnabled;
+            tabBar.mouseEnabled = false;
+        }
     }

     /**
@@ -1165,7 +1194,6 @@
     /**
      * @private
      */
-    // FIXME (chiedozi): Follow ListBase setSelectedIndex pattern
     public function set selectedIndex(value:int):void
     {
         if (value < -1 || value >= length)
@@ -1178,9 +1206,10 @@
         if (!dataProviderChanged && value == selectedIndex)
             return;

-        // TODO (chiedozi): Add comment about how you can be in here via progromattic setting
-        // of selectedIndex through a tab navigator change and how the changingEventDispatched
-        // is the gating factor there
+        // The selected index property can be changed programmitically on the
+        // TabbedViewNavigator or by its tab bar in response to a user action.  If
+        // this was initiated by the tab bar, a chaning event would have already been
+        // dispatched in tabBar_indexChanging().
         if (initialized && !changingEventDispatched)
         {
             // If the active view's REMOVING event or the navigator's
@@ -1281,9 +1310,10 @@
      */
     public function addItemAt(item:Object, index:int):void
     {
-        // FIXME (chiedozi): Resource manager
-        if (!(item is ViewNavigatorBase))
-            throw new Error("Objects added to TabbedViewNavigator must extend ViewNavigatorBase.");
+        // If the added type is not a ViewNavigatorBase, we ignore the call
+        // TODO (chiedozi): Consider throwing an exception here
+        if (!(item is ViewNavigatorBase))
+            return;

         if (index < 0 || index > length)
         {
@@ -1297,12 +1327,8 @@
         setupNavigator(ViewNavigatorBase(item));
         addElementAt(ViewNavigatorBase(item), index);

-        // FIXME (chiedozi): I feel that this is wrong, shouldn't dispatch this before
-        // updating my selection
         internalDispatchEvent(CollectionEventKind.ADD, item, index);

-        // FIXME (chiedozi): When there is no selectedIndex, this call results in
-        // selectedIndex being called 3 times...
         if (selectedIndex == NO_PROPOSED_SELECTION)
         {
             selectedIndex = 0;
@@ -1383,7 +1409,6 @@
                                 oldValue:Object = null,
                                 newValue:Object = null):void
     {
-        // FIXME (chiedozi): For some reason this gets dispatched twice
         var event:PropertyChangeEvent =
             new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE);

@@ -1486,9 +1511,10 @@
      */
     public function setItemAt(item:Object, index:int):Object
     {
-        // FIXME (chiedozi): Resource manager
+        // If the added type is not a ViewNavigatorBase, we ignore the call
+        // TODO (chiedozi): Consider throwing an exception here
         if (!(item is ViewNavigator))
-            throw new Error("Objects added to TabbedViewNavigator must extend ViewNavigatorBase.");
+            return null;

         if (index < 0 || index >= length)
         {


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

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


Added titleCase and pluralize methods

Added titleCase and pluralize methods

--- as3/smartform/src/com/rpath/raf/util/UIHelper.as
+++ as3/smartform/src/com/rpath/raf/util/UIHelper.as
@@ -232,5 +232,33 @@

             return s;
         }
+
+        public static function titleCase(s:String):String
+        {
+            return s.substr(0,1).toUpperCase() + s.substr(1);
+        }
+
+        public static function pluralize(s:String, length:int):String
+        {
+            if (length == 0)
+            {
+                if (s.charAt(s.length - 1) != 's')
+                    s = s + 's';
+            }
+            else if (length == 1)
+            {
+                if (s.charAt(s.length - 1) == 's')
+                    s = s.substring(0, s.length-1);
+            }
+            else
+            {
+                if (s.charAt(s.length - 1) != 's')
+                    s = s + 's';
+            }
+
+            return s;
+        }
+
+
     }
 }


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

--- frameworks/projects/framework/src/mx/core/FlexApplicationBootstrap.as
+++ frameworks/projects/framework/src/mx/core/FlexApplicationBootstrap.as
@@ -33,6 +33,11 @@

     /**
 	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function FlexApplicationBootstrap()
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4978
Author:   gosmith@adobe.com
Date:     2009-02-17T02:25:10.529022Z

Log Message:
-----------
Various changes to Gumbo text styles.

The marginLeft, marginRight, marginTop, and marginBottom styles have been removed. They used to inherit from a TLF container to a TLF paragraph and got applied there, but this is not longer the case so that TLF can support container-level margins in the future. Since container-level margins are not currently supported, there should not be a corresponding component-level style. In order to make it possible to specify a format on a container to set inter-paragraph spacing, TLF will add spaceBefore and spaceAfter soon, and Flex will expose these as component styles.

The tabStops style is no longer supported on TextBox or components that use TextBox in their skins. It is supported on TextGraphic, TextView, and FxTextArea, but only as a TLF-parsed String (rather than an Array or Vector of TabStop instances as in FTE). Examples of tabstop strings are "10 20 30 40" and "s10 c20 r30 d40|," (where s="start", c="center", r="right", and d="decimal". The use of strings to specify tabstops makes it easy to set them in CSS.

The firstLineOffsetBasis style has been removed. There is no such thing in TLF's TextLayoutFormat any more.

The dominantBaseline, justificationRule, and justificationStyle styles now allow the value "auto", and this is now the default.

The ligatureLevel style no longer allows the value "none".

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/AdvancedTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/BasicTextLayoutFormatStyles.as</path>

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

--- frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as
+++ frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as
@@ -12,7 +12,7 @@
 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#alignmentBaseline
  */
-[Style(name="alignmentBaseline", type="String", enumeration="roman,ascent,descent,ideographicTop,ideographicCenter,ideographicBottom,useDominantBaseline", inherit="yes")]
+[Style(name="alignmentBaseline", type="String", enumeration="useDominantBaseline,roman,ascent,descent,ideographicTop,ideographicCenter,ideographicBottom", inherit="yes")]

 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#baselineShift
@@ -27,7 +27,7 @@
 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#cffHinting
  */
-[Style(name="cffHinting", type="String", enumeration="none,horizontalStem", inherit="yes")]
+[Style(name="cffHinting", type="String", enumeration="horizontalStem,none", inherit="yes")]

 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#color
@@ -52,7 +52,7 @@
 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#dominantBaseline
  */
-[Style(name="dominantBaseline", type="String", enumeration="roman,ascent,descent,ideographicTop,ideographicCenter,ideographicBottom", inherit="yes")]
+[Style(name="dominantBaseline", type="String", enumeration="auto,roman,ascent,descent,ideographicTop,ideographicCenter,ideographicBottom", inherit="yes")]

 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#fontFamily
@@ -82,12 +82,12 @@
 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#justificationRule
  */
-[Style(name="justificationRule", type="String", enumeration="eastAsian,space", inherit="yes")]
+[Style(name="justificationRule", type="String", enumeration="auto,space,eastAsian", inherit="yes")]

 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#justificationStyle
  */
-[Style(name="justificationStyle", type="String", enumeration="prioritizeLeastAdjustment,pushInKinsoku,pushOutOnly", inherit="yes")]
+[Style(name="justificationStyle", type="String", enumeration="auto,prioritizeLeastAdjustment,pushInKinsoku,pushOutOnly", inherit="yes")]

 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#kerning
@@ -97,12 +97,12 @@
 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#ligatureLevel
  */
-[Style(name="ligatureLevel", type="String", enumeration="none,minimum,common,uncommon,exotic", inherit="yes")]
+[Style(name="ligatureLevel", type="String", enumeration="common,uncommon,exotic,minimum", inherit="yes")]

 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#lineBreak
  */
-[Style(name="lineBreak", type="String", enumeration="explicit,toFit", inherit="yes")]
+[Style(name="lineBreak", type="String", enumeration="toFit,explicit", inherit="yes")]

 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#lineHeight
@@ -142,22 +142,17 @@
 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#renderingMode
  */
-[Style(name="renderingMode", type="String", enumeration="normal,cff", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#tabStops
- */
-[Style(name="tabStops", type="Object", inherit="yes")]
+[Style(name="renderingMode", type="String", enumeration="cff,normal", inherit="yes")]

 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#textAlign
  */
-[Style(name="textAlign", type="String", enumeration="left,right,center,justify,start,end", inherit="yes")]
+[Style(name="textAlign", type="String", enumeration="start,end,left,right,center,justify", inherit="yes")]

 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#textAlignLast
  */
-[Style(name="textAlignLast", type="String", enumeration="left,right,center,justify,start,end", inherit="yes")]
+[Style(name="textAlignLast", type="String", enumeration="start,end,left,right,center,justify", inherit="yes")]

 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#textAlpha
@@ -172,12 +167,12 @@
 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#textJustify
  */
-[Style(name="textJustify", type="String", enumeration="distribute,interWord", inherit="yes")]
+[Style(name="textJustify", type="String", enumeration="interWord,distribute", inherit="yes")]

 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#textRotation
  */
-[Style(name="textRotation", type="String", enumeration="rotate0,rotate90,rotate180,rotate270,auto", inherit="yes")]
+[Style(name="textRotation", type="String", enumeration="auto,rotate0,rotate90,rotate180,rotate270", inherit="yes")]

 /**
  *  Space added to the advance after each character, as a percentage of the current point size. Percentages can be negative,


Transferred from the Adobe Open Source Subversion Repository

Revision: 10606
Author:   egeorgie@adobe.com
Date:     2009-09-25T23:01:50.455888Z

Log Message:
-----------
White space cleanup.

Doc notes: None
Bugs: None
Reviewer: Evtim
Tests run: build
Is noteworthy for integration: Nope

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/Block.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.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/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.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/collections/ArrayList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ListCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/DescribeTypeCache.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/sparkTest/src/testWheel.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/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/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/GradientBase.as
+++ frameworks/projects/framework/src/mx/graphics/GradientBase.as
@@ -305,7 +305,7 @@
     	else
     	{
 	    	// Create the transform if none exists.
-	    	if(compoundTransform == null)
+	    	if (compoundTransform == null)
 	            compoundTransform = new CompoundTransform();
 	       	compoundTransform.matrix = value; // CompoundTransform will create a clone


Transferred from the Adobe Open Source Subversion Repository

Revision: 11863
Author:   smgilson@adobe.com
Date:     2009-11-16T20:29:57.198196Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Border.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/events/TitleWindowBoundsEvent.as</path>

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

--- frameworks/projects/spark/src/spark/components/Application.as
+++ frameworks/projects/spark/src/spark/components/Application.as
@@ -130,6 +130,7 @@
  *    colorCorrection="default"
  *    controlBarContent="null"
  *    controlBarLayout="HorizontalLayout"
+ *    controlBarVisible="true"
  *    frameRate="24"
  *    pageTitle""
  *    preloader="No default"
@@ -437,11 +438,14 @@
     //----------------------------------

     /**
-     *  A flag that controls whether the controlBar is visible.
-     *  The flag has no meaning if there is no controlBarContent.
-     *  The Panel does not monitor the controlBarGroup so if some
-     *  other code makes it invisible, the Panel may not update
-     *  correctly
+     *  If true, the control bar is visible.
+     *  The flag has no affect if there is no value set for
+     *  the controlBarContent property.
+     *
+     *
Note: The Application container does not monitor the
+     *  controlBarGroup property.
+     *  If other code makes it invisible, the Application container might
+     *  not update correctly.

      *
      *  @default true
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 19966
Author:   jszeto@adobe.com
Date:     2011-01-26T23:11:49.608387Z

Log Message:
-----------
Fix for Filter angle bug

http://bugs.adobe.com/jira/browse/SDK-29055 - DropShadowFilter and BevelFilter only support angles in 0-360, while FXG allows any angle

Removed the metadata restricting the value between 0 and 360. The Player supports values outside of this range, though the documentation says otherwise. I left the Flex documentation the same.

QE notes: none
Doc notes: none
Bugs: SDK-29055
Reviewer: Kevin
Tests run: checkintests
Is noteworthy for integration: yes, fix for TH-12910

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/filters/BevelFilter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/filters/GradientFilter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/filters/DropShadowFilter.as</path>

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

--- frameworks/projects/spark/src/spark/filters/GradientFilter.as
+++ frameworks/projects/spark/src/spark/filters/GradientFilter.as
@@ -131,9 +131,7 @@
     //  angle
     //----------------------------------

-    private var _angle:Number = 45;
-
-    [Inspectable(minValue="0.0", maxValue="360.0")]
+    private var _angle:Number = 45;

     /**
      *  The angle, in degrees. Valid values are 0 to 360.


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/spark/src/spark/layouts/FormItemLayout.as
+++ frameworks/projects/spark/src/spark/layouts/FormItemLayout.as
@@ -1,3 +1,14 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2010 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
 package spark.layouts
 {
 import mx.containers.utilityClasses.ConstraintColumn;
@@ -7,15 +18,37 @@

 use namespace mx_internal;

+/**
+ *  The FormItemLayout is used by FormItems to provide a constraint based layout.
+ *  Elements using FormItemLayout within a FormLayout are aligned along columns.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4.5
+ */
 public class FormItemLayout extends ConstraintLayout
 {
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4.5
+     */
     public function FormItemLayout()
     {
         super();
     }

-    // true if setLayoutColumnWidths has been called.
-    private var useLayoutColumnWidths:Boolean = false;
+    private var layoutColumnWidths:Vector.<Number> = null;

     /**
      *  @private
@@ -29,19 +62,20 @@
         if (!layoutTarget)
             return;

-        if (!useLayoutColumnWidths)
-            measureAndPositionColumnsAndRows();
+        // need to parse constraints and rows may resize.
+        measureAndPositionColumnsAndRows();
+
+        if (layoutColumnWidths)
+            setColumnWidths(layoutColumnWidths);

         layoutContent(unscaledWidth, unscaledHeight);
-
-        useLayoutColumnWidths = false;
     }

     /**
      *  @private
      *  Used by layout to get the measured column widths
      */
-    mx_internal function getMeasuredColumnWidths():Vector.<Number>
+    public function getMeasuredColumnWidths():Vector.<Number>
     {
         measureAndPositionColumnsAndRows();

@@ -60,11 +94,22 @@
      *  Used by layout to set the column widths for updateDisplayList. Must
      *  call this if you want to override the default widths of the columns.
      */
-    mx_internal function setLayoutColumnWidths(value:Vector.<Number>):void
+    public function setLayoutColumnWidths(value:Vector.<Number>):void
     {
-        //apply new measurements and position the columns again.
-        useLayoutColumnWidths = true;
+        // apply new measurements and position the columns again.
+        layoutColumnWidths = value;

+        setColumnWidths(layoutColumnWidths);
+
+        target.invalidateDisplayList();
+    }
+
+    /**
+     *  @private
+     *  Sets the column widths to the provided values.
+     */
+    private function setColumnWidths(value:Vector.<Number>):void
+    {
         var constraintColumns:Vector.<ConstraintColumn> = this.constraintColumns;
         var numCols:int = constraintColumns.length;
         var totalWidth:Number = 0;


Transferred from the Adobe Open Source Subversion Repository

Revision: 8625
Author:   jszeto@adobe.com
Date:     2009-07-16T17:59:26.132133Z

Log Message:
-----------
Updating copyright text

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/FilledElement.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/spark/src/spark/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Graphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/BitmapImage.as
+++ frameworks/projects/spark/src/spark/primitives/BitmapImage.as
@@ -1,7 +1,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
 //  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-2006 Adobe Systems Incorporated
+//  Copyright 2008 Adobe Systems Incorporated
 //  All Rights Reserved.
 //
 //  NOTICE: Adobe permits you to use, modify, and distribute this file


Transferred from the Adobe Open Source Subversion Repository

Revision: 15923
Author:   chaase@adobe.com
Date:     2010-05-06T18:05:24.751600Z

Log Message:
-----------
Initial checkin of "Transition Interruption" feature. Set Transition.interruptionBehavior="stop" to get the new behavior, where interrupting transitions start from where the previous transition is at, rather than end()'ing the previous transition first. The default behavior is the same as it always was; transitionBehavior="end" is the default property, and that uses the previous behavior of ending the previous Transition.
New API: Transition.interruptionBehavior, mx.states.InterruptionBehavior

QE notes: Check out the spec for the details on the new API
Doc notes: none
Bugs: none
Reviewer: Jason
Tests run: checkintests, Mustella (mx/effects, spark/effects)
Is noteworthy for integration: Yes - feature requested by downstream teams

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/Transition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/InterruptionBehavior.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/effects/Effect.as
+++ frameworks/projects/framework/src/mx/effects/Effect.as
@@ -233,6 +233,22 @@
     // applyTransitionEndProperties flag, which is set on a per-Effect basis.
     mx_internal var applyEndValuesWhenDone:Boolean = false;

+    // This property tracks whether the effect is playing in interruption mode.
+    // Normally, effects pick up starting values (when not provided explicitly)
+    // from the current values of the target objects. But when playing in interruption
+    // mode, the effect should get its starting values from the propertyChanges
+    // array instead.
+    private var _transitionInterruption:Boolean = false;
+
+    mx_internal function get transitionInterruption():Boolean
+    {
+        return _transitionInterruption;
+    }
+    mx_internal function set transitionInterruption(value:Boolean):void
+    {
+        _transitionInterruption = value;
+    }
+
     // This is new behavior for the Flex4 effects; previously, we would not
     // set the end-state values automatically. Because of this switch, the
     // default value is hinged on a compatibility check, so that applications


Transferred from the Adobe Open Source Subversion Repository

Revision: 20839
Author:   mhorn@adobe.com
Date:     2011-03-14T14:04:15.007456Z

Log Message:
-----------
merge 20790 and 20805

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>

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

--- frameworks/projects/framework/src/mx/geom/Transform.as
+++ frameworks/projects/framework/src/mx/geom/Transform.as
@@ -25,26 +25,29 @@
 import mx.core.mx_internal;

 use namespace mx_internal;
-
+
 /**
- *  The mx.geom.Transform class adds synchronization support on top of the flash.geom.Transform class.
- *  The class has a target property which is the IVisualElement that the Transform has been assigned to.
- *  The IVisualElement implementations will typically set the target to themselves when the Transform
- *  is assigned to their transform property.
+ *  Adds synchronization support on top of the flash.geom.Transform class.
+ *  The class has a target property which is the IVisualElement that the Transform has been assigned to.
+ *  The IVisualElement implementations typically set the target to themselves when the Transform
+ *  is assigned to their transform property.
  *
- *  Changes to the Transform properties automatically get pushed to the target. Reading from the Transform
- *  properties reads directly from the target's transform.
+ *
Changes to the Transform properties automatically get pushed to the target. Reading from the Transform
+ *  properties reads directly from the target's transform.

+ *
+ *  @see flash.geom.Transform
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
- */
+ */
 public class Transform extends flash.geom.Transform
 {
     /**
      *  Constructor.
      *
+     *  @param src The target of the transform.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -153,6 +156,11 @@
     // we will need to update
     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function set matrix3D(value:Matrix3D):*
     {
@@ -253,6 +261,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function getRelativeMatrix3D(relativeTo:DisplayObject):Matrix3D
     {