Transferred from the Adobe Open Source Subversion Repository

Revision: 3478
Author:   gruehle@adobe.com
Date:     2008-10-03T20:34:49.967693Z

Log Message:
-----------
Remove prototype Gumbo Panel component. This will be reinstated in a future build.

Remove the "selected" property from SkinnableComponent. "selected" is only on ToggleButton (including CheckBox/RadioButton), and ItemRenderer.

Bugs: SDK-16349 SkinnableComponent shouldn't define "selected"
      SDK-16799 Gumbo Panel needs to be removed from build
QA: Tests using Panel need to be updated
Reviewer: Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/effectClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/flex4/flex4test.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/effectClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/MXMLComponent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/ComplexPanelSkin.mxml</path>

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -27,7 +27,6 @@
 import flex.graphics.Parser; Parser;
 import flex.skin.ButtonSkin; ButtonSkin;
 import flex.skin.CheckBoxSkin; CheckBoxSkin;
-import flex.skin.ComplexPanelSkin; ComplexPanelSkin;
 import flex.skin.DataComponentSkin; DataComponentSkin;
 import flex.skin.HScrollBarSkin; HScrollBarSkin;
 import flex.skin.HScrollBarThumbSkin; HScrollBarThumbSkin;
@@ -37,7 +36,6 @@
 import flex.skin.ItemsComponentSkin; ItemsComponentSkin;
 import flex.skin.ListSkin; ListSkin;
 import flex.skin.NumericStepperSkin; NumericStepperSkin;
-import flex.skin.PanelSkin; PanelSkin;
 import flex.skin.RadioButtonSkin; RadioButtonSkin;
 import flex.skin.ScrollBarUpButtonSkin; ScrollBarUpButtonSkin;
 import flex.skin.ScrollBarDownButtonSkin; ScrollBarDownButtonSkin;


reorder

reorder

--- vivified/core/vivi_initialize.as
+++ vivified/core/vivi_initialize.as
@@ -17,12 +17,7 @@
  * Boston, MA  02110-1301  USA
  */

-Breakpoint = function () extends Native.Breakpoint {
-  super ();
-  Breakpoint.list.push (this);
-};
-Breakpoint.list = new Array ();
-Breakpoint.prototype.addProperty ("active", Native.breakpoint_active_get, Native.breakpoint_active_set);
+/*** general objects ***/

 Wrap = function () {};
 Wrap.prototype = {};
@@ -33,6 +28,15 @@
 Frame.prototype.addProperty ("code", Native.frame_code_get, null);
 Frame.prototype.addProperty ("name", Native.frame_name_get, null);
 Frame.prototype.addProperty ("next", Native.frame_next_get, null);
+
+/*** breakpoints ***/
+
+Breakpoint = function () extends Native.Breakpoint {
+  super ();
+  Breakpoint.list.push (this);
+};
+Breakpoint.list = new Array ();
+Breakpoint.prototype.addProperty ("active", Native.breakpoint_active_get, Native.breakpoint_active_set);

 /*** commands available for debugging ***/


Use constant in constructor params

Use constant in constructor params

--- snowplow-as3-tracker/src/com/snowplowanalytics/snowplow/tracker/emitter/Emitter.as
+++ snowplow-as3-tracker/src/com/snowplowanalytics/snowplow/tracker/emitter/Emitter.as
@@ -41,7 +41,7 @@
 		 * @param successCallback The callback function to handle success cases when sending events.
 		 * @param errorCallback The callback function to handle error cases when sending events.
 		 */
