fix DrawCall.unsetBindings() to remove callbacks scene on both mesh AND scene bindings: for now there is only one binding table generated by the shader compiler, so both scene and mesh bindings have to be listened too and callbacks need to be removed from both

--- src/aerys/minko/render/DrawCall.as
+++ src/aerys/minko/render/DrawCall.as
@@ -186,7 +186,7 @@
 			{
                 if (meshBindings.hasCallback(parameter, parameterChangedHandler))
 				    meshBindings.removeCallback(parameter, parameterChangedHandler);
-                else if (sceneBindings.hasCallback(parameter, parameterChangedHandler))
+                if (sceneBindings.hasCallback(parameter, parameterChangedHandler))
     				sceneBindings.removeCallback(parameter, parameterChangedHandler);
 			}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/managers/LayoutManager.as
+++ frameworks/projects/framework/src/mx/managers/LayoutManager.as
@@ -757,7 +757,8 @@
 			{
 				if (!obj.initialized && obj.processedDescriptors)
 					obj.initialized = true;
-				obj.dispatchEvent(new FlexEvent(FlexEvent.UPDATE_COMPLETE));
+                if (obj.hasEventListener(FlexEvent.UPDATE_COMPLETE))
+				    obj.dispatchEvent(new FlexEvent(FlexEvent.UPDATE_COMPLETE));
 				obj.updateCompletePendingFlag = false;
 				obj = ILayoutManagerClient(updateCompleteQueue.removeLargest());
 			}
@@ -986,7 +987,9 @@
 				{
 					if (!obj.initialized)
 						obj.initialized = true;
-					obj.dispatchEvent(new FlexEvent(FlexEvent.UPDATE_COMPLETE));
+
+                    if (obj.hasEventListener(FlexEvent.UPDATE_COMPLETE))
+					    obj.dispatchEvent(new FlexEvent(FlexEvent.UPDATE_COMPLETE));
 					obj.updateCompletePendingFlag = false;
 					obj = ILayoutManagerClient(updateCompleteQueue.removeLargestChild(target));
 				}


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

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

 package mx.controls.sliderClasses
 {


Log error stack traces.

Log error stack traces.

--- exporter/src/main/as/flump/export/ProjectController.as
+++ exporter/src/main/as/flump/export/ProjectController.as
@@ -394,6 +394,7 @@
                 throw new Error("No suitable formats were found for publishing");
             }
         } catch (e :Error) {
+            log.warning("publishing failed", e);
             ErrorWindowMgr.showErrorPopup("Publishing Failed", e.message, _win);
         }

@@ -419,6 +420,7 @@
                 throw new Error("No suitable formats were found for publishing");
             }
         } catch (e :Error) {
+            log.warning("publishing failed", e);
             ErrorWindowMgr.showErrorPopup("Publishing Failed", e.message, _win);
         }


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

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

 package mx.core
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/geom/Transform.as
+++ frameworks/projects/framework/src/mx/geom/Transform.as
@@ -53,7 +53,7 @@
      */
     public function Transform(src:DisplayObject = null)
     {
-        if(src == null)
+        if (src == null)
             src = new Shape();
         super(src);
     }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/mx/src/mx/effects/easing/Linear.as
