Transferred from the Adobe Open Source Subversion Repository

Revision: 3552
Author:   rfrishbe@adobe.com
Date:     2008-10-09T22:07:55.906700Z

Log Message:
-----------
This patch contains multiple changes, mostly renames, outlined below:

1.Rename properties in FxComponent: skinObject -> skin, skinZZ -> skinClass.
2.Rename property in Skin: data -> fxComponent (this also means Skin doesn’t implement IDataRenderer anymore)
3.Renames in DataGroup: Mostly around "skin" to "renderer" to get terminology correct
4.Random other cleanups: For instance changing typing of "*" to "Object" in ItemsComponent and DataGroup or removing some un-used imports in Group and GroupBase.
5.Lots of cleanup in flex4tests to deal with renaming of classes and renaming of properties
6.Gumbo-manifest.mxml  - typo...some files listed as mx.componentss.* instead of mx.components.*.  This file is going away as all components are moved into the 2009 namespace, but we'll fix this for now.
7.Defaults.css – FxDataComponent should be FxDataContainer.
8.SystemManger fix: this was in the previous SystemManager but got overwritten by a bad merge.  Jim’s aware of the issue, and I’m checking in the fix for it.

QE: Yes - Joann and Steve have pre-emptively made the changes
Doc: Yes
Bugs: SDK-17056, SDK-17174
Reviewer: Chet, Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxNumericStepperSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/NewEffects.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/AddItemsTest.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/skins/MyVScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/EffectsProperties.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/RemoveItemsTest.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxSpinnerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/components/AnimationPropertiesForm.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Skin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/ScrollbarFrenzy.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/flex4test.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/components/CircularScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/skins/CircularScrollBarSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/DataGroup.as
+++ frameworks/projects/spark/src/spark/components/DataGroup.as
@@ -63,7 +63,7 @@
         super();
     }

-    private var skinRegistry:Dictionary;
+    private var itemRendererRegistry:Dictionary;

     //----------------------------------
     //  itemRenderer
@@ -269,7 +269,7 @@
      */
     protected function createVisualForItem(item:Object):DisplayObject
     {
-        var itemSkin:Object;
+        var myItemRenderer:Object;
         var itemDisplayObject:DisplayObject;

         if (item === null)
@@ -287,17 +287,17 @@
             var rendererFactory:IFactory = itemRendererFunction(item);

             if (rendererFactory)
-                itemSkin = itemDisplayObject = rendererFactory.newInstance();
+                myItemRenderer = itemDisplayObject = rendererFactory.newInstance();
         }

         // 2. if itemRenderer is defined, instantiate one
