tidied up the asdoc tags

tidied up the asdoc tags

--- src/org/osflash/signals/natives/NativeMappedSignal.as
+++ src/org/osflash/signals/natives/NativeMappedSignal.as
@@ -4,14 +4,17 @@
 	import flash.events.IEventDispatcher;

 	/**
-	 * The NativeMappedSignal class is used to map/transform an event other forms of data.
-	 * The transformed data is then sent along with the dispatched Signal.
-	 * This can be used to form a border where native flash Events do not cross.
+	 *

+	 * The NativeMappedSignal class is used to map/transform a native Event,
+	 * relayed from an IEventDispatcher, into other forms of data,
+	 * which are dispatched to all listeners.
+	 *

+	 *
This can be used to form a border where native flash Events do not cross.

 	 */
 	public class NativeMappedSignal extends NativeRelaySignal
 	{
 		/**
-		 * @default is initialized to flash.events.Event in constructor if omitted as parameter.
+		 * @default is initialized to flash.events.Event in constructor if omitted as parameter
 		 */
 		protected var _eventClass:Class;

@@ -20,6 +23,9 @@
 			return _eventClass;
 		}

+		/**
+		 * @default is null, no mapping will occur
+		 */
 		private var _mappingFunction:Function = null;

 		/*open for extension but closed for modifications*/
@@ -29,9 +35,9 @@
 		}

 		/**
-		 * Creates a new NativeMappedSignal instance to map events from an IEventDispatcher to another object.
-		 * For instance each time a certain button is clicked you can translate the MouseEvent.CLICKED into a
-		 * value class ButtonClicked or maybe send the name of the button.
+		 * Creates a new NativeMappedSignal instance to map/transform a native Event,
+	 	 * relayed from an IEventDispatcher, into other forms of data,
+	 	 * which are dispatched to all listeners.
 		 *
 		 * @param	target	An object that implements the flash.events.IEventDispatcher interface.
 		 * @param	eventType The event string name that would normally be passed to IEventDispatcher.addEventListener().
@@ -46,52 +52,51 @@
 		}

 		/**
-		 * @param objectListOrFunction This can either be a list of object literals or a function that returns list of objects.
-		 * If the argument is a list of object literals mapTo(): then this list is passed along with the Signal dispatch.
-		 *
-		 * Here's an example passing an object literal:
-		 *
-		 *
-		 * 	signal = new NativeMappedSignal(button, MouseEvent.CLICK, MouseEvent, String).mapTo("ping")
-		 * 	signal.add(function(arg:String):void { trace(arg) }) // prints "ping"
-		 *
+		 * Sets the mapping function or literal object list.
+		 * If the argument is a list of object literals then this list is dispatched to listeners.
+		 *
+		 * <listing version="3.0">
+		 *  signal = new NativeMappedSignal(button, MouseEvent.CLICK, MouseEvent, String).mapTo("ping")
+		 *  signal.add(function(arg:String):void { trace(arg) }) // prints "ping"
+		 * </listing>
 		 *
 		 * And an example passing a list of literals:
 		 *
-		 *
-		 * 	signal = new NativeMappedSignal(button, MouseEvent.CLICK, MouseEvent, String, int, Number).mapTo("ping", 3, 3.1415)
-		 * 	signal.add(function(arg1:String, arg2:int, arg3:Number):void { trace(arg1, arg2, arg3) }) // prints "ping", 3, 3.1415
-		 *
+		 * <listing version="3.0">
+		 *  signal = new NativeMappedSignal(button, MouseEvent.CLICK, MouseEvent, String, int, Number).mapTo("ping", 3, 3.1415)
+		 *  signal.add(function(arg1:String, arg2:int, arg3:Number):void { trace(arg1, arg2, arg3) }) // prints "ping", 3, 3.1415
+		 * </listing>
 		 *
 		 * If the argument is a function then it is called when the event this NativeMappedSignal is listeneing for is dispatched.
 		 * The function should return an Array or a single object. The data returned from the function is passed along as arguemnts in the Signal dispatch.
 		 * Lets look at some examples of mapping functions and the function that is called back:
 		 *
-		 *
+		 * <listing version="3.0">
 		 *  signal = new NativeMappedSignal(button, MouseEvent.CLICK, MouseEvent, String).mapTo(function():void {
-		 * 		return "ping"
-		 * 	})
-		 * 	signal.add(function(arg:String):void { trace(arg) }) // prints "ping"
-		 *
+		 *    return "ping"
+		 *  })
+		 *  signal.add(function(arg:String):void { trace(arg) }) // prints "ping"
+		 * </listing>
 		 *
 		 * and here's an example using a list of arguments:
 		 *
-		 *
+		 * <listing version="3.0">
 		 *  signal = new NativeMappedSignal(button, MouseEvent.CLICK, MouseEvent, String, int, Number).mapTo(function():void {
-		 * 		return ["ping", 3, 3.1415]
-		 * 	})
+		 *    return ["ping", 3, 3.1415]
+		 *  })
 		 * 	signal.add(function(arg1:String, arg2:int, arg3:Number):void { trace(arg1, arg2, arg3) }) // prints "ping", 3, 3.1415
-		 *
+		 * </listing>
 		 *
 		 * You can also state your wish to receive the native Event in th mapping function by simply including an argument of type Event:
 		 *
-		 *
+		 * <listing version="3.0">
 		 *  signal = new NativeMappedSignal(button, MouseEvent.CLICK, MouseEvent, Point).mapTo(function(event:MouseEvent):void {
-		 * 		return new Point(event.localX, event.localY)
-		 * 	})
-		 * 	signal.add(function(arg:Point):void { trace(arg) }) // prints "(x=128, y=256)"
-		 *
-		 *
+		 *    return new Point(event.localX, event.localY)
+		 *  })
+		 *  signal.add(function(arg:Point):void { trace(arg) }) // prints "(x=128, y=256)"
+		 * </listing>
+		 *
+		 * @param objectListOrFunction This can either be a list of object literals or a function that returns list of objects.
 		 * @return The NativeMappedSignal object this method was called on. This allows the Signal to be defined and mapped in one statement.
 		 */
 		public function mapTo(...objectListOrFunction):NativeMappedSignal
