Transferred from the Adobe Open Source Subversion Repository

Revision: 3139
Author:   jimurphy@adobe.com
Date:     2008-09-08T15:42:37.788151Z

Log Message:
-----------
Merged 3.0.x revisions [3074,3079-3080,3086,3094,3096,3098,3101-3102,3104,3108,3114,3123,3125-3126] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FocusRequestDirection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/EventListenerRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/SecurityUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/SWFBridgeGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InvalidateRequestData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeProvider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterManagerRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as
+++ frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as
@@ -14,7 +14,9 @@

 import flash.utils.getDefinitionByName;

+
 import mx.collections.ArrayCollection;
+import mx.core.Application;
 import mx.core.mx_internal;
 import mx.messaging.Channel;
 import mx.messaging.ChannelSet;
@@ -69,29 +71,29 @@
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  @private
-	 *  Storage for the resourceManager getter.
-	 *  This gets initialized on first access,
-	 *  not at static initialization time, in order to ensure
-	 *  that the Singleton registry has already been initialized.
-	 */
-	private static var _resourceManager:IResourceManager;
-
-	/**
-	 *  @private
+    /**
+     *  @private
+     *  Storage for the resourceManager getter.
+     *  This gets initialized on first access,
+     *  not at static initialization time, in order to ensure
+     *  that the Singleton registry has already been initialized.
+     */
+    private static var _resourceManager:IResourceManager;
+
+    /**
+     *  @private
      *  A reference to the object which manages
      *  all of the application's localized resources.
      *  This is a singleton instance which implements
      *  the IResourceManager interface.
-	 */
-	private static function get resourceManager():IResourceManager
-	{
-		if (!_resourceManager)
-			_resourceManager = ResourceManager.getInstance();
-
-		return _resourceManager;
-	}
+     */
+    private static function get resourceManager():IResourceManager
+    {
+        if (!_resourceManager)
+            _resourceManager = ResourceManager.getInstance();
+
+        return _resourceManager;
+    }

     //--------------------------------------------------------------------------
     //
@@ -99,12 +101,12 @@
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  @private
-	 *  The server configuration data.
-	 */
-	public static var serverConfigData:XML;
-
+    /**
+     *  @private
+     *  The server configuration data.
+     */
+    public static var serverConfigData:XML;
+
     /**
      *  @private
      *  Caches shared ChannelSets, keyed by strings having the format:
@@ -139,9 +141,9 @@
     //
     //--------------------------------------------------------------------------

-	//----------------------------------
-	//  xml
-	//----------------------------------
+    //----------------------------------
+    //  xml
+    //----------------------------------

     /**
      *  The XML configuration; this value must contain the relevant portions of
@@ -263,7 +265,7 @@
      */
     public static function getChannelSet(destinationId:String):ChannelSet
     {
-    	var destinationConfig:XML = getDestinationConfig(destinationId);
+        var destinationConfig:XML = getDestinationConfig(destinationId);
         return internalGetChannelSet(destinationConfig, destinationId);
     }

@@ -278,20 +280,20 @@
      */
     public static function getProperties(destinationId:String):XMLList
     {
-    	var destination:XMLList = xml..destination.(@id == destinationId);
-
-    	if (destination.length() > 0)
-		{
-    		return destination.properties;
-		}
-    	else
-		{
-			var message:String = resourceManager.getString(
-				"messaging", "unknownDestination", [ destinationId ]);
-    		throw new InvalidDestinationError(message);
-		}
-
-    	return destination;
+        var destination:XMLList = xml..destination.(@id == destinationId);
+
+        if (destination.length() > 0)
+        {
+            return destination.properties;
+        }
+        else
+        {
+            var message:String = resourceManager.getString(
+                "messaging", "unknownDestination", [ destinationId ]);
+            throw new InvalidDestinationError(message);
+        }
+
+        return destination;
     }

     //--------------------------------------------------------------------------
@@ -354,8 +356,8 @@
      */
     mx_internal static function getChannelIdList(destination:String):Array
     {
-     	var destinationConfig:XML = getDestinationConfig(destination);
-		return destinationConfig? getChannelIds(destinationConfig)
+         var destinationConfig:XML = getDestinationConfig(destination);
+        return destinationConfig? getChannelIds(destinationConfig)
                                         : getDefaultChannelIds();
     }