+++ frameworks/projects/mx/src/mx/effects/easing/Linear.as
@@ -0,0 +1,114 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2004-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.effects.easing
+{
+
+/**
+ *  The Linear class defines easing functions to implement
+ *  linear motion with Flex effect classes.
+ *
+ *  For more information, see http://www.robertpenner.com/profmx.
+ */
+public class Linear
+{
+	include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  The easeNone() method defines a constant motion,
+     *  with no acceleration.
+     *
+     *  @param t Specifies time.
+	 *
+     *  @param b Specifies the initial position of a component.
+	 *
+     *  @param c Specifies the total change in position of the component.
+	 *
+     *  @param d Specifies the duration of the effect, in milliseconds.
+     *
+     *  @return Number corresponding to the position of the component.
+     */
+	public static function easeNone(t:Number, b:Number,
+									c:Number, d:Number):Number
+	{
+		return c * t / d + b;
+	}
+
+    /**
+     *  The easeIn() method starts motion from zero velocity,
+     *  and then accelerates motion as it executes.
+     *
+     *  @param t Specifies time.
+	 *
+     *  @param b Specifies the initial position of a component.
+	 *
+     *  @param c Specifies the total change in position of the component.
+	 *
+     *  @param d Specifies the duration of the effect, in milliseconds.
+     *
+     *  @return Number corresponding to the position of the component.
+     */
+	public static function easeIn(t:Number, b:Number,
+								  c:Number, d:Number):Number
+	{
+		return c * t / d + b;
+	}
+
+    /**
+     *  The easeOut() method starts motion fast,
+     *  and then decelerates motion to a zero velocity as it executes.
+     *
+     *  @param t Specifies time.
+	 *
+     *  @param b Specifies the initial position of a component.
+	 *
+     *  @param c Specifies the total change in position of the component.
+	 *
+     *  @param d Specifies the duration of the effect, in milliseconds.
+     *
+     *  @return Number corresponding to the position of the component.
+     */
+	public static function easeOut(t:Number, b:Number,
+								   c:Number, d:Number):Number
+	{
+		return c * t / d + b;
+	}
+
+    /**
+     *  The easeInOut() method combines the motion
+     *  of the easeIn() and easeOut() methods
+	 *  to start the motion from zero velocity, accelerate motion,
+	 *  then decelerate back to zero velocity.
+     *
+     *  @param t Specifies time.
+	 *
+     *  @param b Specifies the initial position of a component.
+	 *
+     *  @param c Specifies the total change in position of the component.
+	 *
+     *  @param d Specifies the duration of the effect, in milliseconds.
+     *
+     *  @return Number corresponding to the position of the component.
+     */
+	public static function easeInOut(t:Number, b:Number,
+									 c:Number, d:Number):Number
+	{
+		return c * t / d + b;
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 18612
Author:   hmuller@adobe.com
Date:     2010-11-16T15:45:15.811520Z

Log Message:
-----------
Removed DataGrid/gridDimensions and privatized Grid/gridDimenions.  The GridDimensions singleton is not the exclusive responsibility of GridLayout.

Grid now lazily creates its GridSelection object.

QE notes:
Doc notes:
Bugs: SDK-28555
Reviewer: Kevin, Carol
Tests run: checkin, mustella
Is noteworthy for integration: no

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

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -19,6 +19,7 @@

 import mx.collections.ArrayList;
 import mx.collections.IList;
+import mx.containers.Grid;
 import mx.core.IFactory;
 import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
@@ -1029,41 +1030,21 @@
      */
     mx_internal function get gridSelection():GridSelection
     {
+        if (!_gridSelection)
+            _gridSelection = new GridSelection();  // TBD(hmuller):delegate to protected createGridSelection()
+
         return _gridSelection;
     }

     /**
      *  @private
-     *  This value is created by DataGrid/partAdded() and then set here.   It is only
-     *  set once, unless that "grid" part is removed, at which point it's set to null.
+     *  If this Grid is serving as a DataGrid skin part, then this property is created
+     *  by DataGrid/partAdded() and then set here.   It is only set once, unless that
+     *  "grid" part is removed, at which point it's set to null.
      */
     mx_internal function set gridSelection(value:GridSelection):void
     {
         _gridSelection = value;
-    }
-
-    //----------------------------------
-    //  gridDimensions (mx_internal)
-    //----------------------------------
-
-    private var _gridDimensions:GridDimensions;
-
-    /**
-     *  @private
-     */
-    mx_internal function get gridDimensions():GridDimensions
-    {
-        return _gridDimensions;
-    }
-
-    /**
-     *  @private
-     *  This value is created by DataGrid/partAdded() and then set here.   It is only
-     *  set once, unless that "grid" part is removed, at which point it's set to null.
-     */
-    mx_internal function set gridDimensions(value:GridDimensions):void
-    {
-        _gridDimensions = value;
     }

     //----------------------------------
@@ -2827,6 +2808,14 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     *  @private
+     */
+    private function get gridDimensions():GridDimensions
+    {
+        return gridLayout.gridDimensions;
+    }
+
     /**
      *  @private
      *  Update the scroll position so that the virtual Grid element at the specified
@@ -3376,7 +3365,7 @@
     {
         const eventStageXY:Point = new Point(event.stageX, event.stageY);
         const eventGridXY:Point = globalToLocal(eventStageXY);
-        const gridDimensions:GridDimensions = GridLayout(layout).gridDimensions;
+        const gridDimensions:GridDimensions = this.gridDimensions;
         const eventRowIndex:int = gridDimensions.getRowIndexAt(eventGridXY.x, eventGridXY.y);
         const eventColumnIndex:int = gridDimensions.getColumnIndexAt(eventGridXY.x, eventGridXY.y);

@@ -3418,7 +3407,7 @@
     {
         const eventStageXY:Point = new Point(event.stageX, event.stageY);
         const eventGridXY:Point = globalToLocal(eventStageXY);
-        const gridDimensions:GridDimensions = GridLayout(layout).gridDimensions;
+        const gridDimensions:GridDimensions = this.gridDimensions;
         const eventRowIndex:int = gridDimensions.getRowIndexAt(eventGridXY.x, eventGridXY.y);
         const eventColumnIndex:int = gridDimensions.getColumnIndexAt(eventGridXY.x, eventGridXY.y);

@@ -3482,7 +3471,7 @@

         const eventStageXY:Point = new Point(event.stageX, event.stageY);
         const eventGridXY:Point = globalToLocal(eventStageXY);
-        const gridDimensions:GridDimensions = GridLayout(layout).gridDimensions;
+        const gridDimensions:GridDimensions = this.gridDimensions;
         const eventRowIndex:int = gridDimensions.getRowIndexAt(eventGridXY.x, eventGridXY.y);
         const eventColumnIndex:int = gridDimensions.getColumnIndexAt(eventGridXY.x, eventGridXY.y);

@@ -3505,7 +3494,7 @@
     {
         const eventStageXY:Point = new Point(event.stageX, event.stageY);
         const eventGridXY:Point = globalToLocal(eventStageXY);
-        const gridDimensions:GridDimensions = GridLayout(layout).gridDimensions;
+        const gridDimensions:GridDimensions = this.gridDimensions;
         const eventRowIndex:int = gridDimensions.getRowIndexAt(eventGridXY.x, eventGridXY.y);
         const eventColumnIndex:int = gridDimensions.getColumnIndexAt(eventGridXY.x, eventGridXY.y);

@@ -3531,7 +3520,7 @@
     {
         const eventStageXY:Point = new Point(event.stageX, event.stageY);
         const eventGridXY:Point = globalToLocal(eventStageXY);
-        const gridDimensions:GridDimensions = GridLayout(layout).gridDimensions;
+        const gridDimensions:GridDimensions = this.gridDimensions;
         const eventRowIndex:int = gridDimensions.getRowIndexAt(eventGridXY.x, eventGridXY.y);
         const eventColumnIndex:int = gridDimensions.getColumnIndexAt(eventGridXY.x, eventGridXY.y);

@@ -3791,6 +3780,7 @@
             gridDimensions.columnCount = generatedColumns ? columns.length : 0;
         }

+        const gridDimenions:GridDimensions = this.gridDimensions;
         if (gridDimensions)
         {
             gridDimensions.dataProviderCollectionChanged(event);
@@ -3979,6 +3969,7 @@
             return;

         // Fix up gridDimensions
+        const gridDimensions:GridDimensions = this.gridDimensions;
         if (gridDimensions)
         {
             gridDimensions.clearColumns(columnIndex, 1);
@@ -4024,6 +4015,7 @@
     {
         gridLayout.clearVirtualLayoutCache();

+        const gridDimensions:GridDimensions = this.gridDimensions;
         if (gridDimensions)
         {
             if (clearTypicalSizes)


Transferred from the Adobe Open Source Subversion Repository

Revision: 5200
Author:   jszeto@adobe.com
Date:     2009-03-07T01:30:55.705633Z

Log Message:
-----------
Continuing implementation of DropDownList

- updated skins classes
- slight improvements to PopUp
- updated LabelUtil.itemToLabel to match implementation in Halo ListBase

DropDownList:
- Added itemRendererFunction, labelField and labelFunction
- Implemented selectedIndex, selectedItem and dataProvider
- Dispatch change and valueCommit events
- Added keyboard handling
- Added collectionChange handling

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Glenn

Modified Paths:
--------------
<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/components/PopUp.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/DropDownListButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/utils/LabelUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/DropDownBase.as</path>

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

--- frameworks/projects/spark/src/spark/utils/LabelUtil.as
+++ frameworks/projects/spark/src/spark/utils/LabelUtil.as
@@ -43,14 +43,47 @@
     public static function itemToLabel(item:Object, labelField:String=null,
     	labelFunction:Function=null):String
     {
-    	if (!item)
-    		return "";
-        else if (labelFunction != null)
-    		return labelFunction(item);
-    	else if (labelField != null)
-    		return item[labelField];
-    	else
-    		return item.toString();
+        if (labelFunction != null)
+            return labelFunction(item);
+
+        if (item is XML)
+        {
+            try
+            {
+                if (item[labelField].length() != 0)
+                    item = item[labelField];
+                //by popular demand, this is a default XML labelField
+                //else if (item.@label.length() != 0)
+                //  item = item.@label;
+            }
+            catch(e:Error)
+            {
+            }
+        }
+        else if (item is Object)
+        {
+            try
+            {
+                if (item[labelField] != null)
+                    item = item[labelField];
+            }
+            catch(e:Error)
+            {
+            }
+        }
+
+        if (item is String)
+            return String(item);
+
+        try
+        {
+            return item.toString();
+        }
+        catch(e:Error)
+        {
+        }
+
+        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@1269448 13f79535-47bb-0310-9956-ffa450edef68

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

 package mx.effects
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7081
Author:   gruehle@adobe.com
Date:     2009-05-19T19:16:37.126487Z

Log Message:
-----------
Fix bug SDK-21190: Flex chrome on mac: maximize button retains mouseOver appearance after clicking it when already maximized.

Fixed both the Halo and Spark skins.

Reviewer: Darrell
QA/Doc: None

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/TitleBar.as</path>

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

--- frameworks/projects/airspark/src/spark/components/windowClasses/TitleBar.as
+++ frameworks/projects/airspark/src/spark/components/windowClasses/TitleBar.as
@@ -520,10 +520,10 @@
         else
         {
             window.maximize();
-
-            // work around bug  Bug SDK-9547
-            maximizeButton.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT));
-        }
+        }
+
+        // work around for bugs SDK-9547 & SDK-21190
+        maximizeButton.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT));

         invalidateSkinState();


Transferred from the Adobe Open Source Subversion Repository

Revision: 14902
Author:   sameer@adobe.com
Date:     2010-03-22T12:15:22.495419Z

Log Message:
-----------
Merging revision 14901 from 4.x to trunk.
QE notes: No
Doc notes: No
Bugs: No
Reviewer: Sreeni
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/datavisualization/src/mx/controls/AdvancedDataGridBaseEx.as</path>

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

--- frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
+++ frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
@@ -66,6 +66,7 @@
 import mx.core.IInvalidating;
 import mx.core.IPropertyChangeNotifier;
 import mx.core.IUIComponent;
+import mx.core.LayoutDirection;
 import mx.core.ScrollPolicy;
 import mx.core.UIComponent;
 import mx.core.UIComponentGlobals;
@@ -5529,7 +5530,7 @@
 		// left (layoutDirection=”rtl”) half of the column, the drop indicator
 		// should be shown before the next column.
 		var deltaXInLocalCoordinates:Number =
-			(layoutDirection == "ltr" ? +deltaX : -deltaX);
+			(layoutDirection == LayoutDirection.LTR ? +deltaX : -deltaX);

         // Move header selection.
         s = Sprite(selectionLayer.getChildByName("headerSelection"));


Transferred from the Adobe Open Source Subversion Repository

Revision: 21536
Author:   jasonsj@adobe.com
Date:     2011-07-11T23:14:34.905781Z

Log Message:
-----------
Initial checkin for Callout/CalloutButton and mobile check-in tests.

* Refactored pop up transformations from PopUpAnchor.applyPopUpTransform() to mx.utils.PopUpUtil.applyPopUpTransform()
* CalloutPosition.AUTO not yet implemented
* Visuals are not the final XD design.

QE notes:
Doc notes:
Bugs:
Reviewer: chiedozi
Tests run: checkintests, checkintests-mobile
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/.flexLibProperties</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutPosition.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ArrowDirection.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/views/TestCalloutButton.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/.actionScriptProperties</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/.flexLibProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/utils/PopUpUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/.actionScriptProperties</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/airMobileBasicTests-config.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutButtonSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/scripts/CalloutButtonTestScript.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/.actionScriptProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/.flexLibProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/airMobileBasicTests-app.xml</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ArrowDirection.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ArrowDirection.as
@@ -0,0 +1,76 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.components
+{
+/**
+ *  Enumeration of arrow directions for use in visual components.
+ *
+ *  @see spark.components.Callout#arrowDirection
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 3
+ *  @productversion Flex 4.5.2
+ */
+public class ArrowDirection
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Arrow points right.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public static const RIGHT:String = "right";
+
+    /**
+     *  Arrow points up.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public static const UP:String = "up";
+
+    /**
+     *  Arrow points left.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public static const LEFT:String = "left";
+
+    /**
+     *  Arrow points down.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public static const DOWN:String = "down";
+
+    /**
+     *  No arrow direciton.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public static const NONE:String = "none";
+}
+}


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

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

 package spark.skins.mobile
 {


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

--- frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as
+++ frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2007 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: 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@1262748 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/styles/metadata/PaddingStyles.as
+++ frameworks/projects/framework/src/mx/styles/metadata/PaddingStyles.as
@@ -1,4 +1,29 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////

+/**
+ *  Number of pixels between the component's left border
+ *  and the left edge of its content area.
+ *
The default value is 0.

+ *
The default value for a Button control in the Halo theme is 10
+ *     and in the Spark theme is 6.

+ *
The default value for the ComboBox control is 5.

+ *
The default value for the Form container is 16.

+ *
The default value for the Tree control is 2.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
 [Style(name="paddingLeft", type="Number", format="Length", inherit="no")]

 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 19231
Author:   jszeto@adobe.com
Date:     2010-12-09T19:25:51.943016Z

Log Message:
-----------
Mobile Skin Fixes

Merging in revisions 18989-19158 from hero_skin_sandbox.

The following component skins have been updated and 320 DPI skins added:

Button
CheckBox
RadioButton
TextInput
TextArea
ActionBar
HSlider

Updating MobileSkins test project

QE notes: baseline regen
Doc notes: none
Bugs: none
Reviewer: Jason San Jose, Tom Krakit
Tests run: full cyclone
Is noteworthy for integration: yes, updated skins!

Modified Paths:
--------------
129 paths were modified

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderSkin.as
@@ -11,6 +11,8 @@

 package spark.skins.mobile
 {
+import flash.display.BlendMode;
+
 import mx.core.ClassFactory;
 import mx.core.IFactory;

@@ -58,6 +60,8 @@
         thumbSkinClass = spark.skins.mobile.HSliderThumbSkin;
         trackSkinClass = spark.skins.mobile.HSliderTrackSkin;
         dataTipClass = HSliderDataTip;
+
+		blendMode = BlendMode.LAYER;
 	}

     //--------------------------------------------------------------------------
@@ -208,9 +212,14 @@
         var calculatedSkinWidth:int = Math.max(thumb.getPreferredBoundsWidth(),
                                                unscaledWidth);

-        // once we know the track height, center the thumb and track
+        // once we know the skin height, center the thumb and track
         thumb.y = Math.max(Math.round((calculatedSkinHeight - thumb.getPreferredBoundsHeight()) / 2), 0);
-        var calculatedTrackY:int = Math.max(Math.round((unscaledHeight - track.getPreferredBoundsHeight())/2), 0);
+        var calculatedTrackY:int = Math.max(Math.round((calculatedSkinHeight - track.getPreferredBoundsHeight()) / 2), 0);
+
+        // if you wanted to inset the track, e.g. so that the ends line up with the center of the track
+        // when the thumb is at the ends, you could try something like the following BUT you'd also have
+        // to modify the component code -- placement of the thumb is bounded by the width of the track
+        // var thumbX:int = Math.round(thumb.getPreferredBoundsWidth() / 2 - track.getPreferredBoundsHeight() / 2);

         // size and position
         setElementSize(thumb, thumb.getPreferredBoundsWidth(), thumb.getPreferredBoundsHeight()); // thumb does NOT scale


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

--- frameworks/projects/rpc/src/mx/messaging/ConsumerMessageDispatcher.as
+++ frameworks/projects/rpc/src/mx/messaging/ConsumerMessageDispatcher.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2007 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: 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@1273721 13f79535-47bb-0310-9956-ffa450edef68

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

 package mx.messaging.channels.amfx
 {


MicrophoneLevel: checking microphone availability [Bugfix]

--- flash/RecorderJSInterface.as
+++ flash/RecorderJSInterface.as
@@ -188,6 +188,9 @@
     }

     public function observeLevel():Boolean {
+      if(! this.isMicrophoneAvailable()) {
+        return false;
+      }
       if (!this.recorder.level.isObserving) {
         this.recorder.level.startObserving();
         ExternalInterface.call(this.eventHandler, RecorderJSInterface.OBSERVING_LEVEL);


updated docs

updated docs

Change-Id: I288cbe3a40074cbaa1290fc5501b52ada601847b

--- WeaveAPI/src/weave/api/core/IStageUtils.as
+++ WeaveAPI/src/weave/api/core/IStageUtils.as
@@ -71,8 +71,9 @@
 		 *   When the task is completed, iterativeTask() should return 1.0.
 		 *   The optional parameter specifies the time when the function should return. If the function accepts the returnTime
 		 *   parameter, it will not be called repeatedly within the same frame even if it returns before the returnTime.
-		 *   Example 1 (for loop replaced by if):
-		 *
+		 *
+		 * @example Example 1 (for loop replaced by if):
+		 * <listing version="3.0">
 		 *       var array:Array = ['a','b','c','d'];
 		 *       var index:int = 0;
 		 *       function iterativeTask():Number // this may be called repeatedly in succession
@@ -85,9 +86,10 @@
 		 *           index++;
 		 *           return index / array.length;  // this will return 1.0 on the last iteration.
 		 *       }
-		 *
-		 *   Example 2 (resumable for loop):
-		 *
+		 * </listing>
+		 *
+		 * @example Example 2 (resumable for loop):
+		 * <listing version="3.0">
 		 *       var array:Array = ['a','b','c','d'];
 		 *       var index:int = 0;
 		 *       function iterativeTaskWithTimer(returnTime:int):Number // this will be called only once in succession
@@ -103,9 +105,10 @@
 		 *           }
 		 *           return 1; // loop finished
 		 *       }
-		 *
-		 *   Example 3 (nested resumable for loops):
-		 *
+		 * </listing>
+		 *
+		 * @example Example 3 (nested resumable for loops):
+		 * <listing version="3.0">
 		 * 	     var outerArray:Array = [['a','b','c'], ['aa','bb','cc'], ['x','y','z'], ['xx','yy','zz']];
 		 *       var outerIndex:int = 0;
 		 *       var innerArray:Array = null;
@@ -139,7 +142,7 @@
 		 *           }
 		 *           return 1; // outer loop finished
 		 *       }
-		 *
+		 * </listing>
 		 * @param priority The task priority, which should be one of the static constants in WeaveAPI.
 		 * @param finalCallback A function that should be called after the task is completed.
 		 * @see weave.api.WeaveAPI


Fixed date format autodetection list so unpadded dates are correctly autodetected.


decreased size of busy indicator

decreased size of busy indicator

--- WeaveUISpark/src/weave/ui/BusyIndicator.as
+++ WeaveUISpark/src/weave/ui/BusyIndicator.as
@@ -61,12 +61,47 @@
 		public var colorEndList:Array = [0xa0a0a0, 0x404040, 0xa0a0a0];
 		public var alphaStart:Number = 1;
 		public var alphaEnd:Number = 0;
-		public var diameterRatio:Number = 0.25;
+		private var _diameter:Number = 20; // when this is set, diameterRatio will be disabled
+		private var _diameterRatio:Number = NaN; // percentage of window size
 		public var circleRatio:Number = 0.2;
 		public var numCircles:uint = 12;
 		private var prevFrame:int = -1;
 		private var timeBecameBusy:int = 0;
 		public var autoVisibleDelay:int = 2500;
+
+		/**
+		 * Diameter of busy indicator.
+		 * Setting this unsets diameterRatio.
+		 */
+		public function set diameter(value:Number):void
+		{
+			if (isFinite(value))
+			{
+				_diameter = value;
+				_diameterRatio = NaN;
+			}
+		}
+		public function get diameter():Number
+		{
+			return _diameter;
+		}
+
+		/**
+		 * Diameter expressed as a percentage of the parent size (number between 0 and 1).
+		 * Setting this unsets diameter.
+		 */
+		public function set diameterRatio(value:Number):void
+		{
+			if (isFinite(value))
+			{
+				_diameterRatio = value;
+				_diameter = NaN;
+			}
+		}
+		public function get diameterRatio():Number
+		{
+			return _diameterRatio;
+		}

 		/**
 		 * This will update the graphics immediately when set.
@@ -129,7 +164,11 @@

 			var cx:Number = parent.width / 2 - this.x;
 			var cy:Number = parent.height / 2 - this.y;
-			var radius:Number = Math.min(parent.width, parent.height) * diameterRatio / 2;
+			var radius:Number;
+			if (isFinite(diameter))
+				radius = diameter / 2;
+			else
+				radius = Math.min(parent.width, parent.height) * diameterRatio / 2;
 			var revolution:Number = frame / numCircles;
 			var colorIndexNorm:Number = revolution % (colorStartList.length - 1) / (colorStartList.length - 1);
 			var colorStart:Number = StandardLib.interpolateColor(colorIndexNorm, colorStartList);


Transferred from the Adobe Open Source Subversion Repository

Revision: 2462
Author:   jimurphy@adobe.com
Date:     2008-07-14T19:13:06.620116Z

Log Message:
-----------
gumbo push to trunk

Modified Paths:
--------------
214 paths were modified

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

--- frameworks/projects/mx/src/mx/skins/halo/TabSkin.as
+++ frameworks/projects/mx/src/mx/skins/halo/TabSkin.as
@@ -402,9 +402,9 @@
 		}
 	}

-	static private var tabnavs:Object = {};
-
-	static private function isTabNavigator(parent:Object):Boolean
+	private static var tabnavs:Object = {};
+
+	private static function isTabNavigator(parent:Object):Boolean
 	{
 		var s:String = getQualifiedClassName(parent);
 		if (tabnavs[s] == 1)


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as
+++ frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as
@@ -23,6 +23,8 @@
  *  It overrides the toString() method
  *  to return a string indicating the location of the object
  *  within the hierarchy of DisplayObjects in the application.
+ *
+ *  @productversion Apollo 1.0
  */
 public class FlexHTMLLoader extends HTMLLoader implements IFocusManagerComplexComponent
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12737
Author:   aharui@adobe.com
Date:     2009-12-09T18:50:59.012375Z

Log Message:
-----------
Remove SystemManager Error.  We are now pretty sure this has always been caused by the #

QE Notes: None
Doc Notes: None
Bugs: SDK-13830
Reviewer: Corey
API Change: No
Is noteworthy for integration: No
tests: checkintests

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as

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

--- frameworks/projects/framework/src/mx/managers/SystemManager.as
+++ frameworks/projects/framework/src/mx/managers/SystemManager.as
@@ -244,13 +244,6 @@
         // Make sure to stop the playhead on the current frame.
         stop();

-        // Add safeguard in case bug 129782 shows up again.
-        if (topLevel && currentFrame != 1)
-        {
-            throw new Error("The SystemManager constructor was called when the currentFrame was at " + currentFrame +
-                            " Please add this SWF to bug 129782.");
-        }
-
         // Listen for the last frame (param is 0-indexed) to be executed.
         //addFrameScript(totalFrames - 1, frameEndHandler);


Transferred from the Adobe Open Source Subversion Repository

Revision: 4539
Author:   jimurphy@adobe.com
Date:     2009-01-15T16:50:55.170251Z

Log Message:
-----------
Merged 3.x rev 4537 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/LoaderUtil.as</path>

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

--- frameworks/projects/framework/src/mx/managers/SystemManager.as
+++ frameworks/projects/framework/src/mx/managers/SystemManager.as
@@ -72,6 +72,7 @@
 import mx.events.EventListenerRequest;
 import mx.events.InvalidateRequestData;
 import mx.events.InterManagerRequest;
+import mx.events.ResizeEvent;
 import mx.events.SandboxMouseEvent;
 import mx.events.SWFBridgeRequest;
 import mx.events.SWFBridgeEvent;
@@ -81,8 +82,9 @@
 import mx.managers.systemClasses.PlaceholderData;
 import mx.utils.EventUtil;
 import mx.utils.NameUtil;
+import mx.utils.LoaderUtil;
+import mx.utils.ObjectUtil;
 import mx.utils.SecurityUtil;
-import mx.events.ResizeEvent;

 // NOTE: Minimize the non-Flash classes you import here.
 // Any dependencies of SystemManager have to load in frame 1,
@@ -1821,7 +1823,7 @@
 													cdRsls[i]["digests"],
 													cdRsls[i]["types"],
 													cdRsls[i]["isSigned"],
-													this.loaderInfo.url);
+													LoaderUtil.normalizeURL(this.loaderInfo));
 				rslList.push(cdNode);
 			}
 		}
