Transferred from the Adobe Open Source Subversion Repository

Revision: 17360
Author:   chiedozi@adobe.com
Date:     2010-08-18T00:07:57.520197Z

Log Message:
-----------
ViewNavigator now executes navigation operations a frame later to allow renderers to properly redraw themselves before creating a view (SDK-27068).
Refactored some of the session persistence logic out of the application classes into ViewNavigatorBase.
The label, icon and activeView properties now exist on ViewNavigatorBase

QE notes:
Doc notes:
Bugs: SDK-27068
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as
@@ -167,6 +167,21 @@
     // Properties
     //
     //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  activeView
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    override public function get activeView():View
+    {
+        if (activeNavigator)
+            return activeNavigator.activeView;
+
+        return null;
+    }

     //----------------------------------
     //  activeNavigator
@@ -188,11 +203,23 @@
     }

     //----------------------------------
+    //  canCancelBackKeyBehavior
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    override public function get canCancelBackKeyBehavior():Boolean
+    {
+        return  activeNavigator && activeNavigator.canCancelBackKeyBehavior;
+    }
+
+    //----------------------------------
     //  landscapeOrientation
     //----------------------------------

     /**
-     *  @inheritDoc
+     *  @private
      */
     override public function set landscapeOrientation(value:Boolean):void
     {
@@ -219,22 +246,18 @@
     {
         return _navigators;
     }
+
     /**
      *  @private
      */
     public function set navigators(value:Vector.<ViewNavigatorBase>):void
     {
-        // FIXME (chiedozi): Should only add listeners to active view
         var i:int;

         if (_navigators)
         {
             for (i = 0; i < _navigators.length; ++i)
-            {
                 _navigators[i].parentNavigator = null;
-                _navigators[i].removeEventListener(ElementExistenceEvent.ELEMENT_ADD, navigator_elementAddHandler);
-                _navigators[i].removeEventListener(ElementExistenceEvent.ELEMENT_REMOVE, navigator_elementRemoveHandler);
-            }
         }

         _navigators = value;
@@ -242,11 +265,7 @@
         if (value)
         {
             for (i = 0; i < value.length; ++i)
-            {
                 _navigators[i].parentNavigator = this;
-                _navigators[i].addEventListener(ElementExistenceEvent.ELEMENT_ADD, navigator_elementAddHandler);
-                _navigators[i].addEventListener(ElementExistenceEvent.ELEMENT_REMOVE, navigator_elementRemoveHandler);
-            }

             selectedIndex = 0;
         }
@@ -261,7 +280,10 @@
     //--------------------------------------------------------------------------

     /**
-     *
+     *  Hides the tab bar of the navigator.
+     *
+     *  @param animate Flag indicating whether a hide effect should play.  True by default.
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10.1
      *  @playerversion AIR 2.5
@@ -282,7 +304,10 @@
     }

     /**
+     *  Shows the tab bar of the navigtor
      *
+     *  @param animate Flag indicating whether a hide effect should play.  True by default.
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10.1
      *  @playerversion AIR 2.5
@@ -330,15 +355,13 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     *  @private
+     */
     override public function backKeyHandler():void
     {
         if (activeNavigator)
             activeNavigator.backKeyHandler();
-    }
-
-    override public function canCancelDefaultBackKeyBehavior():Boolean
-    {
-        return  activeNavigator && activeNavigator.canCancelDefaultBackKeyBehavior();
     }

     /**
@@ -420,20 +443,31 @@
         // of the active view.
         if (selectedNavigatorChanged)
         {
+            var navigator:ViewNavigatorBase;
+
             if (_selectedIndex != -1)
             {
-                activeNavigator.active = false;
-                removeElement(_navigators[_selectedIndex]);
+                navigator = navigators[_selectedIndex];
+                navigator.active = false;
+                removeElement(navigator);
+
+                navigator.removeEventListener(ElementExistenceEvent.ELEMENT_ADD, navigator_elementAddHandler);
+                navigator.removeEventListener(ElementExistenceEvent.ELEMENT_REMOVE, navigator_elementRemoveHandler);
             }

             commitSelection();

             if (_selectedIndex > -1)
             {
-                activeNavigator.active = true;
-                activeNavigator.landscapeOrientation = landscapeOrientation;
-                addElement(_navigators[_selectedIndex]);
-                UIComponent(activeNavigator).invalidateProperties();
+                navigator = navigators[_selectedIndex];
+                navigator.active = true;
+                navigator.landscapeOrientation = landscapeOrientation;
+
+                addElement(navigator);
+                navigator.addEventListener(ElementExistenceEvent.ELEMENT_ADD, navigator_elementAddHandler);
+                navigator.addEventListener(ElementExistenceEvent.ELEMENT_REMOVE, navigator_elementRemoveHandler);
+
+                UIComponent(navigator).invalidateProperties();
             }

             selectedNavigatorChanged = false;
@@ -459,20 +493,12 @@
         if (hasEventListener(FlexEvent.VALUE_COMMIT))
             dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));

-        var currentSection:NavigationStack = null;
+        var currentStack:NavigationStack = null;
         if (_selectedIndex > -1)
-            currentSection = navigators[_selectedIndex].navigationStack;
+            currentStack = navigators[_selectedIndex].navigationStack;

         // FIXME (chiedozi): When a selection changes, old navigator should
         // destory its current view
-
-        // Check if we need to push the root view
-        if (currentSection && currentSection.length == 0 && currentSection.firstView != null)
-        {
-            currentSection.push(currentSection.firstView, currentSection.firstViewData);
-            ViewNavigator(activeNavigator).invalidateProperties();
-            ViewNavigator(activeNavigator).viewChangeRequested = true;
-        }
     }

     /**
@@ -624,6 +650,54 @@

     /**
      *  @private
+     */
+    override public function restoreViewData(value:Object):void
+    {
+        var savedStacks:Vector.<Object>;
+        var savedSelectedIndex:Number = value.selectedIndex as Number;
+
+        // By the time this method is called, all skin parts should be
+        // added to the component meaning that it is okay to directly
+        // manipulate the child navigators.
+        if (!isNaN(savedSelectedIndex) && savedSelectedIndex < length)
+            selectedIndex = savedSelectedIndex;
+
+        savedStacks = value.childrenStates as Vector.<Object>;
+
+        if (savedStacks)
+        {
+            var len:Number = Math.min(savedStacks.length, length);
+            for (var i:int = 0; i < len; ++i)
+                navigators[i].restoreViewData(savedStacks[i]);
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override public function saveViewData():Object
+    {
+        var savedData:Object = super.saveViewData();
+
+        if (navigators)
+        {
+            var childrenStates:Vector.<Object> = new Vector.<Object>();
+
+            for (var i:int = 0; i < navigators.length; ++i)
+                childrenStates.push(navigators[i].saveViewData());
+
+            if (!savedData)
+                savedData = {};
+
+            savedData.selectedIndex = selectedIndex;
+            savedData.childrenStates = childrenStates;
+        }
+
+        return savedData;
+    }
+
+    /**
+     *  @private
      *
      *  @langversion 3.0
      *  @playerversion Flash 10.1
@@ -700,7 +774,7 @@
     [Bindable("change")]
     [Bindable("valueCommit")]
     /**
-     *  @inheritDoc
+     *  @private
      */
     public function get selectedIndex():int
     {
@@ -709,9 +783,11 @@

         return _selectedIndex;
     }
+
     /**
      * @private
      */
+    // TODO (chiedozi): Follow ListBase setSelectedIndex pattern
     public function set selectedIndex(value:int):void
     {
         var cancelIndexChange:Boolean = false;
@@ -730,22 +806,25 @@
 //        if (activeView && !canRemoveCurrentView())
 //            cancelIndexChange = true;

-        if (hasEventListener(IndexChangeEvent.CHANGING))
-        {
-            var e:IndexChangeEvent = new IndexChangeEvent(IndexChangeEvent.CHANGING, false, true);
-            e.oldIndex = _selectedIndex;
-            e.newIndex = value;
-
-            if (!dispatchEvent(e))
-                cancelIndexChange = true;
-        }
-
-        // If the active view's REMOVING event or the navigator's
-        // CHANGING event was canceled, prevent the index change
-        if (cancelIndexChange)
-        {
-            _proposedSelectedIndex = NO_PROPOSED_SELECTION;
-            return;
+        if (initialized)
+        {
+            if (hasEventListener(IndexChangeEvent.CHANGING))
+            {
+                var e:IndexChangeEvent = new IndexChangeEvent(IndexChangeEvent.CHANGING, false, true);
+                e.oldIndex = _selectedIndex;
+                e.newIndex = value;
+
+                if (!dispatchEvent(e))
+                    cancelIndexChange = true;
+            }
+
+            // If the active view's REMOVING event or the navigator's
+            // CHANGING event was canceled, prevent the index change
+            if (cancelIndexChange)
+            {
+                _proposedSelectedIndex = NO_PROPOSED_SELECTION;
+                return;
+            }
         }

         _proposedSelectedIndex = value;
@@ -759,7 +838,7 @@
     //----------------------------------

     /**
-     *  @inheritDoc
+     *  @private
      */
     public function get length():int
     {
@@ -770,7 +849,7 @@
     }

     /**
-     *  @inheritDoc
+     *  @private
      */
     public function addItem(item:Object):void
     {
@@ -784,7 +863,7 @@
     }

     /**
-     *  @inheritDoc
+     *  @private
      */
     public function addItemAt(item:Object, index:int):void
     {
@@ -804,7 +883,7 @@
     }

     /**
-     *  @inheritDoc
+     *  @private
      */
     public function getItemAt(index:int, prefetch:int = 0):Object
     {
@@ -819,7 +898,7 @@
     }

     /**
-     *  @inheritDoc
+     *  @private
      */
     public function getItemIndex(item:Object):int
     {
@@ -838,7 +917,7 @@
     }

     /**
-     *  @inheritDoc
+     *  @private
      */
     public function removeAll():void
     {
@@ -847,7 +926,7 @@
     }

     /**
-     *  @inheritDoc
+     *  @private
      */
     public function removeItemAt(index:int):Object
     {
@@ -865,7 +944,7 @@
     }

     /**
-     *  @inheritDoc
+     *  @private
      */
     public function setItemAt(item:Object, index:int):Object
     {
@@ -899,7 +978,7 @@
     }

     /**
-     *  @inheritDoc
+     *  @private
      */
     public function toArray():Array
     {


Updated test runner to execute entire harness

--- src/LAMLRunner.as
+++ src/LAMLRunner.as
@@ -3,7 +3,6 @@

 	import laml.display.Component;
 	import laml.display.HBox;
-	import laml.display.SelectableButtonTest;
 	import laml.display.VBox;

 	public class LAMLRunner extends TestRunner {
@@ -19,7 +18,7 @@
 			// This allows you to get visual confirmation while developing
 			// visual entities
 //			start(AllTests, null, TestRunner.SHOW_TRACE);
-			start(SelectableButtonTest, "testCustomButtonGrayScale", TestRunner.SHOW_TRACE);
+			start(AllTests, null, TestRunner.SHOW_TRACE);
 		}
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19316
Author:   smgilson@adobe.com
Date:     2010-12-13T19:12:21.336750Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewReturnObject.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorAction.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewDescriptor.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorAction.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorAction.as
@@ -14,9 +14,11 @@
     /**
      *  The ViewNavigatorAction class defines the constant values
      *  for the action property of ViewNavigatorEvent class.
+     *
+     *  @see spark.events.ViewNavigatorEvent
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/collections/ICollectionView.as
+++ frameworks/projects/framework/src/mx/collections/ICollectionView.as
@@ -19,6 +19,11 @@
  *  Dispatched when the ICollectionView has been updated in some way.
  *
  *  @eventType mx.events.CollectionEvent.COLLECTION_CHANGE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="collectionChange", type="mx.events.CollectionEvent")]

@@ -43,6 +48,11 @@
  *  @see mx.collections.IViewCursor
  *  @see mx.collections.errors.ItemPendingError
  *  @see mx.collections.IList
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public interface ICollectionView extends IEventDispatcher
 {
@@ -59,6 +69,11 @@
     /**
      *  The number of items in this view.
 	 *  0 means no items, while -1 means that the length is unknown.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get length():int;

@@ -87,6 +102,11 @@
 	 *  you retrieve the data.

 	 *
      *  @see #refresh()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get filterFunction():Function;

@@ -113,6 +133,11 @@
 	 *  collection before you retrieve the data.

 	 *
      *  @see #refresh()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get sort():Sort;

@@ -132,6 +157,11 @@
      *
      *  @return A new IViewCursor implementation.
      *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function createCursor():IViewCursor;

@@ -148,6 +178,11 @@
 	 *
      *  @return true if the ICollectionView, after applying any filter,
      *  contains the item; false otherwise.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function contains(item:Object):Boolean;

@@ -166,6 +201,11 @@
 	 *  Note that disableAutoUpdate only affects the
      *  individual view; edits may be detected on an individual
 	 *  basis by other views.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function disableAutoUpdate():void;

@@ -174,6 +214,11 @@
 	 *  See disableAutoUpdate for more information.
 	 *
      *  @see #disableAutoUpdate()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function enableAutoUpdate():void;

@@ -199,6 +244,11 @@
      *  @see mx.events.CollectionEvent
      *  @see mx.core.IPropertyChangeNotifier
      *  @see mx.events.PropertyChangeEvent
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function itemUpdated(item:Object, property:Object = null,
                          oldValue:Object = null, newValue:Object = null):void;
@@ -224,6 +274,11 @@
      *
      *  @return true if the refresh() was complete,
 	 *  false if the refresh() is incomplete.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function refresh():Boolean;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 21593
Author:   aharui@adobe.com
Date:     2011-07-16T04:39:08.938529Z

Log Message:
-----------
Optimize Advanced CSS selector lookup.  Selectors are sorted into categories as they are registered so we can do quick elimination of some categories of selectors.

QE notes: New API in IAdvancedStyleClient
Doc notes: New API in IAdvancedStyleClient
Bugs: SDK-29880
Reviewer: Peter F
Tests run: Mustella Cyclone
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/StyleProxy.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/IStyleManager2.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>

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

--- frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as
+++ frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as
@@ -127,6 +127,27 @@
      *  @productversion Flex 4
      */
     function matchesCSSType(cssType:String):Boolean;
+
+
+    /**
+     *  Returns true if currentCSSState is not null.
+     *  Typically, you do not call this method directly.
+     *  It is called by the mx.styles.CSSCondition.matchesStyleClient() method.
+     *
+     *
Note Spark components use their skin state as the pseudo state.
+     *  Halo components use the currentState property.

+     *
+     *  @return true if currentCSSState is not null.
+     *  By default, currentCSSState is the same as currentState.
+     *  If no state exists, return false.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.6
+     */
+    function hasCSSState():Boolean;
+
 }

 }


Fixed compile errors resulting from last commit's rename. Kids, always compile and run tests before committing, even for small changes.

--- as3/test/asunit4/framework/TestIteratorOrderedTestMethodTest.as
+++ as3/test/asunit4/framework/TestIteratorOrderedTestMethodTest.as
@@ -29,12 +29,12 @@

 			assertEquals(4, theTestMethods.length);
 			assertEquals(theTestMethods[0].name, 'negativeOrderIsAllowed');
-			assertEquals(theTestMethods[1].name, 'orderZeroByDefault');
+			assertEquals(theTestMethods[1].name, 'zeroIsDefaultOrder');
 			assertEquals(theTestMethods[2].name, 'two');
 			assertEquals(theTestMethods[3].name, 'three');

 			assertEquals(orderedTest.negativeOrderIsAllowed, 	theTestMethods[0].value);
-			assertEquals(orderedTest.orderZeroByDefault,		theTestMethods[1].value);
+			assertEquals(orderedTest.zeroIsDefaultOrder,		theTestMethods[1].value);
 			assertEquals(orderedTest.two, 						theTestMethods[2].value);
 			assertEquals(orderedTest.three, 					theTestMethods[3].value);
 		}
@@ -46,7 +46,7 @@

 		private function checkAllNextCalls(iterator:TestIterator):void {
 			assertSame('negativeOrderIsAllowed',	iterator.next().name);
-			assertSame('orderZeroByDefault', 		iterator.next().name);
+			assertSame('zeroIsDefaultOrder', 		iterator.next().name);
 			assertSame('two', 						iterator.next().name);
 			assertSame('three', 					iterator.next().name);


Fix - eat blank lines

Fix - eat blank lines

--- src/com/google/analytics/GATracker.as
+++ src/com/google/analytics/GATracker.as
@@ -44,29 +44,6 @@
     import flash.events.Event;
     import flash.events.EventDispatcher;

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
     /* force import for type in the includes */
     EventTracker;
     ServerOperationMode;


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

--- frameworks/projects/advancedgrids/src/mx/events/AdvancedDataGridEvent.as
+++ frameworks/projects/advancedgrids/src/mx/events/AdvancedDataGridEvent.as
@@ -0,0 +1,1041 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.events
+{
+
+import flash.events.Event;
+
+import mx.controls.listClasses.IListItemRenderer;
+import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
+
+/**
+ *   The AdvancedDataGridEvent class represents event objects that are specific to
+ *   the AdvancedDataGrid control, such as the event that is dispatched when an
+ *   editable grid item gets the focus.
+ *
+ *  @see mx.controls.AdvancedDataGrid
+ *  @see mx.events.AdvancedDataGridEventReason
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class AdvancedDataGridEvent extends Event
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The AdvancedDataGridEvent.ITEM_CLOSE event type constant indicates that a AdvancedDataGrid
+     *  branch closed or collapsed.
+     *
+     *
The properties of the event object for this event type have the
+     *  following values.
+     *  Not all properties are meaningful for all kinds of events.
+     *  See the detailed property descriptions for more information.

+     *
+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
dataField	The name of the field or property in the data associated with the column.

+     *
item	The AdvancedDataGrid item (node) that closed.

+     *
itemRenderer
+     *         The ListItemRenderer for the node that closed.

+     *
localX	NaN

+     *
multiColumnSort 	false

+     *
removeColumnFromSort	false

+     *
rowIndex	-1

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
triggerEvent
+     *         If the node closed in response to a user action,
+     *             identifies it as a keyboard action or a mouse action.

+     *
type	AdvancedDataGridEvent.ITEM_CLOSE

+     *

+     *
+     *  @eventType itemClose
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const ITEM_CLOSE:String = "itemClose";
+
+    /**
+     *  The AdvancedDataGridEvent.ITEM_EDIT_BEGIN constant defines the value of the
+     *  type property of the event object for a
+     *  itemEditBegin event, which indicates that an
+     *  item is ready to be edited.
+     *
+     *
The default listener for this event performs the following actions:

+     *
+     *

+     *
Creates an item editor object by using a call to the
+     *    createItemEditor() method.

+     *
Copies the data property
+     *    from the item to the editor. By default, the item editor object is an instance
+     *    of the TextInput control. You use the itemEditor property of the
+     *    list control to specify a custom item editor class.

+     *
+     *
Sets the itemEditorInstance property of the list control
+     *    to reference the item editor instance.

+     *

+     *
+     *
You can write an event listener for this event to modify the data passed to
+     *  the item editor. For example, you might modify the data, its format, or other information
+     *  used by the item editor.

+     *
+     *
You can also create an event listener to specify the item editor used to
+     *  edit the item. For example, you might have two different item editors.
+     *  Within the event listener, you can examine the data to be edited or
+     *  other information, and open the appropriate item editor by doing the following:

+     *
+     *

+     *
Call preventDefault() to stop Flex from calling
+     *         the createItemEditor() method as part
+     *         of the default event listener.

+     *
Set the itemEditor property to the appropriate editor.

+     *
Call the createItemEditor() method.

+     *

+     *
+     *
The properties of the event object have the following values:

+     *
+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

+     *
columnIndex	 The zero-based index of the
+     *       item's column in the AdvancedDataGrid object's columns array.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
dataField	null

+     *
item	The AdvancedDataGrid item (node).

+     *
itemRenderer	The item renderer for the item
+     *       that is being edited.

+     *
localX	NaN

+     *
multiColumnSort 	false

+     *
reason	null

+     *
removeColumnFromSort	false

+     *
rowIndex	The zero-based index of the
+     *       item in the data provider.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
triggerEvent
+     *         If the node closed in response to a user action,
+     *             identifies it as a keyboard action or a mouse action.

+     *
type	AdvancedDataGridEvent.ITEM_EDIT_BEGIN

+     *

+     *
+     *  @eventType itemEditBegin
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const ITEM_EDIT_BEGIN:String = "itemEditBegin";
+
+    /**
+     *  The AdvancedDataGridEvent.ITEM_EDIT_END constant defines the value of the
+     *  type property of the event object for a
+     *  itemEditEnd event, which indicates that an edit
+     *  session is ending.
+     *
+     *
The list components have a default handler for this event that copies the data
+     *  from the item editor to the data provider of the list control.
+     *  The default event listener performs the following actions:

+     *
+     *

+     *
Uses the editorDataField property of the AdvancedDataGridColumn
+     *    associated with this event to
+     *    determine the property of the item editor containing the new data and updates
+     *    the data provider item with that new data.
+     *    Since the default item editor is the TextInput control, the default value of the
+     *    editorDataField property
+     *    is "text", to specify that the text property of the
+     *    TextInput contains the new item data.

+     *
+     *
Calls the destroyItemEditor() method to close the item editor.

+     *

+     *
+     *
You typically write an event listener for this event to perform the following actions:

+     *

+     *
In your event listener, you can modify the data returned by the editor
+     *    to the list component. For example, you can reformat the data before returning
+     *    it to the list control. By default, an item editor can only return a single value.
+     *    You must write an event listener for the itemEditEnd event
+     *    if you want to return multiple values.

+     *
+     *
In your event listener, you can examine the data entered into the item editor.
+     *    If the data is incorrect, you can call the preventDefault() method
+     *    to stop Flex from passing the new data back to the list control and from closing
+     *    the editor.

+     *

+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

+     *
columnIndex	 The zero-based index of the
+     *       item's column in the AdvancedDataGrid object's columns array.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
dataField	The name of the field or property in the
+     *       data associated with the item's column.

+     *
item	The AdvancedDataGrid item (node) that closed.

+     *
itemRenderer	The item renderer for the item
+     *       that is being edited.

+     *
localX	NaN

+     *
multiColumnSort 	false

+     *
reason	A constant defining the reason for the event.
+     *       The value must be a member of the AdvancedDataGridEventReason class.

+     *
removeColumnFromSort	false

+     *
rowIndex	The zero-based index of the
+     *       item in the data provider.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
triggerEvent
+     *         If the node closed in response to a user action,
+     *             identifies it as a keyboard action or a mouse action.

+     *
type	AdvancedDataGridEvent.ITEM_EDIT_END

+     *

+     *
+     *  @eventType itemEditEnd
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const ITEM_EDIT_END:String = "itemEditEnd"
+
+    /**
+     *  The AdvancedDataGridEvent.ITEM_FOCUS_IN constant defines the value of the
+     *  type property of the event object for a
+     *  itemFocusIn event, which indicates that an
+     *  item has received the focus.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
columnIndex	 The zero-based index of the
+     *       item's column in the AdvancedDataGrid object's columns array.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
dataField	null

+     *
item	The AdvancedDataGrid item (node) that closed.

+     *
itemRenderer	The item editor instance for the item
+     *       that is being edited.

+     *
localX	NaN

+     *
multiColumnSort 	false

+     *
reason	null

+     *
removeColumnFromSort	false

+     *
rowIndex	The zero-based index of the
+     *       item in the data provider.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
triggerEvent
+     *         If the node closed in response to a user action,
+     *             identifies it as a keyboard action or a mouse action.

+     *
type	AdvancedDataGridEvent.ITEM_FOCUS_IN

+     *

+     *
+     *  @eventType itemFocusIn
+    *
+    *  @langversion 3.0
+    *  @playerversion Flash 9
+    *  @playerversion AIR 1.1
+    *  @productversion Flex 3
+    */
+    public static const ITEM_FOCUS_IN:String = "itemFocusIn";
+
+    /**
+     *  The AdvancedDataGridEvent.ITEM_FOCUS_OUT constant defines the value of the
+     *  type property of the event object for a
+     *  itemFocusOut event, which indicates that an
+     *  item has lost the focus.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
columnIndex	 The zero-based index of the
+     *       item's column in the AdvancedDataGrid object's columns array.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
dataField	null

+     *
item	The AdvancedDataGrid item (node) that closed.

+     *
itemRenderer	The item editor instance for the item
+     *       that is being edited.

+     *
localX	NaN

+     *
multiColumnSort 	false

+     *
reason	null

+     *
removeColumnFromSort	false

+     *
rowIndex	The zero-based index of the
+     *       item in the data provider.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
triggerEvent
+     *         If the node closed in response to a user action,
+     *             identifies it as a keyboard action or a mouse action.

+     *
type	AdvancedDataGridEvent.ITEM_FOCUS_OUT

+     *

+     *
+     *  @eventType itemFocusOut
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const ITEM_FOCUS_OUT:String = "itemFocusOut";
+
+    /**
+     *  The AdvancedDataGridEvent.ITEM__EDIT_BEGINNING constant defines the value of the
+     *  type property of the event object for a
+     *  itemEditBeginning event, which indicates that the user has
+     *  prepared to edit an item, for example, by releasing the mouse button
+     *  over the item.
+     *
+     *
The default listener for this event sets the AdvancedDataGrid.editedItemPosition
+     *  property to the item that has focus, which starts the item editing session.

+     *
+     *
You typically write your own event listener for this event to
+     *  disallow editing of a specific item or items.
+     *  Calling the preventDefault() method from within your own
+     *  event listener for this event prevents the default listener from executing.

+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

+     *
columnIndex	 The zero-based index of the
+     *       item's column in the AdvancedDataGrid object's columns array.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
dataField	The name of the field or property in the
+     *       data associated with the item's column.

+     *
item	The AdvancedDataGrid item (node) that closed.

+     *
itemRenderer	The item renderer for the item
+     *       that will be edited. This property is null if this event is
+     *       generated by keyboard, as the item to be edited may be off-screen.

+     *
localX	NaN

+     *
multiColumnSort 	false

+     *
reason	null

+     *
removeColumnFromSort	false

+     *
rowIndex	The zero-based index of the
+     *       item in the data provider.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
triggerEvent
+     *         If the node closed in response to a user action,
+     *             identifies it as a keyboard action or a mouse action.

+     *
type	AdvancedDataGridEvent.ITEM_EDIT_BEGINNING

+     *

+     *
+     *  @eventType itemEditBeginning
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const ITEM_EDIT_BEGINNING:String = "itemEditBeginning";
+
+    /**
+     *  The AdvancedDataGridEvent.ITEM_OPEN event type constant indicates that an AdvancedDataGrid
+     *  branch opened or expanded.
+     *
+     *
The properties of the event object for this event type have the
+     *  following values.
+     *  Not all properties are meaningful for all kinds of events.
+     *  See the detailed property descriptions for more information.

+     *
+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
item	The AdvancedDataGrid node that opened.

+     *
itemRenderer
+     *         The ListItemRenderer for the item (node) that opened.

+     *
localX	NaN

+     *
multiColumnSort 	false

+     *
removeColumnFromSort	false

+     *
rowIndex	-1

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
triggerEvent
+     *         If the item (node) opened in response to a user action,
+     *             identifies it as a keyboard action or a mouse action.

+     *
type	AdvancedDataGridEvent.ITEM_OPEN

+     *

+     *
+     *  @eventType itemOpen
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const ITEM_OPEN:String = "itemOpen";
+
+    /**
+     *  The AdvancedDataGridEvent.ITEM_OPENING event type constant is dispatched immediately
+     *  before a AdvancedDataGrid opens or closes.
+     *
+     *
The properties of the event object for this event type have the
+     *  following values.
+     *  Not all properties are meaningful for all kinds of events.
+     *  See the detailed property descriptions for more information.

+     *
+     *

+     *
Property	Value

+     *
animate	Whether to animate the opening
+     *             or closing operation.

+     *
bubbles	false

+     *
cancelable	true

+     *
currentTarget	The Object that defines the
+     *              event listener that handles the event. For example, if you use
+     *              myButton.addEventListener() to register an event
+     *              listener, myButton is the value of the currentTarget.

+     *
dispatchEvent	Whether to dispatch an
+     *             ITEM_OPEN or ITEM_CLOSE event
+     *              after the open or close animation is complete. true

+     *
item	The AdvancedDataGrid node that opened.

+     *
itemRenderer
+     *         The ListItemRenderer for the item (node) that opened.

+     *
localX	NaN

+     *
multiColumnSort 	false

+     *
removeColumnFromSort	false

+     *
rowIndex	-1

+     *
opening	true if the item is opening, false
+     *             if it is closing.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
triggerEvent
+     *         If the item opened in response to a user action,
+     *             identifies it as a keyboard action or a mouse action.

+     *
type	AdvancedDataGridEvent.ITEM_OPENING

+     *

+     *
+     *  @eventType itemOpening
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const ITEM_OPENING:String = "itemOpening";
+
+    /**
+     *  The AdvancedDataGridEvent.COLUMN_STRETCH constant defines the value of the
+     *  type property of the event object for a
+     *  columnStretch event, which indicates that a
+     *  user expanded a column horizontally.
+     *
The properties of the event object have the following values:

+     *
+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
columnIndex	 The zero-based index of the
+     *       item's column in the AdvancedDataGrid object's columns array.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
dataField	The name of the field or property in the
+     *       data associated with the column.

+     *
item	The AdvancedDataGrid item (node) that closed.

+     *
itemRenderer	null

+     *
localX	The x position of the mouse.

+     *
multiColumnSort 	false

+     *
reason	null

+     *
removeColumnFromSort	false

+     *
rowIndex	The zero-based index of the
+     *       item in the data provider.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
triggerEvent
+     *         If the node closed in response to a user action,
+     *             identifies it as a keyboard action or a mouse action.

+     *
type	AdvancedDataGridEvent.COLUMN_STRETCH

+     *

+     *
+     *  @eventType columnStretch
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const COLUMN_STRETCH:String = "columnStretch";
+
+    /**
+     *  The AdvancedDataGridEvent.HEADER_DRAG_OUTSIDE constant defines the value of the
+     *  type property of the event object for a
+     *  headerDragOutside event, which indicates that the
+     *  user pressed and released the mouse on a column header.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

+     *
columnIndex	 The zero-based index of the
+     *       item's column in the AdvancedDataGrid object's columns array.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
dataField	The name of the field or property in the
+     *       data associated with the column.

+     *
itemRenderer	The header renderer that is
+     *       being released.

+     *
localX	NaN

+     *
reason	null

+     *
rowIndex	null

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
type	AdvancedDataGridEvent.HEADER_RELEASE

+     *

+     *
+     *  @eventType headerDragOutside
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const HEADER_DRAG_OUTSIDE:String = "headerDragOutside";
+
+    /**
+     *  The AdvancedDataGridEvent.HEADER_DROP_OUTSIDE constant defines the value of the
+     *  type property of the event object for a
+     *  headerDropOutside event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

+     *
columnIndex	 The zero-based index of the
+     *       item's column in the AdvancedDataGrid object's columns array.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
dataField	The name of the field or property in the
+     *       data associated with the column.

+     *
item	The AdvancedDataGrid item (node) that closed.

+     *
itemRenderer	The header renderer that is
+     *       being released.

+     *
localX	NaN

+     *
multiColumnSort 	false

+     *
reason	null

+     *
removeColumnFromSort	false

+     *
rowIndex	null

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
triggerEvent
+     *         If the node closed in response to a user action,
+     *             identifies it as a keyboard action or a mouse action.

+     *
type	AdvancedDataGridEvent.HEADER_RELEASE

+     *

+     *
+     *  @eventType headerDropOutside
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const HEADER_DROP_OUTSIDE:String = "headerDropOutside";
+
+    /**
+     *  The AdvancedDataGridEvent.HEADER_RELEASE constant defines the value of the
+     *  type property of the event object for a
+     *  headerRelease event, which indicates that the
+     *  user pressed and released the mouse on a column header.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

+     *
columnIndex	 The zero-based index of the
+     *       item's column in the AdvancedDataGrid object's columns array.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
dataField	The name of the field or property in the
+     *       data associated with the column.

+     *
item	The AdvancedDataGrid item (node) that closed.

+     *
itemRenderer	The header renderer that is
+     *       being released.

+     *
localX	NaN

+     *
multiColumnSort 	undefined - Use the sort event
+     *       if you want to sort on multiple columns.

+     *
reason	null

+     *
removeColumnFromSort	false

+     *
rowIndex	null

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
triggerEvent
+     *         If the node closed in response to a user action,
+     *             identifies it as a keyboard action or a mouse action.

+     *
type	AdvancedDataGridEvent.HEADER_RELEASE

+     *

+     *
+     *  @eventType headerRelease
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const HEADER_RELEASE:String = "headerRelease";
+
+    /**
+     *  The AdvancedDataGridEvent.SORT constant defines the value of the
+     *  type property of the event object for a
+     *  sort event.
+     *  The AdvancedDataGrid control performs sorting based on the value of the
+     *  dataField and multiColumnSort properties.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

+     *
columnIndex	 The zero-based index of the
+     *       item's column in the AdvancedDataGrid object's columns array.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
dataField	The name of the field or property in the
+     *       data associated with the column.

+     *
multiColumnSort 	If true,
+     *       indicates that the new dataField property
+     *       should be used along with whatever sorting
+     *       is already in use, resulting in a multicolumn sort.
+     *
+     *
If false, any sorting present should be removed,
+     *       and a fresh sorting should be done for the new dataField property.

+     *

+     *
removeColumnFromSort	false

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
triggerEvent
+     *         If the node closed in response to a user action,
+     *             identifies it as a keyboard action or a mouse action.

+     *
type	AdvancedDataGridEvent.SORT

+     *

+     *
+     * @eventType sort
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const SORT:String = "sort";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param type The event type; indicates the action that caused the event.
+     *
+     *  @param bubbles Specifies whether the event can bubble up the display list hierarchy.
+     *
+     *  @param cancelable Specifies whether the behavior associated with the event can be prevented.
+     *
+     *  @param columnIndex The zero-based index of the column where the event occurred.
+     *
+     *  @param dataField  The name of the field or property in the data associated with the column.
+     *
+     *  @param rowIndex The zero-based index of the item in the data provider.
+     *
+     *  @param reason The reason for an itemEditEnd event.
+     *
+     *  @param itemRenderer The item renderer that is being edited or the header renderer that
+     *  was clicked.
+     *
+     *  @param localX Column x position for replaying columnStretch events.
+     *
+     *  @param multiColumnSort Specifies a multicolumn sort.
+     *
+     *  @param removeColumnFromSort Specifies to remove the column from the multicolumn sort.
+     *
+     *  @param item Specifies the node property. .
+     *
+     *  @param triggerEvent The MouseEvent or KeyboardEvent that triggered this
+     *  event or null if this event was triggered programmatically.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function AdvancedDataGridEvent(type:String, bubbles:Boolean = false,
+                                  cancelable:Boolean = false,
+                                  columnIndex:int = -1,
+                                  dataField:String = null,
+                                  rowIndex:int = -1,
+                                  reason:String = null,
+                                  itemRenderer:IListItemRenderer = null,
+                                  localX:Number = NaN,
+                                  multiColumnSort:Boolean = false,
+                                  removeColumnFromSort:Boolean = false,
+                                  item:Object = null,
+                                  triggerEvent:Event = null,
+                                  headerPart:String = null)
+    {
+        super(type, bubbles, cancelable);
+
+        this.columnIndex = columnIndex;
+        this.dataField = dataField;
+        this.rowIndex = rowIndex;
+        this.reason = reason;
+        this.itemRenderer = itemRenderer;
+        this.localX = localX;
+        this.multiColumnSort = multiColumnSort;
+        this.removeColumnFromSort = removeColumnFromSort;
+        this.item = item;
+        this.triggerEvent = triggerEvent;
+        this.headerPart = headerPart;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  animate
+    //----------------------------------
+
+    /**
+     *  If true, animate an opening or closing operation; used for
+     *  ITEM_OPENING type events only.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var animate:Boolean;
+
+    //----------------------------------
+    //  columnIndex
+    //----------------------------------
+
+    /**
+     *  The zero-based index in the AdvancedDataGrid object's columns Array
+     *  of the column associated with the event.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var columnIndex:int;
+
+    //----------------------------------
+    //  dataField
+    //----------------------------------
+
+    /**
+     *  The name of the field or property in the data associated with the column.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var dataField:String;
+
+    //----------------------------------
+    //  dispatchEvent
+    //----------------------------------
+
+    /**
+     *  Whether to dispatch an ITEM_OPEN or
+     *  ITEM_CLOSE event after the open or close animation
+     *  is complete. Used for ITEM_OPENING events only.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var dispatchEvent:Boolean;
+
+    //----------------------------------
+    //  item
+    //----------------------------------
+
+    /**
+     *  Storage for the node property.
+     *  If you populate the AdvancedDataGrid control from XML data, access
+     *  the label and data properties for
+     *  the node as
+     *  event.node.attributes.label and
+     *  event.node.attributes.data.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var item:Object;
+
+    //----------------------------------
+    //  itemRenderer
+    //----------------------------------
+
+    /**
+     *  The item renderer for the item that is being edited, or the header
+     *  render that is being clicked or stretched.
+     *  You can access the data provider by using this property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var itemRenderer:IListItemRenderer;
+
+    //----------------------------------
+    //  localX
+    //----------------------------------
+
+    /**
+     *  The column's x-position, in pixels; used for replaying column stretch events.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var localX:Number;
+
+    //----------------------------------
+    //  multiColumnSort
+    //----------------------------------
+
+    /**
+     *  If true, indicates that the new dataField property
+     *  should be used along with whatever sorting
+     *  is already in use, resulting in a multicolumn sort.
+     *
+     *
If false, any sorting present should be removed,
+     *  and a fresh sorting should be done for the new dataField property.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var multiColumnSort:Boolean;
+
+    //----------------------------------
+    //  removeColumnFromSort
+    //----------------------------------
+
+    /**
+     *  If true, remove the column from the multicolumn sort.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var removeColumnFromSort:Boolean;
+
+    //----------------------------------
+    //  opening
+    //----------------------------------
+
+    /**
+     *  Indicates whether the item
+     *  is opening true, or closing false.
+     *  Used for an ITEM_OPENING type events only.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var opening:Boolean;
+
+    //----------------------------------
+    //  reason
+    //----------------------------------
+
+    /**
+     *  The reason the itemEditEnd event was dispatched.
+     *  Valid only for events with type ITEM_EDIT_END.
+     *  The possible values are defined in the AdvancedDataGridEventReason class.
+     *
+     *  @see AdvancedDataGridEventReason
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var reason:String;
+
+    //----------------------------------
+    //  rowIndex
+    //----------------------------------
+
+    /**
+     *  The zero-based index of the item in the data provider.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var rowIndex:int;
+
+    //----------------------------------
+    //  triggerEvent
+    //----------------------------------
+
+    /**
+     *  The MouseEvent object or KeyboardEvent object for the event that triggered this
+     *  event, or null if this event was triggered programmatically.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var triggerEvent:Event;
+
+    //----------------------------------
+    //  parent
+    //----------------------------------
+
+    /**
+     * The AdvancedDataGridColumnGroup instance for the column that caused the event.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var column:AdvancedDataGridColumn;
+
+    //----------------------------------
+    //  headerPart
+    //----------------------------------
+
+    /**
+     * If HEADER_RELEASE event, which part of the header was clicked.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var headerPart:String;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: Event
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function clone():Event
+    {
+        return new AdvancedDataGridEvent(type, bubbles, cancelable,
+                                 columnIndex, dataField, rowIndex,
+                                 reason, itemRenderer, localX,
+                                 multiColumnSort, removeColumnFromSort,
+                                 item, triggerEvent, headerPart);
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 21999
Author:   ksimm@adobe.com
Date:     2011-08-15T21:11:42.643392Z

Log Message:
-----------
SDK-31038 (Invalid hours and minutes are gray)

QE notes: none
Doc notes: none
Bugs: SDK-31038
Reviewer: Tom Kraikit
Tests run: checkintests
Is noteworthy for integration: no

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as
+++ frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as
@@ -660,11 +660,11 @@
             // check minDate <= selectedDate <= maxDate
             if (!selectedDate || selectedDate.time < minDate.time)
             {
-                _selectedDate = minDate;
+                _selectedDate = new Date(minDate.time);
             }
             else if (selectedDate.time > maxDate.time)
             {
-                _selectedDate = maxDate;
+                _selectedDate = new Date(maxDate.time);
             }

             minDateChanged = false;
@@ -1209,6 +1209,85 @@
                     newEnabledValue = false;

                 curObj = listData[i];
+                if (curObj[SpinnerList.ENABLED_PROPERTY_NAME] != newEnabledValue)
+                {
+                    o = generateDateItemObject(curObj.label, curObj.data, newEnabledValue);
+                    o["accentColor"] = curObj["accentColor"];
+                    listData[i] = o;
+                }
+            }
+        }
+
+        // disable hours that fall outside of the min/max dates
+        if (hourList && (displayMode == DateSelectorDisplayMode.TIME || displayMode == DateSelectorDisplayMode.DATE_AND_TIME))
+        {
+            tempDate = new Date(thisDate.time);
+            listData = hourList.dataProvider;
+            listLength = listData.length;
+
+            var minDateMatch:Boolean = (tempDate.fullYear == minDate.fullYear
+                && tempDate.month == minDate.month
+                && tempDate.date == minDate.date);
+            var maxDateMatch:Boolean = (tempDate.fullYear == maxDate.fullYear
+                && tempDate.month == maxDate.month
+                && tempDate.date == maxDate.date);
+
+            for (i = 0; i < listLength; i++)
+            {
+                curObj = listData[i];
+
+                newEnabledValue = true;
+
+                if (!use24HourTime)
+                    tempDate.hours = (i + 1) % 12 + ((selectedDate.hours >= 12)? 12 : 0);
+                else
+                    tempDate.hours = i;
+
+                if (minDateMatch && tempDate.hours < minDate.hours)
+                    newEnabledValue = false;
+
+                if (maxDateMatch && tempDate.hours > maxDate.hours)
+                    newEnabledValue = false;
+
+                if (curObj[SpinnerList.ENABLED_PROPERTY_NAME] != newEnabledValue)
+                {
+                    o = generateDateItemObject(curObj.label, curObj.data, newEnabledValue);
+                    o["accentColor"] = curObj["accentColor"];
+                    listData[i] = o;
+                }
+            }
+        }
+
+        // disable minutes that fall outside of the min/max dates
+        if (minuteList && (displayMode == DateSelectorDisplayMode.TIME || displayMode == DateSelectorDisplayMode.DATE_AND_TIME))
+        {
+            tempDate = new Date(thisDate.time);
+            listData = minuteList.dataProvider;
+            listLength = listData.length;
+
+            var minHourMatch:Boolean = (tempDate.fullYear == minDate.fullYear
+                && tempDate.month == minDate.month
+                && tempDate.date == minDate.date
+                && tempDate.hours == minDate.hours);
+            var maxHourMatch:Boolean = (tempDate.fullYear == maxDate.fullYear
+                && tempDate.month == maxDate.month
+                && tempDate.date == maxDate.date
+                && tempDate.hours == maxDate.hours);
+
+            for (i = 0; i < listLength; i++)
+            {
+                curObj = listData[i];
+
+                newEnabledValue = true;
+
+                tempDate.minutes = curObj.data;
+
+                if (minHourMatch && tempDate.minutes < minDate.minutes)
+                    newEnabledValue = false;
+
+                if (maxHourMatch && tempDate.minutes > maxDate.minutes)
+                    newEnabledValue = false;
+
                 if (curObj[SpinnerList.ENABLED_PROPERTY_NAME] != newEnabledValue)
                 {
                     o = generateDateItemObject(curObj.label, curObj.data, newEnabledValue);


Transferred from the Adobe Open Source Subversion Repository

Revision: 12394
Author:   gosmith@adobe.com
Date:     2009-12-02T23:30:32.897486Z

Log Message:
-----------
Renamed spark.accessibility.ButtonAccImpl to ButtonBaseAccImpl because it is associated via [AccessibilityImplementation] metadata with the ButtonBase class, not with the Button class.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ToggleButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonAccImpl.as" copyfrom-rev="12392" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/CheckBoxAccImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonAccImpl.as</path>

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

--- frameworks/projects/spark/src/spark/accessibility/ToggleButtonAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/ToggleButtonAccImpl.as
@@ -11,116 +11,116 @@

 package spark.accessibility
 {
+
 import mx.accessibility.AccConst;
-    import mx.core.UIComponent;
-    import mx.core.mx_internal;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+
+import spark.components.supportClasses.ToggleButtonBase;
+
+use namespace mx_internal;
+
+/**
+ *  ToggleButtonAccImpl is a subclass of AccessibilityImplementation
+ *  which implements accessibility for the ToggleButton class.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+public class ToggleButtonAccImpl extends ButtonBaseAccImpl
+{
+    include "../core/Version.as";

-    import spark.components.supportClasses.ToggleButtonBase;
-
-    use namespace mx_internal;
-
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------

     /**
-     *  ToggleButtonAccImpl is a subclass of AccessibilityImplementation
-     *  which implements accessibility for the ToggleButton class.
+     *  Enables accessibility in the ToggleButton class.
+     *
+     *
This method is called by application startup code
+     *  that is autogenerated by the MXML compiler.
+     *  Afterwards, when instances of ToggleButton are initialized,
+     *  their accessibilityImplementation property
+     *  will be set to an instance of this class.

      *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public class ToggleButtonAccImpl extends ButtonAccImpl
+    public static function enableAccessibility():void
     {
-        include "../core/Version.as";
+        ToggleButtonBase.createAccessibilityImplementation =
+            createAccessibilityImplementation;
+    }
+
+    /**
+     *  @private
+     *  Creates a ToggleButton's AccessibilityImplementation object.
+     *  This method is called from UIComponent's
+     *  initializeAccessibility() method.
+     */
+    mx_internal static function createAccessibilityImplementation(
+        component:UIComponent):void
+    {
+        component.accessibilityImplementation =
+            new ToggleButtonAccImpl(component);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param master The UIComponent instance that this AccImpl instance
+     *  is making accessible.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function ToggleButtonAccImpl(master:UIComponent)
+    {
+        super(master);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: AccessibilityImplementation
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  IAccessible method for returning the state of the ToggleButton.
+     *  States are predefined for all the components in MSAA.
+     *  Values are assigned to each state.
+     *  Depending upon the Togglebutton being pressed or released,
+     *  a value is returned.
+     *
+     *  @param childID uint
+     *
+     *  @return State uint
+     */
+    override public function get_accState(childID:uint):uint
+    {
+        var accState:uint = getState(childID);
+        if (ToggleButtonBase(master).selected)
+            accState |= AccConst.STATE_SYSTEM_PRESSED;

-        //--------------------------------------------------------------------------
-        //
-        //  Class methods
-        //
-        //--------------------------------------------------------------------------
-
-        /**
-         *  Enables accessibility in the ToggleButton class.
-         *
-         *
This method is called by application startup code
-         *  that is autogenerated by the MXML compiler.
-         *  Afterwards, when instances of ToggleButton are initialized,
-         *  their accessibilityImplementation property
-         *  will be set to an instance of this class.

-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        public static function enableAccessibility():void
-        {
-            ToggleButtonBase.createAccessibilityImplementation =
-                createAccessibilityImplementation;
-        }
-
-        /**
-         *  @private
-         *  Creates a ToggleButton's AccessibilityImplementation object.
-         *  This method is called from UIComponent's
-         *  initializeAccessibility() method.
-         */
-        mx_internal static function createAccessibilityImplementation(
-            component:UIComponent):void
-        {
-            component.accessibilityImplementation =
-                new ToggleButtonAccImpl(component);
-        }
-
-        //--------------------------------------------------------------------------
-        //
-        //  Constructor
-        //
-        //--------------------------------------------------------------------------
-
-        /**
-         *  Constructor.
-         *
-         *  @param master The UIComponent instance that this AccImpl instance
-         *  is making accessible.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        public function ToggleButtonAccImpl(master:UIComponent)
-        {
-            super(master);
-        }
-
-        //--------------------------------------------------------------------------
-        //
-        //  Overridden methods: AccessibilityImplementation
-        //
-        //--------------------------------------------------------------------------
-
-        /**
-         *  @private
-         *  IAccessible method for returning the state of the ToggleButton.
-         *  States are predefined for all the components in MSAA.
-         *  Values are assigned to each state.
-         *  Depending upon the Togglebutton being pressed or released,
-         *  a value is returned.
-         *
-         *  @param childID uint
-         *
-         *  @return State uint
-         */
-        override public function get_accState(childID:uint):uint
-        {
-            var accState:uint = getState(childID);
-            if (ToggleButtonBase(master).selected)
-                accState |= AccConst.STATE_SYSTEM_PRESSED;
-
-            return accState;
-        }
-
+        return accState;
     }

 }
+
+}


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 6889
Author:   jimurphy@adobe.com
Date:     2009-05-13T17:26:30.489086Z

Log Message:
-----------
Merged beta1 revisions 6855,6865,6868,6870,6873,6888 -> trunk

checkintests: pass

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileLayout.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/kick-build.txt</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/primitives/SimpleText.as</path>

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

--- frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
+++ frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
@@ -619,6 +619,11 @@

         // We also index by subject to help match advanced selectors
         var subject:String = styleDeclaration.subject;
+        if (!subject && selector)
+        {
+            styleDeclaration.selectorString = selector;
+        }
+
         if (subject != null)
         {
             var declarations:Array = _subjects[subject] as Array;