Transferred from the Adobe Open Source Subversion Repository

Revision: 10606
Author:   egeorgie@adobe.com
Date:     2009-09-25T23:01:50.455888Z

Log Message:
-----------
White space cleanup.

Doc notes: None
Bugs: None
Reviewer: Evtim
Tests run: build
Is noteworthy for integration: Nope

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/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VideoDisplay.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/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/Block.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.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/framework/src/mx/collections/ListCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/DescribeTypeCache.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/sparkTest/src/testWheel.mxml</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/skins/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as
@@ -170,7 +170,7 @@
      */
     protected override function getCurrentSkinState():String
     {
-        if( !selected )
+        if (!selected)
             return super.getCurrentSkinState();
         else
             return super.getCurrentSkinState() + "AndSelected";


Support appending basemaps from Portal map-service items.

--- src/com/esri/viewer/utils/PortalBasemapAppender.as
+++ src/com/esri/viewer/utils/PortalBasemapAppender.as
@@ -23,11 +23,13 @@
 import com.esri.ags.portal.supportClasses.PortalItem;
 import com.esri.ags.portal.supportClasses.PortalQueryParameters;
 import com.esri.ags.portal.supportClasses.PortalQueryResult;
+import com.esri.ags.tasks.JSONTask;
 import com.esri.viewer.AppEvent;
 import com.esri.viewer.ConfigData;

 import flash.events.Event;
 import flash.events.EventDispatcher;
+import flash.net.URLVariables;
 import flash.utils.Dictionary;

 import mx.resources.ResourceManager;
@@ -107,16 +109,38 @@
         portalItemToLabel = new Dictionary(true);
         processedArcGISBasemaps = [];
         totalBasemaps = configData.basemaps.length;
-        for each (var portalItem:PortalItem in resultItems)
-        {
-            portalItemOrder.push(portalItem);
-            portalItem.getJSONData(new AsyncResponder(portalItem_getJSONDataResultHandler,
-                                                      portalItem_getJSONDataFaultHandler,
-                                                      portalItem));
-        }
-    }
-
-    private function portalItem_getJSONDataResultHandler(itemData:Object, item:PortalItem):void
+        for each (var item:PortalItem in resultItems)
+        {
+            processPortalItem(item);
+        }
+    }
+
+    private function processPortalItem(item:PortalItem):void
+    {
+        if (item.type == PortalItem.TYPE_WEB_MAP)
+        {
+            portalItemOrder.push(item);
+            processWebMapPortalItem(item);
+        }
+        else if (item.type == PortalItem.TYPE_MAP_SERVICE)
+        {
+            portalItemOrder.push(item);
+            processMapServicePortalItem(item);
+        }
+        else
+        {
+            updateTotalArcGISBasemaps();
+        }
+    }
+
+    private function processWebMapPortalItem(item:PortalItem):void
+    {
+        item.getJSONData(new AsyncResponder(item_getJSONDataResultHandler,
+                                            item_getJSONDataFaultHandler,
+                                            item));
+    }
+
+    private function item_getJSONDataResultHandler(itemData:Object, item:PortalItem):void
     {
         createBasemapLayerObjectFromWebMapItemAndData(item, itemData);
         if (isDefaultBasemap(itemData.baseMap))
@@ -395,7 +419,7 @@
         }
     }

