Transferred from the Adobe Open Source Subversion Repository

Revision: 16822
Author:   deeptika@adobe.com
Date:     2010-07-07T06:16:32.586582Z

Log Message:
-----------
Removing deprecated API and their usage.

QE notes:
Doc notes:
Bugs: FLEXDMV-2463 (LineaSeries legendData marker are not working if the series has lineStroke to a SolidColorStroke)
FLEXDMV-2470 (Remove deprecation or Remove deprecated properties in charting)
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/BarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_dmv/src/mx/automation/delegates/charts/CartesianChartAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/renderers/AreaRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/AreaChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/HLOCSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/LineSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/PlotChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/BubbleSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/ColumnSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation/src/mx/automation/tabularData/CartesianChartTabularData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/CandlestickChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/HLOCChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/chartClasses/StackedSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/BarSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/LineChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/chartClasses/HLOCSeriesBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/chartClasses/ChartBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/BubbleChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/AreaSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/ColumnChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/PlotSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/renderers/HLOCItemRenderer.as</path>

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

--- frameworks/projects/charts/src/mx/charts/renderers/HLOCItemRenderer.as
+++ frameworks/projects/charts/src/mx/charts/renderers/HLOCItemRenderer.as
@@ -19,7 +19,7 @@
 import mx.core.IDataRenderer;
 import mx.graphics.IStroke;
 import mx.graphics.LinearGradientStroke;
-import mx.graphics.Stroke;
+import mx.graphics.SolidColorStroke;
 import mx.skins.ProgrammaticSkin;
 import mx.utils.ColorUtil;

@@ -132,39 +132,39 @@

         var istroke:IStroke = getStyle("stroke");

-        var stroke:Stroke;
+        var stroke:SolidColorStroke;
         var lgstroke:LinearGradientStroke;

-        if (istroke is Stroke)
-        	stroke = Stroke(istroke);
+        if (istroke is SolidColorStroke)
+        	stroke = SolidColorStroke(istroke);
         else if (istroke is LinearGradientStroke)
         	lgstroke = LinearGradientStroke(istroke);
         else
-        	stroke = new Stroke(getStyle('hlocColor'), istroke.weight);
+        	stroke = new SolidColorStroke(getStyle('hlocColor'), istroke.weight);

         var iOpenTickStroke:IStroke = getStyle("openTickStroke");

-        var openTickStroke:Stroke;
+        var openTickStroke:SolidColorStroke;
         var lgOpenTickStroke:LinearGradientStroke;

-        if (iOpenTickStroke is Stroke)
-        	openTickStroke = Stroke(iOpenTickStroke);
+        if (iOpenTickStroke is SolidColorStroke)
+        	openTickStroke = SolidColorStroke(iOpenTickStroke);
        else if (iOpenTickStroke is LinearGradientStroke)
         	lgOpenTickStroke = LinearGradientStroke(iOpenTickStroke);
         else
-        	openTickStroke = new Stroke(getStyle('hlocColor'), iOpenTickStroke.weight, 1, false, "normal", "none");
+        	openTickStroke = new SolidColorStroke(getStyle('hlocColor'), iOpenTickStroke.weight, 1, false, "normal", "none");

         var iCloseTickStroke:IStroke = getStyle("closeTickStroke");

-        var closeTickStroke:Stroke;
+        var closeTickStroke:SolidColorStroke;
         var lgCloseTickStroke:LinearGradientStroke;

-        if (iCloseTickStroke is Stroke)
-        	closeTickStroke = Stroke(iCloseTickStroke);
+        if (iCloseTickStroke is SolidColorStroke)
+        	closeTickStroke = SolidColorStroke(iCloseTickStroke);
         else if (iCloseTickStroke is LinearGradientStroke)
         	lgCloseTickStroke = LinearGradientStroke(iCloseTickStroke);
         else
-        	closeTickStroke = new Stroke(getStyle('hlocColor'), iCloseTickStroke.weight, 1, false, "normal", "none");
+        	closeTickStroke = new SolidColorStroke(getStyle('hlocColor'), iCloseTickStroke.weight, 1, false, "normal", "none");

         var w2:Number = unscaledWidth / 2;


Flash: enable smooth scaling on the video

--- src/ogv.as
+++ src/ogv.as
@@ -158,6 +158,7 @@
                 bitmapData = new BitmapData(videoInfo.frameWidth, videoInfo.frameHeight, true, 0xff000000);

                 bitmap = new Bitmap(bitmapData);
+                bitmap.smoothing = true;
                 // Offset the bitmap to 'crop' it conveniently
                 bitmap.x = -videoInfo.picX;
                 bitmap.y = -videoInfo.picY;


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

--- frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as
+++ frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as
@@ -732,7 +732,7 @@
 		// Calculate global position of label.
 		var sm:ISystemManager = systemManager.topLevelSystemManager;
 		var sbRoot:DisplayObject = sm.getSandboxRoot();
-		var screen:Rectangle = sm.getVisibleApplicationRect();
+		var screen:Rectangle = sm.getVisibleApplicationRect(null, true);
 		var pt:Point = new Point(0, 0);
 		pt = localToGlobal(pt);
 		pt = sbRoot.globalToLocal(pt);


Now waiting to add background tasks until queue is unpaused.

Change-Id: I2083f83c3ed31bc14a433d0b0d2ee0b191f57f32

--- WeaveData/src/weave/services/AsyncInvocationQueue.as
+++ WeaveData/src/weave/services/AsyncInvocationQueue.as
@@ -53,6 +53,10 @@
 			if (_paused)
 			{
 				_paused = false;
+
+				for each (var query:DelayedAsyncInvocation in _downloadQueue)
+					WeaveAPI.ProgressIndicator.addTask(query);
+
 				if (_downloadQueue.length)
 					performQuery(_downloadQueue[0]);
 			}
@@ -70,7 +74,8 @@
 				return;
 			}

-			WeaveAPI.ProgressIndicator.addTask(query);
+			if (!_paused)
+				WeaveAPI.ProgressIndicator.addTask(query);

 			if (debug)
 			{


Transferred from the Adobe Open Source Subversion Repository

Revision: 12062
Author:   smgilson@adobe.com
Date:     2009-11-20T20:27:52.148318Z

Log Message:
-----------
Fix for FLEXDOCS-1033 - hasFocusableChildren and tabChildren properties sound very similar, but only hasFocusableChildren works as expected, tabChildren is ignored

And a localization issue, FLEXDOCS-1119

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/BaseListData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.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/framework/src/mx/core/IDisplayObjectContainerInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManagerComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -1637,130 +1637,130 @@
         _updateCompletePendingFlag = value;
     }

-	//------------------------------------------------------------------------
+    //------------------------------------------------------------------------
     //
     //  Properties: Accessibility
     //
     //------------------------------------------------------------------------