@@ -1832,7 +1834,7 @@
 			n = rsls.length;
 			for (i = 0; i < n; i++)
 			{
-			    var node:RSLItem = new RSLItem(rsls[i].url, this.loaderInfo.url);
+			    var node:RSLItem = new RSLItem(rsls[i].url, LoaderUtil.normalizeURL(this.loaderInfo));
 				rslList.push(node);
 			}
 		}
@@ -3144,6 +3146,12 @@

 		if (!topLevel)
 		{
+            // We are not top-level and don't have a parent. This can happen
+            // when the application has already been unloaded by the time
+            // we get to this point.
+            if (!parent)
+                return;
+
 			var obj:DisplayObjectContainer = parent.parent;

   			// if there is no grandparent at this point, we might have been removed and
@@ -3289,7 +3297,10 @@
                 {
                     // Error #2099: The loading object is not sufficiently loaded to provide this information.
                     // We get this error because an old Event.RESIZE listener with a weak reference
-                    // is being called but the SWF has been unloaded. Just return;
+            // is being called but the SWF has been unloaded.
+            if (!_screen)
+                _screen = new Rectangle();
+
                     return;
                 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 946
Author:   clucier@adobe.com
Date:     2008-03-27T00:03:25.298810Z

Log Message:
-----------
Follow on to my last checkin, added additional logic to account for cases when styles are requested but not found.
Addresses a mustella breakage.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>

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

--- frameworks/projects/framework/src/mx/styles/StyleProtoChain.as
+++ frameworks/projects/framework/src/mx/styles/StyleProtoChain.as
@@ -221,9 +221,12 @@
             for (i = 0; i < classSelectors.length; i++)
             {
                 var classSelector:CSSStyleDeclaration = classSelectors[i];
-                chain = classSelector.addStyleToProtoChain(chain, target, filterMap);
-                if (classSelector.effects)
-                    obj.registerEffects(classSelector.effects);
+                if (classSelector)
+                {
+                    chain = classSelector.addStyleToProtoChain(chain, target, filterMap);
+                    if (classSelector.effects)
+                        obj.registerEffects(classSelector.effects);
+                }
             }

         }
@@ -302,11 +305,14 @@
         for (var i:int = 0; i < classSelectors.length; i++)
         {
             var classSelector:CSSStyleDeclaration = classSelectors[i];
-            inheritChain =
-                classSelector.addStyleToProtoChain(inheritChain, DisplayObject(obj));
-
-            nonInheritChain =
-                classSelector.addStyleToProtoChain(nonInheritChain, DisplayObject(obj));
+            if (classSelector)
+            {
+                inheritChain =
+                    classSelector.addStyleToProtoChain(inheritChain, DisplayObject(obj));
+
+                nonInheritChain =
+                    classSelector.addStyleToProtoChain(nonInheritChain, DisplayObject(obj));
+            }
         }

         obj.inheritingStyles = inheritChain;


Transferred from the Adobe Open Source Subversion Repository

Revision: 5098
Author:   gauravj@adobe.com
Date:     2009-02-27T02:21:27.489350Z

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

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

--- frameworks/projects/spark/src/spark/components/ToggleButton.as
+++ frameworks/projects/spark/src/spark/components/ToggleButton.as
@@ -28,26 +28,51 @@
  *  user interacts with the control by using the mouse.
  *
  *  @eventType flash.events.Event.CHANGE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="change", type="flash.events.Event")]

 /**
  *  Up State of the Button when it's selected
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [SkinState("upAndSelected")]

 /**
  *  Over State of the Button when it's selected
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [SkinState("overAndSelected")]

 /**
  *  Down State of the Button when it's selected
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [SkinState("downAndSelected")]

 /**
  *  Disabled State of the Button when it's selected
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [SkinState("disabledAndSelected")]

@@ -67,6 +92,11 @@
  *  by using the selected property.

  *
  *  @includeExample examples/FxToggleButtonExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class FxToggleButton extends FxButton implements ISelectableRenderer
 {
@@ -80,6 +110,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function FxToggleButton()
     {
@@ -117,6 +152,11 @@
     /**
      *  true if the button can be set to
 	 *  selected = false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get allowDeselection():Boolean
     {
@@ -139,6 +179,11 @@
     /**
      *  true if the button is in the down state,
      *  and false if it is in the up state.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get selected():Boolean
     {
@@ -162,6 +207,11 @@
     /**
      *  true if the button should display
      *  as if it has focus even if it doesn't.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get showFocusIndicator():Boolean
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5545
Author:   jimurphy@adobe.com
Date:     2009-03-25T19:00:52.330680Z

Log Message:
-----------
1st pass of rename according to the spec http://opensource.adobe.com/wiki/display/flexsdk/Dropping+the+Fx+Prefix

Flex now requires CSS Style declarations to declare @namespace rules and disambiguate between halo and spark components using CSS 3 namespace prefixes on type selectors. At compile time, this namespace information will be used to map type names to qualified ActionScript class names. At runtime, type selectors are matched on qualified ActionScript class name (for example mx.controls.Button rather than just Button). Flex 3 applications must be compiled with -compatibility-version=3.0.0 to get unqualified CSS type selector behavior.

QE: Yes, this build may help in updating test cases to use the new namespaces and class names.
Dev: Not yet
Doc: Not yet

Modified Paths:
--------------
748 paths were modified

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

--- frameworks/projects/spark/src/spark/components/ToggleButton.as
+++ frameworks/projects/spark/src/spark/components/ToggleButton.as
@@ -9,16 +9,16 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-package mx.components
+package spark.components
 {

-import mx.components.baseClasses.ToggleButtonBase;
+import spark.components.supportClasses.ToggleButtonBase;

-[IconFile("FxToggleButton.png")]
+[IconFile("ToggleButton.png")]

 /**
- *  The FxToggleButton component defines a toggle button.
+ *  The ToggleButton component defines a toggle button.
  *  Clicking the button toggles it between the up and an down states.
  *  If you click the button while it is in the up state,
  *  it toggles to the down state. You must click the button again
@@ -27,14 +27,14 @@
  *
You can get or set this state programmatically
  *  by using the selected property.

  *
- *  @includeExample examples/FxToggleButtonExample.mxml
+ *  @includeExample examples/ToggleButtonExample.mxml
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class FxToggleButton extends ToggleButtonBase
+public class ToggleButton extends ToggleButtonBase
 {
     include "../core/Version.as";

@@ -52,7 +52,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function FxToggleButton()
+    public function ToggleButton()
     {
         super();
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 6122
Author:   chaase@adobe.com
Date:     2009-04-10T14:30:17.762458Z

Log Message:
-----------
Various refactorings/renamings/changes from effects PARB review.

QE Notes: mx/effects and spark/effects currently broken (and disabled) due to these API changes. Matt is fixing.
Doc Notes: None
Bugs:
Reviewer: Hans
tests: checkintests, mustella tests/ListDataEffects

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EaseInOut.as" copyfrom-rev="5944" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/CompositeEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EaseInOut.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EasingFraction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/EffectEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ParallelInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/TweenEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Animate.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/RepeatBehavior.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/NumberArrayInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/IEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/Animate3DInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimationProperty.as" copyfrom-rev="5944" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateShaderTransitionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateFilterInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/Rotate3DInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/AnimationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/ArrayInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/IEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RotateInstance.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/IAnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimationProperty.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/ResizeInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/ResizeInstance.as
@@ -14,8 +14,7 @@

 import mx.core.IUIComponent;

-import spark.effects.AnimationProperty;
-import spark.events.AnimationEvent;
+import spark.effects.SimpleMotionPath;

 public class ResizeInstance extends AnimateInstance
 {
@@ -24,8 +23,6 @@
     public function ResizeInstance(target:Object)
     {
         super(target);
-
-        roundValues = true;
     }

     //--------------------------------------------------------------------------
@@ -33,21 +30,6 @@
     //  Variables
     //
     //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    private var restoreVisibleArray:Array;
-
-    /**
-     *  @private
-     */
-    private var restoreAutoLayoutArray:Array;
-
-    /**
-     *  @private
-     */
-    private var numHideEffectsPlaying:Number = 0;

     /**
      *  @private
@@ -233,21 +215,6 @@
         widthSet = !isNaN(value);
     }

-    //----------------------------------
-    //  hideChildrenTargets
-    //----------------------------------
-
-    /**
-     *  An Array of Panels.
-     *  The children of these Panels are hidden while the Resize effect plays.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public var hideChildrenTargets:Array /* of Panel */;
-
     //--------------------------------------------------------------------------
     //
     //  Overridden methods