-    private function portalItem_getJSONDataFaultHandler(fault:Fault, token:Object = null):void
+    private function item_getJSONDataFaultHandler(fault:Fault, token:Object = null):void
     {
         AppEvent.dispatch(AppEvent.APP_ERROR,
                           LocalizationUtil.getDefaultString("couldNotFetchBasemapData",
@@ -403,6 +427,93 @@
         updateTotalArcGISBasemaps();
     }

+    private function processMapServicePortalItem(item:PortalItem):void
+    {
+        const urlVars:URLVariables = new URLVariables();
+        urlVars.f = "json";
+        var mapServiceMetadataRequest:JSONTask = new JSONTask(item.url);
+        mapServiceMetadataRequest.execute(
+            urlVars, new AsyncResponder(mapServiceRequest_resultHandler,
+                                        mapServiceRequest_faultHandler,
+                                        item));
+    }
+
+    private function mapServiceRequest_resultHandler(serviceMetadata:Object, item:PortalItem):void
+    {
+        createBasemapLayerObjectFromMapServiceItemAndData(item, serviceMetadata);
+        updateTotalArcGISBasemaps();
+    }
+
+    private function createBasemapLayerObjectFromMapServiceItemAndData(item:PortalItem, serviceMetadata:Object):void
+    {
+        if (!serviceMetadata)
+        {
+            return;
+        }
+
+        var layerType:String = getLayerType(serviceMetadata, item);
+        if (!layerType)
+        {
+            return;
+        }
+
+        var title:String = item.title;
+        var iconURL:String = item.thumbnailURL;
+        var existingBasemapLayerObject:Object = findBasemapLayerObjectById(title);
+        if (existingBasemapLayerObject)
+        {
+            existingBasemapLayerObject.icon = iconURL;
+            return;
+        }
+
+        portalItemToLabel[item] = title;
+        addBasemapLayerObject(mapServicePortalItemToLayerXML(item, layerType));
+    }
+
+    private function getLayerType(serviceMetadata:Object, item:PortalItem):String
+    {
+        var layerType:String;
+
+        if (serviceMetadata.singleFusedMapCache)
+        {
+            layerType = "tiled";
+        }
+        else if (serviceMetadata.bandCount)
+        {
+            layerType = "image";
+        }
+        else if (isNaN(Number(item.url.charAt(item.url.length - 1))))
+        {
+            layerType = "dynamic";
+        }
+        else
+        {
+            layerType = "feature";
+        }
+
+        return layerType;
+    }
+
+    private function mapServicePortalItemToLayerXML(item:PortalItem, type:String):XML
+    {
+        const title:String = item.title;
+        const iconURL:String = item.thumbnailURL;
+        const url:String = item.url;
+        return createLayerXML(title, type, iconURL, url, 1, false);
+    }
+
+    private function mapServiceRequest_faultHandler(fault:Fault, token:Object = null):void
+    {
+        if (fault.faultString != "Sign in aborted")
+        {
+            AppEvent.dispatch(AppEvent.APP_ERROR,
+                              LocalizationUtil.getDefaultString("couldNotFetchBasemapData",
+                                                                fault.faultString));
+        }
+
+        updateTotalArcGISBasemaps();
+    }
+
     private function portal_queryGroupsFaultHandler(fault:Fault, token:Object = null):void
     {
         AppEvent.showError(LocalizationUtil.getDefaultString("couldNotQueryPortal"), PORTAL_BASEMAP_APPENDER);


Only run 2 directory searches simultaneously

Otherwise if you hit a low enough directory, you can kill the app.

--- src/main/as/flump/Exporter.as
+++ src/main/as/flump/Exporter.as
@@ -57,12 +57,14 @@
         _libraries.labelFunction = function (file :File) :String {
             return file.nativePath.substring(rootLen);
         };
-        findFlashDocuments(root);
+        if (_docFinder != null) _docFinder.shutdownNow();
+        _docFinder = new Executor(2);
+        findFlashDocuments(root, _docFinder);
     }

-    protected function findFlashDocuments (base :File, executor :Executor=null) :void {
-        if (!executor) executor = new Executor();
-        Files.list(base, executor).succeeded.add(function (files :Array) :void {
+    protected function findFlashDocuments (base :File, exec :Executor) :void {
+        Files.list(base, exec).succeeded.add(function (files :Array) :void {
+            if (exec.isShutdown) return;
             for each (var file :File in files) {
                 if (StringUtil.endsWith(file.nativePath, ".xfl")) {
                     addFlashDocument(file.parent);
@@ -70,7 +72,7 @@
                 }
             }
             for each (file in files) {
-                if (file.isDirectory) findFlashDocuments(file, executor);
+                if (file.isDirectory) findFlashDocuments(file, exec);
                 else if (StringUtil.endsWith(file.nativePath, ".fla")) addFlashDocument(file);
             }
         });
@@ -78,6 +80,7 @@

     protected function addFlashDocument (file :File) :void {
         _libraries.dataProvider.addItem(file);
+        //loadFlashDocument(file);
     }

     protected function loadFlashDocument (file :File) :void {
@@ -129,6 +132,7 @@
         });
     }

+    protected var _docFinder :Executor;
     protected var _win :ExportWindow;
     protected var _libraries :List;
     protected var _exportChooser :DirChooser;


ScatterPlotPlotter speed optimizations (avoid extra callback triggers)

Change-Id: I5bab1e1b15c96379e461342a2e6e7c988fd058d0

--- WeaveUI/src/weave/visualization/plotters/ScatterPlotPlotter.as
+++ WeaveUI/src/weave/visualization/plotters/ScatterPlotPlotter.as
@@ -20,6 +20,7 @@
 package weave.visualization.plotters
 {
 	import flash.display.BitmapData;
+	import flash.utils.Dictionary;

 	import mx.utils.ObjectUtil;

@@ -100,18 +101,24 @@
 		public function get radiusColumn():DynamicColumn { return circlePlotter.screenRadius; }
 		public function get zoomToSubset():LinkableBoolean { return circlePlotter.zoomToSubset; }

-		private function getAllKeys(outputKeySet:KeySet, inputKeySets:Array):void
+		private function getAllKeys(...inputKeySets):Array
 		{
-			outputKeySet.delayCallbacks();
-			if (inputKeySets.length > 0)
-				outputKeySet.replaceKeys((inputKeySets[0] as IKeySet).keys);
-			else
-				outputKeySet.clearKeys();
-			for (var i:int = 1; i < inputKeySets.length; i++)
+			var lookup:Dictionary = new Dictionary(true);
+			var result:Array = [];
+			for (var i:int = 0; i < inputKeySets.length; i++)
 			{
-				outputKeySet.addKeys((inputKeySets[i] as IKeySet).keys);
+				var keys:Array = (inputKeySets[i] as IKeySet).keys;
+				for (var j:int = 0; j < keys.length; j++)
+				{
+					var key:IQualifiedKey = keys[j] as IQualifiedKey;
+					if (lookup[key] === undefined)
+					{
+						lookup[key] = true;
+						result.push(key);
+					}
+				}
 			}
-			outputKeySet.resumeCallbacks();
+			return result;
 		}

 		override public function getDataBoundsFromRecordKey(recordKey:IQualifiedKey):Array
@@ -126,7 +133,7 @@

 		private function updateKeys():void
 		{
-			getAllKeys(_keySet,[xColumn,yColumn,radiusColumn,colorColumn]);
+			_keySet.replaceKeys(getAllKeys(xColumn, yColumn, radiusColumn, colorColumn));
 		}
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 22185
Author:   aharui@adobe.com
Date:     2011-08-24T20:25:20.105459Z

Log Message:
-----------
Fix interface names we for looking up marshall plan classes

QE notes: none
Doc notes: none
Bugs: SDK-30598
Reviewer: Altman
Tests run: Mustella Cyclone
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mx/src/mx/controls/Alert.as</path>

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

--- frameworks/projects/mx/src/mx/controls/Alert.as
+++ frameworks/projects/mx/src/mx/controls/Alert.as
@@ -565,7 +565,7 @@
         {
             var sm:ISystemManager = ISystemManager(FlexGlobals.topLevelApplication.systemManager);
             // no types so no dependencies
-            var mp:Object = sm.getImplementation("mx.managers.IMarshallPlanSystemManager");
+            var mp:Object = sm.getImplementation("mx.managers::IMarshalSystemManager");
             if (mp && mp.useSWFBridge())
                 parent = Sprite(sm.getSandboxRoot());
             else


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/Label.as
+++ frameworks/projects/mx/src/mx/controls/Label.as
@@ -1031,6 +1031,11 @@
     *  @see flash.text.StyleSheet
     *
     *  @default null
+    *
+    *  @langversion 3.0
+    *  @playerversion Flash 9
+    *  @playerversion AIR 1.1
+    *  @productversion Flex 3
     */
     public function get styleSheet():StyleSheet
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17491
Author:   aharui@adobe.com
Date:     2010-08-26T18:31:34.581497Z

Log Message:
-----------
Handle clipped sub-apps

QE notes: none
Doc notes: New optional parameter to SystemManager.getVisibleApplicationRect
Bugs: SDK-26478
Reviewer: Darrell
Tests run: checkintests mustella/MarshallPlan
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark_dmv/src/mx/controls/advancedDataGridClasses/FTEAdvancedDataGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallingSupport.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as</path>

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

--- frameworks/projects/mx/src/mx/controls/DateField.as
+++ frameworks/projects/mx/src/mx/controls/DateField.as
@@ -2307,7 +2307,7 @@
             // B. Bottom Right Placement
             // C. Top Right Placement
             var sm:ISystemManager = systemManager.topLevelSystemManager;
-            var screen:Rectangle = sm.getVisibleApplicationRect();
+            var screen:Rectangle = sm.getVisibleApplicationRect(null, true);

             if (screen.right > dd.getExplicitOrMeasuredWidth() + point.x &&
                 screen.bottom < dd.getExplicitOrMeasuredHeight() + point.y)


Transferred from the Adobe Open Source Subversion Repository

Revision: 5119
Author:   smgilson@adobe.com
Date:     2009-03-01T15:19:39.936226Z

Log Message:
-----------
Clean up some ASDoc tags from the addition of the @productversion/@playerversion tags

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/ResultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectManager.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/messaging/messages/HTTPRequestMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CalendarLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/NCManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/Base64Encoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/validators/StringValidator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SchemaMarshaller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IInteractiveObjectInterface.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/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ContainerRawChildrenList.as</path>
<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/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.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/flex4/src/mx/skins/spark/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/HistoryManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/Schema.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/utils/HexEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectInterface.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/framework/src/mx/core/IDisplayObjectContainerInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.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/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISpriteInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/src/haloclassic/HaloRectBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/mxml/Operation.as</path>

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

--- frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as
+++ frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as
@@ -11,7 +11,7 @@

 package mx.effects.effectClasses
 {
-
+
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.effects.Effect;
@@ -38,325 +38,325 @@
 {
     include "../../core/Version.as";

-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 *
-	 *  @param target This argument is ignored for Sequence effects.
-	 *  It is included only for consistency with other types of effects.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function SequenceInstance(target:Object)
-	{
-		super(target);
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Variables
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	private var activeChildCount:Number;
-
-	/**
-	 *  @private
-	 *  Used internally to store the sum of all previously playing effects.
-	 */
-	private var currentInstanceDuration:Number = 0;
-
-	/**
-	 *  @private
-	 *  Used internally to track the set of effect instances
-	 *  that the Sequence is currently playing.
-	 */
-	private var currentSet:Array;
-
-	/**
-	 *  @private
-	 *  Used internally to track the index number of the current set
-	 *  of playing effect instances
-	 */
-	private var currentSetIndex:int = -1;
-
-	/**
-	 *  @private
-	 */
-	private var startTime:Number = 0;
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
- 	//----------------------------------
-	//  durationWithoutRepeat
-	//----------------------------------
-
-	/**
-	 *  @private
-	 */
-	override mx_internal function get durationWithoutRepeat():Number
-	{
-		var _duration:Number = 0;
-
-		var n:int = childSets.length;
-		for (var i:int = 0; i < n; i++)
-		{
-			var instances:Array = childSets[i];
-			_duration += instances[0].actualDuration;
-		}
-
-		return _duration;
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	override public function play():void
-	{
-		// Create a new queue.
-		activeEffectQueue = [];
-
-		// Start at the beginning or the end
-		// depending if we are playing backwards.
-		currentSetIndex = playReversed ? childSets.length : -1;
-
-		var n:int;
-		var i:int;
-		var m:int;
-		var j:int;
-
-		// Each childSets contains an instance of an effect for each target.
-		// Flatten these instances into the effectQueue.
-		// Put a null object between each effect so that the sequence knows
-		// when to stop and wait for the previous instances to finish.
-		n = childSets.length;
-		for (i = 0; i < n; i++)
-		{
-			var instances:Array = childSets[i];
-			activeEffectQueue.push(instances);
-		}
-
-		// Dispatch an effectStart event from the target.
-		super.play();
-
-		startTime = Tween.intervalTime;
-
-		if (activeEffectQueue.length == 0)
-		{
-			 finishRepeat();
-			 return;
-		}
-
-		playNextChildSet();
-	}
-
-	/**
-	 *  @private
-	 */
-	override public function pause():void
-	{
-		super.pause();
-
-		if (currentSet && currentSet.length > 0)
-		{
-			var n:int = currentSet.length;
-			for (var i:int = 0; i < n; i++)
-			{
-				currentSet[i].pause();
-			}
-		}
-	}
-
-	/**
-	 *  @private
-	 */
-	override public function stop():void
-	{
-		if (activeEffectQueue && activeEffectQueue.length > 0)
-		{
-			var queueCopy:Array = activeEffectQueue.concat();
-			activeEffectQueue = null;
-
-			// Call stop on the currently playing set
-			var currentInstances:Array = queueCopy[currentSetIndex];
-			var currentCount:int = currentInstances.length;
-
-			for (var i:int = 0; i < currentCount; i++)
-				currentInstances[i].stop();
-
-			// For instances that have yet to run, we will delete them
-			// without dispatching events.
-			// (Another alternative would have been add them into
-			// currentInstances and currentSet, then just stop them
-			// along with the others. In this case, they would have
-			// dispatched effectEnd events).
-			var n:int = queueCopy.length;
-			for (var j:int = currentSetIndex + 1; j < n; j++)
-			{
-				var waitingInstances:Array = queueCopy[j];
-				var m:int = waitingInstances.length;
-
-				for (var k:int = 0; k < m; k++)
-				{
-					var instance:IEffectInstance = waitingInstances[k];
-					instance.effect.deleteInstance(instance);
-				}
-			}
-		}
-
-		super.stop();
-	}
-
-	/**
-	 *  @private
-	 */
-	override public function resume():void
-	{
-		super.resume();
-
-		if (currentSet && currentSet.length > 0)
-		{
-			var n:int = currentSet.length;
-			for (var i:int = 0; i < n; i++)
-			{
-				currentSet[i].resume();
-			}
-		}
-	}
-
-	/**
-	 *  @private
-	 */
-	override public function reverse():void
-	{
-		super.reverse();
-
-		if (currentSet && currentSet.length > 0)
-		{
-			// PlayNextChildSet handles the logic of playing previously completed effects
-			var n:int = currentSet.length;
-			for (var i:int = 0; i < n; i++)
-			{
-				currentSet[i].reverse();
-			}
-		}
-	}
-
-	/**
-	 *  Interrupts any effects that are currently playing, skips over
-	 *  any effects that haven't started playing, and jumps immediately
-	 *  to the end of the composite effect.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	override public function end():void
-	{
-		endEffectCalled = true;
-
-		// activeEffectQueue are all effects to play
-		// currentSetIndex is where we want to start
-		// if play() hasn't been called on us yet (b/c of startDelay),
-		// activeEffectQueue will have nothing in it.  In this case,
-		// we leave the component in it's current state, rather than
-		// call .playWithNoDuration() on all the effects that haven't
-		// been run (or even added to the activeEffectQueue yet)
-		if (activeEffectQueue && activeEffectQueue.length > 0)
-		{
-			var queueCopy:Array = activeEffectQueue.concat();
-			activeEffectQueue = null;
-
-			// Call end on the currently playing set
-			var currentInstances:Array = queueCopy[currentSetIndex];
-			var currentCount:int = currentInstances.length;
-
-			for (var i:int = 0; i < currentCount; i++)
-			{
-				currentInstances[i].end();
-			}
-
-			var n:int = queueCopy.length;
-			for (var j:int = currentSetIndex + 1; j < n; j++)
-			{
-				var waitingInstances:Array = queueCopy[j];
-				var m:int = waitingInstances.length;
-
-				for (var k:int = 0; k < m; k++)
-				{
-					EffectInstance(waitingInstances[k]).playWithNoDuration();
-				}
-			}
-		}
-
-		super.end();
-	}
-
-	/**
-	*  Each time a child effect of SequenceInstance finishes,
-	*  Flex calls the onEffectEnd() method.
-	*  For SequenceInstance, it plays the next effect.
-	*  This method implements the method of the superclass.
-	*
-	*  @param childEffect The child effect.
-	*
-	*  @langversion 3.0
-	*  @playerversion Flash 9
-	*  @playerversion AIR 1.1
-	*  @productversion Flex 3
-	*/
-	override protected function onEffectEnd(childEffect:IEffectInstance):void
-	{
-		// Each child effect notifies us when it is finished.
-		// Remove the notifying child from childSets,
-		// so that the end() method doesn't call it.
-		// When the last child notifies us that it's finished,
-		// notify our listener that we're finished.
-		// Resume the background processing that was suspended earlier
-		if (Object(childEffect).suspendBackgroundProcessing)
-			UIComponent.resumeBackgroundProcessing();
-
-		// See endEffect, above.
-		if (endEffectCalled)
-			return;
-
-		for (var i:int = 0; i < currentSet.length; i++)
-		{
-			if (childEffect == currentSet[i])
-			{
-				currentSet.splice(i, 1);
-				break;
-			}
-		}
-
-		if (currentSet.length == 0)
-		{
-			if (false == playNextChildSet())
-				finishRepeat();
-		}
-	}
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param target This argument is ignored for Sequence effects.
+     *  It is included only for consistency with other types of effects.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function SequenceInstance(target:Object)
+    {
+        super(target);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var activeChildCount:Number;
+
+    /**
+     *  @private
+     *  Used internally to store the sum of all previously playing effects.
+     */
+    private var currentInstanceDuration:Number = 0;
+
+    /**
+     *  @private
+     *  Used internally to track the set of effect instances
+     *  that the Sequence is currently playing.
+     */
+    private var currentSet:Array;
+
+    /**
+     *  @private
+     *  Used internally to track the index number of the current set
+     *  of playing effect instances
+     */
+    private var currentSetIndex:int = -1;
+
+    /**
+     *  @private
+     */
+    private var startTime:Number = 0;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  durationWithoutRepeat
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    override mx_internal function get durationWithoutRepeat():Number
+    {
+        var _duration:Number = 0;
+
+        var n:int = childSets.length;
+        for (var i:int = 0; i < n; i++)
+        {
+            var instances:Array = childSets[i];
+            _duration += instances[0].actualDuration;
+        }
+
+        return _duration;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function play():void
+    {
+        // Create a new queue.
+        activeEffectQueue = [];
+
+        // Start at the beginning or the end
+        // depending if we are playing backwards.
+        currentSetIndex = playReversed ? childSets.length : -1;
+
+        var n:int;
+        var i:int;
+        var m:int;
+        var j:int;
+
+        // Each childSets contains an instance of an effect for each target.
+        // Flatten these instances into the effectQueue.
+        // Put a null object between each effect so that the sequence knows
+        // when to stop and wait for the previous instances to finish.
+        n = childSets.length;
+        for (i = 0; i < n; i++)
+        {
+            var instances:Array = childSets[i];
+            activeEffectQueue.push(instances);
+        }
+
+        // Dispatch an effectStart event from the target.
+        super.play();
+
+        startTime = Tween.intervalTime;
+
+        if (activeEffectQueue.length == 0)
+        {
+             finishRepeat();
+             return;
+        }
+
+        playNextChildSet();
+    }
+
+    /**
+     *  @private
+     */
+    override public function pause():void
+    {
+        super.pause();
+
+        if (currentSet && currentSet.length > 0)
+        {
+            var n:int = currentSet.length;
+            for (var i:int = 0; i < n; i++)
+            {
+                currentSet[i].pause();
+            }
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override public function stop():void
+    {
+        if (activeEffectQueue && activeEffectQueue.length > 0)
+        {
+            var queueCopy:Array = activeEffectQueue.concat();
+            activeEffectQueue = null;
+
+            // Call stop on the currently playing set
+            var currentInstances:Array = queueCopy[currentSetIndex];
+            var currentCount:int = currentInstances.length;
+
+            for (var i:int = 0; i < currentCount; i++)
+                currentInstances[i].stop();
+
+            // For instances that have yet to run, we will delete them
+            // without dispatching events.
+            // (Another alternative would have been add them into
+            // currentInstances and currentSet, then just stop them
+            // along with the others. In this case, they would have
+            // dispatched effectEnd events).
+            var n:int = queueCopy.length;
+            for (var j:int = currentSetIndex + 1; j < n; j++)
+            {
+                var waitingInstances:Array = queueCopy[j];
+                var m:int = waitingInstances.length;
+
+                for (var k:int = 0; k < m; k++)
+                {
+                    var instance:IEffectInstance = waitingInstances[k];
+                    instance.effect.deleteInstance(instance);
+                }
+            }
+        }
+
+        super.stop();
+    }
+
+    /**
+     *  @private
+     */
+    override public function resume():void
+    {
+        super.resume();
+
+        if (currentSet && currentSet.length > 0)
+        {
+            var n:int = currentSet.length;
+            for (var i:int = 0; i < n; i++)
+            {
+                currentSet[i].resume();
+            }
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override public function reverse():void
+    {
+        super.reverse();
+
+        if (currentSet && currentSet.length > 0)
+        {
+            // PlayNextChildSet handles the logic of playing previously completed effects
+            var n:int = currentSet.length;
+            for (var i:int = 0; i < n; i++)
+            {
+                currentSet[i].reverse();
+            }
+        }
+    }
+
+    /**
+     *  Interrupts any effects that are currently playing, skips over
+     *  any effects that haven't started playing, and jumps immediately
+     *  to the end of the composite effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    override public function end():void
+    {
+        endEffectCalled = true;
+
+        // activeEffectQueue are all effects to play
+        // currentSetIndex is where we want to start
+        // if play() hasn't been called on us yet (b/c of startDelay),
+        // activeEffectQueue will have nothing in it.  In this case,
+        // we leave the component in it's current state, rather than
+        // call .playWithNoDuration() on all the effects that haven't
+        // been run (or even added to the activeEffectQueue yet)
+        if (activeEffectQueue && activeEffectQueue.length > 0)
+        {
+            var queueCopy:Array = activeEffectQueue.concat();
+            activeEffectQueue = null;
+
+            // Call end on the currently playing set
+            var currentInstances:Array = queueCopy[currentSetIndex];
+            var currentCount:int = currentInstances.length;
+
+            for (var i:int = 0; i < currentCount; i++)
+            {
+                currentInstances[i].end();
+            }
+
+            var n:int = queueCopy.length;
+            for (var j:int = currentSetIndex + 1; j < n; j++)
+            {
+                var waitingInstances:Array = queueCopy[j];
+                var m:int = waitingInstances.length;
+
+                for (var k:int = 0; k < m; k++)
+                {
+                    EffectInstance(waitingInstances[k]).playWithNoDuration();
+                }
+            }
+        }
+
+        super.end();
+    }
+
+    /**
+    *  Each time a child effect of SequenceInstance finishes,
+    *  Flex calls the onEffectEnd() method.
+    *  For SequenceInstance, it plays the next effect.
+    *  This method implements the method of the superclass.
+    *
+    *  @param childEffect The child effect.
+    *
+    *  @langversion 3.0
+    *  @playerversion Flash 9
+    *  @playerversion AIR 1.1
+    *  @productversion Flex 3
+    */
+    override protected function onEffectEnd(childEffect:IEffectInstance):void
+    {
+        // Each child effect notifies us when it is finished.
+        // Remove the notifying child from childSets,
+        // so that the end() method doesn't call it.
+        // When the last child notifies us that it's finished,
+        // notify our listener that we're finished.
+        // Resume the background processing that was suspended earlier
+        if (Object(childEffect).suspendBackgroundProcessing)
+            UIComponent.resumeBackgroundProcessing();
+
+        // See endEffect, above.
+        if (endEffectCalled)
+            return;
+
+        for (var i:int = 0; i < currentSet.length; i++)
+        {
+            if (childEffect == currentSet[i])
+            {
+                currentSet.splice(i, 1);
+                break;
+            }
+        }
+
+        if (currentSet.length == 0)
+        {
+            if (false == playNextChildSet())
+                finishRepeat();
+        }
+    }

     // Note that we implement seek() in the instance class for Sequence,
     // but in the factory class for Parallel. This is because we can do
@@ -479,11 +479,11 @@
         super.seek(seekTime);
     }

-	//--------------------------------------------------------------------------
-	//
-	//  Methods
-	//
-	//--------------------------------------------------------------------------
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------

     private function playCurrentChildSet():void
     {
@@ -504,11 +504,6 @@
                 offset = isNaN(offset) ? 0 : offset;
                 TweenEffectInstance(childEffect).seek(offset);
             }
-            *
-            *  @langversion 3.0
-            *  @playerversion Flash 9
-            *  @playerversion AIR 1.1
-            *  @productversion Flex 3
             */

             currentSet.push(childEffect);
@@ -524,61 +519,56 @@

     }

-	/**
-	 *  @private
-	 */
-	private function playNextChildSet(offset:Number = 0):Boolean
-	{
-		if (!playReversed)
-		{
-			if (!activeEffectQueue ||
-				currentSetIndex++ >= activeEffectQueue.length - 1)
-			{
-				return false;
-			}
-		}
-		else
-		{
-			if (currentSetIndex-- <= 0)
-				return false;
-		}
-
-	    playCurrentChildSet();
-
-		/*
-		while (activeEffectQueue[activeChildCount])
-		{
-			childEffect = activeEffectQueue[activeChildCount];
-			activeChildCount++;
-
-
-			if (childEffect is TweenEffectInstance)
-			{
-				var offset:Number =
-					Tween.intervalTime - startTime - currentInstanceDuration;
-				offset = isNaN(offset) ? 0 : offset;
-				TweenEffectInstance(childEffect).seek(offset);
-			}
-			childEffect.startEffect();
-			// Block all layout, responses from web services, and other
-			// background processing until the effect finishes executing.
-			if (childEffect.suspendBackgroundProcessing)
-				UIComponent.suspendBackgroundProcessing();
-
-			if (!activeEffectQueue)
-				break;
-		}
-
-		currentInstanceDuration += childEffect.duration;
-		*
-		*  @langversion 3.0
-		*  @playerversion Flash 9
-		*  @playerversion AIR 1.1
-		*  @productversion Flex 3
-		*/
-
-		return true;
-	}
+    /**
+     *  @private
+     */
+    private function playNextChildSet(offset:Number = 0):Boolean
+    {
+        if (!playReversed)
+        {
+            if (!activeEffectQueue ||
+                currentSetIndex++ >= activeEffectQueue.length - 1)
+            {
+                return false;
+            }
+        }
+        else
+        {
+            if (currentSetIndex-- <= 0)
+                return false;
+        }
+
+        playCurrentChildSet();
+
+        /*
+        while (activeEffectQueue[activeChildCount])
+        {
+            childEffect = activeEffectQueue[activeChildCount];
+            activeChildCount++;
+
+
+            if (childEffect is TweenEffectInstance)
+            {
+                var offset:Number =
+                    Tween.intervalTime - startTime - currentInstanceDuration;
+                offset = isNaN(offset) ? 0 : offset;
+                TweenEffectInstance(childEffect).seek(offset);
+            }
+            childEffect.startEffect();
+            // Block all layout, responses from web services, and other
+            // background processing until the effect finishes executing.
+            if (childEffect.suspendBackgroundProcessing)
+                UIComponent.suspendBackgroundProcessing();
+
+            if (!activeEffectQueue)
+                break;
+        }
+
+        currentInstanceDuration += childEffect.duration;
+        */
+
+        return true;
+    }
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 21447
Author:   egeorgie@adobe.com
Date:     2011-06-24T03:25:47.685127Z

Log Message:
-----------
Adding SplashScreenImage, SplashScreenImageSource.

Developers can now specify the name of a SplashScreenImage class as the value for the Application's splashScreenImage property. Cool stuff!

QE notes: feature ready for testing
Doc notes: ready for documentation
Bugs:
Reviewer: Chiedo
Tests run: full cyclone
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.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/preloaders/SplashScreenImage.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImageSource.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImage.as
+++ frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImage.as
@@ -0,0 +1,114 @@
+package spark.preloaders
+{
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+[DefaultProperty("mxmlContent")]
+
+/**
+ *  Use the SplashScreenImage class to specify different splash screen
+ *  images per device configurations like DPI, orientation, resolution.
+ *
+ *
Developers typically define a SplashScreenImage class
+ *  in a separate MXML file.  The different image choices and corresponding
+ *  device configutaions are defined in that MXML file as SplahsScreenImageSource
+ *  children.  The Developers set the Application's splashScreenImage
+ *  property to the name of the SplashScreenImage definition.

+ *
+ *
Note, this class can't be set inline in the Application MXML, it needs
+ *  to be defined in a separate MXML file and referenced from the Application's
+ *  splashScreenImage property.

+ *
+ *  @see spark.preloaders.SplashScreenImageSource
+ *  @see spark.components.Application#splashScreenImage
+ */
+public class SplashScreenImage
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function SplashScreenImage()
+    {
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  mxmlContent
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the mxmlContent property
+     */
+    private var _mxmlContent:Array;
+
+    [ArrayElementType("spark.preloaders.SplashScreenImageSource")]
+
+    /**
+     *  The SplashScreenImageSource sources for this
+     *  SplashScreenImage.
+     *
+     *  Typically developers don't use this method directly, instead they
+     *  define the SplashScreenImageSource inline in MXML.
+     */
+    public function get mxmlContent():Array
+    {
+        return _mxmlContent;
+    }
+
+    /**
+     *  @private
+     */
+    public function set mxmlContent(value:Array):void
+    {
+        _mxmlContent = value;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Returns the Class of the SplashScreenImageSource that matches best
+     *  the specified device parameters.
+     *
+     *  Developers don't call this method directly, it is called internally by Flex.
+     *
+     *  Developers may override this method in a subclass if they want to override
+     *  the default Flex logic of picking the best matching SplashScreenImageSource.
+     *
+     *  @param aspectRatio One of StageAspectRatio.PORTRAIT StageAspectRatio.LANDSCAPE.
+     *  @param dpi The dpi of the device.
+     *  @param resolution The resolution of the device's bigger dimension, in pixels.
+     *  @return The Class for the image to be displayed as a splash screen image.
+     */
+    public function getImageClass(aspectRatio:String, dpi:Number, resolution:Number):Class
+    {
+        // Find best matching source
+        var bestMatch:SplashScreenImageSource;
+        const length:int = _mxmlContent.length;
+        for (var i:int = 0; i < length; i++)
+        {
+            var source:SplashScreenImageSource = _mxmlContent[i] as SplashScreenImageSource;
+            if (source && source.matches(aspectRatio, dpi, resolution) && (!bestMatch || source.betterThan(bestMatch)))
+                bestMatch = source;
+        }
+
+        return bestMatch ? bestMatch.source : null;
+    }
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 4211
Author:   jszeto@adobe.com
Date:     2008-12-02T00:51:56.799456Z

Log Message:
-----------
GraphicElement re-layering optimization and removal of change events

SDK-18055 Optimize invalidation of layering for GraphicElements

For the properties that affect whether GraphicElement needs a displayObject, in their setters we add checks to see if we need to recalculate layering.

SDK-18054  Remove non-critical change events from GraphicElement

Removed a bunch of change events from properties that only get set programmatically.

QE Notes: Most change events from GraphicElement and its subclasses have been removed
Doc Notes:
Bugs: SDK-18054, SDK-18055
Reviewer: Glenn

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

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/FilledElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/FilledElement.as
@@ -57,7 +57,6 @@
      */
      protected var _fill:IFill;

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

     /**
@@ -76,7 +75,6 @@
      */
     public function set fill(value:IFill):void
     {
-        var oldValue:IFill = _fill;
         var fillEventDispatcher:EventDispatcher;

         fillEventDispatcher = _fill as EventDispatcher;
@@ -93,7 +91,6 @@
                 PropertyChangeEvent.PROPERTY_CHANGE,
                 fill_propertyChangeHandler);

-        dispatchPropertyChangeEvent("fill", oldValue, _fill);
         invalidateDisplayList();
     }


- The MemoryPool makes now use of the Memory API

--- as3/Apparat.Library.AS3/src/com/joa_ebert/apparat/memory/MemoryPool.as
+++ as3/Apparat.Library.AS3/src/com/joa_ebert/apparat/memory/MemoryPool.as
@@ -84,7 +84,7 @@
 			_poolStrategy = strategy;
 			_poolStrategy.initialize( _buffer );

-			ApplicationDomain.currentDomain.domainMemory = _buffer;
+			Memory.select( _buffer );
 		}

 		/**


Border should use clientWidth and clientHeight to include padding.

--- frameworks/projects/HTML/as/src/org/apache/flex/html/beads/SingleLineBorderBead.as
+++ frameworks/projects/HTML/as/src/org/apache/flex/html/beads/SingleLineBorderBead.as
@@ -88,8 +88,8 @@

             var host:UIBase = UIBase(_strand);
             var g:Graphics = host.graphics;
-            var w:Number = host.width;
-            var h:Number = host.height;
+            var w:Number = host.clientWidth;
+            var h:Number = host.clientHeight;

 			var gd:IGraphicsDrawing = _strand.getBeadByType(IGraphicsDrawing) as IGraphicsDrawing;
 			if( this == gd ) g.clear();


Transferred from the Adobe Open Source Subversion Repository

Revision: 13038
Author:   hneelu@adobe.com
Date:     2009-12-17T09:45:13.816497Z

Log Message:
-----------
Reverting P4 changes made for automation project.

Modified Paths:
--------------
228 paths were modified

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

--- frameworks/projects/automation/src/mx/automation/tabularData/MenuBarTabularData.as
+++ frameworks/projects/automation/src/mx/automation/tabularData/MenuBarTabularData.as
@@ -122,7 +122,8 @@

 			// code modified to avoid the usage of numAutomationChildren and
 			// getAutomationChildAt in a loop
-			var childList:Array  = delegate.getAutomationChildren();
+			//var childList:Array  = delegate.getAutomationChildren();
+			var childList:Array  =  Automation.automationManager2.getAutomationChildrenArray(delegate);
 			if (childList)
 			{
 				end  = end > childList.length ? childList.length : end;


Transferred from the Adobe Open Source Subversion Repository

Revision: 21801
Author:   jszeto@adobe.com
Date:     2011-08-03T22:28:57.670568Z

Log Message:
-----------
SpinnerList visual changes

We’ve changed the background shadow to be shorter, darker and have a quicker transition from dark to light. We’ve also placed the selection bar highlight on top and reduced the height of the shadow. These changes help reduce the “zebra” stripe effect that was occurring with the previous version. It also makes the selection bar pop out more.

QE notes: none
Doc notes: none
Bugs: none
Reviewer: Tom K
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="M">/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/spark/skins/mobile320/assets/SpinnerListContainerShadow.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/SpinnerListContainerShadow.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/SpinnerListContainerShadow.fxg</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as
@@ -17,7 +17,6 @@
 import mx.core.DPIClassification;

 import spark.components.Group;
-import spark.components.HGroup;
 import spark.components.SpinnerListContainer;
 import spark.layouts.HorizontalLayout;
 import spark.skins.mobile.supportClasses.MobileSkin;
@@ -67,7 +66,7 @@

 				cornerRadius = 10;
 				borderThickness = 2;
-				selectionIndicatorHeight = 80;
+				selectionIndicatorHeight = 120;
 				break;
 			}
 			case DPIClassification.DPI_240:
@@ -78,7 +77,7 @@

 				cornerRadius = 8;
 				borderThickness = 1;
-				selectionIndicatorHeight = 60;
+				selectionIndicatorHeight = 90;
 				break;
 			}
 			default: // default DPI_160
@@ -89,7 +88,7 @@

 				cornerRadius = 5;
 				borderThickness = 1;
-				selectionIndicatorHeight = 40;
+				selectionIndicatorHeight = 60;

 				break;
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 6430
Author:   cframpto@adobe.com
Date:     2009-04-30T19:18:35.946696Z

Log Message:
-----------
Vellum build 422.

Lots of changes made to what was the InputManager and is now TextContainerManager which required code changes on our part.
Fixed - Can not tab into TextInput and start typing without a mouse click.

New issues:
- focusInHandler only active until there is a controller attached and at that point RichEditableText doesn't get them any more
- SelectionEvent.SELECTION_CHANGE does not seem to be dispatched by Vellum anymore after insertText/appendText and perhaps other operations which change the selection.  It is dispatched for setSelection().  I added some temporary code to work around this issue since several TextArea appendText/insertText tests were failing.

QE Notes: all TextArea and TextInput tests pass except Gumbo_TextArea_export_method_default which I will leave to QA to sort out
Doc Notes:
Bugs: SDK-20815
Reviewers: Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/tlf/textLayout.swz</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/RichEditableTextContainerManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/in/tlf/textLayout.swf</path>
<path kind="file" action="M">/flex/sdk/trunk/in/tlf/tlf.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -1001,24 +1001,10 @@
      */
     override protected function focusInHandler(event:FocusEvent):void
     {
-        // An editable TCAL Sprite has the concept of "no selection",
-        // represented by (-1, -1), even when the Sprite has focus.
-        // But then no insertion point blinks and you can't enter any text.
-        // So if this component is in that state when it takes focus,
-        // it changes the selection to the end of the text.
-        if (enabled && editable)
-        {
-            if (selectionAnchorPosition == -1 && selectionActivePosition == -1)
-            {
-                setSelection(
-                    mx_internal::_text.length, mx_internal::_text.length);
-            }
-
-            // Only editable text should have a focus ring.
-            if (focusManager)
-                focusManager.showFocusIndicator = true;
-        }
-
+        // Only editable text should have a focus ring.
+        if (enabled && editable && focusManager)
+            focusManager.showFocusIndicator = true;
+
         super.focusInHandler(event);
     }


Avoid default label for doc legend item

Avoid default label for doc legend item

--- src/com/esri/viewer/components/toc/tocClasses/TocLegendItem.as
+++ src/com/esri/viewer/components/toc/tocClasses/TocLegendItem.as
@@ -30,7 +30,7 @@
         super(parentItem);

         _legendItemInfo = legendItemInfo;
-        label = legendItemInfo.label;
+        label = legendItemInfo.label ? legendItemInfo.label : " ";
     }

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


flashlsOSMF: fix AlternativeAudioTrait reporting invalid stream index related to #6

--- src/org/mangui/osmf/plugins/traits/HLSAlternativeAudioTrait.as
+++ src/org/mangui/osmf/plugins/traits/HLSAlternativeAudioTrait.as
@@ -19,7 +19,6 @@
         private var _media : MediaElement;
         private var _audioTrackList : Vector.<AudioTrack>;
         private var _numAlternativeAudioStreams : int;
-        private var _transitionInProgress : Boolean = false;
         private var _activeTransitionIndex : int = DEFAULT_TRANSITION_INDEX;
         private var _lastTransitionIndex : int = INVALID_TRANSITION_INDEX;

@@ -27,10 +26,10 @@
             CONFIG::LOGGING {
             Log.debug("HLSAlternativeAudioTrait()");
             }
-            super(0);
             _hls = hls;
             _audioTrackList = _hls.audioTracks;
             _numAlternativeAudioStreams = _audioTrackList.length - 1;
+            super(_numAlternativeAudioStreams);
             _media = media;
             _hls.addEventListener(HLSEvent.AUDIO_TRACK_SWITCH, _audioTrackChangedHandler);
             _hls.addEventListener(HLSEvent.AUDIO_TRACKS_LIST_CHANGE, _audioTrackListChangedHandler);
@@ -85,7 +84,6 @@
             }
             if (_lastTransitionIndex != indexToSwitchTo) {
                 _activeTransitionIndex = indexToSwitchTo;
-                _transitionInProgress = true;
                 _hls.audioTrack = indexToSwitchTo + 1;
             }
         }
@@ -94,8 +92,8 @@
             CONFIG::LOGGING {
             Log.debug("HLSDynamicStreamTrait:_audioTrackChangedHandler");
             }
-            _transitionInProgress = false;
-            setSwitching(false, _lastTransitionIndex);
+            setSwitching(false, _activeTransitionIndex);
+            _lastTransitionIndex = _activeTransitionIndex;
         }

         private function _audioTrackListChangedHandler(event : HLSEvent) : void {


adds mediator map extension to classic bundle

--- src/org/robotlegs/v2/bundles/classic/ClassicRobotlegsBundle.as
+++ src/org/robotlegs/v2/bundles/classic/ClassicRobotlegsBundle.as
@@ -15,6 +15,7 @@
 	import org.robotlegs.v2.extensions.autoDestroy.AutoDestroyExtension;
 	import org.robotlegs.v2.extensions.commandMap.CommandMapExtension;
 	import org.robotlegs.v2.extensions.logging.SimpleLoggingExtension;
+	import org.robotlegs.v2.extensions.mediatorMap.MediatorMapExtension;
 	import org.robotlegs.v2.extensions.viewManager.ViewManagerExtension;

 	public class ClassicRobotlegsBundle implements IContextBuilderBundle
@@ -40,6 +41,9 @@
 				.withExtension(ViewManagerExtension)
 				.withConfig(ContextViewListenerConfig);

+			// Install the MediatorMap extension
+			builder.withExtension(MediatorMapExtension);
+
 			// Destroy the context when the contextView leaves the stage
 			builder.withExtension(AutoDestroyExtension);
 		}