-	/**
+    /**
      *  @public
-	 *  A convenience accessor for the 'silent' property
-	 *  in this UIComponent's accessibilityProperties object.
-	 *
-	 *  Note that accessibilityEnabled has the opposite sense from silent;
-	 *  accessibilityEnabled is true when silent is false and vice versa.
-	 *
-	 *  The getter simply returns accessibilityProperties.silent,
-	 *  or true if accessibilityProperties is null.
-	 *  The setter first checks whether accessibilityProperties is null, and if it is,
-	 *  sets it to a new AccessibilityProperties instance;
-	 *  then it sets accessibilityProperties.silent.
-	 *
-     *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-	 */
-	public function get accessibilityEnabled():Boolean
+     *  A convenience accessor for the 'silent' property
+     *  in this UIComponent's accessibilityProperties object.
+     *
+     *  Note that accessibilityEnabled has the opposite sense from silent;
+     *  accessibilityEnabled is true when silent is false and vice versa.
+     *
+     *  The getter simply returns accessibilityProperties.silent,
+     *  or true if accessibilityProperties is null.
+     *  The setter first checks whether accessibilityProperties is null, and if it is,
+     *  sets it to a new AccessibilityProperties instance;
+     *  then it sets accessibilityProperties.silent.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get accessibilityEnabled():Boolean
     {
       return accessibilityProperties ? !accessibilityProperties.silent : true;
-	}
-
-	public function set accessibilityEnabled(value:Boolean):void
-    {
-	  if (!accessibilityProperties)
+    }
+
+    public function set accessibilityEnabled(value:Boolean):void
+    {
+      if (!accessibilityProperties)
         accessibilityProperties = new AccessibilityProperties();
-   	  accessibilityProperties.silent = !value;
+      accessibilityProperties.silent = !value;
       Accessibility.updateProperties();
-	}
-
-	/**
+    }
+
+    /**
      *  @public
-	 *  A convenience accessor for the 'name' property
-	 *  in this UIComponent's accessibilityProperties object.
-	 *
-	 *  The getter simply returns accessibilityProperties.name,
-	 *  or "" if accessibilityProperties is null.
-	 *  The setter first checks whether accessibilityProperties is null, and if it is,
-	 *  sets it to a new AccessibilityProperties instance;
-	 *  then it sets accessibilityProperties.name.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
- 	 */
-	public function get accessibilityName():String
-    {
-	  return accessibilityProperties ? accessibilityProperties.name : "";
-	}
-
+     *  A convenience accessor for the 'name' property
+     *  in this UIComponent's accessibilityProperties object.
+     *
+     *  The getter simply returns accessibilityProperties.name,
+     *  or "" if accessibilityProperties is null.
+     *  The setter first checks whether accessibilityProperties is null, and if it is,
+     *  sets it to a new AccessibilityProperties instance;
+     *  then it sets accessibilityProperties.name.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get accessibilityName():String
+    {
+      return accessibilityProperties ? accessibilityProperties.name : "";
+    }
+
     public function set accessibilityName(value:String):void
     {
-	  if (!accessibilityProperties)
-	    accessibilityProperties = new AccessibilityProperties();
- 	  accessibilityProperties.name = value;
+      if (!accessibilityProperties)
+        accessibilityProperties = new AccessibilityProperties();
+      accessibilityProperties.name = value;
       Accessibility.updateProperties();
-	}
-
-	/**
-	 *  @public
-	 *  A convenience accessor for the 'description' property
-	 *  in this UIComponent's accessibilityProperties object.
-	 *
-	 *  The getter simply returns accessibilityProperties.description,
-	 *  or "" if accessibilityProperties is null.
-	 *  The setter first checks whether accessibilityProperties is null, and if it is,
-	 *  sets it to a new AccessibilityProperties instance;
-	 *  then it sets accessibilityProperties.description.
-	 *
-  	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function get accessibilityDescription():String
-    {
-	  return accessibilityProperties ? accessibilityProperties.description : "";
-	}
-
-	public function set accessibilityDescription(value:String):void
-    {
-	  if (!accessibilityProperties)
-		accessibilityProperties = new AccessibilityProperties();
-   	  accessibilityProperties.description = value;
+    }
+
+    /**
+     *  @public
+     *  A convenience accessor for the 'description' property
+     *  in this UIComponent's accessibilityProperties object.
+     *
+     *  The getter simply returns accessibilityProperties.description,
+     *  or "" if accessibilityProperties is null.
+     *  The setter first checks whether accessibilityProperties is null, and if it is,
+     *  sets it to a new AccessibilityProperties instance;
+     *  then it sets accessibilityProperties.description.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get accessibilityDescription():String
+    {
+      return accessibilityProperties ? accessibilityProperties.description : "";
+    }
+
+    public function set accessibilityDescription(value:String):void
+    {
+      if (!accessibilityProperties)
+        accessibilityProperties = new AccessibilityProperties();
+      accessibilityProperties.description = value;
       Accessibility.updateProperties();
-	}
-
-	/**
-	 *  @public
-	 *  A convenience accessor for the 'shortcut' property
-	 *  in this UIComponent's accessibilityProperties object.
-	 *
-	 *  The getter simply returns accessibilityProperties.shortcut,
-	 *  or "" if accessibilityProperties is null.
-	 *  The setter first checks whether accessibilityProperties is null, and if it is,
-	 *  sets it to a new AccessibilityProperties instance;
-	 *  then it sets accessibilityProperties.shortcut.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function get accessibilityShortcut():String
-    {
-	  return accessibilityProperties ? accessibilityProperties.shortcut : "";
-	}
-
+    }
+
+    /**
+     *  @public
+     *  A convenience accessor for the 'shortcut' property
+     *  in this UIComponent's accessibilityProperties object.
+     *
+     *  The getter simply returns accessibilityProperties.shortcut,
+     *  or "" if accessibilityProperties is null.
+     *  The setter first checks whether accessibilityProperties is null, and if it is,
+     *  sets it to a new AccessibilityProperties instance;
+     *  then it sets accessibilityProperties.shortcut.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get accessibilityShortcut():String
+    {
+      return accessibilityProperties ? accessibilityProperties.shortcut : "";
+    }
+
     public function set accessibilityShortcut(value:String):void
     {
-   	  if (!accessibilityProperties)
-	    accessibilityProperties = new AccessibilityProperties();
-	  accessibilityProperties.shortcut = value;
+      if (!accessibilityProperties)
+        accessibilityProperties = new AccessibilityProperties();
+      accessibilityProperties.shortcut = value;
       Accessibility.updateProperties();
-	}
+    }

 //--------------------------------------------------------------------------
     //
@@ -4618,8 +4618,10 @@
     /**
      *  A flag that indicates whether child objects can receive focus
      *
-     *
This is similar to the tabChildren property
-     *  used by Flash Player.

+     *
Note: This property is similar to the tabChildren property
+     *  used by Flash Player.
+     *  Use the hasFocusableChildren property with Flex applications.
+     *  Do not use the tabChildren property.

      *
      *
This is usually false because most components
      *  either receive focus themselves or delegate focus to a single
@@ -10628,11 +10630,11 @@
         if (!effectOverlay)
         {
             effectOverlayColor = color;
-			effectOverlay = new UIComponent();
-			effectOverlay.name = "overlay";
+            effectOverlay = new UIComponent();
+            effectOverlay.name = "overlay";
             // Have to set visibility immediately
             // to make sure we avoid flicker
-			effectOverlay.$visible = true;
+            effectOverlay.$visible = true;

             fillOverlay(effectOverlay, color, targetArea);

@@ -10641,8 +10643,8 @@
             if (!targetArea)
                 addEventListener(ResizeEvent.RESIZE, overlay_resizeHandler);

-			effectOverlay.x = 0;
-			effectOverlay.y = 0;
+            effectOverlay.x = 0;
+            effectOverlay.y = 0;

             invalidateDisplayList();

@@ -10711,7 +10713,7 @@
             if (super.getChildByName("overlay"))
                 $removeChild(effectOverlay);

-			effectOverlay = null;
+            effectOverlay = null;
         }
     }
     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 20149
Author:   klin@adobe.com
Date:     2011-02-04T21:39:31.000080Z

Log Message:
-----------
Add and update [Inspectable] metadata across spark components.

QE notes: No
Doc notes: No
Bugs: SDK-28942
Reviewer: Carol
Tests run: cyclone server, checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TileGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/modules/ModuleLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/mediaClasses/DynamicStreamingVideoItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/VGroup.as
+++ frameworks/projects/spark/src/spark/components/VGroup.as
@@ -101,7 +101,7 @@
     //  gap
     //----------------------------------

-    [Inspectable(category="General")]
+    [Inspectable(category="General", defaultValue="6")]

     /**
      *  @copy spark.layouts.VerticalLayout#gap
@@ -188,7 +188,7 @@
     //  paddingLeft
     //----------------------------------

-    [Inspectable(category="General")]
+    [Inspectable(category="General", defaultValue="0.0")]

     /**
      *  @copy spark.layouts.VerticalLayout#paddingLeft
@@ -217,7 +217,7 @@
     //  paddingRight
     //----------------------------------

-    [Inspectable(category="General")]
+    [Inspectable(category="General", defaultValue="0.0")]

     /**
      *  @copy spark.layouts.VerticalLayout#paddingRight
@@ -246,7 +246,7 @@
     //  paddingTop
     //----------------------------------

-    [Inspectable(category="General")]
+    [Inspectable(category="General", defaultValue="0.0")]

     /**
      *  @copy spark.layouts.VerticalLayout#paddingTop
@@ -275,7 +275,7 @@
     //  paddingBottom
     //----------------------------------

-    [Inspectable(category="General")]
+    [Inspectable(category="General", defaultValue="0.0")]

     /**
      *  @copy spark.layouts.VerticalLayout#paddingBottom
@@ -440,7 +440,7 @@
     //  variableRowHeight
     //----------------------------------

-    [Inspectable(category="General")]
+    [Inspectable(category="General", defaultValue="true")]

     /**
      *  @copy spark.layouts.VerticalLayout#variableRowHeight


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

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

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

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3154
Author:   jimurphy@adobe.com
Date:     2008-09-09T13:55:57.617710Z

Log Message:
-----------
Merged 3.0.x revisions [3143-3144 ] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>

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

--- frameworks/projects/framework/src/mx/managers/SystemManager.as
+++ frameworks/projects/framework/src/mx/managers/SystemManager.as
@@ -4488,16 +4488,6 @@
 	}

 	/**
-	 * @inheritdoc
-	 *
-	 */
-	public function invalidateStage():void
-	{
-		if (stage)
-			stage.invalidate();
-	}
-
-	/**
 	 * @private
 	 *
 	 * Listen to messages this System Manager needs to service from its children.
@@ -4830,7 +4820,7 @@
             bounds = getBounds(DisplayObject(this));

             var s:Rectangle = screen;
-            var pt:Point = new Point(bounds.x, bounds.y);
+            var pt:Point = new Point(Math.max(0, bounds.x), Math.max(0, bounds.y));
             pt = localToGlobal(pt);
             bounds.x = pt.x;
             bounds.y = pt.y;


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

Modified Paths:
--------------
2361 paths were modified

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

--- frameworks/projects/framework/src/mx/states/SetEventHandler.as
+++ frameworks/projects/framework/src/mx/states/SetEventHandler.as
@@ -1,15 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2007 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-//  AdobePatentID="B770"
-//
-////////////////////////////////////////////////////////////////////////////////

 package mx.states
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4229
Author:   egreenfi@adobe.com
Date:     2008-12-04T00:38:26.275387Z

Log Message:
-----------
added layering support to DataGroup

DataGroup now correctly supports non-zero layers on its itemRenderers.

Also, fixed an injection from Wednesday that broke charts due to a function added to UIComponent that I seem to be overly fond of.

QA: yes.
DOC: no.
REviewer: Deepa.

Modified Paths:
--------------
<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/framework/src/mx/controls/listClasses/ListBase.as</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/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
@@ -3249,7 +3249,7 @@
     {
         // this code is nearly duplicating UIComponent.validateDisplayList();

-    	validateTransform();
+    	validateMatrix();

         if (invalidateDisplayListFlag)
         {


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 4380
Author:   rfrishbe@adobe.com
Date:     2008-12-23T10:00:21.848800Z

Log Message:
-----------
Mostly rename changes in Group and FxContainer.

1.  GraphicElement.elementHost:GroupBase -> GraphicElement.parent:DisplayObjectContainer (parent already exists in the current code-base...I’m just removing elementHost now)

2.  Group content APIs now use “element” instead of “item.”  The new methods were added a while ago, but the old ones co-existed.  These particular changes remove the old methods and strongly type the new ones to deal with IVisualElements rather than Objects.  Here are the overall changes:

numItems:int -> numElements:int
getItemAt(int):Object -> getElementAt(int):IVisualElement
addItem(Object):Object -> addElement(IVisualElement):IVisualElement
addItemAt(Object, int):Object -> addElementAt(IVisualElement, int):IVisualElement
removeItem(Object):Object -> removeElement(IVisualElement):IVisualElement
removeItemAt(int):Object -> removeElementAt(int):IVisualElement
getItemIndex(Object):int -> getElementIndex(IVisualElement):int
setItemIndex(Object, int):void -> setElementIndex(IVisualElement, int):void
swapItems(Object, Object):void -> swapElements(IVisualElement, IVisualElement):void
swapItemsAt(int, int):void -> swapElementsAt(int, int):void

3.  Group and FxContainer's mxmlContent property is now strongly typed as an Array of IVisualElements instead of an Object

4.  Removing ITransformable...there's no need for it.

5.  Had to update Mustella for these changes (the Perforce changes are checked in, and here's the mustella.swc change for checkintests)

QE Notes: Joan and Steve worked with me on changing all the SDK QA tests.
Doc Notes: None
Bugs: SDK-18063
Reviewer: Jason
tests: checkintests, Mustella FxContainer, Group, and DataGroup (Joan ran all tests on an earlier version of these changes, so hopefully nothing broke in the meantime).  Some of the Group/DataGroup ones were failing for me, but I'm pretty sure they're all excluded (tests don't seem to exclude for me when I VPN in...)

Modified Paths:
--------------
<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/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/ITransformable.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/flex4/flex4test_testScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/IViewport.as</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/development/eclipse/flex/flex4test/src/testWheel.mxml</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/wireframe/src/wireframe/FxDefaultComplexItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElementContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/mustella/mustella.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDefaultComplexItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/mx/src/mx/core/Container.as
+++ frameworks/projects/mx/src/mx/core/Container.as
@@ -32,7 +32,6 @@

 import mx.binding.BindingManager;
 import mx.containers.utilityClasses.PostScaleAdapter;
-import mx.controls.Button;
 import mx.controls.HScrollBar;
 import mx.controls.VScrollBar;
 import mx.controls.listClasses.IListItemRenderer;
@@ -2518,15 +2517,15 @@
     /**
      *  @inheritDoc
      */
