Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as
+++ frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as
@@ -52,6 +52,10 @@
  *  Dispatched before a menu or submenu is displayed.
  *
  *  @eventType mx.events.FlexNativeMenuEvent.MENU_SHOW
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="menuShow", type="mx.events.FlexNativeMenuEvent")]

@@ -59,6 +63,10 @@
  *  Dispatched when a menu item is selected.
  *
  *  @eventType mx.events.FlexNativeMenuEvent.ITEM_CLICK
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="itemClick", type="mx.events.FlexNativeMenuEvent")]

@@ -244,7 +252,9 @@
  *  @see flash.display.NativeMenu
  *  @see mx.events.FlexNativeMenuEvent
  *
+ *  @langversion 3.0
  *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class FlexNativeMenu extends EventDispatcher implements
     ILayoutManagerClient, IFlexContextMenu, IAutomationObject
@@ -261,6 +271,10 @@
      *  The character to use to indicate the mnemonic index in a label.  By
      *  default, it is the underscore character, so in "C_ut", u would become
      *  the character for the mnemonic index.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private static var MNEMONIC_INDEX_CHARACTER:String = "_";

@@ -272,6 +286,10 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function FlexNativeMenu()
     {
@@ -306,9 +324,8 @@
      *  The delegate object that handles the automation-related functionality.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get automationDelegate():Object
     {
@@ -337,9 +354,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get automationName():String
     {
@@ -363,9 +379,8 @@
      *  @copy mx.automation.IAutomationObject#automationValue
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get automationValue():Array
     {
@@ -379,9 +394,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get numAutomationChildren():int
     {
@@ -394,9 +408,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get automationTabularData():Object
     {
@@ -418,9 +431,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get automationOwner():DisplayObjectContainer
     {
@@ -448,9 +460,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get automationParent():DisplayObjectContainer
     {
@@ -473,9 +484,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get automationEnabled():Boolean
     {
@@ -491,9 +501,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get automationVisible():Boolean
     {
@@ -516,9 +525,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get showInAutomationHierarchy():Boolean
     {
@@ -551,6 +559,10 @@

     /**
      *  @copy mx.core.UIComponent#initialized
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get initialized():Boolean
     {
@@ -581,6 +593,10 @@

     /**
      *  @copy mx.core.UIComponent#nestLevel
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get nestLevel():int
     {
@@ -611,6 +627,10 @@

     /**
      *  @copy mx.core.UIComponent#processedDescriptors
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get processedDescriptors():Boolean
     {
@@ -638,6 +658,10 @@
     /**
      *  A flag that determines if an object has been through all three phases
      *  of layout validation (provided that any were required).
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get updateCompletePendingFlag():Boolean
     {
@@ -683,6 +707,10 @@
       *  Any changes made directly to the underlying NativeMenu instance
       *  may be lost when changes are made to the menu or the underlying
       *  data provider.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
       */
     public function get nativeMenu() : NativeMenu
     {
@@ -730,6 +758,10 @@
      *
      *
The default value is an internal instance of the
      *  DefaultDataDescriptor class.

+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get dataDescriptor():IMenuDataDescriptor
     {
@@ -783,6 +815,10 @@
      *

      *
      *  @default "undefined"
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get dataProvider():Object
     {
@@ -868,6 +904,10 @@

     /**
      *  @copy mx.controls.Menu#hasRoot
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get hasRoot():Boolean
     {
@@ -901,6 +941,10 @@
      *
      *  @default "keyEquivalent"
      *  @see flash.ui.Keyboard
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get keyEquivalentField():String
     {
@@ -952,6 +996,10 @@
      *
      *  @default "undefined"
      *  @see flash.ui.Keyboard
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get keyEquivalentFunction():Function
     {
@@ -1053,6 +1101,10 @@
      *
myKeyEquivalentModifiersFunction(item:Object):Array

      *
      *  @default "undefined"
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get keyEquivalentModifiersFunction():Function
     {
@@ -1114,6 +1166,10 @@
      *
Setting the labelFunction property causes this property to be ignored.

      *
      *  @default "label"
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get labelField():String
     {
@@ -1167,6 +1223,10 @@
      *
myLabelFunction(item:Object):String

      *
      *  @default "undefined"
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get labelFunction():Function
     {
@@ -1220,6 +1280,10 @@
      *  @default "mnemonicIndex"
      *
      *  @see #labelField
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get mnemonicIndexField():String
     {
@@ -1275,6 +1339,10 @@
      *
myMnemonicIndexFunction(item:Object):int

      *
      *  @default "undefined"
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get mnemonicIndexFunction():Function
     {
@@ -1327,6 +1395,10 @@
      *
      *  @default true
      *  @see #hasRoot
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get showRoot():Boolean
     {
@@ -1352,8 +1424,12 @@
     //
     //--------------------------------------------------------------------------

-       /**
+    /**
      *  @copy mx.core.UIComponent#invalidateProperties()
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function invalidateProperties():void
     {
@@ -1384,6 +1460,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function validateProperties():void
     {
@@ -1397,6 +1477,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function validateSize(recursive:Boolean = false):void
     {
@@ -1404,6 +1488,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function validateDisplayList():void
     {
@@ -1412,6 +1500,10 @@
     /**
      *  Validates and updates the properties and layout of this object
      *  and redraws it, if necessary.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function validateNow():void
     {
@@ -1423,6 +1515,10 @@

     /**
      *  Sets the context menu of the InteractiveObject to the underlying native menu.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function setContextMenu(component:InteractiveObject):void
     {
@@ -1445,6 +1541,10 @@
     /**
      *  Unsets the context menu of the InteractiveObject that has been set to
      *  the underlying native menu.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function unsetContextMenu(component:InteractiveObject):void
     {
@@ -1460,6 +1560,10 @@
      *  Processes the properties set on the component.
      *
      *  @see mx.core.UIComponent#commitProperties()
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function commitProperties():void
     {
@@ -1521,6 +1625,10 @@
      *  Creates a menu and adds appropriate listeners
      *
      *  @private
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function createMenu():NativeMenu
     {
@@ -1647,6 +1755,10 @@
      *
      *  @param y The number of vertical pixels, relative to the origin of stage,
      *  at which to display this menu.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
      public function display(stage:Stage, x:int, y:int):void
      {
@@ -1662,6 +1774,10 @@
      *  @param data Object to be displayed.
      *
      *  @return The key equivalent based on the data.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function itemToKeyEquivalent(data:Object):String
     {
@@ -1716,7 +1832,11 @@
      *
      *  @param data Object to be displayed.
      *
-     *  @return The array of key equivalent modifiers based on the data
+     *  @return The array of key equivalent modifiers based on the data.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function itemToKeyEquivalentModifiers(data:Object):Array
     {
@@ -1739,6 +1859,10 @@
      *  @param data Object to be displayed.
      *
      *  @return The string to be displayed based on the data.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function itemToLabel(data:Object):String
     {
@@ -1797,6 +1921,10 @@
      *  @param data Object to be displayed.
      *
      *  @return The mnemonic index based on the data.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function itemToMnemonicIndex(data:Object):int
     {
@@ -1849,6 +1977,10 @@
      *  Determines the actual label to be used for the NativeMenuItem
      *  by removing underscore characters and converting escaped underscore
      *  characters, if there are any.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function parseLabelToString(data:String):String
     {
@@ -1871,6 +2003,10 @@
      *  Extracts the mnemonic index from a label based on the presence of
      *  an underscore character. It finds the leading underscore character if
      *  there is one and uses that as the index.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function parseLabelToMnemonicIndex(data:String):int
     {
@@ -1904,9 +2040,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function createAutomationIDPart(child:IAutomationObject):Object
     {
@@ -1919,9 +2054,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function createAutomationIDPartWithRequiredProperties(child:IAutomationObject,
                                                                  properties:Array):Object
@@ -1935,9 +2069,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function resolveAutomationIDPart(criteria:Object):Array
     {
@@ -1950,9 +2083,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getAutomationChildAt(index:int):IAutomationObject
     {
@@ -1965,9 +2097,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getAutomationChildren():Array
     {
@@ -1980,9 +2111,8 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function replayAutomatableEvent(event:Event):Boolean
     {


Passing along only the (somewhat) tweaked command, not the full tag.

--- driver/src/main/flex/org/postgresql/febe/FEBEConnection.as
+++ driver/src/main/flex/org/postgresql/febe/FEBEConnection.as
@@ -217,7 +217,7 @@
 	    private function handleComplete(msg:CommandComplete):void {
 	        if (_queryHandler) {
 	        	flushPendingResults();
-	        	_queryHandler.handleCompletion(msg.commandTag, msg.affectedRows, msg.oid);
+	        	_queryHandler.handleCompletion(msg.command, msg.affectedRows, msg.oid);
 	        	_queryHandler = null;
 	        } else {
 	        	throw new ProtocolError("Unexpected CommandComplete");


Better result and error handling for queries.

Most notably, this allows better handling of mulitple result sets
from a single simple Query message.

--- driver/src/main/flex/org/postgresql/febe/FEBEConnection.as
+++ driver/src/main/flex/org/postgresql/febe/FEBEConnection.as
@@ -223,23 +223,23 @@
         private function handleRfq(msg:ReadyForQuery):void {
             _rfq = true;
             _status = msg.status;
-            _connHandler.handleReady(_status);
-        }
-
-        private function handleNotification(msg:NotificationResponse):void {
-            _connHandler.handleNotification(msg.condition, msg.notifierPid);
-        }
-
-        private function handleNotice(msg:ResponseMessageBase):void {
-            _connHandler.handleNotice(msg.fields);
-        }
-
-        private function handleError(msg:ErrorResponse):void {
-            _connHandler.handleSQLError(msg.fields);
             if (_currentQueryHandler) {
                 _currentQueryHandler.dispose();
                 _currentQueryHandler = null;
             }
+            _connHandler.handleReady(_status);
+        }
+
+        private function handleNotification(msg:NotificationResponse):void {
+            _connHandler.handleNotification(msg.condition, msg.notifierPid);
+        }
+
+        private function handleNotice(msg:ResponseMessageBase):void {
+            _connHandler.handleNotice(msg.fields);
+        }
+
+        private function handleError(msg:ErrorResponse):void {
+            _connHandler.handleSQLError(msg.fields);
         }

         private function handleMetadata(msg:RowDescription):void {
@@ -271,8 +271,6 @@
             if (_currentQueryHandler) {
                 flushPendingResults();
                 _currentQueryHandler.handleCompletion(msg.command, msg.affectedRows, msg.oid);
-                _currentQueryHandler.dispose();
-                _currentQueryHandler = null;
             } else if (_hasCodecError) {
                 _hasCodecError = false;
             } else {
@@ -286,7 +284,6 @@
             // to handle this differently, but there's little practical use for that.
             if (_currentQueryHandler) {
                 _currentQueryHandler.handleCompletion('EMPTY QUERY');
-                _currentQueryHandler = null;
             } else {
                 onProtocolError(new ProtocolError("Unexpected EmptyQueryResponse"));
             }
@@ -303,10 +300,10 @@
                     // if the server is processing messages in a sensible manner) that we will
                     // ignore it for now.
                     _currentQueryHandler.handleData(_currResults, serverParams);
-                    _currResults = [];
                 } catch (e:CodecError) {
                      onCodecError(e);
                 }
+                _currResults = [];
             }
         }

@@ -451,10 +448,9 @@
         }

         private function onCodecError(error:CodecError):void {
-            // The query dies, but the connection is fine
+            // The query dies, but the connection is fine. We clean up
+            // the query handler on ReadyForQuery
             _connHandler.handleCodecError(error);
-            _currentQueryHandler.dispose();
-            _currentQueryHandler = null;
             // Note that we still may need to throw away any number of DataRow messages
             _hasCodecError = true;
         }


More specific error for unsupported feature.

--- driver/src/main/flex/org/postgresql/febe/FEBEConnection.as
+++ driver/src/main/flex/org/postgresql/febe/FEBEConnection.as
@@ -130,7 +130,7 @@
 	        } else if (msg.subtype == AuthenticationRequest.CLEARTEXT_PASSWORD) {
 	            _broker.send(new PasswordMessage(_password));
 	        } else {
-	            throw new ProtocolError("Unsupported authentication type requested");
+	            throw new UnsupportedProtocolFeatureError("Unsupported authentication type requested: " + msg.subtype);
 	        }
 	    }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.managers
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/framework/src/mx/states/SetProperty.as
+++ frameworks/projects/framework/src/mx/states/SetProperty.as
@@ -1,15 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2007 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-//  AdobePatentID="B770"
-//
-////////////////////////////////////////////////////////////////////////////////

 package mx.states
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.utils
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17520
Author:   hmuller@adobe.com
Date:     2010-08-30T20:47:16.318727Z

Log Message:
-----------
Added support for dataTips: Grid/DataGrid showDataTips, dataTipField, and dataTipFunction properties.

QE notes: Should have no affect on existing code.
Doc notes:
Bugs: SDK-27063
Reviewer: Darrell
Tests run: checkin, mustella cyclone
Is noteworthy for integration: no

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

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -848,6 +848,74 @@
     }

     //----------------------------------
+    //  dataTipField
+    //----------------------------------
+
+    private var _dataTipField:String = null;
+
+    [Bindable("dataTipFieldChanged")]
+
+    /**
+     *  The dataTipField that's used for columns that do not specify one.
+     *
+     *  @default null
+     *
+     *  @see spark.components.supportClasses.GridColumn#dataTipField
+     */
+    public function get dataTipField():String
+    {
+        return _dataTipField;
+    }
+
+    /**
+     *  @private
+     */
+    public function set dataTipField(value:String):void
+    {
+        if (_dataTipField == value)
+            return;
+
+        _dataTipField = value;
+
+        invalidateDisplayList();
+        dispatchChangeEvent("dataTipFieldChanged");
+    }
+
+    //----------------------------------
+    //  dataTipFunction
+    //----------------------------------
+
+    private var _dataTipFunction:Function = null;
+
+    [Bindable("dataTipFunctionChanged")]
+
+    /**
+     *  The dataTipFunction that's used for columns that do not specify one.
+     *
+     *  @default null
+     *
+     *  @see spark.components.supportClasses.GridColumn#dataTipField
+     */
+    public function get dataTipFunction():Function
+    {
+        return _dataTipFunction;
+    }
+
+    /**
+     *  @private
+     */
+    public function set dataTipFunction(value:Function):void
+    {
+        if (_dataTipFunction == value)
+            return;
+
+        _dataTipFunction = value;
+
+        invalidateDisplayList();
+        dispatchChangeEvent("dataTipFunctionChanged");
+    }
+
+    //----------------------------------
     //  itemRenderer
     //----------------------------------

@@ -1877,6 +1945,47 @@

         dispatchChangeEvent("selectionModeChanged");
     }
+
+
+    //----------------------------------
+    //  showDataTips
+    //----------------------------------
+
+    private var _showDataTips:Boolean = false;
+
+    [Bindable("showDataTipsChanged")]
+    [Inspectable(category="Data", defaultValue="false")]
+
+    /**
+     *  If true then a dataTip is displayed for all visible cells.  If false (the default),
+     *  then a dataTip is only displayed if the column's showDataTip property is true.
+     *
+     *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public function get showDataTips():Boolean
+    {
+        return _showDataTips;
+    }
+
+    /**
+     *  @private
+     */
+    public function set showDataTips(value:Boolean):void
+    {
+        if (_showDataTips == value)
+            return;
+
+        _showDataTips = value;
+
+        invalidateDisplayList();
+        dispatchEvent(new Event("showDataTipsChanged"));
+    }
+

     //----------------------------------
     //  typicalItem


Transferred from the Adobe Open Source Subversion Repository

Revision: 6439
Author:   dsubrama@adobe.com
Date:     2009-04-30T21:19:14.460041Z

Log Message:
-----------
Bugfixes: SDK-20853, SDK-20506, SDK-20855

We now use the bottleneck method, updateRenderer() to let the DataGroup have first crack at setting a renderer's data, owner and labelText properties. Then the "true" owners like a List or ButtonBar which father a renderer, get a chance to come in and clean out stale properties and set new properties on the renderer (which was either created anew or recycled).

I also cleaned up some comments in LayoutBase.

Reviewer: Ryan
Checkintests: Pass
Mustella: Steve and Ella ok'ed a cyclone I gave them against List, ButtonBar, DataGroup and SkinnableDataContainer.

Modified Paths:
--------------
<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/components/IItemRendererOwner.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/flex4/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.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/flex4/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -540,9 +540,7 @@
                     //Quick check to see if selectedIndices had only one selected item
                     //and that item was de-selected
                     if (selectedIndices.length == 1 && (selectedIndices[0] == index))
-                    {
                         return [NO_SELECTION];
-                    }
                     else
                     {
                         // Go through and see if the index passed in was in the
@@ -614,11 +612,8 @@
         if (renderer)
         {
         	renderer.addEventListener("click", item_clickHandler);
-        	updateRendererInformation(IVisualElement(renderer));
-        }
-
-        if (isItemIndexSelected(index))
-            itemSelected(index, true);
+        	updateRenderer(IVisualElement(renderer));
+        }
     }

     /**
@@ -702,9 +697,7 @@
         {
             var currentIndex:Number;
             if (allowMultipleSelection && selectedIndices && selectedIndices.length > 0)
-            {
                 currentIndex = selectedIndices[selectedIndices.length - 1];
-            }
             else currentIndex = selectedIndex;

 	        //Delegate to the layout to tell us what the next item is we should select.


Transferred from the Adobe Open Source Subversion Repository

Revision: 6440
Author:   jszeto@adobe.com
Date:     2009-04-30T21:48:25.862370Z

Log Message:
-----------
DropDownList, DropDownController and PopUpAnchor API Changes

DropDownList changes:
- Changed open/close events from type mx.events.DropdownEvent to spark.events.DropDownEvent
- Changed button (skin part) to openButton
- Removed DropDownControllerClass property
- Changed dropDownController from public to protected
- Remove initializeDropDownController

DropDownController changes:
- Changed button to openButton
- Changed button_buttonDownHandler to openButton_buttonDownHandler
- Changed systemManager_mouseDownHandler argument from type MouseEvent to type Event
- Changed focusOutHandler to processFocusOut
- Changed keyDownHandler to processKeyDown

PopUp changes:
- Renamed class to PopUpAnchor
- Added autoSizePopUpHeight and autoSizePopUpWidth
- Changed open to displayPopUp
- Changed content to popUp
- Changed placement to popUpPosition
- Changed updateContentTransform to updatePopUpTransform
- Added "center" and "exact" popUpPosition values
- Only add the popUp to the PopUpManager if the PopUpAnchor is attached to the stage
- Fixed sizing of the popUp by setting the width/height instead of calling setActualSize
- Only apply transform changes to the popUp if it is currently displayed

Other changes:
- Added spark.events.DropDownEvent to replace mx.events.DropdownEvent
- Applied API updates to VideoPlayer sub-components and skins
- Fixed bug in SkinnableComponent when setting a skinPart to null
- Replaced List.list_keyDownHandler with inherited keyDownHandler function

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarSkin.mxml</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/flex4/src/spark/skins/default/VideoPlayerFullScreenVolumeBarSkin.mxml</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/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/DropDownEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/DropDownListSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUp.as" copyfrom-rev="6423" action="A">/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/VideoPlayerVolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUp.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -123,8 +123,6 @@
     public function List()
     {
         super();
-
-        addEventListener(KeyboardEvent.KEY_DOWN, list_keyDownHandler);
     }

     //----------------------------------
@@ -689,7 +687,7 @@
      *  @private
      *  Build in basic keyboard navigation support in List.
      */
-    protected function list_keyDownHandler(event:KeyboardEvent):void
+    override protected function keyDownHandler(event:KeyboardEvent):void
     {
         super.keyDownHandler(event);


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/spark/src/spark/primitives/Line.as
+++ frameworks/projects/spark/src/spark/primitives/Line.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.primitives
 {


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

--- frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.as
+++ frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.as
@@ -29,6 +29,11 @@
  *  you do not create one yourself.
  *
  *  @see mx.effects.Fade
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class SoundEffectInstance extends EffectInstance
 {
@@ -44,6 +49,11 @@
 	 *  Constructor.
 	 *
 	 *  @param target The Object to animate with this effect.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function SoundEffectInstance(target:Object)
 	{
@@ -153,6 +163,11 @@
 	 *  and before resuming playback after a network stall.
 	 *
 	 *  @default 1000
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var bufferTime:Number = 1000;

@@ -172,6 +187,11 @@
 	 *  the sound does not loop.

 	 *
 	 *  @default 0
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var loops:int = 0;

@@ -181,6 +201,11 @@

 	/**
 	 *	This property is true if the MP3 has been loaded.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function get isLoading():Boolean
 	{
@@ -196,6 +221,11 @@
 	 *	The easing function for the pan effect.
 	 *  This function is used to interpolate between the values
 	 *  of panFrom and panTo.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var panEasingFunction:Function;

@@ -210,6 +240,11 @@
 	 *  between the two channels.
 	 *
 	 *  @default 0
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var panFrom:Number;

@@ -224,6 +259,11 @@
 	 *  between the two channels.
 	 *
 	 *  @default 0
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var panTo:Number;

@@ -239,6 +279,11 @@

 	/**
 	 *	The SoundChannel object that the MP3 file has been loaded into.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function get soundChannel():SoundChannel
 	{
@@ -252,6 +297,11 @@
 	/**
 	 *  Reference to the internal Sound object. The SoundEffect uses this
 	 *  instance to play the MP3 file.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var sound:Sound;

@@ -271,6 +321,11 @@
 	 *  Embed keyword, you can pass the Class object
 	 *  of the MP3 file to the source property.
 	 *  Otherwise, specify the full URL to the MP3 file.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function get source():Object
 	{
@@ -294,6 +349,11 @@
 	 *  at which playback should start.
 	 *
 	 *  @default 0
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var startTime:Number = 0;

@@ -309,6 +369,11 @@
 	 *  after the MP3 finishes playing or looping.
 	 *
 	 *  @default true
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var useDuration:Boolean = true;

@@ -320,6 +385,11 @@
 	 *	The easing function for the volume effect.
 	 *  Use this function to interpolate between the values
 	 *  of volumeFrom and volumeTo.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var volumeEasingFunction:Function;

@@ -332,6 +402,11 @@
 	 *  Value can range from 0.0 to 1.0.
 	 *
 	 *  @default 1.0
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var volumeFrom:Number;

@@ -344,6 +419,11 @@
 	 *  Value can range from 0.0 to 1.0.
 	 *
 	 *  @default 1.0
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var volumeTo:Number;

@@ -364,6 +444,11 @@
 		/*
 		if (!isLoading && sound)
 			sound.load(new URLRequest(source), bufferTime);
+		*
+		*  @langversion 3.0
+		*  @playerversion Flash 9
+		*  @playerversion AIR 1.1
+		*  @productversion Flex 3
 		*/

 		var transform:SoundTransform = new SoundTransform();


Transferred from the Adobe Open Source Subversion Repository

Revision: 19187
Author:   chiedozi@adobe.com
Date:     2010-12-09T01:04:17.436247Z

Log Message:
-----------
ViewTransitionBase.getSnapshot returns null if the target component isn't visible to avoid a RTE

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

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

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
@@ -311,10 +311,10 @@

         var slideTargets:Array = new Array();

-        if (!(mode == SlideViewTransitionMode.COVER))
+        if (cachedNavigator && mode != SlideViewTransitionMode.COVER)
             slideTargets.push(cachedNavigator);

-        if (!(mode == SlideViewTransitionMode.UNCOVER))
+        if (mode != SlideViewTransitionMode.UNCOVER)
             slideTargets.push(targetNavigator.contentGroup);

         navigatorProps.contentGroupIncludeInLayout = targetNavigator.contentGroup.includeInLayout;
@@ -349,7 +349,7 @@
         {
             if (actionBar)
             {
-                if (!(mode == SlideViewTransitionMode.UNCOVER))
+                if (mode != SlideViewTransitionMode.UNCOVER)
                     slideTargets.push(actionBar);

                 navigatorProps.actionBarIncludeInLayout = actionBar.includeInLayout;


Transferred from the Adobe Open Source Subversion Repository

Revision: 18543
Author:   rfrishbe@adobe.com
Date:     2010-11-11T21:39:53.401769Z

Log Message:
-----------
Making some PARB changes around down state support and InteractionStateDetector.  ItemRendererInteractionStateDetector has been renamed to InteractionStateDetector.  down state is now applicable in mouse interactionMode.  downColor defaults to undefined, and is only set in the mobiletheme--this way it won't break the mouse interaction case.

Fixing up ItemRenderer transitions.  Added a new method, invalidateRendererState().  We now don't transition immediately to the state when the selected, hovered, etc.. properties get set, but we wait until validation.

QE notes:
Doc notes:
Bugs: SDK-28482
Reviewer: Eric Day, Glenn
Tests run: checkintests, mustella DataGroup, List, ListDND
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRendererInteractionStateDetector.as" copyfrom-rev="18476" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRendererInteractionStateDetector.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/InteractionState.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</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/framework/defaults.css</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/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/defaults.css</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/InteractionState.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/InteractionState.as
@@ -0,0 +1,72 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2010 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.components.supportClasses
+{
+
+    /**
+     *  Values for the state property
+     *  of the InteractionStateDetector class.
+     *
+     *  @see spark.components.supportClasses.InteractionStateDetector
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public final class InteractionState
+    {
+
+        //--------------------------------------------------------------------------
+        //
+        //  Class constants
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  The component should be in the up state.
+         *
+         *
No interaction is occurring on this component.

+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.1
+         *  @playerversion AIR 2.5
+         *  @productversion Flex 4.5
+         */
+        public static const UP:String = "up";
+
+        /**
+         *  The component should be in the down state.
+         *
+         *
The user is currently pressing down on this component.

+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.1
+         *  @playerversion AIR 2.5
+         *  @productversion Flex 4.5
+         */
+        public static const DOWN:String = "down";
+
+        /**
+         *  The component should be in the over state.
+         *
+         *
The user is currently hovering over this component.

+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.1
+         *  @playerversion AIR 2.5
+         *  @productversion Flex 4.5
+         */
+        public static const OVER:String = "over";
+    }
+
+}


Actually remove the character sprite from the scene rather than just from our list.

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

--- src/as/com/threerings/stage/client/CrowdStageScenePanel.as
+++ src/as/com/threerings/stage/client/CrowdStageScenePanel.as
@@ -664,6 +664,7 @@
     protected function removeSprite (sprite :CharacterIsoSprite) :void
     {
         _sprites.remove(sprite.getBodyOid());
+        _objScene.removeChild(sprite);
     }

     protected function handleSpriteArrived (sprite :CharacterIsoSprite, tickStamp :int) :void


Implemented get concepts in action script.

--- src/logic/NaiveConceptProcessor.as
+++ src/logic/NaiveConceptProcessor.as
@@ -11,6 +11,9 @@
 		private var sObjects: Array;
 		private var sAttributes: Array;

+		private	var extents: ArrayCollection = new ArrayCollection(); // will contain all extents
+		private	var intents:ArrayCollection = new ArrayCollection();
+
 		public function NaiveConceptProcessor(objects:Array, attributes:Array)
 		{
 			sObjects = objects;
@@ -19,9 +22,30 @@

 		public function getConceptList(): Array
 		{
-			// TODO return the list of concepts as a dictionary (id, Concept
 			var conceptList: Array = new Array();
-			conceptList["1231"] = new Concept([], []); // use the same id's that are in Graph nodes
+			var i:int = 0;
+			for (i = 0; i < extents.length; ++i)
+			{
+				var j:int = 0;
+				// convert extent index to name
+				var conceptObjects:Array = new Array();
+				var conceptExtents:Array = extents[i];
+				for (j = 0; j < conceptExtents.length; ++j)
+				{
+					conceptObjects.push(sObjects[conceptExtents[j]]);
+				}
+
+				// convert intent index to name
+				var conceptAttributes:Array = new Array();
+				var conceptIntents:Array = intents[i];
+				for (j = 0; j < conceptIntents.length; ++j)
+				{
+					conceptAttributes.push(sAttributes[conceptIntents[j]]);
+				}
+
+				conceptList[i.toString()] = new Concept(conceptObjects, conceptAttributes); // use the same id's that are in Graph nodes
+			}
+
 			return conceptList;
 		}

@@ -114,8 +138,8 @@
 		{
 			var g:Graph = new Graph();

-			var extents: ArrayCollection = new ArrayCollection(); // will contain all extents
-			var intents:ArrayCollection = new ArrayCollection();
+			extents = new ArrayCollection(); // will contain all extents
+			intents = new ArrayCollection();
 			var j: int = 0;
 			var i:int = 0;
 			var k:int = 0;
@@ -215,25 +239,30 @@
 			for (i = 0; i < extents.length; ++i)
 			{
 				// convert extent index to name
+				/*
 				var conceptObjects:Array = new Array();
 				var conceptExtents:Array = extents[i];
 				for (j = 0; j < conceptExtents.length; ++j)
 				{
 					conceptObjects.push(sObjects[conceptExtents[j]]);
 				}
+				*/
+
 				// convert intent index to name
+				/*
 				var conceptAttributes:Array = new Array();
 				var conceptIntents:Array = intents[i];
 				for (j = 0; j < conceptIntents.length; ++j)
 				{
 					conceptAttributes.push(sAttributes[conceptIntents[j]]);
 				}
-
+				*/
+
 				var concept:Item = new Item(i.toString());
 				var xmlData:XML = <n />;
 				xmlData.@id = i.toString();
-				xmlData.@a = "{" + conceptAttributes.join(",") + "}";
-				xmlData.@o = "[" + conceptObjects.join(",") + "]";
+				xmlData.@a = "Attributes: " + intents[i].length.toString();
+				xmlData.@o = "Objects: " + extents[i].length.toString();
 				concept.data = xmlData;
 				concepts.push(concept);
 				g.add(concept);


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

--- frameworks/projects/framework/src/mx/containers/utilityClasses/PostScaleAdapter.as
+++ frameworks/projects/framework/src/mx/containers/utilityClasses/PostScaleAdapter.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 mx.containers.utilityClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 22564
Author:   tkraikit@adobe.com
Date:     2011-09-14T19:50:07.656843Z

Log Message:
-----------
Update ASDoc "@productversion Flex 4.5.2" => "@productversion Flex 4.6"

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/OnDemandDataProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/graphics/BitmapScaleMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ContentBackgroundAppearance.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/FlexVersion.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ArrowDirection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/FormatPattern.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultTransparentNavigationButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/core/ISoftKeyboardHintClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/CalloutArrow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/YearProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/calendarClasses/DateSelectorDisplayMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ToggleSwitch.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledBackButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListScrollerSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ScrollSnappingMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/StageTextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultTransparentActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/ToggleSwitchSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateAndTimeProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutPosition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImageSource.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/NumericDataProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateSpinnerItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/CalendarDate.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/DateTimeFormatterEx.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutViewNavigatorSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutViewNavigatorSkin.as
@@ -32,7 +32,7 @@
  *
  *  @langversion 3.0
  *  @playerversion AIR 3
- *  @productversion Flex 4.5.2
+ *  @productversion Flex 4.6
  */
 public class CalloutViewNavigatorSkin extends ViewNavigatorSkin
 {
@@ -47,7 +47,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public function CalloutViewNavigatorSkin()
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7967
Author:   gosmith@adobe.com
Date:     2009-06-18T19:44:16.674676Z

Log Message:
-----------
PARB changes to TextGraphicElement/SimpleText/RichText and to text styles in general.

TextGraphicElement:

The 'truncation' property has been renamed to 'maxDisplayedLines'.

The isTruncated() method has become an 'isTruncated' read-only property.

RichText:

Since a TextFlow object is the fundamental representation for rich test in TLF, the RichText component now has a public textFlow:TextFlow property which you can get or set. To turn TLF markup -- in either String or XML form -- into a TextFlow, use the static importFromString() and importFromXML() methods in the TextFlowUtil class. These are bindable methods so that if the markup parameter changes they will re-evaluate. To turn the TextFlow back into markup, use TextFLowUtil.export(...) to produce XML.

The 'content' property is now intended only for use by the MXML compiler. It is set-only and only supports being set to what MXML markup produces: a String (which will be treated as the text of an implicit span in an implicit paragraph), a FlowElement, or an Array of Strings and FlowElements.

The 'text', 'textFlow', and 'content' properties are interacting properties. For example, you can set 'textFlow' and then get the 'text', and vice versa. In fact, you can now do this immediately, without waiting for the component to undergo a LayoutManager pass. Of these three properties, the last one set in ActionScript wins; if more than one is set in MXML the results are undefined since MXML does not guarantee the order in which properties are set. Setting any of them to null is equivalent to setting the 'text' to the empty String, which is the initial state of the component.

Styles:

The 'lineBreak' style is now non-inheriting, since in TLF it doesn't inherit from FlowElement to FlowElement.

The text styles are now divided into five buckets:

BasicInheritingTextStyles.as
BasicNonInheritingTextStyles.as
AdvancedInheritingTextStyles.as
AdvancedNonInheritingTextStyles.as
SelectionFormatTextStyles.as

Skinnable components like TextInput and TextArea no longer declare any on the noninheriting text styles, because the RichTextElement in the skin doesn't inherit them. You must set them directly on the RichTextElement in the component's skin, either with ActionScript or by reskinning.

The styleInitialized() method has been added to the IAdvancedStyleClient interface.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Carol

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicTextLayoutFormatStyles.as" copyfrom-rev="7910" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</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/airframework/src/spark/skins/spark/WindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultButtonSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.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/framework/src/mx/styles/StyleProxy.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicTextLayoutFormatStyles.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/utils/TextFlowUtil.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.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/wireframe/src/spark/skins/wireframe/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableTextBase.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/airframework/src/spark/skins/spark/windowChrome/TitleBarSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/NonInheritingTextLayoutFormatStyles.as" copyfrom-rev="7910" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicNonInheritingTextStyles.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/flex4/src/spark/skins/spark/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/CheckBoxSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/NonInheritingTextLayoutFormatStyles.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/skins/spark/RadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/RadioButtonSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedTextLayoutFormatStyles.as" copyfrom-rev="7910" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedInheritingTextStyles.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/airframework/src/spark/skins/spark/windowChrome/MacTitleBarSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -77,8 +77,8 @@
  */
 [Event(name="change", type="spark.events.TextOperationEvent")]

-include "../../styles/metadata/AdvancedTextLayoutFormatStyles.as"
-include "../../styles/metadata/BasicTextLayoutFormatStyles.as"
+include "../../styles/metadata/BasicInheritingTextStyles.as"
+include "../../styles/metadata/AdvancedInheritingTextStyles.as"
 include "../../styles/metadata/SelectionFormatTextStyles.as"

 /**


Added syntactic sugar for unmapping listeners from View and Context. Removed extra spaces from addViewListener method signature.

--- src/org/robotlegs/mvcs/Mediator.as
+++ src/org/robotlegs/mvcs/Mediator.as
@@ -101,12 +101,27 @@
 		 * @param useWeakReference
 		 *
 		 */
-		protected function addViewListener(type:String, listener:Function, eventClass:Class = null, useCapture:Boolean = false, priority:int = 0,					 useWeakReference:Boolean = true):void
+		protected function addViewListener(type:String, listener:Function, eventClass:Class = null, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = true):void
 		{
 			eventMap.mapListener(IEventDispatcher(viewComponent), type, listener,
 				eventClass, useCapture, priority, useWeakReference);
 		}
-
+
+        /**
+		 * Syntactical sugar for mapping a listener from the viewComponent
+		 *
+		 * @param type
+		 * @param listener
+		 * @param eventClass
+		 * @param useCapture
+		 *
+		 */
+		protected function removeViewListener(type:String, listener:Function, eventClass:Class = null, useCapture:Boolean = false):void
+		{
+			eventMap.unmapListener(IEventDispatcher(viewComponent), type, listener,
+				eventClass, useCapture);
+		}
+
 		/**
 		 * Syntactical sugar for mapping a listener to an IEventDispatcher
 		 *
@@ -124,5 +139,21 @@
 			eventMap.mapListener(eventDispatcher, type, listener,
 				eventClass, useCapture, priority, useWeakReference);
 		}
+
+		/**
+		 * Syntactical sugar for unmapping a listener from an IEventDispatcher
+		 *
+		 * @param dispatcher
+		 * @param type
+		 * @param listener
+		 * @param eventClass
+		 * @param useCapture
+		 *
+		 */
+		protected function removeContextListener(type:String, listener:Function, eventClass:Class = null, useCapture:Boolean = false):void
+	 	{
+			eventMap.unmapListener(eventDispatcher, type, listener,
+				eventClass, useCapture);
+		}
 	}
 }


simplified documentation

simplified documentation

--- WeaveAPI/src/weave/api/core/IExternalSessionStateInterface.as
+++ WeaveAPI/src/weave/api/core/IExternalSessionStateInterface.as
@@ -131,10 +131,7 @@
 		function evaluateExpression(scopeObjectPathOrExpressionName:Object, expression:String, variables:Object = null, libraries:Array = null, assignExpressionName:String = null):*;

 		/**
-		 * This function will add a callback that will be delayed except during a scheduled time each frame.  These grouped callbacks use a
-		 * central trigger list, meaning that if multiple CallbackCollections trigger the same grouped callback before the scheduled time,
-		 * it will behave as if it were only triggered once.  The callback function will not be called recursively as a result of it
-		 * triggering callbacks recursively.
+		 * This function will add a grouped callback to an ILinkableObject.
 		 * @param objectPathOrExpressionName A sequence of child names used to refer to an object appearing in the session state, or the name of a previously saved expression.
 		 * @param callback The callback function that will only be allowed to run during a scheduled time each frame.  It must be specified as a String and must not require any parameters.
 		 * @param triggerCallbackNow If this is set to true, the callback will be triggered to run during the scheduled time after it is added.


There's no reason for Layer to implement IAnimatable

(It happens to implement advanceTime(), but it's never used as an IAnimatable)

--- runtime/src/main/as/flump/display/Layer.as
+++ runtime/src/main/as/flump/display/Layer.as
@@ -18,7 +18,6 @@
  * this layer on each frame.
  */
 internal class Layer
-    implements IAnimatable
 {
     public function Layer (movie :Movie, src :LayerMold, library :Library, flipbook :Boolean) {
         _keyframes = src.keyframes;
@@ -28,7 +27,7 @@
         const lastKf :KeyframeMold = _keyframes[_keyframes.length - 1];
         _numFrames = lastKf.index + lastKf.duration;

-        var lastItem :String;
+        var lastItem :String = null;
         for (var ii :int = 0; ii < _keyframes.length && lastItem == null; ii++) {
             lastItem = _keyframes[ii].ref;
         }


fixing build for asdoc

fixing build for asdoc

--- FlexUnit4/src/org/flexunit/runner/Request.as
+++ FlexUnit4/src/org/flexunit/runner/Request.as
@@ -40,9 +40,9 @@
 	use namespace classInternal;

 	/**
-	 * A Request is an abstract description of tests to be run.  It represents an object that
+	 *
A Request is an abstract description of tests to be run.  It represents an object that
 	 * wraps tests when they are presented to the FlexUnitCore.  Requests can be
-	 * filtered and sorted to control the subset and order of tests to be executed.

+	 * filtered and sorted to control the subset and order of tests to be executed.

 	 *
 	 * The following static methods can be used to create requests:
 	 *

@@ -52,14 +52,14 @@
 	 *
#method()

 	 *

 	 *
-	 * The key property of the Request that the FlexUnitCore needs is the
+	 *
The key property of the Request that the FlexUnitCore needs is the
 	 * IRunner.  The IRunner is an interface implemented by any object
-	 * capable of executing a specific type of test.

+	 * capable of executing a specific type of test.

 	 *
-	 * The flow when FlexUnit4 runs tests is that a Request specifies some tests to be run.
+	 *
The flow when FlexUnit4 runs tests is that a Request specifies some tests to be run.
 	 * The IRunner is created for each class implied by the Request.  The
 	 * IRunner provides a detailed IDescription of the class which is a tree
-	 * structure of the tests to be run.
+	 * structure of the tests to be run.

 	 */
 	public class Request implements IRequest {
 		/**


- hopefully prevented null pointer exception

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@796 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/core/TooltipManager.as
+++ src/reprise/core/TooltipManager.as
@@ -214,6 +214,7 @@

 		protected function updateTooltipPosition():void
 		{
+			if (!m_tooltip) return;
 			m_tooltip.updatePosition();
 		}


Change 20080825-hqm-A by hqm@badtzmaru.home on 2008-08-25 17:01:30 EDT
    in /Users/hqm/openlaszlo/trunk/WEB-INF/lps/lfc
    for http://svn.openlaszlo.org/openlaszlo/trunk/WEB-INF/lps/lfc

Summary: slight improvement for swf9 cursor tracking

New Features:

Bugs Fixed:

Technical Reviewer: (pending)
QA Reviewer: (pending)
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:

The sprite only needs to be offset from the mouse position while loading, it can
then track the mouse exactly via startDrag as usual.

Tests:

examples/components/grid_example.lzx
 -- cursor changes to arrows and does not blink when over column resizer.

git-svn-id: d62bde4b5aa582fdf07c8d403e53e0399a7ed285@10770 fa20e4f9-1d0a-0410-b5f3-dc9c16b8b17c

--- WEB-INF/lps/lfc/kernel/swf9/LzMouseKernel.as
+++ WEB-INF/lps/lfc/kernel/swf9/LzMouseKernel.as
@@ -91,15 +91,14 @@
     static function setCursorLocal ( what:String ) {
         if ( LzMouseKernel.__amLocked ) { return; }
         Mouse.hide();
-        cursorSprite.x = LFCApplication.stage.mouseX ;
-        cursorSprite.y = LFCApplication.stage.mouseY ;
+        cursorSprite.x = LFCApplication.stage.mouseX + 1;
+        cursorSprite.y = LFCApplication.stage.mouseY + 1;
         LFCApplication.setChildIndex(cursorSprite, LFCApplication._sprite.numChildren-1);
         if (lastCursorResource != what) {
             if (cursorSprite.numChildren > 0) {
                 cursorSprite.removeChildAt(0);
             }
             var resourceSprite = getCursorResource(what);
-            resourceSprite.y = 1;
             cursorSprite.addChild( resourceSprite );
             lastCursorResource = what;
         }
@@ -109,7 +108,6 @@
         cursorSprite.visible = true;
     }

-
     static function mouseLeaveHandler(evt:Event):void {
         cursorSprite.visible = false;
     }


Hide hand mesh as a fuse is picked up and show it again when it's returned.


iOS only: use invoke url only if it starts with fb

--- actionscript/mobile/src/com/freshplanet/ane/AirFacebook/Facebook.as
+++ actionscript/mobile/src/com/freshplanet/ane/AirFacebook/Facebook.as
@@ -246,7 +246,10 @@
 				if (event.arguments != null && event.arguments.length > 0)
 				{
 					var url:String = event.arguments[0] as String;
-					_context.call("handleOpenURL", url);
+					if (url.indexOf("fb") == 0) // only handle invoke that starts with fb
+					{
+						_context.call("handleOpenURL", url);
+					}
 				}
 			}
 		}


Fixup.
If there's an error when calling the callback function,
we were assuming it was an argument-related error and trying again.
However, this is sorta bad behavior as we don't want to call
twice into a callback. In the case I was seeing, the first time
in caused an NPE, but popped up a panel, and the second try
was no-opping because the panel was already up (but misconfigured).

So: don't even try a second call, because it looks like
flash will accept args to an argless function.
We'll have to try this out for a while and see if it works.
If so, I can neaten this code. If not, I'll uncomment
some of this and try a more surgical approach (only catch
ArgumentError, only retry if we had 1 boolean arg.)

git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@5585 542714f4-19e9-0310-aa3c-eee0fc999fb1

--- src/as/com/threerings/util/CommandEvent.as
+++ src/as/com/threerings/util/CommandEvent.as
@@ -35,7 +35,7 @@
      * Use this method to dispatch CommandEvents.
      */
     public static function dispatch (
-            disp :IEventDispatcher, cmdOrFn :Object, arg :Object = null) :void
+        disp :IEventDispatcher, cmdOrFn :Object, arg :Object = null) :void
     {
         if (cmdOrFn is Function) {
             var fn :Function = (cmdOrFn as Function);
@@ -53,23 +53,31 @@
             } else {
                 args = [ arg ];
             }
+
+            // now trying calling it
+            var err :Error = null;
             try {
                 fn.apply(null, args);
-            } catch (err :Error) {
-                if (arg == null) {
-                    try {
-                        // try with no args
-                        fn();
-                        err = null; // on success, clear the error
-                    } catch (err2 :Error) {
-                        err = err2;
-                    }
-                }
-                if (err != null) {
-                    var log :Log = Log.getLog(CommandEvent);
-                    log.warning("Unable to call command callback, stack trace follows.");
-                    log.logStackTrace(err);
-                }
+
+// Commented out 2008-12-09 by Ray. I'm not sure we need this, it seems you can pass args
+// to an argless function without error.
+//            } catch (ae :ArgumentError) {
+//                if (arg is Boolean) {
+//                    // try with no args
+//                    try {
+//                        fn();
+//                    } catch (e2 :Error) {
+//                        err = e2;
+//                    }
+//                } else {
+//                    err = ae;
+//                }
+
+            } catch (e :Error) {
+                err = e;
+            }
+            if (err != null) {
+                Log.getLog(CommandEvent).warning("Unable to call callback.", err);
             }

         } else if (cmdOrFn is String) {
@@ -80,8 +88,8 @@
             // Dispatch it. A return value of true means that the event was
             // never cancelled, so we complain.
             if (disp == null || disp.dispatchEvent(event)) {
-                Log.getLog(CommandEvent).warning("Unhandled controller command " +
-                    "[cmd=" + cmd + ", arg=" + arg + ", disp=" + disp + "].");
+                Log.getLog(CommandEvent).warning("Unhandled controller command",
+                    "cmd", cmd, "arg", arg, "disp", disp);
             }

         } else {
@@ -92,7 +100,8 @@
     /**
      * Configure a bridge from something like a pop-up window to an alternate target.
      */
-    public static function configureBridge (source :IEventDispatcher, target :IEventDispatcher) :void
+    public static function configureBridge (
+        source :IEventDispatcher, target :IEventDispatcher) :void
     {
         source.addEventListener(COMMAND,
             function (event :CommandEvent) :void {


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

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

 package mx.messaging.messages
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 9235
Author:   cframpto@adobe.com
Date:     2009-08-11T21:33:57.707988Z

Log Message:
-----------
Fix errors and improve RadioButton/RadioButtonGroup asdocs.

QE notes:
Doc notes:
Bugs: SDK-21183
Reviewer:
Tests run: checkintests RadioButton
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RadioButton.as</path>

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

--- frameworks/projects/spark/src/spark/components/RadioButton.as
+++ frameworks/projects/spark/src/spark/components/RadioButton.as
@@ -55,21 +55,21 @@

 /**
- *  The RadioButton control lets the user make a single choice
+ *  The RadioButton component allows the user make a single choice
  *  within a set of mutually exclusive choices.
- *  A RadioButton group is composed of two or more RadioButton controls
+ *  A RadioButtonGroup is composed of two or more RadioButton components
  *  with the same groupName property.
  *  While grouping RadioButton instances in a RadioButtonGroup is optional,
- *  a group lets you do things like set a single event handler on a group of buttons,
- *  rather than on each individual button.
+ *  a group lets you do things like set a single event handler on a group of
+ *  RadioButtons, rather than on each individual RadioButton.
  *
- *
The RadioButton group can refer to a group created by the
+ *
The RadioButton group can refer to the a group created by the
  *  <s:RadioButtonGroup> tag.
  *  The user selects only one member of the group at a time.
  *  Selecting an unselected group member deselects the currently selected
- *  RadioButton control within that group.

+ *  RadioButton component within that group.

  *
- *
The RadioButton control has the following default characteristics:

+ *
The RadioButton component has the following default characteristics:

  *

  *

  *           Characteristic
@@ -77,7 +77,7 @@
  *

  *

  *           Default size
- *           Wide enough to display the text label of the control
+ *           Wide enough to display the text label of the component
  *

  *

  *           Minimum size
@@ -101,14 +101,12 @@
  *

  *  <s:RadioButton
  *    Properties
- *    group=""
- *    groupName="RadioButtonGroup_n"
- *    selected=""
+ *    group=the automatically created default RadioButtonGroup
+ *    groupName="radioGroup"
  *    value="null"
  *  />
  *

  *
- *  @see spark.components.RadioButtonGroup
  *  @see spark.components.RadioButtonGroup
  *  @see spark.skins.spark.RadioButtonSkin
  *  @includeExample examples/RadioButtonExample.mxml
@@ -175,6 +173,31 @@
     //
     //--------------------------------------------------------------------------

+    //----------------------------------
+    //  enabled
+    //----------------------------------
+
+    /**
+     *  The RadioButton component is enabled if the
+     *  RadioButtonGroup is enabled and the RadioButton itself is enabled.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override public function get enabled():Boolean
+    {
+        // Is the radio button itself enabled?
+        if (!super.enabled)
+            return false;
+
+        // The button is enabled so it's enabled if it's not in a group
+        // or the group is enabled.
+        return !radioButtonGroup ||
+               radioButtonGroup.enabled;
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Properties
@@ -192,15 +215,13 @@
     private var _group:RadioButtonGroup;

     /**
-     *  The RadioButtonGroup object to which this RadioButton belongs.
-     *  When creating radio buttons to put in a RadioButtonGroup, it is
-     *  advisable to use either the group property
+     *  The RadioButtonGroup component to which this RadioButton belongs.
+     *  When creating RadioButtons to put in a RadioButtonGroup, you
+     *  should use either the group property
      *  or the groupName property for all of
-     *  the buttons.  The groupName property will be set
-     *  to the generated name of the
-     *  RadioButtonGroup object.
+     *  the buttons.
      *
-     *  @default the default RadioButtonGroup
+     *  @default the automatically created default RadioButtonGroup
      *  @see #groupName
      *
      *  @langversion 3.0
@@ -300,18 +321,19 @@
     [Inspectable(category="General", defaultValue="radioGroup")]

     /**
-     *  Specifies the name of the group to which this RadioButton control belongs, or
-     *  specifies the value of the id property of a RadioButtonGroup control
-     *  if this RadioButton is part of a group defined by a RadioButtonGroup control.
-     *  All radio buttons with the same groupName property will be in the same tab group,
-     *  even if they belong to different radio button groups. When creating
+     *  Specifies the name of the group to which this RadioButton component belongs, or
+     *  specifies the value of the id property of a RadioButtonGroup component
+     *  if this RadioButton is part of a group defined by a RadioButtonGroup component.
+     *  All radio buttons with the same groupName property will be in the same tab group.
+     *
+     *
When creating
      *  radio buttons to put in a RadioButtonGroup, it is advisable to
      *  use either the group property
-     *  or the groupName property for all of the buttons.
+     *  or the groupName property for all of the buttons.

      *
-     *  @default "RadioButtonGroup_n", where n is an integer greater
-     *  than or equal to 0
+     *  @default "radioGroup"
      *  @see #group
+     *  @see mx.manager.IFocusManagerGroup#groupName
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -353,12 +375,7 @@
     //----------------------------------

     /**
-     *  @inheritDoc
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+     *  @private
      */
     override public function set selected(value:Boolean):void
     {
@@ -380,7 +397,7 @@

     /**
      *  Optional user-defined value
-     *  that is associated with a RadioButton control.
+     *  that is associated with a RadioButton component.
      *
      *  @default null
      *
@@ -446,7 +463,7 @@
      */
     private function get autoGroupIndex():String
     {
-        return "_fx_" + groupName;
+        return "_spark_" + groupName;
     }

     /**
@@ -587,24 +604,6 @@
             g.setSelection(this);
     }

-   /**
-     *  @private
-     *  The radio button group and the radio button each have enabled properties.
-     *  The radio button component is enabled if the group is enabled and the button
-     *  itself is enabled.
-     */
-    override public function get enabled():Boolean
-    {
-        // Is the radio button itself enabled?
-        if (!super.enabled)
-            return false;
-
-        // The button is enabled so it's enabled if it's not in a group
-        // or the group is enabled.
-        return !radioButtonGroup ||
-               radioButtonGroup.enabled;
-    }
-
     //--------------------------------------------------------------------------
     //
     //  Overridden functions: UIComponent


Transferred from the Adobe Open Source Subversion Repository

Revision: 13168
Author:   gosmith@adobe.com
Date:     2009-12-22T22:31:13.970084Z

Log Message:
-----------
Changed how accessibility works in the Spark Panel and TitleWindow.

Previously, we were attaching the PanelAccImpl or TitleWindowAccImpl to the titleDisplay, which complicated things. The first complication was that the titleDisplay is a skin part that might not be there when initializeAccessibility() is called. The second complication was in trying to get the MSAA Location to be the size of the Panel or TitleWindow, not the size of the titleDisplay; this wasn't working properly due to timing issues, since the titleDisplay redraws after the Panel/TitleWindow.

Now, we attach the acc impl to a special first child Sprite which stays behind all the content. The accessibility code in Panel and TitleWindow goes back to being completely standard; the creation and drawing of this Sprite (to get the MSAA Location correct) is handled in PanelAccImpl and inherited by TitleWindowAccImpl.

To prevent the title from being spoken twice, I null out the titleDisplay's own accessibilityImplementation at initialization or when the titelDisplay is added as a skin part. But I keep a reference to it in the component's acc impl so that I can restore it when the titleDisplay is removed as a skin part. For some reason, simply setting accessibilityEnabled to false didn't seem to work.

I also changed the logic in TitleWindowAccImpl for dispatching the MSAA events EVENT_OBJECT_LOCATIONCHANGE and EVENT_OBJECT_DESTROY. Previously, EVENT_OBJECT_LOCATIONCHANGE was being sent in response to a MOUSE_UP from the titleDisplay (after a drag); now it is sent in response to a WINDOW_MOVE_END from the TitleWindow (after a drag). And, previously, EVENT_OBJECT_DESTROY was sent in response to a MOUSE_UP from the closeButton (after a click); now it is sent in response to a CLOSE from the TitleWindow.

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/components/TitleWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.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/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/TitleWindowAccImpl.as</path>

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

--- frameworks/projects/spark/src/spark/components/TitleWindow.as
+++ frameworks/projects/spark/src/spark/components/TitleWindow.as
@@ -309,12 +309,8 @@
      */
     override protected function initializeAccessibility():void
     {
-		// Do nothing... don't even call super.
-		// The TitleWindowAccImpl needs to be attached not to the TitleWindow
-		// but to the TitleWindow's titleDisplay, which is a skin part
-		// which may not exist initially and which may come and go.
-		// So we have to create and attach the TitleWindowAccImpl
-		// in partAdded() instead.
+		if (TitleWindow.createAccessibilityImplementation != null)
+			TitleWindow.createAccessibilityImplementation(this);
     }

     /**
@@ -358,20 +354,6 @@
      */
     override protected function partAdded(partName:String, instance:Object) : void
     {
-		if (instance == titleDisplay)
-		{
-			// Since the TitleWindowAccImpl must be attached to the TitleWindow's
-			// titleDisplay instead of to the TitleWindow itself, we delay doing this
-			// until we are sure there is a titleDisplay, and we do it again if it gets
-			// re-added.
-			// We also do it before calling the supermethod on Panel,
-			// which creates a PanelAccImpl but only if an acc impl doesn't already exist.
-			// In this way we avoid TitleWindow creating both a TitleWindowAccImpl
-			// and a PanelAccImpl.
-			if (TitleWindow.createAccessibilityImplementation != null)
-				TitleWindow.createAccessibilityImplementation(this);
-		}
-
 		super.partAdded(partName, instance);

         if (instance == moveArea)
@@ -392,9 +374,6 @@
     {
         super.partRemoved(partName, instance);

-		// Nulling of titleDisplay.accessibilityImplementation when the titleDisplay
-		// is removed is handled by the supermethod.
-
         if (instance == moveArea)
             moveArea.removeEventListener(MouseEvent.MOUSE_DOWN, moveArea_mouseDownHandler);

@@ -682,4 +661,5 @@
         }
     }
 }
-}+
+}