Transferred from the Adobe Open Source Subversion Repository

Revision: 8309
Author:   aharui@adobe.com
Date:     2009-06-26T15:41:04.510261Z

Log Message:
-----------
Fix bugs in WindowedSystemManager related to drag-drop, off-screen mouse events, performance when lots of windows are up, and some cleanup

QE Notes: None
Doc Notes: None
Bugs: SDK-21507, SDK-20619, SDK-21453, SDK-21539
Reviewer: darrell
tests: checkintests mustella/MarshallPlan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallingSupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/StageEventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>

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

--- frameworks/projects/framework/src/mx/managers/systemClasses/MarshallingSupport.as
+++ frameworks/projects/framework/src/mx/managers/systemClasses/MarshallingSupport.as
@@ -372,8 +372,6 @@
 	private var idToPlaceholder:Object;

 	private var eventProxy:EventProxy;
-	private var weakReferenceProxies:Dictionary = new Dictionary(true);
-	private var strongReferenceProxies:Dictionary = new Dictionary(false);

 	//--------------------------------------------------------------------------
 	//
@@ -390,27 +388,6 @@
 											  priority:int = 0,
 											  useWeakReference:Boolean = false):Boolean
 	{
-		if (type == MouseEvent.MOUSE_MOVE || type == MouseEvent.MOUSE_UP || type == MouseEvent.MOUSE_DOWN
-				|| type == Event.ACTIVATE || type == Event.DEACTIVATE)
-		{
-			// also listen to stage if allowed
-			try
-			{
-				if (systemManager.stage)
-				{
-					var newListener:StageEventProxy = new StageEventProxy(listener);
-					systemManager.stage.addEventListener(type, newListener.stageListener, false, priority, useWeakReference);
-					if (useWeakReference)
-						weakReferenceProxies[listener] = newListener;
-					else
-						strongReferenceProxies[listener] = newListener;
-				}
-			}
-			catch (error:SecurityError)
-			{
-			}
-		}
-
 		if (hasSWFBridges() || SystemManagerGlobals.topLevelSystemManagers.length > 1)
 		{
 			if (!eventProxy)
@@ -423,7 +400,7 @@
 			{
 				if (systemManager.isTopLevelRoot())
 				{
-					systemManager.stage.addEventListener(MouseEvent.MOUSE_MOVE, resetMouseCursorTracking, true, EventPriority.CURSOR_MANAGEMENT + 1, true);
+				    systemManager.stage.addEventListener(MouseEvent.MOUSE_MOVE, resetMouseCursorTracking, true, EventPriority.CURSOR_MANAGEMENT + 1, true);
 					addEventListenerToSandboxes(SandboxMouseEvent.MOUSE_MOVE_SOMEWHERE, resetMouseCursorTracking, true, EventPriority.CURSOR_MANAGEMENT + 1, true);
 				}
 				else
@@ -435,8 +412,27 @@
 				if (!SystemManagerGlobals.changingListenersInOtherSystemManagers)
 					addEventListenerToOtherSystemManagers(type, otherSystemManagerMouseListener, useCapture, priority, useWeakReference)
 				if (systemManager.getSandboxRoot() == systemManager)
+                {
                     Object(systemManager).$addEventListener(actualType, eventProxy.marshalListener,
                             useCapture, priority, useWeakReference);
+                    if (actualType == MouseEvent.MOUSE_UP)
+                    {
+                        try
+                        {
+                            if (systemManager.stage)
+                                systemManager.stage.addEventListener(Event.MOUSE_LEAVE, eventProxy.marshalListener,
+                                    useCapture, priority, useWeakReference);
+                            else
+                                Object(systemManager).$addEventListener(Event.MOUSE_LEAVE, eventProxy.marshalListener,
+                                    useCapture, priority, useWeakReference);
+                        }
+                        catch (e:SecurityError)
+                        {
+                            Object(systemManager).$addEventListener(Event.MOUSE_LEAVE, eventProxy.marshalListener,
+                                useCapture, priority, useWeakReference);
+                        }
+                    }
+                }

 				// Set useCapture to false because we will never see an event
 				// marshalled in the capture phase.
@@ -465,39 +461,32 @@
 	public function removeEventListener(type:String, listener:Function,
 												 useCapture:Boolean = false):Boolean
 	{
-
-		if (type == MouseEvent.MOUSE_MOVE || type == MouseEvent.MOUSE_UP || type == MouseEvent.MOUSE_DOWN
-				|| type == Event.ACTIVATE || type == Event.DEACTIVATE)
-		{
-			// also listen to stage if allowed
-			try
-			{
-				if (systemManager.stage)
-				{
-					var newListener:StageEventProxy = weakReferenceProxies[listener];
-					if (!newListener)
-					{
-						newListener = strongReferenceProxies[listener];
-						if (newListener)
-							delete strongReferenceProxies[listener];
-					}
-					if (newListener)
-						systemManager.stage.removeEventListener(type, newListener.stageListener, false);
-				}
-			}
-			catch (error:SecurityError)
-			{
-			}
-		}
-
         if (hasSWFBridges() || SystemManagerGlobals.topLevelSystemManagers.length > 1)
 		{
 			var actualType:String = EventUtil.sandboxMouseEventMap[type];
 			if (actualType)
 			{
                 if (systemManager.getSandboxRoot() == systemManager && eventProxy)
+                {
                     Object(systemManager).$removeEventListener(actualType, eventProxy.marshalListener,
                             useCapture);
+                    if (actualType == MouseEvent.MOUSE_UP)
+                    {
+                        try
+                        {
+                            if (systemManager.stage)
+                                systemManager.stage.removeEventListener(Event.MOUSE_LEAVE, eventProxy.marshalListener,
+                                    useCapture);
+                        }
+                        catch (e:SecurityError)
+                        {
+                        }
+			            // Remove both listeners in case the system manager was added
+			            // or removed from the stage after the listener was added.
+                        Object(systemManager).$removeEventListener(Event.MOUSE_LEAVE, eventProxy.marshalListener,
+                            useCapture);
+                    }
+                }
 				if (!SystemManagerGlobals.changingListenersInOtherSystemManagers)
 					removeEventListenerFromOtherSystemManagers(type, otherSystemManagerMouseListener, useCapture);
 				removeEventListenerFromSandboxes(type, sandboxMouseListener, useCapture);
@@ -1782,7 +1771,7 @@
 	 */
 	private function multiWindowRedispatcher(event:Event):void
 	{
-		if (!dispatchingToSystemManagers)
+		if (!SystemManagerGlobals.dispatchingEventToOtherSystemManagers)
 		{
 			dispatchEventToOtherSystemManagers(event);
 		}
@@ -1793,7 +1782,7 @@
 	 */
 	private function initManagerHandler(event:Event):void
 	{
-		if (!dispatchingToSystemManagers)
+		if (!SystemManagerGlobals.dispatchingEventToOtherSystemManagers)
 		{
 			dispatchEventToOtherSystemManagers(event);
 		}
@@ -2446,22 +2435,20 @@

 	private var currentSandboxEvent:Event;

-	private var dispatchingToSystemManagers:Boolean = false;
-
 	private function dispatchEventToOtherSystemManagers(event:Event):void
-		{
-			dispatchingToSystemManagers = true;
-			var arr:Array = SystemManagerGlobals.topLevelSystemManagers;
-			var n:int = arr.length;
-			for (var i:int = 0; i < n; i++)
+	{
+		SystemManagerGlobals.dispatchingEventToOtherSystemManagers = true;
+		var arr:Array = SystemManagerGlobals.topLevelSystemManagers;
+		var n:int = arr.length;
+		for (var i:int = 0; i < n; i++)
+		{
+			if (arr[i] != systemManager)
 			{
-				if (arr[i] != systemManager)
-				{
-					arr[i].dispatchEvent(event);
-				}
+				arr[i].dispatchEvent(event);
 			}
-			dispatchingToSystemManagers = false;
-		}
+		}
+		SystemManagerGlobals.dispatchingEventToOtherSystemManagers = false;
+	}

 	/**
 	 *  @inheritDoc
@@ -2692,7 +2679,7 @@

 	private function otherSystemManagerMouseListener(event:SandboxMouseEvent):void
 	{
-		if (dispatchingToSystemManagers)
+		if (SystemManagerGlobals.dispatchingEventToOtherSystemManagers)
 			return;

 		dispatchEventFromSWFBridges(event);
@@ -2766,8 +2753,9 @@
                     if (systemManager.isTopLevelRoot() &&
                        (actualType == MouseEvent.MOUSE_UP || actualType == MouseEvent.MOUSE_MOVE))
 				    {
-				        systemManager.stage.addEventListener(actualType, eventProxy.marshalListener,
-                            false, request.priority, request.useWeakReference);
+                        if (systemManager.stage)
+				            systemManager.stage.addEventListener(actualType, eventProxy.marshalListener,
+                                false, request.priority, request.useWeakReference);
 				    }

                     Object(systemManager).$addEventListener(actualType, eventProxy.marshalListener,
@@ -2788,9 +2776,11 @@
                     if (systemManager.isTopLevelRoot() &&
                        (actualType == MouseEvent.MOUSE_UP || actualType == MouseEvent.MOUSE_MOVE))
                     {
-                        systemManager.stage.removeEventListener(actualType, eventProxy.marshalListener);
+                        if (systemManager.stage)
+                            systemManager.stage.removeEventListener(actualType, eventProxy.marshalListener);
                     }
-
+			        // Remove both listeners in case the system manager was added
+			        // or removed from the stage after the listener was added.
                     Object(systemManager).$removeEventListener(actualType, eventProxy.marshalListener, true);
                 }
             }


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

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


Tweaked SuiteIteratorTest naming.

Tweaked SuiteIteratorTest naming.

--- as3/test/asunit4/SuiteIteratorTest.as
+++ as3/test/asunit4/SuiteIteratorTest.as
@@ -6,33 +6,38 @@

 	public class SuiteIteratorTest extends TestCase {
 		private var iterator:SuiteIterator;
-		//private var suite:DoubleFailSuite;
+		private var suiteClass:Class;

 		public function SuiteIteratorTest(testMethod:String = null) {
 			super(testMethod);
 		}

 		protected override function setUp():void {
+			suiteClass = DoubleFailSuite;
 		}

 		protected override function tearDown():void {
 			iterator = null;
 		}

-		public function test_countTestClasses_of_free_suite_class():void {
-			assertEquals(2, SuiteIterator.countTestClasses(DoubleFailSuite));
+		public function test_countTestClasses_of_suite_class():void {
+			assertEquals(2, SuiteIterator.countTestClasses(suiteClass));
 		}

-		public function test_isSuite_with_free_suite_class():void {
-			assertTrue(SuiteIterator.isSuite(DoubleFailSuite));
+		public function test_isSuite_with_suite_class():void {
+			assertTrue(SuiteIterator.isSuite(suiteClass));
 		}

 		public function test_isSuite_false_with_non_suite_class():void {
 			assertFalse(SuiteIterator.isSuite(Date));
 		}

-		public function test_getTestClasses_of_free_suite_class():void {
-			var testClasses:Array = SuiteIterator.getTestClasses(DoubleFailSuite);
+		public function test_isSuite_false_with_test_class():void {
+			assertFalse(SuiteIterator.isSuite(FailAssertEqualsTest));
+		}
+
+		public function test_getTestClasses_of_suite_class():void {
+			var testClasses:Array = SuiteIterator.getTestClasses(suiteClass);

 			assertEquals(2, testClasses.length);
 			// In case the ordering is random, check that the array contains the class somewhere.
@@ -46,12 +51,12 @@
 		}

 		public function test_iterator_for_suite_class_with_2_tests_hasNext():void {
-			iterator = new SuiteIterator(DoubleFailSuite);
+			iterator = new SuiteIterator(suiteClass);
 			assertTrue(iterator.hasNext());
 		}

 		public function test_iterator_next():void {
-			iterator = new SuiteIterator(DoubleFailSuite);
+			iterator = new SuiteIterator(suiteClass);

 			assertSame(FailAssertEqualsTest,	iterator.next());
 			assertSame(FailAssertTrueTest, 		iterator.next());


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

--- frameworks/projects/automation/src/mx/automation/tabularData/MenuBarTabularData.as
+++ frameworks/projects/automation/src/mx/automation/tabularData/MenuBarTabularData.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 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.
 //
 ////////////////////////////////////////////////////////////////////////////////
 package mx.automation.tabularData


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.components.supportClasses
 {


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

--- frameworks/projects/advancedgrids/src/mx/collections/SummaryObject.as
+++ frameworks/projects/advancedgrids/src/mx/collections/SummaryObject.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 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: 19684
Author:   mcho@adobe.com
Date:     2011-01-10T23:28:35.118753Z

Log Message:
-----------
Allow the "alternatingItemColors" style accept a single color

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>

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

--- frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as
+++ frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as
@@ -2968,7 +2968,12 @@
         if (colors)
             depthColors = true;
         else
-            colors = getStyle("alternatingItemColors");
+		{
+			var colorsStyle:Object = getStyle("alternatingItemColors");
+			if (colorsStyle)
+				colors = (colorsStyle is Array) ? (colorsStyle as Array) : [colorsStyle];
+
+		}

         color = getStyle("backgroundColor");
 		if (color === undefined)


Transferred from the Adobe Open Source Subversion Repository

Revision: 3930
Author:   egreenfi@adobe.com
Date:     2008-10-28T16:30:24.729265Z

Log Message:
-----------
Step 1 of memory improvements
GraphicElement now optimizes away its AdvancedLayoutFeatures as long is has a trivial (translation only) transform matrix.
Added a new OnDemandEventDispatcher class that only allocates memory for event dispatcher functionality when it gets its first listener.
GraphicElement, OverrideBase, and LayoutBase extend OnDemandEventDispatcher.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/OverrideBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradient.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as
+++ frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as
@@ -115,8 +115,12 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     *  @inheritDoc
+     */
+	private static var commonMatrix:Matrix = new Matrix();
+
 	[Deprecated(replacement="draw")]
-
     /**
      *  Applies the properties to the specified Graphics object.
      *
@@ -143,14 +147,14 @@
 		var bX:Number = !isNaN(x) ? x + rc.left : rc.left;
 		var bY:Number = !isNaN(y) ? y + rc.top : rc.top;

-        matrix.createGradientBox(w, rc.height,
+        commonMatrix.createGradientBox(w, rc.height,
 								!isNaN(mx_internal::_angle) ?
 									mx_internal::_angle : mx_internal::rotationInRadians,
 								 bX, bY);

 		g.lineGradientStyle(GradientType.LINEAR, mx_internal::colors,
                             mx_internal::alphas, mx_internal::ratios,
-                            matrix, spreadMethod,
+                            commonMatrix, spreadMethod,
                             interpolationMethod);
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12189
Author:   gruehle@adobe.com
Date:     2009-11-24T22:57:05.760474Z

Log Message:
-----------
Add a comment to UIComponent.stateChanged() to clarify that pseudo selectors are only supported on selector subjects.

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

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -10191,6 +10191,10 @@
      */
     protected function stateChanged(oldState:String, newState:String, recursive:Boolean):void
     {
+        // This test only checks for pseudo conditions on the subject of the selector.
+        // Pseudo conditions on ancestor selectors are not detected - eg:
+        //    List ScrollBar:inactive #track
+        // The track styles will not change when the scrollbar is in the inactive state.
         if (currentCSSState && oldState != newState &&
                (styleManager.hasPseudoCondition(oldState) ||
                 styleManager.hasPseudoCondition(newState)))


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/states/IOverride.as
+++ frameworks/projects/framework/src/mx/states/IOverride.as
@@ -0,0 +1,63 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.states
+{
+
+import mx.core.UIComponent;
+
+/**
+ *  The IOverride interface is used for view state overrides.
+ *  All entries in the State class overrides
+ *  property array must implement this interface.
+ *
+ *  @see mx.states.State
+ */
+public interface IOverride
+{
+	/**
+	 *  Initializes the override.
+	 *  Flex calls this method before the first call to the
+	 *  apply() method, so you put one-time initialization
+	 *  code for the override in this method.
+ 	 *
+	 *
Flex calls this method automatically when the state is entered.
+	 *  It should not be called directly.

+    */
+    function initialize():void
+
+	/**
+	 *  Applies the override. Flex retains the original value, so that it can
+	 *  restore the value later in the remove() method.
+	 *
+	 *
This method is called automatically when the state is entered.
+	 *  It should not be called directly.

+	 *
+	 *  @param parent The parent of the state object containing this override.
+	 *  The override should use this as its target if an explicit target was
+	 *  not specified.
+	 */
+	function apply(parent:UIComponent):void;
+
+	/**
+	 *  Removes the override. The value remembered in the apply()
+	 *  method is restored.
+	 *
+	 *
This method is called automatically when the state is entered.
+	 *  It should not be called directly.

+	 *
+	 *  @param parent The parent of the state object containing this override.
+	 *  The override should use this as its target if an explicit target was
+	 *  not specified.
+	 */
+	function remove(parent:UIComponent):void;
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 8031
Author:   egeorgie@adobe.com
Date:     2009-06-20T01:10:03.288554Z

Log Message:
-----------
Scrub the TODOs in the framework, convert to FIXMEs in the new convention and assigning an owner.

Doc Notes: N/A
Bugs: N/A
Reviewer: Deepa
tests: build, checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.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/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Timeline.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.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/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ModifiedCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ErrorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.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/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/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/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.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/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/StreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RemoveActionInstance.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/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.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/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.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/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>

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

--- frameworks/projects/framework/src/mx/utils/ObjectUtil.as
+++ frameworks/projects/framework/src/mx/utils/ObjectUtil.as
@@ -971,7 +971,7 @@
             }
         }

-        //TODO this seems slightly fragile, why not use the 'is' operator?
+        // FIXME (pfarland): this seems slightly fragile, why not use the 'is' operator?
         var isArray:Boolean = (className == "Array");
         var isDict:Boolean  = (className == "flash.utils::Dictionary");


Transferred from the Adobe Open Source Subversion Repository

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

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

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

checkintests: pass

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

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

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

--- frameworks/projects/rpc/src/mx/messaging/MessageAgent.as
+++ frameworks/projects/rpc/src/mx/messaging/MessageAgent.as
@@ -854,6 +854,11 @@
      *  as specified in the server configuration. For example, if several DataService components
      *  are connected over an RTMP channel and logout() is invoked on one of them,
      *  all other client components that are connected using the same ChannelSet are also logged out.
+     *
+     *
Note: Adobe recommends that you use the mx.messaging.ChannelSet.logout() method
+     *  rather than this method.

+     *
+     *  @see mx.messaging.ChannelSet#logout()
      */
     public function logout():void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8481
Author:   smgilson@adobe.com
Date:     2009-07-09T17:28:31.741329Z

Log Message:
-----------
First of several checkins to update the namespace in ASDoc MXML syntax descriptions for Spark components

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/HGroup.as
+++ frameworks/projects/spark/src/spark/components/HGroup.as
@@ -30,7 +30,7 @@
  *  attributes of its superclass and adds the following tag attributes:

  *
  *

- *  <HGroup
+ *  <s:HGroup
  *    Properties
  *    columnWidth="no default"
  *    gap="6"


Transferred from the Adobe Open Source Subversion Repository

Revision: 3697
Author:   jszeto@adobe.com
Date:     2008-10-16T21:39:42.548290Z

Log Message:
-----------
Fix masking for Group. Forgot to checkin the base class.

SDK-17365 Masking broken for Group

Moved the call to super.commitProperties to occur after we initialize our items. When we do the init, we remove all of the display objects and then reattach them. Because this was called after we added the mask, the mask was getting removed.

Bug: SDK-17365
QA: yes
Doc: No
Review: Evtim

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -675,7 +675,7 @@
     //  mask
     //----------------------------------
     private var _mask:DisplayObject;
-    private var maskChanged:Boolean;
+    mx_internal var maskChanged:Boolean;

     [Inspectable(category="General")]
     /**
@@ -698,9 +698,7 @@
         {
             _mask = value;
             maskChanged = true;
-            invalidateProperties();
-            //addDrawnElements();
-
+            invalidateProperties();
         }
         super.mask = value;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3509
Author:   jimurphy@adobe.com
Date:     2008-10-07T18:19:17.646255Z

Log Message:
-----------
Rename of flex -> mx.

For compatibility reasons it was decided that the new functionality remain integrated with the old framework, although we will continue to build two separate SWCs, one with primarily existing framework classes, and one with new Flex 4 classes. This change removes duplicate names from the Flex 4 framework to avoid class name overlapping with the old framework code.  The naming overlap consists of two major areas:  New Components, and New Effects

Modified Paths:
--------------
386 paths were modified

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

--- frameworks/projects/spark/src/spark/effects/interpolation/IInterpolator.as
+++ frameworks/projects/spark/src/spark/effects/interpolation/IInterpolator.as
@@ -8,7 +8,7 @@
 //  in accordance with the terms of the license agreement accompanying it.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package flex.effects.interpolation
+package mx.effects.interpolation
 {
 /**
  * The Interpolator interface is used by classes that calculate


Transferred from the Adobe Open Source Subversion Repository

Revision: 16064
Author:   chaase@adobe.com
Date:     2010-05-12T15:37:49.345162Z

Log Message:
-----------
Initial checkin of "true autoReverse" feature. This feature adds no new API, but does add new behavior to the existing autoReverse property on Transition. Now, if autoReverse="true", any transition declared from/to the opposite states of the currently-requested state change can be used as a transition for this state change, played in reverse. This essentially means that you can author a single reverse for a forward direction and have the system play that transition in reverse for the opposite direction. Previously, you needed to author both directions, and take care to make them symmetric, in order to get them to play correctly when reversing in the middle. Note that if you author a *-to-* Transition (any to any), the new reversing behavior does nothing for you, because there is no way for the system to detect the forward (and thus the reverse) direction, so that transition will always play in the declared direction.
The main functionality needed to get this working was bolstering the currentSupport for playReversedFromEnd that already existed in Effect (along with the playReversed functionality in effect instances). There was also some timing engine details in Animation to make it work correctly, especially with startDelay.
Some work was done to make Fade work correctly when playing in reverse, though there is still a problem with some of the auto-fade functionality (fading items because of visible/parent changes between states) when the Fade effect has a startDelay.

QE notes: Tested on existing effects tests to make sure new behavior didn't break anything. But need new tests specifically around this new behavior.
Doc notes: Added new docs to Transition.autoReverse to describe the new behavior
Bugs: None
Reviewer: Corey
Tests run: checkintests, Mustella spark/effects, mx/effects
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/Transition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ParallelInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/FadeInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/FadeInstance.as
@@ -13,6 +13,7 @@
 {
 import flash.events.Event;

+import mx.core.mx_internal;
 import mx.effects.effectClasses.PropertyChanges;
 import mx.events.FlexEvent;
 import mx.managers.LayoutManager;
@@ -23,6 +24,8 @@
 import spark.effects.animation.MotionPath;
 import spark.effects.animation.SimpleMotionPath;
 import spark.primitives.supportClasses.GraphicElement;
+
+use namespace mx_internal;

 /**
  *  The FadeInstance class implements the instance class
@@ -131,13 +134,15 @@
             {
                 var fadeIn:Boolean = (visibleChange && propertyChanges.end["visible"]) ||
                     (parentChange && propertyChanges.end["parent"]);
+                if (playReversed)
+                    fadeIn = !fadeIn;
                 if (fadeIn)
                 {
                     if (isNaN(alphaFrom))
-                        alphaFrom = 0;
+                        alphaFrom = !(playReversed) ? 0 : toValue;
                     if (alphaFrom == 0)
                         target.alpha = 0;
-                    alphaTo = toValue;
+                    alphaTo = !playReversed ? toValue : 0;
                     if ("visible" in target)
                         target.visible = true;
                 }
@@ -209,13 +214,25 @@
                     {
                         target.percentHeight = propertyChanges.start["percentHeight"];
                     }
-                    alphaTo = 0;
                     restoreAlpha = true;
                     origAlpha = propertyChanges.end["alpha"] !== undefined ?
                         propertyChanges.end["alpha"] :
                         target.alpha;
                     if (visibleChange)
                         makeInvisible = true;
+                    if (!playReversed)
+                    {
+                        alphaTo = 0;
+                    }
+                    else
+                    {
+                        if (isNaN(alphaFrom))
+                        {
+                            target.alpha = 0;
+                            alphaFrom = 0;
+                        }
+                        alphaTo = 1;
+                    }
                 }
             }
         }
@@ -233,6 +250,7 @@
                 target.visible = true;
             }
         }
+
         motionPaths = new <MotionPath>[new MotionPath("alpha")];
         motionPaths[0].keyframes = new <Keyframe>[new Keyframe(0, alphaFrom),
             new Keyframe(duration, alphaTo)];


Transferred from the Adobe Open Source Subversion Repository

Revision: 14443
Author:   sameer@adobe.com
Date:     2010-02-26T06:59:48.156260Z

Log Message:
-----------
Merge AdvancedDataGrid mirroring changes from 4.x branch to trunk - revision 14442

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

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

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

--- frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
+++ frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
@@ -5522,17 +5522,24 @@
             return;
         }

+		// Global coordinates.
         var deltaX:Number = event.stageX - startX;

+		// If the mouse pointer over the right (layoutDirection=”ltr”) or
+		// left (layoutDirection=”rtl”) half of the column, the drop indicator
+		// should be shown before the next column.
+		var deltaXInLocalCoordinates:Number =
+			(layoutDirection == "ltr" ? +deltaX : -deltaX);
+
         // Move header selection.
         s = Sprite(selectionLayer.getChildByName("headerSelection"));
         if (s)
-            s.x += deltaX;
+            s.x += deltaXInLocalCoordinates;

         // Move header proxy.
         item = IListItemRenderer(listContent.getChildByName("headerDragProxy"));
         if (item)
-            item.move(item.x + deltaX, item.y);
+            item.move(item.x + deltaXInLocalCoordinates, item.y);

         startX += deltaX;

@@ -5576,8 +5583,8 @@
                 dropIndexFound = true;
                 isHeaderDragOutside = false;

-                // If the mouse pointer over the right half of the column, the
-                // drop indicator should be shown before the next column.
+                // If the mouse pointer over the right (ltr) or left (rtl) half
+				// of the column, the drop indicator should be shown before the next column.
                 if (pt.x > (columnXPos + headerInfo.column.width/2) ||
                     //Column groups which are partially visible should
                     //show drag indicator at the right end only
@@ -8050,14 +8057,18 @@
         if (headerIndex == -1)
             return;

-        var newColumnIndex:int;
-
-        if (event.keyCode == Keyboard.DOWN)
+		// If rtl layout, need to swap LEFT and RIGHT so correct action
+		// is done.
+		var keyCode:uint = mapKeycodeForLayoutDirection(event);
+
+		var newColumnIndex:int;
+
+        if (keyCode == Keyboard.DOWN)
         {
             unselectColumnHeader(headerIndex, true);
             headerIndex = -1;
         }
-        else if (event.keyCode == Keyboard.LEFT)
+        else if (keyCode == Keyboard.LEFT)
         {
             newColumnIndex = viewDisplayableColumnAtOffset(headerIndex, -1);
             if (newColumnIndex != -1)
@@ -8069,7 +8080,7 @@
                 selectColumnHeader(headerIndex);
             }
         }
-        else if (event.keyCode == Keyboard.RIGHT)
+        else if (keyCode == Keyboard.RIGHT)
         {
             newColumnIndex = viewDisplayableColumnAtOffset(headerIndex, +1);
             if (newColumnIndex != -1)
@@ -8080,7 +8091,7 @@
                 selectColumnHeader(headerIndex);
             }
         }
-        else if (event.keyCode == Keyboard.SPACE)
+        else if (keyCode == Keyboard.SPACE)
         {
             if (sortableColumns && columns[headerIndex].sortable)
             {
@@ -8101,10 +8112,10 @@
         }
         // horizontal scrolling when focus is on header
         else if ( event.shiftKey
-                  && (event.keyCode == Keyboard.PAGE_UP
-                      || event.keyCode == Keyboard.PAGE_DOWN) )
-        {
-            moveSelectionHorizontally(event.keyCode, event.shiftKey, event.ctrlKey);
+                  && (keyCode == Keyboard.PAGE_UP
+                      || keyCode == Keyboard.PAGE_DOWN) )
+        {
+            moveSelectionHorizontally(keyCode, event.shiftKey, event.ctrlKey);
         }

         event.stopPropagation();