-    public function getElementAt(index:int):Object
-    {
-        return getChildAt(index);
+    public function getElementAt(index:int):IVisualElement
+    {
+        return getChildAt(index) as IVisualElement;
     }

     /**
      *  @inheritDoc
      */
-    public function getElementIndex(element:Object):int
+    public function getElementIndex(element:IVisualElement):int
     {
         if (! (element is DisplayObject) )
             throw ArgumentError(element + " is not found in this Container");
@@ -2537,48 +2536,48 @@
     /**
      *  @inheritDoc
      */
-    public function addElement(element:Object):Object
+    public function addElement(element:IVisualElement):IVisualElement
     {
         if (! (element is DisplayObject) )
             throw ArgumentError(element + " is not supported in this Container");

-        return addChild(element as DisplayObject);
+        return addChild(element as DisplayObject) as IVisualElement;
     }

     /**
      *  @inheritDoc
      */
-    public function addElementAt(element:Object, index:int):Object
+    public function addElementAt(element:IVisualElement, index:int):IVisualElement
     {
         if (! (element is DisplayObject) )
             throw ArgumentError(element + " is not supported in this Container");

-        return addChildAt(element as DisplayObject, index);
+        return addChildAt(element as DisplayObject, index) as IVisualElement;
     }

     /**
      *  @inheritDoc
      */
-    public function removeElement(element:Object):Object
+    public function removeElement(element:IVisualElement):IVisualElement
     {
         if (! (element is DisplayObject) )
             throw ArgumentError(element + " is not found in this Container");

-        return removeChild(element as DisplayObject);
+        return removeChild(element as DisplayObject) as IVisualElement;
     }

     /**
      *  @inheritDoc
      */
-    public function removeElementAt(index:int):Object
-    {
-        return removeChildAt(index);
+    public function removeElementAt(index:int):IVisualElement
+    {
+        return removeChildAt(index) as IVisualElement;
     }

     /**
      *  @inheritDoc
      */
-    public function setElementIndex(element:Object, index:int):void
+    public function setElementIndex(element:IVisualElement, index:int):void
     {
         if (! (element is DisplayObject) )
             throw ArgumentError(element + " is not found in this Container");
@@ -2589,7 +2588,7 @@
     /**
      *  @inheritDoc
      */
-    public function swapElements(element1:Object, element2:Object):void
+    public function swapElements(element1:IVisualElement, element2:IVisualElement):void
     {
         if (! (element1 is DisplayObject) )
             throw ArgumentError(element1 + " is not found in this Container");


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

Modified Paths:
--------------
2361 paths were modified

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

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

-/**
- *  Number of pixels between the component's left border
- *  and the left edge of its content area.
- *
The default value is 0.

- *
The default value for a Button control in the Halo theme is 10
- *     and in the Spark theme is 6.

- *
The default value for the ComboBox control is 5.

- *
The default value for the Form container is 16.

- *
The default value for the Tree control is 2.

- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
- */
 [Style(name="paddingLeft", type="Number", format="Length", inherit="no")]

 /**


Add addParameter method.

Add addParameter method.

--- actionscript-cafe/src/main/flex/org/servebox/cafe/core/command/AbstractStateCommand.as
+++ actionscript-cafe/src/main/flex/org/servebox/cafe/core/command/AbstractStateCommand.as
@@ -29,6 +29,10 @@

 		public function get parameters():Array
 		{
+			if ( _parameters == null )
+			{
+				_parameters = new Array();
+			}
 			return _parameters;
 		}

@@ -54,6 +58,12 @@
 			return paramToReturn;
 		}

+		public function addParameter( key : String , value : Object ) : void
+		{
+			var param : AbstractParameterObject = new AbstractParameterObject( key, value );
+			parameters.push( param );
+		}
+
 		public function execute( e : Event = null ) : void
 		{
 		}


For some reason, content loaded into another SWF does not know its URL
until after the INIT stage. I don't think this particularly matters for
parameters, since if the URL is unknown it almost certainly means that we
will not need to do the custom parameter loading anyway, but let's just
make sure.

This also knocks a "known issue" off my list, and opens up the possibility
of remixed items loading content packs from a relative URL.

git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@4646 542714f4-19e9-0310-aa3c-eee0fc999fb1

--- src/as/com/threerings/util/ParameterUtil.as
+++ src/as/com/threerings/util/ParameterUtil.as
@@ -1,6 +1,7 @@
 package com.threerings.util {

 import flash.display.DisplayObject;
+import flash.display.LoaderInfo;

 import flash.events.Event;
 import flash.events.IOErrorEvent;
@@ -27,19 +28,51 @@
      */
     public static function getParameters (disp :DisplayObject, callback :Function) :void
     {
-        var url :String = disp.root.loaderInfo.url;
-        // normal parameters
-        if (url == null || 0 != url.indexOf("file:")) {
-            callback(disp.root.loaderInfo.parameters);
+        return getInfoParameters(disp.root.loaderInfo, callback);
+    }
+
+    /**
+     * Get the parameters.
+     * Note: the callback function may be called prior to this method
+     * returning.
+     */
+    public static function getInfoParameters (loaderInfo :LoaderInfo, callback :Function) :void
+    {
+        // ensure that it's initialized...
+        if (loaderInfo.url == null) {
+            // Create a function to wait until the loaded object is initialized
+            var initWaiter :Function = function (event :Event) :void {
+                loaderInfo.removeEventListener(Event.INIT, initWaiter);
+                if (loaderInfo.url != null) {
+                    // re-call
+                    getInfoParameters(loaderInfo, callback);
+
+                } else {
+                    // url is still null, don't infinite loop
+                    logWarning("Unable to determine url, bailing");
+                    callback(loaderInfo.parameters);
+                }
+            }; // end- initWaiter function
+
+            // and wait.
+            loaderInfo.addEventListener(Event.INIT, initWaiter);
             return;
         }

-        // instead read from XML
+        // Simply use the parameters in the loaderInfo if we were not
+        // loaded from a file.
+        if (0 != loaderInfo.url.indexOf("file:")) {
+            callback(loaderInfo.parameters);
+            return;
+        }
+
+        // If we were loaded from a file, read our parameters from the
+        // parameters.xml file.
         var loader :URLLoader = new URLLoader();
         loader.addEventListener(IOErrorEvent.IO_ERROR,
             function (event :Event) :void {
-                trace("Error loading params: " + event);
-                callback(disp.root.loaderInfo.parameters);
+                logWarning("Error loading params: " + event);
+                callback(loaderInfo.parameters);
             }
         );
         loader.addEventListener(Event.COMPLETE,
@@ -54,5 +87,14 @@
         );
         loader.load(new URLRequest("file:parameters.xml"));
     }
+
+    /**
+     * Convenience function to log a warning, since we don't keep around
+     * a Log instance.
+     */
+    protected static function logWarning (msg :String) :void
+    {
+        Log.getLog(ParameterUtil).warning(msg);
+    }
 }
 }


Removed unused and commented out code. Fixed the ASDoc tags.

Change-Id: Id35c854b7d96a5691b07dff5a070239b78fe2d93

--- WeaveClient/src/weave/VisApplication.as
+++ WeaveClient/src/weave/VisApplication.as
@@ -163,48 +163,50 @@
 	use namespace weave_internal;

-	/**	VisApplication
-   	 *  @author abaumann
- 	 * 	A class that extends Application to provide a workspace to add tools, handle setting of settings from files, etc.
- 	 **/
+	/**
+ 	 * A class that extends Application to provide a workspace to add tools, handle setting of settings from files, etc.
+	 *
+	 * @author abaumann
+ 	 */
 	public class VisApplication extends Application implements ILinkableObject
 	{
 		MXClasses; // Referencing this allows all Flex classes to be dynamically created at runtime.
-

 		{ /** BEGIN STATIC CODE BLOCK **/
 			Weave.initialize(); // referencing this here causes all WeaveAPI implementations to be registered.
 		} /** END STATIC CODE BLOCK **/

-
-		// Optional menu bar (top of the screen) and task bar (bottom of the screen).  These would be used for an advanced analyst
-		// view to add new tools, manage windows, do advanced tasks, etc.
+		/**
+		 * Global VisApplication instance
+		 */
+		private static var _thisInstance:VisApplication = null;
+		/**
+		 * Gets the global VisApplication instance.
+		 */
+		public static function get instance():VisApplication
+		{
+			return _thisInstance;
+		}
+
+		/**
+		 * Optional menu bar (top of the screen) and task bar (bottom of the screen).  These would be used for an advanced analyst
+		 * view to add new tools, manage windows, do advanced tasks, etc.
+		 */
 		private var _weaveMenu:WeaveMenuBar = null;

-
-		// The XML file that defines the default layout of the page if no parameter is passed that specifies another file to use
+		/**
+		 * The XML file that defines the default layout of the page if no parameter is passed that specifies another file to use
+		 */
 		private var _configFileXML:XML = null;

-		// The array of data tables that are used in this application, one or more data tables are needed to visualize some data
-		private var _dataTableNames:Array = [];
-
-		// This will be used to incorporate branding into any weave view.  Linkable to the Open Indicators Consortium website.
+		/**
+		 * This will be used to incorporate branding into any weave view.  Linkable to the Open Indicators Consortium website.
+		 */
 		private var _oicLogoPane:OICLogoPane = new OICLogoPane();
-
-		//this sprite will be used to draw curved lines to show connections between two UIComponents
-		//private var _connectionsLayer:Sprite = new Sprite();
-
-		/**
-		 * static methods
-		 */
-
-		// global VisApplication instance
-		private static var _thisInstance:VisApplication = null;
-		public static function get instance():VisApplication
-		{
-			return _thisInstance;
-		}
-
+
+		/**
+		 * Constructor.
+		 */
 		public function VisApplication()
 		{
 			super();
@@ -222,8 +224,6 @@
 				height = parent.height;
 			}, true);

-//			this.frameRate = 60;
-
 			getCallbackCollection(WeaveAPI.ErrorManager).addGroupedCallback(this, ErrorLogPanel.openErrorLog);

 			Weave.root.childListCallbacks.addImmediateCallback(this, handleWeaveListChange);
@@ -249,8 +249,6 @@

 			Weave.properties.pageTitle.addGroupedCallback(this, updatePageTitle);

-
-
 			this.autoLayout = true;

 			// no scrolling -- need to make "workspaces" you can switch between
@@ -263,8 +261,6 @@
 			getCallbackCollection(Weave.root.getObject(Weave.SAVED_SELECTION_KEYSETS)).addGroupedCallback(this, setupSelectionsMenu);
 			getCallbackCollection(Weave.root.getObject(Weave.SAVED_SUBSETS_KEYFILTERS)).addGroupedCallback(this, setupSubsetsMenu);

-			//add event listerner on closing window to send a message to the sender LocalConnection close the connection
-			//addEventListener(Event.CLOSE,handleClosingEvent);
 			this.addEventListener(FlexEvent.APPLICATION_COMPLETE, setupConnection );

 			getCallbackCollection(Weave.properties).addGroupedCallback(this, setupVisMenuItems);
@@ -276,10 +272,11 @@
 			Weave.properties.enableAddDataSource.addGroupedCallback(this, setupContextMenu);
 			Weave.properties.enableEditDataSource.addGroupedCallback(this, setupContextMenu);
 			Weave.properties.backgroundColor.addGroupedCallback(this, handleBackgroundColorChange, true);
-//			Weave.properties.showViewBar.addGroupedCallback(this, addViewBar);
 		}

-		//This needed to be a function because FlashVars can't be fetched till the application loads.
+		/**
+		 * This needed to be a function because FlashVars can't be fetched till the application loads.
+		 */
 		private function setupConnection( e:FlexEvent ):void
 		{
 			getFlashVars();
@@ -317,17 +314,23 @@
 			VisApplication.instance.setStyle("backgroundGradientColors", [Weave.properties.backgroundColor.value, Weave.properties.backgroundColor.value]);
 		}

-		// This VBox holds the optional menu bar, visDesktop, and optional task bar (stacked vertically)
-		//private var _applicationVBox:VBox = new VBox();
-		// The desktop is the entire viewable area minus the space for the optional menu bar and taskbar
+		/**
+		 * The desktop is the entire viewable area minus the space for the optional menu bar and taskbar
+		 */
 		public var visDesktop:VisDesktop = null;
-
+
+		/**
+		 * The mapping for the flash vars.
+		 */
 		private var _flashVars:Object;
 		private function getFlashVarConnectionName():String
 		{
 			return _flashVars['connectionName'] as String;
 		}
-
+
+		/**
+		 * Gets the name of the config file.
+		 */
 		private function getFlashVarConfigFileName():String
 		{
 			if (_flashVars[CONFIG_FILE_FLASH_VAR_NAME] == undefined)
@@ -346,7 +349,10 @@
 				return StandardLib.asBoolean(_flashVars['editable'] as String);
 			return undefined;
 		}
-
+
+		/**
+		 * Gets the flash vars.
+		 */
 		private function getFlashVars():void
 		{
 			// We want FlashVars to take priority over the address bar parameters.
@@ -369,48 +375,6 @@

 		private function get _applicationVBox():Application { return application as Application; }

-//		[Embed("/weave/resources/images/panelButtonEnlarged.png")]
-//		public var panelButton:Class;
-//		[Embed("/weave/resources/images/panelButtonRed.png")]
-//		public var panelButtonRed:Class;
-//		[Embed("/weave/resources/images/panelButtonBlue.png")]
-//		public var panelButtonBlue:Class;
-//		private var buttonHBox:HBox= new HBox();
-//		private var _userPreferencesIcon:Button = new Button();
-//		private var _viewStack:ViewStack = new ViewStack();
-//		private var _viewTabBar:ViewBar = new ViewBar();
-//		private var _addTab:HBox = new HBox();
-
-//		private function addViewBar():void
-//		{
-//			_userPreferencesIcon.emphasized=true;
-//			_userPreferencesIcon.setStyle("skin", panelButton);
-//			_userPreferencesIcon.setStyle("overSkin", panelButtonBlue);
-//			_userPreferencesIcon.setStyle("paddingLeft", 1);
-//			_userPreferencesIcon.buttonMode=true;
-//			_userPreferencesIcon.move(5,0);
-//			_userPreferencesIcon.width=25;
-//			_userPreferencesIcon.height=23;
-//			_userPreferencesIcon.toolTip="Click to open the User Preferences Panel";
-//			_userPreferencesIcon.addEventListener(MouseEvent.CLICK, handleUserPreferencesIconClicked);
-//
-//			_viewTabBar.dataProvider=_viewStack;
-//			_viewTabBar.setStyle("horizontalGap", 2);
-//			_viewTabBar.setStyle("paddingTop", 5);
-//			_viewTabBar.setStyle("fontFamily", WeaveProperties.DEFAULT_FONT_FAMILY );
-//			_viewTabBar.setStyle("fontWeight", "bold");
-//			_viewTabBar.rotation = -90;
-//			_viewTabBar.move(0,this.height);
-//			_viewTabBar.height=30;
-//			_viewTabBar.width=this.height - _userPreferencesIcon.height;
-//
-//			addChild(_userPreferencesIcon);
-//			addChild(_viewTabBar);
-//			_viewTabBar.visible = _userPreferencesIcon.visible = Weave.properties.showViewBar.value ;
-//			_viewStack.x = (Weave.properties.showViewBar.value) ? 30 : 0 ;
-//
-//		}
-
 		private var _maxProgressBarValue:int = 0;
 		private var _progressBar:ProgressBar = new ProgressBar;
 		private function handleProgressIndicatorCounterChange():void
@@ -467,49 +431,11 @@
 		override protected function createChildren():void
 		{
 			super.createChildren();
-			/*var mapc:MapComponent = new MapComponent();
-			mapc.initialize();
-			mapc.validateNow();
-			mapc.extent = new MapExtent(90, -90, 180, -180);
-			mapc.provider = "OPEN_STREET_MAP";
-			mapc.enabled = true;
-			mapc.visible = true;
-			mapc.percentHeight = 100;
-			mapc.percentWidth = 50;
-			mapc.alpha = 1;
-			visDesktop.addChild(mapc);
-			*/

 			_applicationVBox.addChild(visDesktop);
 			visDesktop.percentWidth = 100;
 			visDesktop.percentHeight = 100;
-
-//			_applicationVBox.label="Admin View";
-//			_applicationVBox.percentWidth = 100;
-//			_applicationVBox.percentHeight = 100;
-//			_applicationVBox.setStyle("verticalGap", 1);
-//			_applicationVBox.setStyle("cornerRadius", 0);
-//			addChild(_viewStack);
-//
-//			_applicationHBox.percentWidth = 100;
-//			_applicationHBox.percentHeight = 100;
-//			_applicationHBox.setStyle("verticalGap", 0);
-//			_applicationHBox.setStyle("cornerRadius", 0);
-//
-//			_viewStack.percentHeight=100;
-//			_viewStack.percentWidth=100;
-//
-//			_addTab.label="+";
-//			_viewStack.addChild(_addTab);
-//			_applicationVBox.addChild(_applicationHBox);
-//			_applicationHBox.addChild(visDesktop);
-//			_viewStack.addChild(_applicationVBox);
-//
-//			_viewStack.selectedChild=_applicationVBox;
-//			addViewBar();
-//			_viewTabBar.addEventListener(ItemClickEvent.ITEM_CLICK, handleTabSelected);
-//			addEventListener(ResizeEvent.RESIZE,handleTabBarResize);
-
+
 			// Code for selection indicator
 			getCallbackCollection(selectionKeySet).addGroupedCallback(this, handleSelectionChange, true);
 			_selectionIndicatorText.setStyle("color", 0xFFFFFF);
@@ -533,63 +459,10 @@
 			_progressBar.minHeight = 16;
 			_progressBar.minWidth = 135; // constant

-
-
-			/*visDesktop.width =  this.width;
-			visDesktop.height = this.height;*/
-
-//			Weave.properties.fontFamily.value = getStyle("fontFamily");
-//			Weave.properties.fontSize.value = getStyle("fontSize"); //default fontSize 10
 			Weave.properties.backgroundColor.value = getStyle("backgroundColor");

 			visDesktop.addEventListener(ChildExistenceChangedEvent.CHILD_REMOVE, function(e:Event):void { setupWindowMenu() } );
-
-/*
-			var prevTab:int = 0;
-			var bar:TabBar = new TabBar();
-			var states:Array = [null,null,null];
-			bar.dataProvider = ['a','b','c'];
-			bar.percentWidth = 100;
-			var tabChange:Function = function(newTab:int):void{
-				states[prevTab] = Weave.root.getSessionState();
-				Weave.root.setSessionState(states[newTab] ? states[newTab] : states[prevTab], true);
-				prevTab = newTab;
-			};
-			BindingUtils.bindSetter(tabChange, bar, 'selectedIndex');
-			addChildAt(bar, 0);
-//*/
-
-			//drawConnection();
-
 		}
-
-
-//		private function handleTabBarResize(event:ResizeEvent):void
-//		{
-//			_viewTabBar.move(0,this.height);
-//			_viewTabBar.width=this.height - _userPreferencesIcon.height;
-//		}
-//		private function handleTabSelected(event:ItemClickEvent):void
-//		{
-//			var _newChild:HBox = new HBox();
-//			if (event.label == "+") _viewStack.addChild(_newChild);
-//			_newChild.label="View "+(_viewStack.numChildren-1);
-//			_viewTabBar.width=this.height - _userPreferencesIcon.height;
-//		}
-//		private function handleUserPreferencesIconClicked(event:MouseEvent):void
-//		{
-//			openGlobalUIPreferencesPanel();
-//		}
-//		private var _adminMode:Boolean = false;
-//		public function get adminMode():Boolean
-//		{
-//			return _adminMode;
-//		}
-//		public function set adminMode(value:Boolean):void
-//		{
-//			//disable admin features:
-//			_adminMode = value;
-//		}

 		private var adminService:LocalAsyncService = null;

@@ -624,8 +497,6 @@
 			fileSaveDialogBox.message = "Save current Session State to server?";
 			fileSaveDialogBox.addEventListener(AlertTextBoxEvent.BUTTON_CLICKED, handleFileSaveClose);
 			PopUpManager.centerPopUp(fileSaveDialogBox);
-			//fileSaveDialogBox.fileNameTextBox.text = getClientConfigFileName();
-			//fileSaveDialogBox.yes = handleOverwriteAlert;
 		}

 		private function handleFileSaveClose(event:AlertTextBoxEvent):void
@@ -647,7 +518,6 @@
 			Weave.properties.enableSessionMenu.value = false;
 			Weave.properties.enableSessionEdit.value = false;

-			//var clientConfigFileName:String = getClientConfigFileName();
 			var token:AsyncToken = adminService.invokeAsyncMethod(
 					'saveWeaveFile',
 					[Weave.getSessionStateXML().toXMLString(), fileName, true]
@@ -692,8 +562,6 @@

 					_applicationVBox.addChildAt(_weaveMenu, 0);

-					//if (visDesktop == _oicLogoPane.parent)
-					//	visDesktop.removeChild(_oicLogoPane);
 					if (_applicationVBox == _oicLogoPane.parent)
 						_applicationVBox.removeChild(_oicLogoPane);
 				}
@@ -712,10 +580,6 @@

 		   			_weaveMenu = null;

-					// TODO: the OIC logo pane needs to be better worked out -- it cannot interfere with tool functionality or be in the way...
-					//_oicLogoPane.setStyle("right", 0);
-					//_oicLogoPane.setStyle("top", 0);
-					//addChildAt(_oicLogoPane, this.numChildren);
 					_applicationVBox.addChildAt(_oicLogoPane, _applicationVBox.numChildren);
 					_applicationVBox.setStyle("horizontalAlign", "right");
 				}
@@ -773,31 +637,12 @@
 						function():Boolean { return Weave.properties.enableRefreshHierarchies.value }
 					)
 				);