@@ -364,14 +366,14 @@
      *  Used by the Channels to determine whether the Channel should request
      *  dynamic configuration from the server for its MessageAgents.
      */
-	mx_internal static function needsConfig(channel:Channel):Boolean
-	{
-	    // Configuration for the endpoint has not been fetched by some other channel.
-	    if (_configFetchedChannels == null || _configFetchedChannels[channel.endpoint] == null)
+    mx_internal static function needsConfig(channel:Channel):Boolean
+    {
+        // Configuration for the endpoint has not been fetched by some other channel.
+        if (_configFetchedChannels == null || _configFetchedChannels[channel.endpoint] == null)
         {
-    	    var channelSets:Array = channel.channelSets;
-    	    var m:int = channelSets.length;
-    		for (var i:int = 0; i < m; i++)
+            var channelSets:Array = channel.channelSets;
+            var m:int = channelSets.length;
+            for (var i:int = 0; i < m; i++)
             {
                 var messageAgents:Array = ChannelSet(channelSets[i]).messageAgents;
                 var n:int = messageAgents.length;
@@ -383,8 +385,8 @@
             }
         }
         return false;
-	}
-
+    }
+
     /**
      *  @private
      *  This method updates the xml with serverConfig object returned from the
@@ -392,79 +394,79 @@
      */
      mx_internal static function updateServerConfigData(serverConfig:ConfigMap, endpoint:String = null):void
      {
-		if (serverConfig != null)
-		{
-		    if (endpoint != null)
-		    {
-    		    // Add the endpoint uri to the list of uris whose configuration
-    		    // has been fetched.
-    		    if (_configFetchedChannels == null)
-    		        _configFetchedChannels = {};
-
-    		    _configFetchedChannels[endpoint] = true;
-		    }
-
-			var newServices:XML = <services></services>;
-			convertToXML(serverConfig, newServices);
-
-	        // Update default-channels of the application
+        if (serverConfig != null)
+        {
+            if (endpoint != null)
+            {
+                // Add the endpoint uri to the list of uris whose configuration
+                // has been fetched.
+                if (_configFetchedChannels == null)
+                    _configFetchedChannels = {};
+
+                _configFetchedChannels[endpoint] = true;
+            }
+
+            var newServices:XML = <services></services>;
+            convertToXML(serverConfig, newServices);
+
+            // Update default-channels of the application
             xml["default-channels"] = newServices["default-channels"];

             // Update the services
-			for each (var newService:XML in newServices..service)
-			{
-				var oldServices:XMLList = xml.service.(@id == newService.@id);
-				if (oldServices.length() != 0)
-				{
-					// Assuming only one service exists with the id
-					var oldService:XML = oldServices[0];
-
-					// Update destinations
-					for each (var newDestination:XML in newService..destination)
-					{
-						var oldDestinations:XMLList = oldService.destination.(@id == newDestination.@id);
-						if (oldDestinations.length() != 0)
-						{
-							// Assuming only one destination exists with the id
-							delete oldDestinations[0];
-						}
-						oldService.appendChild(newDestination);
-					}
-				}
-				else
-				{
-					xml.appendChild(newService);
-				}
-			}
-
-			// Update the channels
-			var newChannels:XMLList = newServices.channels;
+            for each (var newService:XML in newServices..service)
+            {
+                var oldServices:XMLList = xml.service.(@id == newService.@id);
+                if (oldServices.length() != 0)
+                {
+                    // Assuming only one service exists with the id
+                    var oldService:XML = oldServices[0];
+
+                    // Update destinations
+                    for each (var newDestination:XML in newService..destination)
+                    {
+                        var oldDestinations:XMLList = oldService.destination.(@id == newDestination.@id);
+                        if (oldDestinations.length() != 0)
+                        {
+                            // Assuming only one destination exists with the id
+                            delete oldDestinations[0];
+                        }
+                        oldService.appendChild(newDestination);
+                    }
+                }
+                else
+                {
+                    xml.appendChild(newService);
+                }
+            }
+
+            // Update the channels
+            var newChannels:XMLList = newServices.channels;
             if (newChannels.length() > 0)
             {
-       		    var oldChannels:XML = xml.channels[0];
-	    		if (oldChannels == null || oldChannels.length() == 0)
-    			{
-			        xml.appendChild(newChannels);
-	    		}
-	    		// Commenting this section out as there is no real use case
-	    		// for updating channel definitions.
-	    		/*
-		    	else
-			    {
-			        for each (var newChannel:XML in newChannels.channel)
-			        {
-			            var oldChannel:XMLList = oldChannels.channel.(@id == newChannel.@id);
-			            if (oldChannel.length() > 0)
-	                    {
-	                        // Assuming only one channel exists with the same id.
-	                        delete oldChannel[0];
-	                    }
-	                    oldChannels.appendChild(newChannel);
-			        }
-			    }
-			    */
+                   var oldChannels:XML = xml.channels[0];
+                if (oldChannels == null || oldChannels.length() == 0)
+                {
+                    xml.appendChild(newChannels);
+                }
+                // Commenting this section out as there is no real use case
+                // for updating channel definitions.
+                /*
+                else
+                {
+                    for each (var newChannel:XML in newChannels.channel)
+                    {
+                        var oldChannel:XMLList = oldChannels.channel.(@id == newChannel.@id);
+                        if (oldChannel.length() > 0)
+                        {
+                            // Assuming only one channel exists with the same id.
+                            delete oldChannel[0];
+                        }
+                        oldChannels.appendChild(newChannel);
+                    }
+                }
+                */
             }
-		}
+        }
      }

     //--------------------------------------------------------------------------
