Transferred from the Adobe Open Source Subversion Repository

Revision: 21680
Author:   jszeto@adobe.com
Date:     2011-07-21T21:56:22.533455Z

Log Message:
-----------
Item Snapping, SpinnerList and DateSpinner Initial checkin

Merging in changes from sandbox development branch

SpinnerList and DateSpinner are in usable states, but there is still unimplemented functionality.

QE notes: none
Doc notes: none
Bugs: none
Reviewer: Tom Kraikit, Eric Day, Jason Szeto
Tests run: checkintests, full cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateAndTimeRangeList.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/.settings/org.eclipse.core.resources.prefs</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListScrollerSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ScrollSnappingMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalendarDate.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSelectorDisplayMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/.settings</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/SpinnerListContainerBackground.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/SpinnerListContainerBackground.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/src/DateSpinnerTest-app.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/effects/ThrowEffect.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/SpinnerListContainerBackground.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/src/views</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/layouts/VerticalSpinnerLayout.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/src</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/.flexProperties</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/libs</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/.actionScriptProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/bundles/en_US/components.properties</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/TouchScrollHelper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/TabbedViewNavigatorButtonBarFirstButton_down.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/src/DateSpinnerTest.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/src/blackberry-tablet.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/src/views/DateSpinnerTestHomeView.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as</path>
<path kind="dir" action="M">/private/flex/sdk/branches/4.y</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListItemRenderer.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/.settings</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/.project</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/SpinnerListContainerShadow.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/SpinnerListContainerShadow.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/SpinnerListContainerShadow.fxg</path>

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