-//				_weaveMenu.addMenuItemToMenu(_dataMenu,
-//					new WeaveMenuItem(
-//						"Import new dataset ...",
-//						function ():void {
-//							var loader:DatasetLoader = createGlobalObject(DatasetLoader) as DatasetLoader;
-//							loader.browseForFiles();
-//						},
-//						null,
-//						function():Boolean { return Weave.properties.enableNewDataset.value; }
-//					)
-//				);
+
 				if(Weave.properties.enableAddDataSource.value)
 					_weaveMenu.addMenuItemToMenu(_dataMenu,new WeaveMenuItem("Add New Datasource",AddDataSourceComponent.showAsPopup));

 				if(Weave.properties.enableEditDataSource.value)
 					_weaveMenu.addMenuItemToMenu(_dataMenu,new WeaveMenuItem("Edit Datasources",EditDataSourceComponent.showAsPopup));
-
-
-
-				/*
-				if (Weave.properties.enableAddWeaveDataSource.value)
-					_weaveMenu.addMenuItemToMenu(_importMenu, new WeaveMenuItem("Add WeaveDataSource", null, createGlobalObject, [WeaveDataSource, "WeaveDataSource"], false));
-				if (Weave.properties.enableAddGrailsDataSource.value)
-        	  		_weaveMenu.addMenuItemToMenu(_importMenu, new WeaveMenuItem("Add GrailsDataSource", null, createGlobalObject, [GrailsDataSource, "GrailsDataSource"], false));
-				*/
 			}