@@ -486,13 +488,13 @@
      */
     private static function createChannel(channelId:String):Channel
     {
-		var message:String;
-
+        var message:String;
+
         var channels:XMLList = xml.channels.channel.(@id == channelId);
         if (channels.length() == 0)
         {
-			message = resourceManager.getString(
-				"messaging", "unknownChannelWithId", [ channelId ]);
+            message = resourceManager.getString(
+                "messaging", "unknownChannelWithId", [ channelId ]);
             throw new InvalidChannelError(message);
         }

@@ -505,92 +507,101 @@
             var channelClass:Class = getDefinitionByName(className) as Class;
             channel = new channelClass(channelId, uri);
             channel.applySettings(channelConfig);
+
+            // WSRP support
+            // If we have an WSRP_ENCODED_CHANNEL in FlashVars,
+            // use that instead of uri configured in the config file
+            if (Application.application.parameters.WSRP_ENCODED_CHANNEL != null)
+            {
+                channel.url = Application.application.parameters.WSRP_ENCODED_CHANNEL;
+                //trace("Using WSRP_ENCODED_CHANNEL: " + channel.url);
+            }
         }
         catch(e:ReferenceError)
         {
-			message = resourceManager.getString(
-				"messaging", "unknownChannelClass", [ className ]);
+            message = resourceManager.getString(
+                "messaging", "unknownChannelClass", [ className ]);
             throw new InvalidChannelError(message);
         }
         return channel;
     }