-		public function Emitter(uri:String, httpMethod:String = "get") {
+		public function Emitter(uri:String, httpMethod:String = URLRequestMethod.GET) {
 			if (httpMethod == URLRequestMethod.GET) {
 				_uri = new URI("http://" + uri + "/i");
 			} else { // POST


FileInput, Flash: Be specific when checking validity of accept option.

--- src/flash/src/com/FileInput.as
+++ src/flash/src/com/FileInput.as
@@ -47,7 +47,7 @@
 			}, options);

-			if (_options.accept !== null) {
+			if (_options.accept is Array) {
 				_filters = [];

 				for (var i:int = 0; i < _options.accept.length; i++) {


Trailing whitespace

Trailing whitespace


Capitalize the german proper noun

Capitalize the german proper noun

--- Arguments/src/classes/Language.as
+++ Arguments/src/classes/Language.as
@@ -65,7 +65,7 @@
 			var lang:XMLList = lbl.descendants(language);
 			var output:String = lang.attribute("text");
 			if(!output){
-				output = "error | ошибка | fehler --- There was a problem getting the text for this item. The label was: " + label;
+				output = "error | ошибка | Fehler --- There was a problem getting the text for this item. The label was: " + label;
 			}
 			trace("Output is: " + output);
 			return output;


fixed unreliable call to setStyle() in constructor (causing CustomDataGridItemRenderer null pointer error fix to be ineffective).

--- WeaveUI/src/weave/ui/CustomDataGrid/CustomDataGrid.as
+++ WeaveUI/src/weave/ui/CustomDataGrid/CustomDataGrid.as
@@ -25,6 +25,7 @@
 	import mx.controls.listClasses.IListItemRenderer;
 	import mx.controls.listClasses.ListBaseContentHolder;
 	import mx.core.EventPriority;
+	import mx.core.IFactory;
 	import mx.core.ILayoutDirectionElement;
 	import mx.core.SpriteAsset;
 	import mx.core.mx_internal;
@@ -53,9 +54,20 @@
 			headerClass = CustomDataGridHeader;
 			// add this event listener before the one in super()
 			addEventListener(DataGridEvent.HEADER_RELEASE, headerReleaseHandler, false, EventPriority.DEFAULT_HANDLER);
-			setStyle('defaultDataGridItemRenderer', CustomDataGridItemRenderer);
 			super();
 		}
+
+		private var firstTimeAccessItemRenderer:Boolean = true;
+		override public function get itemRenderer():IFactory
+		{
+			if (firstTimeAccessItemRenderer && !getStyle("defaultDataGridItemRenderer"))
+			{
+				setStyle("defaultDataGridItemRenderer", CustomDataGridItemRenderer);
+				firstTimeAccessItemRenderer = false;
+			}
+			return super.itemRenderer;
+		}
+
 		private var in_destroyItemEditor:Boolean = false;
 		override public function destroyItemEditor():void
 		{


Transferred from the Adobe Open Source Subversion Repository

Revision: 5342
Author:   smgilson@adobe.com
Date:     2009-03-17T12:18:48.123385Z

Log Message:
-----------
Fix errors in ASDod comments

QE Notes: None
Doc Notes: None
Bugs:

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>

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

--- frameworks/projects/framework/src/mx/core/UITextFormat.as
+++ frameworks/projects/framework/src/mx/core/UITextFormat.as
@@ -405,7 +405,7 @@
      *
If true, they use an offscreen instance
      *  of the TLFTextField class in the Text Layout Framework.
      *  If false, they use an offscreen instance
-     *  of the TextField class in the Flash Player.
+     *  of the TextField class in the Flash Player.

      *
      *  @default false
      */
@@ -495,9 +495,9 @@
         }

         var measurementTextField:Object /* either TextField or TLFTextField */ =
-        	useTLF ?
-        	textFieldFactory.createTLFTextField(fontModuleFactory) :
-        	textFieldFactory.createTextField(fontModuleFactory);
+            useTLF ?
+            textFieldFactory.createTLFTextField(fontModuleFactory) :
+            textFieldFactory.createTextField(fontModuleFactory);

         // Clear any old text from the TextField.
         // Otherwise, new text will get the old TextFormat.


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

--- frameworks/projects/mx/src/mx/events/ScrollEventDetail.as
+++ frameworks/projects/mx/src/mx/events/ScrollEventDetail.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2006 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: 17331
Author:   jasonsj@adobe.com
Date:     2010-08-16T17:37:24.374535Z

Log Message:
-----------
Added DiscouragedForProfile metadata for use with FB mobile projects.

QE notes: DiscouragedForProfile features should now be visible in FB
Doc notes: ASDoc content omitted for DiscouragedForProfile where the boilerplate comment is desired
Bugs:
Reviewer: gruehle
Tests run: checkintests
Is noteworthy for integration: Yes

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/VSlider.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/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/DataGrid.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/RichEditableText.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/spark/src/spark/components/RichText.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/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@1279367 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/HSlider.as
+++ frameworks/projects/spark/src/spark/components/HSlider.as
@@ -30,7 +30,16 @@
 //--------------------------------------

 [IconFile("HSlider.png")]
+
 [DefaultTriggerEvent("change")]
+
+/**
+ * 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.
+ */
+[DiscouragedForProfile("mobileDevice")]

 /**
  *  The HSlider (horizontal slider) control lets users select a value


Transferred from the Adobe Open Source Subversion Repository

Revision: 4736
Author:   chaase@adobe.com
Date:     2009-01-29T19:31:04.898445Z

Log Message:
-----------
API improvements in some of the effects classes, such as:

- PropertyValuesHolder renamed to AnimationProperty
	- Also, values[] array changed to valueFrom and valueTo Objects
	- Also, 'delta' property changed to valueBy Object property
- FxAnimate.propertyValuesList renamed to FxAnimate.animationProperties
- Constant interpolator renamed Linear (old Linear interpolator went away)
- ColorInterpolator renamed RGBInterpolator
- HSBInterpolator now exists (not used by default: FxAnimateColor uses RGBInterpolator)
- HSBColor: new data structure in mx.utils for holding HSB colors and converting from/to RGB
- various changes to *Instance classes in effects (but these are not generally used externally)

QE Notes: Mustella tests will break due to class and property renames. QE is fixing these issues and a follow-up putback to Mustella is expected
Doc Notes: None
Bugs: -
Reviewer: Gordon
tests: checkintests, Mustella: tests/Effects tests/ListDataEffects

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxFadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/Constant.as" copyfrom-rev="4610" action="R">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/ColorInterpolator.as" copyfrom-rev="4610" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/RGBInterpolator.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/HSBColor.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/ColorInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/ArrayInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateShaderTransitionInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/Constant.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/IInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/EaseInOut.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/AnimationProperty.as</path>

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

--- frameworks/projects/spark/src/spark/effects/interpolation/IInterpolator.as
+++ frameworks/projects/spark/src/spark/effects/interpolation/IInterpolator.as
@@ -12,7 +12,7 @@
 {
 /**
  * The IInterpolator interface is used by classes that calculate
- * intermediate values for the Animation class. The Animation class
+ * values for the Animation class. The Animation class
  * can handle parametric interpolation between Number values and
  * arrays of Number values, but it cannot handle different types
  * of interpolation, or interpolation between different types of
@@ -34,6 +34,30 @@
      * provide.
      */
     function interpolate(fraction:Number,
-        startValue:*, endValue:*):*;
+        startValue:Object, endValue:Object):Object;
+
+    /**
+     * Given a base value and a value to add to it, this function
+     * returns the result of that increment operation. For example,
+     * if the objects are simple Numbers, the result would be
+     * Number(baseValue) + Number(incrementValue).
+     * This function is called by the animation system when it
+     * needs to dynamically calculate a value given some starting
+     * value and a 'by' value that should be added to it, both of
+     * which are of type Object and cannot simply be added together.
+     */
+    function increment(baseValue:Object, incrementValue:Object):Object;
+
+    /**
+     * Given a base value and a value to subtract from it, this function
+     * returns the result of that decrement operation. For example,
+     * if the objects are simple Numbers, the result would be
+     * Number(baseValue) - Number(incrementValue).
+     * This function is called by the animation system when it
+     * needs to dynamically calculate a value given some ending
+     * value and a 'by' value that should be subtracted from it, both of
+     * which are of type Object and cannot simply be subtracted.
+     */
+    function decrement(baseValue:Object, decrementValue:Object):Object;
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3031
Author:   chaase@adobe.com
Date:     2008-08-28T21:17:21.801208Z

Log Message:
-----------
Fixed SDK-16615, SDK-16576, SDK-16631, SDK-16635, TH-1507, SDK-16622. This is another round of Animation/effect changes. Some are API improvements (such as adding proper event dispatching to Animate), most are fixes for various SDK and Thermo bugs that have been filed. Here's an explanation of the changes per file:

Animate.as: (sdk-16622)
All of the changes here are to add AnimationEvent dispatching to this class, similar to what we had in TweenEffect for TweenEvent. Note that we have a new event now, ANIMATION_REPEAT, and that ANIMATION_END only gets sent out once for each animation (instead of after each repetition, which is what the Flex3 effects did)

Animation.as: (sdk-16635)
We were noop'ing 0-duration animations. We now handle this correctly by sending out a START event, then send out UPDATE/END events with the final value

AnimateInstance.as:
These changes relate to two problems/fixes:
- Dispatching events correctly (sdk-16622)
- Handling styles correctly before effects are completely set up (sdk-16615)

MoveInstance.as: (sdk-16631)
We didn't handle the situation where the user supplied only one of left/right or one of bottom/top.

TintInstance.as: (sdk-16615)
We weren't correctly detecting that colors were not being set by the user, which messed up assumptions for transition from/to values

ColorInterpolator.as (sdk-16576)
Removed redundant line of code

Tint.as: (sdk-16615)
Fixes to support property coloring during transitions

Effect.as:
Removed trace() statements that crept in there in an earlier checkin

Reviewed by Glenn
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/effectClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/effectClasses/TintInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/Tint.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/effectClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/interpolation/ColorInterpolator.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
@@ -206,36 +206,40 @@
         // more closely aligned in behavior.
         if (target is IGraphicElement && propertyChanges)
         {
-            if (propertyChanges.start["left"] !== undefined ||
-                propertyChanges.start["right"] !== undefined ||
-                propertyChanges.end["left"] !== undefined ||
-                propertyChanges.end["right"] !== undefined)
-            {
-                var lFrom:Number = (propertyChanges.start["left"] !== undefined) ?
+            if (!isNaN(propertyChanges.start["left"]) ||
+                !isNaN(propertyChanges.end["left"]))
+            {
+                var lFrom:Number = !isNaN(propertyChanges.start["left"]) ?
                     propertyChanges.start["left"] : getCurrentValue("left");
-                var rFrom:Number = (propertyChanges.start["right"] !== undefined) ?
+                var lTo:Number = !isNaN(propertyChanges.end["left"]) ?
+                    propertyChanges.end["left"] : getCurrentValue("left");
+                propertyValuesList.push(new PropertyValuesHolder("left", [lFrom, lTo]));
+            }
+            if (!isNaN(propertyChanges.start["right"]) ||
+                !isNaN(propertyChanges.end["right"]))
+            {
+                var rFrom:Number = !isNaN(propertyChanges.start["right"]) ?
                     propertyChanges.start["right"] : getCurrentValue("right");
-                var lTo:Number = (propertyChanges.end["left"] !== undefined) ?
-                    propertyChanges.end["left"] : getCurrentValue("left");
-                var rTo:Number = (propertyChanges.end["right"] !== undefined) ?
+                var rTo:Number = !isNaN(propertyChanges.end["right"]) ?
                     propertyChanges.end["right"] : getCurrentValue("right");
-                propertyValuesList.push(new PropertyValuesHolder("left", [lFrom, lTo]));
                 propertyValuesList.push(new PropertyValuesHolder("right", [rFrom, rTo]));
             }
-            if (propertyChanges.start["top"] !== undefined ||
-                propertyChanges.start["bottom"] !== undefined ||
-                propertyChanges.end["top"] !== undefined ||
-                propertyChanges.end["bottom"] !== undefined)
-            {
-                var tFrom:Number = (propertyChanges.start["top"] !== undefined) ?
+            if (!isNaN(propertyChanges.start["top"]) ||
+                !isNaN(propertyChanges.end["top"]))
+            {
+                var tFrom:Number = !isNaN(propertyChanges.start["top"]) ?
                     propertyChanges.start["top"] : getCurrentValue("top");
-                var bFrom:Number = (propertyChanges.start["bottom"] !== undefined) ?
+                var tTo:Number = !isNaN(propertyChanges.end["top"]) ?
+                    propertyChanges.end["top"] : getCurrentValue("top");
+                propertyValuesList.push(new PropertyValuesHolder("top", [tFrom, tTo]));
+            }
+            if (!isNaN(propertyChanges.start["bottom"]) ||
+                !isNaN(propertyChanges.end["bottom"]))
+            {
+                var bFrom:Number = !isNaN(propertyChanges.start["bottom"]) ?
                     propertyChanges.start["bottom"] : getCurrentValue("bottom");
-                var tTo:Number = (propertyChanges.end["top"] !== undefined) ?
-                    propertyChanges.end["top"] : getCurrentValue("top");
-                var bTo:Number = (propertyChanges.end["bottom"] !== undefined) ?
+                var bTo:Number = !isNaN(propertyChanges.end["bottom"]) ?
                     propertyChanges.end["bottom"] : getCurrentValue("bottom");
-                propertyValuesList.push(new PropertyValuesHolder("top", [tFrom, tTo]));
                 propertyValuesList.push(new PropertyValuesHolder("bottom", [bFrom, bTo]));
             }
         }


Fixed wrong import.

Fixed wrong import.

--- as3/Apparat.Library.AS3/src/apparat/memory/Memory.as
+++ as3/Apparat.Library.AS3/src/apparat/memory/Memory.as
@@ -21,7 +21,7 @@

 package apparat.memory
 {
-	import com.joa_ebert.apparat.inline.__bytecode;
+	import apparat.inline.__bytecode;

 	import flash.system.ApplicationDomain;
 	import flash.utils.ByteArray;


Made presence queuing behavior a configurable parameter (http://www.igniterealtime.org/community/message/199180)

--- src/org/igniterealtime/xiff/core/XMPPConnection.as
+++ src/org/igniterealtime/xiff/core/XMPPConnection.as
@@ -28,15 +28,15 @@
 	import flash.utils.*;
 	import flash.xml.XMLDocument;
 	import flash.xml.XMLNode;
-
+
 	import org.igniterealtime.xiff.auth.*;
 	import org.igniterealtime.xiff.data.*;
 	import org.igniterealtime.xiff.data.auth.AuthExtension;
 	import org.igniterealtime.xiff.data.bind.BindExtension;
 	import org.igniterealtime.xiff.data.forms.FormExtension;
+	import org.igniterealtime.xiff.data.ping.PingExtension;
 	import org.igniterealtime.xiff.data.register.RegisterExtension;
-	import org.igniterealtime.xiff.data.session.SessionExtension;;
-	import org.igniterealtime.xiff.data.ping.PingExtension;
+	import org.igniterealtime.xiff.data.session.SessionExtension;
 	import org.igniterealtime.xiff.events.*;
 	import org.igniterealtime.xiff.exception.SerializationException;

@@ -219,6 +219,11 @@
 		 * @private
 		 */
 		protected var _compress:Boolean = false;
+
+		/**
+		 * @private
+		 */
+		protected var _queuePresences:Boolean = true;

 		/**
 		 * @private
@@ -844,7 +849,6 @@
 			}
 			else
 			{
-
 				// Start the callback for this IQ if one exists
 				if ( pendingIQs[iq.id] !== undefined )
 				{
@@ -927,20 +931,31 @@
 				throw new SerializationException();
 			}

-			presenceQueue.push( presence );
-
-			presenceQueueTimer.reset();
-			presenceQueueTimer.start();
-
+			if(queuePresences)
+			{
+				presenceQueue.push( presence );
+
+				presenceQueueTimer.reset();
+				presenceQueueTimer.start();
+			}
+			else
+			{
+				var presenceEvent:PresenceEvent = new PresenceEvent();
+				presenceEvent.data = [ presence ];
+				dispatchEvent( presenceEvent );
+			}
+
 			return presence;
 		}

 		protected function flushPresenceQueue(event:TimerEvent):void
 		{
-			var presenceEvent:PresenceEvent = new PresenceEvent();
-			presenceEvent.data = presenceQueue;
-			dispatchEvent( presenceEvent );
-			presenceQueue = [];
+			if(presenceQueue.length > 0) {
+				var presenceEvent:PresenceEvent = new PresenceEvent();
+				presenceEvent.data = presenceQueue;
+				dispatchEvent( presenceEvent );
+				presenceQueue = [];
+			}
 		}

 		/**
@@ -1404,6 +1419,26 @@
 		}

 		/**
+		 * Should the connection queue presence events for a small interval so that it can send multiple in a batch?
+		 * @default true To maintain original behavior -- has to be explicitly set to false to disable.
+		 */
+		public function get queuePresences():Boolean
+		{
+			return _queuePresences;
+		}
+		public function set queuePresences(value:Boolean):void
+		{
+			if(_queuePresences && !value)
+			{		// if we are disabling queueing, handle all queued presence
+				if(presenceQueueTimer)
+					presenceQueueTimer.stop();
+
+				flushPresenceQueue(null);
+			}
+			_queuePresences = value;
+		}
+
+		/**
 		 * Gets the fully qualified unescaped JID of the user.
 		 * A fully-qualified JID includes the resource. A bare JID does not.
 		 * To get the bare JID, use the bareJID property of the UnescapedJID.


Transferred from the Adobe Open Source Subversion Repository

Revision: 17703
Author:   dthakkar@adobe.com
Date:     2010-09-14T21:06:11.351066Z

Log Message:
-----------
Added errorText property for spark formatters and included some bug fixes.

QE notes: This changelist has some behavior changes for spark formatters and will cause some failures to existing spark formatter mustell test cases. Globalization QE team knows about this and will update test cases after this submission.
Doc notes:
Bugs: SDK-27420,SDK-27449,SDK-26939,SDK-27240,SDK-27340,SDK-27341,SDK-26937,SDK-27038,SDK-26969,SDK-26970,SDK-26971,SDK-27036,SDK-27491,SDK-27037,SDK-26968,SDK-27450
Reviewer: Gordon, Craig, Dipti
Tests run: Checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/supportClasses/CollatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/supportClasses/NumberBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/scripts/NumberFormatterTestScript.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/scripts/CurrencyFormatterTestScript.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/formatters/Formatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/views/NumberFormatterTests.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/scripts/DateTimeFormatterTestScript.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/views/CurrencyFormatterTests.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/views/DateTimeFormatterTests.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/supportClasses/GlobalizationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/formatters/IFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/LastOperationStatus.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as</path>

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

--- frameworks/projects/spark/src/spark/globalization/supportClasses/GlobalizationBase.as
+++ frameworks/projects/spark/src/spark/globalization/supportClasses/GlobalizationBase.as
@@ -34,7 +34,7 @@
  *  values available through this class.
  *
  *  @langversion 3.0
- *  @playerversion Flash 10
+ *  @playerversion Flash 10.1
  *  @playerversion AIR 1.5
  *  @productversion Flex 4.5
  */
@@ -51,28 +51,28 @@
  *  by the Unicode Technical Standard #35 (http//unicode.org/reports.tr35/)
  *
  *  @langversion 3.0
- *  @playerversion Flash 10
+ *  @playerversion Flash 10.1
  *  @playerversion AIR 1.5
  *  @productversion Flex 4.5
  */
 [Style(name="locale", type="String", inherit="yes")]

 /**
- *  This is a base class used for wrapper classes that make use of the
+ *  This is a base class used for wrapper classes that make use of the
  *  flash.globalization classes for language and region specific formatting
  *  of dates, times, number, and currency amounts, string comparison and
  *  case conversion.
- *
+ *
  *  @see spark.formatters.CurrencyFormatter
  *  @see spark.formatters.DateTimeFormatter
  *  @see spark.formatters.NumberFormatter
  *  @see spark.globalization.MatchingCollator
  *  @see spark.globalization.SortingCollator
  *  @see spark.globalization.StringTools
- *
+ *
  *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 public class GlobalizationBase extends AdvancedStyleClient
@@ -89,7 +89,7 @@
      *  Constructor.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
+     *  @playerversion Flash 10.1
      *  @playerversion AIR 1.1
      *  @productversion Flex 4.5
      */
@@ -151,16 +151,16 @@
      *  functionality from the operating system.
      *
      *  If the locale that was set by the locale style is not available,
-     *  then value of the actualLocaleIDName will be different
+     *  then the value of the actualLocaleIDName will be different
      *  from the value of the locale style.
      *  It will indicate the fallback locale that is being used.
      *  If the locale style was set to LocaleID.DEFAULT the
      *  name of the locale specified by the user's operating system will be
      *  used.
      *
+     *  @langversion 3.0
      *  @playerversion Flash 10.1
-     *  @langversion 3.0
-     *  @productversion Flash CS5
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get actualLocaleIDName():String
@@ -220,7 +220,7 @@
      *  For the possible values see the description under each method.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
+     *  @playerversion Flash 10.1
      *  @playerversion AIR 1.1
      *  @productversion Flex 4.5
      */
@@ -413,8 +413,7 @@
      */
     mx_internal function update():void
     {
-        if (localeStyle)
-            dispatchEvent(new Event(Event.CHANGE));
+        dispatchEvent(new Event(Event.CHANGE));
     }

     //--------------------------------------------------------------------------
@@ -438,7 +437,7 @@
     {
         const newlocaleStyle:*= getStyle("locale") ;

-        if (localeStyle !== undefined && localeStyle == newlocaleStyle)
+        if (localeStyle === newlocaleStyle)
             return;

         localeStyle = newlocaleStyle;


Transferred from the Adobe Open Source Subversion Repository

Revision: 14124
Author:   cframpto@adobe.com
Date:     2010-02-11T17:53:35.882363Z

Log Message:
-----------
Merge 14123 from 4.x branch to trunk.

Log Message:
***********
Two additions/corrections to 14076.  Add key mappings for layoutDirection="rtl" for spark list components.  Correct type of keyCode variable so it is an uint rather than an int to match event.keyCode.

BitmapImage has a hard-coded layout direction="ltr".

QE notes: For layoutDirection="rtl" need to test LEFT, RIGHT, UP and DOWN keys.
Doc notes: None
Bugs: SDK-25330
Reviewed By: Hans
Tests run: checkintests
Is noteworthy for integration: No

Ticket Links:
***********
    http://bugs.adobe.com/jira/browse/SDK-25330

Modified Paths:
**************
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/containers/Accordion.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/ButtonBar.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/CalendarLayout.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/ColorPicker.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/Menu.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/MenuBar.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/RadioButton.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/Tree.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/sliderClasses/SliderThumb.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/Container.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/UIComponent.as
    flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/components/List.as
    flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/components/RadioButton.as
    flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as
    flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as
    flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
    flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/primitives/BitmapImage.as

Property Changed:
****************
    flex/sdk/branches/4.x/frameworks/

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="dir" action="M">/flex/sdk/trunk/frameworks</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CalendarLayout.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/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/SliderThumb.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>

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

--- frameworks/projects/mx/src/mx/controls/listClasses/TileBase.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/TileBase.as
@@ -2539,9 +2539,9 @@

         if (!collection) return;

-        // If rtl layout, need to swap LEFT for RIGHT so correct action
+        // If rtl layout, need to swap LEFT and RIGHT so correct action
         // is done.
-        var keyCode:int = mapKeycodeForLayoutDirection(event);
+        var keyCode:uint = mapKeycodeForLayoutDirection(event);

         switch (keyCode)
         {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/spark/src/spark/components/DropDownList.as
+++ frameworks/projects/spark/src/spark/components/DropDownList.as
@@ -23,6 +23,22 @@
 - FxList current dispatches selectionChanged on arrowUp/Down. Should we subclass FxList
 and change behavior to commit value only on ENTER, SPACE, or CTRL-UP?

+TODO List
+
+- finish collection_changeHandler
+- event dispatching
+- prompt
+- implicitSelectedIndex
+- expose List.layout?
+- pass styles to dropDown
+- propagate List events
+- Handle stage resize, focus in/out
+- add baseline support
+- add enabled/disabled
+- Add type assist
+- Add typicalItem support for measuredSize (lower priority)
+- Change button to be a ToggleButton so we stay down when dropdown is open
+
 *

 *  @langversion 3.0
@@ -46,8 +62,17 @@
 import mx.components.baseClasses.DropDownBase;
 import mx.components.baseClasses.FxListBase;
 import mx.core.IFactory;
+import mx.core.mx_internal;
 import mx.events.IndexChangedEvent;
 import mx.graphics.baseClasses.TextGraphicElement;
+import mx.events.CollectionEvent;
+import mx.collections.ListCollectionView;
+import mx.collections.CursorBookmark;
+import mx.events.FlexEvent;
+import mx.collections.ICollectionView;
+import mx.events.CollectionEventKind;
+import mx.collections.IViewCursor;
+import mx.utils.LabelUtil;

 /**
  *  Dispatched when the FxComboBox contents changes as a result of user
@@ -120,11 +145,44 @@

 	//--------------------------------------------------------------------------
     //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+	 /**
+     *  @private
+     *  A flag indicating that selection has changed
+     */
+    private var selectionChanged:Boolean = false;
+    private var labelChanged:Boolean = false;
+	private const PAGE_SIZE:int = 5;
+
+	//--------------------------------------------------------------------------
+    //
     //  Properties
     //
     //--------------------------------------------------------------------------

+	//----------------------------------
+    //  collection
+    //----------------------------------
+
+	/**
+     *  The ICollectionView of items this component displays.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    protected var collection:ICollectionView;
+
+	//----------------------------------
+    //  dataProvider
+    //----------------------------------
+
 	// TODO (jszeto) Add logic to handle the IList changed events
+
+	private var dataProviderChanged:Boolean = false;
 	private var _dataProvider:IList;

 	/**
@@ -157,6 +215,22 @@
 		if (_dataProvider != value)
 		{
 			_dataProvider = value;
+
+			if (_dataProvider)
+			{
+				// TODO (jszeto) Change to match FxList implementation
+				collection = new ListCollectionView(IList(value));
+				collection.addEventListener(CollectionEvent.COLLECTION_CHANGE, collection_changeHandler, false, 0, true);
+				iterator = collection.createCursor();
+				dataProviderChanged = true;
+
+				var event:CollectionEvent =
+			            new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
+		        event.kind = CollectionEventKind.RESET;
+		        collection_changeHandler(event);
+		  	}
+
+		  	invalidateProperties();
 		}
 	}

@@ -191,21 +265,67 @@
     }

     //----------------------------------
-    //  labelField
-    //----------------------------------
-   	private var labelFunctionChanged:Boolean;
-	private var _labelField:String = "";
-
-    /**
-     *  The name of the field in the data provider items to display as the label.
-
-     * @default null
+    //  itemRendererFunction
+    //----------------------------------
+
+    private var _itemRendererFunction:Function;
+
+    /**
+     *  @copy mx.components.DataGroup#itemRendererFunction
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
+    public function get itemRendererFunction():Function
+    {
+        return _itemRendererFunction;
+    }
+
+    /**
+     *  @private
+     */
+    public function set itemRendererFunction(value:Function):void
+    {
+        if (value != _itemRendererFunction)
+        {
+        	_itemRendererFunction = value;
+        }
+    }
+
+    //----------------------------------
+    //  iterator
+    //----------------------------------
+
+    /**
+     *  The main IViewCursor used to fetch items from the
+     *  dataProvider and pass the items to the renderers.
+     *  At the end of any sequence of code, it must always be positioned
+     *  at the topmost visible item on screen.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    protected var iterator:IViewCursor;
+
+    //----------------------------------
+    //  labelField
+    //----------------------------------
+	private var _labelField:String = "label";
+
+    /**
+     *  The name of the field in the data provider items to display as the label.
+
+     * @default "label"
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
     public function get labelField():String
     {
     	return _labelField;
@@ -216,7 +336,7 @@
     	if (value != _labelField)
     	{
     		_labelField = value;
-    		labelFunctionChanged = true;
+    		labelChanged = true;
     		invalidateProperties();
     	}
     }
@@ -252,7 +372,7 @@
     	if (value != _labelFunction)
     	{
     		_labelFunction = value;
-    		labelFunctionChanged = true;
+    		labelChanged = true;
     		invalidateProperties();
     	}
     }
@@ -297,10 +417,11 @@
     //----------------------------------

     private var _selectedIndex:int = -1;
-    private var selectedIndexChanged:Boolean = true;
+    private var selectedIndexChanged:Boolean = false;

     [Bindable("change")]
-
+    [Bindable("collectionChange")]
+    [Bindable("valueCommit")]
      /**
      *  The index in the data provider of the selected item.
      *  If there is a prompt property, the selectedIndex
@@ -325,24 +446,58 @@
         return _selectedIndex;
     }

+    /**
+     *  @private
+     */
     public function set selectedIndex(value:int):void
     {
-        if (value == _selectedIndex)
-            return;
+    	// TODO (jszeto) Change selectedIndex/Item to match FxListBase implementation
+    	// We want the selectedIndex to be committed as soon as possible.
+    	// If we have a collection, then update the selectedIndex
+
+    	_selectedIndex = value;
+    	if (value == -1)
+        {
+            _selectedItem = null;
+        }
+
+    	//2 code paths: one for before collection, one after
+        if (!collection || collection.length == 0)
+        {
+            selectedIndexChanged = true;
+            invalidateProperties();
+        }
+        else
+        {
+            if (value != -1)
+            {
+                value = Math.min(value, collection.length - 1);
+                var bookmark:CursorBookmark = iterator.bookmark;
+                var len:int = value;
+                iterator.seek(CursorBookmark.FIRST, len);
+                var data:Object = iterator.current;
+                iterator.seek(bookmark, 0);
+                _selectedIndex = value;
+                _selectedItem = data;
+                labelChanged = true;
+                invalidateProperties();
+            }
+        }

-        _selectedIndex = value;
-        selectedIndexChanged = true;
-        invalidateProperties();
+        dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
     }

     //----------------------------------
     //  selectedItem
     //----------------------------------

+	private var selectedItemChanged:Boolean = false;
+
     private var _selectedItem:Object;

 	[Bindable("change")]
-
+    [Bindable("collectionChange")]
+    [Bindable("valueCommit")]
     /**
      *  The item in the data provider at the selectedIndex.
      *
@@ -371,17 +526,49 @@
     public function get selectedItem():Object
     {
     	// TODO (jszeto) Return _selectedItem first if it hasn't been committed yet
-        return dataProvider.getItemAt(selectedIndex);
+        return _selectedItem;
     }

     /**
      *  @private
      */
     public function set selectedItem(data:Object):void
-    {
-    	// TODO (jszeto) Tie this in with selectedIndex
-        _selectedItem = data;
-        invalidateProperties();
+    {
+        //2 code paths: one for before collection, one after
+        if (!collection || collection.length == 0)
+        {
+          	_selectedItem = data;
+            selectedItemChanged = true;
+            invalidateProperties();
+        }
+		else
+		{
+	        var found:Boolean = false;
+	        var listCursor:IViewCursor = collection.createCursor();
+	        var i:int = 0;
+	        do
+	        {
+	            if (data == listCursor.current)
+	            {
+	                _selectedIndex = i;
+	                _selectedItem = data;
+	                selectionChanged = true;
+	                found = true;
+	                break;
+	            }
+	            i++;
+	        }
+	        while (listCursor.moveNext());
+
+	        if (!found)
+	        {
+	            selectedIndex = -1;
+	            _selectedItem = null;
+	        }
+
+	        labelChanged = true;
+	        invalidateProperties();
+		}
     }

  	//--------------------------------------------------------------------------
@@ -389,15 +576,7 @@
     //  Methods
     //
     //--------------------------------------------------------------------------
-    /**
-	 *  @private
-	 */
-    private function applyDataToLabelElement(data:Object):void
-    {
-    	// TODO!!! Call FxList.itemToData with labelField, labelFunction and data.
-    	if (labelElement)
-    		labelElement.text = data.toString();
-    }
+

     //--------------------------------------------------------------------------
     //
@@ -414,29 +593,37 @@
     {
         super.commitProperties();

+		if (selectedItemChanged)
+        {
+        	// Retry applying the value in case the dataProvider is set
+            selectedItem = selectedItem;
+            selectedItemChanged = false;
+            selectedIndexChanged = false;
+        }
+
         if (selectedIndexChanged)
         {
-            // TODO: Currently hard-coded to require a selection. This should be fixed.
-            if (selectedIndex == -1)
-            {
-                selectedIndex = 0;
-            }
-
-            if (dataProvider)
-                applyDataToLabelElement(dataProvider.getItemAt(selectedIndex));
+        	// Retry applying the value in case the dataProvider is set
+            selectedIndex = selectedIndex;
             selectedIndexChanged = false;
-
-            dispatchEvent(new Event("change"));
-        }
+        }

-        if (labelFunctionChanged)
-        {
-        	// TODO!! Update the label element
-        	labelFunctionChanged = false;
-        	applyDataToLabelElement(dataProvider.getItemAt(selectedIndex));
-        }
-
-    }
+        if (labelChanged)
+		{
+			labelChanged = false;
+			if (labelElement)
+	    	{
+	    		if (selectedItem)
+	    			labelElement.text = LabelUtil.itemToLabel(selectedItem, labelField, labelFunction);
+	    		else
+	    			labelElement.text = "";
+	    	}
+		}
+
+        // TODO (jszeto) Add call to valueCommit after selection changed
+
+    }
+

     /**
 	 *  @private
@@ -445,19 +632,37 @@
     {
     	super.initializeDropDown();

+    	// TODO (jszeto) Look at FxDataContainer to see pattern for passing
+    	// these values
 		dropDown.dataProvider = dataProvider;
 		dropDown.selectedIndex = selectedIndex;
+		dropDown.labelField = labelField;
+		dropDown.labelFunction = labelFunction;
+
 		if (itemRenderer)
 			dropDown.itemRenderer = itemRenderer;
+
+		if (itemRendererFunction)
+			dropDown.itemRendererFunction = itemRendererFunction;

 		// TODO!! We force validation because when we set the selectedIndex,
 		// the list doesn't commit the value until it calls commitProperties.
 		// By this time, we are already listening for selection changed events.
-		dropDown.validateNow();
+		//dropDown.validateNow();
+		/*dropDown.validateProperties();
+		dropDown.validateSize();*/

 		// Wait for creationComplete before listening to selectionChanged events from the dropDown.
 		//dropDown.addEventListener("creationComplete", dropDown_creationCompleteHandler);
-		dropDown.addEventListener(IndexChangedEvent.SELECTION_CHANGED, dropDown_selectionChangedHandler);
+		//dropDown.addEventListener(IndexChangedEvent.SELECTION_CHANGED, dropDown_selectionChangedHandler);
+    }
+
+    /**
+     *  @private
+     */
+    override protected function addListenersToDropDown():void
+    {
+    	dropDown.addEventListener(IndexChangedEvent.SELECTION_CHANGED, dropDown_selectionChangedHandler);
     }

     /**
@@ -467,8 +672,21 @@
     {
     	super.partAdded(partName, instance);

- 		if (partName == "dropDown")
+ 		if (instance == dropDown)
  			dropDownInstance = dropDown;
+    }
+
+    /**
+     *  @private
+     */
+    override protected function partRemoved(partName:String, instance:Object):void
+    {
+        if (instance == dropDown)
+    	{
+    		dropDownInstance = null;
+    	}
+
+        super.partRemoved(partName, instance);
     }

     /**
@@ -486,38 +704,110 @@
 	 */
     override protected function commitDropDownData():void
     {
-    	selectedIndex = dropDown.selectedIndex;
-        applyDataToLabelElement(dataProvider.getItemAt(selectedIndex));
-    }
-
+    	if (dropDown.selectedIndex != selectedIndex)
+    	{
+    		selectedIndex = dropDown.selectedIndex;
+    		dispatchEvent(new Event(Event.CHANGE));
+    	}
+    }
+
+    /**
+	 *  @private
+	 */
 	override protected function keyDownHandler(event:KeyboardEvent) : void
 	{
+
+		//trace("DropDownList.keyDownHandler key",event.keyCode);
 		if(!enabled)
             return;
-
-        if (event.keyCode == Keyboard.ENTER)
-        {
-            if (isOpen)
-            {
-            	// Close the dropDown and eat the event
-                closeDropDown(true);
-                event.stopPropagation();
-            }
+
+		super.keyDownHandler(event);
+
+        if (event.ctrlKey && event.keyCode == Keyboard.DOWN)
+        {
+            openDropDown();
+            event.stopPropagation();
+        }
+        else if (event.ctrlKey && event.keyCode == Keyboard.UP)
+        {
+            closeDropDown(true);
+            event.stopPropagation();
+        }
+        else if (event.keyCode == Keyboard.ENTER)
+        {
+        	// Close the dropDown and eat the event
+            closeDropDown(true);
+            event.stopPropagation();
         }
         else if (event.keyCode == Keyboard.ESCAPE)
         {
-            if (isOpen)
-            {
-            	// Close the dropDown and eat the event
-                closeDropDown(false);
-                event.stopPropagation();
-            }
+        	// Close the dropDown and eat the event
+            closeDropDown(false);
+            event.stopPropagation();
         }
         else if (event.keyCode == Keyboard.UP ||
                 event.keyCode == Keyboard.DOWN ||
+                event.keyCode == Keyboard.LEFT ||
+                event.keyCode == Keyboard.RIGHT ||
                 event.keyCode == Keyboard.PAGE_UP ||
                 event.keyCode == Keyboard.PAGE_DOWN)
         {
+        	//trace("DropDownList.keyDownHandler arrow key isOpen",isOpen);
+
+        	if (isOpen)
+        	{
+        		// TODO (jszeto) Clean this up once we have FxList support for
+        		// not sending selection_change on keydown.
+        		inKeyNavigation = true;
+        		// TODO (jszeto) Clean this up when SDK-19738 is fixed
+        		if (dropDown.numChildren > 0)
+        			dropDown.getChildAt(0).dispatchEvent(event.clone());
+
+        		inKeyNavigation = false;
+        	}
+        	else
+        	{
+        		var nextSelectedIndex:int = selectedIndex;
+        		if (event.keyCode == Keyboard.UP)
+        		{
+        			nextSelectedIndex = Math.max(0, nextSelectedIndex - 1);
+        		}
+        		else if (event.keyCode == Keyboard.DOWN)
+        		{
+        			nextSelectedIndex = Math.min(collection.length - 1, nextSelectedIndex + 1);
+        		}
+        		else if (event.keyCode == Keyboard.PAGE_UP)
+        		{
+        			nextSelectedIndex = Math.max(0, nextSelectedIndex - PAGE_SIZE);
+        		}
+        		else if (event.keyCode == Keyboard.PAGE_DOWN)
+        		{
+        			nextSelectedIndex = Math.min(collection.length - 1, nextSelectedIndex + PAGE_SIZE);
+        		}
+
+        		if (nextSelectedIndex != selectedIndex)
+        		{
+	        		selectedIndex = nextSelectedIndex;
+
+        			dispatchEvent(new Event(Event.CHANGE));
+        		}
+        	}
+
+
+
+
+        	/*var e:KeyboardEvent = event.clone();
+        	e.eventPhase = EventPhase.CAPTURING_PHASE;*/
+
+        	/*dropDown.addEventListener(IndexChangedEvent.SELECTION_CHANGED, dropDown_selectionChangedHandler);
+
+        	if (dropDown.numChildren > 0)
+        		dropDown.getChildAt(0).dispatchEvent(event.clone());
+
+        	dropDown.removeEventListener(IndexChangedEvent.SELECTION_CHANGED, dropDown_selectionChangedHandler);*/
+
+
+
             /*var oldIndex:int = selectedIndex;

@@ -535,9 +825,6 @@
             bInKeyDown = false;*/

         }
-
-		// Call super at the end because we might override its functionality
-		super.keyDownHandler(event);
 	}

     //--------------------------------------------------------------------------
@@ -562,6 +849,84 @@
     }

     /**
+	 *  Called when the dataProvider changes
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
+	 */
+    protected function collection_changeHandler(event:CollectionEvent):void
+    {
+    	// TODO (jszeto) Change this to use FxListBase implementation
+
+        var requiresValueCommit:Boolean = false;
+
+        if (event.kind == CollectionEventKind.ADD)
+        {
+        	// Don't send a value commit. selectedItem remains the same
+            if (selectedIndex >= event.location)
+                _selectedIndex++;
+        }
+        else if (event.kind == CollectionEventKind.REMOVE)
+        {
+            for (var i:int = 0; i < event.items.length; i++)
+            {
+            	// TODO (jszeto) Do we need to use UID instead?
+                //var uid:String = itemToUID(ce.items[i]);
+                if (selectedItem == event.items[i])
+                {
+                    selectionChanged = true;
+                }
+            }
+            if (selectionChanged)
+            {
+                if (_selectedIndex >= collection.length)
+                    _selectedIndex = collection.length - 1;
+
+                selectedIndexChanged = true;
+                requiresValueCommit = true;
+                invalidateProperties();
+            }
+            else if (selectedIndex >= event.location)
+            {
+                _selectedIndex--;
+                selectedIndexChanged = true;
+                requiresValueCommit = true;
+                invalidateProperties();
+            }
+
+        }
+        else if (event.kind == CollectionEventKind.REFRESH)
+        {
+            selectedItemChanged = true;
+            // Sorting always changes the selection array
+            requiresValueCommit = true;
+            invalidateProperties();
+        }
+        else if (event.kind == CollectionEventKind.UPDATE)
+        {
+            if (event.location == selectedIndex ||
+                event.items[0].source == selectedItem)
+            {
+            	selectedItem = event.items[0].source;
+            }
+        }
+        else if (event.kind == CollectionEventKind.RESET)
+        {
+           /* collectionChanged = true;
+            if (!selectedIndexChanged && !selectedItemChanged)
+                selectedIndex = prompt ? -1 : 0;
+            invalidateProperties();*/
+            if (!selectedIndexChanged && !selectedItemChanged)
+            	selectedIndex = 0;
+        }
+
+        if (requiresValueCommit)
+            dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
+    }
+
+    /**
      *  @private
      */
     /*private function dropDown_creationCompleteHandler(event:FlexEvent):void


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

--- frameworks/projects/spark/src/spark/components/DropDownList.as
+++ frameworks/projects/spark/src/spark/components/DropDownList.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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: 10075
Author:   rfrishbe@adobe.com
Date:     2009-09-09T01:01:58.077369Z

Log Message:
-----------
Cleanups from the spark text changes and some bug fixes for VideoElement.  Also some PARB changes for UIComponent.

TitleBar: Changing the skin part type from Label to Textbase

UIComponent: skipMeasure()->canSkipMeasurement() to be in line with GraphicElement.  This has been PARB approved.
UIComponent: same with hasComplexLayoutMatrix...this replaces hasDeltaIdentityTransform.  This has been PARB approved.

StyleProtoChain: cleanup around what interfaces to use

TextBase: clean up code that’s no longer needed.

VideoElement: Fixing 4 bugs:
SDK-22824: sourceLastPlayed keeps track of what video file we’ve called play() with last.  This way if a user pauses the video and wants to start it up again at the same point, we can call play(null) on the underlying FLVPlayback videoPlayer.  However, anytime the souce changes, we want to null out sourceLastPlayed.  This was causing a bug when someone set the source to null and then reset it to it’s previous value.

SDK-23034 (GUMBO_PRIORITY): This deals with some FLVPlayback quirks around sizing.  I had put in a fix so we weren’t setting width/height on the underlying videoPlayer too many times, but apparently we need to make sure it always gets called once.  Hopefully when switching to Strobe we can cleanup this logic...I put a FIXME in to do this.

SDK-21947/ SDK-22533 - some video files don’t always send out a metadata event.  I’m not quite sure why this is, but in case this happens, we do a check in the ready handler to see whether we should call invalidateSize() to make sure it gets sized properly.

QE notes:-
Doc notes:-
Bugs: SDK-22824, SDK-23034, SDK-21947, SDK-22533
Reviewer: Glenn, Corey
Tests run: checkintests, Button, GraphicTags, VideoElement, and VideoPlayer (some VideoPlayer were failing, but I think it should be fine)
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AddActionInstance.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/airframework/src/spark/components/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/RemoveActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/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/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/VideoElement.as</path>

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

--- frameworks/projects/spark/src/spark/components/VideoDisplay.as
+++ frameworks/projects/spark/src/spark/components/VideoDisplay.as
@@ -642,6 +642,8 @@
         {
             createUnderlyingVideoPlayer();
         }
+
+        sourceLastPlayed = null;

         if (autoPlay && enabled)
             play();
@@ -858,12 +860,35 @@

         var flvPlayer:VideoPlayer = videoPlayer;

-        if (flvPlayer.width != Math.floor(unscaledWidth) || flvPlayer.height != Math.floor(unscaledHeight))
-        {
-            flvPlayer.width = Math.floor(unscaledWidth);
-            flvPlayer.height = Math.floor(unscaledHeight);
-        }
-    }
+        // check to see whether the video width/height has been set before to this value.
+        // if it has, let's not set it again as we could be in an animation where we keep
+        // setting this value, and if that's the case, then the video won't play at all.
+        if (lastSetVideoWidth != Math.floor(unscaledWidth) || lastSetVideoHeight != Math.floor(unscaledHeight))
+        {
+            lastSetVideoWidth = Math.floor(unscaledWidth);
+            lastSetVideoHeight = Math.floor(unscaledHeight);
+
+            flvPlayer.width = lastSetVideoWidth;
+            flvPlayer.height = lastSetVideoHeight;
+        }
+    }
+
+    // FIXME (rfrishbe): remove these "lastSet" variables...should not be needed
+    // when switching to Strobe
+
+    /**
+     *  @private
+     *  Used to store the last video width/height we've set the
+     *  underlying video player to
+     */
+    private var lastSetVideoWidth:Number;
+
+    /**
+     *  @private
+     *  Used to store the last video width/height we've set the
+     *  underlying video player to
+     */
+    private var lastSetVideoHeight:Number;

     //--------------------------------------------------------------------------
     //
@@ -1173,6 +1198,11 @@
      */
     private function videoPlayer_readyHandler(event:fl.video.VideoEvent):void
     {
+        // sometimes we don't get a metadata event, so let's check the size here and see
+        // if we need to invalidateSize()
+        if (measuredWidth != videoPlayer.videoWidth || measuredHeight != videoPlayer.videoHeight)
+            invalidateSize();
+
         var sparkVideoEvent:spark.events.VideoEvent =
             new spark.events.VideoEvent(event.type, event.bubbles, event.cancelable, event.playheadTime);
         dispatchEvent(sparkVideoEvent);


Fix client code to send partnerId from client config by default. Fix By Michal.

--- generator/sources/as3/com/kaltura/delegates/WebDelegateBase.as
+++ generator/sources/as3/com/kaltura/delegates/WebDelegateBase.as
@@ -169,7 +169,7 @@

 		protected function formatRequest():void {
 			//The configuration is stronger then the args
-			if (_config.partnerId != null && _call.args["partnerId"] == -1)
+			if (_config.partnerId != null && (!_call.args["partnerId"] || _call.args["partnerId"]==-1))
 				_call.setRequestArgument("partnerId", _config.partnerId);

 			if (_config.ks != null)


Generalize method call log messages.

Generalize method call log messages.

--- src/com/esri/builder/controllers/supportClasses/LocalConnectionDelegate.as
+++ src/com/esri/builder/controllers/supportClasses/LocalConnectionDelegate.as
@@ -59,16 +59,16 @@

     public function setTitles(title:String, subtitle:String):void
     {
-        if (Log.isDebug())
-        {
-            LOG.debug("Sending titles changes: title {0} - subtitle {1}", title, subtitle);
-        }
-
         callViewerMethod('setTitles', title, subtitle);
     }

     private function callViewerMethod(methodName:String, ... values):void
     {
+        if (Log.isDebug())
+        {
+            LOG.debug("Calling Viewer method: {0} with the following arguments: {1}", methodName, values);
+        }
+
         try
         {
             //use Function#apply to avoid passing rest argument as Array
@@ -78,128 +78,68 @@
         {
             if (Log.isDebug())
             {
-                LOG.debug("Call to Viewer method {0} failed: {1}", methodName, error);
+                LOG.debug("Call to method {0} failed: {1}", methodName, error);
             }
         }
     }

     public function setLogo(value:String):void
     {
-        if (Log.isDebug())
-        {
-            LOG.debug("Sending logo changes {0}", value);
-        }
-
         callViewerMethod('setLogo', value);
     }

     public function setTextColor(value:uint):void
     {
-        if (Log.isDebug())
-        {
-            LOG.debug("Sending text color changes {0}", value);
-        }
-
         callViewerMethod('setTextColor', value);
     }

     public function setBackgroundColor(value:uint):void
     {
-        if (Log.isDebug())
-        {
-            LOG.debug("Sending background color changes {0}", value);
-        }
-
         callViewerMethod('setBackgroundColor', value);
     }

     public function setRolloverColor(value:uint):void
     {
-        if (Log.isDebug())
-        {
-            LOG.debug("Sending rollover color changes {0}", value);
-        }
-
         callViewerMethod('setRolloverColor', value);
     }

     public function setSelectionColor(value:uint):void
     {
-        if (Log.isDebug())
-        {
-            LOG.debug("Sending selection color changes {0}", value);
-        }
-
         callViewerMethod('setSelectionColor', value);
     }

     public function setTitleColor(value:uint):void
     {
-        if (Log.isDebug())
-        {
-            LOG.debug("Sending title color changes {0}", value);
-        }
-
         callViewerMethod('setTitleColor', value);
     }

     public function setLocale(localeChain:String):void
     {
-        if (Log.isDebug())
-        {
-            LOG.debug("Sending locale changes {0}", localeChain);
-        }
-
         callViewerMethod('setLocale', localeChain);
     }

     public function setFontName(value:String):void
     {
-        if (Log.isDebug())
-        {
-            LOG.debug("Sending font name changes {0}", value);
-        }
-
         callViewerMethod('setFontName', value);
     }

     public function setAppTitleFontName(value:String):void
     {
-        if (Log.isDebug())
-        {
-            LOG.debug("Sending app title font name changes {0}", value);
-        }
-
         callViewerMethod('setAppTitleFontName', value);
     }

     public function setSubTitleFontName(value:String):void
     {
-        if (Log.isDebug())
-        {
-            LOG.debug("Sending subtitle font name changes {0}", value);
-        }
-
         callViewerMethod('setSubTitleFontName', value);
     }

     public function setAlpha(value:Number):void
     {
-        if (Log.isDebug())
-        {
-            LOG.debug("Sending alpha changes {0}", value);
-        }
-
         callViewerMethod('setAlpha', value);
     }

     public function setPredefinedStyles(value:Object):void
     {
-        if (Log.isDebug())
-        {
-            LOG.debug("Sending predefined changes {0}", value);
-        }
-
         callViewerMethod('setPredefinedStyles', value);
     }
 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/olap/IOLAPLevel.as
+++ frameworks/projects/advancedgrids/src/mx/olap/IOLAPLevel.as
@@ -0,0 +1,131 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.olap
+{
+import mx.collections.IList;
+
+/**
+ *  The IOLAPLevel interface represents a level within the OLAP schema of an OLAP cube,
+ *  where a hierarchy of a dimension contains one or more levels.
+ *.
+ *  @see mx.olap.OLAPLevel
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public interface IOLAPLevel extends IOLAPElement
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  child
+	//----------------------------------
+
+    /**
+     *  The next child level in the hierarchy.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get child():IOLAPLevel;
+
+    //----------------------------------
+	//  depth
+	//----------------------------------
+
+    /**
+     *  The depth of the level in the hierarchy of the dimension.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get depth():int;
+
+    //----------------------------------
+	//  hierarchy
+	//----------------------------------
+
+    /**
+     *  The hierarchy of the dimension to which this level belongs.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get hierarchy():IOLAPHierarchy;
+
+    //----------------------------------
+	//  parent
+	//----------------------------------
+
+    /**
+     *  The parent level of this level, or null if this level is not nested in another level.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get parent():IOLAPLevel;
+
+    //----------------------------------
+	//  members
+	//----------------------------------
+
+    /**
+     *  The members of this level, as a list of IOLAPMember instances,
+     *  or null if a member is not found.
+     *
+     *  The list might represent remote data and therefore can throw
+     *  an ItemPendingError.
+     *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get members():IList; //of IOLAPMembers
+
+    //--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Returns the members with the given name within the hierarchy.
+     *
+     *  @param name The name of the member.
+     *
+     *  @return A list of IOLAPMember instances representing the members,
+     *  or null if a member is not found.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function findMember(name:String):IList;
+}
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/olap/IOLAPQuery.as
+++ frameworks/projects/advancedgrids/src/mx/olap/IOLAPQuery.as
@@ -0,0 +1,68 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.olap
+{
+/**
+ *  The IOLAPQuery interface represents an OLAP query that is executed on an IOLAPCube.
+ *
+ *  @see mx.olap.OLAPQuery
+ *  @see mx.olap.IOLAPQueryAxis
+ *  @see mx.olap.OLAPQueryAxis
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public interface IOLAPQuery
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Gets an axis from the query. You typically call this method to
+     *  obtain an uninitialized IOLAPQueryAxis instance, then configure the
+     *  IOLAPQueryAxis instance for the query.
+     *
+     *  @param axisOrdinal Specify OLAPQuery.COLUMN AXIS for a column axis,
+     *  OLAPQuery.ROW_AXIS for a row axis,
+     *  and OLAPQuery.SLICER_AXIS for a slicer axis.
+     *
+     *  @return The IOLAPQueryAxis instance.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function getAxis(axisOridnal:int):IOLAPQueryAxis;
+
+    /**
+     *  Sets an axis to the query.
+     *
+     *  @param axisOrdinal Specify OLAPQuery.COLUMN AXIS for a column axis,
+     *  OLAPQuery.ROW_AXIS for a row axis,
+     *  and OLAPQuery.SLICER_AXIS for a slicer axis.
+     *
+     *  @param axis The IOLAPQueryAxis instance.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function setAxis(axisOridnal:int, axis:IOLAPQueryAxis):void;
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

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

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

--- frameworks/projects/framework/src/mx/core/IVisualElement.as
+++ frameworks/projects/framework/src/mx/core/IVisualElement.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-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.core
 {
 import flash.display.DisplayObjectContainer;


Transferred from the Adobe Open Source Subversion Repository

Revision: 11658
Author:   dsubrama@adobe.com
Date:     2009-11-11T18:06:20.976286Z

Log Message:
-----------
Make sure BitmapFill handles a null source correctly.

QE notes: Regress
Doc notes: No
Bugs: SDK-24142
Reviewer: Jason
Tests run: FXG runtime & static
Is noteworthy for integration: Yes, was asked for by Catalyst

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as

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

--- frameworks/projects/framework/src/mx/graphics/BitmapFill.as
+++ frameworks/projects/framework/src/mx/graphics/BitmapFill.as
@@ -599,7 +599,7 @@
 			}

             // If the bitmapData isn't transparent (ex. JPEG), then copy it into a transparent bitmapData
-            if (!bitmapData.transparent)
+            if (bitmapData && !bitmapData.transparent)
             {
                 // FIXME (jszeto) : Only clone this if alpha is not 1. Dispose of this bitmap when we no longer need it
                 var transparentBitmap:BitmapData = new BitmapData(bitmapData.width, bitmapData.height, true);


Transferred from the Adobe Open Source Subversion Repository

Revision: 18378
Author:   clucier@adobe.com
Date:     2010-10-29T20:04:41.406823Z

Log Message:
-----------
Fixing a not-so recent states regression.

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

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

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

--- frameworks/projects/framework/src/mx/states/OverrideBase.as
+++ frameworks/projects/framework/src/mx/states/OverrideBase.as
@@ -197,10 +197,10 @@
         if (isBaseValueDataBound && target && parent && property)
         {
             var document:Object = target.hasOwnProperty("document") ? target.document : null;
-            document = !document && parent.hasOwnProperty("document") ? parent.document : null;
+            document = !document && parent.hasOwnProperty("document") ? parent.document : document;

             var name:String = target.hasOwnProperty("id") ? target.id : null;
-            name = !name && target.hasOwnProperty("name") ? target.name : null;
+            name = !name && target.hasOwnProperty("name") ? target.name : name;

             if (document && name)
             {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/spark/src/spark/effects/easing/Power.as
+++ frameworks/projects/spark/src/spark/effects/easing/Power.as
@@ -20,7 +20,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class Power extends EaseInOut
+public class Power extends EaseInOutBase
 {
     /**
      * Storage for the exponent property


Add transform bead to GraphicClasses

Add transform bead to GraphicClasses

--- frameworks/projects/Graphics/src/main/flex/GraphicsClasses.as
+++ frameworks/projects/Graphics/src/main/flex/GraphicsClasses.as
@@ -38,6 +38,7 @@
 	import org.apache.flex.graphics.SolidColorStroke; SolidColorStroke;
 	import org.apache.flex.svg.Text; Text;
 	import org.apache.flex.svg.CompoundGraphic; CompoundGraphic;
+	import org.apache.flex.svg.TransformBead; TransformBead;
 	import org.apache.flex.svg.LinearGradient; LinearGradient;
 	import org.apache.flex.graphics.CubicCurve; CubicCurve;
 	import org.apache.flex.graphics.LineStyle; LineStyle;