@@ -806,13 +651,11 @@
 				_exportMenu = _weaveMenu.addMenuToMenuBar("Export", false);
 				if (Weave.properties.enableExportApplicationScreenshot.value)
 					_weaveMenu.addMenuItemToMenu(_exportMenu, new WeaveMenuItem("Save or Print Application Screenshot...", printOrExportImage, [this]));
-//				_visMenu.addMenuItemToMenu(_exportMenu, new VisMenuItem("Data Table...", null, createGlobalObject, [DataTableTool]));
 			}

 			if (Weave.properties.enableDynamicTools.value)
 			{
 				_toolsMenu = _weaveMenu.addMenuToMenuBar("Tools", false);
-				//_visMenu.addMenuItemToMenu(_toolsMenu, new VisMenuItem("Equation Editor", null, createGlobalObject, [EquationEditor]));

 				createToolMenuItem(Weave.properties.showColorController, "Show Color Controller", ColorBinEditor.openDefaultEditor);
 				createToolMenuItem(Weave.properties.showProbeToolTipEditor, "Show Probe ToolTip Editor", ProbeToolTipEditor.openDefaultEditor );
@@ -845,13 +688,6 @@
 				createToolMenuItem(Weave.properties.enableAddScatterplot, "Add Scatterplot", createGlobalObject, [ScatterPlotTool]);
 				createToolMenuItem(Weave.properties.enableAddThermometerTool, "Add Thermometer Tool", createGlobalObject, [ThermometerTool]);
 				createToolMenuItem(Weave.properties.enableAddTimeSliderTool, "Add Time Slider Tool", createGlobalObject, [TimeSliderTool]);
-
-//				_weaveMenu.addSeparatorToMenu(_toolsMenu);
-//
-//				createToolMenuItem(Weave.properties.enableAddWordle, "Add Wordle", createGlobalObject, [WeaveWordleTool]);
-//				createToolMenuItem(Weave.properties.enableAddStickFigurePlot, "Add Stick Figure Plot", createGlobalObject, [StickFigureGlyphTool]);
-//				createToolMenuItem(Weave.properties.enableAddSP2, "Add SP2", createGlobalObject, [SP2]);
-
 			}

 			if (Weave.properties.enableSelectionsMenu.value)