-   	/**
-   	 * Converts the ConfigMap of properties into XML
-   	 */
-	private static function convertToXML(config:ConfigMap, configXML:XML):void
-	{
-		for (var propertyKey:Object in config)
-		{
-			var propertyValue:Object = config[propertyKey];
-
-			if (propertyValue is String)
-			{
-				if (propertyKey == "")
-				{
-					// Add as a value
-					var name:Object = configXML.localName();
-					var parent:XML = configXML.parent();
-					parent[name] = propertyValue;
-				}
-				else
-				{
-					// Add as an attribute
-					configXML.@[propertyKey] = propertyValue;
-				}
-			}
-			else if (propertyValue is ArrayCollection || propertyValue is Array)
-			{
-				var propertyValueList:Array;
-				if (propertyValue is ArrayCollection)
-					propertyValueList = ArrayCollection(propertyValue).toArray();
-				else
-					propertyValueList = propertyValue as Array;
-
-			    for (var i:int = 0; i < propertyValueList.length; i++)
-	    		{
-   					var propertyXML1:XML = <{propertyKey}></{propertyKey}>
-					configXML.appendChild(propertyXML1);
-					convertToXML(propertyValueList[i] as ConfigMap, propertyXML1);
-	    		}
-			}
-			else // assuming that it is ConfigMap
-			{
-   				var propertyXML2:XML = <{propertyKey}></{propertyKey}>
-				configXML.appendChild(propertyXML2);
-				convertToXML(propertyValue as ConfigMap, propertyXML2);
-			}
-		}
-	}
-
+       /**
+        * Converts the ConfigMap of properties into XML
+        */
+    private static function convertToXML(config:ConfigMap, configXML:XML):void
+    {
+        for (var propertyKey:Object in config)
+        {
+            var propertyValue:Object = config[propertyKey];
+
+            if (propertyValue is String)
+            {
+                if (propertyKey == "")
+                {
+                    // Add as a value
+                    var name:Object = configXML.localName();
+                    var parent:XML = configXML.parent();
+                    parent[name] = propertyValue;
+                }
+                else
+                {
+                    // Add as an attribute
+                    configXML.@[propertyKey] = propertyValue;
+                }
+            }
+            else if (propertyValue is ArrayCollection || propertyValue is Array)
+            {
+                var propertyValueList:Array;
+                if (propertyValue is ArrayCollection)
+                    propertyValueList = ArrayCollection(propertyValue).toArray();
+                else
+                    propertyValueList = propertyValue as Array;
+
+                for (var i:int = 0; i < propertyValueList.length; i++)
+                {
+                       var propertyXML1:XML = <{propertyKey}></{propertyKey}>
+                    configXML.appendChild(propertyXML1);
+                    convertToXML(propertyValueList[i] as ConfigMap, propertyXML1);
+                }
+            }
+            else // assuming that it is ConfigMap
+            {
+                   var propertyXML2:XML = <{propertyKey}></{propertyKey}>
+                configXML.appendChild(propertyXML2);
+                convertToXML(propertyValue as ConfigMap, propertyXML2);
+            }
+        }
+    }
+
     private static function getChannelIds(destinationConfig:XML):Array
     {
         var result:Array = [];
         var channels:XMLList = destinationConfig.channels.channel;
-	    var n:int = channels.length();
-	    for (var i:int = 0; i < n; i++)
-	    {
-	        result.push(channels[i].@ref.toString());
-	    }
+        var n:int = channels.length();
+        for (var i:int = 0; i < n; i++)
+        {
+            result.push(channels[i].@ref.toString());
+        }
         return result;
     }
-
+
     /**
      * @private
      * This method returns a list of default channel ids for the application
      */
-	private static function getDefaultChannelIds():Array
-	{
-		var result:Array = [];
-		var channels:XMLList = xml["default-channels"].channel;
+    private static function getDefaultChannelIds():Array
+    {
+        var result:Array = [];
+        var channels:XMLList = xml["default-channels"].channel;
         var n:int = channels.length();
         for (var i:int = 0; i < n; i++)
         {
             result.push(channels[i].@ref.toString());
         }
         return result;
-	}
-
+    }
+
     /**
      *  Returns the destination XML data specific to the destination and message
      *  type specified. Returns null if the destination is not found.
@@ -601,7 +612,7 @@
         var destinationCount:int = destinations.length();
         if (destinationCount == 0)
         {
-			return null;
+            return null;
         }
         else
         {
@@ -624,23 +635,23 @@
                                         destinationId:String):ChannelSet
     {
         var channelIds:Array;
-		var clustered:Boolean;
+        var clustered:Boolean;

         if (destinationConfig == null)
         {
-        	channelIds = getDefaultChannelIds();
+            channelIds = getDefaultChannelIds();
             if (channelIds.length == 0)
             {
-				var message:String = resourceManager.getString(
-					"messaging", "noChannelForDestination", [ destinationId ]);
+                var message:String = resourceManager.getString(
+                    "messaging", "noChannelForDestination", [ destinationId ]);
                 throw new InvalidDestinationError(message);
             }
-        	clustered = false;
+            clustered = false;
         }
         else
         {
-			channelIds = getChannelIds(destinationConfig);
-			clustered = (destinationConfig.properties.network.cluster.length() > 0) ? true : false;
+            channelIds = getChannelIds(destinationConfig);
+            clustered = (destinationConfig.properties.network.cluster.length() > 0) ? true : false;
         }

         var channelSetId:String = channelIds.join(",") + ":" + clustered;


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

--- frameworks/projects/rpc/src/mx/messaging/events/MessageEvent.as
+++ frameworks/projects/rpc/src/mx/messaging/events/MessageEvent.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.messaging.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19979
Author:   klin@adobe.com
Date:     2011-01-27T19:42:05.470754Z

Log Message:
-----------
Refactoring shared transformation code in UIComponent, SpriteVisualElement, and UIMovieClip into a utility class, TransformUtil. The methods transformAround() and transformPointToParent() are now delegated to the new class. For transformAround, the components also pass in their AdvancedLayoutFeatures and initAdvancedLayoutFeatures() method so that TransformUtil can create and initialize the layout features object if necessary.

QE notes: No
Doc notes: No
Bugs: SDK-22637
Reviewer: Evtim
Tests run: cyclone server, checkintests
Is noteworthy for integration: Yes, possibly for FC

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/TransformUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>

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

--- frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
+++ frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
@@ -53,6 +53,7 @@
 import mx.graphics.shaderClasses.SoftLightShader;
 import mx.managers.ILayoutManagerClient;
 import mx.utils.MatrixUtil;
+import mx.utils.TransformUtil;

 import spark.components.ResizeMode;
 import spark.utils.MaskUtil;
@@ -136,18 +137,12 @@

     /**
      *  @private
-     *  Static point for use in transformPointToParent
-     */
-    private static var xformPt:Point;
-
-    /**
-     *  @private
      *  Initializes the implementation and storage of some of the less
      *  frequently used advanced layout features of a component.
      *  Call this function before attempting to use any of the
      *  features implemented by the AdvancedLayoutFeatures object.
      */
