Transferred from the Adobe Open Source Subversion Repository

Revision: 14405
Author:   jszeto@adobe.com
Date:     2010-02-25T00:22:17.643962Z

Log Message:
-----------
Merging 14403 from 4.x to trunk

VideoPlayer mirroring bug fix

http://bugs.adobe.com/jira/browse/SDK-25471 - Spark VideoPlayer control shouldn’t reverse control buttons when changing layoutDirection

VideoPlayer should not mirror, so I set layoutDirection = ltr in the CSS type selector. Fixed a bug where the VideoPlayer is mirrored when it goes full screen. Added logic to UIComponent to invalidate the layoutDirection if the parent has been changed.

Set layoutDirection = ltr on the play button and volume bar so that they don't get reversed if layoutDirection = rtl on the VideoPlayer.

QE notes: none
Doc notes: none
Bugs: SDK-25471
Reviewer: Hans
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/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/VideoPlayerSkin.mxml</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -1541,6 +1541,11 @@
     private var transitionFromState:String;
     private var transitionToState:String;

+    /**
+     *  @private
+     */
+    private var parentChangedFlag:Boolean = false;
+
     //--------------------------------------------------------------------------
     //
     //  Variables: Creation
@@ -5841,7 +5846,7 @@
      *  The flag is cleared in validateDisplayList().
      */
     private var oldLayoutDirection:String = null;
-
+
     /**
      *  @inheritDoc
      */
@@ -7099,7 +7104,7 @@
         }

         // trace("               " + p);
-
+        parentChangedFlag = true;
     }

     /**
@@ -7577,7 +7582,7 @@
      * @inheritDoc
      */
     public function invalidateLayoutDirection():void
-    {
+    {
         const parentElt:IVisualElement = parent as IVisualElement;
         const thisLayoutDirection:String = layoutDirection;

@@ -7588,7 +7593,7 @@
         const mirror:Boolean = (parentElt)
             ? (parentElt.layoutDirection != thisLayoutDirection)
             : ("ltr" != thisLayoutDirection);
-
+
         if ((_layoutFeatures) ? (mirror != _layoutFeatures.mirror) : mirror)
         {
             if (_layoutFeatures == null)
@@ -7944,11 +7949,9 @@
         {
             // If this component's layout direction has changed, or its parent's layoutDirection
             // has changed, then call invalidateLayoutDirection().
-
-            const thisLayoutDirection:String = layoutDirection;
             const parentUIC:UIComponent = parent as UIComponent;

-            if ((oldLayoutDirection != layoutDirection) ||
+            if ((oldLayoutDirection != layoutDirection) || parentChangedFlag ||
                 (parentUIC && (parentUIC.layoutDirection != parentUIC.oldLayoutDirection)))
                 invalidateLayoutDirection();
         }
@@ -8038,6 +8041,8 @@
                 }
             }
         }
+
+        parentChangedFlag = false;
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 4111
Author:   chaase@adobe.com
Date:     2008-11-14T16:39:46.711628Z

Log Message:
-----------
Makes auto-reversal of transitions work more completely and correctly, fixing some API issues and other related animation/effect issues along the way. Seeking behavior in effects is improved (although still far from perfect, especially for non-playing effects), and dynamic behavior of effects (picking up values dynamically from the environment) is improved.

QE Notes: better seek() behavior, can just call it on non-playing effects and it will automatically play/pause the effect if necessary
Doc Notes: None
Bugs: sdk-17294, sdk-16595, sdk-18104, sdk-18105, sdk-18106, sdk-18107
Reviewer: Jason
tests: checkintests, Mustella: tests/Effects, tests/gumbo/effects tests/ListDataEffects

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/Transition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/RemoveAction.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/framework/src/mx/events/EffectEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.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/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/Parallel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/CallAction.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="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/IEffect.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/framework/src/mx/effects/Sequence.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/flex4/src/mx/effects/AddAction.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -32,6 +32,7 @@
 import flash.geom.Rectangle;
 import flash.geom.Transform;
 import flash.geom.Vector3D;
+import flash.system.ApplicationDomain;
 import flash.text.TextLineMetrics;
 import flash.utils.getQualifiedClassName;

@@ -55,6 +56,7 @@
 import mx.filters.IBitmapFilter;
 import mx.geom.CompoundTransform;
 import mx.geom.Transform;
+import mx.geom.TransformOffsets;
 import mx.graphics.RoundedRectangle;
 import mx.managers.CursorManager;
 import mx.managers.ICursorManager;
@@ -84,7 +86,6 @@
 import mx.utils.StringUtil;
 import mx.validators.IValidatorListener;
 import mx.validators.ValidationResult;
-import mx.geom.TransformOffsets;

 use namespace mx_internal;

@@ -444,6 +445,20 @@
  *  @eventType mx.events.EffectEvent.EFFECT_START
  */
 [Event(name="effectStart", type="mx.events.EffectEvent")]
+
+/**
+ *  Dispatched after an effect is stopped, which happens
+ *  only by a call to stop() on the effect.
+ *
+ *
The effect will then dispatch the EFFECT_END event
+ *  as the effect finishes. The purpose of the EFFECT_STOP
+ *  event is to let listeners know that the effect came to
+ *  a premature end, rather than ending naturally or as a
+ *  result of a call to end().
+ *
+ *  @eventType mx.events.EffectEvent.EFFECT_STOP
+ */
+[Event(name="effectStop", type="mx.events.EffectEvent")]

 /**
  *  Dispatched after an effect ends.
@@ -1117,6 +1132,16 @@
      */
     private var hasFocusRect:Boolean = false;

+    /**
+     * @private
+     * These variables cache the transition state from/to information for
+     * the transition currently running. This information is used when
+     * determining what to do with a new transition that interrupts the
+     * running transition.
+     */
+    private var transitionFromState:String;
+    private var transitionToState:String;
+

     //--------------------------------------------------------------------------
     //
@@ -4670,9 +4695,9 @@

     /**
      *  @private
-     *  Transition effect currently playing.
-     */
-    private var _currentTransitionEffect:IEffect;
+     *  Transition currently playing.
+     */
+    private var _currentTransition:Transition;

     private var _transitions:Array /* of Transition */ = [];

@@ -7656,7 +7681,7 @@
      */
     private function commitCurrentState():void
     {
-        var transition:IEffect =
+        var nextTransition:Transition =
             playStateTransition ?
             getTransition(_currentState, requestedCurrentState) :
             null;
@@ -7667,28 +7692,29 @@

         // Stop any transition that may still be playing
         var prevTransitionFraction:Number;
-        if (_currentTransitionEffect)
-        {
-            if (_currentTransitionEffect.autoReverse &&
-                _currentTransitionEffect.fromState == requestedCurrentState &&
-                _currentTransitionEffect.toState == _currentState)
+        if (_currentTransition)
+        {
+            if (_currentTransition.autoReverse &&
+                transitionFromState == requestedCurrentState &&
+                transitionToState == _currentState &&
+                "playheadTime" in _currentTransition.effect)
             {
-                if (_currentTransitionEffect.duration == 0)
+                if (_currentTransition.effect.duration == 0)
                     prevTransitionFraction = 0;
                 else
                     prevTransitionFraction =
-                        _currentTransitionEffect.playheadTime /
-                        _currentTransitionEffect.duration;
+                        _currentTransition.effect["playheadTime"] /
+                        getTotalDuration(_currentTransition.effect);
             }
-            _currentTransitionEffect.end();
+            _currentTransition.effect.end();
         }

         // Initialize the state we are going to.
         initializeState(requestedCurrentState);

         // Capture transition start values
-        if (transition)
-            transition.captureStartValues();
+        if (nextTransition)
+            nextTransition.effect.captureStartValues();

         // Dispatch currentStateChanging event
         event = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGING);
@@ -7721,26 +7747,72 @@
         event.newState = _currentState ? _currentState : "";
         dispatchEvent(event);

-        if (transition)
+        if (nextTransition)
         {
             // Force a validation before playing the transition effect
             UIComponentGlobals.layoutManager.validateNow();
-            _currentTransitionEffect = transition;
-            transition.addEventListener(EffectEvent.EFFECT_END, transition_effectEndHandler);
-            transition.fromState = oldState;
-            transition.toState = _currentState;
-            transition.play();
-            if (!isNaN(prevTransitionFraction) && transition.duration != 0)
-                transition.seek((1 - prevTransitionFraction) * transition.duration);
-        }
-    }
-
+            _currentTransition = nextTransition;
+            transitionFromState = oldState;
+            transitionToState = _currentState;
+            nextTransition.effect.addEventListener(EffectEvent.EFFECT_END,
+                transition_effectEndHandler);
+            nextTransition.effect.play();
+            if (!isNaN(prevTransitionFraction) &&
+                nextTransition.effect.duration != 0 &&
+                "seek" in nextTransition.effect)
+                nextTransition.effect["seek"]((1 - prevTransitionFraction) *
+                    getTotalDuration(nextTransition.effect));
+        }
+    }
+
+    // Used by getTotalDuration() to avoid hard-linking against
+    // CompositeEffect
+    private static var compositeEffectType:Class;
+    private static var compositeEffectLoaded:Boolean = false;
+
+    /**
+     * @private
+     * returns the 'total' duration of an effect. This value
+     * takes into account any startDelay and repetition data.
+     * For CompositeEffect objects, it also accounts for the
+     * total duration of that effect's children.
+     */
+    private function getTotalDuration(effect:IEffect):Number
+    {
+        // TODO (chaase): we should add timing properties to some
+        // interface to avoid these hacks
+        var duration:Number = 0;
+        var effectObj:Object = Object(effect);
+        if (!compositeEffectLoaded)
+        {
+            compositeEffectLoaded = true;
+            if (ApplicationDomain.currentDomain.hasDefinition("mx.effects.CompositeEffect"))
+                compositeEffectType = Class(ApplicationDomain.currentDomain.
+                getDefinition("mx.effects.CompositeEffect"));
+        }
+        if (compositeEffectType && (effect is compositeEffectType))
+            duration = effectObj.compositeDuration;
+        else
+            duration = effect.duration;
+        var repeatDelay:int = ("repeatDelay" in effect) ?
+            effectObj.repeatDelay : 0;
+        var repeatCount:int = ("repeatCount" in effect) ?
+            effectObj.repeatCount : 0;
+        var startDelay:int = ("startDelay" in effect) ?
+            effectObj.startDelay : 0;
+        // Now add in startDelay/repeat info
+        duration =
+            duration * repeatCount +
+            (repeatDelay * (repeatCount - 1)) +
+            startDelay;
+        return duration;
+    }
     /**
      *  @private
      */
     private function transition_effectEndHandler(event:EffectEvent):void
     {
-        _currentTransitionEffect = null;
+        _currentTransition = null;
     }

     /**
@@ -7923,9 +7995,9 @@
      *  @private
      *  Find the appropriate transition to play between two states.
      */