@@ -126,13 +131,11 @@

 		/**
 		 * This is used as eventHandler for target or can be called directly with the parameters specified by valueClasses.
-		 *
If used as eventHandler this uses PropertyRelaySignal's (or an extensions) property-filter-mechanism to only
-		 * dispatch the required values from the Event instead of the event itself.

+		 *
If used as eventHandler the data mapping system is used to supply the super.dispatch with alternative data to dispatch.

 		 *
-		 * @see #filterPropertyArguments()
-		 * @see #setPropertyFilterFunction()
+		 * @see #mapEvent()
+		 * @see #mapTo()
 		 * @see org.osflash.signals.NativeRelaySignal#dispatch()
-		 *
 		 */
 		override public function dispatch (... valueObjects):void
 		{
@@ -188,20 +191,20 @@

 		/**
 		 * For usage without extension, instances of NativeMappedSignal that are dispatching any values ( valueClasses.length > 0 ),
-		 * needs to be provided with a function with the follwing syntax:
-		 * function [name] (event:[eventClass provided in constructor or flash.events.Event]):Array
-		 * See setPropertyFilterFunction for more infos.
-		 * Subcclasses could override this one instead of letting the environment set the propertyFilterFunction,
-		 * MAKE SURE to also override setPropertyFilterFunction(...) if it should not be allowed.
+		 * needs to be provided with a either a mapping function or a list of object literals.
+		 * See mapTo for more info.
+		 *
+		 * Subcclasses could override this one instead of letting the environment set the mapTo,
+		 * MAKE SURE to also override mapTo(...) if it should not be allowed.
 		 *
 		 * @parameter eventFromTarget the event that was dispatched from target.
-		 * @return An object or Array of objects mapped from an Event. The mapping will be performed by the mapping function
-		 * if it is set (using mapTo). A list of object literals can also be supplied.
-		 * If no mapping function or object literals are supplied then an empty Array is returned.
-		 * if valueClasses.length > 0 or throws an ArgumentError.
+		 * @return An object or Array of objects mapped from an Event. The mapping of Event to data will be performed by the mapping function
+		 * if it is set. A list of object literals can also be supplied in place of the mapping function.
+		 * If no mapping function or object literals are supplied then an empty Array is returned or
+		 * if valueClasses.length > 0 an ArgumentError is thrown.
 		 *
 		 * @see #mapTo()
-		 * */
+		 */
 		protected function mapEvent (eventFromTarget:Event):Object
 		{
 			if (propertyFilterFunctionExists)


highlight cursor only draws if width and height are not NaN

--- src/org/openPyro/controls/listClasses/DefaultListRenderer.as
+++ src/org/openPyro/controls/listClasses/DefaultListRenderer.as
@@ -179,6 +179,9 @@
 		}

 		protected function drawHighlightCursor():void{
+			if(isNaN(width) || isNaN(height)){
+				return;
+			}

 			_highlightCursorSprite.graphics.clear();
 			_rollOverBackgroundPainter.draw(_highlightCursorSprite.graphics,width, height);


M Clean up GaussianSystem code

M Clean up GaussianSystem code

--- src/aerys/minko/type/math/GaussianSystem.as
+++ src/aerys/minko/type/math/GaussianSystem.as
@@ -7,12 +7,15 @@

 		public function GaussianSystem(numVariables : uint)
 		{
-			_numVariables = numVariables;
-			_equations = new Vector.<Vector.<Number>>();
+			_numVariables	= numVariables;
+			_equations		= new Vector.<Vector.<Number>>();
 		}

 		public function addEquation(v : Vector.<Number>) : void
 		{
+			if (v.length != _numVariables + 1)
+				throw new ArgumentError('This is not a valid equation');
+
 			_equations.push(v);
 		}

@@ -20,33 +23,35 @@
 		{
 			sort();

-			var numEq : uint = _equations.length;
-			for (var eqId : int = 0; eqId < numEq; ++eqId)
-				for (var eqId2 : int = eqId + 1; eqId2 < numEq; ++eqId2)
-					simplify(eqId2, eqId, eqId);
+			var numEquations	: uint = _equations.length;
+			var equationId		: int;

-			for (eqId = numEq - 1; eqId >= 0; --eqId)
-				for (eqId2 = 0; eqId2 < eqId; ++eqId2)
-					simplify(eqId2, eqId, eqId);
+			for (equationId = 0; equationId < numEquations; ++equationId)
+				for (var eqId2 : int = equationId + 1; eqId2 < numEquations; ++eqId2)
+					simplify(eqId2, equationId, equationId);
+
+			for (equationId = numEquations - 1; equationId >= 0; --equationId)
+				for (eqId2 = 0; eqId2 < equationId; ++eqId2)
+					simplify(eqId2, equationId, equationId);

 			var result : Vector.<Number> = new Vector.<Number>();
-			for (eqId = 0; eqId < _numVariables; ++eqId)
-				result.push(_equations[eqId][_numVariables] / _equations[eqId][eqId]);
+			for (equationId = 0; equationId < _numVariables; ++equationId)
+				result.push(_equations[equationId][_numVariables] / _equations[equationId][equationId]);

 			return result;
 		}

 		private function sort() : void
 		{
-			var numEq : uint = _equations.length;
+			var numEquations : uint = _equations.length;

-			for (var eqId : uint = 0; eqId < numEq; ++eqId)
-				for (var eqId2 : uint = eqId; eqId2 < numEq; ++eqId2)
-					if (_equations[eqId2][eqId] != 0)
+			for (var equationId1 : uint = 0; equationId1 < numEquations; ++equationId1)
+				for (var equationId2 : uint = equationId1; equationId2 < numEquations; ++equationId2)
+					if (_equations[equationId2][equationId1] != 0)
 					{
-						var tmp : Vector.<Number>	= _equations[eqId];
-						_equations[eqId]			= _equations[eqId2];
-						_equations[eqId2]			= tmp;
+						var tmp : Vector.<Number>	= _equations[equationId1];
+						_equations[equationId1]		= _equations[equationId2];
+						_equations[equationId2]		= tmp;
 						break;
 					}
 		}
@@ -58,8 +63,8 @@
 			var ratio : Number =
 				_equations[targetLine][targetComponent] / _equations[targetComponent][targetComponent];

-			for (var i : uint = 0; i < _numVariables + 1; ++i)
-				_equations[targetLine][i] -= _equations[sourceLine][i] * ratio;
+			for (var variableId : uint = 0; variableId <= _numVariables; ++variableId)
+				_equations[targetLine][variableId] -= _equations[sourceLine][variableId] * ratio;
 		}
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20388
Author:   chiedozi@adobe.com
Date:     2011-02-18T21:37:52.369587Z

Log Message:
-----------
Resolved FIXME where the bitmap snaphot padding was being manually removed for the image of the ActionBar and TabBar

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

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
@@ -77,12 +77,6 @@
     //  Variables
     //
     //--------------------------------------------------------------------------
-    /**
-     *  @private
-     *  Padding used to generate the actionbar bitmap.  This is needed so that
-     *  drop shadows can be properly captured.
-     */
-    mx_internal var actionBarBitmapPadding:uint = 4;

     /**
      *  @private
@@ -235,6 +229,8 @@
      */
     override public function captureStartValues():void
     {
+        var p:Point;
+
         super.captureStartValues();

         // Initialize the property bag used to save some of our
@@ -270,17 +266,27 @@
         else
         {
             cachedActionBar = getSnapshot(navigator.actionBar);
-        }
-
-        // Save the position of the action in global coordinates
-		if (actionBar)
-        	cachedActionBarGlobalPosition = getTargetNavigatorCoordinates(actionBar);
+
+            if (cachedActionBar)
+            {
+                // Save the global position of the cached actionBar image.  The getSnapshot method
+                // will position the image based on the original components parent.
+                p = new Point(cachedActionBar.x, cachedActionBar.y);
+                cachedActionBarGlobalPosition = actionBar.parent.localToGlobal(p);
+            }
+        }

         // Cache the tab bar bitmap and location
         if (tabBar)
         {
             cachedTabBar = getSnapshot(TabbedViewNavigator(targetNavigator).tabBar);
-            cachedTabBarGlobalPosition = getTargetNavigatorCoordinates(tabBar);
+
+            if (cachedTabBar)
+            {
+                p = new Point(cachedTabBar.x, cachedTabBar.y);
+                cachedTabBarGlobalPosition = tabBar.parent.localToGlobal(p);
+            }
+
             navigatorProps.tabBarIncludeInLayout = tabBar.includeInLayout;
             navigatorProps.tabBarCacheAsBitmap = tabBar.cacheAsBitmap;
         }
@@ -519,14 +525,14 @@
             endView.contentGroup.cacheAsBitmap = true;
         }

