Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/core/FlexModuleFactory.as
+++ frameworks/projects/framework/src/mx/core/FlexModuleFactory.as
@@ -0,0 +1,559 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.core
+{
+
+import flash.display.MovieClip;
+import flash.events.Event;
+import flash.events.IOErrorEvent;
+import flash.events.SecurityErrorEvent;
+import flash.events.TimerEvent;
+import flash.system.ApplicationDomain;
+import flash.text.TextField;
+import flash.text.TextFieldAutoSize;
+import flash.utils.Timer;
+import flash.utils.getDefinitionByName;
+import mx.core.RSLItem;
+import mx.core.RSLListLoader;
+import mx.resources.IResourceManager;
+import mx.resources.ResourceManager;
+
+[ExcludeClass]
+
+/**
+ *  @private
+ */
+public class FlexModuleFactory extends MovieClip implements IFlexModuleFactory
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  @private
+	 */
+    private static const INIT_STATE:int = 0;
+
+    /**
+	 *  @private
+	 */
+	private static const RSL_START_LOAD_STATE:int = 1;
+
+    /**
+	 *  @private
+	 */
+	private static const APP_LOAD_STATE:int = 2;
+
+    /**
+	 *  @private
+	 */
+	private static const APP_START_STATE:int = 3;
+
+    /**
+	 *  @private
+	 */
+	private static const APP_RUNNING_STATE:int = 4;
+
+    /**
+	 *  @private
+	 */
+	private static const ERROR_STATE:int = 5;
+
+    /**
+	 *  @private
+	 */
+	private static const RSL_LOADING_STATE:int = 6;
+
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  @private
+	 */
+	public function FlexModuleFactory()
+    {
+		super();
+
+		var rsls:Array = info()["rsls"];
+		var cdRsls:Array = info()["cdRsls"];
+
+		// Put cross-domain RSL information in the RSL list.
+        var rslList:Array = [];
+        var n:int;
+        var i:int;
+		if (cdRsls && cdRsls.length > 0)
+		{
+			var crossDomainRSLItem:Class = Class(getDefinitionByName("mx.core::CrossDomainRSLItem"));
+			n = cdRsls.length;
+			for (i = 0; i < n; i++)
+			{
+				// If crossDomainRSLItem is null, then this is a compiler error. It should not be null.
+				var cdNode:Object = new crossDomainRSLItem(
+					cdRsls[i]["rsls"],
+					cdRsls[i]["policyFiles"],
+					cdRsls[i]["digests"],
+					cdRsls[i]["types"],
+					cdRsls[i]["isSigned"]);
+
+				rslList.push(cdNode);
+			}
+
+		}
+
+		// Append RSL information in the RSL list.
+		if (rsls != null && rsls.length > 0)
+		{
+			n = rsls.length;
+			for (i = 0; i < n; i++)
+			{
+			    var node:RSLItem = new RSLItem(rsls[i].url);
+				rslList.push(node);
+			}
+		}
+
+        rslListLoader = new RSLListLoader(rslList);
+
+		mixinList = info()["mixins"];
+
+		stop(); // Make sure to stop the playhead on the currentframe
+
+		loaderInfo.addEventListener(Event.COMPLETE, moduleCompleteHandler);
+
+	    var docFrame:int = totalFrames == 1 ? 0 : 1;
+
+		addFrameScript(docFrame, docFrameHandler);
+
+		// Frame 1: module factory
+		// Frame 2: document class
+		// Frame 3+: extra classes
+	    for (i = docFrame + 1; i < totalFrames; i++)
+	    {
+		    addFrameScript(i, extraFrameHandler);
+		}
+
+		timer = new Timer(100);
+		timer.addEventListener(TimerEvent.TIMER, timerHandler);
+		timer.start();
+
+        update();
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+  	/**
+	 *  @private
+	 */
+	private var rslListLoader:RSLListLoader;
+
+    /**
+	 *  @private
+	 */
+	private var mixinList:Array;
+
+    /**
+	 *  @private
+	 */
+    private var state:int = INIT_STATE;
+
+    /**
+	 *  @private
+	 */
+	private var appReady:Boolean = false;
+
+    /**
+	 *  @private
+	 */
+	private var appLoaded:Boolean = false;
+
+    /**
+	 *  @private
+	 */
+	private var timer:Timer = null;
+    /**
+	 *  @private
+	 */
+	private var nextFrameTimer:Timer = null;
+
+    /**
+	 *  @private
+	 */
+	private var errorMessage:String = null;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+  	/**
+   	 *  @private
+	 *  This method is overridden in the autogenerated subclass.
+   	 */
+    public function create(... params):Object
+    {
+	    var mainClassName:String = info()["mainClassName"];
+
+		if (mainClassName == null)
+	    {
+            var url:String = loaderInfo.loaderURL;
+            var dot:Number = url.lastIndexOf(".");
+            var slash:Number = url.lastIndexOf("/");
+            mainClassName = url.substring(slash + 1, dot);
+	    }
+
+        var mainClass:Class = Class(getDefinitionByName(mainClassName));
+
+        return mainClass? new mainClass() : null;
+    }
+
+  	/**
+   	 *  @private
+   	 */
+    public function info():Object
+    {
+        return {};
+    }
+
+   /**
+    *  @inheritDoc
+    */
+    public function getDefinitionByName(name:String):Object
+    {
+       const domain:ApplicationDomain =
+		info()["currentDomain"] as ApplicationDomain;
+
+       var definition:Object;
+       if (domain.hasDefinition(name))
+          definition = domain.getDefinition(name);
+
+       return definition;
+    }
+
+    /**
+	 *  @private
+	 */
+    private function update():void
+    {
+        switch (state)
+        {
+            case INIT_STATE:
+			{
+                if (rslListLoader.isDone())
+                    state = APP_LOAD_STATE;
+                else
+                    state = RSL_START_LOAD_STATE;
+				break;
+			}
+
+            case RSL_START_LOAD_STATE:
+			{
+			    // start loading all the rsls
+                rslListLoader.load(null,
+                				   rslCompleteHandler,
+                				   rslErrorHandler,
+                				   rslErrorHandler,
+                				   rslErrorHandler);
+                state = RSL_LOADING_STATE;
+                break;
+            }
+            case RSL_LOADING_STATE:
+            {
+                if (rslListLoader.isDone())
+                {
+                    state = APP_LOAD_STATE;
+                }
+                break;
+			}
+
+            case APP_LOAD_STATE:
+			{
+                if (appLoaded)
+                {
+                    deferredNextFrame();
+                    state = APP_START_STATE;
+                }
+                break;
+			}
+
+            case APP_START_STATE:
+			{
+                if (appReady)
+                {
+            		if (mixinList && mixinList.length > 0)
+            		{
+            		    var n:int = mixinList.length;
+            			for (var i:int = 0; i < n; i++)
+            		    {
+            		        var c:Class;
+            		        try
+            		        {
+            		           c =	Class(getDefinitionByName(mixinList[i]));
+            		           c["init"](this);
+            		        }
+            		        catch(e:Error)
+            		        {
+							}
+            		    }
+                    }
+
+                    state = APP_RUNNING_STATE;
+        			timer.removeEventListener(TimerEvent.TIMER, timerHandler);
+        			// Stop the timer.
+        			timer.reset();
+
+                    dispatchEvent(new Event("ready"));
+                }
+                break;
+			}
+
+            case ERROR_STATE:
+			{
+                if (timer != null)
+                {
+        			timer.removeEventListener(TimerEvent.TIMER, timerHandler);
+        			// stop the timer
+        			timer.reset();
+                }
+
+                var tf:TextField = new TextField();
+                tf.text = errorMessage;
+                tf.x = 0;
+                tf.y = 0;
+                tf.autoSize = TextFieldAutoSize.LEFT;
+                addChild(tf);
+                break;
+			}
+        }
+    }
+
+    /**
+	 *  @private
+	 */
+    public function autorun():Boolean
+    {
+        return true;
+    }
+
+    /**
+	 *  @private
+	 */
+    private function displayError(msg:String):void
+    {
+        errorMessage = msg;
+        state = ERROR_STATE;
+        update();
+    }
+
+    /**
+	 *  @private
+	 */
+	private function docFrameHandler(event:Event = null):void
+	{
+		// Register singleton classes.
+		// Note: getDefinitionByName() will return null
+		// if the class can't be found.
+
+		Singleton.registerClass("mx.managers::IBrowserManager",
+			Class(getDefinitionByName("mx.managers::BrowserManagerImpl")));
+
+        Singleton.registerClass("mx.managers::ICursorManager",
+			Class(getDefinitionByName("mx.managers::CursorManagerImpl")));
+
+        Singleton.registerClass("mx.managers::IDragManager",
+			Class(getDefinitionByName("mx.managers::DragManagerImpl")));
+
+        Singleton.registerClass("mx.managers::IHistoryManager",
+			Class(getDefinitionByName("mx.managers::HistoryManagerImpl")));
+
+        Singleton.registerClass("mx.managers::ILayoutManager",
+			Class(getDefinitionByName("mx.managers::LayoutManager")));
+
+        Singleton.registerClass("mx.managers::IPopUpManager",
+			Class(getDefinitionByName("mx.managers::PopUpManagerImpl")));
+
+		Singleton.registerClass("mx.resources::IResourceManager",
+			Class(getDefinitionByName("mx.resources::ResourceManagerImpl")));
+
+        Singleton.registerClass("mx.styles::IStyleManager",
+			Class(getDefinitionByName("mx.styles::StyleManagerImpl")));
+
+        Singleton.registerClass("mx.styles::IStyleManager2",
+			Class(getDefinitionByName("mx.styles::StyleManagerImpl")));
+
+        Singleton.registerClass("mx.managers::IToolTipManager2",
+			Class(getDefinitionByName("mx.managers::ToolTipManagerImpl")));
+
+		appReady = true;
+
+        // The resources must be installed before update() creates components
+		// (such as DateChooswer) that might need them immediately.
+		installCompiledResourceBundles();
+
+		update();
+
+		if (currentFrame < totalFrames)
+            deferredNextFrame();
+    }
+
+    /**
+	 *  @private
+	 */
+	private function installCompiledResourceBundles():void
+	{
+		//trace("FlexModuleFactory.installCompiledResourceBundles");
+
+		var info:Object = this.info();
+
+		var applicationDomain:ApplicationDomain =
+            info["currentDomain"];
+
+		var compiledLocales:Array /* of String */ =
+			info["compiledLocales"];
+
+		var compiledResourceBundleNames:Array /* of String */ =
+			info["compiledResourceBundleNames"];
+
+		var resourceManager:IResourceManager =
+			ResourceManager.getInstance();
+
+		resourceManager.installCompiledResourceBundles(
+			applicationDomain, compiledLocales, compiledResourceBundleNames);
+
+		// If the localeChain wasn't specified in the FlashVars of the SWF's
+		// HTML wrapper, or in the query parameters of the SWF URL,
+		// then set it to the list of compiled locales.
+		// For example, if the applications was compiled with, say,
+		// -locale=en_US,ja_JP, then set the localeChain to
+		// [ "en_US", "ja_JP" ].
+		if (!resourceManager.localeChain)
+			resourceManager.localeChain = compiledLocales;
+	}
+
+    /**
+	 *  @private
+	 */
+    private function deferredNextFrame():void
+    {
+        if (currentFrame + 1 <= framesLoaded)
+		{
+            nextFrame();
+		}
+        else
+        {
+            // Next frame isn't baked yet, we'll check back...
+    		nextFrameTimer = new Timer(100);
+		    nextFrameTimer.addEventListener(TimerEvent.TIMER,
+											nextFrameTimerHandler);
+		    nextFrameTimer.start();
+        }
+    }
+    /**
+	 *  @private
+	 */
+	private function extraFrameHandler(event:Event = null):void
+	{
+	    var frameList:Object = info()["frames"];
+
+	    if (frameList && frameList[currentLabel])
+	    {
+	        var c:Class;
+	        try
+	        {
+	            c = Class(getDefinitionByName(frameList[currentLabel]));
+	            c["frame"](this);
+	        }
+	        catch(e:Error)
+	        {
+			}
+	    }
+
+	    if (currentFrame < totalFrames)
+            deferredNextFrame();
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Event handlers
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  @private
+	 */
+    private function rslCompleteHandler(event:Event):void
+    {
+        update();
+    }
+
+    /**
+	 *  @private
+	 */
+    private function rslErrorHandler(event:Event):void
+    {
+        var rsl:RSLItem = rslListLoader.getItem(rslListLoader.getIndex());
+
+        trace("RSL " + rsl.urlRequest.url + " failed to load.");
+        displayError("RSL " + rsl.urlRequest.url + " failed to load.");
+    }
+
+    /**
+	 *  @private
+	 */
+    private function moduleCompleteHandler(event:Event):void
+    {
+        appLoaded = true;
+		update();
+    }
+
+    /**
+	 *  @private
+	 */
+	private function timerHandler(event:TimerEvent):void
+	{
+	    if (totalFrames > 2 && framesLoaded >= 2 ||
+			framesLoaded == totalFrames)
+		{
+            appLoaded = true;
+		}
+
+		update();
+    }
+
+    /**
+	 *  @private
+	 */
+	private function nextFrameTimerHandler(event:TimerEvent):void
+	{
+	    if (currentFrame + 1 <= framesLoaded)
+	    {
+	        nextFrame();
+            nextFrameTimer.removeEventListener(TimerEvent.TIMER,
+											   nextFrameTimerHandler);
+        	// stop the timer
+        	nextFrameTimer.reset();
+        }
+    }
+}
+
+}


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

--- frameworks/projects/mx/src/mx/controls/listClasses/TileBase.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/TileBase.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.controls.listClasses
 {


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

--- frameworks/projects/rpc/src/mx/rpc/http/SerializationFilter.as
+++ frameworks/projects/rpc/src/mx/rpc/http/SerializationFilter.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 mx.rpc.http
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 11555
Author:   jszeto@adobe.com
Date:     2009-11-07T01:42:09.814788Z

Log Message:
-----------
Refactor DropDownList

DropDownList has been refactored into DropDownList and DropDownListBase. ComboBox and DropDownList both subclass DropDownListBase.
DropDownList adds a labelDisplay TextBase skin part while ComboBox adds a textInput TextInput skin part. The prompt property has been moved to DropDownList.

Fixed some user interaction bugs when doing a partial typing of a matching item.

Adding ComboBox to BasicTests.

QE notes: None
Doc notes: Yes, Need to revisit the ASDocs for ComboBox, DropDownList and DropDownListBase.
Bugs: N/A
Reviewer: Chet, Glenn
Tests run: DropDownList, ComboBox
Is noteworthy for integration: Yes

Modified Paths:
--------------
<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/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/ComboBoxTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownListBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/tests/basicTests/spark/views/ComboBoxTests.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests-config.xml</path>

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

--- frameworks/projects/spark/src/spark/components/DropDownList.as
+++ frameworks/projects/spark/src/spark/components/DropDownList.as
@@ -9,133 +9,16 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-/*  NOTES
-
-Keyboard Interaction
-- List current dispatches change on arrowUp/Down. Should we subclass List
-and change behavior to commit value only on ENTER, SPACE, or CTRL-UP?
-
-- Handle commitData
-- Add typicalItem support for measuredSize (lower priority)
-
-*  @langversion 3.0
-*  @playerversion Flash 10
-*  @playerversion AIR 1.5
-*  @productversion Flex 4
-
-*/

 package spark.components
 {

-import flash.accessibility.Accessibility;
-import flash.display.DisplayObject;
-import flash.events.Event;
-import flash.events.FocusEvent;
-import flash.events.KeyboardEvent;
-import flash.events.MouseEvent;
-
-import mx.collections.IList;
 import mx.core.mx_internal;
-import mx.events.CollectionEvent;
-import mx.events.FlexEvent;
-
-import spark.components.supportClasses.ButtonBase;
-import spark.components.supportClasses.DropDownController;
+
 import spark.components.supportClasses.TextBase;
-import spark.core.NavigationUnit;
-import spark.events.DropDownEvent;
-import spark.events.IndexChangeEvent;
-import spark.utils.LabelUtil;
-
+import spark.utils.LabelUtil;
+
 use namespace mx_internal;
-
-//--------------------------------------
-//  Styles
-//--------------------------------------
-
-/**
- *  The radius of the corners for this component.
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="spark")]
-
-/**
- *  Controls the visibility of the drop shadow for this component.
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="dropShadowVisible", type="Boolean", inherit="no", theme="spark")]
-
-//--------------------------------------
-//  Events
-//--------------------------------------
-
-/**
- *  Dispatched when the drop-down list closes for any reason, such when
- *  the user:
- *

- *
Selects an item in the drop-down list.

- *
Clicks outside of the drop-down list.

- *
Clicks the anchor button while the drop-down list is
- *  displayed.

- *

- *
- *  @eventType spark.events.DropDownEvent.CLOSE
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Event(name="close", type="spark.events.DropDownEvent")]
-
-/**
- *  Dispatched when the user clicks the anchor button
- *  to display the drop-down list.
- *  It is also dispatched if the user
- *  uses Control-Down to open the dropDown.
- *
- *  @eventType spark.events.DropDownEvent.OPEN
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Event(name="open", type="spark.events.DropDownEvent")]
-
-//--------------------------------------
-//  SkinStates
-//--------------------------------------
-
-/**
- *  Skin state for the open state of the DropDownList control.
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[SkinState("open")]
-
-//--------------------------------------
-//  Excluded APIs
-//--------------------------------------
-
-[Exclude(name="allowMultipleSelection", kind="property")]
-[Exclude(name="dragEnabled", kind="property")]
-[Exclude(name="dragMoveEnabled", kind="property")]
-[Exclude(name="dropEnabled", kind="property")]
-[Exclude(name="selectedIndices", kind="property")]
-[Exclude(name="selectedItems", kind="property")]

 //--------------------------------------
 //  Other metadata
@@ -191,7 +74,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class DropDownList extends List
+public class DropDownList extends DropDownListBase
 {
     include "../core/Version.as";

@@ -224,10 +107,6 @@
     public function DropDownList()
     {
         super();
-
-        super.allowMultipleSelection = false;
-
-        dropDownController = new DropDownController();
     }

     //--------------------------------------------------------------------------
@@ -235,24 +114,6 @@
     //  Skin parts
     //
     //--------------------------------------------------------------------------
-
-    //----------------------------------
-    //  dropDown
-    //----------------------------------
-
-    [SkinPart(required="false")]
-
-    /**
-     *  A skin part that defines the drop-down list area. When the DropDownList is open,
-     *  clicking anywhere outside of the dropDown skin part closes the
-     *  drop-down list.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public var dropDown:DisplayObject;

     //----------------------------------
     //  labelDisplay
@@ -269,164 +130,16 @@
      *  @productversion Flex 4
      */
     public var labelDisplay:TextBase;
-
-    //----------------------------------
-    //  openButton
-    //----------------------------------
-
-    [SkinPart(required="true")]
-
-    /**
-     *  A skin part that defines the anchor button.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public var openButton:ButtonBase;

     //--------------------------------------------------------------------------
     //
     //  Variables
     //
     //--------------------------------------------------------------------------
-
     /**
      *  @private
      */
     private var labelChanged:Boolean = false;
-    // Stores the user selected index until the dropDown closes
-
-    /**
-     *  @private
-     */
-    mx_internal static var PAGE_SIZE:int = 5;
-
-    //--------------------------------------------------------------------------
-    //
-    //  Overridden properties
-    //
-    //--------------------------------------------------------------------------
-
-    //----------------------------------
-    //  allowMultipleSelection
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    override public function set allowMultipleSelection(value:Boolean):void
-    {
-        // Don't allow this value to be set. If the multiple
-        // selection related properties are set and
-        // allowMultipleSelection is false, List will
-        // select the first item passed in.
-        return;
-    }
-
-    //----------------------------------
-    //  baselinePosition
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    override public function get baselinePosition():Number
-    {
-        if (openButton)
-            return openButton.baselinePosition;
-        else
-            return NaN;
-    }
-
-    //----------------------------------
-    //  dataProvider
-    //----------------------------------
-
-    /**
-     *  @private
-     *  Update the label if the dataProvider has changed
-     */
-    override public function set dataProvider(value:IList):void
-    {
-        if (dataProvider === value)
-            return;
-
-        super.dataProvider = value;
-        labelChanged = true;
-        invalidateProperties();
-    }
-
-    //----------------------------------
-    //  dragEnabled
-    //----------------------------------
-
-    /**
-     *  @private
-     *  Excluded property
-     */
-    override public function set dragEnabled(value:Boolean):void
-    {
-    }
-
-    //----------------------------------
-    //  dragMoveEnabled
-    //----------------------------------
-
-    /**
-     *  @private
-     *  Excluded property
-     */
-    override public function set dragMoveEnabled(value:Boolean):void
-    {
-    }
-
-    //----------------------------------
-    //  dropEnabled
-    //----------------------------------
-
-    /**
-     *  @private
-     *  Excluded property
-     */
-    override public function set dropEnabled(value:Boolean):void
-    {
-    }
-
-    //----------------------------------
-    //  labelField
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    override public function set labelField(value:String):void
-    {
-        if (labelField == value)
-            return;
-
-        super.labelField = value;
-        labelChanged = true;
-        invalidateProperties();
-    }
-
-    //----------------------------------
-    //  labelFunction
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    override public function set labelFunction(value:Function):void
-    {
-        if (labelFunction == value)
-            return;
-
-        super.labelFunction = value;
-        labelChanged = true;
-        invalidateProperties();
-    }

     //--------------------------------------------------------------------------
     //
@@ -434,71 +147,6 @@
     //
     //--------------------------------------------------------------------------

-    //----------------------------------
-    //  dropDownController
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _dropDownController:DropDownController;
-
-    /**
-     *  Instance of the DropDownController class that handles all of the mouse, keyboard
-     *  and focus user interactions.
-     *
-     *  Flex calls the initializeDropDownController() method after
-     *  the DropDownController instance is created in the constructor.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    protected function get dropDownController():DropDownController
-    {
-        return _dropDownController;
-    }
-
-    /**
-     *  @private
-     */
-    protected function set dropDownController(value:DropDownController):void
-    {
-        if (_dropDownController == value)
-            return;
-
-        _dropDownController = value;
-
-        _dropDownController.addEventListener(DropDownEvent.OPEN, dropDownController_openHandler);
-        _dropDownController.addEventListener(DropDownEvent.CLOSE, dropDownController_closeHandler);
-
-        if (openButton)
-            _dropDownController.openButton = openButton;
-        if (dropDown)
-            _dropDownController.dropDown = dropDown;
-    }
-
-    //----------------------------------
-    //  isDropDownOpen
-    //----------------------------------
-
-    /**
-     *  @copy spark.components.supportClasses.DropDownController#isOpen
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get isDropDownOpen():Boolean
-    {
-        if (dropDownController)
-            return dropDownController.isOpen;
-        else
-            return false;
-    }
-
     //----------------------------------
     //  prompt
     //----------------------------------
@@ -540,31 +188,7 @@
         labelChanged = true;
         invalidateProperties();
     }
-
-    //----------------------------------
-    //  userProposedSelectedIndex
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _userProposedSelectedIndex:Number = NO_SELECTION;
-
-    /**
-     *  @private
-     */
-    mx_internal function set userProposedSelectedIndex(value:Number):void
-    {
-        _userProposedSelectedIndex = value;
-    }
-
-    /**
-     *  @private
-     */
-    mx_internal function get userProposedSelectedIndex():Number
-    {
-        return _userProposedSelectedIndex;
-    }
+

     //--------------------------------------------------------------------------
     //
@@ -603,101 +227,12 @@
     override protected function partAdded(partName:String, instance:Object):void
     {
         super.partAdded(partName, instance);
-
-        if (instance == openButton)
-        {
-            if (dropDownController)
-                dropDownController.openButton = openButton;
-        }

         if (instance == labelDisplay)
         {
             labelChanged = true;
             invalidateProperties();
         }
-
-        if (instance == dropDown && dropDownController)
-            dropDownController.dropDown = dropDown;
-    }
-
-    /**
-     *  @private
-     */
-    override protected function partRemoved(partName:String, instance:Object):void
-    {
-        if (dropDownController)
-        {
-            if (instance == openButton)
-                dropDownController.openButton = null;
-
-            if (instance == dropDown)
-                dropDownController.dropDown = null;
-        }
-
-        super.partRemoved(partName, instance);
-    }
-
-    /**
-     *  @private
-     */
-    override protected function getCurrentSkinState():String
-    {
-        return !enabled ? "disabled" : dropDownController.isOpen ? "open" : "normal";
-    }
-
-    /**
-     *  @private
-     */
-    override protected function commitSelection(dispatchChangedEvents:Boolean = true):Boolean
-    {
-        var retVal:Boolean = super.commitSelection(dispatchChangedEvents);
-        updateLabelDisplay();
-        return retVal;
-    }
-
-    /**
-     *  @private
-     *  In updateRenderer, we want to select the proposedSelectedIndex
-     */
-    override mx_internal function isItemIndexSelected(index:int):Boolean
-    {
-        return userProposedSelectedIndex == index;
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Open the drop-down list and dispatch
-     *  a DropdownEvent.OPEN event.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function openDropDown():void
-    {
-        dropDownController.openDropDown();
-    }
-
-    /**
-     *  Close the drop-down list and dispatch a DropDownEvent.CLOSE event.
-     *
-     *  @param commit If true, commit the selected
-     *  data item.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function closeDropDown(commit:Boolean):void
-    {
-        dropDownController.closeDropDown(commit);
     }

     /**
@@ -705,7 +240,7 @@
      *  Called whenever we need to update the text passed to the labelDisplay skin part
      */
     // TODO (jszeto): Make this protected and make the name more generic (passing data to skin)
-    mx_internal function updateLabelDisplay():void
+    override mx_internal function updateLabelDisplay():void
     {
         if (labelDisplay)
         {
@@ -715,226 +250,7 @@
                 labelDisplay.text = prompt;
         }
     }
-
-    /**
-     *  @private
-     *  Called whenever we need to change the highlighted selection while the dropDown is open
-     *  ComboBox overrides this behavior
-     */
-    mx_internal function changeHighlightedSelection(newIndex:int):void
-    {
-        // Store the selection in userProposedSelectedIndex because we
-        // don't want to update selectedIndex until the dropdown closes
-        itemSelected(userProposedSelectedIndex, false);
-        userProposedSelectedIndex = newIndex;
-        itemSelected(userProposedSelectedIndex, true);
-        ensureIndexIsVisible(userProposedSelectedIndex);
-
-        var e:IndexChangeEvent = new IndexChangeEvent(IndexChangeEvent.CARET_CHANGE);
-        e.oldIndex = caretIndex;
-        setCurrentCaretIndex(userProposedSelectedIndex);
-        e.newIndex = caretIndex;
-        dispatchEvent(e);
-    }
-
-
-    //--------------------------------------------------------------------------
-    //
-    //  Event handlers
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    override protected function dataProvider_collectionChangeHandler(event:Event):void
-    {
-        super.dataProvider_collectionChangeHandler(event);
-
-        if (event is CollectionEvent)
-        {
-            labelChanged = true;
-            invalidateProperties();
-        }
-    }
-
-    /**
-     *  @private
-     */
-    override protected function item_mouseDownHandler(event:MouseEvent):void
-    {
-        super.item_mouseDownHandler(event);
-        userProposedSelectedIndex = selectedIndex;
-        closeDropDown(true);
-    }
-
-    /**
-     *  @private
-     */
-    override protected function keyDownHandler(event:KeyboardEvent) : void
-    {
-        if (!enabled)
-            return;
-
-        if (!dropDownController.processKeyDown(event))
-        {
-            var navigationUnit:uint = event.keyCode;
-            if (!NavigationUnit.isNavigationUnit(navigationUnit))
-                return;
-
-            var proposedNewIndex:int = NO_SELECTION;
-            var currentIndex:int;
-
-            if (dropDownController.isOpen)
-            {
-                // Normalize the proposed index for getNavigationDestinationIndex
-                currentIndex = userProposedSelectedIndex < NO_SELECTION ? NO_SELECTION : userProposedSelectedIndex;
-                proposedNewIndex = layout.getNavigationDestinationIndex(currentIndex, navigationUnit, arrowKeysWrapFocus);
-
-                if (proposedNewIndex != NO_SELECTION)
-                {
-                    changeHighlightedSelection(proposedNewIndex);
-                    event.preventDefault();
-                }
-            }
-            else if (dataProvider)
-            {
-                // Normalize the proposed index for getNavigationDestinationIndex
-                currentIndex = selectedIndex < NO_SELECTION ? NO_SELECTION : selectedIndex;
-
-                // FIXME (jszeto) : SDK-24036 Add arrowKeysWrapFocus support
-
-                switch (navigationUnit)
-                {
-                    case NavigationUnit.UP:
-                    {
-                        proposedNewIndex = currentIndex - 1;
-                        event.preventDefault();
-                        break;
-                    }
-
-                    case NavigationUnit.DOWN:
-                    {
-                        proposedNewIndex = currentIndex + 1;
-                        event.preventDefault();
-                        break;
-                    }
-
-                    case NavigationUnit.PAGE_UP:
-                    {
-                        proposedNewIndex = currentIndex == NO_SELECTION ?
-                            NO_SELECTION : Math.max(currentIndex - PAGE_SIZE, 0);
-                        event.preventDefault();
-                        break;
-                    }
-
-                    case NavigationUnit.PAGE_DOWN:
-                    {
-                        proposedNewIndex = currentIndex == NO_SELECTION ?
-                                           PAGE_SIZE : (currentIndex + PAGE_SIZE);
-                        event.preventDefault();
-                        break;
-                    }
-
-                    case NavigationUnit.HOME:
-                    {
-                        proposedNewIndex = 0;
-                        event.preventDefault();
-                        break;
-                    }
-
-                    case NavigationUnit.END:
-                    {
-                        proposedNewIndex = dataProvider.length - 1;
-                        event.preventDefault();
-                        break;
-                    }
-
-                }
-
-                proposedNewIndex = Math.min(proposedNewIndex, dataProvider.length - 1);
-
-                if (proposedNewIndex >= 0)
-                    selectedIndex = proposedNewIndex;
-            }
-        }
-        else
-        {
-            event.preventDefault();
-        }
-
-    }
-
-    /**
-     *  @private
-     */
-    override protected function focusOutHandler(event:FocusEvent):void
-    {
-        if (isOurFocus(DisplayObject(event.target)))
-            dropDownController.processFocusOut(event);
-
-        super.focusOutHandler(event);
-    }
-
-    /**
-     *  @private
-     *  Event handler for the dropDownController
-     *  DropDownEvent.OPEN event. Updates the skin's state and
-     *  ensures that the selectedItem is visible.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    mx_internal function dropDownController_openHandler(event:DropDownEvent):void
-    {
-        addEventListener(FlexEvent.UPDATE_COMPLETE, open_updateCompleteHandler);
-        userProposedSelectedIndex = selectedIndex;
-        invalidateSkinState();
-    }
-
-    /**
-     *  @private
-     */
-    mx_internal function open_updateCompleteHandler(event:FlexEvent):void
-    {
-        removeEventListener(FlexEvent.UPDATE_COMPLETE, open_updateCompleteHandler);
-        ensureIndexIsVisible(selectedIndex);
-
-        dispatchEvent(new DropDownEvent(DropDownEvent.OPEN));
-    }
-
-    /**
-     *  @private
-     *  Event handler for the dropDownController
-     *  DropDownEvent.CLOSE event. Updates the skin's state.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    protected function dropDownController_closeHandler(event:DropDownEvent):void
-    {
-        addEventListener(FlexEvent.UPDATE_COMPLETE, close_updateCompleteHandler);
-        invalidateSkinState();
-
-        if (!event.isDefaultPrevented())
-        {
-            selectedIndex = userProposedSelectedIndex;
-        }
-    }
-
-    /**
-     *  @private
-     */
-    private function close_updateCompleteHandler(event:FlexEvent):void
-    {
-        removeEventListener(FlexEvent.UPDATE_COMPLETE, close_updateCompleteHandler);
-
-        dispatchEvent(new DropDownEvent(DropDownEvent.CLOSE));
-    }
+
 }

 }


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

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

 package mx.automation.delegates.advancedDataGrid
 {


Attempted fix to prevent flushing isByReference collections on decode

--- as3/xobjas3/src/com/rpath/xobj/XObjXMLDecoder.as
+++ as3/xobjas3/src/com/rpath/xobj/XObjXMLDecoder.as
@@ -426,13 +426,18 @@
         }

         // FLUSH the array/collection to ensure uniqueness of results
-        if (isArray)
-        {
-            (result as Array).splice(0);
-        }
-        else if (isCollection)
-        {
-            (result as IList).removeAll();
+        if (!XObjUtils.isByReference(result))
+        {
+            if (isArray)
+            {
+                trace("flushing array");
+                (result as Array).splice(0);
+            }
+            else if (isCollection)
+            {
+                trace("flushing collection");
+                (result as IList).removeAll();
+            }
         }

         // Now start looking at the child XML nodes


Transferred from the Adobe Open Source Subversion Repository

Revision: 16789
Author:   smgilson@adobe.com
Date:     2010-07-02T13:27:41.278968Z

Log Message:
-----------
Fix invalid HTML in ASDoc comments

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

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -984,175 +984,175 @@
         {
             gridSelection.preserveSelection = value;
         }
-
-
-		//----------------------------------
-		//  requestedMinRowCount
-		//----------------------------------
-
-		private var _requestedMinRowCount:int = -1;
-
-		[Inspectable(category="General", minValue="-1")]
-
-		/**
-		 *  The measured height of this grid will be large enough to display
-		 *  at least requestedMinRowCount rows.
-		 *
-		 *
If requestedRowCount is set, then
-		 *  this property has no effect.

-		 *
-		 *
If the actual size of the grid has been explicitly set,
-		 *  then this property has no effect.

-		 *
-		 *  @default -1
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10
-		 *  @playerversion AIR 1.5
-		 *  @productversion Flex 4.5
-		 */
-		public function get requestedMinRowCount():int
-		{
-			return _requestedMinRowCount;
-		}
-
-		/**
-		 *  @private
-		 */
-		public function set requestedMinRowCount(value:int):void
-		{
-			if (_requestedMinRowCount == value)
-				return;
-
-			_requestedMinRowCount = value;
-			invalidateSize();
-		}
-
-		//----------------------------------
-		//  requestedRowCount
-		//----------------------------------
-
-		private var _requestedRowCount:int = -1;
-
-		[Inspectable(category="General", minValue="-1")]
-
-		/**
-		 *  The measured height of this grid will be large enough to display
-		 *  the first requestedRowCount rows.
-		 *
-		 *
If requestedRowCount is -1, then the measured
-		 *  size will be big enough for all of the layout elements.

-		 *
-		 *
If the actual size of the grid has been explicitly set,
-		 *  then this property has no effect.

-		 *
-		 *  @default -1
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10
-		 *  @playerversion AIR 1.5
-		 *  @productversion Flex 4
-		 */
-		public function get requestedRowCount():int
-		{
-			return _requestedRowCount;
-		}
-
-		/**
-		 *  @private
-		 */
-		public function set requestedRowCount(value:int):void
-		{
-			if (_requestedRowCount == value)
-				return;
-
-			_requestedRowCount = value;
+
+
+        //----------------------------------
+        //  requestedMinRowCount
+        //----------------------------------
+
+        private var _requestedMinRowCount:int = -1;
+
+        [Inspectable(category="General", minValue="-1")]
+
+        /**
+         *  The measured height of this grid will be large enough to display
+         *  at least requestedMinRowCount rows.
+         *
+         *
If requestedRowCount is set, then
+         *  this property has no effect.

+         *
+         *
If the actual size of the grid has been explicitly set,
+         *  then this property has no effect.

+         *
+         *  @default -1
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4.5
+         */
+        public function get requestedMinRowCount():int
+        {
+            return _requestedMinRowCount;
+        }
+
+        /**
+         *  @private
+         */
+        public function set requestedMinRowCount(value:int):void
+        {
+            if (_requestedMinRowCount == value)
+                return;
+
+            _requestedMinRowCount = value;
             invalidateSize();
-		}
-
-
-		//----------------------------------
-		//  requestedMinColumnCount
-		//----------------------------------
-
-		private var _requestedMinColumnCount:int = -1;
-
-		[Inspectable(category="General", minValue="-1")]
-
-		/**
-		 *  The measured width of this grid will be large enough to display
-		 *  at least requestedMinColumnCount columns.
-		 *
-		 *
If requestedColumnCount is set, then
-		 *  this property has no effect.

-		 *
-		 *
If the actual size of the grid has been explicitly set,
-		 *  then this property has no effect.

-		 *
-		 *  @default -1
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10
-		 *  @playerversion AIR 1.5
-		 *  @productversion Flex 4.5
-		 */
-		public function get requestedMinColumnCount():int
-		{
-			return _requestedMinColumnCount;
-		}
-
-		/**
-		 *  @private
-		 */
-		public function set requestedMinColumnCount(value:int):void
-		{
-			if (_requestedMinColumnCount == value)
-				return;
-
-			_requestedMinColumnCount = value;
-	        invalidateSize();
-		}
-
-		//----------------------------------
-		//  requestedColumnCount
-		//----------------------------------
-
-		private var _requestedColumnCount:int = -1;
-
-		[Inspectable(category="General", minValue="-1")]
-
-		/**
-		 *  The measured width of this grid will be large enough to display
-		 *  the first requestedColumnCount columns.
-		 *  If requestedColumnCount is -1, then the measured
-		 *  width will be big enough for all of the columns.
-		 *
-		 *
If the actual size of the grid has been explicitly set,
-		 *  then this property has no effect.

-		 *
-		 *  @default -1
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10
-		 *  @playerversion AIR 1.5
-		 *  @productversion Flex 4.5
-		 */
-		public function get requestedColumnCount():int
-		{
-			return _requestedColumnCount;
-		}
-
-		/**
-		 *  @private
-		 */
-		public function set requestedColumnCount(value:int):void
-		{
-			if (_requestedColumnCount == value)
-				return;
-
-			_requestedColumnCount = value;
-		    invalidateSize();
-		}
+        }
+
+        //----------------------------------
+        //  requestedRowCount
+        //----------------------------------
+
+        private var _requestedRowCount:int = -1;
+
+        [Inspectable(category="General", minValue="-1")]
+
+        /**
+         *  The measured height of this grid will be large enough to display
+         *  the first requestedRowCount rows.
+         *
+         *
If requestedRowCount is -1, then the measured
+         *  size will be big enough for all of the layout elements.

+         *
+         *
If the actual size of the grid has been explicitly set,
+         *  then this property has no effect.

+         *
+         *  @default -1
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public function get requestedRowCount():int
+        {
+            return _requestedRowCount;
+        }
+
+        /**
+         *  @private
+         */
+        public function set requestedRowCount(value:int):void
+        {
+            if (_requestedRowCount == value)
+                return;
+
+            _requestedRowCount = value;
+            invalidateSize();
+        }
+
+
+        //----------------------------------
+        //  requestedMinColumnCount
+        //----------------------------------
+
+        private var _requestedMinColumnCount:int = -1;
+
+        [Inspectable(category="General", minValue="-1")]
+
+        /**
+         *  The measured width of this grid will be large enough to display
+         *  at least requestedMinColumnCount columns.
+         *
+         *
If requestedColumnCount is set, then
+         *  this property has no effect.

+         *
+         *
If the actual size of the grid has been explicitly set,
+         *  then this property has no effect.

+         *
+         *  @default -1
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4.5
+         */
+        public function get requestedMinColumnCount():int
+        {
+            return _requestedMinColumnCount;
+        }
+
+        /**
+         *  @private
+         */
+        public function set requestedMinColumnCount(value:int):void
+        {
+            if (_requestedMinColumnCount == value)
+                return;
+
+            _requestedMinColumnCount = value;
+            invalidateSize();
+        }
+
+        //----------------------------------
+        //  requestedColumnCount
+        //----------------------------------
+
+        private var _requestedColumnCount:int = -1;
+
+        [Inspectable(category="General", minValue="-1")]
+
+        /**
+         *  The measured width of this grid will be large enough to display
+         *  the first requestedColumnCount columns.
+         *  If requestedColumnCount is -1, then the measured
+         *  width will be big enough for all of the columns.
+         *
+         *
If the actual size of the grid has been explicitly set,
+         *  then this property has no effect.

+         *
+         *  @default -1
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4.5
+         */
+        public function get requestedColumnCount():int
+        {
+            return _requestedColumnCount;
+        }
+
+        /**
+         *  @private
+         */
+        public function set requestedColumnCount(value:int):void
+        {
+            if (_requestedColumnCount == value)
+                return;
+
+            _requestedColumnCount = value;
+            invalidateSize();
+        }

         //----------------------------------
         //  requireSelection
@@ -1260,7 +1260,7 @@
          *
          *
If variableRowHeight is false,
          *  the default value of this property is the maximum preferred height
-         *  of the per-column renderers created for the typicalItem.
+         *  of the per-column renderers created for the typicalItem.

          *
          *  @langversion 3.0
          *  @playerversion Flash 10
@@ -1414,9 +1414,9 @@
         [Bindable("typicalItemChanged")]

         /**
-		 *  The grid's layout ensures that columns whose width is not specified will be wide
-		 *  enough to display an item renderer for this default dataProvider item.  If a typical
-		 *  item is not specified, then the first dataProvider item is used.
+         *  The grid's layout ensures that columns whose width is not specified will be wide
+         *  enough to display an item renderer for this default dataProvider item.  If a typical
+         *  item is not specified, then the first dataProvider item is used.
          *
          *
Restriction: if the typicalItem is an IVisualItem, it must not
          *  also be a member of the data Provider.

@@ -1442,7 +1442,7 @@
                 return;

             _typicalItem = value;
-			dispatchChangeEvent("typicalItemChanged");
+            dispatchChangeEvent("typicalItemChanged");

             invalidateSize();
             invalidateDisplayList();
@@ -1457,7 +1457,7 @@
         /**
          *  If true, each row's height is the maximum of preferred heights of the cells displayed so far.
          *
-         *
If false, the height of each row is just the value of rowHeight.
+         *
If false, the height of each row is just the value of rowHeight.

          *
          *  @default true
          *
@@ -2147,7 +2147,7 @@
         //  GridLayout Cover Methods, Properties
         //
         //--------------------------------------------------------------------------
-
+
         /**
          *  @copy spark.components.supportClasses.GridLayout#getVisibleRowIndices()
          *


FLEX-34657: SelectedIndices order is messed up

Signed-off-by: Erik de Bruin <c195b508e6f0c57aeafdb5e96947e2b79e6a4b40@ixsoftware.nl>

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -1643,7 +1643,7 @@
                             if (_selectedIndices[i] == index)
                                 found = true;
                             else if (_selectedIndices[i] != index)
-                                interval.splice(0, 0, _selectedIndices[i]);
+                                interval.push(_selectedIndices[i]);
                         }
                         if (!found)
                         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18871
Author:   smgilson@adobe.com
Date:     2010-11-30T20:10:44.561987Z

Log Message:
-----------
Fix ASDoc version tags

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/automation_spark/src/spark/automation/tabularData/SparkDataGridTabularData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultComplexItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkScrollBarBaseAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultGridHeaderRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SprakTextAreaAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridItemEditor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGridAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileIconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultGridItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/GapStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBarBaseAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/mediaClasses/SparkVolumeBarAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SprakSkinnableTextBaseAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/events/ViewNavigatorEvent.as</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/mediaClasses/SparkVolumeBarAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/mediaClasses/SparkVolumeBarAutomationImpl.as
@@ -11,188 +11,188 @@

 package spark.automation.delegates.components.mediaClasses
 {
-	import flash.display.DisplayObject;
-	import flash.events.Event;
-	import flash.events.KeyboardEvent;
-	import flash.events.MouseEvent;
-	import flash.ui.Keyboard;
-	import flash.utils.getTimer;
-
-	import mx.automation.Automation;
-	import mx.automation.IAutomationObjectHelper;
-	import mx.core.mx_internal;
-	import mx.events.FlexEvent;
-
-	import spark.automation.delegates.components.supportClasses.SparkSliderBaseAutomationImpl;
-	import spark.components.mediaClasses.VolumeBar;
-	import spark.events.DropDownEvent;
-
-	use namespace mx_internal;
-
-	[Mixin]
-	/**
-	 *
-	 *  Defines methods and properties required to perform instrumentation for the
-	 *  VolumeBar control.
-	 *
-	 *  @see spark.components.mediaClasses.VolumeBar
-	 *
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 4
-	 */
-	public class SparkVolumeBarAutomationImpl extends SparkSliderBaseAutomationImpl
-	{
-		include "../../../../core/Version.as";
-
-		//--------------------------------------------------------------------------
-		//
-		//  Class methods
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  Registers the delegate class for a component class with automation manager.
-		 *
-		 *  @param root The SystemManger of the application.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 3
-		 */
-		public static function init(root:DisplayObject):void
-		{
-			Automation.registerDelegateClass(spark.components.mediaClasses.VolumeBar, SparkVolumeBarAutomationImpl);
-		}
-
-		/**
-		 *  Constructor.
-		 * @param obj VolumeBar object to be automated.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 3
-		 */
-		public function SparkVolumeBarAutomationImpl(obj:spark.components.mediaClasses.VolumeBar)
-		{
-			super(obj);
-
-			obj.addEventListener(spark.events.DropDownEvent.CLOSE, openCloseHandler, false, 0, true);
-			obj.addEventListener(spark.events.DropDownEvent.OPEN, openCloseHandler, false, 0, true);
-			obj.addEventListener(mx.events.FlexEvent.MUTED_CHANGE, muteChangeHandler, false, 0, true);
-		}
-
-		/**
-		 *  @private
-		 *  storage for the owner component
-		 */
-		protected function get sparkVolumeBar():spark.components.mediaClasses.VolumeBar
-		{
-			return uiComponent as spark.components.mediaClasses.VolumeBar;
-
-		}
-
-		//--------------------------------------------------------------------------
-		//
-		//  Event handlers
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  @private
-		 */
-		private function openCloseHandler(event:spark.events.DropDownEvent):void
-		{
-			// if we have a drop down object, we need to listen to the record
-			// events coming from the same in the open handler and remove the same
-			// in the close handler.
-			// ref: DropDownListBaseAutomationImpl
-
-			if (event.type == DropDownEvent.OPEN)
-			{
-				recordAutomatableEvent(event);
-			}
-		}
-
-		/**
-		 *  @private
-		 */
-		private function muteChangeHandler(event:mx.events.FlexEvent):void
-		{
-			recordAutomatableEvent(event);
-		}
-
-		override public function replayAutomatableEvent(event:Event):Boolean
-		{
-			var completeTime:Number;
-			var help:IAutomationObjectHelper = Automation.automationObjectHelper;
-
-			if (event is mx.events.FlexEvent)
-			{
-				// we need to replay the click on the muteButton
-				if(event.type == FlexEvent.MUTED_CHANGE)
-				{
-					help.replayClick(sparkVolumeBar.muteButton);
-				}
-			}
-			else if (event is KeyboardEvent)
-			{
-				var keyEvent:KeyboardEvent = event as KeyboardEvent;
-
-				// if volumeBar is closing due to either selection or escape we need to wait
-				// and sync up
-				if (keyEvent.keyCode == Keyboard.ENTER || keyEvent.keyCode == Keyboard.ESCAPE)
-				{
-					completeTime = getTimer() + sparkVolumeBar.getStyle("closeDuration");
-
-					help.addSynchronization(function():Boolean
-					{
-						return getTimer() >= completeTime;
-					});
-				}
-				return help.replayKeyboardEvent(uiComponent, KeyboardEvent(event));
-				//}
-			}
-			else if (event is spark.events.DropDownEvent)
-			{
-				var cbdEvent:spark.events.DropDownEvent = spark.events.DropDownEvent(event);
-				if (cbdEvent.triggerEvent is KeyboardEvent)
-				{
-					var kbEvent:KeyboardEvent =
-						new KeyboardEvent(KeyboardEvent.KEY_DOWN);
-					kbEvent.keyCode =
-						(cbdEvent.type == spark.events.DropDownEvent.OPEN
-							? Keyboard.DOWN
-							: Keyboard.UP);
-					kbEvent.ctrlKey = true;
-					help.replayKeyboardEvent(uiComponent, kbEvent);
-				}
-				else //triggerEvent is MouseEvent
-				{
-					// Usually we dispatch mouseClick events. But as they are handled in a different way
-					// for this component, we are dispatching a roll_over and mouse_down events
-					help.replayMouseEvent(sparkVolumeBar.muteButton, new MouseEvent(MouseEvent.ROLL_OVER));
-					help.replayMouseEvent(sparkVolumeBar.muteButton, new MouseEvent(MouseEvent.MOUSE_DOWN));
-				}
-
-				completeTime = getTimer() +
-					sparkVolumeBar.getStyle(cbdEvent.type == spark.events.DropDownEvent.OPEN ?
-						"openDuration" :
-						"closeDuration");
-
-				help.addSynchronization(function():Boolean
-				{
-					return getTimer() >= completeTime;
-				});
-
-				return true;
-			}
-
-			return super.replayAutomatableEvent(event);
-		}
-	}
+    import flash.display.DisplayObject;
+    import flash.events.Event;
+    import flash.events.KeyboardEvent;
+    import flash.events.MouseEvent;
+    import flash.ui.Keyboard;
+    import flash.utils.getTimer;
+
+    import mx.automation.Automation;
+    import mx.automation.IAutomationObjectHelper;
+    import mx.core.mx_internal;
+    import mx.events.FlexEvent;
+
+    import spark.automation.delegates.components.supportClasses.SparkSliderBaseAutomationImpl;
+    import spark.components.mediaClasses.VolumeBar;
+    import spark.events.DropDownEvent;
+
+    use namespace mx_internal;
+
+    [Mixin]
+    /**
+     *
+     *  Defines methods and properties required to perform instrumentation for the
+     *  VolumeBar control.
+     *
+     *  @see spark.components.mediaClasses.VolumeBar
+     *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public class SparkVolumeBarAutomationImpl extends SparkSliderBaseAutomationImpl
+    {
+        include "../../../../core/Version.as";
+
+        //--------------------------------------------------------------------------
+        //
+        //  Class methods
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Registers the delegate class for a component class with automation manager.
+         *
+         *  @param root The SystemManger of the application.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public static function init(root:DisplayObject):void
+        {
+            Automation.registerDelegateClass(spark.components.mediaClasses.VolumeBar, SparkVolumeBarAutomationImpl);
+        }
+
+        /**
+         *  Constructor.
+         * @param obj VolumeBar object to be automated.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public function SparkVolumeBarAutomationImpl(obj:spark.components.mediaClasses.VolumeBar)
+        {
+            super(obj);
+
+            obj.addEventListener(spark.events.DropDownEvent.CLOSE, openCloseHandler, false, 0, true);
+            obj.addEventListener(spark.events.DropDownEvent.OPEN, openCloseHandler, false, 0, true);
+            obj.addEventListener(mx.events.FlexEvent.MUTED_CHANGE, muteChangeHandler, false, 0, true);
+        }
+
+        /**
+         *  @private
+         *  storage for the owner component
+         */
+        protected function get sparkVolumeBar():spark.components.mediaClasses.VolumeBar
+        {
+            return uiComponent as spark.components.mediaClasses.VolumeBar;
+
+        }
+
+        //--------------------------------------------------------------------------
+        //
+        //  Event handlers
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  @private
+         */
+        private function openCloseHandler(event:spark.events.DropDownEvent):void
+        {
+            // if we have a drop down object, we need to listen to the record
+            // events coming from the same in the open handler and remove the same
+            // in the close handler.
+            // ref: DropDownListBaseAutomationImpl
+
+            if (event.type == DropDownEvent.OPEN)
+            {
+                recordAutomatableEvent(event);
+            }
+        }
+
+        /**
+         *  @private
+         */
+        private function muteChangeHandler(event:mx.events.FlexEvent):void
+        {
+            recordAutomatableEvent(event);
+        }
+
+        override public function replayAutomatableEvent(event:Event):Boolean
+        {
+            var completeTime:Number;
+            var help:IAutomationObjectHelper = Automation.automationObjectHelper;
+
+            if (event is mx.events.FlexEvent)
+            {
+                // we need to replay the click on the muteButton
+                if(event.type == FlexEvent.MUTED_CHANGE)
+                {
+                    help.replayClick(sparkVolumeBar.muteButton);
+                }
+            }
+            else if (event is KeyboardEvent)
+            {
+                var keyEvent:KeyboardEvent = event as KeyboardEvent;
+
+                // if volumeBar is closing due to either selection or escape we need to wait
+                // and sync up
+                if (keyEvent.keyCode == Keyboard.ENTER || keyEvent.keyCode == Keyboard.ESCAPE)
+                {
+                    completeTime = getTimer() + sparkVolumeBar.getStyle("closeDuration");
+
+                    help.addSynchronization(function():Boolean
+                    {
+                        return getTimer() >= completeTime;
+                    });
+                }
+                return help.replayKeyboardEvent(uiComponent, KeyboardEvent(event));
+                //}
+            }
+            else if (event is spark.events.DropDownEvent)
+            {
+                var cbdEvent:spark.events.DropDownEvent = spark.events.DropDownEvent(event);
+                if (cbdEvent.triggerEvent is KeyboardEvent)
+                {
+                    var kbEvent:KeyboardEvent =
+                        new KeyboardEvent(KeyboardEvent.KEY_DOWN);
+                    kbEvent.keyCode =
+                        (cbdEvent.type == spark.events.DropDownEvent.OPEN
+                            ? Keyboard.DOWN
+                            : Keyboard.UP);
+                    kbEvent.ctrlKey = true;
+                    help.replayKeyboardEvent(uiComponent, kbEvent);
+                }
+                else //triggerEvent is MouseEvent
+                {
+                    // Usually we dispatch mouseClick events. But as they are handled in a different way
+                    // for this component, we are dispatching a roll_over and mouse_down events
+                    help.replayMouseEvent(sparkVolumeBar.muteButton, new MouseEvent(MouseEvent.ROLL_OVER));
+                    help.replayMouseEvent(sparkVolumeBar.muteButton, new MouseEvent(MouseEvent.MOUSE_DOWN));
+                }
+
+                completeTime = getTimer() +
+                    sparkVolumeBar.getStyle(cbdEvent.type == spark.events.DropDownEvent.OPEN ?
+                        "openDuration" :
+                        "closeDuration");
+
+                help.addSynchronization(function():Boolean
+                {
+                    return getTimer() >= completeTime;
+                });
+
+                return true;
+            }
+
+            return super.replayAutomatableEvent(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@1252258 13f79535-47bb-0310-9956-ffa450edef68

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

 package spark.automation.delegates.components.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 16334
Author:   clucier@adobe.com
Date:     2010-05-27T02:31:28.322720Z

Log Message:
-----------
Preliminary Spark Image and BitmapImage enhancement feature work.  Also included with this checkin is the ability for BitmapImage and s:Image instances to share an image cache.  Queueing is next up to be checked in.

QE notes: Proceed with testing, though PARB related renames are pending. Not considered code complete.
Doc notes: Should begin reviewing new classes in preparation for doc'ing.
Bugs: None
Reviewer: Ryan
Tests run: Checkin, cyclone server Mustella tests.
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/ContentRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/LinkedList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ImageLoadingSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/ContentCache.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ImageSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Image.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/LinkedListNode.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapSmoothingQuality.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/LoaderInvalidationEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/IContentLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mx-manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapScaleMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -28,6 +28,8 @@
 import mx.controls.dataGridClasses.FTEDataGridItemRenderer; FTEDataGridItemRenderer;
 import mx.controls.MXFTETextInput; MXFTETextInput;
 import mx.core.UIFTETextField; UIFTETextField;
+import spark.core.contentLoader.ContentCache; ContentCache;
+import spark.core.contentLoader.LoaderInvalidationEvent; LoaderInvalidationEvent;
 import spark.core.SpriteVisualElement; SpriteVisualElement;
 import spark.components.supportClasses.ListItemDragProxy; ListItemDragProxy;
 import spark.skins.spark.ApplicationSkin; ApplicationSkin;
@@ -57,6 +59,8 @@
 import spark.skins.spark.HSliderSkin; HSliderSkin;
 import spark.skins.spark.HSliderThumbSkin; HSliderThumbSkin;
 import spark.skins.spark.HSliderTrackSkin; HSliderTrackSkin;
+import spark.skins.spark.ImageSkin; ImageSkin;
+import spark.skins.spark.ImageLoadingSkin; ImageLoadingSkin;
 import spark.skins.spark.ListDropIndicator; ListDropIndicator;
 import spark.skins.spark.ListSkin; ListSkin;
 import spark.skins.spark.mediaClasses.normal.MuteButtonSkin; MuteButtonSkin;


ASConfigC: copies AIR files to output directory for compile builds

--- src/ASConfigC.as
+++ src/ASConfigC.as
@@ -15,6 +15,7 @@
 */
 package
 {
+	import com.nextgenactionscript.asconfigc.AIROptions;
 	import com.nextgenactionscript.asconfigc.AIROptionsParser;
 	import com.nextgenactionscript.asconfigc.AIRPlatformType;
 	import com.nextgenactionscript.asconfigc.ASConfigFields;
@@ -98,6 +99,7 @@
 			this.compileProject();
 			this.copySourcePathAssets();
 			this.processDescriptor();
+			this.copyAIRFiles();
 			if(this._airPlatform !== null)
 			{
 				this.packageAIR();
@@ -127,6 +129,7 @@
 		private var _copySourcePathAssets:Boolean = false;
 		private var _airPlatform:String = null;
 		private var _airArgs:Array;
+		private var _airOptionsJSON:Object = null;

 		private function printVersion():void
 		{
@@ -333,6 +336,7 @@
 		{
 			this._compilerArgs = [];
 			this._airArgs = [];
+			this._airOptionsJSON = null;
 			var configData:Object = this.loadConfig();
 			this._projectType = this.readProjectType(configData);
 			if(ASConfigFields.CONFIG in configData)
@@ -414,8 +418,8 @@
 					console.error("Adobe AIR packaging options found, but the \"application\" field is empty.");
 					process.exit(1);
 				}
-				var airOptions:Object = configData[ASConfigFields.AIR_OPTIONS];
-				this.readAIROptions(airOptions);
+				this._airOptionsJSON = configData[ASConfigFields.AIR_OPTIONS];
+				this.readAIROptions(this._airOptionsJSON);
 			}
 			if(ASConfigFields.COPY_SOURCE_PATH_ASSETS in configData)
 			{
@@ -708,6 +712,14 @@
 			}
 		}

+		private function copySourcePathAssetToOutputDirectory(assetPath:String, mainFile:String, sourcePaths:Vector.<String>, outputDirectory:String):void
+		{
+			var content:Object = fs.readFileSync(assetPath);
+			var targetPath:String = assetPathToOutputPath(assetPath, mainFile, sourcePaths, outputDirectory);
+			mkdirp["sync"](path.dirname(targetPath));
+			fs.writeFileSync(targetPath, content);
+		}
+
 		private function copySourcePathAssets():void
 		{
 			if(!this._copySourcePathAssets)
@@ -734,26 +746,19 @@
 			for(var i:int = 0; i < assetCount; i++)
 			{
 				var assetPath:String = assetPaths[i];
-				var content:Object = fs.readFileSync(assetPath);
 				if(this._outputIsJS)
 				{
 					var debugOutputDir:String = path.join(outputDirectory, "bin", "js-debug");
-					var targetPath:String = assetPathToOutputPath(assetPath, this._mainFile, sourcePaths, debugOutputDir);
-					mkdirp["sync"](path.dirname(targetPath));
-					fs.writeFileSync(targetPath, content);
+					copySourcePathAssetToOutputDirectory(assetPath, this._mainFile, sourcePaths, debugOutputDir);
 					if(!this._debugBuild)
 					{
 						var releaseOutputDir:String = path.join(outputDirectory, "bin", "js-release");
-						targetPath = assetPathToOutputPath(assetPath, this._mainFile, sourcePaths, releaseOutputDir);
-						mkdirp["sync"](path.dirname(targetPath));
-						fs.writeFileSync(targetPath, content);
+						copySourcePathAssetToOutputDirectory(assetPath, this._mainFile, sourcePaths, releaseOutputDir);
 					}
 				}
 				else
 				{
-					targetPath = assetPathToOutputPath(assetPath, this._mainFile, sourcePaths, outputDirectory);
-					mkdirp["sync"](path.dirname(targetPath));
-					fs.writeFileSync(targetPath, content);
+					copySourcePathAssetToOutputDirectory(assetPath, this._mainFile, sourcePaths, outputDirectory);
 				}
 			}
 		}
@@ -795,6 +800,104 @@
 			}
 		}

+		private function copyAIRFiles():void
+		{
+			if(this._airPlatform !== null)
+			{
+				//don't copy anything when packaging an app. these files are
+				//used for debug builds only.
+				return;
+			}
+			if(this._airOptionsJSON === null)
+			{
+				//the airOptions field is not defined, so there's nothing to copy
+				return;
+			}
+			if(!this._airOptionsJSON.files)
+			{
+				//the files field is not defined, so there's nothing to copy
+				return;
+			}
+
+			var outputDir:String = findOutputDirectory(this._mainFile, this._outputPath, !this._outputIsJS);
+			var filesJSON:Array = this._airOptionsJSON.files as Array;
+			var fileCount:int = filesJSON.length;
+			for(var i:int = 0; i < fileCount; i++)
+			{
+				var fileJSON:Object = filesJSON[i];
+				if(fileJSON is String)
+				{
+					var srcFilePath:String = fileJSON as String;
+					srcFilePath = path.resolve(srcFilePath);
+
+					//copy directly to output directory
+					var destFilePath:String = path.basename(srcFilePath);
+				}
+				else //object with src and dest
+				{
+					srcFilePath = fileJSON[AIROptions.FILES_FILE];
+					srcFilePath = path.resolve(srcFilePath);
+					destFilePath = fileJSON[AIROptions.FILES_PATH];
+				}
+
+				if(fs.statSync(srcFilePath).isDirectory())
+				{
+					var assetDirList:Vector.<String> = new <String>[srcFilePath];
+					var assetPaths:Vector.<String> = findSourcePathAssets(null, assetDirList, outputDir, null);
+					assetDirList = new <String>[path.dirname(srcFilePath)];
+					var assetCount:int = assetPaths.length;
+					for(var j:int = 0; j < assetCount; j++)
+					{
+						var assetPath:String = assetPaths[j];
+						if(this._outputIsJS)
+						{
+							var debugOutputDir:String = path.join(outputDir, "bin", "js-debug");
+							copySourcePathAssetToOutputDirectory(assetPath, null, assetDirList, debugOutputDir);
+							if(!this._debugBuild)
+							{
+								var releaseOutputDir:String = path.join(outputDir, "bin", "js-release");
+								copySourcePathAssetToOutputDirectory(assetPath, null, assetDirList, releaseOutputDir);
+							}
+						}
+						else //swf
+						{
+							copySourcePathAssetToOutputDirectory(assetPath, null, assetDirList, outputDir);
+						}
+					}
+				}
+				else //src not a directory
+				{
+					try
+					{
+						var content:Object = fs.readFileSync(srcFilePath);
+					}
+					catch(error)
+					{
+						console.error("Failed to copy file: " + srcFilePath);
+						process.exit(1);
+					}
+					if(this._outputIsJS)
+					{
+						var targetPath:String = path.resolve(path.join(outputDir, "bin", "js-debug"), destFilePath);
+						mkdirp["sync"](path.dirname(targetPath));
+						fs.writeFileSync(targetPath, content);
+						if(!this._debugBuild)
+						{
+							targetPath = path.resolve(path.join(outputDir, "bin", "js-release"), destFilePath);
+							mkdirp["sync"](path.dirname(targetPath));
+							fs.writeFileSync(targetPath, content);
+						}
+					}
+					else //swf
+					{
+						targetPath = path.resolve(outputDir, destFilePath);
+						mkdirp["sync"](path.dirname(targetPath));
+						fs.writeFileSync(targetPath, content);
+					}
+				}
+			}
+		}
+
 		private function packageAIR():void
 		{
 			var jarPath:String = this.findAIRPackagerJarPath();


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/automation_air/src/mx/automation/delegates/controls/fileSystemClasses/FileSystemDataGridNameColumnRendererAutomationImpl.as
+++ frameworks/projects/automation_air/src/mx/automation/delegates/controls/fileSystemClasses/FileSystemDataGridNameColumnRendererAutomationImpl.as
@@ -0,0 +1,101 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.automation.delegates.controls.fileSystemClasses
+{
+	import flash.display.DisplayObject;
+	import flash.filesystem.File;
+
+	import mx.automation.Automation;
+	import mx.controls.fileSystemClasses.FileSystemDataGridNameColumnRenderer;
+	import mx.automation.delegates.core.UIComponentAutomationImpl;
+	import mx.core.mx_internal;
+
+	use namespace mx_internal;
+
+	[Mixin]
+	/**
+	 *
+	 *  Defines methods and properties required to perform instrumentation for the
+	 *  DataGridItemRenderer class.
+	 *
+	 *  @see mx.controls.dataGridClasses.DataGridItemRenderer
+	 *
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class FileSystemDataGridNameColumnRendererAutomationImpl extends UIComponentAutomationImpl
+	{
+		include "../../../../core/Version.as";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Class methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Registers the delegate class for a component class with automation manager.
+		 *
+		 *  @param root The SystemManger of the application.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static function init(root:DisplayObject):void
+		{
+			Automation.registerDelegateClass(FileSystemDataGridNameColumnRenderer, FileSystemDataGridNameColumnRendererAutomationImpl);
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor.
+		 * @param obj DataGridItem object to be automated.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function FileSystemDataGridNameColumnRendererAutomationImpl(obj:FileSystemDataGridNameColumnRenderer)
+		{
+			super(obj);
+		}
+
+		/**
+		 *  @private
+		 */
+		protected function get itemRenderer():FileSystemDataGridNameColumnRenderer
+		{
+			return uiComponent as FileSystemDataGridNameColumnRenderer;
+		}
+
+		override public function get automationName():String
+		{
+			var dataObject:File = itemRenderer.data as File;
+			if(dataObject)
+				return dataObject.name;
+			else
+				return null;
+		}
+	}
+
+}


reformat

reformat

--- as/main/frame4.as
+++ as/main/frame4.as
@@ -12,68 +12,68 @@
 var textScrollListener = new Object();

-textScrollListener.click = function(e){
+textScrollListener.click = function(e:Object)
+{

-function textScroll ():Void
-{
-	this.onPress = this.oOut;
-	this.onRollOver = this.oOver;
-	this.onRollOut = this.oOut;
-	this.onRelease = this.oOut;
-}
-function oOver ():Void
-{
-	var i:Number;
-	for (var i = 0; i < buttonsUI.length; i++)
-	{
-		pressing = true;
-		movement = -1;
-		this.updateAfterEvent;
-	}
-
-}
-
-function oOut ():Void
-{
-	var i:Number;
-	for (var i = 0; i < buttonsUI.length; i++)
-	{
-		pressing = false;
-		this.updateAfterEvent;
-	}
-}
+		function textScroll ():Void
+		{
+			this.onPress = this.oOut;
+			this.onRollOver = this.oOver;
+			this.onRollOut = this.oOut;
+			this.onRelease = this.oOut;
+		}
+		function oOver ():Void
+		{
+			var i:Number;
+			for (var i = 0; i < buttonsUI.length; i++)
+			{
+				pressing = true;
+				movement = -1;
+				this.updateAfterEvent;
+			}
+
+		}
+
+		function oOut ():Void
+		{
+			var i:Number;
+			for (var i = 0; i < buttonsUI.length; i++)
+			{
+				pressing = false;
+				this.updateAfterEvent;
+			}
+		}

 }

+function startTextApp ():Void
+{
+		buttonsUI[i].addEventListener("click", textScrollListener);
+		formatText();
+		this.stop ();
+};
+
 function formatText():Void
 {
-this.historia_txt.html = true;
-this.historia.htmlText = true;
-this.historia_txt.wordWrap = true;
-this.historia_txt.multiline = true;
+		this.historia_txt.html = true;
+		this.historia.htmlText = true;
+		this.historia_txt.wordWrap = true;
+		this.historia_txt.multiline = true;
 }
-
-
-function startTextApp ():Void
-{
-	buttonsUI[i].addEventListener("click", textScrollListener);
-	formatText();
-	this.stop ();
-};

 var Privat = new LoadVars ();
 Privat.load ("/assets/tendes.txt");
 Privat.onLoad = function ()
 {
-	this.historia_txt.setTextFormat(formatText);
-	this.historia_txt.htmlText = this.Privat;
-	this.play ();
+		this.historia_txt.setTextFormat(formatText);
+		this.historia_txt.htmlText = this.Privat;
+		this.play ();
 };

-function initFrame4():Void{
-
-onEnterFrame = startTextApp;
-EventDispatcher.initialize(this);
+function initFrame4():Void
+{
+		onEnterFrame = startTextApp;
+		EventDispatcher.initialize(this);

 }