-    private function initAdvancedLayoutFeatures():void
+    private function initAdvancedLayoutFeatures():AdvancedLayoutFeatures
     {
         var features:AdvancedLayoutFeatures = new AdvancedLayoutFeatures();

@@ -169,6 +164,7 @@
         _layoutFeatures = features;

         invalidateTransform();
+        return features;
     }

     /**
@@ -2835,102 +2831,43 @@
             _includeInLayout = false;
         }

-        if (_layoutFeatures == null)
-        {
-            // TODO (chaase): should provide a way to return to having no
-            // layoutFeatures if we call this later with a more trivial
-            // situation
-            var needAdvancedLayout:Boolean =
-                (scale != null && ((!isNaN(scale.x) && scale.x != 1) ||
-                    (!isNaN(scale.y) && scale.y != 1) ||
-                    (!isNaN(scale.z) && scale.z != 1))) ||
-                (rotation != null && ((!isNaN(rotation.x) && rotation.x != 0) ||
-                    (!isNaN(rotation.y) && rotation.y != 0) ||
-                    (!isNaN(rotation.z) && rotation.z != 0))) ||
-                (translation != null && translation.z != 0 && !isNaN(translation.z)) ||
-                postLayoutScale != null ||
-                postLayoutRotation != null ||
-                (postLayoutTranslation != null &&
-                    (postLayoutTranslation.x != translation.x ||
-                        postLayoutTranslation.y != translation.y ||
-                        postLayoutTranslation.z != translation.z));
-            if (needAdvancedLayout)
-                initAdvancedLayoutFeatures();
-        }
-        if (_layoutFeatures)
-        {
-            _layoutFeatures.transformAround(transformCenter, scale, rotation, translation,
-                postLayoutScale, postLayoutRotation, postLayoutTranslation);
+        TransformUtil.transformAround(this,
+                                      transformCenter,
+                                      scale,
+                                      rotation,
+                                      translation,
+                                      postLayoutScale,
+                                      postLayoutRotation,
+                                      postLayoutTranslation,
+                                      _layoutFeatures,
+                                      initAdvancedLayoutFeatures);
+
+        if (_layoutFeatures != null)
+        {
             invalidateTransform();

             // Will not invalidate parent if we have set _includeInLayout to false
             // in the beginning of the method
             invalidateParentSizeAndDisplayList();
         }
-        else
-        {
-            if (translation == null && transformCenter != null)
-            {
-                if (xformPt == null)
-                    xformPt = new Point();
-                xformPt.x = transformCenter.x;
-                xformPt.y = transformCenter.y;
-                var xformedPt:Point =
-                    transform.matrix.transformPoint(xformPt);
-            }
-            if (rotation != null && !isNaN(rotation.z))
-                this.rotation = rotation.z;
-            if (scale != null)
-            {
-                scaleX = scale.x;
-                scaleY = scale.y;
-            }
-            if (transformCenter == null)
-            {
-                if (translation != null)
-                {
-                    x = translation.x;
-                    y = translation.y;
-                }
-            }
-            else
-            {
-                if (xformPt == null)
-                    xformPt = new Point();
-                xformPt.x = transformCenter.x;
-                xformPt.y = transformCenter.y;
-                var postXFormPoint:Point =
-                    transform.matrix.transformPoint(xformPt);
-                if (translation != null)
-                {
-                    x += translation.x - postXFormPoint.x;
-                    y += translation.y - postXFormPoint.y;
-                }
-                else
-                {
-                    x += xformedPt.x - postXFormPoint.x;
-                    y += xformedPt.y - postXFormPoint.y;
-                }
-            }
-        }

         if (!invalidateLayout)
             _includeInLayout = oldIncludeInLayout;
     }

     /**
-     * A utility method to transform a point specified in the local
-     * coordinates of this object to its location in the object's parent's
-     * coordinates. The pre-layout and post-layout result will be set on
-     * the position and postLayoutPosition
-     * parameters, if they are non-null.
-     *
-     * @param localPosition The point to be transformed, specified in the
-     * local coordinates of the object.
-     * @param position A Vector3D point that will hold the pre-layout
-     * result. If null, the parameter is ignored.
-     * @param postLayoutPosition A Vector3D point that will hold the post-layout
-     * result. If null, the parameter is ignored.
+     *  A utility method to transform a point specified in the local
+     *  coordinates of this object to its location in the object's parent's
+     *  coordinates. The pre-layout and post-layout result will be set on
+     *  the position and postLayoutPosition
+     *  parameters, if they are non-null.
+     *
+     *  @param localPosition The point to be transformed, specified in the
+     *  local coordinates of the object.
+     *  @param position A Vector3D point that will hold the pre-layout
+     *  result. If null, the parameter is ignored.
+     *  @param postLayoutPosition A Vector3D point that will hold the post-layout
+     *  result. If null, the parameter is ignored.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -2941,41 +2878,11 @@
                                            position:Vector3D,
                                            postLayoutPosition:Vector3D):void
     {
-        if (_layoutFeatures != null)
-        {
-            _layoutFeatures.transformPointToParent(true, localPosition,
-                position, postLayoutPosition);
-        }
-        else
-        {
-            if (xformPt == null)
-                xformPt = new Point();
-            if (localPosition)
-            {
-                xformPt.x = localPosition.x;
-                xformPt.y = localPosition.y;
-            }
-            else
-            {
-                xformPt.x = 0;
-                xformPt.y = 0;
-            }
-            var tmp:Point = (transform.matrix != null) ?
-                transform.matrix.transformPoint(xformPt) :
-                xformPt;
-            if (position != null)
-            {
-                position.x = tmp.x;
-                position.y = tmp.y;
-                position.z = 0;
-            }
-            if (postLayoutPosition != null)
-            {
-                postLayoutPosition.x = tmp.x;
-                postLayoutPosition.y = tmp.y;
-                postLayoutPosition.z = 0;
-            }
-        }
+        TransformUtil.transformPointToParent(this,
+                                             localPosition,
+                                             position,
+                                             postLayoutPosition,
+                                             _layoutFeatures);
     }

     /**


Remove private static method Copier.isVariableCopyable().

--- dolly-framework/src/main/actionscript/dolly/Copier.as
+++ dolly-framework/src/main/actionscript/dolly/Copier.as
@@ -1,4 +1,5 @@
 package dolly {
+
 import dolly.core.dolly_internal;
 import dolly.core.metadata.MetadataName;

@@ -11,10 +12,6 @@
 use namespace dolly_internal;

 public class Copier {
-
-	private static function isVariableCopyable(variable:Variable, skipMetadataChecking:Boolean = true):Boolean {
-		return !variable.isStatic && (skipMetadataChecking || variable.hasMetadata(MetadataName.COPYABLE));
-	}

 	private static function isAccessorCopyable(accessor:Accessor, skipMetadataChecking:Boolean = true):Boolean {
 		return !accessor.isStatic && accessor.isReadable() && accessor.isWriteable() &&
@@ -30,7 +27,7 @@
 		const isTypeCloneable:Boolean = type.hasMetadata(MetadataName.COPYABLE);
 		if (isTypeCloneable) {
 			for each(variable in type.variables) {
-				if (isVariableCopyable(variable)) {
+				if (!variable.isStatic) {
 					result.push(variable);
 				}
 			}
@@ -44,7 +41,7 @@
 			for each(var metadataContainer:IMetadataContainer in metadataContainers) {
 				if (metadataContainer is Variable) {
 					variable = metadataContainer as Variable;
-					if (isVariableCopyable(variable, false)) {
+					if (!variable.isStatic && variable.hasMetadata(MetadataName.COPYABLE)) {
 						result.push(variable);
 					}
 				} else if (metadataContainer is Accessor) {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7733
Author:   egeorgie@adobe.com
Date:     2009-06-10T23:45:21.156909Z

Log Message:
-----------
Fix bug http://bugs.adobe.com/jira/browse/SDK-21366 VGroup/HGroup doesn't provide paddingTop/paddingLeft/paddingRight/paddingBottom properties

Fix: add 'em. Update the metadata for the rest of the properties.

Doc Notes: None
Bugs: SDK-21366
Reviewer: Glenn
tests: checkintests

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

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

--- frameworks/projects/spark/src/spark/components/HGroup.as
+++ frameworks/projects/spark/src/spark/components/HGroup.as
@@ -85,6 +85,8 @@
     //  gap
     //----------------------------------

+    [Inspectable(category="General")]
+
     /**
      *  @copy spark.layouts.HorizontalLayout#gap
      *
@@ -113,6 +115,7 @@
     //----------------------------------

     [Bindable("propertyChange")]
+    [Inspectable(category="General")]

     /**
      *  @copy spark.layouts.HorizontalLayout#columnCount
@@ -130,8 +133,118 @@
     }

     //----------------------------------
+    //  paddingLeft
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  @copy spark.layouts.HorizontalLayout#paddingLeft
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get paddingLeft():Number
+    {
+        return horizontalLayout.paddingLeft;
+    }
+
+    /**
+     *  @private
+     */
+    public function set paddingLeft(value:Number):void
+    {
+        horizontalLayout.paddingLeft = value;
+    }
+
+    //----------------------------------
+    //  paddingRight
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  @copy spark.layouts.HorizontalLayout#paddingRight
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get paddingRight():Number
+    {
+        return horizontalLayout.paddingRight;
+    }
+
+    /**
+     *  @private
+     */
+    public function set paddingRight(value:Number):void
+    {
+        horizontalLayout.paddingRight = value;
+    }
+
+    //----------------------------------
+    //  paddingTop
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  @copy spark.layouts.HorizontalLayout#paddingTop
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get paddingTop():Number
+    {
+        return horizontalLayout.paddingTop;
+    }
+
+    /**
+     *  @private
+     */
+    public function set paddingTop(value:Number):void
+    {
+        horizontalLayout.paddingTop = value;
+    }
+
+    //----------------------------------
+    //  paddingBottom
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  @copy spark.layouts.HorizontalLayout#paddingBottom
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get paddingBottom():Number
+    {
+        return horizontalLayout.paddingBottom;
+    }
+
+    /**
+     *  @private
+     */
+    public function set paddingBottom(value:Number):void
+    {
+        horizontalLayout.paddingBottom = value;
+    }
+
+    //----------------------------------
     //  requestedColumnCount
     //----------------------------------