@@ -260,19 +227,10 @@
     override public function play():void
     {
         calculateDimensionChanges();
-
-        // If the target is a Panel, then find all Panel objects that will
-        // be affected by the animation.  Deliver a "resizeStart" event to
-        // each affected Panel, and then wait until the Panel finishes
-        // hiding its children.
-        // TODO: We should axe this from Resize and enable the
-        // functionality in a different manner, such as setting hiding
-        // effects manually on the children themselves
-        var childrenHiding:Boolean = false; // hidePanelChildren();
-
-        animationProperties =
-            [new AnimationProperty("width", widthFrom, widthTo, duration, widthBy),
-             new AnimationProperty("height", heightFrom, heightTo, duration, heightBy)];
+
+        motionPaths =
+            [new SimpleMotionPath("width", widthFrom, widthTo, duration, widthBy),
+             new SimpleMotionPath("height", heightFrom, heightTo, duration, heightBy)];

         // Also animate any size-related constraints that change between
         // transition states
@@ -294,27 +252,7 @@
             }
         }

-        super.play();
-
-        if (childrenHiding)
-            animation.pause();
-
-    }
-
-    /**
-     * Handles the end event from the tween. The value here is an Array of
-     * values, one for each 'property' in our animationProperties.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    override protected function endHandler(event:AnimationEvent):void
-    {
-        super.endHandler(event);
-
-        restorePanelChildren();
+        super.play();
     }

     //--------------------------------------------------------------------------
@@ -394,172 +332,5 @@
         }
     }

-    /**
-     *  @private
-     *  Hides children of Panels while the effect is playing.
-     */
-    /*
-    private function hidePanelChildren():Boolean
-    {
-        if (!hideChildrenTargets)
-            return false;
-
-        // Initialize a couple arrays that will be needed later
-        restoreVisibleArray = [];
-        restoreAutoLayoutArray = [];
-
-        // Send each panel a "resizeStart" event, which will trigger
-        // the resizeStartEffect (if any)
-        var n:int = hideChildrenTargets.length;
-        for (var i:int = 0; i < n; i++)
-        {
-            var p:Object = hideChildrenTargets[i];
-
-            if (p is Panel)
-            {
-                var prevNumHideEffectsPlaying:Number = numHideEffectsPlaying;
-
-                p.addEventListener(EffectEvent.EFFECT_START, panelChildrenEventHandler);
-                p.dispatchEvent(new Event("resizeStart"));
-                p.removeEventListener(EffectEvent.EFFECT_START, panelChildrenEventHandler);
-
-                // If no effect started playing, then make children invisible
-                // immediately instead of waiting for the end of the effect
-                if (numHideEffectsPlaying == prevNumHideEffectsPlaying)
-                    makePanelChildrenInvisible(Panel(p), i);
-            }
-        }
-
-        return numHideEffectsPlaying > 0;
-    }
-    */
-
-    /**
-     *  @private
-     */
-    /*
-    private function makePanelChildrenInvisible(panel:Panel,
-                                                panelIndex:Number):void
-    {
-        var childArray:Array = [];
-
-        var child:IUIComponent;
-
-        // Hide the Panel's children while the Resize is occurring.
-        var n:int = panel.numItems;
-        for (var i:int = 0; i < n; i++)
-        {
-            child = IUIComponent(panel.getItemAt(i));
-            if (child.visible)
-            {
-                childArray.push(child);
-                child.setVisible(false, true);
-            }
-        }
-
-        // Hide the Panel's scrollbars while the Resize is occurring.
-        //child = panel.horizontalScrollBar;
-        if (child && child.visible)
-        {
-            childArray.push(child);
-            child.setVisible(false, true);
-        }
-        //child = panel.verticalScrollBar;
-        if (child && child.visible)
-        {
-            childArray.push(child);
-            child.setVisible(false, true);
-        }
-
-        restoreVisibleArray[panelIndex] = childArray;
-
-        // Set autoLayout = false, which prevents the Panel's updateDisplayList()
-        // method from executing while the Panel is resizing.
-        //if (panel.autoLayout)
-        //{
-        //    panel.autoLayout = false;
-        //    restoreAutoLayoutArray[panelIndex] = true;
-        //}
-    }
-    */
-
-    /**
-     *  @private
-     */
-    private function restorePanelChildren():void
-    {
-        if (hideChildrenTargets)
-        {
-            var n:int = hideChildrenTargets.length;
-            for (var i:int = 0; i < n; i++)
-            {
-                var p:IUIComponent = hideChildrenTargets[i];
-
-                var childArray:Array = restoreVisibleArray[i];
-                if (childArray)
-                {
-                    var m:int = childArray.length;
-                    for (var j:int = 0; j < m; j++)
-                    {
-                        childArray[j].setVisible(true, true);
-                    }
-                }
-
-                //if (restoreAutoLayoutArray[i])
-                    //Panel(p).autoLayout = true;
-
-                // Trigger the resizeEndEffect (if any)
-                p.dispatchEvent(new Event("resizeEnd"));
-            }
-        }
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Overridden event handlers
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     *  This function is called when one of the Panels finishes
-     *  its "hide children" animation.
-     */
-    /*
-    private function panelChildrenEventHandler(event:Event):void
-    {
-        var panel:Panel = event.target as Panel;
-
-        if (event.type == EffectEvent.EFFECT_START)
-        {
-            // Call my eventHandler() method when the effect finishes playing.
-            panel.addEventListener(EffectEvent.EFFECT_END, panelChildrenEventHandler);
-
-            // Remember how many effects we're waiting for
-            numHideEffectsPlaying++;
-        }
-
-        else if (event.type == EffectEvent.EFFECT_END)
-        {
-            // Remove the event listener that triggered this callback.
-            panel.removeEventListener(EffectEvent.EFFECT_END, panelChildrenEventHandler);
-
-            // Get the array index of the panel
-            var n:int = hideChildrenTargets.length;
-            for (var i:int = 0; i < n; i++)
-            {
-                if (hideChildrenTargets[i] == panel)
-                    break;
-            }
-
-            makePanelChildrenInvisible(panel, i);
-
-            // If all panels have finished their "hide children" effect,
-            // then it's time to start our Resize effect.
-            if (--numHideEffectsPlaying == 0)
-                animation.resume();
-        }
-    }
-    */
 }
 }