+        var localPos:Point;
         if (cachedActionBar)
         {
             // Reposition the cached actionBar
-            var localPos:Point = transitionGroup.globalToLocal(cachedActionBarGlobalPosition);
-
-            // FIXME (chiedozi): Need to remove the 4 pixel buffer
-            cachedActionBar.x = localPos.x - actionBarBitmapPadding;
-            cachedActionBar.y = localPos.y - actionBarBitmapPadding;
+            localPos = transitionGroup.globalToLocal(cachedActionBarGlobalPosition);
+
+            cachedActionBar.x = localPos.x;
+            cachedActionBar.y = localPos.y;

             cachedActionBar.includeInLayout = false;
             transitionGroup.addElement(cachedActionBar);
@@ -551,9 +557,11 @@
                     // animates a cachedBitamp
                     if (cachedTabBar)
                     {
+                        localPos = transitionGroup.globalToLocal(cachedTabBarGlobalPosition);
+
                         // Need to removed the 4 pixel buffer
-                        cachedTabBar.x = tabBar.x - actionBarBitmapPadding;
-                        cachedTabBar.y = tabBar.y - actionBarBitmapPadding;
+                        cachedTabBar.x = localPos.x;
+                        cachedTabBar.y = localPos.y;

                         cachedTabBar.includeInLayout = false;
                         transitionGroup.addElement(cachedTabBar);


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

--- frameworks/projects/automation_air/src/AutomationAirClasses.as
+++ frameworks/projects/automation_air/src/AutomationAirClasses.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/charts/src/mx/charts/effects/SeriesZoom.as
+++ frameworks/projects/charts/src/mx/charts/effects/SeriesZoom.as
@@ -0,0 +1,197 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.charts.effects
+{
+
+import mx.charts.effects.effectClasses.SeriesZoomInstance;
+import mx.effects.IEffectInstance;
+
+/**
+ *  The SeriesZoom effect implodes and explodes chart data
+ *  into and out of the focal point that you specify.
+ *  As with the SeriesSlide effect, whether the effect is zooming
+ *  to or from this point depends on whether it is assigned to the
+ *  showDataEffect or hideDataEffect effect trigger.
+ *
+ *  @mxml
+ *
+ *
The <mx:SeriesZoom> tag
+ *  inherits all the properties of its parent classes,
+ *  and adds the following properties:

+ *
+ *

+ *  <mx:SeriesZoom
+ *    Properties
+ *    horizontalFocus="center|left|right|null"
+ *    relativeTo="series|chart"
+ *    verticalFocus="top|center|bottom|null"
+ *  />
+ *

+ *
+ *  @includeExample examples/SeriesZoomExample.mxml
+ *
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class SeriesZoom extends SeriesEffect
+{
+    include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function SeriesZoom(target:Object = null)
+	{
+		super(target);
+
+		instanceClass = SeriesZoomInstance;
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+ 	//----------------------------------
+	//  horizontalFocus
+	//----------------------------------
+
+	[Inspectable(category="General", enumeration="left,center,right")]
+
+	/**
+	 *  Defines the location of the focul point of the zoom.
+	 *
+	 *
Valid values of the horizontalFocus property are "left",
+	 *  "center", "right",
+	 *  and null.

+	 *
+	 *
You combine the horizontalFocus and
+	 *  verticalFocus properties to define
+	 *  where the data series zooms in and out from.
+	 *  For example, set the horizontalFocus property to "left"
+	 *  and the verticalFocus property to "top" to zoom
+	 *  the series data to and from the top left corner of either
+	 *  the element or the chart (depending on the setting of the
+	 *  relativeTo property).

+	 *
+	 *
If you specify only one of these two properties,
+	 *  then the focus is a horizontal or vertical line rather than a point.
+	 *  For example, when you set horizontalFocus
+	 *  to "left" but verticalFocus
+	 *  to null, the element zooms to and from
+	 *  a vertical line along the left edge of its bounding box.
+	 *  Set the verticalFocus property to "center"
+	 *  to zoom chart elements to and from a horizontal line
+	 *  along the middle of the chart's bounding box.

+	 *
+	 *  @default "center"
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var horizontalFocus:String;
+
+ 	//----------------------------------
+	//  relativeTo
+	//----------------------------------
+
+	[Inspectable(category="General", enumeration="series,chart", defaultValue="series")]
+
+	/**
+	 *  Controls the bounding box that Flex uses to calculate
+	 *  the focal point of the zooms.
+	 *
+	 *
Valid values for the relativeTo property are
+	 *  "series" and "chart".

+	 *
+	 *
Set to "series" to zoom each element
+	 *  relative to itself.
+	 *  For example, each column of a ColumnChart zooms from the top left
+	 *  of the column, the center of the column, and so on.

+	 *
+	 *
Set to "chart" to zoom each element
+	 *  relative to the chart area.
+	 *  For example, each column zooms from the top left of the axes,
+	 *  the center of the axes, and so on.

+	 *
+	 *  @default "series"
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var relativeTo:String = "series";
+
+ 	//----------------------------------
+	//  verticalFocus
+	//----------------------------------
+
+	[Inspectable(category="General", enumeration="top,center,bottom")]
+
+	/**
+	 *  Defines the location of the focal point of the zoom.
+	 *  For more information, see the description of the
+	 *  horizontalFocus property.
+	 *
+	 *
Valid values of verticalFocus are
+	 *  "top", "center", "bottom",
+	 *  and null.

+	 *
+	 *  @default "center"
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var verticalFocus:String;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override protected function initInstance(instance:IEffectInstance):void
+	{
+		super.initInstance(instance);
+
+		var seriesZoomInstance:SeriesZoomInstance =
+			SeriesZoomInstance(instance);
+		seriesZoomInstance.horizontalFocus = horizontalFocus;
+		seriesZoomInstance.verticalFocus = verticalFocus;
+		seriesZoomInstance.relativeTo = relativeTo;
+	}
+}
+
+}


FLEX-34373 - fix default button handling

Signed-off-by: Erik de Bruin <c195b508e6f0c57aeafdb5e96947e2b79e6a4b40@ixsoftware.nl>

--- frameworks/projects/experimental/src/spark/components/Alert.as
+++ frameworks/projects/experimental/src/spark/components/Alert.as
@@ -396,7 +396,7 @@
          *  @productversion Flex 4.5
          */
         public static function show(message:String = "", title:String = "", flags:uint = OK, parent:Sprite = null, closeHandler:Function = null,
-                                    iconClass:Class = null, defaultButtonFlag:uint = 0 /* Alert.OK */, moduleFactory:IFlexModuleFactory = null):Alert {
+                                    iconClass:Class = null, defaultButtonFlag:uint = Alert.OK, moduleFactory:IFlexModuleFactory = null):Alert {

             var modal:Boolean = (flags & Alert.NONMODAL) ? false : true;

@@ -758,6 +758,42 @@
             return result;
         }

+		/**
+		 *  @private
+		 */
+		private function getDefaultButton():Button
+		{
+			var label:String;
+			switch (_defaultButtonFlag)
+			{
+				case YES :
+					label = YES_LABEL;
+					break;
+				case NO :
+					label = NO_LABEL;
+					break;
+				case OK :
+					label = OK_LABEL;
+					break;
+				case CANCEL :
+					label = CANCEL_LABEL;
+					break;
+				default :
+					label = '';
+					break;
+			}
+
+			for each (var button:Button in _buttons)
+			{
+				if (button.label === label)
+				{
+					return button;
+				}
+			}
+
+			return null;
+		}
+
         /**
          *  @private
          */
@@ -790,9 +826,10 @@
                 awm.activate(this);
             }
             if (_buttons) {
-                if (_defaultButtonFlag >= 0 && _defaultButtonFlag < _buttons.length - 1) {
-                    _buttons[ _defaultButtonFlag ].setFocus();
-                    _buttons[ _defaultButtonFlag ].drawFocus(true);
+				var button:Button = getDefaultButton();
+				if (button) {
+					button.setFocus();
+					button.drawFocus(true);
                 }
             }
         }


fixed DataBidnings.setProperty() oldValue local variable set but never used (issue #3 on github)

--- src/aerys/minko/type/data/DataBindings.as
+++ src/aerys/minko/type/data/DataBindings.as
@@ -86,8 +86,6 @@
 			if (newValue === null)
 				throw new Error("The argument 'newValue' cannot be null.");

-			var oldValue : Object = _values[propertyName];
-
 			if (_properties.indexOf(propertyName) < 0)
 				_properties.push(propertyName);


Finished off FilterUtil.

Finished off FilterUtil.

git-svn-id: b675b909355d5cf946977f44a8ec5a6ceb3782e4@199 ed5b42cb-e716-0410-a449-f6a68f950b19

--- src/as/com/threerings/flash/FilterUtil.as
+++ src/as/com/threerings/flash/FilterUtil.as
@@ -13,6 +13,7 @@
 import flash.filters.GradientBevelFilter;
 import flash.filters.GradientGlowFilter;

+import com.threerings.util.ArrayUtil;
 import com.threerings.util.ClassUtil;

 /**
@@ -78,28 +79,53 @@
         // when we have two filters of the same class, figure it out by hand...
         switch (c1) {
         case BevelFilter:
-            // TODO
-            return false;
+            var bf1 :BevelFilter = (f1 as BevelFilter);
+            var bf2 :BevelFilter = (f2 as BevelFilter);
+            return (bf1.angle == bf2.angle) && (bf1.blurX == bf2.blurX) &&
+                (bf1.blurY == bf2.blurY) && (bf1.distance == bf2.distance) &&
+                (bf1.highlightAlpha == bf2.highlightAlpha) &&
+                (bf1.highlightColor == bf2.highlightColor) && (bf1.knockout == bf2.knockout) &&
+                (bf1.quality == bf2.quality) && (bf1.shadowAlpha == bf2.shadowAlpha) &&
+                (bf1.shadowColor == bf2.shadowColor) && (bf1.strength == bf2.strength) &&
+                (bf1.type == bf2.type);

         case BlurFilter:
-            // TODO
-            return false;
+            var blur1 :BlurFilter = (f1 as BlurFilter);
+            var blur2 :BlurFilter = (f2 as BlurFilter);
+            return (blur1.blurX == blur2.blurX) && (blur1.blurY == blur2.blurY) &&
+                (blur1.quality == blur2.quality);

         case ColorMatrixFilter:
-            // TODO
-            return false;
+            var cmf1 :ColorMatrixFilter = (f1 as ColorMatrixFilter);
+            var cmf2 :ColorMatrixFilter = (f2 as ColorMatrixFilter);
+            return ArrayUtil.equals(cmf1.matrix, cmf2.matrix);

         case ConvolutionFilter:
-            // TODO
-            return false;
+            var cf1 :ConvolutionFilter = (f1 as ConvolutionFilter);
+            var cf2 :ConvolutionFilter = (f2 as ConvolutionFilter);
+            return (cf1.alpha == cf2.alpha) && (cf1.bias == cf2.bias) && (cf1.clamp == cf2.clamp) &&
+                (cf1.color == cf2.color) && (cf1.divisor == cf2.divisor) &&
+                ArrayUtil.equals(cf1.matrix, cf2.matrix) && (cf1.matrixX == cf2.matrixX) &&
+                (cf1.matrixY == cf2.matrixY) && (cf1.preserveAlpha == cf2.preserveAlpha);

         case DisplacementMapFilter:
-            // TODO
-            return false;
+            var dmf1 :DisplacementMapFilter = (f1 as DisplacementMapFilter);
+            var dmf2 :DisplacementMapFilter = (f2 as DisplacementMapFilter);
+            return (dmf1.alpha == dmf2.alpha) && (dmf1.color == dmf2.color) &&
+                (dmf1.componentX == dmf2.componentX) && (dmf1.componentY == dmf2.componentY) &&
+                (dmf1.mapBitmap == dmf2.mapBitmap) && dmf1.mapPoint.equals(dmf2.mapPoint) &&
+                (dmf1.mode == dmf2.mode) && (dmf1.scaleX == dmf2.scaleX) &&
+                (dmf1.scaleY == dmf2.scaleY);

         case DropShadowFilter:
-            // TODO
-            return false;
+            var dsf1 :DropShadowFilter = (f1 as DropShadowFilter);
+            var dsf2 :DropShadowFilter = (f2 as DropShadowFilter);
+            return (dsf1.alpha == dsf2.alpha) && (dsf1.angle = dsf2.angle) &&
+                (dsf1.blurX = dsf2.blurX) && (dsf1.blurY = dsf2.blurY) &&
+                (dsf1.color = dsf2.color) && (dsf1.distance = dsf2.distance) &&
+                (dsf1.hideObject = dsf2.hideObject) && (dsf1.inner = dsf2.inner) &&
+                (dsf1.knockout = dsf2.knockout) && (dsf1.quality = dsf2.quality) &&
+                (dsf1.strength = dsf2.strength);

         case GlowFilter:
             var gf1 :GlowFilter = (f1 as GlowFilter);
@@ -110,12 +136,24 @@
                 (gf1.strength == gf2.strength);

         case GradientBevelFilter:
-            // TODO
-            return false;
+            var gbf1 :GradientBevelFilter = (f1 as GradientBevelFilter);
+            var gbf2 :GradientBevelFilter = (f2 as GradientBevelFilter);
+            return ArrayUtil.equals(gbf1.alphas, gbf2.alphas) && (gbf1.angle == gbf2.angle) &&
+                (gbf1.blurX == gbf2.blurX) && (gbf1.blurY == gbf2.blurY) &&
+                ArrayUtil.equals(gbf1.colors, gbf2.colors) && (gbf1.distance == gbf2.distance) &&
+                (gbf1.knockout == gbf2.knockout) && (gbf1.quality == gbf2.quality) &&
+                ArrayUtil.equals(gbf1.ratios, gbf2.ratios) && (gbf1.strength == gbf2.strength) &&
+                (gbf1.type == gbf2.type);

         case GradientGlowFilter:
-            // TODO
-            return false;
+            var ggf1 :GradientGlowFilter = (f1 as GradientGlowFilter);
+            var ggf2 :GradientGlowFilter = (f2 as GradientGlowFilter);
+            return ArrayUtil.equals(ggf1.alphas, ggf2.alphas) && (ggf1.angle == ggf2.angle) &&
+                (ggf1.blurX == ggf2.blurX) && (ggf1.blurY == ggf2.blurY) &&
+                ArrayUtil.equals(ggf1.colors, ggf2.colors) && (ggf1.distance == ggf2.distance) &&
+                (ggf1.knockout == ggf2.knockout) && (ggf1.quality == ggf2.quality) &&
+                ArrayUtil.equals(ggf1.ratios, ggf2.ratios) && (ggf1.strength == ggf2.strength) &&
+                (ggf1.type == ggf2.type);

         default:
             throw new ArgumentError("OMG! Unknown filter type: " + c1);


Added addSeparator().

Added addSeparator().

git-svn-id: b675b909355d5cf946977f44a8ec5a6ceb3782e4@777 ed5b42cb-e716-0410-a449-f6a68f950b19

--- src/as/com/threerings/flex/CommandMenu.as
+++ src/as/com/threerings/flex/CommandMenu.as
@@ -106,6 +106,18 @@
     }

     /**
+     * Add a separator to the specified menu, unless it would not make sense to do so, because
+     * the menu is empty or already ends with a separator.
+     */
+    public static function addSeparator (menuItems :Array) :void
+    {
+        const len :int = menuItems.length;
+        if (len > 0 && menuItems[len - 1].type != "separator") {
+            menuItems.push({ type: "separator" });
+        }
+    }
+
+    /**
      * The mx.controls.Menu class overrides setting and getting the verticalScrollPolicy
      * basically setting the verticalScrollPolicy did nothing, and getting it always returned
      * ScrollPolicy.OFF.  So that's not going to work if we want the menu to scroll. Here we


Swap the order of the generatorFn and callbackFn args.
Made the generatorFn optional, in case the source values are already ready-to-go,
although 99% of the time it's going to be better to use the generator function
to get things ready to go because MultiLoader will take care of figuring out
the sources structure.

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

--- src/as/com/threerings/util/MultiLoader.as
+++ src/as/com/threerings/util/MultiLoader.as
@@ -143,15 +143,16 @@
             completeCallback(processProperty(retval, LoaderInfo, "loader"));
         };

-        new MultiLoader(sources, generator, complete, forEach);
+        new MultiLoader(sources, complete, generator, forEach);
     }

     /**
      * Coordinate loading some asynchronous objects.
      *
      * @param sources An Array, Dictionary, or Object of sources, or just a single source.
-     * @param generatorFunciton a function to call to generate the loaders.
      * @param completeCallack the function to call when complete.
+     * @param generatorFunciton a function to call to generate the IEventDispatchers, or
+     * null if the source values are already ready to go.
      * @param forEach whether to call the completeCallback for each source, or all-at-once at
      * the end. If forEach is used, keys will never be returned.
      * @param isCompleteCheckFn a function to attempt to call on the dispatcher to see if
@@ -161,7 +162,7 @@
      * @param completeType, the event complete type. If unspecifed @default Event.COMPLETE.
      */
     public function MultiLoader (
-        sources :Object, generatorFn :Function, completeCallback :Function,
+        sources :Object, completeCallback :Function, generatorFn :Function = null,
         forEach :Boolean = false, isCompleteCheckFn :String = null,
         errorTypes :Array = null, completeType :String = null)
     {
@@ -193,13 +194,14 @@
         }

         for (var key :* in sources) {
-            var sourceVal :Object = sources[key];
-            var val :Object;
-            try {
-                val = (sourceVal is Array) ? generatorFn.apply(null, sourceVal as Array)
-                                           : generatorFn(sourceVal);
-            } catch (err :Error) {
-                val = err;
+            var val :Object = sources[key];
+            if (generatorFn != null) {
+                try {
+                    val = (val is Array) ? generatorFn.apply(null, val as Array)
+                                         : generatorFn(val);
+                } catch (err :Error) {
+                    val = err;
+                }
             }
             _result[key] = val;
             if ((val is IEventDispatcher) &&


Transferred from the Adobe Open Source Subversion Repository

Revision: 18341
Author:   aharui@adobe.com
Date:     2010-10-27T20:30:46.927822Z

Log Message:
-----------
Don't require validation when closing dropdown without an effect.  There is a case where validation causes the dropdown to search on the cursor but the cursor is invalid since it hasn't picked up the collectionChange event because the ComboBox added its listeners to the collection before the dropdown did.

QE notes: none
Doc notes: none
Bugs: SDK-28067
Reviewer: Corey
Tests run: checkintests mustella full run
Is noteworthy for integration: no

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ComboBox.as

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

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

         inTween = true;
-        UIComponentGlobals.layoutManager.validateNow();
+        // only force validation if we're about to show
+        // or closing with effect.  Otherwise, if the iterator
+        // is out of sync in the dropdown, we'll get an RTE
+        // when closing
+        if (playEffect || show)
+            UIComponentGlobals.layoutManager.validateNow();

         // Block all layout, responses from web service, and other background
         // processing until the tween finishes executing.


Transferred from the Adobe Open Source Subversion Repository

Revision: 3057
Author:   jimurphy@adobe.com
Date:     2008-09-02T15:18:38.819662Z

Log Message:
-----------
Merged 3.0.x revisions [2966,2969,2995,3004,3018-3019,3023,3029-3030,3046,3049,3052] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/ModalWindowRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/PopUpRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/SliderThumb.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SizeRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterManagerRequest.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterManagerRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FocusRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/dividedBoxClasses/BoxDivider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootDragEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.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" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/EventUtil.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootMouseEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeRequest.as</path>

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

--- frameworks/projects/mx/src/mx/controls/DataGrid.as
+++ frameworks/projects/mx/src/mx/controls/DataGrid.as
@@ -72,6 +72,7 @@
 import mx.events.DragEvent;
 import mx.events.FlexEvent;
 import mx.events.IndexChangedEvent;
+import mx.events.SandboxMouseEvent;
 import mx.events.ScrollEvent;
 import mx.events.ScrollEventDetail;
 import mx.managers.CursorManager;
@@ -3888,6 +3889,8 @@
         // we disappear on any mouse down outside the editor
         systemManager.getSandboxRoot().
             addEventListener(MouseEvent.MOUSE_DOWN, editorMouseDownHandler, true, 0, true);
+        systemManager.getSandboxRoot().
+            addEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, editorMouseDownHandler, false, 0, true);
         // we disappear if stage is resized
         systemManager.addEventListener(Event.RESIZE, editorStageResizeHandler, true, 0, true);
     }
@@ -3982,6 +3985,8 @@
             DisplayObject(itemEditorInstance).removeEventListener(KeyboardEvent.KEY_DOWN, editorKeyDownHandler);
             systemManager.getSandboxRoot().
                 removeEventListener(MouseEvent.MOUSE_DOWN, editorMouseDownHandler, true);
+            systemManager.getSandboxRoot().
+                removeEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, editorMouseDownHandler);
             systemManager.removeEventListener(Event.RESIZE, editorStageResizeHandler, true);

             var event:DataGridEvent =
@@ -4598,10 +4603,12 @@
     /**
      *  @private
      */
-    private function editorMouseDownHandler(event:MouseEvent):void
-    {
-        if (!owns(DisplayObject(event.target)))
-            endEdit(DataGridEventReason.OTHER);
+    private function editorMouseDownHandler(event:Event):void
+    {
+        if (event is MouseEvent && owns(DisplayObject(event.target)))
+			return;
+
+        endEdit(DataGridEventReason.OTHER);
     }

     /**


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

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

 package mx.utils
 {


Improve exception message

Improve exception message

--- collect-client/src/generated/flex/org/openforis/collect/model/proxy/EntityProxy.as
+++ collect-client/src/generated/flex/org/openforis/collect/model/proxy/EntityProxy.as
@@ -115,7 +115,8 @@
 					var attribute:AttributeProxy = attributes.getItemAt(0) as AttributeProxy;
 					return attribute;
 				} else if (attributes.length > 1) {
-					throw new Error("Single attribute expected");
+					var message:String = "Single attribute expected but multiple values found: " + attributeName;
+					throw new Error(message);
 				}
 			}
 			return null;


OFC-1493 - Multiple entity selector label not being updated when deleting entities and no key attribute is defined

--- collect-client/src/generated/flex/org/openforis/collect/model/proxy/EntityProxy.as
+++ collect-client/src/generated/flex/org/openforis/collect/model/proxy/EntityProxy.as
@@ -260,6 +260,13 @@
 			node.init();
 			children.addItem(node);
 			showErrorsOnChild(name);
+
+			if ( node is EntityProxy && CollectionUtil.isEmpty(EntityDefinitionProxy(node.definition).keyAttributeDefinitions)) {
+				var siblings:IList = getChildren(node.name);
+				for each (var sibling:EntityProxy in siblings) {
+					sibling.updateKeyText();
+				}
+			}
 		}

 		public function removeChild(node:NodeProxy):void {
@@ -270,6 +277,13 @@
 				children.removeItemAt(index);
 			}
 			showErrorsOnChild(name);
+
+			if ( node is EntityProxy && CollectionUtil.isEmpty(EntityDefinitionProxy(node.definition).keyAttributeDefinitions)) {
+				var siblings:IList = getChildren(node.name);
+				for each (var sibling:EntityProxy in siblings) {
+					sibling.updateKeyText();
+				}
+			}
 		}

 		public function replaceChild(oldNode:NodeProxy, newNode:NodeProxy):void {


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

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

 package mx.controls.colorPickerClasses
 {


CKANDataSource now uses datastore/dump to download CSV data instead of datastore_search.

--- WeaveData/src/weave/data/DataSources/CKANDataSource.as
+++ WeaveData/src/weave/data/DataSources/CKANDataSource.as
@@ -16,6 +16,7 @@
 package weave.data.DataSources
 {
 	import mx.utils.ObjectUtil;
+	import mx.utils.URLUtil;

 	import weave.api.data.ColumnMetadata;
 	import weave.api.data.DataType;
@@ -143,6 +144,21 @@
 		public static const PARAMS_CKAN_FORMAT:String = 'ckan_format';
 		public static const PARAMS_CKAN_FIELD:String = 'ckan_field';
 		public static const DATASTORE_FORMAT:String = 'ckan_datastore';
+
+		public function getBaseURL():String
+		{
+			var baseurl:String = this.url.value || '';
+			var i:int = baseurl.lastIndexOf('/api');
+			if (i >= 0)
+				baseurl = baseurl.substr(0, i);
+			if (baseurl.charAt(baseurl.length - 1) != '/')
+				baseurl += '/';
+			return baseurl;
+		}
+		public function getFullURL(relativeURL:String):String
+		{
+			return URLUtil.getFullURL(getBaseURL(), relativeURL);
+		}

 		/**
 		 * @private
@@ -179,9 +195,10 @@
 				if (format == DATASTORE_FORMAT)
 				{
 					var datastore:CSVDataSource = new CSVDataSource();
+					datastore.url.value = getFullURL('datastore/dump/' + params[PARAMS_CKAN_ID]);
 					var node:CKANAction = new CKANAction(this);
 					node.action = CKANAction.DATASTORE_SEARCH;
-					node.params = {"resource_id": params[PARAMS_CKAN_ID]};
+					node.params = {"resource_id": params[PARAMS_CKAN_ID], "limit": 1};
 					node.resultHandler = function(result:Object):void {
 						datastore.metadata.setSessionState(
 							result['fields'].map(function(field:Object, i:*, a:*):Object {
@@ -199,9 +216,6 @@
 								return meta;
 							})
 						);
-						var columnOrder:Array = result['fields'].map(function(field:Object, i:*, a:*):String { return field['id']; });
-						var rows:Array = WeaveAPI.CSVParser.convertRecordsToRows(result['records'], columnOrder, true);
-						datastore.csvData.setSessionState(rows);
 					};
 					node.result; // will cause resultHandler to be called later
 					dataSource = datastore;
@@ -318,20 +332,11 @@
 	}
 	private function getURLRequest():URLRequest
 	{
-		// get base url
-		var url:String = source.url.value || '';
-		var i:int = url.lastIndexOf('/api');
-		if (i >= 0)
-			url = url.substr(0, i);
-		if (url.charAt(url.length - 1) != '/')
-			url += '/';
-
 		// append api command to url
 		var request:URLRequest;
 		if (apiVersion3)
 		{
-			url = URLUtil.getFullURL(url, "api/3/action/" + action);
-			request = new URLRequest(url);
+			request = new URLRequest(source.getFullURL("api/3/action/" + action));
 			if (params)
 			{
 				if (source.useHttpPost.value)
@@ -353,8 +358,7 @@
 			var cmd:String = 'api/' + source.apiVersion.value + '/rest/' + action.split('_')[0];
 			if (params && params.hasOwnProperty('id'))
 				cmd += '/' + params['id'];
-			url = URLUtil.getFullURL(url, cmd);
-			request = new URLRequest(url);
+			request = new URLRequest(source.getFullURL(cmd));
 		}
 		return request;
 	}
@@ -619,7 +623,7 @@
 				{
 					node.action = DATASTORE_SEARCH;
 					node.metadata = resource;
-					node.params = {"resource_id": resource['id'], "limit": 0};
+					node.params = {"resource_id": resource['id'], "limit": 1};
 				}
 				else
 				{


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

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

 package mx.rpc.xml
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 9214
Author:   jszeto@adobe.com
Date:     2009-08-11T00:29:45.322410Z

Log Message:
-----------
Slider Spark Skin for Halo bug fix

http://bugs.adobe.com/jira/browse/SDK-20191 - Disabled Halo Sliders look bad when using Spark skins

The track and highlight track in Halo Slider were not getting disabled. Usually the skin’s state is controlled by its component. But in this situation, we have multiple skins for each of the different parts of the Slider. The thumb part is a button, so the thumb skin has a component associated with it. But the track and highlight track are just added directly to the Slider’s displayList.

I added support into Slider to enable/disable the track and highlight track. I also updated the SliderTrackSkin and SliderHighlightTrackSkin to change their state based on the enabled value.

The Halo Slider won't look exactly like the Spark Slider because of the way that Halo and Spark disable their components. In Halo, each of the individual parts is alpha'ed, which means the track will bleed through the thumb.

QE notes: Update disabled Slider tests
Doc notes: None
Bugs: SDK-20191
Reviewer: Glenn
Tests run: Halo Slider
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/SliderTrackHighlightSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/SliderTrackSkin.mxml</path>

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

--- frameworks/projects/mx/src/mx/controls/sliderClasses/Slider.as
+++ frameworks/projects/mx/src/mx/controls/sliderClasses/Slider.as
@@ -14,24 +14,21 @@

 import flash.display.DisplayObject;
 import flash.display.Graphics;
-import flash.display.Sprite;
-import flash.events.Event;
 import flash.events.FocusEvent;
 import flash.events.KeyboardEvent;
 import flash.events.MouseEvent;
 import flash.geom.Point;
-import flash.utils.getTimer;
+
 import mx.core.FlexVersion;
 import mx.core.IFlexDisplayObject;
+import mx.core.IUIComponent;
+import mx.core.UIComponent;
 import mx.core.mx_internal;
-import mx.core.UIComponent;
 import mx.effects.Tween;
 import mx.events.FlexEvent;
 import mx.events.SliderEvent;
 import mx.events.SliderEventClickTarget;
 import mx.formatters.NumberFormatter;
-import mx.managers.ISystemManager;
-import mx.managers.SystemManager;
 import mx.styles.ISimpleStyleClient;
 import mx.styles.StyleProxy;

@@ -1680,14 +1677,20 @@
             n = thumbs.numChildren;
             for (i = 0; i < n; i++)
             {
-                SliderThumb(thumbs.getChildAt(i)).enabled = _enabled;
+                SliderThumb(thumbs.getChildAt(i)).enabled = enabled;
             }

             n = labelObjects ? labelObjects.numChildren : 0;
             for (i = 0; i < n; i++)
             {
-                SliderLabel(labelObjects.getChildAt(i)).enabled = _enabled;
-            }
+                SliderLabel(labelObjects.getChildAt(i)).enabled = enabled;
+            }
+
+            if (track is IUIComponent)
+                IUIComponent(track).enabled = enabled;
+
+            if (highlightTrack && highlightTrack is IUIComponent)
+                IUIComponent(highlightTrack).enabled = enabled;
         }

         if (tabIndexChanged)
@@ -1933,6 +1936,9 @@

             if (track is ISimpleStyleClient)
                 ISimpleStyleClient(track).styleName = this;
+
+            if (track is IUIComponent)
+                IUIComponent(track).enabled = enabled;

             innerSlider.addChildAt(DisplayObject(track),0);
         }
@@ -1952,6 +1958,9 @@

             if (highlightTrack is ISimpleStyleClient)
                 ISimpleStyleClient(highlightTrack).styleName = this;
+
+            if (highlightTrack is IUIComponent)
+                IUIComponent(highlightTrack).enabled = enabled;

             innerSlider.addChildAt(DisplayObject(highlightTrack),
                 innerSlider.getChildIndex(DisplayObject(track)) + 1);


FLEX-19055 Changed "snap" value to be a function of the range (1/1000 th)

--- frameworks/projects/mx/src/mx/controls/sliderClasses/Slider.as
+++ frameworks/projects/mx/src/mx/controls/sliderClasses/Slider.as
@@ -2581,13 +2581,15 @@
         var v:Number = (xPos - track.x) *
                        (maximum - minimum) /
                        (track.width) + minimum;
+
+		var threshold:Number = (maximum - minimum) / 1000;

         // kill rounding error at the edges.
-        if (v - minimum <= 0.002)
+        if (v - minimum <= threshold)
         {
             v = minimum;
         }
-        else if (maximum - v <= 0.002)
+        else if (maximum - v <= threshold)
         {
             v = maximum;
         }
@@ -2739,6 +2741,7 @@
                                 isProgrammatic:Boolean = false):void
     {
         var oldValue:Number = _values[index];
+		var threshold:Number = (maximum - minimum) / 1000;

         // we need to do the round of (to remove the floating point error)
         // if the stepSize had a fractional value
@@ -2770,7 +2773,7 @@

             if (!isNaN(oldValue))
             {
-            	if (Math.abs(oldValue - value) > 0.002)
+            	if (Math.abs(oldValue - value) > threshold)
             		dispatchEvent(event)
             }
             // Handle case of changing from NaN to a valid value


Transferred from the Adobe Open Source Subversion Repository

Revision: 8385
Author:   smgilson@adobe.com
Date:     2009-07-06T19:38:43.090419Z

Log Message:
-----------
ASDoc updates for Spark layouts and core

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

Modified Paths:
--------------
<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/spark/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/RowAlign.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/ISharedDisplayObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalAlign.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/MaskType.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/NavigationUnit.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.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/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalAlign.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/DisplayObjectSharingMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/ColumnAlign.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileOrientation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/TileOrientation.as
+++ frameworks/projects/spark/src/spark/layouts/TileOrientation.as
@@ -13,8 +13,8 @@
 {

 /**
- *  Enumerated type for the TileLayout's orientation
- *  property.
+ *  The TileOrientation class defines the possible values for the
+ *  orientation property of the TileLayout class.
  *
  *  @see TileLayout#orientation
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 10263
Author:   cframpto@adobe.com
Date:     2009-09-15T13:45:57.609886Z

Log Message:
-----------
Add textInputClass class to the components that use it so that textInputClass can be specified via mxml for DateField, NumericStepper, ColorPicker and ComboBox.

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

Modified Paths:
--------------
<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/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>

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

--- frameworks/projects/mx/src/mx/controls/ComboBase.as
+++ frameworks/projects/mx/src/mx/controls/ComboBase.as
@@ -219,6 +219,25 @@
  *  @productversion Flex 3
  */
 [Style(name="editableDisabledSkin", type="Class", inherit="no")]
+
+/**
+ *  The class implementing ITextInput that is used by this component
+ *  to input text.
+ *
+ *
It can be set to either the mx.core.TextInput class
+ *  (to use the classic Halo TextInput control)
+ *  or the mx.controls.TLFTextInput class
+ *  (to use the Spark TextInput component based on the Text Layout Framework
+ *  to get improved text rendering, including bidirectional layout).

+ *
+ *  @default mx.controls.TextInput
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="textInputClass", type="Class", inherit="no")]

 /**
  *  The style declaration for the internal TextInput subcomponent


Transferred from the Adobe Open Source Subversion Repository

Revision: 20687
Author:   smgilson@adobe.com
Date:     2011-03-08T20:09:56.755277Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ArrayCollection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/SortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Label.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/PopUpMenuButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/MovieClipSWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionView.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ComboBase.as</path>

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

--- frameworks/projects/mx/src/mx/controls/TextInput.as
+++ frameworks/projects/mx/src/mx/controls/TextInput.as
@@ -799,6 +799,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get editable():Boolean
     {
@@ -860,6 +865,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get horizontalScrollPosition():Number
     {
@@ -1279,6 +1289,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get maxChars():int
     {
@@ -1335,6 +1350,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get parentDrawsFocus():Boolean
     {
@@ -1369,6 +1389,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get restrict():String
     {
@@ -1409,6 +1434,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get selectable():Boolean
     {
@@ -1554,6 +1584,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get text():String
     {
@@ -2209,6 +2244,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get selectionActivePosition():int
     {
@@ -2218,6 +2258,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get selectionAnchorPosition():int
     {


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

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

 package mx.charts.chartClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4762
Author:   hmuller@adobe.com
Date:     2009-01-30T19:28:58.681729Z

Log Message:
-----------
Fixed CONTENT_JUSTIFY alignment in virtual Vertical,HorizontalLayout.

QE Notes:
Doc Notes: None
Bugs: sdk-18659
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
@@ -891,7 +891,7 @@
     }

     //  - virtual layout only -
-    private function calculateElementWidth(elt:ILayoutElement, targetWidth:Number, contentWidth:Number):Number
+    private function calculateElementWidth(elt:ILayoutElement, targetWidth:Number, containerWidth:Number):Number
     {
        // If percentWidth is specified then the element's width is the percentage
        // of targetWidth clipped to min/maxWidth and to (upper limit) targetWidth.
@@ -906,7 +906,7 @@
            case HorizontalAlign.JUSTIFY:
                return targetWidth;
            case HorizontalAlign.CONTENT_JUSTIFY:
-               return Math.max(elt.getPreferredBoundsWidth(), contentWidth);
+               return Math.max(elt.getPreferredBoundsWidth(), containerWidth);
        }
        return elt.getPreferredBoundsWidth();
     }
@@ -946,7 +946,7 @@
      *  be set to the target's actual (unscaled) width.
      *
      *  - If horizontalAlign is "contentJustify", then the element's width
-     *  will be set to the target's content width.
+     *  will be set to the larger of the target's width and its content width.
      *
      *  The X coordinate of each layout element will be set to 0 unless one of the
      *  following is true:
@@ -995,7 +995,7 @@
         {
             var elt:ILayoutElement = layoutTarget.getLayoutElementAt(index);
             var h:Number = (isNaN(fixedRowHeight)) ? elt.getPreferredBoundsHeight() : fixedRowHeight;
-            var w:Number = calculateElementWidth(elt, targetWidth, contentWidth);
+            var w:Number = calculateElementWidth(elt, targetWidth, containerWidth);
             var x:Number = calculateElementX(elt, w, containerWidth);
             elt.setLayoutBoundsPosition(x, y);
             elt.setLayoutBoundsSize(w, h);
@@ -1015,7 +1015,7 @@
                 for (index = startIndex; index <= endIndex; index++)
                 {
                     elt = layoutTarget.getLayoutElementAt(index);
-                    w = calculateElementWidth(elt, targetWidth, contentWidth);
+                    w = calculateElementWidth(elt, targetWidth, containerWidth);
                     x = calculateElementX(elt, w, containerWidth);
                     elt.setLayoutBoundsPosition(x, elt.getLayoutBoundsY());
                     elt.setLayoutBoundsSize(w, elt.getLayoutBoundsHeight());


Transferred from the Adobe Open Source Subversion Repository

Revision: 4622
Author:   hmuller@adobe.com
Date:     2009-01-22T20:56:42.845482Z

Log Message:
-----------
Many Bug fixes.

Setting a scrollbar's viewport now sets the viewport's clipContent flag to true.

DataGroup getRendererForItemAt(), getItemIndexForRenderer() are now public; were mx_internal.

QE Notes: tests that depend on mx_internal DataGroup getRendererForItemAt(), getItemIndexForRenderer() methods will break
Doc Notes: None
Bugs: sdk-18753, sdk-18217, sdk-18628, sdk-18659, sdk-18111, sdk18820, sdk18763
Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -280,7 +280,7 @@
     {
         super.itemSelected(index, selected);

-        var renderer:Object = dataGroup.mx_internal::getRendererForItemAt(index);
+        var renderer:Object = dataGroup.getRendererForItemAt(index);

         if (renderer)
         {
@@ -458,7 +458,7 @@
     {
         // Multiple selection needs to be added here....

-        selectedIndex = dataGroup.mx_internal::getItemIndexForRenderer(event.currentTarget as IVisualElement);
+        selectedIndex = dataGroup.getItemIndexForRenderer(event.currentTarget as IVisualElement);
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 19328
Author:   mhorn@adobe.com
Date:     2010-12-13T20:45:00.405533Z

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationAngledButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderDataTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationButtonSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as
@@ -35,6 +35,15 @@
     //  Constructor
     //
     //--------------------------------------------------------------------------
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     *
+     */
     public function TextSkinBase()
     {
         super();
@@ -170,7 +179,7 @@
     }

     /**
-     *  Renders a background for the skin
+     *  Renders a background for the skin.
      *
      *
This method, along with layoutContents(), is called
      *  by the updateDisplayList() method.

@@ -202,7 +211,7 @@
     }

     /**
-     *  Positions the children for this skin
+     *  Positions the children for this skin.
      *
      *
This method, along with drawBackground(), is called
      *  by the updateDisplayList() method.


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

--- frameworks/projects/advancedgrids/src/mx/olap/OLAPResultAxis.as
+++ frameworks/projects/advancedgrids/src/mx/olap/OLAPResultAxis.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 10050
Author:   dloverin@adobe.com
Date:     2009-09-08T14:43:16.690474Z

Log Message:
-----------
Per-Module Style Management: Create a style manager for each application/module.

The singleton StyleManager is still the only style manager that is currently used.

QE notes: None.
Doc notes: None.
Bugs:
Reviewer: Alex
Tests run: checkintests, Managers/StyleManager
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/IModuleInfo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/ModuleLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/ModuleManager.as</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/frameworks/projects/framework/src/mx/styles/IStyleManager2.as</path>

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

--- frameworks/projects/framework/src/mx/managers/ISystemManager.as
+++ frameworks/projects/framework/src/mx/managers/ISystemManager.as
@@ -435,31 +435,6 @@
     function getSandboxRoot():DisplayObject;

     /**
-     *  Register an implementation for an interface.
-	 *  Similar to Singleton.registerClass, but per-
-	 *  ISystemManager, and takes an instance not a class
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    function registerImplementation(interfaceName:String,
-										 impl:Object):void;
-
-    /**
-     *  Get the implementation for an interface.
-	 *  Similar to Singleton.getInstance, but per-
-	 *  ISystemManager
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-	function getImplementation(interfaceName:String):Object;
-
-    /**
      *  Get the bounds of the loaded application that are visible to the user
      *  on the screen.
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 4460
Author:   gosmith@adobe.com
Date:     2009-01-09T01:53:33.590972Z

Log Message:
-----------
Renamed UIComponentAccImpl to UIComponentAccProps because it extends AccessibilityProperties, not AccessibilityImplementation.

Added comments with the identifier for each magic role constant, so that it is easier to understand what roles our components are using.

Moved two static methods from UIComponentAccProperties to AccImpl because they make more sense there.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: None (no functional changes)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ColorPickerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DataGridAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateFieldAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/SliderAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/CheckBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/LinkButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ComboBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/RadioButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TabBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TreeAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/PanelAccImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/UIComponentAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateChooserAccImpl.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/UIComponentAccImpl.as" copyfrom-rev="4437" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/UIComponentAccProps.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AlertAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccordionHeaderAccImpl.as</path>

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

--- frameworks/projects/mx/src/mx/accessibility/ComboBaseAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/ComboBaseAccImpl.as
@@ -143,7 +143,7 @@
 	{
 		super(master);

-		role = 0x2E;
+		role = 0x2E; // ROLE_SYSTEM_COMBOBOX
 	}

 	//--------------------------------------------------------------------------
@@ -179,10 +179,7 @@
 	 */
 	override public function get_accRole(childID:uint):uint
 	{
-		if (childID == 0)
-			return role;
-
-		return ROLE_SYSTEM_LISTITEM;
+		return childID == 0 ? role : ROLE_SYSTEM_LISTITEM;
 	}

 	/**


Transferred from the Adobe Open Source Subversion Repository

Revision: 14744
Author:   klin@adobe.com
Date:     2010-03-12T23:33:39.865284Z

Log Message:
-----------
Merge revision 14741 from 4.x to trunk.

Adding ILayoutDirectionElement to address issues with non-styled components such as embedded bitmaps. Also, addressed issues with changing layoutDirection at runtime.

-Added ILayoutDirectionElement.as with the layoutDirection property and invalidateLayoutDirection(). I took them out of IVisualElement.
-Moved the mirroring code from FlexBitmap to BitmapAsset as well as SpriteAsset. Also, implemented ILayoutDirectionElement in both.
-Addressed issues with layoutDirection changing at runtime by adding logic in UIComponent and Container to call invalidateLayoutDirection() on all of their ILayoutDirectionElement children.
-Updated various other components to use the new interface.
-Updated the dependency checker.

QE notes: No
Doc notes: No
Bugs: SDK-25656, SDK-25685, SDK-25726, SDK-25758 , SDK-25776 , SDK-25784 , SDK-25791, SDK-25806
Reviewer: Jason, Carol
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/SpriteAsset.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexBitmap.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/BitmapAsset.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutDirection.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/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/ILayoutDirectionElement.as" copyfrom-rev="14741" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutDirectionElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>

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

--- frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
+++ frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
@@ -15,7 +15,6 @@
 import flash.display.BlendMode;
 import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
-import flash.display.Sprite;
 import flash.events.Event;
 import flash.events.IEventDispatcher;
 import flash.geom.ColorTransform;
@@ -32,9 +31,11 @@
 import mx.core.IFlexModule;
 import mx.core.IFlexModuleFactory;
 import mx.core.IInvalidating;
+import mx.core.ILayoutDirectionElement;
 import mx.core.IMXMLObject;
 import mx.core.IUIComponent;
 import mx.core.IVisualElement;
+import mx.core.LayoutDirection;
 import mx.core.mx_internal;
 import mx.events.PropertyChangeEvent;
 import mx.filters.BaseFilter;
@@ -46,7 +47,6 @@
 import mx.graphics.shaderClasses.ColorShader;
 import mx.graphics.shaderClasses.ExclusionShader;
 import mx.graphics.shaderClasses.HueShader;
-import mx.graphics.shaderClasses.LuminosityMaskShader;
 import mx.graphics.shaderClasses.LuminosityShader;
 import mx.graphics.shaderClasses.SaturationShader;
 import mx.graphics.shaderClasses.SoftLightShader;
@@ -2010,8 +2010,8 @@
         if (_layoutDirection != null)
             return _layoutDirection;

-        const parentElt:IVisualElement = parent as IVisualElement;
-        return (parentElt) ? parentElt.layoutDirection : "ltr";
+        const parentElt:ILayoutDirectionElement = parent as ILayoutDirectionElement;
+        return (parentElt) ? parentElt.layoutDirection : LayoutDirection.LTR;
 	}

 	/**
@@ -2031,7 +2031,7 @@
      */
     public function invalidateLayoutDirection():void
     {
-        const parentElt:IVisualElement = parent as IVisualElement;
+        const parentElt:ILayoutDirectionElement = parent as ILayoutDirectionElement;
         if (!parentElt)
             return;


increased thumbnail size

increased thumbnail size

--- WeaveUI/src/weave/Weave.as
+++ WeaveUI/src/weave/Weave.as
@@ -241,7 +241,7 @@

 		/******************************************************************************************/

-		private static const THUMBNAIL_SIZE:int = 128;
+		private static const THUMBNAIL_SIZE:int = 200;
 		private static const ARCHIVE_THUMBNAIL_PNG:String = "thumbnail.png";
 		private static const ARCHIVE_PLUGINS_AMF:String = "plugins.amf";
 		private static const ARCHIVE_HISTORY_AMF:String = "history.amf";


added option to disable recursion in removeTypeFromState()

--- WeaveJS/src/weavejs/api/core/DynamicState.as
+++ WeaveJS/src/weavejs/api/core/DynamicState.as
@@ -126,22 +126,24 @@
 		/**
 		 * Converts DynamicState Arrays into Objects.
 		 * @param state The state to convert
+		 * @param recursive Specifies whether or not to recursively remove types.
+		 *                  If this is set to false, this function will only have an effect if the given state is a DynamicState Array.
 		 * @return The converted state
 		 */
-		public static function removeTypeFromState(state:Object):Object
+		public static function removeTypeFromState(state:Object, recursive:Boolean = true):Object
 		{
 			if (DynamicState.isDynamicStateArray(state))
 			{
 				var newState:Object = {};
 				for each (var typedState:Object in state)
 					if (typeof typedState === 'object')
-						newState[typedState[OBJECT_NAME] || ''] = removeTypeFromState(typedState[SESSION_STATE]);
+						newState[typedState[OBJECT_NAME] || ''] = recursive ? removeTypeFromState(typedState[SESSION_STATE], true) : typedState[SESSION_STATE];
 				return newState;
 			}

-			if (typeof state === 'object')
+			if (recursive && typeof state === 'object')
 				for (var key:String in state)
-					state[key] = removeTypeFromState(state[key]);
+					state[key] = removeTypeFromState(state[key], true);
 			return state;
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 10759
Author:   chaase@adobe.com
Date:     2009-09-30T20:29:28.049407Z

Log Message:
-----------
Fixes bug in transform effects on nested group structures. We would calculate the transform center based on outdated width/height information for a group (because we took those values prior to running layout on the group, so it was not sized correctly).

The fix is to add width/height to the list of properties that transform effects care about (‘affectedProperties’). Then at those times when we calculate the transform center, we will use these cached values (which are correct at start/end time) rather than going out to the object to grab a potentially wrong value.

QE notes:  Handful of Mustella tests fail due to the new values of relevantProperties/affectedProperties for transform effects. We now care about width/height properties, too.
Doc notes: None
Bugs: SDK-23346
Reviewer: Jason
Tests run: checkintests, Mustella spark/effects, mx/effects/Parallel, mx/effects/Sequence
Is noteworthy for integration: Yes, downstream teams care about this bug

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

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
@@ -463,16 +463,20 @@
             // autoProps holds the properties that we want to automatically
             // create animations for. Only do this for properties that
             // are directly related to this effect instance (affectedProperties)
-            // and which change between states (propertyChanges values)
+            // and which change between states (propertyChanges values).
+            // Skip width/height because these are only used to calculate
+            // autoCenterTransform; we don't want to animate those values as
+            // a side effect of a transform effect.
             for (s in propertyChanges.end)
                 if (affectedProperties[s] !== undefined &&
                     propertyChanges.end[s] !== undefined &&
                     propertyChanges.start[s] !== undefined)
                 {
-                    if (s == "postLayoutTranslationX" ||
-                        s == "postLayoutTranslationY" ||
-                        s == "postLayoutTranslationZ" ||
-                        propertyChanges.start[s] != propertyChanges.end[s])
+                    if (s != "width" && s!= "height" &&
+                        (s == "postLayoutTranslationX" ||
+                         s == "postLayoutTranslationY" ||
+                         s == "postLayoutTranslationZ" ||
+                         propertyChanges.start[s] != propertyChanges.end[s]))
                     {
                         autoProps[s] = s;
                     }