+
+    [Inspectable(category="General")]

     /**
      *  @copy spark.layouts.HorizontalLayout#requestedColumnCount
@@ -216,6 +329,8 @@
     //  verticalAlign
     //----------------------------------

+    [Inspectable(category="General", enumeration="top,bottom,middle,justify,contentJustify", defaultValue="top")]
+
     /**
      *  @copy spark.layouts.HorizontalLayout#verticalAlign
      *
@@ -244,6 +359,7 @@
     //----------------------------------

     [Bindable("indexInViewChanged")]
+    [Inspectable(category="General")]

     /**
      *  @copy spark.layouts.HorizontalLayout#firstIndexInView
@@ -263,6 +379,7 @@
     //----------------------------------

     [Bindable("indexInViewChanged")]
+    [Inspectable(category="General")]

     /**
      * @copy spark.layouts.HorizontalLayout#lastIndexInView


Transferred from the Adobe Open Source Subversion Repository

Revision: 12370
Author:   smgilson@adobe.com
Date:     2009-12-02T16:48:37.124467Z

Log Message:
-----------
Fix for doc bug FLEXDOCS-1150

Added a few new examples and default sizes to Spark components

QE notes: -
Doc notes: -
Bugs: -
Reviewer: -
Tests run: - FLEXDOCS-1150
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/SkinnableContainerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/VScrollBarExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/BorderContainerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/HScrollBarExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TileGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/MyBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/BorderContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/SkinnableDataContainerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/DateFormatter.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/ApplicationContainerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NavigatorContent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/TabBar.as
+++ frameworks/projects/spark/src/spark/components/TabBar.as
@@ -77,6 +77,14 @@
  *          <s:Label text="Account Info"/>
  *          </s:NavigatorContent>
  *      </mx:ViewStack>

+ *
+ *
The TabBar container has the following default characteristics:

+ *

+ *
Characteristic	Description

+ *
Default size	Large enough to display the tabs

+ *
Minimum size	0 pixels

+ *
Maximum size	10000 pixels wide and 10000 pixels high

+ *

  *
  *  @mxml
The <s:TabBar> tag inherits all of the tag
  *  attributes of its superclass and adds the following tag attributes:


Transferred from the Adobe Open Source Subversion Repository

Revision: 3755
Author:   chaase@adobe.com
Date:     2008-10-20T21:09:39.321431Z

Log Message:
-----------
Fixed sdk-17414, sdk-17413, sdk-17409. Also fixed various small asdoc errors (related to recent classname changes).

QE Notes: None
Doc Notes: None
Bugs: sdk-17414, sdk-17413, sdk-17409
Reviewer: Hans

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PauseInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Pause.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/PropertyValuesHolder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/IInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxMove.as</path>

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

--- frameworks/projects/framework/src/mx/effects/Pause.as
+++ frameworks/projects/framework/src/mx/effects/Pause.as
@@ -101,6 +101,24 @@
      */
     public var eventName:String