-        if (!itemSkin && itemRenderer)
-        {
-            itemSkin = itemDisplayObject = itemRenderer.newInstance();
+        if (!myItemRenderer && itemRenderer)
+        {
+            myItemRenderer = itemDisplayObject = itemRenderer.newInstance();
         }

         // 3. if item is a GraphicElement, create the display object for it
-        if (!itemSkin && item is GraphicElement)
+        if (!myItemRenderer && item is GraphicElement)
         {
             var graphicItem:GraphicElement = GraphicElement(item);
             graphicItem.elementHost = this;
@@ -306,44 +306,52 @@
                 graphicItem.displayObject = graphicItem.createDisplayObject();

             itemDisplayObject = graphicItem.displayObject;
-            itemSkin = graphicItem;
+            myItemRenderer = graphicItem;
         }

         // 4. if item is a DisplayObject, use it directly
-        if (!itemSkin && item is DisplayObject)
-        {
-            itemSkin = itemDisplayObject = DisplayObject(item);
-        }
-
-        // Set the skin data to the item, but only if the item and skin are different
-        if (itemSkin is IDataRenderer && itemSkin != item)
-            IDataRenderer(itemSkin).data = item;
-
-        registerSkin(item, itemSkin);
+        if (!myItemRenderer && item is DisplayObject)
+        {
+            myItemRenderer = itemDisplayObject = DisplayObject(item);
+        }
+
+        // Set the renderer's data to the item, but only if the item and renderer are different
+        if (myItemRenderer is IDataRenderer && myItemRenderer != item)
+            IDataRenderer(myItemRenderer).data = item;
+
+        registerRenderer(item, myItemRenderer);

         return itemDisplayObject;
     }

     /**
-     *  Documentation is not currently available.
-     */
-    protected function registerSkin(item:*, itemSkin:Object):void
-    {
-        if (!skinRegistry)
-            skinRegistry = new Dictionary(true);
-
-        skinRegistry[item] = itemSkin;
-    }
-
-    /**
-     *  Documentation is not currently available.
-     */
-    protected function unregisterSkin(item:*, itemSkin:DisplayObject):void
-    {
-        if (!skinRegistry)
+     *  Called to associate an item with a particular renderer.
+     *  This is called automatically when an item renderer is created.
+     *
+     *  @param item The item to associate the renderer with
+     *  @param myItemRenderer The item renderer
+     */
+    protected function registerRenderer(item:Object, myItemRenderer:Object):void
+    {
+        if (!itemRendererRegistry)
+            itemRendererRegistry = new Dictionary(true);
+
+        itemRendererRegistry[item] = myItemRenderer;
+    }
+
+    /**
+     *  Called to dis-associate an item with a particular rendering display object.
+     *  This will be called when virtualization support is added to datagroup.
+     *
+     *  @param item The item to dis-associate the renderer with
+     *  @param myItemRenderer The item renderer
+     */
+    protected function unregisterRenderer(item:Object, myItemRenderer:DisplayObject):void
+    {
+        if (!itemRendererRegistry)
             return;

-        delete skinRegistry[item];
+        delete itemRendererRegistry[item];
     }

     /**
@@ -436,11 +444,11 @@
      */
     override public function getLayoutItemAt(index:int):ILayoutItem
     {
-        var item:* = dataProvider.getItemAt(index);
-
-        var itemSkin:Object = getItemSkin(item);
-
-        return LayoutItemFactory.getLayoutItemFor(itemSkin);
+        var item:Object = dataProvider.getItemAt(index);
+
+        var myItemRenderer:Object = getItemRenderer(item);
+
+        return LayoutItemFactory.getLayoutItemFor(myItemRenderer);
     }

     /**
@@ -488,13 +496,13 @@
      */
     protected function itemRemoved(item:Object, index:int):void
     {
-        var skin:* = getItemSkin(item);
+        var renderer:Object = getItemRenderer(item);
         var childDO:DisplayObject = item as DisplayObject;

         dispatchEvent(new ItemExistenceChangedEvent(
                       ItemExistenceChangedEvent.ITEM_REMOVE, false, false, item));

-        // if either the item or the skin is a GraphicElement,
+        // if either the item or the renderer is a GraphicElement,
         // release the display objects
         if (item && (item is GraphicElement))
         {
@@ -503,20 +511,20 @@
         }

         // determine who the child display object is
-        if (skin && (skin is GraphicElement))
-        {
-            childDO = GraphicElement(skin).displayObject;
-        }
-        else if (skin && (skin is DisplayObject))
-        {
-            childDO = skin as DisplayObject;
-        }
-
-        // If the item and skin are different objects, set the skin data to
-        // null here to clear it out. Otherwise, the skin keeps a reference to the item,
+        if (renderer && (renderer is GraphicElement))
+        {
+            childDO = GraphicElement(renderer).displayObject;
+        }
+        else if (renderer && (renderer is DisplayObject))
+        {
+            childDO = renderer as DisplayObject;
+        }
+
+        // If the item and renderer are different objects, set the renderer data to
+        // null here to clear it out. Otherwise, the renderer keeps a reference to the item,
         // which can cause problems later.
-        if (item && skin && item != skin)
-            skin.data = null;
+        if (item && renderer && item != renderer)
+            renderer.data = null;

         if (childDO)
             super.removeChild(childDO);
@@ -538,7 +546,7 @@
      *
      *  @return DisplayObject that was added.
      */
-    protected function addItemToDisplayList(child:DisplayObject, item:*, index:int = -1):DisplayObject
+    protected function addItemToDisplayList(child:DisplayObject, item:Object, index:int = -1):DisplayObject
     {
         var host:DisplayObject;

@@ -583,73 +591,70 @@
     }

     /**
-     *  Collection change handler for the dataProvider.
-     */
-    protected function collectionChangeHandler(event:Event):void
-    {
-        if (event is CollectionEvent)
-        {
-            var ce:CollectionEvent = CollectionEvent(event);
-
-            switch (ce.kind)
-            {
-                case CollectionEventKind.ADD:
-                {
-                    // items are added
-                    // figure out what items were added and where
-                    // for virtualization also figure out if items are now in view
-                    adjustAfterAdd(ce.items, ce.location);
-                    break;
-                }
-
-                case CollectionEventKind.REPLACE:
-                {
-                    // items are replaced
-                    adjustAfterReplace(ce.items, ce.location);
-                    break;
-                }
-
-                case CollectionEventKind.REMOVE:
-                {
-                    // items are added
-                    // figure out what items were removed
-                    // for virtualization also figure out what items are now in view
-                    adjustAfterRemove(ce.items, ce.location);
-                    break;
-                }
-
-                case ce.kind == CollectionEventKind.MOVE:
-                {
-                    // one item is moved
-                    adjustAfterMove(ce.items[0], ce.location, ce.oldLocation);
-                    break;
-                }
-
-                case CollectionEventKind.REFRESH:
-                {
-                    // from a filter or sort...let's just reset everything
-                    dataProviderChanged = true;
-                    invalidateProperties();
-                    break;
-                }
-
-                case CollectionEventKind.RESET:
-                {
-                    // reset everything
-                    dataProviderChanged = true;
-                    invalidateProperties();
-                    break;
-                }
-
-                case CollectionEventKind.UPDATE:
-                {
-                    // update event, do nothing
-                    // TODO: maybe we need to do something here, like recreate renderer?
-                    break;
-                }
-            }
-        }
-
+     *  Called when contents within the dataProvider changes.  We will catch certain
+     *  events and update our children based on that.
+     *
+     *  @param event The collection change event
+     */
+    protected function collectionChangeHandler(event:CollectionEvent):void
+    {
+        switch (event.kind)
+        {
+            case CollectionEventKind.ADD:
+            {
+                // items are added
+                // figure out what items were added and where
+                // for virtualization also figure out if items are now in view
+                adjustAfterAdd(event.items, event.location);
+                break;
+            }
+
+            case CollectionEventKind.REPLACE:
+            {
+                // items are replaced
+                adjustAfterReplace(event.items, event.location);
+                break;
+            }
+
+            case CollectionEventKind.REMOVE:
+            {
+                // items are added
+                // figure out what items were removed
+                // for virtualization also figure out what items are now in view
+                adjustAfterRemove(event.items, event.location);
+                break;
+            }
+
+            case CollectionEventKind.MOVE:
+            {
+                // one item is moved
+                adjustAfterMove(event.items[0], event.location, event.oldLocation);
+                break;
+            }
+
+            case CollectionEventKind.REFRESH:
+            {
+                // from a filter or sort...let's just reset everything
+                dataProviderChanged = true;
+                invalidateProperties();
+                break;
+            }
+
+            case CollectionEventKind.RESET:
+            {
+                // reset everything
+                dataProviderChanged = true;
+                invalidateProperties();
+                break;
+            }
+
+            case CollectionEventKind.UPDATE:
+            {
+                // update event, do nothing
+                // TODO: maybe we need to do something here, like recreate renderer?
+                break;
+            }
+        }
     }

     /**
@@ -699,7 +704,7 @@
         var length:int = items.length;
         for (var i:int = length-1; i >= 0; i--)
         {
-            itemRemoved(items[i].oldValue, location + i);
+            itemRemoved(items[i].oldValue, location + i);
         }

         for (var k:int = length-1; k >= 0; k--)
@@ -715,14 +720,22 @@
     //--------------------------------------------------------------------------

     /**
-     *  Documentation is not currently available.
-     */
-    public function getItemSkin(item:*):Object
+     *  Returns the instance of the renderer for the specified item. If the
+     *  the specified item is a visual item (component or IGraphicElment) that
+     *  doesn't use an item renderer, the item itself is returned.
+     *
+     *  @param item The item whose renderer is to be returned.
+     *
+     *  @return The renderer instance for the specified item. If the item
+     *          is a subclass of DisplayObject or GraphicElement and has no
+     *          item renderer, the item itself is returned.
+     */
+    public function getItemRenderer(item:Object):Object
     {
         var result:Object = null;

-        if (skinRegistry)
-            result = skinRegistry[item];
+        if (itemRendererRegistry)
+            result = itemRendererRegistry[item];

         if (!result && item is DisplayObject)
             result = item;
@@ -731,23 +744,33 @@
     }

     /**
-     *  Documentation is not currently available.
-     */
-    public function getSkinItem(skin:Object):*
+     *  Returns the item associated with the specified renderer.
+     *
+     *  @param renderer The renderer whose item you want to retrieve.
+     *
+     *  @return The item associated with the specified renderer.
+     */
+    public function getRendererItem(renderer:Object):Object
     {
         // !! This implementation is really slow...
-        var item:*;
+        var item:Object;

         for (var i:int = 0; i < dataProvider.length; i++)
         {
             item = dataProvider.getItemAt(i);
-            if (getItemSkin(item) == skin)
+            if (getItemRenderer(item) == renderer)
                 return item;
         }

         return null;
     }

+    /**
+     *  Dictionary to keep track of mask elements.  Because mask elements can be applied
+     *  to GraphicElements, which may not be DisplayObjects, the DataGroup needs to know this
+     *  to map GraphicElements to DisplayObjects later on since masking takes place
+     *  at the Flash Player level.
+     */
     protected var maskElements:Dictionary;

     /**


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

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

  *
  *

- *  <TextInput
+ *  <s:TextInput
  *    Properties
  *    widthInChars=""
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 9027
Author:   egeorgie@adobe.com
Date:     2009-08-03T21:11:40.568830Z

Log Message:
-----------
Fix bug http://bugs.adobe.com/jira/browse/SDK-22012 mx:HScrollBar returns getLayoutBoundsWidth and height swapped and http://bugs.adobe.com/jira/browse/SDK-20193 Setting width of Halo HScrollBar within Group container also mysteriously sets the height

Fix: the Halo HScrollBar sets its own rotation to -90, and swaps the reported width/height. This works fine for Halo layouts, as those don't take into account transforms, but is problematic for the Spark layouts. This fix overrides the nonDeltaLayoutMatrix() to return a modified matrix for the Spark layouts to use.

QE notes: None
Doc notes: None
Bugs: SDK-22012, SDK-20193
Reviewer: Hans
Tests run: checkintests, spark/effects, /mx/effects/

Is noteworthy for integration: Yes, bug SDK-22012 came from the FB team.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HScrollBar.as

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

--- frameworks/projects/mx/src/mx/controls/HScrollBar.as
+++ frameworks/projects/mx/src/mx/controls/HScrollBar.as
@@ -12,7 +12,9 @@
 package mx.controls
 {

+import flash.geom.Matrix;
 import flash.ui.Keyboard;
+
 import mx.controls.scrollClasses.ScrollBar;
 import mx.controls.scrollClasses.ScrollBarDirection;
 import mx.core.mx_internal;
@@ -262,6 +264,22 @@
         measuredWidth = _minHeight;
         measuredHeight = _minWidth;
     }
+
+	/**
+	 *  @private
+	 * 	Since HScrollbar cheats with its own rotation,
+	 *	rotate the other way here so that the layout
+	 *	bounds calculations are correct in the most
+	 *	common cases - SDK-22012.
+	 */
+	override protected function nonDeltaLayoutMatrix():Matrix
+	{
+		var m:Matrix = new Matrix(0, 1, 1, 0);
+		var m1:Matrix = super.nonDeltaLayoutMatrix();
+		if (m1)
+			m.concat(m1);
+		return m;
+	}

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


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

--- frameworks/projects/rpc/src/mx/rpc/soap/Operation.as
+++ frameworks/projects/rpc/src/mx/rpc/soap/Operation.as
@@ -45,6 +45,11 @@
  * Dispatched when an Operation invocation returns with SOAP headers in the
  * response. A HeaderEvent is dispatched for each SOAP header.
  * @eventType mx.rpc.events.HeaderEvent.HEADER
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="header", type="mx.rpc.events.HeaderEvent")]

@@ -55,6 +60,11 @@
  * method on a service. An Operation can be called either by invoking the
  * function of the same name on the service or by accessing the Operation as a
  * property on the service and calling the send() method.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Operation extends AbstractOperation
 {
@@ -73,6 +83,11 @@
      * @param webService The web service upon which this Operation is invoked.
      *
      * @param name The name of this Operation.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function Operation(webService:AbstractService = null, name:String = null)
     {
@@ -193,6 +208,11 @@
      * The location of the WebService for this Operation. Normally, the WSDL
      * specifies the location of the services, but you can set this property to
      * override that location for the individual Operation.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get endpointURI():String
     {
@@ -222,6 +242,11 @@
      * this manner, regardless of the number of values returned. Leaving
      * forcePartArrays as false will only create arrays if two or more elements
      * are returned.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get forcePartArrays():Boolean
     {
@@ -246,6 +271,11 @@
      * xml specifies that the XML will be left as XMLNodes. A
      * value of e4x specifies that the XML will be accessible
      * using ECMAScript for XML (E4X) expressions.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get headerFormat():String
     {
@@ -270,6 +300,11 @@
     /**
      * Accessor to an Array of SOAPHeaders that are to be sent on
      * each invocation of the operation.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get headers():Array
     {
@@ -288,6 +323,11 @@
      * Custom HTTP headers to be sent to the SOAP endpoint. If multiple
      * headers need to be sent with the same name the value should be specified
      * as an Array.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get httpHeaders():Object
     {
@@ -317,6 +357,11 @@
      * Conversely, if a type whiteSpace restriction is set to
      * replace or collapse then that setting will
      * be honored even if ignoreWhitespace is set to false.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get ignoreWhitespace():Boolean
     {
@@ -343,6 +388,11 @@
     /**
      * When this value is true, anonymous objects returned are forced to
      * bindable objects.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function get makeObjectsBindable():Boolean
     {
@@ -378,6 +428,11 @@
      * literal operations is "object". The default for rpc operations is "array".
      * The multiplePartsFormat property is applicable only when
      * resultFormat is "object" and ignored otherwise.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get multiplePartsFormat():String
     {
@@ -410,6 +465,11 @@
      * The request of the Operation is an object structure or an XML structure.
      * If you specify XML, the XML is sent as is. If you pass an object, it is
      * encoded into a SOAP XML structure.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get request():Object
     {
@@ -434,6 +494,11 @@
      * xml specifies that the XML will be left as XMLNodes. A
      * value of e4x specifies that the XML will be accessible
      * using ECMAScript for XML (E4X) expressions.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get resultFormat():String
     {
@@ -462,6 +527,11 @@
      * operation. They match up with the lastResult property and
      * are the same as the collection of headers that are dispatched
      * individually as HeaderEvents.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get resultHeaders():Array
     {
@@ -528,6 +598,11 @@
      * provided in a pre-encoded form as an XML instance, or as a SOAPHeader
      * instance which leaves the encoding up to the internal SOAP encoder.
      * @param header The SOAP header to add to this Operation.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function addHeader(header:Object):void
     {
@@ -540,6 +615,11 @@
      * @param qnameNamespace the namespace for header QName
      * @param headerName Name of the header.
      * @param headerValue Value of the header.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function addSimpleHeader(qnameLocal:String, qnameNamespace:String,
             headerName:String, headerValue:String):void
@@ -551,6 +631,11 @@

     /**
      * @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function cancel(id:String = null):AsyncToken
     {
@@ -579,6 +664,11 @@

     /**
      * Clears the headers for this individual Operation.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function clearHeaders():void
     {
@@ -590,6 +680,11 @@
      * @param qname QName of the SOAPHeader.
      * @param headerName Name of a header in the SOAPHeader content (Optional)
      * @return Returns the SOAPHeader.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getHeader(qname:QName, headerName:String = null):SOAPHeader
     {
@@ -620,6 +715,11 @@
      * Removes the header with the given QName from all operations.
      * @param qname QName of the SOAPHeader.
      * @param headerName Name of a header in the SOAPHeader content (Optional)
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function removeHeader(qname:QName, headerName:String = null):void
     {
@@ -715,6 +815,11 @@
             var errMsg:String = "Cannot invoke method " + name + " as WSDL did not load successfully";
             dispatchRpcEvent(createFaultEvent("Client.InvalidWSDL", errMsg));
         }
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Flex 3
         */

         return pc.token;


Transferred from the Adobe Open Source Subversion Repository

Revision: 14597
Author:   matamel@adobe.com
Date:     2010-03-05T09:41:43.513155Z

Log Message:
-----------
Bug: BLZ-494 - If client is subscribed to multiple destinations over a single polling endpoint and one subscription is invalidated, polling stops.
QA: Yes
Doc: No
Checkintests: Pass

Details: This was because when the AbstactConsumer#messageHandler function received a subscription invalidate message, it was asking the polling channel to stop polling and then calling setSubscribed(false) which asked the polling channel to stop polling again. Now, only setSubscribed((false) is called which handles polling stop correctly.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as

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

--- frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as
+++ frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as
@@ -816,9 +816,8 @@
             {
                 case CommandMessage.SUBSCRIPTION_INVALIDATE_OPERATION:
                     // We've been unsubscribed but it wasn't the result of an unsubscribe
-                    // message this agent sent. If a polling channel is being used, let it know.
-                    if (channelSet.currentChannel is PollingChannel)
-                        PollingChannel(channelSet.currentChannel).disablePolling();
+                    // message this agent sent. Set unsubscribe to false which will inform
+                    // the polling channel to stop polling if a polling channel is being used.
                     setSubscribed(false);
                 break;
                 default:


Transferred from the Adobe Open Source Subversion Repository

Revision: 8679
Author:   jimurphy@adobe.com
Date:     2009-07-20T13:23:31.007823Z

Log Message:
-----------
These are Asdoc edit from 3.x rev 8623.  I somehow missed committing these when they were supposed to be committed during my previous merge.

bug: no
qa: no
doc: no
checkintests: pass

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/PollingChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Consumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MultiTopicProducer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/CallResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/HTTPRequestMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MultiTopicConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractInvoker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/Responder.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/XMLLoadEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/IResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Producer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncToken.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/WSDLLoadEvent.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as
+++ frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as
@@ -12,21 +12,22 @@
 package mx.messaging.config
 {

-import mx.utils.OrderedObject;
+import flash.utils.getQualifiedClassName;
+import flash.utils.Proxy;
+import flash.utils.flash_proxy;
+import mx.utils.object_proxy;
+import mx.utils.ObjectUtil;
+
+use namespace flash_proxy;
+use namespace object_proxy;

 [RemoteClass(alias="flex.messaging.config.ConfigMap")]

 /**
  *  The ConfigMap class provides a mechanism to store the properties returned
  *  by the server with the ordering of the properties maintained.
- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion BlazeDS 4
- *  @productversion LCDS 3
  */
-public dynamic class ConfigMap extends OrderedObject
+public dynamic class ConfigMap extends Proxy
 {
     //--------------------------------------------------------------------------
     //
@@ -38,17 +39,215 @@
      * Constructor.
      *
      * @param item An Object containing name/value pairs.
+     */
+    public function ConfigMap(item:Object = null)
+    {
+        super();
+
+        if (!item)
+            item = {};
+        _item = item;
+
+		propertyList = [];
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Contains a list of all of the property names for the proxied object.
+     */
+    object_proxy var propertyList:Array;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  object
+    //----------------------------------
+
+    /**
+     *  Storage for the object property.
+     */
+    private var _item:Object;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+     *  Returns the specified property value of the proxied object.
+     *
+     *  @param name Typically a string containing the name of the property,
+     *  or possibly a QName where the property name is found by
+     *  inspecting the localName property.
+     *
+     *  @return The value of the property.
+     */
+    override flash_proxy function getProperty(name:*):*
+    {
+        // if we have a data proxy for this then
+        var result:Object = null;
+
+        result = _item[name];
+
+        return result;
+    }
+
+    /**
+     *  Returns the value of the proxied object's method with the specified name.
+     *
+     *  @param name The name of the method being invoked.
+     *
+     *  @param rest An array specifying the arguments to the
+     *  called method.
+     *
+     *  @return The return value of the called method.
+     */
+    override flash_proxy function callProperty(name:*, ... rest):*
+    {
+        return _item[name].apply(_item, rest)
+    }
+
+    /**
+     *  Deletes the specified property on the proxied object and
+     *  sends notification of the delete to the handler.
+     *
+     *  @param name Typically a string containing the name of the property,
+     *  or possibly a QName where the property name is found by
+     *  inspecting the localName property.
+     *
+     *  @return A Boolean indicating if the property was deleted.
+     */
+    override flash_proxy function deleteProperty(name:*):Boolean
+    {
+        var oldVal:Object = _item[name];
+        var deleted:Boolean = delete _item[name];
+
+        var deleteIndex:int = -1;
+        for (var i:int = 0; i < propertyList.length; i++)
+        {
+        	if (propertyList[i] == name)
+        	{
+        		deleteIndex = i;
+        		break;
+        	}
+        }
+		if (deleteIndex > -1)
+		{
+			propertyList.splice(deleteIndex, 1);
+		}
+
+        return deleted;
+    }
+
+    /**
+     *  This is an internal function that must be implemented by
+     *  a subclass of flash.utils.Proxy.
      *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
-     */
-    public function ConfigMap(item:Object=null)
-    {
-        super(item);
-    }
+     *  @param name The property name that should be tested
+     *  for existence.
+     *
+     *  @return If the property exists, true;
+     *  otherwise false.
+     *
+     *  @see flash.utils.Proxy#hasProperty()
+     */
+    override flash_proxy function hasProperty(name:*):Boolean
+    {
+        return(name in _item);
+    }
+
+    /**
+     *  This is an internal function that must be implemented by
+     *  a subclass of flash.utils.Proxy.
+     *
+     *  @param index The zero-based index of the object's
+     *  property.
+     *
+     *  @return The property's name.
+     *
+     *  @see flash.utils.Proxy#nextName()
+     */
+    override flash_proxy function nextName(index:int):String
+    {
+        return propertyList[index -1];
+    }
+
+    /**
+     *  This is an internal function that must be implemented by
+     *  a subclass of flash.utils.Proxy.
+     *
+     *  @param index The zero-based index of the object's
+     *  property.
+     *
+     *  @return The zero-based index of the next proprety.
+     *
+     *  @see flash.utils.Proxy#nextNameIndex()
+     */
+    override flash_proxy function nextNameIndex(index:int):int
+    {
+        if (index < propertyList.length)
+        {
+            return index + 1;
+        }
+        else
+        {
+            return 0;
+        }
+    }
+
+    /**
+     *  This is an internal function that must be implemented by
+     *  a subclass of flash.utils.Proxy.
+     *
+     *  @param index The zero-based index value of the object's
+     *  property.
+     *
+     *  @return The property's value.
+     *
+     *  @see flash.utils.Proxy#nextValue()
+     */
+    override flash_proxy function nextValue(index:int):*
+    {
+        return _item[propertyList[index -1]];
+    }
+
+    /**
+     *  Updates the specified property on the proxied object
+     *  and sends notification of the update to the handler.
+     *
+     *  @param name Object containing the name of the property that
+     *  should be updated on the proxied object.
+     *
+     *  @param value Value that should be set on the proxied object.
+     */
+    override flash_proxy function setProperty(name:*, value:*):void
+    {
+        var oldVal:* = _item[name];
+        if (oldVal !== value)
+        {
+            // Update item.
+            _item[name] = value;
+
+			for (var i:int = 0; i < propertyList.length; i++)
+        	{
+        		if (propertyList[i] == name)
+        		{
+        			return;
+	        	}
+	        }
+	        propertyList.push(name);
+        }
+    }
 }

 }


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

--- frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as
+++ frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as
@@ -19,6 +19,12 @@
 /**
  *  The ConfigMap class provides a mechanism to store the properties returned
  *  by the server with the ordering of the properties maintained.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion BlazeDS 4
+ *  @productversion LCDS 3
  */
 public dynamic class ConfigMap extends OrderedObject
 {
@@ -32,6 +38,12 @@
      * Constructor.
      *
      * @param item An Object containing name/value pairs.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function ConfigMap(item:Object=null)
     {


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

--- frameworks/projects/rpc/src/mx/rpc/xml/IXMLSchemaInstance.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/IXMLSchemaInstance.as
@@ -0,0 +1,47 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 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.rpc.xml
+{
+
+/**
+ * An ActionScript type should implement this interface when it needs to
+ * instruct an XML Schema based encoder (such as the WebService SOAP client)
+ * which concrete type definition to use while encoding instances of the type.
+ *
+ * Note that anonymous ActionScript objects can also specify a qualified type
+ * by wrapping an object in an instance of mx.utils.ObjectUtil
+ * and setting the object_proxy::type property with the appropriate
+ * QName.
+ *
+ * @see mx.utils.ObjectUtil.object_proxy::type
+ */
+public interface IXMLSchemaInstance
+{
+    /**
+     * When encoding ActionScript instances as XML the encoder may require
+     * a type definition for the concrete implementation when the associated
+     * XML Schema complexType is abstract. This property allows a typed
+     * instance to specify the concrete implementation as a QName to represent
+     * the xsi:type.
+     *
+     *

+     * Note that [Transient] metadata can be applied to
+     * implementations of this property to exclude it during object
+     * serialization.
+     *

+     */
+    function get xsiType():QName;
+
+    function set xsiType(value:QName):void;
+}
+
+}


FLEX-33830 HScrollbar should defer some work to the validation methods otherwise it will get incorrect metrics

--- frameworks/projects/spark/src/spark/components/HScrollBar.as
+++ frameworks/projects/spark/src/spark/components/HScrollBar.as
@@ -160,6 +160,8 @@
     //
     //--------------------------------------------------------------------------

+    private var maxAndPageSizeInvalid:Boolean = false;
+
     private function updateMaximumAndPageSize():void
     {
         var hsp:Number = viewport.horizontalScrollPosition;
@@ -532,10 +534,28 @@
         if (allStyles || styleName == "interactionMode")
         {
             if (viewport)
-                updateMaximumAndPageSize();
-        }
-    }
-
+            {
+                // Some of the information needed
+                // is calculated in measure() on a child
+                maxAndPageSizeInvalid = true;
+                invalidateSize();
+            }
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function measure():void
+    {
+        super.measure();
+        if (maxAndPageSizeInvalid)
+        {
+            maxAndPageSizeInvalid = false;
+            updateMaximumAndPageSize();
+        }
+    }
+
     /**
      *  @private
      *  Scroll horizontally by event.delta "steps".  This listener is added to the viewport


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

--- frameworks/projects/spark/src/spark/effects/easing/IEaser.as
+++ frameworks/projects/spark/src/spark/effects/easing/IEaser.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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.
 //
 ////////////////////////////////////////////////////////////////////////////////
 package spark.effects.easing


Transferred from the Adobe Open Source Subversion Repository

Revision: 4867
Author:   smgilson@adobe.com
Date:     2009-02-05T22:32:36.595425Z

Log Message:
-----------
Fix broken ASDoc comments

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/SerializationFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/Linear.as</path>

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

--- frameworks/projects/spark/src/spark/effects/easing/Linear.as
+++ frameworks/projects/spark/src/spark/effects/easing/Linear.as
@@ -65,7 +65,7 @@
     /**
      * The percentage an animation will spend accelerating.
      * easeOutFraction and easeInFraction must satisfy the
-     * equation easeOutFraction + easeInFraction <= 1
+     * equation easeOutFraction + easeInFraction <= 1
      * where any remaining time in the middle will be spent in
      * linear interpolation.
      *
@@ -88,7 +88,7 @@
     /**
      * The percentage an animation will spend decelerating.
      * easeOutFraction and easeInFraction must satisfy the
-     * equation easeOutFraction + easeInFraction <= 1
+     * equation easeOutFraction + easeInFraction <= 1
      * where any remaining time in the middle will be spent in
      * linear interpolation.
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 5026
Author:   pfarland@adobe.com
Date:     2009-02-20T20:27:07.892548Z

Log Message:
-----------
Changing pseudo-selector matching by allowing an object to decide whether its state matches a pseudo-selector. This allows top level components like FxApplication to decide whether a pseudo-selector matches its document state OR its skin state.

Also modified StyleManager data structure to allow multiple identical selectors to exist per subject while retaining declaration order. This allows programmatic addition of CSSStyleDeclaration's with identical selectors.

Finally, added preparation for qualified vs unqualified class names in type selectors. This is not yet enabled.

QA: Yes, please retest SDK-19127
Doc: Not yet.
Checkintests: Pass
mustella: AdvancedCSS, and other component style testsuites such as Button and MenuBar passed.
Review: Discussed pseudo-selector approach with Glenn. Other API changes will be part of final PARB review.
Bugs:
SDK-19127 - [Advanced CSS] Pseudo Selectors do not work when you change the "currentState" property of an FxApplication.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSSelector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleManager3.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>

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

--- frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as
+++ frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as
@@ -112,7 +112,7 @@
      *  this String is interpreted to be the legacy syntax of a String based
      *  selector; if the value starts with a dot it is interpreted as a global
      *  class selector, otherwise it represents a simple type selector.
-     *  @param selector The selector chain used to match IStyleClient2
+     *  @param selector The selector chain used to match IAdvancedStyleClient
      *  components to this style declaration.
      */
     public function CSSStyleDeclaration(subject:String=null, selector:CSSSelector=null)


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

--- frameworks/projects/mx/src/mx/controls/treeClasses/TreeListData.as
+++ frameworks/projects/mx/src/mx/controls/treeClasses/TreeListData.as
@@ -0,0 +1,132 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.controls.treeClasses
+{
+
+import mx.controls.listClasses.BaseListData;
+import mx.controls.listClasses.ListBase;
+
+/**
+ *  The TreeListData class defines the data type of the listData property
+ *  implemented by drop-in item renderers or drop-in item editors for the Tree control.
+ *  All drop-in item renderers and drop-in item editors must implement the
+ *  IDropInListItemRenderer interface, which defines the listData property.
+ *
+ *
While the properties of this class are writable, you should considered them to
+ *  be read only. They are initialized by the Tree class, and read by an item renderer
+ *  or item editor. Changing these values can lead to unexpected results.

+ *
+ *  @see mx.controls.listClasses.IDropInListItemRenderer
+ */
+public class TreeListData extends BaseListData
+{
+    include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param text Text representation of the item data.
+	 *
+	 *  @param uid A unique identifier for the item.
+	 *
+	 *  @param owner A reference to the Tree control.
+	 *
+	 *  @param rowIndex The index of the item in the data provider for the Tree control.
+	 *
+	 *  @param columnIndex The index of the column in the currently visible columns of the
+     *  control.
+	 *
+	 */
+	public function TreeListData(text:String, uid:String,
+								 owner:ListBase, rowIndex:int = 0,
+								 columnIndex:int = 0)
+	{
+		super(text, uid, owner, rowIndex, columnIndex);
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+	//  depth
+    //----------------------------------
+
+	/**
+	 *  The level of the item in the tree. The top level is 1.
+	 */
+	public var depth:int;
+
+    //----------------------------------
+	//  disclosureIcon
+    //----------------------------------
+
+	/**
+	 *  A Class representing the disclosure icon for the item in the Tree control.
+	 */
+	public var disclosureIcon:Class;
+
+    //----------------------------------
+	//  hasChildren
+    //----------------------------------
+
+	/**
+	 *  Contains true if the node has children.
+	 */
+	public var hasChildren:Boolean;
+
+    //----------------------------------
+	//  icon
+    //----------------------------------
+
+	/**
+	 *  A Class representing the icon for the item in the Tree control.
+	 */
+	public var icon:Class;
+
+    //----------------------------------
+	//  indent
+    //----------------------------------
+
+	/**
+	 *  The default indentation for this row of the Tree control.
+	 */
+	public var indent:int;
+
+    //----------------------------------
+	//  node
+    //----------------------------------
+
+	/**
+	 *  The data for this item in the Tree control.
+	 */
+	public var item:Object;
+
+    //----------------------------------
+	//  open
+    //----------------------------------
+
+	/**
+	 *  Contains true if the node is open.
+	 */
+	public var open:Boolean;
+}
+
+}


- Fix: FLEX-34057 - RTE on pasting empty data after Excel operation - Removed unused imports

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -80,11 +80,9 @@
     import mx.core.IIMESupport;
     import mx.core.ISystemCursorClient;
     import mx.core.UIComponent;
-    import mx.core.mx_internal;
     import mx.events.FlexEvent;
     import mx.managers.IFocusManager;
     import mx.managers.IFocusManagerComponent;
-    import mx.resources.ResourceManager;
     import mx.utils.StringUtil;

     import spark.components.supportClasses.RichEditableTextContainerManager;
@@ -4749,7 +4747,11 @@
                 if (!multiline)
                 {
                     var po:PasteOperation = PasteOperation(op);
-
+
+                    // Make sure the clipboard has something to paste.
+                    if (po.textScrap == null || po.textScrap.textFlow == null)
+                        return;
+
                     // If copied/cut from displayAsPassword field the pastedText
                     // is '*' characters but this is correct.
                     var pastedText:String = staticPlainTextExporter.export(


Transferred from the Adobe Open Source Subversion Repository

Revision: 8487
Author:   smgilson@adobe.com
Date:     2009-07-09T18:57:21.985536Z

Log Message:
-----------
final checkin 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/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/MotionPath.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/effects/easing/Power.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/ShaderFilter.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/effects/CallAction.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/effects/AnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Graphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.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/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<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/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.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/effects/SetAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/RemoveAction.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@1284775 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as
+++ frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as
@@ -49,7 +49,7 @@
  * turned off if the resulting image exceeds the maximum dimensions.

  *
  *  @mxml
- *
The <GradientBevelFilter> tag inherits all of the tag
+ *
The <s:GradientBevelFilter> tag inherits all of the tag
  *  attributes of its superclass and adds no tag attributes:

  *
  *


now attempting to parse sqlParams as JSON before parsing as CSV.

--- WeaveData/src/weave/data/DataSources/WeaveDataSource.as
+++ WeaveData/src/weave/data/DataSources/WeaveDataSource.as
@@ -540,7 +540,12 @@
 			if (idFieldsArray || params[ENTITY_ID])
 			{
 				var id:Object = idFieldsArray ? getMetadata(proxyColumn, idFieldsArray, true) : StandardLib.asNumber(params[ENTITY_ID]);
-				var sqlParams:Array = WeaveAPI.CSVParser.parseCSVRow(params[SQLPARAMS]);
+				var sqlParams:Array;
+				try {
+					sqlParams = Compiler.parseConstant(params[SQLPARAMS]) as Array;
+				} catch (e:Error) { }
+				if (!sqlParams is Array)
+					sqlParams = WeaveAPI.CSVParser.parseCSVRow(params[SQLPARAMS]);
 				query = _service.getColumn(id, params[ColumnMetadata.MIN], params[ColumnMetadata.MAX], sqlParams);
 			}
 			else // backwards compatibility - search using metadata