@@ -910,48 +746,12 @@
 			if (Weave.properties.enableAboutMenu.value)
 			{
 				_aboutMenu = _weaveMenu.addMenuToMenuBar("About", false);
-				//_weaveMenu.addMenuItemToMenu(_aboutMenu, new WeaveMenuItem("Help", function():void { HelpPanel.showAsPopup(); }));
-
-				//_weaveMenu.addSeparatorToMenu(_aboutMenu);

 				_weaveMenu.addMenuItemToMenu(_aboutMenu, new WeaveMenuItem("Weave Version: " + Weave.properties.version.value));

 				_weaveMenu.addMenuItemToMenu(_aboutMenu, new WeaveMenuItem("Visit http://www.openindicators.org", function ():void {
 					navigateToURL(new URLRequest("http://www.openindicators.org"), "_blank");
 				}));
-
-
-
-				/*// name of XML defaults file:
-				_weaveMenu.addMenuItemToMenu(_aboutMenu, new WeaveMenuItem("Session State Used:"), true );
-				_weaveMenu.addMenuItemToMenu(_aboutMenu, new WeaveMenuItem("", function():String {
-																					if (_defaultsFilename == null)
-																						return "\tNo file selected.";
-																					return "\t"+_defaultsFilename} ) );
-
-				// name of each data source used:
-				_weaveMenu.addMenuItemToMenu(_aboutMenu, new WeaveMenuItem("Data Source(s) Used:"), true );
-				_weaveMenu.addMenuItemToMenu(_aboutMenu, new WeaveMenuItem("", function ():String {
-					if (Weave.getNames(IDataSource).length == 0)
-						return "\tNo data sources specified.";
-					return "\t"+Weave.getNames(IDataSource).toString();
-				} ) );*/
-				// name of each shape layer used:
-				/*_visMenu.addMenuItemToMenu(_aboutMenu, new VisMenuItem("Shape Data Used in Maps:"), true );
-				_visMenu.addMenuItemToMenu(_aboutMenu, new VisMenuItem("", function ():String {
-						var shapeNames:Array = [];
-						for (var i:int = 0; i < visDesktop.numChildren; i++)
-						{
-							var mapTool:MapTool = visDesktop.getChildAt(i) as MapTool;
-
-							//if (mapTool)
-							//	shapeNames.push(mapTool.
-						}
-
-						return null;
-					}
-
-				) );*/
 			}
 		}