+    /**
+     * The duration property controls the amount of time that this effect
+     * will pause. The duration also serves as a timeout on waiting for
+     * the event to be fired, if eventName was set on this
+     * effect. If duration is less than 0, the effect will wait
+     * indefinitely for the event to fire. If it is set to any other time,
+     * including 0, the effect will end either when that duration has elapsed
+     * or when the named event fires, whichever comes first.
+     *
+     * @default 500
+     *
+     * @see mx.effects.IEffect#duration
+     */
+    override public function get duration():Number
+    {
+        return super.duration;
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Overridden methods


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

--- frameworks/projects/framework/src/mx/effects/Pause.as
+++ frameworks/projects/framework/src/mx/effects/Pause.as
@@ -37,6 +37,11 @@
  *  @see mx.effects.effectClasses.PauseInstance
  *
  *  @includeExample examples/PauseEffectExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Pause extends TweenEffect
 {
@@ -58,6 +63,11 @@
 	 * that named event. A null target is allowed for this effect since
 	 * a Pause effect with simply a duration property is
 	 * not acting on any specific target and therefore does not need one.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function Pause(target:Object = null)
 	{
@@ -98,6 +108,11 @@
      *
      *
This property is optional; the default
      * action is to play without waiting for any event.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var eventName:String

@@ -113,6 +128,11 @@
      * @default 500
      *
      * @see mx.effects.IEffect#duration
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function get duration():Number
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4957
Author:   jimurphy@adobe.com
Date:     2009-02-13T19:44:53.991275Z

Log Message:
-----------
Merge 3.x revisions 4848,4856,4886,4888,4898,4905,4912,4914-4916,4953 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NavBar.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/BrowserManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/SerializationFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ListCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToggleButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SchemaMarshaller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>

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

--- frameworks/projects/mx/src/mx/containers/ViewStack.as
+++ frameworks/projects/mx/src/mx/containers/ViewStack.as
@@ -531,6 +531,7 @@
     //----------------------------------

     [Bindable("valueCommit")]
+    [Bindable("creationComplete")]

     /**
      *  A reference to the currently visible child container.
@@ -582,6 +583,7 @@

     [Bindable("change")]
     [Bindable("valueCommit")]
+    [Bindable("creationComplete")]
     [Inspectable(category="General")]

     /**
@@ -1236,7 +1238,7 @@
             proposedSelectedIndex = 0;
             invalidateProperties();
         }
-        else if (index <= selectedIndex && numChildren > 1)
+        else if (index <= selectedIndex && numChildren > 1 && proposedSelectedIndex == -1)
         {
             selectedIndex++;
         }