Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/framework/src/mx/printing/FlexPrintJobScaleType.as
+++ frameworks/projects/framework/src/mx/printing/FlexPrintJobScaleType.as
@@ -17,6 +17,11 @@
  *  of the FlexPrintJob.addObject() method parameter.
  *
  *  @see FlexPrintJob#addObject()
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public final class FlexPrintJobScaleType
 {
@@ -32,6 +37,11 @@
 	 *  Scales the object to fill at least one page completely;
 	 *  that is, it selects the larger of the MATCH_WIDTH or MATCH_HEIGHT
 	 *  scale types.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const FILL_PAGE:String = "fillPage";

@@ -39,6 +49,11 @@
 	 *  Scales the object to fill the available page height.
 	 *  If the resulting object width exceeds the page width, the output
 	 *  spans multiple pages.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const MATCH_HEIGHT:String = "matchHeight";

@@ -46,6 +61,11 @@
 	 *  Scales the object to fill the available page width.
 	 *  If the resulting object height exceeds the page height, the output
 	 *  spans multiple pages.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const MATCH_WIDTH:String = "matchWidth";

@@ -54,6 +74,11 @@
 	 *  The printed page has the same dimensions as the object on the screen.
 	 *  If the object height, width, or both dimensions exceed the page width
 	 *  or height, the output spans multiple pages.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const NONE:String = "none";

@@ -61,6 +86,11 @@
 	 *  Scales the object to fit on a single page, filling one dimension;
 	 *  that is, it selects the smaller of the MATCH_WIDTH or MATCH_HEIGHT
 	 *  scale types.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const SHOW_ALL:String = "showAll";
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 10545
Author:   aharui@adobe.com
Date:     2009-09-23T20:33:21.208619Z

Log Message:
-----------
Make DataGrid smarter about when and how to calculate the modulefactory for its renderers when using embedded fonts

QE Notes: 2 Mustella tests fail:
components/DataGrid/DataGrid_HaloSkin/Properties/datagrid_properties_columns_halo datagrid_properties_columns_increase0to1_halo
components/DataGrid/DataGrid_SparkSkin/Properties/datagrid_properties_columns datagrid_properties_columns_increase0to1
These fixes get us to measure the embedded fonts correctly when going from 0 columns to a set of columns so rowHeight will be different (and better) in those scenarios

Doc Notes: None
Bugs: SDK-15241
Reviewer: Darrell
API Change: No
Is noteworthy for integration: No
tests: checkintests mustella/browser/DataGrid

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase.as</path>

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBase.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBase.as
@@ -299,6 +299,12 @@
     mx_internal var columnsInvalid:Boolean = true;

     /**
+     *  Flag specifying that the font context of the renderers need to
+     *  be recomputed.
+     */
+    mx_internal var fontContextChanged:Boolean = true;
+
+    /**
      *  @private
      *  must be overridden by subclasses
      */


updated assert

updated assert

--- src-test/flexlib/scheduling/util/DateUtilTest.as
+++ src-test/flexlib/scheduling/util/DateUtilTest.as
@@ -1,5 +1,7 @@
 package flexlib.scheduling.util
 {
+	import flexunit.framework.Assert;
+
 	public class DateUtilTest
 	{
 		[Test]
@@ -15,7 +17,7 @@
 			public static const CENTURY_IN_MILLISECONDS : Number = 100 * 12 * 30 * 24 * 60 * 60 * 1000;
 			public static const MILLENIUM_IN_MILLISECONDS : Number = 1000 * 100 * 12 * 30 * 24 * 60 * 60 * 1000;
 			*/
-			Assert.isTrue( DateUtil.MINUTE_IN_MILLISECONDS == (60 * 1000) )
+			Assert.assertTrue( DateUtil.MINUTE_IN_MILLISECONDS == (60 * 1000) )
 		}

 	}


advanced comparator

advanced comparator

--- src/com/kemsky/impl/Stream.as
+++ src/com/kemsky/impl/Stream.as
@@ -382,9 +382,9 @@
             return dict;
         }