Match change to ConfirmAdapter.

Match change to ConfirmAdapter.

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

--- src/as/com/threerings/whirled/spot/client/SpotSceneDirector.as
+++ src/as/com/threerings/whirled/spot/client/SpotSceneDirector.as
@@ -223,18 +223,18 @@

         _pendingLoc = (loc.clone() as Location);
         var clist :ConfirmAdapter = new ConfirmAdapter(
+            function (reason :String) :void {
+                _pendingLoc = null;
+                if (listener != null) {
+                    listener.requestFailed(new Error(reason));
+                }
+            },
             function () :void {
                 _location = _pendingLoc;
                 _pendingLoc = null;
                 if (listener != null) {
                     listener.requestCompleted(_location);
                 }
-            },
-            function (reason :String) :void {
-                _pendingLoc = null;
-                if (listener != null) {
-                    listener.requestFailed(new Error(reason));
-                }
             });
         _sservice.changeLocation(_wctx.getClient(), sceneId, loc, clist);
     }
@@ -263,14 +263,14 @@
         log.info("Joining cluster [friend=" + froid + "].");

         _sservice.joinCluster(_wctx.getClient(), froid, new ConfirmAdapter(
+            function (reason :String) :void {
+                if (listener != null) {
+                    listener.requestFailed(new Error(reason));
+                }
+            },
             function () :void {
                 if (listener != null) {
                     listener.requestCompleted(null);
-                }
-            },
-            function (reason :String) :void {
-                if (listener != null) {
-                    listener.requestFailed(new Error(reason));
                 }
             }));
     }