@@ -989,9 +789,9 @@
 		private var _alreadyLoaded:Boolean = false;
 		private var _configFileName:String = null;
 		/**
-		 * loadPage():void
-		 * @author abaumann
-		 * This function will load all the tools, settings, etc
+		 * This function will load all the tools, settings, etc
+		 *
+ 		 * @author abaumann
 		 */
 		private function loadPage():void
 		{
@@ -1256,10 +1056,7 @@
 			};
 			_weaveMenu.addMenuItemToMenu(_windowMenu, new WeaveMenuItem(label, click, null, Weave.properties.enableGoFullscreen.value));
 			_weaveMenu.addSeparatorToMenu(_windowMenu);
-			//_visMenu.addSeparatorToMenu(windowMenu);
-			//_visMenu.addMenuItemToMenu("Window", new VisMenuItem("[submenu] Load Window Layout", null));
-			//_visMenu.addMenuItemToMenu("Window", new VisMenuItem("[submenu] Save Window Layout", null));
-
+
 			var panels:Array = Weave.root.getObjects(DraggablePanel);
 			for (var i:int = 0; i < panels.length; i++)
 			{
@@ -1312,7 +1109,9 @@
 			return newToolMenuItem;
 		}

-		// Handle a file fault when trying to download the config file -- for now, this just pops up a window showing that the file could not be downloaded
+		/**
+		 * Handle a file fault when trying to download the config file -- for now, this just pops up a window showing that the file could not be downloaded.
+		 */
 		private function handleConfigFileFault(event:FaultEvent, token:Object = null):void
 		{
 			//if connection name exists then user might be creating a new config file.
@@ -1323,9 +1122,10 @@
 		}

 		/**
-		 * @author kmanohar
-		 * <br/>This function arranges all DraggablePanels along a diagonal
-		 */
+		 * This function arranges all DraggablePanels along a diagonal
+		 *
+		 * @author kmanohar
+		 */
 		private function cascadeWindows():void
 		{
 			var panels:Array = getWindowsOnStage();
@@ -1344,9 +1144,11 @@
 		}

 		/**
+		 * This function tiles all the DraggablePanels on stage
+		 *
+		 * @TODO: create a ui for this so the user can specify how to divide the stage
+		 *
 		 * @author kmanohar
-		 * <br/> This function tiles all the DraggablePanels on stage
-		 * <br/> TO DO: create a ui for this so the user can specify how to divide the stage
 		 */
 		private function tileWindows():void
 		{
@@ -1392,8 +1194,9 @@
 		}

 		/**
-		 * @author kmanohar
 		 * @return an Array containing all DraggablePanels on stage that are not minimized
+		 *
+ 		 * @author kmanohar
 		 */
 		private function getWindowsOnStage():Array
 		{
@@ -1407,14 +1210,6 @@
 			}
 			return panelsOnStage;
 		}
-
-		// The tool "grid" (rows and columns) are used in a non-dynamic view -- The _toolColumnSpace is a vertical box that
-		// holds all the columns of tools
-		private var _toolColumnSpace:VDividedBox = null;
-
-		// This array keeps track of the tools that are active in the display
-		private var _activeTools:Array = [];
-

 		/**
 		 * This function handles parsing the config file once it has downloaded.
@@ -1499,14 +1294,14 @@
 		}

-		/** BEGIN CONTEXT MENU CODE **/
 		private var _printToolMenuItem:ContextMenuItem = null;
-
 		/**
-		 * setupContextMenu():void
-		 * @author abaumann
 		 * This function creates the context menu for this application by getting context menus from each
-		 * class that defines them -- TODO: generalize this better...
+		 * class that defines them
+		 *
+		 * @TODO generalize this better...
+		 *
+		 * @author abaumann
 		 */
 		private function setupContextMenu():void
 		{
@@ -1608,10 +1403,10 @@
 		}

 		/**
-		 *  Static methods to encapsulate the list of reports within the ObjectRepository
-		 *  addReportsToMenu loops through the reports in the Object Repository and
-		 *     adds them to the tools menu
-		 * */
+		 * Static methods to encapsulate the list of reports within the ObjectRepository
+		 * addReportsToMenu loops through the reports in the Object Repository and
+		 * adds them to the tools menu
+		 */
 		public static function getReportsMenuItems():Array
 		{
 			var reportsMenuItems:Array = [];
@@ -1625,7 +1420,6 @@
 		}

 		private var _sessionFileLoader:FileReference = null;
-		private var _sessionFileSaver:FileReference = null;
 		private function handleImportSessionState():void
 		{
 			if (_sessionFileLoader == null)
@@ -1646,17 +1440,6 @@

 			exportSessionStatePanel = PopUpManager.createPopUp(this,ExportSessionStatePanel,false) as ExportSessionStatePanel;
 			PopUpManager.centerPopUp(exportSessionStatePanel);
-
-//			if (_sessionFileSaver == null)
-//			{
-//				_sessionFileSaver = new FileReference();
-//			}
-//
-//			// Create a date that we can append to the end of each file to make them unique
-//   			var date:Date = new Date();
-//   			var dateString:String = date.fullYear +"."+ date.month +"."+ date.day +" "+ date.time;
-//
-//   			_sessionFileSaver.save(Weave.getSessionStateXML(), "weave session state " + dateString + ".xml");
 		}

 		public function printOrExportImage(component:UIComponent):void
@@ -1681,14 +1464,18 @@
 			if (_weaveMenu)  _weaveMenu.visible    = visMenuVisible;
 			if (VisTaskbar.instance) VisTaskbar.instance.visible = visTaskbarVisible;
 		}