-    private function getTransition(oldState:String, newState:String):IEffect
-    {
-        var result:IEffect = null;      // Current candidate
+    private function getTransition(oldState:String, newState:String):Transition
+    {
+        var result:Transition = null;   // Current candidate
         var priority:int = 0;           // Priority     fromState   toState
                                         //    1             *           *
                                         //    2           match         *
@@ -7947,22 +8019,22 @@

             if (t.fromState == "*" && t.toState == "*" && priority < 1)
             {
-                result = t.effect;
+                result = t;
                 priority = 1;
             }
             else if (t.fromState == oldState && t.toState == "*" && priority < 2)
             {
-                result = t.effect;
+                result = t;
                 priority = 2;
             }
             else if (t.fromState == "*" && t.toState == newState && priority < 3)
             {
-                result = t.effect;
+                result = t;
                 priority = 3;
             }
             else if (t.fromState == oldState && t.toState == newState && priority < 4)
             {
-                result = t.effect;
+                result = t;
                 priority = 4;

                 // Can't get any higher than this, let's go.


Transferred from the Adobe Open Source Subversion Repository

Revision: 2878
Author:   gosmith@adobe.com
Date:     2008-08-19T01:47:49.628691Z

Log Message:
-----------
Added an ObjectUtil.getUnqualifiedClassName() utility method for use in the className getter in four classes, which previously had copy-and-paste code.

Moved the STYLE_UNINITIALIZED constant from StyleManager to StyleProtoChain, since it indicates an uninitialized style proto chain.

Reviewer: Jono
Bugs: -
QA: No
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NavBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.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/framework/src/mx/utils/ObjectUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/TextGraphicElement.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/styles/StyleProtoChain.as</path>

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

--- frameworks/projects/framework/src/mx/core/UITextField.as
+++ frameworks/projects/framework/src/mx/core/UITextField.as
@@ -32,6 +32,7 @@
 import mx.styles.IStyleClient;
 import mx.styles.StyleManager;
 import mx.styles.StyleProtoChain;
+import mx.utils.ObjectUtil;
 import mx.utils.StringUtil;

 use namespace mx_internal;
@@ -573,14 +574,7 @@
      */
     public function get className():String
     {
-        var name:String = getQualifiedClassName(this);
-
-        // If there is a package name, strip it off.
-        var index:int = name.indexOf("::");
-        if (index != -1)
-            name = name.substr(index + 2);
-
-        return name;
+        return ObjectUtil.getUnqualifiedClassName(this);
     }

     //----------------------------------
@@ -895,7 +889,7 @@
      *  @private
      *  Storage for the inheritingStyles property.
      */
-    private var _inheritingStyles:Object = StyleManager.STYLE_UNINITIALIZED;
+    private var _inheritingStyles:Object = StyleProtoChain.STYLE_UNINITIALIZED;

     /**
      *  The beginning of this UITextField's chain of inheriting styles.
@@ -1170,7 +1164,7 @@
      *  @private
      *  Storage for the nonInheritingStyles property.
      */
-    private var _nonInheritingStyles:Object = StyleManager.STYLE_UNINITIALIZED;
+    private var _nonInheritingStyles:Object = StyleProtoChain.STYLE_UNINITIALIZED;

     /**
      *  The beginning of this UITextField's chain of non-inheriting styles.


Transferred from the Adobe Open Source Subversion Repository

Revision: 12864
Author:   mhorn@adobe.com
Date:     2009-12-11T21:35:24.243046Z

Log Message:
-----------
asdoc minor fixes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/SpriteAsset.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/MovieClipAsset.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/BitmapAsset.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.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/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/mx/src/mx/containers/TabNavigator.as
+++ frameworks/projects/mx/src/mx/containers/TabNavigator.as
@@ -239,14 +239,15 @@
  *
To define the appearance of tabs in a TabNavigator, you can define style properties in a
  *  Tab type selector, as the following example shows:

  *

- *  <mx:Style>
- *    Tab {
+ *  <fx:Style>
+ *    @namespace mx "library://ns.adobe.com/flex/mx"
+ *    mx|Tab {
  *       fillColors: #006699, #cccc66;
  *       upSkin: ClassReference("CustomSkinClass");
  *       overSkin: ClassReference("CustomSkinClass");
  *       downSkin: ClassReference("CustomSkinClass");
  *    }
- *  </mx:Style>
+ *  </fx:Style>
  *

  *
  *
The Tab type selector defines values on the hidden mx.controls.tabBarClasses.Tab
@@ -256,8 +257,9 @@
  *
You can also define the styles in a class selector that you specify using
  *  the tabStyleName style property; for example:

  *

- *  <mx:Style>
- *    TabNavigator {
+ *  <fx:Style>
+ *    @namespace mx "library://ns.adobe.com/flex/mx"
+ *    mx|TabNavigator {
  *       tabStyleName:myTabStyle;
  *    }
  *
@@ -267,7 +269,7 @@
  *       overSkin: ClassReference("CustomSkinClass");
  *       downSkin: ClassReference("CustomSkinClass");
  *    }
- *  </mx:Style>
+ *  </fx:Style>
  *

  *
  *
A TabNavigator container has the following default sizing characteristics:


Replaced removeRangeFromSelection with sane code (thanks to Erik)

--- frameworks/projects/mx/src/mx/controls/CalendarLayout.as
+++ frameworks/projects/mx/src/mx/controls/CalendarLayout.as
@@ -2001,66 +2001,59 @@
      *  from the selected dates.
      */
     mx_internal function removeRangeFromSelection(startDate:Date, endDate:Date):void
-    {
-        for (var n:int = 0; n < selectedRangeCount; n++)
-        {
-            var s1:int;
-
-            if (!startDate || startDate <= _selectedRanges[n].rangeStart)
-                s1 = 1;
-            else if (startDate <= _selectedRanges[n].rangeEnd)
-                s1 = 2;
-            else if (startDate > _selectedRanges[n].rangeEnd)
-                s1 = 3;
-
-            if (endDate < _selectedRanges[n].rangeStart)
-                s1 *= 5;
-            else if (endDate < _selectedRanges[n].rangeEnd)
-                s1 *= 7;
-            else if (!endDate || endDate >= _selectedRanges[n].rangeEnd)
-                s1 *= 11;
-
-            switch (s1)
-            {
-                case 5:
-                case 33:
-                    break;
-
-                case 14:
-                {
-                    var temp:Date = _selectedRanges[n].rangeEnd;
-
-                    _selectedRanges[n].rangeEnd = incrementDate(startDate,-1);
-
-                    _selectedRanges[selectedRangeCount] = {};
-                    _selectedRanges[selectedRangeCount].rangeStart = incrementDate(endDate);
-                    _selectedRanges[selectedRangeCount].rangeEnd = temp;
-                    selectedRangeCount += 1;
-                    break;
-                }
-
-                case 7:
-                {
-                    _selectedRanges[n].rangeStart = incrementDate(endDate);
-                    break;
-                }
-
-                case 22:
-                {
-                    _selectedRanges[n].rangeEnd = incrementDate(startDate,-1);
-                    break;
-                }
-
-                case 11:
-                {
-                    _selectedRanges[n] = _selectedRanges[selectedRangeCount-1];
-                    _selectedRanges[selectedRangeCount-1] = null;
-                    selectedRangeCount -= 1;
-                    break;
-                }
-            }
-        }
-    }
+	{
+		var rangeEnd:Date;
+		var rangeStart:Date;
+
+		if (endDate < startDate)
+			return;
+
+		for (var n:int = 0; n < selectedRangeCount; n++)
+		{
+			rangeStart = _selectedRanges[n].rangeStart;
+
+			if (endDate < rangeStart)
+				continue;
+
+			rangeEnd = _selectedRanges[n].rangeEnd;
+
+			if (startDate <= rangeStart)
+			{
+				if (endDate < rangeEnd)
+				{
+					_selectedRanges[n].rangeStart = incrementDate(endDate);
+				}
+				else
+				{
+					_selectedRanges[n] = _selectedRanges[selectedRangeCount - 1];
+					_selectedRanges[selectedRangeCount - 1] = null;
+
+					selectedRangeCount -= 1;
+				}
+			}
+			else if (startDate <= rangeEnd)
+			{
+				if (endDate < rangeEnd)
+				{
+					var temp:Date = _selectedRanges[n].rangeEnd;
+
+					_selectedRanges[n].rangeEnd = incrementDate(startDate, -1);
+
+					_selectedRanges[selectedRangeCount] = {};
+					_selectedRanges[selectedRangeCount].rangeStart =
+						incrementDate(endDate);
+					_selectedRanges[selectedRangeCount].rangeEnd = temp;
+
+					selectedRangeCount += 1;
+				}
+				else
+				{
+					_selectedRanges[n].rangeEnd = incrementDate(startDate, -1);
+				}
+			}
+		}
+	}
+

     /**
      *  @private


Change signature of PropertyUtil.copyArrayList() method.

--- dolly-framework/src/main/actionscript/dolly/utils/PropertyUtil.as
+++ dolly-framework/src/main/actionscript/dolly/utils/PropertyUtil.as
@@ -13,8 +13,10 @@
 		targetObj[propertyName] = sourceObj[propertyName].slice();
 	}

-	dolly_internal static function copyArrayList(targetObj:*, propertyName:String, arrayList:ArrayList):void {
-		targetObj[propertyName] = arrayList.source ? new ArrayList(arrayList.source) : new ArrayList();
+	dolly_internal static function copyArrayList(sourceObj:*, targetObj:*, propertyName:String):void {
+		targetObj[propertyName] = sourceObj[propertyName] ?
+				new ArrayList(sourceObj[propertyName].source) :
+				new ArrayList();
 	}

 	dolly_internal static function copyArrayCollection(targetObj:*, propertyName:String, sourceProperty:*):void {
@@ -37,7 +39,7 @@
 		}

 		if (sourceProperty is ArrayList) {
-			copyArrayList(targetObj, propertyName, sourceObj);
+			copyArrayList(sourceObj, targetObj, propertyName);
 			return;
 		}

@@ -58,7 +60,7 @@
 		}

 		if (sourceProperty is ArrayList) {
-			copyArrayList(targetObj, propertyName, sourceProperty);
+			copyArrayList(sourceObj, targetObj, propertyName);
 			return;
 		}


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

--- frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
+++ frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
@@ -189,6 +189,11 @@
      *  @return Reference to new top-level window.
      *
      *  @see PopUpManagerChildList
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function createPopUp(parent:DisplayObject,
                                 className:Class,
@@ -236,6 +241,11 @@
      *  or PopUpManagerChildList.PARENT (default).
      *
      *  @see PopUpManagerChildList
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function addPopUp(window:IFlexDisplayObject,
                              parent:DisplayObject,
@@ -430,6 +440,11 @@
      *  popup window before centering it.

      *
      *  @param The IFlexDisplayObject representing the popup.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function centerPopUp(popUp:IFlexDisplayObject):void
     {
@@ -530,6 +545,11 @@
      *  the createPopUp() or addPopUp() method.
      *
      *  @param window The IFlexDisplayObject representing the popup window.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function removePopUp(popUp:IFlexDisplayObject):void
     {
@@ -568,6 +588,11 @@
      *  but otherwise you have to take care of this yourself.
      *
      *  @param The IFlexDisplayObject representing the popup.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function bringToFront(popUp:IFlexDisplayObject):void
     {
@@ -1626,6 +1651,11 @@

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 20524
Author:   chiedozi@adobe.com
Date:     2011-03-01T22:27:51.727707Z

Log Message:
-----------
Views are now properly reactivated when a the nativeApplication of a ViewNavigatorApplication receives an ACTIVATE event

QE notes:
Doc notes:
Bugs: SDK-29662
Reviewer: Ryan
Tests run:
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewNavigatorApplication.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewNavigatorApplication.as
@@ -11,6 +11,7 @@

 package spark.components
 {
+import flash.desktop.NativeApplication;
 import flash.events.Event;
 import flash.events.InvokeEvent;
 import flash.events.KeyboardEvent;
@@ -178,6 +179,8 @@
     public function ViewNavigatorApplication()
     {
         super();
+
+        NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, activateHandler);
     }

     //--------------------------------------------------------------------------
@@ -658,6 +661,24 @@
             navigatorProperties.titleLayout = value;
     }

+    //--------------------------------------------------------------------------
+    //
+    //  Private Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private function activateHandler(event:Event):void
+    {
+        if (navigator && navigator.activeView)
+        {
+            if (!navigator.activeView.isActive)
+                navigator.activeView.setActive(true);
+        }
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Overridden Methods: ViewNavigatorApplicationBase


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

--- frameworks/projects/framework/src/mx/styles/ISimpleStyleClient.as
+++ frameworks/projects/framework/src/mx/styles/ISimpleStyleClient.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-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: 16681
Author:   chiedozi@adobe.com
Date:     2010-06-25T21:49:38.711165Z

Log Message:
-----------
Temporarily renamed FlexEvent.ACTIVATE to FlexEvent.VIEW_ACTIVATE to fix an issue related to conflicting event names with EventDispatcher and FlexEvent.  A final name will be selected once ViewNavigator's PARB has been completed.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/ComponentCatalog/src/ScriptRunner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/ComponentCatalog/src/screens/SearchScreen.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/EmployeeDirectory/src/ScriptRunner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/View.as
+++ frameworks/projects/mobilecomponents/src/spark/components/View.as
@@ -35,7 +35,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Event(name="activate", type="mx.events.FlexEvent")]
+[Event(name="viewActivate", type="mx.events.FlexEvent")]

 /**
  *  Dispatched when the current view has been deactivated.
@@ -125,7 +125,7 @@
         {
             _active = value;

-            var eventName:String = _active ? FlexEvent.ACTIVATE : FlexEvent.DEACTIVATE;
+            var eventName:String = _active ? FlexEvent.VIEW_ACTIVATE : FlexEvent.DEACTIVATE;
             if (hasEventListener(eventName))
                 dispatchEvent(new FlexEvent(eventName));
         }


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

--- frameworks/projects/mx/src/mx/accessibility/TitleWindowAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/TitleWindowAccImpl.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2004-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: 2506
Author:   jimurphy@adobe.com
Date:     2008-07-16T13:25:03.893431Z

Log Message:
-----------
Merged 3.0.x revisions [2417,2458,2504] -> trunk
-I also manually updated modules/compiler/src/java/flex2/tools/oem/internal/LinkerConfiguration.java to implement flex2.linker.LinkerConfiguration due to a name change in trunk
-removed player 9 stuff

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.project" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.project</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/DependencyChecker.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/IResourceManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.actionScriptProperties" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.actionScriptProperties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/air-config.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="A">/flex/sdk/trunk/in/player/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/oem/internal/LinkerConfiguration.java</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.settings/org.eclipse.core.resources.prefs" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.settings/org.eclipse.core.resources.prefs</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.flexLibProperties" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.flexLibProperties</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/lnx/install_flash_player_9_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/LibrariesNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/DependencyNode.java</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/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/win/Install Flash Player 9 Plugin.exe</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/mac/Install Flash Player 9 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/MarshalMouseEvent.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/resources/LocaleSorter.as" copyfrom-rev="2504" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/LocaleSorter.as</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/win/Install Flash Player 9 ActiveX.exe</path>
<path kind="dir" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework" copyfrom-rev="2504" action="A">/flex/sdk/trunk/development/eclipse/flex/airframework</path>
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollThumb.as</path>
<path kind="file" action="A">/flex/sdk/trunk/in/player/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/DefNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/in/player/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/LibraryNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/ScriptNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/asc/src/java/macromedia/asc/util/ContextStatics.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/DepNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>
<path kind="dir" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.settings" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.settings</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/10/lnx/Flash Player.app.zip</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/libs/player/9</path>

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

--- frameworks/projects/mx/src/mx/controls/scrollClasses/ScrollBar.as
+++ frameworks/projects/mx/src/mx/controls/scrollClasses/ScrollBar.as
@@ -1357,16 +1357,13 @@

         trackScrolling = true;

-        systemManager.addEventListener(
+        ISystemManager2(systemManager).getSandboxRoot().addEventListener(
             MouseEvent.MOUSE_UP, scrollTrack_mouseUpHandler, true);
-        systemManager.addEventListener(
+        ISystemManager2(systemManager).getSandboxRoot().addEventListener(
             MouseEvent.MOUSE_MOVE, scrollTrack_mouseMoveHandler, true);
         // in case we go offscreen
-        systemManager.addEventListener(MarshalMouseEvent.MOUSE_MOVE,
-                            stage_scrollTrack_mouseMoveHandler);
-        // in case we go offscreen
-        systemManager.addEventListener(MarshalMouseEvent.MOUSE_UP,
-                            scrollTrack_mouseLeaveHandler);
+        ISystemManager2(systemManager).getSandboxRoot().addEventListener(
+			MarshalMouseEvent.MOUSE_UP, scrollTrack_mouseLeaveHandler);

         var pt:Point = new Point(event.localX, event.localY);
         pt = event.target.localToGlobal(pt);
@@ -1426,16 +1423,13 @@
     {
         trackScrolling = false;

-        systemManager.removeEventListener(
+        ISystemManager2(systemManager).getSandboxRoot().removeEventListener(
             MouseEvent.MOUSE_UP, scrollTrack_mouseUpHandler, true);
-        systemManager.removeEventListener(
+        ISystemManager2(systemManager).getSandboxRoot().removeEventListener(
             MouseEvent.MOUSE_MOVE, scrollTrack_mouseMoveHandler, true);
         // in case we go offscreen
-        systemManager.removeEventListener(MouseEvent.MOUSE_MOVE,
-                            stage_scrollTrack_mouseMoveHandler);
-        // in case we go offscreen
-        systemManager.removeEventListener(MarshalMouseEvent.MOUSE_UP,
-                            scrollTrack_mouseLeaveHandler);
+        ISystemManager2(systemManager).getSandboxRoot().removeEventListener(
+			MarshalMouseEvent.MOUSE_UP, scrollTrack_mouseLeaveHandler);

         if (trackScrollTimer)
             trackScrollTimer.reset();
@@ -1451,14 +1445,6 @@
         oldPosition = NaN;
     }

-    private function stage_scrollTrack_mouseMoveHandler(event:MouseEvent):void
-    {
-        if (event.target != stage)
-            return;
-
-        scrollTrack_mouseMoveHandler(event);
-    }
-
     /**
      *  @private
      *  Stop repeating events because the track is no longer pressed


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 2464
Author:   jimurphy@adobe.com
Date:     2008-07-14T19:50:33.449468Z

Log Message:
-----------
add flex 4 to trunk

Modified Paths:
--------------
134 paths were modified

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

--- frameworks/projects/spark/src/spark/filters/GradientGlowFilter.as
+++ frameworks/projects/spark/src/spark/filters/GradientGlowFilter.as
@@ -0,0 +1,38 @@
+package flex.filters
+{
+	import flash.filters.BitmapFilter;
+	import flash.filters.GradientGlowFilter;
+	import mx.core.mx_internal;
+
+	use namespace mx_internal;
+
+public class GradientGlowFilter extends GradientFilter implements IBitmapFilter
+{
+	public function GradientGlowFilter(distance:Number = 4.0, angle:Number = 45,
+									   colors:Array = null, alphas:Array = null,
+									   ratios:Array = null, blurX:Number = 4.0,
+									   blurY:Number = 4.0, strength:Number = 1,
+									   quality:int = 1, type:String = "inner",
+									   knockout:Boolean = false)
+	{
+		this.distance = distance;
+		this.angle = angle;
+		this.blurX = blurX;
+		this.blurY = blurY;
+		this.strength = strength;
+		this.quality = quality;
+		this.type = type;
+		this.knockout = knockout;
+
+		super(colors, alphas, ratios);
+	}
+
+	public function clone():BitmapFilter
+	{
+		return new flash.filters.GradientGlowFilter(distance, angle, colors, alphas, ratios,
+										blurX, blurY, strength, quality, type,
+										knockout);
+	}
+
+}
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/collections/ArrayCollection.as
+++ frameworks/projects/framework/src/mx/collections/ArrayCollection.as
@@ -77,6 +77,8 @@
      *
      *
Creates a new ArrayCollection using the specified source array.
      *  If no array is specified an empty array will be used.

+     *
+     *  @param source The source Array.
      *
      *  @langversion 3.0
      *  @playerversion Flash 9


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

--- frameworks/projects/framework/src/mx/core/UIComponentCachePolicy.as
+++ frameworks/projects/framework/src/mx/core/UIComponentCachePolicy.as
@@ -0,0 +1,50 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+/**
+ *  The ContainerCreationPolicy class defines the constant values
+ *  for the cachePolicy property of the UIComponent class.
+ *
+ *  @see mx.core.UIComponent#cachePolicy
+ */
+public final class UIComponentCachePolicy
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Specifies that the Flex framework should use heuristics
+	 *  to decide whether to cache the object as a bitmap.
+     */
+    public static const AUTO:String = "auto";
+
+	/**
+     *  Specifies that the Flex framework should never attempt
+	 *  to cache the object as a bitmap.
+     */
+    public static const OFF:String = "off";
+
+	/**
+     *  Specifies that the Flex framework should always cache
+	 *  the object as a bitmap.
+     */
+    public static const ON:String = "on";
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20008
Author:   tkraikit@adobe.com
Date:     2011-01-28T22:48:53.224683Z

Log Message:
-----------
bug 29324: remove unused variables

QE notes: none
Doc notes: none
Bugs: 29324
Reviewer: Jason San Jose
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ImageSkin.as

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ImageSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ImageSkin.as
@@ -60,23 +60,17 @@
             case DPIClassification.DPI_320:
             {
                 imageInvalidClass = spark.skins.mobile320.assets.ImageInvalid;
-                placeholderImageWidth = 68;
-                placeholderImageHeight = 68;
                 break;
             }
             case DPIClassification.DPI_240:
             {
                 imageInvalidClass = spark.skins.mobile240.assets.ImageInvalid;
-                placeholderImageWidth = 50;
-                placeholderImageHeight = 50;
                 break;
             }
             default:
             {
                 // default PPI160
                 imageInvalidClass = spark.skins.mobile160.assets.ImageInvalid;
-                placeholderImageWidth = 34;
-                placeholderImageHeight = 34;
                 break;
             }

@@ -166,28 +160,6 @@
      *  @productversion Flex 4.5
      */
     protected var loadingIndicator:BusyIndicator = null;
-
-    /**
-     *  Width of the placeholder images (i.e. "invalid image" icon
-     *  and loading indicator).
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    protected var placeholderImageWidth:int;
-
-    /**
-     *  Height of the placeholder images (i.e. "invalid image" icon
-     *  and loading indicator).
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    protected var placeholderImageHeight:int;

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


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

--- frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as
+++ frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as
@@ -1095,8 +1095,7 @@
     }

     /**
-     *  Lists all of the locale ID names supported by this class. This is a list of locales supported by
-     *  the operating system, not a list of locales that the ResourceManager has resources for.
+     *  Lists all of the locale ID names supported by this class.
      *
      *  @return A vector of strings containing all of the locale ID names
      *         supported by this class and operating system.


Fix wine-ld-library-path --to.

Fix wine-ld-library-path --to.

	* build-aux/wine-ld-library-path.as: Fix var name.
	Override WINEPREFIX if defined.

--- build-aux/wine-ld-library-path.as
+++ build-aux/wine-ld-library-path.as
@@ -8,7 +8,7 @@

 ]URBI_GET_OPTIONS(
 [  (-h|--help)    usage;;
-   (-t|--to)      shift; dir=$1;;
+   (-t|--to)      shift; where=$1;;
    (-w|--wrapper) shift; process_wrapper "$1";;
    (*)            add_directory "$1";;
 ])[
@@ -31,6 +31,7 @@
 Options:
   -h, --help           display this message and exit
   -t, --to=DIR         install the \`wine' directory inside DIR
+                       in other words, make WINEPREFIX=DIR/wine
                        [$where]
   -w, --wrapper=FILE   also add the DIRs required to load the libraries
                        used by the Libtool wrapper FILE
@@ -108,16 +109,14 @@
 # We used to check that we are not running Cygwin underneath.  Does
 # not seem to make any sense here, and MN does not remember why he
 # checked that.  So this check is removed.
-case ${WINEPREFIX+set}:$host in
-    (set:*) # Don't override the user's choice.
-      ;;
-    (*:*pw32*|*:*mingw32*)
-      export WINEPREFIX=$where/wine
-      test -d "$WINEPREFIX" ||
-        create_wine_directory
-      verbose "WINEPREFIX='$WINEPREFIX'"
-      echo "WINEPREFIX='$WINEPREFIX'"
-      ;;
+case $host in
+  (*pw32*|*mingw32*)
+    export WINEPREFIX=$where/wine
+    test -d "$WINEPREFIX" ||
+      create_wine_directory
+    verbose "WINEPREFIX='$WINEPREFIX'"
+    echo "WINEPREFIX='$WINEPREFIX'"
+    ;;
 esac

 exit 0


wine-ld-library-path: Be more verbose on refused arguments.

	* build-aux/wine-ld-library-path.as (process_wrapper):
	require_file was "exit"ing, which is not what we want.
	Just be verbose about it.
	(create_wine_directory): Likewise about missing dirs.

--- build-aux/wine-ld-library-path.as
+++ build-aux/wine-ld-library-path.as
@@ -60,16 +60,19 @@
 process_wrapper ()
 {
   local wrapper=$1
-  require_file "$wrapper"
-  local path
-  path=$(sed -ne 's/^ *PATH=//p' "$wrapper")
-  local save_IFS=$IFS
-  IFS=:
-  for p in $path
-  do
-    IFS=$save_IFS
-    dirs+=" $p"
-  done
+  if test -f "$wrapper"; then
+    local path
+    path=$(sed -ne 's/^ *PATH=//p' "$wrapper")
+    local save_IFS=$IFS
+    IFS=:
+    for p in $path
+    do
+      IFS=$save_IFS
+      dirs+=" $p"
+    done
+  else
+    verbose "no such file or directory: $wrapper"
+  fi
 }

 # create_wine_directory DIR
@@ -95,8 +98,11 @@
   local d
   for d in $dirs
   do
-    test ! -d "$d" ||
+    if test -d "$d"; then
       windirs+=";$(winepath -w "$d")"
+    else
+      verbose "no such directory: $d"
+    fi
   done

   # Add all the added path to the Path variable in user.reg config


Transferred from the Adobe Open Source Subversion Repository

Revision: 11339
Author:   chaase@adobe.com
Date:     2009-10-30T22:36:04.023126Z

Log Message:
-----------
Fixed various effects bugs.
23236: Easing was being ignored for properties being auto-animated (basically, the post-layout transform center). This caused a mis-match between a resizing animation and a move animation, causing the object to swim back and forth as the easing on these animations were out of sync. This also fixes the high-priority 23856 bug, which was closed as a dup of 23236.
23421: There is a player bug related to a null concatenatedMatrix property on DisplayObjects which causes a mis-calculation of mouse hit testing when the matrix is changed too late in the frame cycle. Since we do not validate our properties until enterFrame or render time, this sometimes causes Flash to detect mouseOut on objects that the mouse is still over when the object goes in and out of 3D in that frame. This fix works around that player bug by forcing matrix validation early when we detect a 2D/3D switch.
23484: The transform code in AdvancedLayoutFeatures needed to account for stretchX/stretchY when using computedMatrix and computedMatrix3D. These matrices assume pre-stretched values. Since our transforms expect post-stretched values, they need to divide out the stretchX/Y values before using these matrices.

QE notes: None
Doc notes: None
Bugs: sdk-23236, sdk-23421, sdk-23484
Reviewer: Evtim
Tests run: ant checkintests, Mustella spark/effects
Is noteworthy for integration: Yes

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

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
@@ -24,6 +24,8 @@
 import spark.effects.animation.Animation;
 import spark.effects.animation.Keyframe;
 import spark.effects.animation.MotionPath;
+import spark.effects.easing.IEaser;
+import spark.effects.easing.Sine;

 use namespace mx_internal;

@@ -521,9 +523,27 @@
         }
         for (s in autoProps)
         {
+            var autoPropsEaser:IEaser;
+            if (!autoPropsEaser)
+            {
+                // Attempt to use the same easer used in the existing keyframes. Assume that
+                // The first set of keyframes ends with the same easing that is applied elsewhere
+                // in this motion path. If that doesn't work, use the default for the SDK (Sine(.5))
+                if (motionPaths &&
+                    motionPaths[0] && motionPaths[0].keyframes &&
+                    motionPaths[0].keyframes[motionPaths[0].keyframes.length-1])
+                {
+                    autoPropsEaser = motionPaths[0].keyframes[motionPaths[0].keyframes.length-1].easer;
+                }
+                else
+                {
+                    autoPropsEaser = new Sine(.5);
+                }
+            }
             var mp:MotionPath = new MotionPath(s);
             mp.keyframes = new <Keyframe>[new Keyframe(0, null),
                 new Keyframe(duration, null)];
+            mp.keyframes[1].easer = autoPropsEaser;
             mp.scaleKeyframes(duration);
             if (!motionPaths)
                 motionPaths = new Vector.<MotionPath>();


re-enabled wire joins

re-enabled wire joins

--- src/Displays/DWire.as
+++ src/Displays/DWire.as
@@ -95,6 +95,9 @@
 			var segColor:uint = getColor();
 			hSeg.color = vSeg.color = join.color = segColor;
 			hSeg.alpha = vSeg.alpha = join.alpha = wire.FIXED ? 0.5 : 1;
+
+			drawJoin(wire.path[0]);
+			drawJoin(wire.path[wire.path.length - 1]);

 			iterWire(function drawWire(seg:FlxSprite):void {
 				seg.draw();


Transferred from the Adobe Open Source Subversion Repository

Revision: 10672
Author:   dloverin@adobe.com
Date:     2009-09-29T11:43:11.672658Z

Log Message:
-----------
Use styleManager instance instead of the StyleManager singleton (airframework, halo, and spark projects)

A couple updates in the framework project as well.

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

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/halo/src/mx/skins/halo/SliderTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/ProgrammaticSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/SetActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ScrollTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/DataGridHeaderBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/dataGridClasses/TLFDataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ProgressTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/TitleBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ButtonBarButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/NumericStepperDownSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/PopUpButtonSkin.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/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/TabSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ScrollArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/CheckBoxIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/AccordionHeaderSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/NumericStepperUpSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleModule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ProgressIndeterminateSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/RadioButtonIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/DateChooserMonthArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/SliderThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ComboBoxArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/MenuBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ProgressBarSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/BusyCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ScrollThumbSkin.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/framework/src/mx/effects/effectClasses/SetStyleActionInstance.as</path>

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

--- frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as
+++ frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as
@@ -61,7 +61,7 @@

         var cornerRadius:Number = getStyle("cornerRadius");
         var titleBarColors:Array = getStyle("titleBarColors");
-        StyleManager.getColorNames(titleBarColors);
+        styleManager.getColorNames(titleBarColors);
         graphics.clear();
         drawRoundRect(
             0, 0, unscaledWidth, unscaledHeight, {tl: cornerRadius,


Small fix

Small fix

--- ImpetusSound.as
+++ ImpetusSound.as
@@ -20,7 +20,7 @@
             this.sound.load(new URLRequest(url));
         }

-        public function get getUrl():String
+        public function getUrl():String
         {
             return this.url
         }


Invalid links cease to exist

Invalid links cease to exist

--- src/Components/Link.as
+++ src/Components/Link.as
@@ -22,7 +22,8 @@
 		}

 		public function get exists():Boolean {
-			return !deleted && (hovering || (source.physParent.exists && destination.physParent.exists));
+			return !deleted && (hovering || (source.physParent.exists && destination.physParent.exists &&
+											 destination.source == source));
 		}

 		public function get deployed():Boolean {
@@ -39,7 +40,8 @@

 		public function equals(link:Link):Boolean {
 			return ((source == link.source && destination == link.destination) ||
-					(destination == link.source && source == link.destination));
+					(destination == link.source && source == link.destination)) &&
+					exists == link.exists;
 		}

 		public function inVec(links:Vector.<Link>):Boolean {


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

--- frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as
+++ frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-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.managers.marshalClasses
 {


Voltage random event controller causes elevator light to flicker.


Transferred from the Adobe Open Source Subversion Repository

Revision: 14269
Author:   deeptika@adobe.com
Date:     2010-02-19T05:38:49.309420Z

Log Message:
-----------
Mirroring changes: Merging revision 14241 from 4.x branch
QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/datavisualization/src/mx/charts/series/BarSeries.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/datavisualization/src/mx/charts/chartClasses/ChartBase.as</path>
<path kind="dir" action="M">/flex/sdk/trunk/frameworks/projects/datavisualization</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/datavisualization/src/mx/charts/series/ColumnSeries.as</path>

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

--- frameworks/projects/charts/src/mx/charts/series/BarSeries.as
+++ frameworks/projects/charts/src/mx/charts/series/BarSeries.as
@@ -2482,9 +2482,14 @@
             label.height=v.labelHeight;
             label.text=v.labelText;
             label.setStyle('fontSize',size * renderData.labelScale);
-            if (v.x > (isNaN(v.min) ? renderData.renderedBase : v.min))
-                label.setStyle('textAlign','left');
-            else if (v.x < (isNaN(v.min) ? renderData.renderedBase : v.min))
+            if (v.x > (isNaN(v.min) ? renderData.renderedBase : v.min))	// If on positive side of axis
+			{
+				if(chart && chart.layoutDirection == "rtl")	//Align labels to right in rtl layout
+					label.setStyle('textAlign','right');
+				else
+                	label.setStyle('textAlign','left');
+			}
+            else if (v.x < (isNaN(v.min) ? renderData.renderedBase : v.min))	//on negative side of axis
             {
                 if (!isNaN(rotation) && rotation!=0 && measuringField.embedFonts)
                 {
@@ -2493,7 +2498,10 @@
                 }
                 else
                 {
-                    label.setStyle('textAlign','right');
+					if(chart && chart.layoutDirection == "rtl")	//Align labels to left in rtl layout
+						label.setStyle('textAlign','left');
+					else
+						label.setStyle('textAlign','right');
                     label.rotation = 0;
                 }
             }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/spark/src/spark/components/HScrollBar.as
+++ frameworks/projects/spark/src/spark/components/HScrollBar.as
@@ -70,9 +70,14 @@
         super.viewport = newViewport;
         if (newViewport)
         {
-            maximum = newViewport.contentWidth - newViewport.width;
+            var hsp:Number = newViewport.horizontalScrollPosition;
+            // Special case: if contentWidth is 0, assume that it hasn't been
+            // updated yet.  Making the maximum==hsp here avoids trouble later
+            // when FxRange constrains value
+            var cWidth:Number = newViewport.contentWidth;
+            maximum = (cWidth == 0) ? hsp : cWidth - newViewport.width;
             pageSize = newViewport.width;
-            value = newViewport.horizontalScrollPosition;
+            value = hsp;
         }
     }

@@ -259,7 +264,12 @@
     {
         if (viewport)
         {
-            maximum = viewport.contentWidth - viewport.width;
+            var hsp:Number = viewport.horizontalScrollPosition;
+            // Special case: if contentWidth is 0, assume that it hasn't been
+            // updated yet.  Making the maximum==hsp here avoids trouble later
+            // when FxRange constrains value
+            var cWidth:Number = viewport.contentWidth;
+            maximum = (cWidth == 0) ? hsp : cWidth - viewport.width;
             pageSize = viewport.width;
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17876
Author:   tan@adobe.com
Date:     2010-09-27T17:34:08.606973Z

Log Message:
-----------
Adding copyright to some files that were missing them.

QE notes: N/A
Doc notes:
Bugs: SDK-27968
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/filters/BaseFilter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/ComboBoxButtonSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DropDownListButtonSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/rpc/src/mx/rpc/http/SerializationFilter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/filters/BaseDimensionFilter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/EffectEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/filters/IBitmapFilter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/sparkskins/src/mx/skins/spark/ContainerBorderSkin.as</path>

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

--- frameworks/projects/framework/src/mx/filters/IBitmapFilter.as
+++ frameworks/projects/framework/src/mx/filters/IBitmapFilter.as
@@ -1,3 +1,14 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
 package mx.filters
 {
     import flash.filters.BitmapFilter;


Transferred from the Adobe Open Source Subversion Repository

Revision: 20229
Author:   mhorn@adobe.com
Date:     2011-02-09T14:29:20.930167Z

Log Message:
-----------
update asdoc for bug fix FLEXDOCS-1249

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/filters/IBitmapFilter.as

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

--- frameworks/projects/framework/src/mx/filters/IBitmapFilter.as
+++ frameworks/projects/framework/src/mx/filters/IBitmapFilter.as
@@ -23,6 +23,16 @@
     */
     public interface IBitmapFilter
     {
+       /**
+        *  Returns a copy of the filter.
+        *
+        *  @return A new BitmapFilter instance with all the same properties as the original BitmapFilter instance.
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 10
+        *  @playerversion AIR 1.5
+        *  @productversion Flex 4
+        */
         function clone():BitmapFilter;
     }
 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/styles/IStyleManager2.as
+++ frameworks/projects/framework/src/mx/styles/IStyleManager2.as
@@ -31,6 +31,20 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     *  @private
+     *
+     *  The style manager that is the parent of this StyleManager.
+     *
+     *  @return the parent StyleManager or null if this is the top-level StyleManager.
+     */
+    function get parent():IStyleManager2;
+
+    /**
+     *  @private
+     */
+    function set parent(parent:IStyleManager2):void;
+
     //----------------------------------
 	//  selectors
     //----------------------------------


Transferred from the Adobe Open Source Subversion Repository

Revision: 18323
Author:   smgilson@adobe.com
Date:     2010-10-26T17:50:12.524532Z

Log Message:
-----------
Fix invalid HTML in ASDoc comments for the [DiscouragedForProfile] metadata tag

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/BorderContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Form.as</path>

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

--- frameworks/projects/spark/src/spark/components/TitleWindow.as
+++ frameworks/projects/spark/src/spark/components/TitleWindow.as
@@ -133,7 +133,7 @@
  * Because this component does not define a skin for the mobile theme, Adobe
  * recommends that you not use it in a mobile application. Alternatively, you
  * can define your own mobile skin for the component. For more information,
- * see Spark Skinning.
+ * see Spark Skinning.
  */
 [DiscouragedForProfile("mobileDevice")]

@@ -317,8 +317,8 @@
      */
     override protected function initializeAccessibility():void
     {
-		if (TitleWindow.createAccessibilityImplementation != null)
-			TitleWindow.createAccessibilityImplementation(this);
+        if (TitleWindow.createAccessibilityImplementation != null)
+            TitleWindow.createAccessibilityImplementation(this);
     }

     /**
@@ -362,8 +362,8 @@
      */
     override protected function partAdded(partName:String, instance:Object) : void
     {
-		super.partAdded(partName, instance);
-
+        super.partAdded(partName, instance);
+
         if (instance == moveArea)
         {
             moveArea.addEventListener(MouseEvent.MOUSE_DOWN, moveArea_mouseDownHandler);


CallbackJuggler now triggers grouped callback at appropriate grouped callback time when target becomes null.

--- WeaveCore/src/weave/core/CallbackJuggler.as
+++ WeaveCore/src/weave/core/CallbackJuggler.as
@@ -20,14 +20,13 @@
 package weave.core
 {
 	import weave.api.WeaveAPI;
+	import weave.api.core.ICallbackCollection;
 	import weave.api.core.IDisposableObject;
 	import weave.api.core.ILinkableObject;
-	import weave.api.juggleGroupedCallback;
-	import weave.api.juggleImmediateCallback;
-	import weave.utils.WeakReference;

 	/**
 	 * This is used to juggle a single callback between linkable object targets.
+	 * The callback will be triggered automatically when the target changes, even when the target becomes null.
 	 * @see weave.api.#juggleImmediateCallback()
 	 * @see weave.api.#juggleGroupedCallback()
 	 * @author adufilie
@@ -37,30 +36,28 @@
 		/**
 		 * @param relevantContext The owner of this CallbackJuggler.
 		 * @param callback The callback function.
-		 * @param useGroupedCallback If this is set to true, a grouped callback will be used instead of an immediate callback.
-		 * @see weave.api.#juggleImmediateCallback()
-		 * @see weave.api.#juggleGroupedCallback()
+		 * @param useGroupedCallback If this is set to true, a grouped callback will be used instead of an immediate callback.
+		 * @see weave.api.core.ICallbackCollection#addImmediateCallback()
+		 * @see weave.api.core.ICallbackCollection#addGroupedCallback()
 		 */
 		public function CallbackJuggler(relevantContext:Object, callback:Function, useGroupedCallback:Boolean)
 		{
 			WeaveAPI.SessionManager.registerDisposableChild(relevantContext, this);
-			this.callback = callback;
-			this.useGroupedCallback = useGroupedCallback;
+			if (useGroupedCallback)
+				_callbacks.addGroupedCallback(null, callback);
+			else
+				_callbacks.addImmediateCallback(null, callback);
 		}

-		private var callback:Function;
-		private var useGroupedCallback:Boolean;
-		private const targetRef:WeakReference = new WeakReference();
+		private var _callbacks:ICallbackCollection = new CallbackCollection();
+		private var _target:ILinkableObject;

 		/**
 		 * This is the linkable object to which the callback has been added.
 		 */
 		public function get target():ILinkableObject
 		{
-			var value:Object = targetRef.value;
-			if (value && WeaveAPI.SessionManager.objectWasDisposed(value))
-				targetRef.value = value = null;
-			return value as ILinkableObject;
+			return _target;
 		}

 		/**
@@ -69,25 +66,50 @@
 		 */
 		public function set target(newTarget:ILinkableObject):void
 		{
-			var oldTarget:ILinkableObject = targetRef.value as ILinkableObject;
+			// do nothing if the targets are the same.
+			if (_target == newTarget)
+				return;

-			var change:Boolean;
-			if (useGroupedCallback)
-				change = juggleGroupedCallback(oldTarget, newTarget, this, callback);
-			else
-				change = juggleImmediateCallback(oldTarget, newTarget, this, callback);
+			if (!_callbacks)
+				throw new Error("dispose() was already called on this object.");

-			if (change)
+			var tc:ICallbackCollection;
+
+			// remove callbacks from old target
+			if (_target)
 			{
-				targetRef.value = newTarget;
-				callback(); // call immediately after target change whether or not we are using a grouped callback
+				tc = WeaveAPI.SessionManager.getCallbackCollection(_target);
+				tc.removeCallback(_callbacks.triggerCallbacks);
+				tc.removeCallback(_handleTargetDispose);
 			}
+
+			_target = newTarget;
+
+			// add callbacks to new target
+			if (_target)
+			{
+				tc = WeaveAPI.SessionManager.getCallbackCollection(_target);
+				tc.addImmediateCallback(_callbacks, _callbacks.triggerCallbacks);
+				tc.addDisposeCallback(_callbacks, _handleTargetDispose);
+			}
+
+			_callbacks.triggerCallbacks();
 		}

+		private function _handleTargetDispose():void
+		{
+			_target = null;
+			_callbacks.triggerCallbacks();
+		}
+
+		/**
+		 * @inheritDoc
+		 */
 		public function dispose():void
 		{
-			callback = null;
-			targetRef.value = null;
+			_target = null;
+			WeaveAPI.SessionManager.disposeObjects(_callbacks);
+			_callbacks = null;
 		}
 	}
 }


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 8478
Author:   smgilson@adobe.com
Date:     2009-07-09T16:00:34.803687Z

Log Message:
-----------
- Minor ASDoc cleanup to Spark effects

- Delete SWF and HTML files for ASDoc examples that should not have been checked in

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/RadioButtonGroupExample.swf</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/RadioButtonExample.swf</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform3D.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/RadioButtonGroupExample.html</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/RadioButtonExample.html</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Move3D.as
+++ frameworks/projects/spark/src/spark/effects/Move3D.as
@@ -49,6 +49,12 @@
  *  <mx:Move3D
  *    <b>Properties</b>
  *    id="ID"
+ *    xBy="no default"
+ *    xFrom="no default"
+ *    xTo="no default"
+ *    yBy="no default"
+ *    yFrom="no default"
+ *    yTo="no default"
  *    zBy="no default"
  *    zFrom="no default"
  *    zTo="no default"