Add setter on skinningMethod

Add setter on skinningMethod

--- src/aerys/minko/scene/controller/mesh/skinning/SkinningController.as
+++ src/aerys/minko/scene/controller/mesh/skinning/SkinningController.as
@@ -1,5 +1,9 @@
 package aerys.minko.scene.controller.mesh.skinning
 {
+	import flash.display.BitmapData;
+	import flash.geom.Matrix3D;
+	import flash.utils.Dictionary;
+
 	import aerys.minko.Minko;
 	import aerys.minko.ns.minko_math;
 	import aerys.minko.render.Viewport;
@@ -15,10 +19,6 @@
 	import aerys.minko.type.log.DebugLevel;
 	import aerys.minko.type.math.Matrix4x4;

-	import flash.display.BitmapData;
-	import flash.geom.Matrix3D;
-	import flash.utils.Dictionary;
-
 	public final class SkinningController extends EnterFrameController implements IRebindableController
 	{
 		public static const MAX_NUM_INFLUENCES	: uint	= 8;
@@ -49,9 +49,26 @@
 			return _skeletonRoot;
 		}

+		public function set skinningMethod(value : uint) : void
+		{
+			_method = value;
+
+			for (var targetId : uint = 0; targetId < numTargets; targetId++)
+			{
+				var target : ISceneNode = getTarget(targetId);
+				targetRemovedFromScene(target, target.scene);
+				targetAddedToScene(target, target.scene);
+			}
+		}
+
 		public function get joints() : Vector.<Group>
 		{
 			return _joints;
+		}
+
+		public function get numJoints() : uint
+		{
+			return _joints.length;
 		}

 		public function SkinningController(method			: uint,


Transferred from the Adobe Open Source Subversion Repository

Revision: 6953
Author:   jimurphy@adobe.com
Date:     2009-05-15T14:56:10.129845Z

Log Message:
-----------
Merge 3.x rev 6914 -> trunk

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/Operation.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/http/Operation.as
+++ frameworks/projects/rpc/src/mx/rpc/http/Operation.as
@@ -285,7 +285,7 @@
             {
                 params = args[0];
             }
-            else
+            else if (args.length != 0)
             {
                 throw new ArgumentError("HTTPMultiService - you must set argumentNames to an array of parameter names if you use more than one parameter.");
             }


remove _xmlDataProxy.changePath

remove _xmlDataProxy.changePath

--- src/control/ExportDataCommand.as
+++ src/control/ExportDataCommand.as
@@ -244,8 +244,9 @@
 						{
 							_xmlDataProxy = _xmlDataProxy.clone();
 						}
-						_xmlDataProxy.changePath();
-
+
+						//do not need to change changePath for TexturePacker
+						//_xmlDataProxy.changePath();

 						subBitmapDataDic = BitmapDataUtil.getSubBitmapDataDic(
 							_bitmapData,


[VectorCommon] added new useful method makeBitmapTransparent() to GraphicUtils

git-svn-id: adbdea8fc1759bd16b0eaf24a244a7e5f870a654@180 fe3f0490-d73e-11de-a956-c71e7d3a9d2f

--- VectorCommon/src/org/jbei/components/common/GraphicUtils.as
+++ VectorCommon/src/org/jbei/components/common/GraphicUtils.as
@@ -1,5 +1,6 @@
 package org.jbei.components.common
 {
+	import flash.display.BitmapData;
 	import flash.display.Graphics;
 	import flash.geom.Point;

@@ -287,5 +288,24 @@

 			return point;
 		}
+
+        /* Makes bitmap transparent from regular bitmap. Transparency level depends on transparencyFactor variable. */
+        public static function makeBitmapTrasparent(bitmapData:BitmapData, bitmapWidth:int, bitmapHeight:int, transparencyFactor:Number):BitmapData
+        {
+            var resultBitmapData:BitmapData = new BitmapData(bitmapWidth, bitmapHeight, true, 0xFFFFFFFF);
+
+            for(var i:int = 0; i < bitmapWidth; i++) {
+                for(var j:int = 0; j < bitmapHeight; j++) {
+                    var pixelValue:uint = bitmapData.getPixel32(i, j);
+                    var alphaValue:uint = pixelValue >> 24 & 0xFF;
+                    var rgbValue:uint = pixelValue & 0xffffff;
+                    var resultAlpha:uint = alphaValue * (transparencyFactor);
+
+                    resultBitmapData.setPixel32(i, j, resultAlpha << 24 | rgbValue);
+                }
+            }
+
+            return resultBitmapData;
+        }
 	}
 }


Fix the Shared Libraries build.  It looks like the version of as3isolib in
extlibs needs to be updated.

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

--- src/as/com/threerings/miso/client/MisoScenePanel.as
+++ src/as/com/threerings/miso/client/MisoScenePanel.as
@@ -38,7 +38,7 @@
 import mx.core.ClassFactory;

 import as3isolib.display.primitive.IsoBox;
-import as3isolib.display.renderers.SimpleSceneLayoutRenderer;
+// import as3isolib.display.renderers.SimpleSceneLayoutRenderer;
 import as3isolib.geom.Pt;
 import as3isolib.geom.IsoMath;
 import as3isolib.display.scene.IsoGrid;
@@ -150,7 +150,7 @@
         for (var si :int = -2; si < 4; si++) {
             for (var sj :int = -1; sj < 3; sj++) {
                 var baseScene :IsoScene = new IsoScene();
-                baseScene.layoutRenderer = new ClassFactory(SimpleSceneLayoutRenderer);
+//                baseScene.layoutRenderer = new ClassFactory(SimpleSceneLayoutRenderer);
                 for (var ii :int = 10*si; ii < 10*si + 10; ii++) {
                     for (var jj :int = 10*sj; jj < 10*sj + 10; jj++) {
                         var tileId :int = _model.getBaseTileId(ii, jj);


OK, that ended up being pretty small. This is not tested, but what could possibly go wrong?

--- tamarin-central/thane/as3src/flash/geom/Matrix.as
+++ tamarin-central/thane/as3src/flash/geom/Matrix.as
@@ -129,13 +129,7 @@
         if (Math.abs(det) < 1E-8) {
             throw new Error("Matrix is singular, can't invert");
         }
-        var newA :Number =  d / det;
-        var newB :Number = -b / det;
-        var newC :Number = -c / det;
-        var newD :Number =  a / det;
-
-        // tx and ty are slightly more complex, but now I'm really going home
-        throw new Error("not implemented");
+        configure(d/det, -b/det, -c/det, a/det, (c*ty - d*tx) / det, (a*ty - b*tx) / det);
     }

     /**