--- frameworks/projects/spark/src/spark/components/ScrollSnappingMode.as
+++ frameworks/projects/spark/src/spark/components/ScrollSnappingMode.as
@@ -0,0 +1,49 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.components
+{
+
+    /**
+     *  Values for the scrollSnappingMode property of the
+     *  List and Scroller classes
+     *
+     */
+    public final class ScrollSnappingMode
+    {
+        /**
+         *  Scroll snapping is off
+         *
+         */
+        public static const NONE:String = "none";
+
+        /**
+         *  Elements are snapped to the left (horizontal) or top (vertical)
+         *  edge of the viewport.
+         *
+         */
+        public static const LEADING_EDGE:String = "leadingEdge";
+
+        /**
+         *  Elements are snapped to the center of the viewport.
+         *
+         */
+        public static const CENTER:String = "center";
+
+        /**
+         *  Elements are snapped to the right (horizontal) or bottom (vertical)
+         *  edge of the viewport.
+         *
+         */
+        public static const TRAILING_EDGE:String = "trailingEdge";
+
+    }
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 3065
Author:   gruehle@adobe.com
Date:     2008-09-02T23:52:05.743218Z

Log Message:
-----------
Initial checkin of the deferred instantiation feature for Gumbo.

ItemsComponent has a "creationPolicy" property that controls when the content items are created. Possible values are:
 * "all" - content is created as soon as the ItemsComponent is created
 * "auto" - content is created as soon as it is needed
 * "none" - content is not automatically created. When this creationPolicy is set, you must call createDeferredContent().

The "contentCreationComplete" event is sent when the content has been created.

Added IDeferredContentOwner interface. ItemsComponent is the only Gumbo component that implements this interface.

Reviewers: Corey, Ryan, Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/flex4/flex4test.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/flex4/flex4test_testScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ItemsComponent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/IDeferredContentOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/StatesModel.java</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableContainer.as
@@ -13,11 +13,14 @@
 {

 import flex.core.Group;
+import flex.core.IDeferredContentOwner;
 import flex.core.SkinnableComponent;
 import flex.events.FlexEvent;
 import flex.events.ItemExistenceChangedEvent;

 import mx.collections.IList;
+import mx.core.ContainerCreationPolicy;
+import mx.core.IDeferredInstance;
 import mx.core.IFactory;
 import mx.managers.IFocusManagerContainer;

@@ -34,6 +37,13 @@
 [Event(name="contentChanged", type="flex.events.FlexEvent")]

 /**
+ *  Sent after the content for this component has been created. With deferred
+ *  instantiation, the content for a component may be created long after the
+ *  component is created.
+ */
+[Event(name="contentCreationComplete", type="flex.events.FlexEvent")]
+
+/**
  *  Dispatched when an item is added to the component.
  *  event.relatedObject is the visual item that was added.
  */
@@ -45,14 +55,15 @@
  */
 [Event(name="itemRemove", type="flex.events.ItemExistenceChangedEvent")]

-[DefaultProperty("content")]
+[DefaultProperty("contentFactory")]

 /**
  * The ItemsComponent class is the base class for all skinnable components that have
  * content. This class is not typically instantiated in MXML. It is primarily
  * used as a base class, or as a SkinPart.
  */
-public class ItemsComponent extends SkinnableComponent implements IFocusManagerContainer
+public class ItemsComponent extends SkinnableComponent
+	   implements IFocusManagerContainer, IDeferredContentOwner
 {
     include "../core/Version.as";

@@ -65,385 +76,494 @@
     /**
      *  Constructor.
      */
-	public function ItemsComponent()
+    public function ItemsComponent()
+    {
+        super();
+
+        tabChildren = true;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Skin Parts
+    //
+    //--------------------------------------------------------------------------
+
+    [SkinPart]
+    public var contentGroup:Group;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    // Used to hold the content until the contentGroup is created.
+    private var _placeHolderGroup:Group;
+
+    protected function get currentContentGroup():Group
+    {
+	    createContentIfNeeded();
+
+        if (!contentGroup)
+        {
+            if (!_placeHolderGroup)
+            {
+                _placeHolderGroup = new Group();
+
+                if (_content)
+                    _placeHolderGroup.content = _content;
+
+                _placeHolderGroup.addEventListener(
+                    ItemExistenceChangedEvent.ITEM_ADD, contentGroup_itemAddedHandler);
+                _placeHolderGroup.addEventListener(
+                    ItemExistenceChangedEvent.ITEM_REMOVE, contentGroup_itemRemovedHandler);
+                _placeHolderGroup.addEventListener(
+                    FlexEvent.CONTENT_CHANGING, contentGroup_contentChangingHandler);
+                _placeHolderGroup.addEventListener(
+                    FlexEvent.CONTENT_CHANGED, contentGroup_contentChangedHandler);
+            }
+            return _placeHolderGroup;
+        }
+        else
+        {
+            return contentGroup;
+        }
+    }
+
+    //----------------------------------
+    //  contentFactory
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Backing variable for the contentFactory property.
+     */
+    private var _contentFactory:IDeferredInstance;
+
+	/**
+	 *  @private
+	 *  Flag that indicates whether or not the content has been created.
+	 */
+    private var contentCreated:Boolean = false;
+
+	/**
+	 *  A factory object that creates the initial value for the
+	 *  content property.
+	 */
+    public function get contentFactory():IDeferredInstance
+    {
+        return _contentFactory;
+    }
+
+    public function set contentFactory(value:IDeferredInstance):void
+    {
+        if (value == _contentFactory)
+            return;
+
+        _contentFactory = value;
+        contentCreated = false;
+    }
+
+    //----------------------------------
+    //  creationPolicy
+    //----------------------------------
+
+	private var _creationPolicy:String = "auto";
+
+	/**
+	 *  @inheritDoc
+	 */
+	public function get creationPolicy():String
 	{
-		super();
-
-		tabChildren = true;
+		return _creationPolicy;
 	}

-	//--------------------------------------------------------------------------
-	//
-	//  Skin Parts
-	//
-	//--------------------------------------------------------------------------
-
-	[SkinPart]
-	public var contentGroup:Group;
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	// Used to hold the content until the contentGroup is created.
-	private var _placeHolderGroup:Group;
-
-	protected function get currentContentGroup():Group
+	public function set creationPolicy(value:String):void
 	{
-		if (!contentGroup)
-		{
-			if (!_placeHolderGroup)
-			{
-				_placeHolderGroup = new Group();
-
-				if (_content)
-					_placeHolderGroup.content = _content;
-
-				_placeHolderGroup.addEventListener(
-					ItemExistenceChangedEvent.ITEM_ADD, contentGroup_itemAddedHandler);
-				_placeHolderGroup.addEventListener(
-					ItemExistenceChangedEvent.ITEM_REMOVE, contentGroup_itemRemovedHandler);
-				_placeHolderGroup.addEventListener(
-				    FlexEvent.CONTENT_CHANGING, contentGroup_contentChangingHandler);
-				_placeHolderGroup.addEventListener(
-				    FlexEvent.CONTENT_CHANGED, contentGroup_contentChangedHandler);
-			}
-			return _placeHolderGroup;
-		}
-		else
-		{
-			return contentGroup;
-		}
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties proxied to contentHolder
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  content
-	//----------------------------------
-
-	private var _content:*;
-
-	/**
-	 *  @copy flex.core.Group#content
-	 */
-	[Bindable]
-	public function get content():*
-	{
-		if (contentGroup)
-			return contentGroup.content;
-		else if (_placeHolderGroup)
-			return _placeHolderGroup.content;
-		else
-			return _content;
-	}
-
-	public function set content(value:*):void
-	{
-		if (value == _content)
-			return;
-
-		_content = value;
-
-		if (contentGroup)
-			contentGroup.content = value;
-		else if (_placeHolderGroup)
-			_placeHolderGroup.content = value;
-	}
-
-	//----------------------------------
-	//  layout
-	//----------------------------------
-
-	/**
-	 *  @copy flex.core.Group#layout
-	 */
-
-	private var _layout:Object;
-
-    public function get layout():Object
-    {
-    	return (contentGroup) ? contentGroup.layout : _layout;
-    }
-
-    public function set layout(value:Object):void
-    {
-		if (value != _layout) {
-    		_layout = value;
-    		if (contentGroup) {
-    			contentGroup.layout = _layout;
-    		}
-		}
-    }
-
-	//----------------------------------
-	//  itemRenderer
-	//----------------------------------
-
-	private var _itemRenderer:IFactory;
-
-	/**
-	 *  @copy flex.core.Group#itemRenderer
-	 */
-	public function get itemRenderer():IFactory
-	{
-		if (contentGroup)
-			return contentGroup.itemRenderer;
-
-		return _itemRenderer;
-	}
-
-	public function set itemRenderer(value:IFactory):void
-	{
-		if (value == _itemRenderer)
-			return;
-
-		_itemRenderer = value;
-
-		if (contentGroup)
-			contentGroup.itemRenderer = _itemRenderer;
-	}
-
-	//----------------------------------
-	//  itemRendererFunction
-	//----------------------------------
-
-	private var _itemRendererFunction:Function;
-
-	/**
-	 *  @copy flex.core.Group#itemRendererFunction
-	 */
-	public function get itemRendererFunction():Function
-	{
-		if (contentGroup)
-			return contentGroup.itemRendererFunction;
-
-		return _itemRendererFunction;
-	}
-
-	public function set itemRendererFunction(value:Function):void
-	{
-		if (value == _itemRendererFunction)
+		if (value == _creationPolicy)
 			return;

-		_itemRendererFunction = value;
-
-		if (contentGroup)
-			contentGroup.itemRendererFunction = _itemRendererFunction;
+		_creationPolicy = value;
 	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties proxied to contentHolder
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  content
+    //----------------------------------
+
+    private var _content:*;
+
+    /**
+     *  @copy flex.core.Group#content
+     */
+    [Bindable]
+    public function get content():*
+    {
+	    // Make sure deferred content is created, if needed
+		createContentIfNeeded();

-	//--------------------------------------------------------------------------
-	//
-	//  Methods proxied to contentGroup
-	//
-	//--------------------------------------------------------------------------
-
+        if (contentGroup)
+            return contentGroup.content;
+        else if (_placeHolderGroup)
+            return _placeHolderGroup.content;
+        else
+            return _content;
+    }
+
+    public function set content(value:*):void
+    {
+        if (value == _content)
+            return;
+
+        _content = value;
+
+        if (contentGroup)
+            contentGroup.content = value;
+        else if (_placeHolderGroup)
+            _placeHolderGroup.content = value;
+    }
+
+    //----------------------------------
+    //  layout
+    //----------------------------------
+
+    /**
+     *  @copy flex.core.Group#layout
+     */
+
+    private var _layout:Object;
+
+    public function get layout():Object
+    {
+        return (contentGroup) ? contentGroup.layout : _layout;
+    }
+
+    public function set layout(value:Object):void
+    {
+        if (value != _layout) {
+            _layout = value;
+            if (contentGroup) {
+                contentGroup.layout = _layout;
+            }
+        }
+    }
+
+    //----------------------------------
+    //  itemRenderer
+    //----------------------------------
+
+    private var _itemRenderer:IFactory;
+
+    /**
+     *  @copy flex.core.Group#itemRenderer
+     */
+    public function get itemRenderer():IFactory
+    {
+        if (contentGroup)
+            return contentGroup.itemRenderer;
+
+        return _itemRenderer;
+    }
+
+    public function set itemRenderer(value:IFactory):void
+    {
+        if (value == _itemRenderer)
+            return;
+
+        _itemRenderer = value;
+
+        if (contentGroup)
+            contentGroup.itemRenderer = _itemRenderer;
+    }
+
+    //----------------------------------
+    //  itemRendererFunction
+    //----------------------------------
+
+    private var _itemRendererFunction:Function;
+
+    /**
+     *  @copy flex.core.Group#itemRendererFunction
+     */
+    public function get itemRendererFunction():Function
+    {
+        if (contentGroup)
+            return contentGroup.itemRendererFunction;
+
+        return _itemRendererFunction;
+    }
+
+    public function set itemRendererFunction(value:Function):void
+    {
+        if (value == _itemRendererFunction)
+            return;
+
+        _itemRendererFunction = value;
+
+        if (contentGroup)
+            contentGroup.itemRendererFunction = _itemRendererFunction;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods proxied to contentGroup
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @copy flex.core.Group#numItems
+     */
+    public function get numItems():int
+    {
+        return currentContentGroup.numItems;
+    }
+
+    /**
+     *  @copy flex.core.Group#getItemAt()
+     */
+    public function getItemAt(index:int):*
+    {
+        return currentContentGroup.getItemAt(index);
+    }
+
+    /**
+     *  @copy flex.core.Group#addItem()
+     */
+    public function addItem(item:*):*
+    {
+        return currentContentGroup.addItem(item);
+    }
+
+    /**
+     *  @copy flex.core.Group#addItemAt()
+     */
+    public function addItemAt(item:*, index:int):*
+    {
+        return currentContentGroup.addItemAt(item, index);
+    }
+
+    /**
+     *  @copy flex.core.Group#removeItem()
+     */
+    public function removeItem(item:*):*
+    {
+        return currentContentGroup.removeItem(item);
+    }
+
+    /**
+     *  @copy flex.core.Group#removeItemAt()
+     */
+    public function removeItemAt(index:int):*
+    {
+        return currentContentGroup.removeItemAt(index);
+    }
+
+    /**
+     *  @copy flex.core.Group#getItemIndex()
+     */
+    public function getItemIndex(item:*):int
+    {
+        return currentContentGroup.getItemIndex(item);
+    }
+
+    /**
+     *  @copy flex.core.Group#setItemIndex()
+     */
+    public function setItemIndex(item:*, index:int):void
+    {
+        currentContentGroup.setItemIndex(item, index);
+    }
+
+    /**
+     *  @copy flex.core.Group#swapItems()
+     */
+    public function swapItems(item1:*, item2:*):void
+    {
+        currentContentGroup.swapItems(item1, item2);
+    }
+
+    /**
+     *  @copy flex.core.Group#swapItemsAt()
+     */
+    public function swapItemsAt(index1:*, index2:*):void
+    {
+        currentContentGroup.swapItemsAt(index1, index2);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
 	/**
-	 *  @copy flex.core.Group#numItems
+	 *  Create our content, if the creationPolicy is != "none".
 	 */
-	public function get numItems():int
+    override protected function createChildren():void
+    {
+        super.createChildren();
+
+		// TODO: When navigator support is added, this is where we would
+		// determine if content should be created now, or wait until
+		// later. For now, we always create content here unless
+		// creationPolicy="none".
+        createContentIfNeeded();
+    }
+
+    /**
+     *  Called when a skin part has been added or assigned.
+     *  This method pushes the content, layout, itemRenderer, and
+     *  itemRendererFunction properties down to the contentGroup
+     *  skin part.
+     */
+    override protected function partAdded(partName:String, instance:*):void
+    {
+        if (instance == contentGroup)
+        {
+            if (_placeHolderGroup != null)
+            {
+                var sourceContent:Array = _placeHolderGroup.content as Array;
+
+                if (sourceContent)
+                    contentGroup.content = sourceContent.slice();
+                else if (_placeHolderGroup.content is IList)
+                    throw new Error("ItemsComponent can not currently handle content of type " +
+                            "IList when adding children dynamically.");
+                else
+                    contentGroup.content = _placeHolderGroup.content;
+
+                // Temporary workaround because copying content from one Group to another throws RTE
+                for (var i:int = _placeHolderGroup.numItems; i > 0; i--)
+                {
+                    _placeHolderGroup.removeItemAt(0);
+                }
+
+            }
+            else if (_content != undefined)
+            {
+                contentGroup.content = _content;
+            }
+            if (_layout != null)
+                contentGroup.layout = _layout;
+            if (_itemRenderer != null || _itemRendererFunction != null)
+            {
+                contentGroup.itemRenderer = _itemRenderer;
+                contentGroup.itemRendererFunction = _itemRendererFunction;
+            }
+
+            contentGroup.addEventListener(
+                ItemExistenceChangedEvent.ITEM_ADD, contentGroup_itemAddedHandler);
+            contentGroup.addEventListener(
+                ItemExistenceChangedEvent.ITEM_REMOVE, contentGroup_itemRemovedHandler);
+            contentGroup.addEventListener(
+                FlexEvent.CONTENT_CHANGING, contentGroup_contentChangingHandler);
+            contentGroup.addEventListener(
+                FlexEvent.CONTENT_CHANGED, contentGroup_contentChangedHandler);
+
+            if (_placeHolderGroup)
+            {
+                _placeHolderGroup.removeEventListener(
+                    ItemExistenceChangedEvent.ITEM_ADD, contentGroup_itemAddedHandler);
+                _placeHolderGroup.removeEventListener(
+                    ItemExistenceChangedEvent.ITEM_REMOVE, contentGroup_itemRemovedHandler);
+                _placeHolderGroup.removeEventListener(
+                    FlexEvent.CONTENT_CHANGING, contentGroup_contentChangingHandler);
+                _placeHolderGroup.removeEventListener(
+                    FlexEvent.CONTENT_CHANGED, contentGroup_contentChangedHandler);
+
+                _placeHolderGroup = null;
+            }
+        }
+    }
+
+    /**
+     *  Called when a skin part is removed.
+     */
+    override protected function partRemoved(partName:String, instance:*):void
+    {
+        if (instance == contentGroup)
+        {
+            contentGroup.removeEventListener(
+                ItemExistenceChangedEvent.ITEM_ADD, contentGroup_itemAddedHandler);
+            contentGroup.removeEventListener(
+                ItemExistenceChangedEvent.ITEM_REMOVE, contentGroup_itemRemovedHandler);
+            contentGroup.removeEventListener(
+                FlexEvent.CONTENT_CHANGING, contentGroup_contentChangingHandler);
+            contentGroup.removeEventListener(
+                FlexEvent.CONTENT_CHANGED, contentGroup_contentChangedHandler);
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  IDeferredContentOwner methods
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  Create the content for this component. When creationPolicy is "auto" or
+	 *  "all", this function is called automatically by the Flex framework.
+	 *  When creationPolicy="none", this method must be called to initialize
+	 *  the content property.
+	 */
+    public function createDeferredContent():void
 	{
-		return currentContentGroup.numItems;
-	}
-
-	/**
-	 *  @copy flex.core.Group#getItemAt()
-	 */
-	public function getItemAt(index:int):*
-	{
-		return currentContentGroup.getItemAt(index);
-	}
-
-	/**
-	 *  @copy flex.core.Group#addItem()
-	 */
-	public function addItem(item:*):*
-	{
-		return currentContentGroup.addItem(item);
-	}
-
-	/**
-	 *  @copy flex.core.Group#addItemAt()
-	 */
-	public function addItemAt(item:*, index:int):*
-	{
-		return currentContentGroup.addItemAt(item, index);
-	}
-
-	/**
-	 *  @copy flex.core.Group#removeItem()
-	 */
-	public function removeItem(item:*):*
-	{
-		return currentContentGroup.removeItem(item);
-	}
-
-	/**
-	 *  @copy flex.core.Group#removeItemAt()
-	 */
-	public function removeItemAt(index:int):*
-	{
-		return currentContentGroup.removeItemAt(index);
-	}
-
-	/**
-	 *  @copy flex.core.Group#getItemIndex()
-	 */
-	public function getItemIndex(item:*):int
-	{
-		return currentContentGroup.getItemIndex(item);
-	}
-
-	/**
-	 *  @copy flex.core.Group#setItemIndex()
-	 */
-	public function setItemIndex(item:*, index:int):void
-	{
-		currentContentGroup.setItemIndex(item, index);
-	}
-
-	/**
-	 *  @copy flex.core.Group#swapItems()
-	 */
-	public function swapItems(item1:*, item2:*):void
-	{
-		currentContentGroup.swapItems(item1, item2);
-	}
-
-	/**
-	 *  @copy flex.core.Group#swapItemsAt()
-	 */
-	public function swapItemsAt(index1:*, index2:*):void
-	{
-		currentContentGroup.swapItemsAt(index1, index2);
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Called when a skin part has been added or assigned.
-	 *  This method pushes the content, layout, itemRenderer, and
-	 *  itemRendererFunction properties down to the contentGroup
-	 *  skin part.
-	 */
-	override protected function partAdded(partName:String, instance:*):void
-	{
-		if (instance == contentGroup)
+		if (!contentCreated)
 		{
-			if (_placeHolderGroup != null)
+			contentCreated = true;
+
+			if (contentFactory)
 			{
-				var sourceContent:Array = _placeHolderGroup.content as Array;
-
-				if (sourceContent)
-					contentGroup.content = sourceContent.slice();
-				else if (_placeHolderGroup.content is IList)
-					throw new Error("ItemsComponent can not currently handle content of type " +
-							"IList when adding children dynamically. Please discuss with Jason Szeto");
-				else
-					contentGroup.content = _placeHolderGroup.content;
-
-				// Temporary workaround because copying content from one Group to another throws RTE
-				for (var i:int = _placeHolderGroup.numItems; i > 0; i--)
-				{
-					_placeHolderGroup.removeItemAt(0);
-				}
-
-			}
-			else if (_content != undefined)
-			{
-				contentGroup.content = _content;
-			}
-			if (_layout != null)
-				contentGroup.layout = _layout;
-			if (_itemRenderer != null || _itemRendererFunction != null)
-			{
-				contentGroup.itemRenderer = _itemRenderer;
-				contentGroup.itemRendererFunction = _itemRendererFunction;
-			}
-
-			contentGroup.addEventListener(
-				ItemExistenceChangedEvent.ITEM_ADD, contentGroup_itemAddedHandler);
-			contentGroup.addEventListener(
-				ItemExistenceChangedEvent.ITEM_REMOVE, contentGroup_itemRemovedHandler);
-			contentGroup.addEventListener(
-			    FlexEvent.CONTENT_CHANGING, contentGroup_contentChangingHandler);
-			contentGroup.addEventListener(
-			    FlexEvent.CONTENT_CHANGED, contentGroup_contentChangedHandler);
-
-			if (_placeHolderGroup)
-			{
-				_placeHolderGroup.removeEventListener(
-					ItemExistenceChangedEvent.ITEM_ADD, contentGroup_itemAddedHandler);
-				_placeHolderGroup.removeEventListener(
-					ItemExistenceChangedEvent.ITEM_REMOVE, contentGroup_itemRemovedHandler);
-				_placeHolderGroup.removeEventListener(
-				    FlexEvent.CONTENT_CHANGING, contentGroup_contentChangingHandler);
-				_placeHolderGroup.removeEventListener(
-				    FlexEvent.CONTENT_CHANGED, contentGroup_contentChangedHandler);
-
-				_placeHolderGroup = null;
+				content = contentFactory.getInstance();
+				dispatchEvent(new FlexEvent(FlexEvent.CONTENT_CREATION_COMPLETE));
 			}
 		}
 	}
-
+
 	/**
-	 *  Called when a skin part is removed.
+	 *  @private
 	 */
-	override protected function partRemoved(partName:String, instance:*):void
+	private function createContentIfNeeded():void
 	{
-		if (instance == contentGroup)
-		{
-			contentGroup.removeEventListener(
-				ItemExistenceChangedEvent.ITEM_ADD, contentGroup_itemAddedHandler);
-			contentGroup.removeEventListener(
-				ItemExistenceChangedEvent.ITEM_REMOVE, contentGroup_itemRemovedHandler);
-			contentGroup.removeEventListener(
-			    FlexEvent.CONTENT_CHANGING, contentGroup_contentChangingHandler);
-			contentGroup.removeEventListener(
-			    FlexEvent.CONTENT_CHANGED, contentGroup_contentChangedHandler);
-		}
-	}
-
-
-	//--------------------------------------------------------------------------
-	//
-	//  Event Handlers
-	//
-	//--------------------------------------------------------------------------
-
-	private function contentGroup_itemAddedHandler(event:ItemExistenceChangedEvent):void
-	{
-		// Re-dispatch the event
-		dispatchEvent(event);
+		if (!contentCreated && creationPolicy != ContainerCreationPolicy.NONE)
+			createDeferredContent();
 	}

-	private function contentGroup_itemRemovedHandler(event:ItemExistenceChangedEvent):void
-	{
-		// Re-dispatch the event
-		dispatchEvent(event);
-	}
-
-	private function contentGroup_contentChangingHandler(event:FlexEvent):void
-	{
-		// Re-dispatch the event
-		dispatchEvent(event);
-	}
-
-	private function contentGroup_contentChangedHandler(event:FlexEvent):void
-	{
-		// Re-dispatch the event
-		dispatchEvent(event);
-	}
+    //--------------------------------------------------------------------------
+    //
+    //  Event Handlers
+    //
+    //--------------------------------------------------------------------------
+
+    private function contentGroup_itemAddedHandler(event:ItemExistenceChangedEvent):void
+    {
+        // Re-dispatch the event
+        dispatchEvent(event);
+    }
+
+    private function contentGroup_itemRemovedHandler(event:ItemExistenceChangedEvent):void
+    {
+        // Re-dispatch the event
+        dispatchEvent(event);
+    }
+
+    private function contentGroup_contentChangingHandler(event:FlexEvent):void
+    {
+        // Re-dispatch the event
+        dispatchEvent(event);
+    }
+
+    private function contentGroup_contentChangedHandler(event:FlexEvent):void
+    {
+        // Re-dispatch the event
+        dispatchEvent(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@1284903 13f79535-47bb-0310-9956-ffa450edef68

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

 package spark.globalization
 {


remove deprecated and useless Matrix4x4.dataDescriptor getter

--- src/aerys/minko/type/math/Matrix4x4.as
+++ src/aerys/minko/type/math/Matrix4x4.as
@@ -30,11 +30,6 @@

 		minko_math var _matrix	: flash.geom.Matrix3D	= new flash.geom.Matrix3D();

-		public function get dataDescriptor() : Object
-		{
-			return null;
-		}
-
 		public function get translationX() : Number
 		{
 			return getTranslation(TMP_VECTOR4).x;


fixed Matrix4x4.getTranslation(), Matrix4x4.getRotation() and Matrix4x4.getScale() not executing the Vector4.changed signal (issue #27 on github)

--- src/aerys/minko/type/math/Matrix4x4.as
+++ src/aerys/minko/type/math/Matrix4x4.as
@@ -457,13 +457,44 @@
 			Utils3D.projectVectors(_matrix, input, output, uvt);
 		}

+		public function getTranslation(output : Vector4 = null) : Vector4
+		{
+			output ||= new Vector4();
+			_matrix.copyColumnTo(3, output._vector);
+
+			output.changed.execute(output, null);
+
+			return output;
+		}
+
+		public function setTranslation(x : Number, y : Number, z : Number) : Matrix4x4
+		{
+			var position : Vector4	= getTranslation(TMP_VECTOR4);
+
+			if (!isNaN(x))
+				position.x = x;
+			if (!isNaN(y))
+				position.y = y;
+			if (!isNaN(z))
+				position.z = z;
+
+			_matrix.copyColumnFrom(3, position._vector);
+
+			if (!_locked)
+				_changed.execute(this, null);
+
+			return this;
+		}
+
 		public function getRotation(output : Vector4 = null) : Vector4
 		{
 			var components 	: Vector.<Vector3D>	= _matrix.decompose();
-
+
 			output ||= new Vector4();
 			output._vector = components[1];

+			output.changed.execute(output, null);
+
 			return output;
 		}

@@ -471,7 +502,7 @@
 		{
 			var components 	: Vector.<Vector3D>	= _matrix.decompose();
 			var rotation	: Vector3D			= components[1];
-
+
 			if (!isNaN(x))
 				rotation.x = x;
 			if (!isNaN(y))
@@ -483,33 +514,6 @@

 			if (!_locked)
 				_changed.execute(this, null);
-
-			return this;
-		}
-
-		public function getTranslation(output : Vector4 = null) : Vector4
-		{
-			output ||= new Vector4();
-			_matrix.copyColumnTo(3, output._vector);
-
-			return output;
-		}
-
-		public function setTranslation(x : Number, y : Number, z : Number) : Matrix4x4
-		{
-			var position : Vector4	= getTranslation(TMP_VECTOR4);
-
-			if (!isNaN(x))
-				position.x = x;
-			if (!isNaN(y))
-				position.y = y;
-			if (!isNaN(z))
-				position.z = z;
-
-			_matrix.copyColumnFrom(3, position._vector);
-
-			if (!_locked)
-				_changed.execute(this, null);

 			return this;
 		}
@@ -520,6 +524,8 @@

 			output ||= new Vector4();
 			output._vector = components[2];
+
+			output.changed.execute(output, null);

 			return output;
 		}


Исправление ошибки

Исправление ошибки

--- csi/flash/src/main/flex/org/shypl/biser/csi/client/ConnectionProcessor.as
+++ csi/flash/src/main/flex/org/shypl/biser/csi/client/ConnectionProcessor.as
@@ -81,7 +81,7 @@

 		private function readDataBody(data:IDataInput):void {
 			var bufferSize:uint = _dataBuffer.bytesAvailable;
-			data.readBytes(_dataBuffer, bufferSize, _dataExpectedSize - bufferSize);
+			data.readBytes(_dataBuffer, bufferSize, Math.min(_dataExpectedSize - bufferSize, data.bytesAvailable));

 			if (_dataExpectedSize == _dataBuffer.bytesAvailable) {
 				setDataExpectFlag();


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

--- frameworks/projects/advancedgrids/src/mx/styles/metadata/PaddingStyles.as
+++ frameworks/projects/advancedgrids/src/mx/styles/metadata/PaddingStyles.as
@@ -0,0 +1,36 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  Number of pixels between the control's left border
+ *  and the left edge of its content area.
+ *
+ *  @default 2
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="paddingLeft", type="Number", format="Length", inherit="no")]
+
+/**
+ *  Number of pixels between the control's right border
+ *  and the right edge of its content area.
+ *
+ *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="paddingRight", type="Number", format="Length", inherit="no")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 18751
Author:   rfrishbe@adobe.com
Date:     2010-11-19T23:14:06.167200Z

Log Message:
-----------
Fixing up same change event logic in List/ListBase that I noticed when looking around the code.

QE notes:
Doc notes:
Bugs: -
Reviewer: Jason SZ
Tests run: checkintests, mustella cyclone
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -653,7 +653,7 @@
 		}

         if (dispatchChangeEvent)
-            dispatchChangeAfterSelection = dispatchChangeEvent;
+            dispatchChangeAfterSelection = (dispatchChangeAfterSelection || dispatchChangeEvent);
         _proposedSelectedIndex = value;
         invalidateProperties();
     }
@@ -740,7 +740,7 @@
             return;

         if (dispatchChangeEvent)
-            dispatchChangeAfterSelection = dispatchChangeEvent;
+            dispatchChangeAfterSelection = (dispatchChangeAfterSelection || dispatchChangeEvent);

         _pendingSelectedItem = value;
         invalidateProperties();


Transferred from the Adobe Open Source Subversion Repository

Revision: 11070
Author:   rfrishbe@adobe.com
Date:     2009-10-21T23:56:10.882948Z

Log Message:
-----------
This has two changes: one is adding index to IItemRenderer and the other is adding handleHighlightBackground to ItemRenderer.  Adding an index property should speed things up a little bit, and it'll help fix a bug with renderers that have index-dependent drawing, like when alternatingItemColors is set.  handleHighlightBackground is a new shortcut property that will automatically handle drawing the background for selection/highlight in an item renderer.  For now, handleHighlightBackground defaults to false, so it shouldn’t affect anything.

The two new properties still need to be PARBed, and the handleHighlightBackround property in particular may change names and default values.

QE notes: We'll need to add new tests for this
Doc notes: We'll need some new documentation around the handleHighlightBackground property and the suggested approach for custom item renderers.
Bugs: SDK-22908
Reviewer: Deepa, Evtim
Tests run: checkintests, Mustella List, DataGroup, SkinnableDataContainer, ButtonBar, DropDownList
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBarButton.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/IItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -777,11 +777,16 @@

         // Now run through and initialize the renderer correctly
         super.updateRenderer(renderer);
-
-        var index:Number = dataGroup.getElementIndex(renderer);

         // Set any new properties on the renderer now that it's going to
         // come back into use.
+
+        var index:int
+        if (renderer is IItemRenderer)
+            index = IItemRenderer(renderer).index;
+        else
+            index = dataGroup.getElementIndex(renderer);
+
         if (isItemIndexSelected(index))
             itemSelected(index, true);
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3047
Author:   gruehle@adobe.com
Date:     2008-08-29T22:18:20.601349Z

Log Message:
-----------
Checking in for Jason.

This is the big display object sharing optimization for Group. Adjacent graphic elements that do not require their own display object now draw into a common shared display object.

There should be no functionality changes. The only exception is masks on graphic elements are broken. If you find any other functional differences, please file a bug.

The changes have been cycloned by the SDK QE and Thermo.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/IDisplayObjectElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/TextGraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
@@ -68,14 +68,25 @@
 	/**
 	 *  @private
 	 */
-	private var _displayObject:DisplayObject = new Sprite();
-
-	/**
-	 *  @private
-	 */
-	override public function get displayObject():DisplayObject
+	//private var _displayObject:DisplayObject = new Sprite();
+
+	/**
+	 *  @private
+	 */
+	/* override public function get displayObject():DisplayObject
 	{
 		return _displayObject;
+	} */
+
+	// TODO!!! Always return a DO for now. We need to optimize this later.
+	override public function get needsDisplayObject():Boolean
+    {
+		return true;
+	}
+
+	override public function get nextSiblingNeedsDisplayObject():Boolean
+    {
+		return true;
 	}

 	//--------------------------------------------------------------------------


fixed decoded ByteArray endianness by storing it has a boolean when encoding

--- as3/src/aerys/qark/Qark.as
+++ as3/src/aerys/qark/Qark.as
@@ -294,6 +294,7 @@

 		private static function encodeBytes(source : ByteArray, target : ByteArray) : void
 		{
+			target.writeBoolean(source.endian == Endian.LITTLE_ENDIAN);
 			target.writeInt(source.length);
 			target.writeBytes(source);
 		}
@@ -301,7 +302,12 @@
 		private static function decodeBytes(source : ByteArray) : ByteArray
 		{
 			var target 	: ByteArray = new ByteArray();
-			var length 	: int 		= source.readInt();
+
+			target.endian = source.readBoolean()
+							? Endian.LITTLE_ENDIAN
+							: Endian.BIG_ENDIAN;
+
+			var length 	: int	= source.readInt();

 			if (length)
 				source.readBytes(target, 0, length);


For now, only handle first texture in Tundra import.

--- Bin/Data/Scripts/Editor/EditorImport.as
+++ Bin/Data/Scripts/Editor/EditorImport.as
@@ -412,6 +412,7 @@

     bool mask = false;
     bool twoSided = false;
+    bool hasTexture = false;
     String textureName;

     File file(fileName, FILE_READ);
@@ -422,10 +423,11 @@
             mask = true;
         if (line.StartsWith("cull_hardware none"))
             twoSided = true;
-        if (line.StartsWith("texture "))
+        if (line.StartsWith("texture ") && !hasTexture)
         {
             textureName = line.Substring(8);
             ProcessRef(textureName);
+            hasTexture = true; // For now handle only the first texture
         }
     }


Typo fixed

Typo fixed

--- generators/rcg_scaffold/templates/Delegate.as
+++ generators/rcg_scaffold/templates/Delegate.as
@@ -33,7 +33,7 @@

         public function destroy(obj:<%= model_class %>):void {
                 var call:Object = _remoteObject.destroy.send(obj.id);
-                call.addResponser(_responder);
+                call.addResponder(_responder);
         }
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

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


Body of "before" and "after" methods in CopierTest class.

--- dolly-framework/src/test/actionscript/dolly/CopierTest.as
+++ dolly-framework/src/test/actionscript/dolly/CopierTest.as
@@ -1,12 +1,39 @@
 package dolly {
+import org.as3commons.reflect.Type;
+
 public class CopierTest {
+
+	private var copyableClass:ClassMarkedAsCopyable;
+	private var copyableClassType:Type;
+
+	private var classWithCopyableFields:ClassWithSomeCopyableFields;
+	private var classWithCopyableFieldsType:Type;

 	[Before]
 	public function before():void {
+		copyableClass = new ClassMarkedAsCopyable();
+		copyableClass.property1 = "value 1";
+		copyableClass.property2 = "value 2";
+		copyableClass.property3 = "value 3";
+		copyableClass.writableField = "value 4";
+
+		classWithCopyableFields = new ClassWithSomeCopyableFields();
+		classWithCopyableFields.property1 = "value 1";
+		classWithCopyableFields.property2 = "value 2";
+		classWithCopyableFields.property3 = "value 3";
+		classWithCopyableFields.writableField = "value 4";
+
+		copyableClassType = Type.forInstance(copyableClass);
+		classWithCopyableFieldsType = Type.forInstance(classWithCopyableFields);
 	}

 	[After]
 	public function after():void {
+		copyableClass = null;
+		copyableClassType = null;
+
+		classWithCopyableFields = null;
+		classWithCopyableFieldsType = null;
 	}

 	[Test]


- change: Added workaround for bug in FDT AS3 parser

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

--- src/reprise/css/CSSParsingHelper.as
+++ src/reprise/css/CSSParsingHelper.as
@@ -24,7 +24,7 @@
 		public static const percentageExpression : RegExp = /\d+%/;
 		public static const lengthExpression : RegExp = /\d+px|0/;
 		public static const URIExpression : RegExp =
-			/(?:url\([ ]*(['"]).*\1[ ]*\)|url\([ ]*[^'"][^)]*\))/;
+			/(?:url\([ ]*(['"]).*\1[ ]*\)|url\([ ]*[^'"][^)]*\))/; //'"
 		public static const repeatExpression : RegExp =
 			/repeat[-]x|repeat[-]y|no[-]repeat|repeat/;


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

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

 package mx.events
 {


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

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

 package mx.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5099
Author:   gauravj@adobe.com
Date:     2009-02-27T03:43:02.639229Z

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:
--------------
147 paths were modified

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

--- frameworks/projects/rpc/src/mx/rpc/xml/SchemaProcessor.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/SchemaProcessor.as
@@ -66,6 +66,11 @@

     /**
      * Clears the state in preparation for a fresh schema processing operation.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function reset():void
     {
@@ -125,6 +130,11 @@
     /**
      * A utility method to determine whether an attribute actually exists
      * on a given node.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function getAttributeFromNode(name:*, node:XML):String
     {
@@ -166,6 +176,11 @@
      * Looks for a maxOccurs constraint on the given definition. The default
      * is 1. The constraint value "unbounded" is interpreted as
      * uint.MAX_VALUE.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function getMaxOccurs(definition:XML):uint
     {
@@ -180,6 +195,11 @@
     /**
      * Looks for a minOccurs constraint on the given definition. The default
      * is 1.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function getMinOccurs(definition:XML):uint
     {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

  *
  *

- *  <Spinner
+ *  <s:Spinner
  *    Properties
  *    allowValueWrap="false"
  *
@@ -374,9 +374,9 @@
      */
     override protected function keyDownHandler(event:KeyboardEvent):void
     {
-    	if (event.isDefaultPrevented())
-    		return;
-
+        if (event.isDefaultPrevented())
+            return;
+
         var prevValue:Number = this.value;
         var stopPropagation:Boolean = false;


Transferred from the Adobe Open Source Subversion Repository

Revision: 3796
Author:   tan@adobe.com
Date:     2008-10-21T22:01:05.695187Z

Log Message:
-----------
Link the FxHSlider, FxVSlider, FxSpinner and FxNumericStepper examples to ASDoc.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>

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

--- frameworks/projects/spark/src/spark/components/Spinner.as
+++ frameworks/projects/spark/src/spark/components/Spinner.as
@@ -63,6 +63,8 @@
  *  Therefore the scale is {-1,3,6,9,10}.
  *
  *  @see mx.components.FxNumericStepper
+ *
+ *  @includeExample examples/FxSpinnerExample.mxml
  */
 public class FxSpinner extends FxRange implements IFocusManagerComponent
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8401
Author:   smgilson@adobe.com
Date:     2009-07-06T21:34:44.861518Z

Log Message:
-----------
ASDoc on filters/BevelFilter.as

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientFilter.as</path>

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

--- frameworks/projects/spark/src/spark/filters/GlowFilter.as
+++ frameworks/projects/spark/src/spark/filters/GlowFilter.as
@@ -40,6 +40,19 @@
  * wide, it can only be 2,048 pixels high.)
  * For example, if you zoom in on a large movie clip with a filter applied, the filter is
  * turned off if the resulting image exceeds the maximum dimensions.

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

+ *
+ *

+ *  <GlowFilter
+ *    Properties
+ *    alpha="1"
+ *    color="0xFF0000"
+ *    inner="false"
+ *  />
+ *

  *
  * @see flash.display.BitmapData#applyFilter()
  * @see flash.display.DisplayObject#filters
@@ -57,169 +70,173 @@

 public class GlowFilter extends BaseDimensionFilter implements IBitmapFilter
 {
-
-	/**
-	 * Constructor.
-	 *
-	 * @param color The color of the glow, in the hexadecimal format
-	 * 0xRRGGBB. The default value is 0xFF0000.
-	 * @param alpha The alpha transparency value for the color. Valid values are 0 to 1. For example,
-	 * .25 sets a transparency value of 25%.
-	 * @param blurX The amount of horizontal blur. Valid values are 0 to 255 (floating point). Values
-	 * that are a power of 2 (such as 2, 4, 8, 16 and 32) are optimized
-	 * to render more quickly than other values.
-	 * @param blurY The amount of vertical blur. Valid values are 0 to 255 (floating point).
-	 * Values that are a power of 2 (such as 2, 4, 8, 16 and 32) are optimized
-	 * to render more quickly than other values.
-	 * @param strength The strength of the imprint or spread. The higher the value,
-	 * the more color is imprinted and the stronger the contrast between the glow and the background.
-	 * Valid values are 0 to 255.
-	 * @param quality The number of times to apply the filter. Use the BitmapFilterQuality constants:
-	 *

-	 *
BitmapFilterQuality.LOW

-	 *
BitmapFilterQuality.MEDIUM

-	 *
BitmapFilterQuality.HIGH

-	 *

-	 *
For more information, see the description of the quality property.

-	 * @param inner Specifies whether the glow is an inner glow. The value  true specifies
-	 * an inner glow. The value false specifies an outer glow (a glow
-	 * around the outer edges of the object).
-	 * @param knockout Specifies whether the object has a knockout effect. The value true
-	 * makes the object's fill transparent and reveals the background color of the document.
-	 *
-	 * @see BitmapFilterQuality
-	 *
-	 * @langversion 3.0
-	 * @playerversion Flash 10
-	 * @playerversion AIR 1.5
- 	 * @productversion Flex 4
-	 *
-	 */
-	public function GlowFilter(color:uint = 0xFF0000, alpha:Number = 1.0,
-							   blurX:Number = 4.0, blurY:Number = 4.0,
-							   strength:Number = 1, quality:int = 1,
-							   inner:Boolean = false, knockout:Boolean = false)
-	{
-		super();
-
-		this.color = color;
-		this.alpha = alpha;
-		this.blurX = blurX;
-		this.blurY = blurY;
-		this.strength = strength;
-		this.quality = quality;
-		this.inner = inner;
-		this.knockout = knockout;
-	}
-
-	//----------------------------------
+
+    /**
+     * Constructor.
+     *
+     * @param color The color of the glow, in the hexadecimal format
+     * 0xRRGGBB. The default value is 0xFF0000.
+     * @param alpha The alpha transparency value for the color. Valid values are 0 to 1. For example,
+     * .25 sets a transparency value of 25%.
+     * @param blurX The amount of horizontal blur. Valid values are 0 to 255 (floating point). Values
+     * that are a power of 2 (such as 2, 4, 8, 16 and 32) are optimized
+     * to render more quickly than other values.
+     * @param blurY The amount of vertical blur. Valid values are 0 to 255 (floating point).
+     * Values that are a power of 2 (such as 2, 4, 8, 16 and 32) are optimized
+     * to render more quickly than other values.
+     * @param strength The strength of the imprint or spread. The higher the value,
+     * the more color is imprinted and the stronger the contrast between the glow and the background.
+     * Valid values are 0 to 255.
+     * @param quality The number of times to apply the filter. Use the BitmapFilterQuality constants:
+     *

+     *
BitmapFilterQuality.LOW

+     *
BitmapFilterQuality.MEDIUM

+     *
BitmapFilterQuality.HIGH

+     *

+     *
For more information, see the description of the quality property.

+     * @param inner Specifies whether the glow is an inner glow. The value  true specifies
+     * an inner glow. The value false specifies an outer glow (a glow
+     * around the outer edges of the object).
+     * @param knockout Specifies whether the object has a knockout effect. The value true
+     * makes the object's fill transparent and reveals the background color of the document.
+     *
+     * @see BitmapFilterQuality
+     *
+     * @langversion 3.0
+     * @playerversion Flash 10
+     * @playerversion AIR 1.5
+     * @productversion Flex 4
+     *
+     */
+    public function GlowFilter(color:uint = 0xFF0000, alpha:Number = 1.0,
+                               blurX:Number = 4.0, blurY:Number = 4.0,
+                               strength:Number = 1, quality:int = 1,
+                               inner:Boolean = false, knockout:Boolean = false)
+    {
+        super();
+
+        this.color = color;
+        this.alpha = alpha;
+        this.blurX = blurX;
+        this.blurY = blurY;
+        this.strength = strength;
+        this.quality = quality;
+        this.inner = inner;
+        this.knockout = knockout;
+    }
+
+    //----------------------------------
     //  alpha
     //----------------------------------
-
-	private var _alpha:Number = 1.0;
-
-	/**
-	 *  The alpha transparency value for the color. Valid values are 0 to 1.
-	 *  For example, .25 sets a transparency value of 25%.
-	 *
-	 *  @default 1
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public function get alpha():Number
-	{
-		return _alpha;
-	}
-
-	public function set alpha(value:Number):void
-	{
-		if (value != _alpha)
-		{
-			_alpha = value;
-			notifyFilterChanged();
-		}
-	}
-
-	//----------------------------------
+
+    private var _alpha:Number = 1.0;
+
+    /**
+     *  The alpha transparency value for the color. Valid values are 0 to 1.
+     *  For example, .25 sets a transparency value of 25%.
+     *
+     *  @default 1
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get alpha():Number
+    {
+        return _alpha;
+    }
+
+    public function set alpha(value:Number):void
+    {
+        if (value != _alpha)
+        {
+            _alpha = value;
+            notifyFilterChanged();
+        }
+    }
+
+    //----------------------------------
     //  color
     //----------------------------------
-
-	private var _color:uint = 0xFF0000;
-
-	/**
-	 *  The color of the glow. Valid values are in the hexadecimal format
-	 * 	0xRRGGBB.
-	 *  @default 0xFF0000
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public function get color():uint
-	{
-		return _color;
-	}
-
-	public function set color(value:uint):void
-	{
-		if (value != _color)
-		{
-			_color = value;
-			notifyFilterChanged();
-		}
-	}
-
-	//----------------------------------
+
+    private var _color:uint = 0xFF0000;
+
+    /**
+     *  The color of the glow. Valid values are in the hexadecimal format
+     *  0xRRGGBB.
+     *  @default 0xFF0000
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get color():uint
+    {
+        return _color;
+    }
+
+    public function set color(value:uint):void
+    {
+        if (value != _color)
+        {
+            _color = value;
+            notifyFilterChanged();
+        }
+    }
+
+    //----------------------------------
     //  inner
     //----------------------------------
-
-	private var _inner:Boolean = false;
-
-	/**
-	 *  Specifies whether the glow is an inner glow. The value true indicates an inner glow.
-	 *  The default is false, an outer glow (a glow around the outer edges of the object).
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public function get inner():Boolean
-	{
-		return _inner;
-	}
-
-	public function set inner(value:Boolean):void
-	{
-		if (value != _inner)
-		{
-			_inner = value;
-			notifyFilterChanged();
-		}
-	}
-
-	/**
-	 * Returns a copy of this filter object.
-	 * @return A new GlowFilter instance with all the
-	 * properties of the original GlowFilter instance.
-	 *
-	 * @langversion 3.0
-	 * @playerversion Flash 10
-	 * @playerversion AIR 1.5
-	 * @productversion Flex 4
-	 */
-	public function clone():BitmapFilter
-	{
-		return new flash.filters.GlowFilter(color, alpha, blurX, blurY, strength, quality, inner, knockout);
-	}
-
-
-
-
+
+    private var _inner:Boolean = false;
+
+    /**
+     *  Specifies whether the glow is an inner glow.
+     *  The value true indicates an inner glow.
+     *  The default is false, meaning an outer glow
+     *  (a glow around the outer edges of the object).
+     *
+     *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get inner():Boolean
+    {
+        return _inner;
+    }
+
+    public function set inner(value:Boolean):void
+    {
+        if (value != _inner)
+        {
+            _inner = value;
+            notifyFilterChanged();
+        }
+    }
+
+    /**
+     * Returns a copy of this filter object.
+     * @return A new GlowFilter instance with all the
+     * properties of the original GlowFilter instance.
+     *
+     * @langversion 3.0
+     * @playerversion Flash 10
+     * @playerversion AIR 1.5
+     * @productversion Flex 4
+     */
+    public function clone():BitmapFilter
+    {
+        return new flash.filters.GlowFilter(color, alpha, blurX, blurY, strength, quality, inner, knockout);
+    }
+
+
+
+
 }

 }


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

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

 package spark.layouts
 {


fixed minor inconsistencies

fixed minor inconsistencies

--- src/aerys/minko/scene/node/Mesh.as
+++ src/aerys/minko/scene/node/Mesh.as
@@ -42,9 +42,6 @@

 		private var _tag				: uint = 1;

-		private var _tag				: uint = 1;
-		private var _tagChanged			: Signal;
-
 		/**
 		 * A DataProvider object already bound to the Mesh bindings.
 		 *
@@ -145,28 +142,6 @@
 				_tag = value;
 				_properties.setProperty('tag', value);
 			}
-		}
-
-		public function get tag():uint
-		{
-			return _tag;
-		}
-
-		public function set tag(value:uint):void
-		{
-			if (_tag != value)
-			{
-				var oldTag	: uint	= _tag;
-				_tag				= value;
-
-				_properties.setProperty('tag', value);
-				_tagChanged.execute(this, oldTag, value);
-			}
-		}
-
-		public function get tagChanged():Signal
-		{
-			return _tagChanged;
 		}

         /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 18641
Author:   chiedozi@adobe.com
Date:     2010-11-17T01:26:13.734827Z

Log Message:
-----------
Updated MobileApplication api names.

MobileApplicationBase
backKeyHandler renamed to backKeyUpHandler
menuKeyHandler renamed to menuKeyUpHandler
sessionCachingEnabled renamed to persistNavigatorState
persistApplicationState() renamed to saveNavigatorState
restoreApplicationSate() renamed to loadNavigatorState
registerPersistenceClassAliases removed
nativeApplication_invokeHandler() renamed to invokeHandler()
nativeApplication_deactivateHandler() renamed to deactivateHandler()

PersistenceManager
flush() renamed to save() and return success boolean
initialize() renamed to load() and return success boolean
The applicationVersion shared object property was renamed to versionNumber.

View
deserializePersistedData() renamed to deserializeData()

ViewNavigatorBase
restoreViewData() renamed loadViewData()

Events
APPLICATION_PERSIST and APPLICATION_RESTORE removed from the framework
APPLICATION_PERSISTING renamed to NAVIGATOR_STATE_SAVING
APPLICATION_RESTORING renamed to NAVIGATOR_STATE_LOADING

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/managers/IPersistenceManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/managers/PersistenceManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
@@ -534,7 +534,6 @@
     /**
      *  @private
      */
-     // FIXME (chiedozi): Should this be on base class?
     override mx_internal function set navigationStack(value:NavigationStack):void
     {
         super.navigationStack = value;
@@ -546,7 +545,6 @@
     //----------------------------------
     //  poppedViewReturnedObject
     //----------------------------------
-    // FIXME (chiedozi): PARB - HTTPService uses lastResult, maybe we should match - lastReturnedObject?
     private var _poppedViewReturnedObject:ViewReturnObject = null;

     /**
@@ -1833,7 +1831,7 @@

         // Restore persistence data if necessary
         if (viewProxy.data == null && viewProxy.persistenceData != null)
-            viewProxy.data = view.deserializePersistedData(viewProxy.persistenceData);
+            viewProxy.data = view.deserializeData(viewProxy.persistenceData);

         view.setNavigator(this);
         view.data = viewProxy.data;
@@ -1915,9 +1913,9 @@
     /**
      *  @private
      */
-    override public function restoreViewData(value:Object):void
-    {
-        super.restoreViewData(value);
+    override public function loadViewData(value:Object):void
+    {
+        super.loadViewData(value);

         if (value)
             navigationStack = value.navigationStack as NavigationStack;
@@ -1942,18 +1940,13 @@
         // Deactivate the current view
         if (currentViewDescriptor)
         {
-            // FIXME (chiedozi): Do we need to remove view from layout?
             currentView = currentViewDescriptor.instance;
             currentView.setActive(false);
-            currentView.includeInLayout = false;

             // Need to validateNow() to make sure our old screen is currently
             // up to date before starting the transition and possibly storing a bitmap
             // for the transition
             currentView.validateNow();
-
-            // Restore the includeInLayout flag on the currentView
-            currentView.includeInLayout = true;
         }

         // Store new view
@@ -2076,7 +2069,7 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    override mx_internal function backKeyHandler():void
+    override mx_internal function backKeyUpHandler():void
     {
         if (activeView && !activeView.backKeyHandledByView())
             popView();


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 12085
Author:   klin@adobe.com
Date:     2009-11-21T20:42:53.350711Z

Log Message:
-----------
Reverting 12078 until I can fix the errors.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/ScrollBarTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
@@ -39,30 +39,17 @@
 [Event(name="change", type="flash.events.Event")]

 /**
- *  Dispatched at the end of a user interaction
- *  or when an animation ends.
- *
- *  @eventType mx.events.FlexEvent.CHANGE_END
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Event(name="changeEnd", type="mx.events.FlexEvent")]
-
-/**
- *  Dispatched at the start of a user interaction
- *  or when an animation starts.
- *
- *  @eventType mx.events.FlexEvent.CHANGE_START
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Event(name="changeStart", type="mx.events.FlexEvent")]
+ *  Dispatched before the value of the control changes
+ *  as a result of user interaction.
+ *
+ *  @eventType mx.events.FlexEvent.CHANGING
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Event(name="changing", type="mx.events.FlexEvent")]

 /**
  *  Dispatched when the thumb is pressed and then moved by the mouse.
@@ -379,19 +366,6 @@
         return minimum;
     }

-    /**
-     *  @private
-     */
-    override public function changeValueByStep(increase:Boolean = true):void
-    {
-        var prevValue:Number = this.value;
-
-        super.changeValueByStep(increase);
-
-        if (value != prevValue)
-            dispatchEvent(new Event(Event.CHANGE));
-    }
-
     /**
      *  @private
      */
@@ -566,9 +540,9 @@
             system_mouseUpHandler);

         clickOffset = thumb.globalToLocal(new Point(event.stageX, event.stageY));
-
         dispatchEvent(new TrackBaseEvent(TrackBaseEvent.THUMB_PRESS));
-        dispatchEvent(new FlexEvent(FlexEvent.CHANGE_START));
+
+		dispatchEvent(new FlexEvent(FlexEvent.CHANGING));
     }

     /**
@@ -589,7 +563,6 @@
         {
             setValue(newValue);
             dispatchEvent(new TrackBaseEvent(TrackBaseEvent.THUMB_DRAG));
-            dispatchEvent(new Event(Event.CHANGE));
         }

         event.updateAfterEvent();
@@ -609,7 +582,8 @@
             system_mouseUpHandler);

         dispatchEvent(new TrackBaseEvent(TrackBaseEvent.THUMB_RELEASE));
-        dispatchEvent(new FlexEvent(FlexEvent.CHANGE_END));
+
+		dispatchEvent(new Event(Event.CHANGE));
     }

     //---------------------------------
@@ -667,6 +641,7 @@
         }

         mouseDownTarget = null;
+
     }
 }


remove debug line

remove debug line

--- Agent.as
+++ Agent.as
@@ -19,8 +19,6 @@

     	public function Agent() {
     	    trace(PREFIX, "Loaded");
-
-            /*trace(loaderInfo.loaderURL, loaderInfo.url);*/

     	    _host = loaderInfo.parameters["host"] || HOST;
     	    _port = loaderInfo.parameters["port"] || PORT;


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

--- frameworks/projects/framework/src/mx/automation/Automation.as
+++ frameworks/projects/framework/src/mx/automation/Automation.as
@@ -0,0 +1,151 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.automation
+{
+
+import flash.display.DisplayObject;
+import flash.utils.getQualifiedClassName;
+
+import mx.automation.IAutomationMouseSimulator;
+import mx.automation.IAutomationObjectHelper;
+import mx.core.IUIComponent;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+/**
+ * The Automation class defines the entry point for the Flex Automation framework.
+ */
+public class Automation
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Class variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Component class to Delegate class map
+     */
+    mx_internal static var delegateClassMap:Object;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  automationManager
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private static var _automationManager:IAutomationManager;
+
+    /**
+     * The IAutomationManager instance.
+     */
+    public static function get automationManager():IAutomationManager
+    {
+        return _automationManager;
+    }
+
+    /**
+     * @private
+     */
+    public static function set automationManager(manager:IAutomationManager):void
+    {
+        _automationManager = manager;
+        _automationObjectHelper = manager as IAutomationObjectHelper;
+    }
+
+    //----------------------------------
+    //  automationObjectHelper
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private static var _automationObjectHelper:IAutomationObjectHelper;
+
+    /**
+     * The available IAutomationObjectHelper instance.
+     */
+    public static function get automationObjectHelper():IAutomationObjectHelper
+    {
+        return _automationObjectHelper;
+    }
+
+    //----------------------------------
+    //  initialized
+    //----------------------------------
+
+    /**
+     * Contains true if the automation module has been initialized.
+     */
+    public static function get initialized():Boolean
+    {
+        return _automationManager != null;
+    }
+
+    //----------------------------------
+    //  mouseSimulator
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private static var _mouseSimulator:IAutomationMouseSimulator;
+
+    /**
+     * The currently active mouse simulator.
+     */
+    public static function get mouseSimulator():IAutomationMouseSimulator
+    {
+        return _mouseSimulator;
+    }
+
+    /**
+     * @private
+     */
+    public static function set mouseSimulator(ms:IAutomationMouseSimulator):void
+    {
+        _mouseSimulator = ms;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Registers the component class and delegate class association with Automation.
+     *
+     *  @param compClass The component class.
+     *
+     *  @param delegateClass The delegate class associated with the component.
+     */
+    public static function registerDelegateClass(compClass:Class, delegateClass:Class):void
+    {
+        if (!delegateClassMap)
+            delegateClassMap = {};
+
+        var className:String = getQualifiedClassName(compClass);
+        delegateClassMap[className] = delegateClass;
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 8585
Author:   cframpto@adobe.com
Date:     2009-07-15T17:36:35.378690Z

Log Message:
-----------
Per QA request since Alex is out today.
Wrap code that sets IME.enabled in check to make sure there is an IME installed.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as

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

--- frameworks/projects/framework/src/mx/managers/FocusManager.as
+++ frameworks/projects/framework/src/mx/managers/FocusManager.as
@@ -621,15 +621,19 @@

             // trace("FM " + this + " setting last focus " + target);
             _lastFocus = findFocusManagerComponent(InteractiveObject(target));
-            var usesIME:Boolean;
-            if (_lastFocus is IIMESupport)
-            {
-                var imeFocus:IIMESupport = IIMESupport(_lastFocus);
-                if (imeFocus.editable)
-                    usesIME = true;
-            }
-            IME.enabled = usesIME;
-
+
+            if (Capabilities.hasIME)
+            {
+                var usesIME:Boolean;
+                if (_lastFocus is IIMESupport)
+                {
+                    var imeFocus:IIMESupport = IIMESupport(_lastFocus);
+                    if (imeFocus.editable)
+                        usesIME = true;
+                }
+                IME.enabled = usesIME;
+            }
+
 			// handle default button here
 			// we can't check for Button because of cross-versioning so
 			// for now we just check for an emphasized property