-        public function group(callback:Function, weak:Boolean = false):Dictionary
-        {
-            var dict:Dictionary = new Dictionary(weak);
+        public function group(callback:Function, factory:Class = null):*
+        {
+            var dict:* = factory == null ? new Dictionary() : new factory();
             for each (var item:* in source)
             {
                 var key:* = callback(item);


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

--- frameworks/projects/advancedgrids/src/mx/olap/OLAPAttributeLevel.as
+++ frameworks/projects/advancedgrids/src/mx/olap/OLAPAttributeLevel.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: 7541
Author:   gruehle@adobe.com
Date:     2009-06-04T00:14:58.720187Z

Log Message:
-----------
AIR Window/WindowedApplication bug fixes:

SDK-21585 - When minimizable = false, calling minimize() still minimizes.
* Added early exit to minimize() if minimizable is false. Fixed in all 4 window classes (spark/halo, Window/WindowedApplication)

SDK-21494 - You get a runtime error when setting baseColor on a WindowedAppliation
* There were problems with the exclusions list in several of the AIR skins

QA Notes: 21585 needs to be regressed for all 4 window classes.
Doc Notes: none
Reviewer: Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/FlexChromeSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/WindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/MacTitleBarSkin.mxml</path>

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

--- frameworks/projects/airframework/src/mx/core/WindowedApplication.as
+++ frameworks/projects/airframework/src/mx/core/WindowedApplication.as
@@ -2663,6 +2663,9 @@
      */
     public function minimize():void
     {
+        if (!minimizable)
+            return;
+
         if (!nativeWindow.closed)
         {
             var e:NativeWindowDisplayStateEvent = new NativeWindowDisplayStateEvent(


Transferred from the Adobe Open Source Subversion Repository

Revision: 20844
Author:   jimurphy@adobe.com
Date:     2011-03-14T15:10:07.899037Z

Log Message:
-----------
block hero_private revs 20698,20699,20702 from being merged into trunk
revert 20839,20841,20842,20843

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/StringUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>

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

--- frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as
@@ -238,7 +238,12 @@
     }

     /**
-     *  @private
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override protected function commitProperties():void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5220
Author:   chaase@adobe.com
Date:     2009-03-10T15:55:06.496289Z

Log Message:
-----------
New Transform effects to handle correctly doing Move, Rotate, and Scale operations simultaneously. Also, added keyframe capabilities to new effects system (necessary for the transform effects, shouldn't affect operation of other effects). Fixed various issues with effects/transition infrastructure as necessary. Added transform utility functions to UIComponent, AdvancedLayoutFeatures, and GraphicElement.

QE Notes: This will break existing new effects tests due to changes in core Animation and AnimationEvent classes, QE is disabling them for now and will add them back in as changes are made.
Doc Notes: None
Bugs:
Reviewer: Ely (transform utilities) and Jason (the rest)
tests: checkintests, Mustella tests/Effects, tests/ListDataEffects

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate3D.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxRotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/AnimationEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/AnimationProperty.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as
+++ frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as
@@ -126,6 +126,8 @@
 	private static const RADIANS_PER_DEGREES:Number = Math.PI / 180;

 	private static const ZERO_REPLACEMENT_IN_3D:Number = .00000000000001;
+
+	private static var tempTransformCenter:Vector3D;

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

@@ -700,10 +702,6 @@
 	}

-
-
-
-
 	/**
 	 * @private
 	 * convenience function for building a 2D matrix from the convenience properties
@@ -748,194 +746,252 @@

 	/**
-	 * @private
-	 * call when you're about to change the transform, and when complete you want to keep a particular point fixed in its parent coordinate space.
-	 */
-	public function prepareForTransformCenterAdjustment(affectLayout:Boolean,propertyIs3D:Boolean,tx:Number = NaN,ty:Number = NaN,tz:Number = NaN):Object
-	{
-		var computedCenterV:Vector3D;
-		var computedCenterP:Point;
-		var token:Object = {};
-
-		if(isNaN(tx))
-			tx = layout.transformX;
-		if(isNaN(ty))
-			ty = layout.transformY;
-		if(isNaN(tz))
-			tz = layout.transformZ;
-
-		var needAdjustment:Boolean = (tx != 0 || ty != 0 || tz != 0);
-
-		if(needAdjustment == false)
-		{
-			return null;
-		}
-
-		if (is3D || propertyIs3D)
-		{
-			var centerV:Vector3D = new Vector3D(tx,ty,tz);
-			if(affectLayout)
-			{
-				var layoutCenterV:Vector3D = layoutMatrix3D.transformVector(centerV);
-				layoutCenterV.project();
-				token.layout = layoutCenterV;
-			}
-
-			if(_offsets != null)
-			{
-				computedCenterV = computedMatrix3D.transformVector(centerV);
-				computedCenterV.project();
-				token.offset = computedCenterV;
-			}
-			token.center = centerV;
-		}
-		else
-		{
-			var centerP:Point = new Point(tx,ty);
-			if(affectLayout)
-				token.layout = layoutMatrix.transformPoint(centerP);
-
-			if(_offsets != null)
-				token.offset = computedMatrix.transformPoint(centerP);
-			token.center = centerP;
-		}
-		return token;
-	}
-
-	/**
-	 * @private
-	 * call when you've changed the inputs to the computed transform to make any adjustments to keep a particular point fixed in parent coordinates.
-	 */
-	public function completeTransformCenterAdjustment(token:Object,changeIs3D:Boolean):void
-	{
-		if(token == null)
-			return;
-
-		var computedCenterV:Vector3D;
-		var computedCenterP:Point;
-		var layoutCenterV:Vector3D;
-		var layoutCenterP:Point;
-
-		if(is3D || changeIs3D)
-		{
-			var centerV:Vector3D = token.center;
-			computedCenterV = token.offset;
-			layoutCenterV = token.layout;
-			if(layoutCenterV != null)
-			{
-				var adjustedLayoutCenterV:Vector3D = layoutMatrix3D.transformVector(centerV);
-				adjustedLayoutCenterV.project();
-				if(adjustedLayoutCenterV.equals(layoutCenterV) == false)
-				{
-					layout.translateBy(layoutCenterV.x - adjustedLayoutCenterV.x,
-								layoutCenterV.y - adjustedLayoutCenterV.y,
-								layoutCenterV.z - adjustedLayoutCenterV.z
-								);
-					invalidate();
-				}
-			}
-			if(computedCenterV != null)
-			{
-				var adjustedComputedCenterV:Vector3D = computedMatrix3D.transformVector(centerV);
-				adjustedComputedCenterV.project();
-				if(adjustedComputedCenterV.equals(computedCenterV) == false)
-				{
-					offsets.x +=computedCenterV.x - adjustedComputedCenterV.x;
-					offsets.y += computedCenterV.y - adjustedComputedCenterV.y;
-					offsets.z += computedCenterV.z - adjustedComputedCenterV.z;
-					invalidate();
-				}
-			}
-		}
-		else
-		{
-			var centerP:Point = token.center;
-			computedCenterP = token.offset;
-			layoutCenterP = token.layout;
-			if(layoutCenterP != null)
-			{
-				var adjustedLayoutCenterP:Point = layoutMatrix.transformPoint(centerP);
-				if(adjustedLayoutCenterP.equals(layoutCenterP) == false)
-				{
-					layout.translateBy(layoutCenterP.x - adjustedLayoutCenterP.x,
-								layoutCenterP.y - adjustedLayoutCenterP.y,
-								0
-								);
-					invalidate();
-				}
-			}
-
-			if(computedCenterP != null)
-			{
-				var adjustedComputedCenterP:Point = computedMatrix.transformPoint(centerP);
-				if(adjustedComputedCenterP.equals(computedCenterP) == false)
-				{
-					_offsets.x += computedCenterP.x - adjustedComputedCenterP.x;
-				    _offsets.y += computedCenterP.y - adjustedComputedCenterP.y;
-					invalidate();
-				}
-			}
-		}
-	}
-
-	/**
-	 * A utility method to update the rotation and scale of the transform while keeping a particular point, specified in the component's own coordinate space,
-	 * fixed in the parent's coordinate space.  This function will assign the rotation and scale values provided, then update the x/y/z properties
-	 * as necessary to keep tx/ty/tz fixed.
+	 * A utility method to update the rotation and scale of the transform
+	 * while keeping a particular point, specified in the component's
+	 * own coordinate space, fixed in the parent's coordinate space.
+	 * This function will assign the rotation and scale values provided,
+	 * then update the x/y/z properties as necessary to keep tx/ty/tz fixed.
 	 * @param rx,ry,rz the new values for the rotation of the transform
 	 * @param sx,sy,sz the new values for the scale of the transform
-	 * @param tx,ty,tz the point, in the component's own coordinates, to keep fixed relative to its parent.
-	 * affectLayout: whether the rotation and scale should be applied to the layout transform or the offsets.  Note that the offsets might be updated
-	 * even when the new values are being applied to the layout.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function transformAround(rx:Number,ry:Number,rz:Number,sx:Number,sy:Number,sz:Number,tx:Number,ty:Number,tz:Number,affectLayout:Boolean = true):void
-	{
-		var is3D:Boolean = ((!isNaN(rx) && rx != 0) || (!isNaN(ry) && ry != 0) || (!isNaN(sz) && sz != 1));
-
-		var token:Object = prepareForTransformCenterAdjustment(affectLayout,is3D,tx,ty,tz);
-		if(affectLayout)
-		{
-			if(!isNaN(rx))
-				layout.rotationX = rx;
-			if(!isNaN(ry))
-				layout.rotationY = ry;
-			if(!isNaN(rz))
-				layout.rotationZ = rz;
-			if(!isNaN(sx))
-				layout.scaleX = sx;
-			if(!isNaN(sx))
-				layout.scaleY = sy;
-			if(!isNaN(sz))
-				layout.scaleZ = sz;
-		}
-		else
-		{
-			if(_offsets == null)
-				offsets = new TransformOffsets();
-
-			if(!isNaN(rx))
-				_offsets.rotationX = rx;
-			if(!isNaN(ry))
-				_offsets.rotationY = ry;
-			if(!isNaN(rz))
-				_offsets.rotationZ = rz;
-			if(!isNaN(sx))
-				_offsets.scaleX = sx;
-			if(!isNaN(sx))
-				_offsets.scaleY = sy;
-			if(!isNaN(sz))
-				_offsets.scaleZ = sz;
-		}
-		invalidate();
-		completeTransformCenterAdjustment(token,is3D);
-
-	}
-
+	 * @param tx,ty,tz the point, in the component's own coordinates,
+	 * to keep fixed relative to its parent.
+	 */
+    public function transformPointToParent(propertyIs3D:Boolean,
+        transformCenter:Vector3D, currentPosition:Vector3D,
+        currentPostLayoutPosition:Vector3D):void
+    {
+        var computedCenterV:Vector3D;
+        var token:Object = {};
+        tempTransformCenter =
+            transformCenter ?
+            transformCenter :
+            new Vector3D();
+
+        if (is3D || propertyIs3D)
+        {
+            if (currentPosition != null)
+            {
+                var layoutCenterV:Vector3D =
+                    layoutMatrix3D.transformVector(tempTransformCenter);
+                layoutCenterV.project();
+                currentPosition.x = layoutCenterV.x;
+                currentPosition.y = layoutCenterV.y;
+                currentPosition.z = layoutCenterV.z;
+            }
+
+            if (currentPostLayoutPosition != null && _offsets != null)
+            {
+                computedCenterV = computedMatrix3D.transformVector(tempTransformCenter);
+                computedCenterV.project();
+                currentPostLayoutPosition.x = computedCenterV.x;
+                currentPostLayoutPosition.y = computedCenterV.y;
+                currentPostLayoutPosition.z = computedCenterV.z;
+            }
+        }
+        else
+        {
+            var centerP:Point = new Point(tempTransformCenter.x,
+                tempTransformCenter.y);
+            if (currentPosition != null)
+            {
+
+                var currentPositionPt:Point = layoutMatrix.transformPoint(centerP);
+                currentPostLayoutPosition.x = currentPositionPt.x;
+                currentPostLayoutPosition.y = currentPositionPt.y;
+                currentPostLayoutPosition.z = 0;
+            }
+
+            if (currentPostLayoutPosition != null && _offsets != null)
+            {
+                currentPositionPt = computedMatrix.transformPoint(centerP);
+                currentPostLayoutPosition.x = currentPositionPt.x;
+                currentPostLayoutPosition.y = currentPositionPt.y;
+                currentPostLayoutPosition.z = 0;
+            }
+        }
+    }
+
+    /**
+     * @private
+     * call when you've changed the inputs to the computed transform to make
+     * any adjustments to keep a particular point fixed in parent coordinates.
+     */
+    private function completeTransformCenterAdjustment(changeIs3D:Boolean,
+        transformCenter:Vector3D, targetPosition:Vector3D,
+        targetPostLayoutPosition:Vector3D):void
+    {
+
+        if (is3D || changeIs3D)
+        {
+            if (targetPosition != null)
+            {
+                var adjustedLayoutCenterV:Vector3D =
+                    layoutMatrix3D.transformVector(transformCenter);
+                adjustedLayoutCenterV.project();
+                if(adjustedLayoutCenterV.equals(targetPosition) == false)
+                {
+                    layout.translateBy(targetPosition.x - adjustedLayoutCenterV.x,
+                        targetPosition.y - adjustedLayoutCenterV.y,
+                        targetPosition.z - adjustedLayoutCenterV.z);
+                    invalidate();
+                }
+            }
+            if (targetPostLayoutPosition != null && _offsets != null)
+            {
+                var adjustedComputedCenterV:Vector3D =
+                    computedMatrix3D.transformVector(transformCenter);
+                adjustedComputedCenterV.project();
+                if (adjustedComputedCenterV.equals(targetPostLayoutPosition) == false)
+                {
+                    offsets.x +=targetPostLayoutPosition.x - adjustedComputedCenterV.x;
+                    offsets.y += targetPostLayoutPosition.y - adjustedComputedCenterV.y;
+                    offsets.z += targetPostLayoutPosition.z - adjustedComputedCenterV.z;
+                    invalidate();
+                }
+            }
+        }
+        else
+        {
+            var transformCenterP:Point = new Point(transformCenter.x,transformCenter.y);
+            if (targetPosition != null)
+            {
+                var currentPositionP:Point = layoutMatrix.transformPoint(transformCenterP);
+                if (currentPositionP.x != targetPosition.x ||
+                    currentPositionP.y != targetPosition.y)
+                {
+                    layout.translateBy(targetPosition.x - currentPositionP.x,
+                        targetPosition.y - currentPositionP.y, 0);
+                    invalidate();
+                }
+            }
+
+            if (targetPostLayoutPosition != null && _offsets != null)
+            {
+                var currentPostLayoutPosition:Point =
+                    computedMatrix.transformPoint(transformCenterP);
+                if (currentPostLayoutPosition.x != targetPostLayoutPosition.x ||
+                    currentPostLayoutPosition.y != targetPostLayoutPosition.y)
+                {
+                    _offsets.x += targetPostLayoutPosition.x - currentPostLayoutPosition.x;
+                    _offsets.y += targetPostLayoutPosition.y - currentPostLayoutPosition.y;
+                    invalidate();
+                }
+            }
+        }
+    }
+
+    private static var staticTranslation:Vector3D = new Vector3D();
+    private static var staticOffsetTranslation:Vector3D = new Vector3D();
+
+    /**
+     * A utility method to update the rotation and scale of the transform
+     * while keeping a particular point, specified in the component's own
+     * coordinate space, fixed in the parent's coordinate space.  This
+     * function will assign the rotation and scale values provided, then
+     * update the x/y/z properties as necessary to keep tx/ty/tz fixed.
+     * @param transformCenter the point, in the component's own coordinates,
+     * to keep fixed relative to its parent.
+     * @param rotation the new values for the rotation of the transform
+     * @param scale the new values for the scale of the transform
+     * @param translation the new values for the translation of the transform
+     */
+    public function transformAround(transformCenter:Vector3D,
+                                    scale:Vector3D,
+                                    rotation:Vector3D,
+                                    translation:Vector3D,
+                                    postLayoutScale:Vector3D = null,
+                                    postLayoutRotation:Vector3D = null,
+                                    postLayoutTranslation:Vector3D = null):void
+    {
+        var is3D:Boolean = (scale != null && scale.z != 1) ||
+            (rotation != null && ((rotation.x != 0 ) || (rotation.y != 0))) ||
+            (translation != null && translation.z != 0) ||
+            (postLayoutScale != null && postLayoutScale.z != 1) ||
+            (postLayoutRotation != null &&
+                (postLayoutRotation.x != 0 || postLayoutRotation.y != 0)) ||
+            (postLayoutTranslation != null && postLayoutTranslation.z != 0);
+
+        var needOffsets:Boolean = _offsets == null &&
+            (postLayoutScale != null || postLayoutRotation != null ||
+                postLayoutTranslation != null);
+        if(needOffsets)
+            _offsets = new TransformOffsets();
+
+        // if transformCener is null, we can just set x/y/z, so we can short circuit this.
+        var targetPosition:Vector3D =
+            (translation == null) ?
+            staticTranslation:
+            null;
+        var postLayoutTargetPosition:Vector3D =
+            (postLayoutTranslation == null) ?
+            staticOffsetTranslation:
+            null;
+        if (transformCenter != null &&
+            (transformCenter.x != 0 || transformCenter.y != 0 || transformCenter.z != 0) &&
+            (targetPosition != null || postLayoutTargetPosition != null))
+        {
+            transformPointToParent(is3D, transformCenter, targetPosition,
+                postLayoutTargetPosition);
+        }
+        if (targetPosition == null)
+            targetPosition = translation;
+        if (postLayoutTargetPosition == null)
+            postLayoutTargetPosition = postLayoutTranslation;
+
+        if (rotation != null)
+        {
+            if (!isNaN(rotation.x))
+                layout.rotationX = rotation.x;
+            if (!isNaN(rotation.y))
+                layout.rotationY = rotation.y;
+            if (!isNaN(rotation.z))
+                layout.rotationZ = rotation.z;
+        }
+        if (scale != null)
+        {
+            if (!isNaN(scale.x))
+                layout.scaleX = scale.x;
+            if (!isNaN(scale.y))
+                layout.scaleY = scale.y;
+            if (!isNaN(scale.z))
+                layout.scaleZ = scale.z;
+        }
+
+        if (postLayoutRotation != null)
+        {
+            _offsets.rotationX = postLayoutRotation.x;
+            _offsets.rotationY = postLayoutRotation.y;
+            _offsets.rotationZ = postLayoutRotation.z;
+        }
+        if (postLayoutScale != null)
+        {
+            _offsets.scaleX = postLayoutScale.x;
+            _offsets.scaleY = postLayoutScale.y;
+            _offsets.scaleZ = postLayoutScale.z;
+        }
+
+        if (transformCenter == null)
+        {
+            if (translation != null)
+            {
+                layout.x = translation.x;
+                layout.y = translation.y;
+                layout.z = translation.z;
+            }
+            if (postLayoutTranslation != null)
+            {
+                _offsets.x = postLayoutTranslation.x;
+                _offsets.y = postLayoutTranslation.y;
+                _offsets.z = postLayoutTranslation.z;
+            }
+        }
+        invalidate();
+        if (transformCenter != null)
+            completeTransformCenterAdjustment(is3D, transformCenter,
+                targetPosition, postLayoutTargetPosition);
+
+    }
+
 }
 }


Update WidgetTypeLoader#getModuleFiles() to return nested module files.

--- src/com/esri/builder/controllers/supportClasses/WidgetTypeLoader.as
+++ src/com/esri/builder/controllers/supportClasses/WidgetTypeLoader.as
@@ -171,7 +171,6 @@
         return widgetIconPath;
     }

-    /* Finds module files at the parent-directory level */
     private function getModuleFiles(directory:File):Array
     {
         var moduleFiles:Array = [];
@@ -182,7 +181,11 @@

             for each (var file:File in files)
             {
-                if (isModuleFile(file))
+                if(file.isDirectory)
+                {
+                    moduleFiles = moduleFiles.concat(getModuleFiles(file));
+                }
+                else if (isModuleFile(file))
                 {
                     moduleFiles.push(file);
                 }


Flash: prevent Flash from sending duplicate Filename param, when using FileReference.upload() and forcefully setting Filename multipart parameter in order to support cross-runtime S3 upload.

--- src/flash/plupload/src/com/plupload/File.as
+++ src/flash/plupload/src/com/plupload/File.as
@@ -129,8 +129,11 @@
 			file._postvars["name"] = settings["name"];

 			for (var key:String in file._postvars) {
-				postData[key] = file._postvars[key];
-			}
+				if (key != 'Filename') { // Flash will add it by itself, so we need to omit potential duplicate
+					postData[key] = file._postvars[key];
+				}
+			}
+

 			request = new URLRequest();
 			request.method = URLRequestMethod.POST;


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

--- frameworks/projects/automation/src/mx/automation/codec/ChartItemCodec.as
+++ frameworks/projects/automation/src/mx/automation/codec/ChartItemCodec.as
@@ -0,0 +1,118 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.automation.codec
+{
+
+	import mx.automation.qtp.IQTPPropertyDescriptor;
+	import mx.automation.IAutomationManager;
+	import mx.automation.IAutomationObject;
+	import mx.charts.HitData;
+	import mx.charts.chartClasses.Series;
+
+	import mx.core.IFlexDisplayObject;
+	import mx.core.mx_internal;
+	import mx.charts.ChartItem;
+	import mx.charts.chartClasses.IChartElement;
+	import mx.charts.chartClasses.ChartBase;
+
+	use namespace mx_internal;
+
+	/**
+	 * translates between internal Flex HitData and automation-friendly version
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class ChartItemCodec extends DefaultPropertyCodec
+	{
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		public function ChartItemCodec()
+		{
+			super();
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden methods
+		//
+		//--------------------------------------------------------------------------
+
+		override public function encode(automationManager:IAutomationManager,
+										obj:Object,
+										propertyDescriptor:IQTPPropertyDescriptor,
+										relativeParent:IAutomationObject):Object
+		{
+			var val:Object = getMemberFromObject(automationManager, obj, propertyDescriptor);
+
+			var chartItemData:ChartItem = val as ChartItem;
+
+			if (chartItemData)
+				return chartItemData.index;
+
+			return -1 ;
+		}
+
+		override public function decode(automationManager:IAutomationManager,
+										obj:Object,
+										value:Object,
+										propertyDescriptor:IQTPPropertyDescriptor,
+										relativeParent:IAutomationObject):void
+		{
+			if (relativeParent is Series)
+			{
+				var series:Series = relativeParent as Series;
+				var items:Array = series.items;
+				var n:int = items.length;
+				for (var i:int = 0; i < n; ++i)
+				{
+					if (items[i] is ChartItem)
+					{
+						var chartItem:ChartItem = items[i] as ChartItem;
+						if (chartItem.index == value)
+						{
+							obj[propertyDescriptor.name] =
+								new HitData(0, 0, 0, 0, chartItem);
+							break;
+						}
+					}
+				}
+			}
+			else if (relativeParent is ChartBase)
+			{
+				var series1:ChartBase = relativeParent as ChartBase;
+				var items1:Array = series1.dataProvider as Array;
+				var n1:int = items1.length;
+				for (var i1:int = 0; i1 < n1; i1++)
+				{
+					if (items1[i1] is ChartItem)
+					{
+						var chartItem1:ChartItem = items1[i1] as ChartItem;
+						if ( chartItem1.index == value)
+						{
+							obj[propertyDescriptor.name] =
+								new HitData(0, 0, 0, 0, chartItem1);
+							break;
+						}
+					}
+				}
+			}
+		}
+	}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20845
Author:   mhorn@adobe.com
Date:     2011-03-14T15:29:23.391952Z

Log Message:
-----------
merge 20756,20790,20712,20805

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/StringUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>

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

--- frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as
@@ -403,12 +403,7 @@
     }

     /**
-     *  @inheritDoc
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @private
      */
     override protected function commitProperties():void
     {
@@ -1310,6 +1305,8 @@
      *  This function triggers calls to the updateMapping()
      *  and updateTransform() methods on the next call
      *  to the commitProperties() method.
+     *
+     *  @param invalid true if the data has changed.
      *
      *  @langversion 3.0
      *  @playerversion Flash 9


Transferred from the Adobe Open Source Subversion Repository

Revision: 22267
Author:   tkraikit@adobe.com
Date:     2011-08-29T17:58:56.631085Z

Log Message:
-----------
SDK-31275: apply text alignment to the individual date item spinners, based on position, date item type, and content type

QE notes: n/a
Doc notes: n/a
Bugs: SDK-31275
Reviewer: jszeto
Tests run: checkintests
Is noteworthy for integration: no

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as
+++ frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as
@@ -855,13 +855,7 @@
      */
     protected function createDateItemList(datePart:String, itemIndex:int, itemCount:int):SpinnerList
     {
-        // itemIndex and itemCount not used yet; will be used when localization support
-        // is put in place, e.g.
-        // if itemIndex == 0, align as first column,
-        // if itemIndex == itemCount - 1, align as last column
-
-        var s:SpinnerList = SpinnerList(createDynamicPartInstance("dateItemList"));
-        return s;
+        return SpinnerList(createDynamicPartInstance("dateItemList"));
     }

     /**
@@ -1004,6 +998,8 @@
                 longestYearItem = findLongestYearItem();

             yearList.typicalItem = longestYearItem;
+
+            alignList(yearList);
         }
         if (monthList && populateMonthDataProvider)
         {
@@ -1011,6 +1007,8 @@

             // set size
             monthList.typicalItem = getLongestLabel(monthList.dataProvider);
+
+            alignList(monthList);
         }
         if (dateList && populateDateDataProvider)
         {
@@ -1032,16 +1030,22 @@
                 // set size to width of longest visible value
                 dateList.typicalItem = getLongestLabel(dateList.dataProvider);
             }
+
+            alignList(dateList);
         }
         if (hourList && populateHourDataProvider)
         {
             hourList.dataProvider = generateHours(use24HourTime);
             hourList.typicalItem = getLongestLabel(hourList.dataProvider);
+
+            alignList(hourList);
         }
         if (minuteList && populateMinuteDataProvider)
         {
             minuteList.dataProvider = generateMinutes();
             minuteList.typicalItem = getLongestLabel(minuteList.dataProvider);
+
+            alignList(minuteList);
         }
         if (meridianList && populateMeridianDataProvider)
         {
@@ -1049,6 +1053,8 @@
             var pmObject:Object = generateAmPm(PM);
             meridianList.dataProvider = new ArrayCollection([amObject, pmObject]);
             meridianList.typicalItem = getLongestLabel(meridianList.dataProvider);
+
+            alignList(meridianList);
         }

         // reset all flags
@@ -1196,6 +1202,47 @@
             return list.getItemAt(idx);

         return null;
+    }
+
+    // set textAlign on list based on position, listType, or typicalItem content type:
+    // left list => align right
+    // right list => align left
+    // HOUR list => align right
+    // MINUTE list => align left
+    // numeric or (numeric + text) => align right
+    // (text + numeric) => align left
+    // all other cases => align center
+    mx_internal function alignList(list:SpinnerList):void
+    {
+        // set outside alignments tight; set alignments for HOUR and MINUTE
+        if (list == listContainer.getElementAt(0))
+            list.setStyle("textAlign", "right");
+        else if (list == listContainer.getElementAt(listContainer.numElements - 1))
+            list.setStyle("textAlign", "left");
+        else if (list == hourList)
+            list.setStyle("textAlign", "right");
+        else if (list == minuteList)
+            list.setStyle("textAlign", "left");
+        else
+        {
+            var testString:String = list.typicalItem["label"];
+            if (testString == null)
+            {
+                // nothing to test; use default
+                list.setStyle("textAlign", "center");
+                return;
+            }
+
+            var numericPattern:RegExp = /^\d+$/;
+            var numericWithTextRight:RegExp = /^\d+\D+$/;
+            var numericWithTextLeft:RegExp = /^\D+\d+$/;
+            if (numericPattern.test(testString) || numericWithTextRight.test(testString)) // e.g. ja-JP month
+                list.setStyle("textAlign", "right");
+            else if (numericWithTextLeft.test(testString))
+                list.setStyle("textAlign", "left");
+            else
+                list.setStyle("textAlign", "center"); // default
+        }
     }

     private function updateListsToSelectedDate(useAnimation:Boolean):void


Transferred from the Adobe Open Source Subversion Repository

Revision: 9177
Author:   jimurphy@adobe.com
Date:     2009-08-07T21:15:07.894169Z

Log Message:
-----------
Merged 3.4 revisions 8630,8660,8683,8735,8750,8753,8755,8757,8759,8764,8776,8798,8821,8824,8837,8862,8911,8946,8949,8962,8965,9026,9109,9131,9138-9139,9147 -> trunk

integrates:
player: 10.0.32.18
AIR kit: 1.5.2.8870 (20090721ap)

checkintests: pass

(btw: I'm not happy about doing this on a Friday PM!)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/BrowserManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPMultiService.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/libs/player/10/playerglobal.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLDecoder.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/flashplayer.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</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/in/player/10/lnx/libflashplayer.so.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/FlashPlayer.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Flash Player.app.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/AbstractWebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceUtils.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/mxml/IMXMLSupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/ISOAPDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.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/in/player/10/lnx/install_flash_player_10_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLSchemaInstance.as</path>

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridHeader.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridHeader.as
@@ -238,24 +238,28 @@
             var c:DataGridColumn;

             var maxHeaderHeight:Number = 0;
+            // copy current list of renderers
+            var oldHeaderItems:Array = headerItems.slice();

             while (cols && colNum < cols.length)
             {
                 c = cols[colNum];
-                item = dataGrid.createColumnItemRenderer(c, true, c);
+                item = c.cachedHeaderRenderer;
+                if (!item)
+                {
+                    item = dataGrid.createColumnItemRenderer(c, true, c);
+                    item.styleName = c;
+                    c.cachedHeaderRenderer = item;
+                }
                 rowData = new DataGridListData((c.headerText != null) ? c.headerText : c.dataField,
                                                                 c.dataField, colNum, uid, dataGrid, 0);
                 if (item is IDropInListItemRenderer)
                     IDropInListItemRenderer(item).listData = rowData;
                 item.data = c;
                 item.visible = true;
-                item.styleName = c;
-                addChild(DisplayObject(item));
-                var oldHeader:DisplayObject = headerItems[colNum];
-                if (oldHeader)
-                {
-                    removeChild(oldHeader);
-                }
+                // if it isn't parented by us, add it (could be in lockedColumns header)
+                if (item.parent != this)
+                    addChild(DisplayObject(item));
                 headerItems[colNum] = item;
                 // set prefW so we can compute prefH
                 item.explicitWidth = ww = c.width;
@@ -277,11 +281,23 @@
             for (var i:int = 0; i < headerItems.length; i++)
                 headerItems[i].setActualSize(headerItems[i].width, maxHeaderHeight);

+            for (i = 0; i < oldHeaderItems.length; i++)
+            {
+                item = oldHeaderItems[i];
+                if (item && headerItems.indexOf(item) == -1)
+                {
+                    // if it is parented by us, remove it (could be in lockedColumns header)
+                    if (item.parent == this)
+                        removeChild(DisplayObject(item));
+                }
+            }
             while (headerItems.length > colNum)
             {
                 // remove extra columns
                 extraItem = headerItems.pop();
-                removeChild(DisplayObject(extraItem));
+                // if it is parented by us, remove it (could be in lockedColumns header)
+                if (extraItem.parent == this)
+                    removeChild(DisplayObject(extraItem));
             }
         }
         var headerBG:UIComponent =
@@ -483,6 +499,7 @@
                 sep = new UIComponent();
                 sep.addChild(DisplayObject(sepSkin));
                 lines.addChild(sep);
+                UIComponentGlobals.layoutManager.validateClient(sep, true);

                 separators.push(sep);
             }
@@ -543,6 +560,7 @@
             lines.removeChildAt(lines.numChildren - 1);
             separators.pop();
         }
+        UIComponentGlobals.layoutManager.validateClient(lines, true);
     }

      /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 4163
Author:   gosmith@adobe.com
Date:     2008-11-21T23:05:07.953326Z

Log Message:
-----------
Coding conventions: All [SkinPart] metadata now explicitly states required="true" or required="false".

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
@@ -118,7 +118,7 @@
     //
     //--------------------------------------------------------------------------

-    [SkinPart]
+    [SkinPart(required="true")]

     /**
      *  A required skin part that defines the DataGroup where the data


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

--- frameworks/projects/charts/src/mx/charts/series/items/ColumnSeriesItem.as
+++ frameworks/projects/charts/src/mx/charts/series/items/ColumnSeriesItem.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.series.items
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4093
Author:   gosmith@adobe.com
Date:     2008-11-12T23:21:12.909952Z

Log Message:
-----------
TextBox now supports a textAlign style value of "justify". And it also now supports textAlignLast, justificationRule, and justificationStyle styles, like TextGraphic.

Added more ASDoc comments to various Gumbo text classes.

QE Notes: New functionality to test.
Doc Notes: None
Bugs: SDK-18014, SDK-16645
Reviewer: Jason

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/bundles.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/BasicParagraphFormatTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/AdvancedParagraphFormatTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/TextFlowComposer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/TextBlockComposer.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
@@ -23,7 +23,8 @@
 import mx.utils.NameUtil;

 /**
- *  The base class for text-related FXG classes such as TextGraphic and TextBox.
+ *  The base class for GraphicElements such as TextBox and TextGraphic
+ *  which display text using CSS styles for the default format.
  */
 public class TextGraphicElement extends GraphicElement
     implements IStyleClient
@@ -52,6 +53,11 @@

     /**
      *  @private
+     *  This flag is used to avoid getting or setting the scrollRect
+     *  of our displayObject unnecessarily when we need to clip TextLines
+     *  that extend beyond our bounds.
+     *  It shouldn't even be set to null if you can avoid it,
+     *  because Player 10.0 allocates a surface even in this case.
      */
     mx_internal var hasScrollRect:Boolean = false;

@@ -391,7 +397,8 @@
     }

     /**
-     *  Documentation is not currently available.
+     *  This method is required by the IStyleClient interface,
+     *  but doesn't do anything for TextGraphicElements.
      */
     public function registerEffects(effects:Array /* of String */):void
     {
@@ -404,7 +411,15 @@
     //--------------------------------------------------------------------------

     /**
-     *  @inheritDoc
+     *  Flex calls the stylesInitialized() method when
+     *  the styles for a component are first initialized.
+     *
+     *
This is an advanced method that you might override
+     *  when creating a subclass of TextGraphicElement.
+     *  Note that. unlike with UIComponents, Flex does not guarantee that
+     *  your TextGraphicElement's styles will be fully initialized before
+     *  the first time its component's measure and
+     *  updateDisplayList methods are called.

      */
     public function stylesInitialized():void
     {
@@ -412,7 +427,6 @@

     /**
      *  @private
-     *  Documentation is not currently available.
      */
     mx_internal function initProtoChain():void
     {
@@ -420,7 +434,8 @@
     }

     /**
-     *  Documentation is not currently available.
+     *  @private
+     *  TODO Make this mx_internal.
      */
     protected function invalidateTextLines(cause:String):void
     {


style selects the widget border width

style selects the widget border width

git-svn-id: f772d44cbf86d9968f12179c1556189f5afcea6e@698 e0ac87d7-b42b-0410-9034-8248a05cb448

--- braineditor/ScrollControl.as
+++ braineditor/ScrollControl.as
@@ -11,7 +11,7 @@
     var mText:TextField;

     function ScrollControl(parent:MovieClip, lowerLeft:Point, upperRight:Point) {
-      super(parent,lowerLeft,upperRight,2,Style.scrollArrowFillColor,Style.scrollArrowOutlineColor,"");
+      super(parent,lowerLeft,upperRight,Style.widgetBorderWidth,Style.scrollArrowFillColor,Style.scrollArrowOutlineColor,"");
       var dimensions=upperRight.subtractVector(lowerLeft);
       mSurface.createTextField("mText",mSurface.getNextHighestDepth(),3,3,dimensions.x-6,dimensions.y-6);
       mText=mSurface.mText;


Fixed dmodule bug

Fixed dmodule bug

--- src/Displays/DModule.as
+++ src/Displays/DModule.as
@@ -28,6 +28,7 @@
 		private var wasValid:Boolean;
 		private var wasSelected:Boolean;
 		private var wasDeployed:Boolean;
+		private var wasExtant:Boolean;
 		public function DModule(module:Module) {
 			super(module.x, module.y);
 			this.module = module;
@@ -85,11 +86,14 @@
 			super.update();

 			visible = module.exists;
-			if (!module.exists)
+			if (!module.exists) {
+				wasExtant = false;
 				return;
+			}

 			updatePosition();
 			visible = !outsideScreen();
+			wasExtant = true;
 			if (!visible)
 				return;

@@ -130,7 +134,7 @@
 		}

 		protected function updatePosition():void {
-			if (wasDeployed && module.deployed)
+			if (wasDeployed && module.deployed && wasExtant)
 				return;

 			var baseX:int = module.x * U.GRID_DIM;


Room's ban() method did not work previously as it used the wrong MUC extension. This was fixed, as well the finish_admin callback will now be called correctly. In addition, we will not dispatch a USER_DEPARTURE event after already dispatching a USER_BANNED event.

--- src/org/jivesoftware/xiff/conference/Room.as
+++ src/org/jivesoftware/xiff/conference/Room.as
@@ -875,18 +875,16 @@
 	     * Room.ADMIN_AFFILIATION,
 	     * Room.OWNER_AFFILIATION
 	     * @param jids An array of JIDs to grant these permissions to
-	     * @param callback The function to call once permission granting is complete
 	     * @see #revoke
-	     * @see #ban
+	     * @see #allow
 	     */
-	    public function grant(affiliation:String, jids:Array, callback:Function):void
+	    public function grant(affiliation:String, jids:Array):void
 	    {
 	        var iq:IQ = new IQ(roomJID, IQ.SET_TYPE);
 	        var owner:MUCOwnerExtension = new MUCOwnerExtension();

-	        iq.callbackScope = this;
-	        iq.callbackName = "finish_admin";
-	        iq.callback = callback;
+		    iq.callbackScope = this;
+		    iq.callback = finish_admin;

 	        for (var i:int=0; i < jids.length; i++) {
 	            owner.addItem(affiliation, null, null, jids[i], null, null);
@@ -905,31 +903,36 @@
 	     * then this will also revoke the banned status.

 	     *
 	     * @param jids An array of JIDs to revoke affiliations from
-	     * @param callback The function to call once revocation is complete
 	     * @see #grant
-	     * @see #ban
 	     * @see #allow
 	     */
-	    public function revoke(jids:Array, callback:Function):void
-	    {
-	        grant(Room.NO_AFFILIATION, jids, callback);
+	    public function revoke(jids:Array):void
+	    {
+	        grant(Room.NO_AFFILIATION, jids);
 	    }

 	    /**
-	     * Bans an array of JIDs from entering the room.  This is the same as:
-	     * Room.grant( OUTCAST_AFFILIATION, jid )
+	     * Bans an array of JIDs from entering the room.
 	     *
 	     *
If the process could not be completed, the room will dispatch the event
 	     * RoomEvent.ADMIN_ERROR.

 	     *
 	     * @param jids An arry of JIDs to ban
-	     * @param callback The function to call once banning is complete
-	     * @see #grant
-	     * @see #allow
 	     */
-	    public function ban(jids:Array, callback:Function):void
-	    {
-	        grant(Room.OUTCAST_AFFILIATION, jids, callback);
+	    public function ban(jids:Array):void
+	    {
+	        var iq:IQ = new IQ(roomJID, IQ.SET_TYPE);
+	        var adminExt:MUCAdminExtension = new MUCAdminExtension();
+
+		    iq.callbackScope = this;
+		    iq.callback = finish_admin;
+
+	        for (var i:int=0; i < jids.length; i++) {
+	            adminExt.addItem(Room.OUTCAST_AFFILIATION, null, null, jids[i], null, null);
+	        }
+
+	        iq.addExtension(adminExt);
+	        connection.send(iq);
 	    }

 	    /**
@@ -940,13 +943,12 @@
 	     * RoomEvent.ADMIN_ERROR

 	     *
 	     * @param jids An array of JIDs to allow
-	     * @param callback The function to call once allowing is complete
+	     * @see #grant
 	     * @see #revoke
-	     * @see #ban
 	     */
-	    public function allow( jids:Array, callback:Function ):void
-	    {
-	        grant(Room.NO_AFFILIATION, jids, callback);
+	    public function allow( jids:Array ):void
+	    {
+	        grant(Room.NO_AFFILIATION, jids);
 	    }

 	    /*
@@ -1060,6 +1062,11 @@
 						var user:MUCUserExtension = aPresence.getAllExtensionsByNS(MUCUserExtension.NS)[0];
 						if (user.statusCode == 307) {
 							// User left as a result of a kick, so no need to dispatch a USER_DEPARTURE event as we already dispatched USER_KICKED
+							removeItemAt(i);
+							return;
+						}
+						else if (user.statusCode == 301) {
+							// User left as a result of a ban, so no need to dispatch a USER_DEPARTURE event as we already dispatched USER_BANNED
 							removeItemAt(i);
 							return;
 						}


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

--- frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as
+++ frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as
@@ -1,26 +1,4 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-/**
- *  Background color of the component when it is disabled.
- *  The global default value is undefined.
- *  The default value for List controls is 0xDDDDDD (light gray).
- *  If a container is disabled, the background is dimmed, and the degree of
- *  dimming is controlled by the disabledOverlayAlpha style.
- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
- */
+
 [Style(name="backgroundDisabledColor", type="uint", format="Color", inherit="yes", theme="halo")]

 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 22980
Author:   jasonsj@adobe.com
Date:     2011-10-12T17:48:52.765330Z

Log Message:
-----------
Move owner sanity check to commitProperties and updateSkinDisplayList. Prevent invalidating callout position if the owner has been removed from the display list.

QE notes: None
Doc notes: None
Bugs:
SDK-31687 CallOut Arrow changes position on fade out
Reviewer: chiedozi
Tests run: checkintests-mobile
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/Callout.as
+++ frameworks/projects/mobilecomponents/src/spark/components/Callout.as
@@ -620,6 +620,11 @@
     {
         super.commitProperties();

+        // Do not commit position changes if closed (no owner) or owner was
+        // removed from the display list.
+        if (!owner || !owner.parent)
+            return;
+
         // Compute actual positions when using AUTO
         commitAutoPosition();

@@ -806,7 +811,11 @@
     {
         var ownerVisualElement:IVisualElement = owner as IVisualElement;

-        if (!arrow || (arrowDirection == ArrowDirection.NONE))
+        // Sanity check to verify owner is still on the display list. If not,
+        // leave the arrow in the current position.
+        if (!arrow || !ownerVisualElement ||
+            (arrowDirection == ArrowDirection.NONE) ||
+            (!ownerVisualElement.parent))
             return;

         var isStartPosition:Boolean = false;
@@ -1264,10 +1273,6 @@

             return;
         }
-
-        // Do not change the actual position if the owner has been removed
-        if (!owner || !owner.parent)
-            return;

         var ownerBounds:Rectangle = owner.getBounds(systemManager.getSandboxRoot());


Transferred from the Adobe Open Source Subversion Repository

Revision: 12380
Author:   smgilson@adobe.com
Date:     2009-12-02T18:37:15.838623Z

Log Message:
-----------
ASDoc edits in preparation for localization

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DisplayLayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarHorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListItemDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/DisplayLayer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/DisplayLayer.as
@@ -21,7 +21,7 @@
     /**
      *  A DisplayLayer class maintains an ordered list of DisplayObjects sorted on
      *  depth.
-     *  Developers don't instantiate this class, but use the overlay
+     *  You do not instantiate this class, but use the overlay
      *  property of Group and DataGroup.
      *
      *  @see spark.components.Group#overlay
@@ -83,6 +83,10 @@

         /**
          *  Returns the DisplayObject with the specified index.
+         *
+         *  @param index The index of the object.
+         *
+         *  @return The object.
          *
          *  @langversion 3.0
          *  @playerversion Flash 10
@@ -99,6 +103,10 @@

         /**
          *  Returns the depth for the specified DisplayObject.
+         *
+         *  @param displayObject The object.
+         *
+         *  @return The depth of the object.
          *
          *  @langversion 3.0
          *  @playerversion Flash 10
@@ -117,10 +125,15 @@
         /**
          *  Adds a displayObject with the specified depth to the ordered list.
          *  The position of the displayObject in the sorted lists is based on
-         *  its depth, the object will be inserted after all objects with less than or equal
-         *  depth value.
-         *
-         *  @return Returns the index of the object.
+         *  its depth.
+         *  The object is inserted after all objects with less than or equal
+         *  depth value.
+         *
+         *  @param displayObject The object to add.
+         *
+         *  @param depth The depth of the object.
+         *
+         *  @return The index of the object.
          *
          *  @langversion 3.0
          *  @playerversion Flash 10
@@ -161,6 +174,10 @@

         /**
          *  Removes the specified displayObject from the sorted list.
+         *
+         *  @param displayObject The object.
+         *
+         *  @return The removed object.
          *
          *  @langversion 3.0
          *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 18595
Author:   hmuller@adobe.com
Date:     2010-11-15T23:42:52.233223Z

Log Message:
-----------
Updated ASDoc for GridColumn/rendererIsEditable and IGridItemRenderer/prepare().

QE notes:
Doc notes:
Bugs: SDK-28394
Reviewer:
Tests run: checkin
Is noteworthy for integration: no

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

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

--- frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as
@@ -147,12 +147,19 @@

     /**
      *  Called from the Grid's updateDisplayList() method after all of the
-     *  column's properties have been set.  The willBeRecycled parameter is false
+     *  renderer's properties have been set.  The willBeRecycled parameter is false
      *  if this renderer hasn't been used before, i.e. if it wasn't "recycled".  This method is
-     *  called when a renderer is about to become visible, typically because it was
-     *  scrolled into view.
+     *  called when a renderer is about to become visible (typically because it was
+     *  scrolled into view) and each time it's redisplayed because of a change in a renderer
+     *  property, or because a redisplay was explicited requested.
      *
-     *
This method is not intended to be called directly, it's called by the Grid implementation.

+     *
This method can be used to configure all of a renderer's visual elements and properties,
+     *  and doing so is likely to be more efficient than accomplishing the same thing with data
+     *  binding.  Note also: since the prepare() method is called frequently, taking special care to
+     *  avoid doing unncessary work is worthwhile.

+     *
+     *
This method is not intended to be called directly, it's called by the Grid implementation.
+     *  The prepare() method may be called many times before the discard() method is called.

      *
      *  @param hasBeenRecycled  True if this renderer is being reused.
      *


Use the local urbi-console.

Use the local urbi-console.

Alternatively, I could change PATH and let find_urbi_server do the
job.  Not sure what's the easiest.  This way we can have a specific
failure when urbi-console is not there but it should.

	* src/tests/liburbi-check.as ($URBI_SERVER): Find the shipped
        urbi-console if there is one.

--- sdk-remote/src/tests/liburbi-check.as
+++ sdk-remote/src/tests/liburbi-check.as
@@ -65,6 +65,11 @@

 exec 3>&2

+: ${abs_builddir='@abs_builddir@'}
+check_dir abs_builddir liburbi-check
+: ${abs_top_builddir='@abs_top_builddir@'}
+check_dir abs_top_builddir config.status
+
 # Make it absolute.
 chk=$(absolute "$1")
 if test ! -f "$chk.cc"; then
@@ -89,8 +94,17 @@
 # Help debugging
 set | rst_pre "$me variables"

-# $URBI_SERVER.  Leaves trailing files, so run it in subdir.
-find_urbi_server
+# $URBI_SERVER.
+#
+# If this SDK-Remote is part of the Kernel package, then we should not
+# use an installed urbi-console, but rather the one which is part of
+# this package.
+if test -x ${abs_top_builddir}/../src/urbi-console; then
+  URBI_SERVER=${abs_top_builddir}/../src/urbi-console
+else
+  # Leaves trailing files, so run it in subdir.
+  find_urbi_server
+fi

 # compute expected output
 sed -n -e 's@//= @@p' $chk.cc >output.exp


Added TextInput field to the test app.

Added TextInput field to the test app.

--- flash/ExampleCode.as
+++ flash/ExampleCode.as
@@ -54,6 +54,13 @@
       button.id = 'howdyButton';
       button.label = 'Howdy';
       panel.addChild(button);
+
+      // Text input
+      var txtInput:TextInput = new TextInput();
+      txtInput.name = 'testTextInput';
+      panel.addChild(txtInput);
+      txtInput.htmlText = 'This is a test.';
+      elems.txtInput = txtInput

       var subPanel:Panel = new Panel();
       panel.addChild(subPanel);


fix wrong reference to the 'shadowMaxZ' property

--- src/aerys/minko/scene/controller/light/DirectionalLightController.as
+++ src/aerys/minko/scene/controller/light/DirectionalLightController.as
@@ -80,7 +80,7 @@

 			propertyName = LightDataProvider.getPropertyName(propertyName);

-			if (propertyName == 'shadowWidth' || propertyName == 'shadowMaxZ')
+			if (propertyName == 'shadowWidth' || propertyName == 'shadowZFar')
 				updateProjectionMatrix();
 		}

@@ -100,7 +100,7 @@

 		private function updateProjectionMatrix() : void
 		{
-			var zFar 	: Number 	= lightData.getLightProperty('shadowMaxZ');
+			var zFar 	: Number 	= lightData.getLightProperty('shadowZFar');
 			var width	: Number	= lightData.getLightProperty('shadowWidth');

 			_projection.initialize(


FLEX-34124 change formatting/code to be in local style

--- frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
@@ -608,10 +608,11 @@
                 return;

 			// don't close if something just been selected in a DropDownList
-			if (target is IUIComponent){
-                   var doc:  Object = (target as IUIComponent).document;
-                   if ( ("hostComponent" in doc ) && doc.hostComponent is DropDownList )
-			                  	return;
+			if (target is IUIComponent)
+			{
+                var document:Object = (target as IUIComponent).document;
+                if (("hostComponent" in document) && document.hostComponent is DropDownList)
+			        return;
             }

             if (hitAreaAdditions != null)


Transferred from the Adobe Open Source Subversion Repository

Revision: 15522
Author:   jszeto@adobe.com
Date:     2010-04-16T22:08:12.278608Z

Log Message:
-----------
ComboBox, DropDownList and PopUpAnchor bug fixes

http://bugs.adobe.com/jira/browse/SDK-25764 - ComboBox will not display first item in dataProvider when dropdown is open

The first item of the dataProvider was the object "Zero". This returns false in an equality check, so I changed the check to compare to undefiend

http://bugs.adobe.com/jira/browse/SDK-25765 - ComboBox does not commit item when closed if Enter key is pressed

Pressing Enter was actually clearing the selection. Fixed ComboBox.applySelection to only commit if the proposed selection is a custom string or if the dropdown is open

http://bugs.adobe.com/jira/browse/SDK-25432 - Spark DropDownList throws RTE when trying to change data provider and open dropdown and use mouse wheel

Added null check

http://bugs.adobe.com/jira/browse/SDK-25132 - Odd rendering of pop up when using PopUpAnchor w/ popUpPosition == center

Rounded off the x/y position of the popUp

QE notes: Add test for PopUpAnchor centered where popup dimensions are odd numbers
Doc notes: none
Bugs: SDK-25764, SDK-25765, SDK-25432, SDK-25132
Reviewer: Kevin
Tests run: checkintests, ComboBox, DropDownList, PopUpAnchor
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
@@ -628,7 +628,7 @@
     private function systemManager_mouseWheelHandler(event:MouseEvent):void
     {
         // Close the dropDown unless we scrolled over the dropdown and the dropdown handled the event
-        if (!(DisplayObjectContainer(dropDown).contains(DisplayObject(event.target)) && event.isDefaultPrevented()))
+        if (dropDown && !(DisplayObjectContainer(dropDown).contains(DisplayObject(event.target)) && event.isDefaultPrevented()))
             closeDropDown(false);
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3378
Author:   rfrishbe@adobe.com
Date:     2008-09-26T16:50:24.985676Z

Log Message:
-----------
Removing skinFactory from the public definition of SkinnableComponent.  The only way to set the skin is through skinZZ (which will be renamed to skinClass in the near future), which is a CSS style defined on SkinnableComponent.

QE: No
Doc: Yes
Bugs: SDK-16842
Reviewer: Evtim

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/SkinnableComponent.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -47,12 +47,6 @@
 [Style(name="skinZZ", type="Class")]

 /**
- *  @private
- *  TODO: Determine final name for this style.
- */
-[Style(name="skinFactory", type="Object")]
-
-/**
  *  The SkinnableComponent class.
  */
 public class SkinnableComponent extends UIComponent
@@ -130,20 +124,6 @@
     public function get skinObject():Skin
     {
         return _skinObject;
-    }
-
-    /**
-     *  @private
-     *  Temporary (?) hack to get skinFactory to work as an attribute that points to an external file.
-     */
-    public function get skinFactory():IFactory
-    {
-        return getStyle("skinFactory");
-    }
-
-    public function set skinFactory(value:IFactory):void
-    {
-        setStyle("skinFactory", value);
     }

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


handle property fetches

handle property fetches

--- frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as
+++ frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as
@@ -247,13 +247,13 @@
                     for each (var item:Object in ai.items)
                     {
                         var parent:IParent = ai.document as IParent;
-                        if (ai.destination != null)
-                            parent = parent[ai.destination] as IParent;
+                        if (ai.destination)
+                            parent = getProperty(parent, ai.destination) as IParent;
                         if (ai.relativeTo != null)
                         {
-                            var child:Object = ai.document[ai.relativeTo];
-                            if (ai.destination == null)
-                                parent = child.parent as IParent;
+                            var child:Object = getProperty(ai.document, ai.relativeTo);
+                            if (ai.destination)
+                                parent = IChild(child).parent as IParent;
                             var index:int = parent.getElementIndex(child);
                             if (ai.position == "after")
                                 index++;


Transferred from the Adobe Open Source Subversion Repository

Revision: 7891
Author:   chaase@adobe.com
Date:     2009-06-16T20:38:37.913145Z

Log Message:
-----------
Fixed bug in effects  that was fallout from renaming offsets property to postLayoutTransformOffsets.

QE Notes: none
Doc Notes: None
Bugs: SDK-21839
Reviewer: Evtim
Tests: checkintests

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
@@ -575,17 +575,29 @@
 	            break;
 	        }
 	        case "postLayoutRotationX":
-	        	return (target.offsets == null)? 0:target.offsets.rotationX;
+	        	return (target.postLayoutTransformOffsets == null)?
+	        	  0 :
+	        	  target.postLayoutTransformOffsets.rotationX;
 	        case "postLayoutRotationY":
-	        	return (target.offsets == null)? 0:target.offsets.rotationY;
+                return (target.postLayoutTransformOffsets == null)?
+                    0 :
+                    target.postLayoutTransformOffsets.rotationY;
 	        case "postLayoutRotationZ":
-	        	return (target.offsets == null)? 0:target.offsets.rotationZ;
+                return (target.postLayoutTransformOffsets == null)?
+                    0 :
+                    target.postLayoutTransformOffsets.rotationZ;
 	        case "postLayoutScaleX":
-	        	return (target.offsets == null)? 1:target.offsets.scaleX;
+                return (target.postLayoutTransformOffsets == null)?
+                    1 :
+                    target.postLayoutTransformOffsets.scaleX;
 	        case "postLayoutScaleY":
-	        	return (target.offsets == null)? 1:target.offsets.scaleY;
+                return (target.postLayoutTransformOffsets == null)?
+                    1 :
+                    target.postLayoutTransformOffsets.scaleY;
 	        case "postLayoutScaleZ":
-	        	return (target.offsets == null)? 1:target.offsets.scaleZ;
+                return (target.postLayoutTransformOffsets == null)?
+                    1 :
+                    target.postLayoutTransformOffsets.scaleZ;
 	     	default:
 	            return super.getCurrentValue(property);
         }
@@ -659,7 +671,7 @@
             getCurrentValue("translationZ");
         tmpPosition = position;

-		if(target.offsets != null)
+		if (target.postLayoutTransformOffsets != null)
 		{
 	        if (!isNaN(currentValues.postLayoutRotationX) ||
 	            !isNaN(currentValues.postLayoutRotationY) ||


Added in mock object so that the reportParameterizedErrorParamsTest functions properly.

--- FlexUnit4Test/src/org/flexunit/experimental/runners/statements/cases/TheoryAnchorCase.as
+++ FlexUnit4Test/src/org/flexunit/experimental/runners/statements/cases/TheoryAnchorCase.as
@@ -57,9 +57,9 @@
 		[Test(description="Ensure that the reportParameterizedError function returns a ParameterizedAssertionError if additional parameters are passed")]
 		public function reportParameterizedErrorParamsTest():void {
 			var error:Error = new Error();
-			//TODO not sure if this mock should be here
-			//frameworkMethodMock.mock.property("name").returns("test").once;
+			frameworkMethodMock.mock.property("name").returns("test").once;
 			Assert.assertTrue( theoryAnchor.reportParameterizedError(error, "valueOne", "valueTwo") is ParameterizedAssertionError );
+			frameworkMethodMock.mock.verify();
 		}

 		[Test(description="Ensure that the nullsOk function returns a value of true")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

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

 package mx.collections
 {


LinkableDisplayObject now initializes a private 'weave' variable that
you can use in the event scripts.

Change-Id: Ib1695b9b8a2b3cfe79ddabbffa5d33747635b3bb

--- WeaveCore/src/weave/core/LinkableDisplayObject.as
+++ WeaveCore/src/weave/core/LinkableDisplayObject.as
@@ -227,18 +227,21 @@
 		 * @return An event listener that runs the JavaScript code.
 		 */
 		private function generateEventListener(script:String):Function
-		{
+		{
+			// create script to initialize the 'weave' variable
+			var initScript:String = 'var weave = document.getElementById("' + ExternalInterface.objectID + '");';
+
 			// attempt to delay alert boxes, without delaying other types of scripts
 			if (script.search("(alert|confirm|prompt)[\\ \n\t]*\\(") >= 0)
-				script = 'function(event){setTimeout(function(){' + script + '},0)}';
+				script = 'function(event){setTimeout(function(){' + initScript + script + '},0)}';
 			else
-				script = 'function(event){' + script + '}';
+				script = 'function(event){' + initScript + script + '}';

 			return function (event:Event):void
 			{
 				var eventObj:Object = {};
 				for each (var propertyName:String in ObjectUtil.getClassInfo(event).properties)
-					eventObj[propertyName] = String(ObjectUtil.copy(event[propertyName]));
+					eventObj[propertyName] = String(ObjectUtil.copy(event[propertyName]));

 				ExternalInterface.call(script, eventObj);
 			};