-
+
+		/**
+		 * Update the page title.
+		 */
 		public function updatePageTitle():void
 		{
 			ExternalInterface.call("setTitle", Weave.properties.pageTitle.value);
 		}

-
-		// Add a context menu item that goes to an associated url in a new browser window/tab
+		/**
+		 * Add a context menu item that goes to an associated url in a new browser window/tab
+		 */
 		private function addLinkContextMenuItem(text:String, url:String, separatorBefore:Boolean=false):void
 		{
 			CustomContextMenuManager.createAndAddMenuItemToDestination(text,
@@ -1697,8 +1484,9 @@
                                                               "linkMenuItems");
 		}

-
-		// TODO: This should be removed -- ideally VisApplication has no context menu items itself, only other classes do
+		/**
+		 * @TODO: This should be removed -- ideally VisApplication has no context menu items itself, only other classes do
+		 */
 		protected function handleContextMenuItemSelect(event:ContextMenuEvent):void
 		{
 			if (event.currentTarget == _printToolMenuItem)
@@ -1707,89 +1495,25 @@
    			}

 		}
-
-
-		/** END CONTEXT MENU CODE **/
-
-
-		public function drawConnection(fromUI:UIComponent,toUI:UIComponent=null,clear:Boolean=true):void
-		{
-			var fromPoint:Point = fromUI.localToGlobal(new Point(0,0));
-			var toPoint:Point = new Point();
-
-			if (toUI)
-				toPoint = toUI.localToGlobal(new Point(0,0));
-			else{
-				var toPointX:Number = 0;
-				var toPointY:Number = 0;
-
-				if (fromPoint.y <= mouseY)
-					toPointY = mouseY-12;
-				else
-					toPointY = mouseY+12;
-
-				if (fromPoint.x <= mouseX)
-					toPointX= mouseX-12;
-				else
-					toPointX= mouseX+12;
-
-				toPoint = new Point(toPointX,toPointY);
-			}
-
-
-			// start curve anchor at halfway point between origin and destination
-			var curveAnchor:Point = new Point(
-				(fromPoint.x + fromPoint.x)/2,
-				(toPoint.y + toPoint.y)/2);
-
-//			VisApplication.instance.rawChildren.addChild(_connectionsLayer);
-//
-//			if (clear)
-//				_connectionsLayer.graphics.clear();
-//
-//			_connectionsLayer.graphics.lineStyle(4,0x8AA37B,1);
-//
-//			//DrawUtils.drawCurvedLine(_connectionsLayer.graphics,fromPoint.x,fromPoint.y,toPoint.x,toPoint.y,2);
-//			_connectionsLayer.graphics.moveTo(fromPoint.x,fromPoint.y);
-//			_connectionsLayer.graphics.curveTo(curveAnchor.x,curveAnchor.y,toPoint.x,toPoint.y);
-
-		}
-
-//		public function drawConnections(fromUI:UIComponent,toUIs:Array):void
+
+//		private function testColumn(column:IAttributeColumn):void
 //		{
-//			_connectionsLayer.graphics.clear();
-//
-//			for each(var ui:UIComponent in toUIs)
+//			var key:IQualifiedKey;
+//			var keys:Array = column ? column.keys : [];
+//			trace(getQualifiedClassName(column), column);
+//			trace("keys: "+keys);
+//			for each (key in keys)
 //			{
-//				drawConnection(fromUI,ui,false);
+//				var debug:String = "key = "+key.keyType+'#'+key.localName+":";
+//				for each (var type:Class in [null, Number, String, Boolean])
+//				{
+//					var value:* = column.getValueFromKey(key, type);
+//					var typeStr:String = type ? String(type) : '('+getQualifiedClassName(value)+')';
+//					debug += "\n\t"+typeStr+":\t"+value;
+//				}
+//				trace(debug);
 //			}
-//
 //		}
-
-//		public function removeConnections():void
-//		{
-//			_connectionsLayer.graphics.clear();
-//		}
-
-
-		private function testColumn(column:IAttributeColumn):void
-		{
-			var key:IQualifiedKey;
-			var keys:Array = column ? column.keys : [];
-			trace(getQualifiedClassName(column), column);
-			trace("keys: "+keys);
-			for each (key in keys)
-			{
-				var debug:String = "key = "+key.keyType+'#'+key.localName+":";
-				for each (var type:Class in [null, Number, String, Boolean])
-				{
-					var value:* = column.getValueFromKey(key, type);
-					var typeStr:String = type ? String(type) : '('+getQualifiedClassName(value)+')';
-					debug += "\n\t"+typeStr+":\t"+value;
-				}
-				trace(debug);
-			}
-		}

 		private function trace(...args):void
 		{


Added newline at end of file

Added newline at end of file

--- src/com/axis/ErrorManager.as
+++ src/com/axis/ErrorManager.as
@@ -120,4 +120,4 @@
       return errorString;
     }
   }
-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 1218
Author:   jimurphy@adobe.com
Date:     2008-04-15T16:09:32.174552Z

Log Message:
-----------
merge 3.0.x[1069:1202] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/codec/PNGEncoder.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/framework/src/mx/graphics/codec/JPEGEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SchemaTypeRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/codec/IImageEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectProxy.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/xml/IXMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/SOAPFault.as</path>
<path kind="file" action="M">/flex/sdk/trunk/build.xml</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/rpc/src/mx/rpc/soap/WebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.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/skins/halo/HaloColors.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/SliderThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RoundedRectangle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLEncoder.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/rpc/src/mx/rpc/soap/SOAPHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/mxml/WebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLBinding.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@1261225 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/graphics/codec/IImageEncoder.as
+++ frameworks/projects/framework/src/mx/graphics/codec/IImageEncoder.as
@@ -52,7 +52,7 @@
      *
      *  @param bitmapData The input BitmapData object.
      *
-     *  @returns A ByteArray object containing encoded image data.
+     *  @return Returns a ByteArray object containing encoded image data.
      */
     function encode(bitmapData:BitmapData):ByteArray;

@@ -77,10 +77,10 @@
      *  @param transparent If false,
 	 *  alpha channel information is ignored.
      *
-     *  @returns A ByteArray object containing encoded image data.
+     *  @return Returns a ByteArray object containing encoded image data.
      */
     function encodeByteArray(byteArray:ByteArray, width:int, height:int,
 							 transparent:Boolean = true):ByteArray;
 }

-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 18747
Author:   rfrishbe@adobe.com
Date:     2010-11-19T21:49:23.290523Z

Log Message:
-----------
A few MobileSkin changes

1) Added new protected methods to MobileSkin (getElementPreferredWidth(), getElementPreferredHeight())
2) Renamed MobileSkin resizePart(), positionPart() to resizeElement, positionElement().  This matches MobileItemRenderer but still needs to be PARBed
3) Fixed up multi-line resize in TextAreaSkin

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as
@@ -211,8 +211,8 @@
      */
     protected function layoutBorder(bgImg:DisplayObject, unscaledWidth:Number, unscaledHeight:Number):void
     {
-        resizePart(bgImg, unscaledWidth, unscaledHeight);
-        positionPart(bgImg, 0, 0);
+        resizeElement(bgImg, unscaledWidth, unscaledHeight);
+        positionElement(bgImg, 0, 0);
     }

     override protected function drawChromeColor(chromeColorGraphics:Graphics, unscaledWidth:Number, unscaledHeight:Number):void


Transferred from the Adobe Open Source Subversion Repository

Revision: 3363
Author:   gruehle@adobe.com
Date:     2008-09-25T18:58:56.341887Z

Log Message:
-----------
Fix performance problem when changing multiple DisplayObject-dependent properties. The call to assignDisplayObjects() is now batched up into the next commitProperties() call.

Bugs: SDK-17033
Reviewer: Deepa

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -682,7 +682,8 @@
         super.elementLayerChanged(e);

         // One of our children have told us they might need a displayObject
-        assignDisplayObjects();
+        needsDisplayObjectAssignment = true;
+        invalidateProperties();
     }

     protected var maskElements:Dictionary;