Transferred from the Adobe Open Source Subversion Repository

Revision: 17632
Author:   cframpto@adobe.com
Date:     2010-09-09T17:21:50.205953Z

Log Message:
-----------
CHB and DataGrid - remove unnecessay code

DataGroup - fix RTE in removeRendererAt which can happen if the renderer has already been recycled

Grid - fix interaction of generatedColumns with typicalItem and/or dataProvider changing, fix interaction of variableRowHeight and rowHeight, selection methods need to force validation before they can be done since pending dataProvider or column changes will reset the selection, update CHB when dp changes

GridDimension - add comment

QE notes:
Doc notes:
Bugs: sDK-27691, SDK-27393, SDK-27592, SDK-27590 SDK-27529
Reviewer:  Hans
Tests run: many many cyclones
Is noteworthy for integration:

Modified Paths:
--------------
<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/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridDimensions.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ColumnHeaderBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -22,6 +22,7 @@
 import mx.core.IFactory;
 import mx.core.IVisualElement;
 import mx.core.UIComponent;
+import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
 import mx.events.CollectionEvent;
 import mx.events.CollectionEventKind;
@@ -228,6 +229,11 @@
      */
     private var dragInProgress:Boolean = false;

+    /**
+     *  @private
+     *  True if the columns were generated rather than explicitly set.
+     */
+    private var generatedColumns:Boolean = false;

     // TODO(hmuller): the following public variables are temporary

@@ -311,10 +317,13 @@
     //----------------------------------
     //  anchorColumnIndex
     //----------------------------------
-
+
     [Bindable("anchorColumnIndexChanged")]

     private var _anchorColumnIndex:int = 0;
+
+    // True if either anchorColumnIndex or anchorRowIndex changes.
+    private var anchorChanged:Boolean = false;

     /**
      *  The column index of the "anchor" for the next shift selection.
@@ -351,6 +360,10 @@
         }

         _anchorColumnIndex = value;
+
+        anchorChanged = true;
+        invalidateProperties();
+
         dispatchChangeEvent("anchorColumnIndexChanged");
     }

@@ -394,6 +407,10 @@
             return;

         _anchorRowIndex = value;
+
+        anchorChanged = true;
+        invalidateProperties();
+
         dispatchChangeEvent("anchorRowIndexChanged");
     }

@@ -750,6 +767,7 @@
         }

         columnsChanged = true;
+        generatedColumns = false;
         invalidateProperties();
         invalidateSize();
         invalidateDisplayList();
@@ -768,7 +786,7 @@

     /**
      *  @private
-     *  This method is similar to mx.controls.DataGrid/generateCols().
+     *  This method is similar to mx.controls.DataGrid/ls().
      */
     private function generateColumns():IList
     {
@@ -838,7 +856,7 @@
         const newDataProvider:IList = dataProvider;
         if (newDataProvider)
             newDataProvider.addEventListener(CollectionEvent.COLLECTION_CHANGE, dataProvider_collectionChangeHandler, false, 0, true);
-
+
         dataProviderChanged = true;
         invalidateProperties();
         invalidateSize();
@@ -1358,11 +1376,18 @@
     //  rowHeight
     //----------------------------------

-    [Inspectable(category="General", minValue="0.0")]
-
+    /**
+     *  @private
+     */
+    private var _rowHeight:Number = NaN;
+
+    /**
+     *  @private
+     */
+    private var rowHeightChanged:Boolean;
+
+    [Inspectable(category="General", minValue="0.0")]
     [Bindable("rowBackgroundChanged")]
-
-    private var _rowHeight:Number = NaN;

     /**
      *  If variableRowHeight is false, then
@@ -1394,13 +1419,9 @@
             return;

         _rowHeight = value;
-        if (variableRowHeight)
-            gridDimensions.defaultRowHeight = value;
-        else
-            gridDimensions.fixedRowHeight = value;
-
-        invalidateSize();
-        invalidateDisplayList();
+        rowHeightChanged = true;
+        invalidateProperties();
+
         dispatchChangeEvent("rowHeightChanged");
     }

@@ -1936,8 +1957,7 @@
         if (selectionMode != value) // value wasn't a valid GridSelectionMode constant
             return;

-        anchorRowIndex = 0;
-        anchorColumnIndex = 0;
+        initializeAnchorPosition();
         if (!requireSelection)
             initializeCaretPosition();

@@ -1991,7 +2011,15 @@
     //  typicalItem
     //----------------------------------

+    /**
+     *  @private
+     */
     private var _typicalItem:Object = null;
+
+    /**
+     *  @private
+     */
+    private var typicalItemChanged:Boolean = false;

     [Bindable("typicalItemChanged")]

@@ -2026,8 +2054,11 @@
         _typicalItem = value;
         gridDimensions.clearTypicalCellWidthsAndHeights();

+        typicalItemChanged = true;
+        invalidateProperties();
         invalidateSize();
         invalidateDisplayList();
+
         dispatchChangeEvent("typicalItemChanged");
     }

@@ -2035,7 +2066,15 @@
     //  variableRowHeight
     //----------------------------------

+    /**
+     *  @private
+     */
     private var _variableRowHeight:Boolean = true;
+
+    /**
+     *  @private
+     */
+    private var variableRowHeightChanged:Boolean = false;

     [Bindable("variableRowHeightChanged")]

@@ -2064,12 +2103,10 @@
         if (value == variableRowHeight)
             return;

-        _variableRowHeight = value;
-
-        clearGridLayoutCache(false);
-
-        invalidateSize();
-        invalidateDisplayList();
+        _variableRowHeight = value;
+        variableRowHeightChanged = true;
+        invalidateProperties();
+
         dispatchChangeEvent("variableRowHeightChanged");
     }

@@ -2123,6 +2160,11 @@
      */
     public function selectAll():Boolean
     {
+        // Need to apply pending dataProvider and column changes so selection
+        // isn't reset after it is set here.
+        if (invalidatePropertiesFlag)
+            UIComponentGlobals.layoutManager.validateClient(this, false);
+
         const selectionChanged:Boolean = gridSelection.selectAll();
         if (selectionChanged)
         {
@@ -2149,6 +2191,11 @@
      */
     public function clearSelection():Boolean
     {
+        // Need to apply pending dataProvider and column changes so selection
+        // isn't reset after it is set here.
+        if (invalidatePropertiesFlag)
+            UIComponentGlobals.layoutManager.validateClient(this, false);
+
         const selectionChanged:Boolean = gridSelection.removeAll();
         if (selectionChanged)
         {
@@ -2158,8 +2205,7 @@

         // Remove caret and reset the anchor.
         initializeCaretPosition();
-        anchorRowIndex = 0;
-        anchorColumnIndex = 0;
+        initializeAnchorPosition();

         return selectionChanged;
     }
@@ -2239,6 +2285,11 @@
      */
     public function setSelectedIndex(rowIndex:int):Boolean
     {
+        // Need to apply pending dataProvider and column changes so selection
+        // isn't reset after it is set here.
+        if (invalidatePropertiesFlag)
+            UIComponentGlobals.layoutManager.validateClient(this, false);
+
         const selectionChanged:Boolean = gridSelection.setRow(rowIndex);
         if (selectionChanged)
         {
@@ -2277,6 +2328,11 @@
      */
     public function addSelectedIndex(rowIndex:int):Boolean
     {
+        // Need to apply pending dataProvider and column changes so selection
+        // isn't reset after it is set here.
+        if (invalidatePropertiesFlag)
+            UIComponentGlobals.layoutManager.validateClient(this, false);
+
         const selectionChanged:Boolean = gridSelection.addRow(rowIndex);
         if (selectionChanged)
         {
@@ -2316,6 +2372,11 @@
      */
     public function removeSelectedIndex(rowIndex:int):Boolean
     {
+        // Need to apply pending dataProvider and column changes so selection
+        // isn't reset after it is set here.
+        if (invalidatePropertiesFlag)
+            UIComponentGlobals.layoutManager.validateClient(this, false);
+
         const selectionChanged:Boolean = gridSelection.removeRow(rowIndex);
         if (selectionChanged)
         {
@@ -2354,6 +2415,11 @@
      */
     public function selectIndices(rowIndex:int, rowCount:int):Boolean
     {
+        // Need to apply pending dataProvider and column changes so selection
+        // isn't reset after it is set here.
+        if (invalidatePropertiesFlag)
+            UIComponentGlobals.layoutManager.validateClient(this, false);
+
         const selectionChanged:Boolean =
             gridSelection.setRows(rowIndex, rowCount);
         if (selectionChanged)
@@ -2469,6 +2535,11 @@
      */
     public function setSelectedCell(rowIndex:int, columnIndex:int):Boolean
     {
+        // Need to apply pending dataProvider and column changes so selection
+        // isn't reset after it is set here.
+        if (invalidatePropertiesFlag)
+            UIComponentGlobals.layoutManager.validateClient(this, false);
+
         const selectionChanged:Boolean = gridSelection.setCell(rowIndex, columnIndex);
         if (selectionChanged)
         {
@@ -2514,6 +2585,11 @@
      */
     public function addSelectedCell(rowIndex:int, columnIndex:int):Boolean
     {
+        // Need to apply pending dataProvider and column changes so selection
+        // isn't reset after it is set here.
+        if (invalidatePropertiesFlag)
+            UIComponentGlobals.layoutManager.validateClient(this, false);
+
         const selectionChanged:Boolean = gridSelection.addCell(rowIndex, columnIndex);
         if (selectionChanged)
         {
@@ -2559,6 +2635,11 @@
      */
     public function removeSelectedCell(rowIndex:int, columnIndex:int):Boolean
     {
+        // Need to apply pending dataProvider and column changes so selection
+        // isn't reset after it is set here.
+        if (invalidatePropertiesFlag)
+            UIComponentGlobals.layoutManager.validateClient(this, false);
+
         const selectionChanged:Boolean = gridSelection.removeCell(rowIndex, columnIndex);
         if (selectionChanged)
         {
@@ -2614,6 +2695,11 @@
     public function selectCellRegion(rowIndex:int, columnIndex:int,
                                      rowCount:uint, columnCount:uint):Boolean
     {
+        // Need to apply pending dataProvider and column changes so selection
+        // isn't reset after it is set here.
+        if (invalidatePropertiesFlag)
+            UIComponentGlobals.layoutManager.validateClient(this, false);
+
         const selectionChanged:Boolean = gridSelection.setCellRegion(
             rowIndex, columnIndex,
             rowCount, columnCount);
@@ -2873,8 +2959,36 @@
      */
     override protected function commitProperties():void
     {
-        if (!columns && (typicalItem || (dataProvider && (dataProvider.length > 0))))
+        // rowHeight and variableRowHeight can be set in either order
+        if (variableRowHeightChanged || rowHeightChanged)
+        {
+            if (rowHeightChanged)
+                gridDimensions.defaultRowHeight = _rowHeight;
+            gridDimensions.fixedRowHeight = variableRowHeight ? NaN : _rowHeight;
+
+            if ((!variableRowHeight && rowHeightChanged) || variableRowHeightChanged)
+            {
+                clearGridLayoutCache(false);
+                invalidateSize();
+                invalidateDisplayList();
+            }
+
+            rowHeightChanged = false;
+            variableRowHeightChanged = false;
+        }
+
+        // Try to generate columns if there aren't any or there are generated
+        // ones which need to be regenerated because the typicalItem or
+        // dataProvider changed.
+        if (!columns || (generatedColumns &&
+            (typicalItemChanged || (!typicalItem && dataProviderChanged))))
+        {
+            const oldColumns:IList = columns;
             columns = generateColumns();
+            generatedColumns = (columns != null);
+            columnsChanged = columns != oldColumns;
+        }
+        typicalItemChanged = false;

         // If the dataProvider or columns change, reset the selection and
         // the grid dimensions.  This has to be done here rather than in the
@@ -2894,14 +3008,23 @@
                 gridSelection.requireSelection = savedRequireSelection;
             }

-            clearGridLayoutCache(false);
-
+           clearGridLayoutCache(columnsChanged);
+
+            // To workaround the loop-prevention logic in the scroller which
+            // may not allow the width of the viewport to be reduced if there
+            // are automatic scrollbars.  See ScrollerLayout/measure().
+            setLayoutBoundsSize(0, 0, false);
+
             if (!caretChanged)
                 initializeCaretPosition();
+
+            if (!anchorChanged)
+                initializeAnchorPosition();

             dataProviderChanged = false;
             columnsChanged = false;
         }
+        anchorChanged = false;

         // Deferred selection operations

@@ -2936,7 +3059,7 @@
         super.updateDisplayList(unscaledWidth, unscaledHeight);
         inUpdateDisplayList = false;
     }
-
+
     //--------------------------------------------------------------------------
     //
     //  Internal Grid Access
@@ -2979,7 +3102,7 @@
         return dataProvider.getItemIndex(item);
     }

-   /**
+    /**
      *  @private
      */
     private function getVisibleItemRenderer(rowIndex:int, columnIndex:int):IVisualElement
@@ -3585,12 +3708,20 @@
                 gridDimensions.clearTypicalCellWidthsAndHeights();

             gridDimensions.clear();
+
             // clearing the gridDimensions resets rowCount
-            if (_dataProvider)
-                gridDimensions.rowCount = _dataProvider.length;
-            if (_columns)
-                gridDimensions.columnCount = _columns.length;
+            gridDimensions.rowCount = _dataProvider ? _dataProvider.length : 0;
+            gridDimensions.columnCount = _columns ? _columns.length : 0;
         }
+    }
+
+    /**
+     *  @private
+     */
+    private function initializeAnchorPosition():void
+    {
+        anchorRowIndex = 0;
+        anchorColumnIndex = 0;
     }

     /**


Another one. I think these get triggered depending on file order, which in turn probably depends on file system traversal order, which is why these are popping up differently on different machines.

--- http/src/org/httpclient/io/HttpResponseBuffer.as
+++ http/src/org/httpclient/io/HttpResponseBuffer.as
@@ -4,7 +4,6 @@
  */
 package org.httpclient.io {

-  import com.adobe.utils.StringUtil;
   import flash.utils.ByteArray;

   import org.httpclient.Log;


new constant  TREE_NODES_LIMIT added

new constant  TREE_NODES_LIMIT added

SVN-Revision: 8879

--- flexclient/dag/Components/DAGConstants.as
+++ flexclient/dag/Components/DAGConstants.as
@@ -7,8 +7,8 @@
 		public static  var CONSTRAINT_ONLY_NODE:String="ConstraintOnlyNode";
 		public static  var EDIT:String="Edit";
 		public static  var DELETE:String="Delete";
-		public static  var ADD_TO_VIEW:String="AddToView";
-		public static  var DELETE_FROM_VIEW:String="DeleteFromView";
+		public static  var ADD_TO_VIEW:String="Add To View";
+		public static  var DELETE_FROM_VIEW:String="Delete From View";
 		public static  var ADD_LIMIT_VIEW:String="AddLimit";
 		public static  var RESULT_VIEW:String="Result";

@@ -19,11 +19,11 @@
 		public static  var NO_RESULT_PRESENT:int=3;
 		public static  var SQL_EXCEPTION:int=4;
 		public static  var DAO_EXCEPTION:int=5;
-		public static var  CLASS_NOT_FOUND:int=6;
+		public static  var CLASS_NOT_FOUND:int=6;
 		public static  var NO_PATHS_PRESENT:int=7;
 		public static  var DYNAMIC_EXTENSION_EXCEPTION:int=8;
 		public static  var CYCLIC_GRAPH:int=9;
-
+		public static  var TREE_NODES_LIMIT:int =10;
 		//messages
 		public static var EMPTY_LIMIT_ERROR_MESSAGE:String = "
Please enter at least one condition to add a limit to limit set.
";
 		public static var GENERIC_MESSAGE:String="
Error occured while executing query.Please report this problem to the Adminstrator.
";


:shirt: Refactor graphics a bit trying to fix some rendering glitches.. no luck


Layer rendering updated, sort() and removeNulls() functions removed. The updateLists() is now public.

--- net/flashpunk/World.as
+++ net/flashpunk/World.as
@@ -569,6 +569,11 @@
 		public function get first():Entity { return _updateFirst; }

 		/**
+		 * How many Entity layers the World has.
+		 */
+		public function get layers():uint { return _layerList.length; }
+
+		/**
 		 * The first Entity of the type.
 		 * @param	type		The type to check.
 		 * @return	The Entity.
@@ -735,8 +740,10 @@
 			return into;
 		}

-		/** @private Updates the add/remove lists at the end of the frame. */
-		internal function updateLists():void
+		/**
+		 * Updates the add/remove lists at the end of the frame.
+		 */
+		public function updateLists():void
 		{
 			var e:Entity;

@@ -772,8 +779,7 @@
 			// sort the depth list
 			if (_layerSort)
 			{
-				if (_layerList.indexOf(null) >= 0) removeNulls(_layerList);
-				if (_layerList.length > 1) sort(_layerList, 0, _layerList.length - 1);
+				if (_layerList.length > 1) FP.sort(_layerList, true);
 				_layerSort = false;
 			}
 		}
@@ -814,12 +820,14 @@
 			var f:Entity = _renderFirst[e._layer];
 			if (f)
 			{
+				// Append entity to existing layer.
 				e._renderNext = f;
 				f._renderPrev = e;
 				_layerCount[e._layer] ++;
 			}
 			else
 			{
+				// Create new layer with entity.
 				_renderLast[e._layer] = e;
 				_layerList[_layerList.length] = e._layer;
 				_layerSort = true;
@@ -838,11 +846,17 @@
 			if (e._renderPrev) e._renderPrev._renderNext = e._renderNext;
 			else
 			{
+				// Remove this entity from the layer.
 				_renderFirst[e._layer] = e._renderNext
 				if (!e._renderNext)
 				{
-					_layerList[_layerList.indexOf(e._layer)] = null;
-					_layerSort = true;
+					// Remove the layer from the layer list if this was the last entity.
+					if (_layerList.length > 1)
+					{
+						_layerList[_layerList.indexOf(e._layer)] = _layerList[_layerList.length - 1];
+						_layerSort = true;
+					}
+					_layerList.length --;
 				}
 			}
 			_layerCount[e._layer] --;
@@ -877,51 +891,6 @@
 			if (e._typePrev) e._typePrev._typeNext = e._typeNext;
 			e._typeNext = e._typePrev = null;
 			_typeCount[e._type] --;
-		}
-
-		/** @private Removes all nulls from the array. */
-		private static function removeNulls(a:Array):void
-		{
-			var i:int = 0,
-				j:int = a.length;
-			if (j == 1 && a[0] == null)
-			{
-				a.length = 0;
-				return;
-			}
-			while (i < j)
-			{
-				while (a[i] != null) i ++;
-				while (a[j] == null) j --;
-				a[i] = a[j];
-				a[j] = null;
-			}
-			a[j] = a[i];
-			a[i] = null;
-			a.length -= a.length - a.indexOf(null);
-		}
-
-		/** @private Quicksorts the values in the array. */
-		private static function sort(a:Array, left:int, right:int):void
-		{
-			var i:int = left,
-				j:int = right,
-				p:int = a[Math.round((left + right) * .5)],
-				t:int;
-			while (i <= j)
-			{
-				while (a[i] < p) i ++;
-				while (a[j] > p) j --;
-				if (i <= j)
-				{
-					t = a[i];
-					a[i ++] = a[j];
-					a[j --] = t;
-				}
-			}
-			if (left < j) sort(a, left, j);
-			if (i < right) sort(a, i, right);
-			return;
 		}

 		/** @private Calculates the squared distance between two rectangles. */


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

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

 package mx.core
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17611
Author:   klin@adobe.com
Date:     2010-09-08T19:01:35.509943Z

Log Message:
-----------
Fix for rotation issues with explicit width and explicit height for Catalyst. The issue is that when we try to solve width and height such that the post transform bounds satisfy the layout constraints, we only took into account the measured width/height even when there was an explicit size specified. In the case of rotation, it is possible at times to use the explicit width/height to find a fit. Thus, the fix is to try to find a solution first using the explicit size. If no solution exists, then we relax the constraint on the size and try to find other solutions.

QE notes: No
Doc notes: No
Bugs: SDK-26614
Reviewer: Evtim
Tests run: checkintests, full cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/Rect.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Rect.as
+++ frameworks/projects/spark/src/spark/primitives/Rect.as
@@ -517,6 +517,7 @@

         // Calculate the width and height pre-transform:
         var newSize:Point = MatrixUtil.fitBounds(width, height, m,
+                                                 explicitWidth, explicitHeight,
                                                  preferredWidthPreTransform(),
                                                  preferredHeightPreTransform(),
                                                  minWidth, minHeight,
@@ -551,6 +552,7 @@

         // Calculate the width and height pre-transform:
         var newSize:Point = MatrixUtil.fitBounds(width, height, m,
+                                                 explicitWidth, explicitHeight,
                                                  preferredWidthPreTransform(),
                                                  preferredHeightPreTransform(),
                                                  minWidth, minHeight,


fixed bug related to overlays - duplicate function definition

--- flexEditor/src/org/arisgames/editor/util/AppUtils.as
+++ flexEditor/src/org/arisgames/editor/util/AppUtils.as
@@ -268,28 +268,7 @@
 		return go;
     }

-	public static function findParentObjectPaletteItem(child:ObjectPaletteItemBO):ObjectPaletteItemBO
-	{
-		if(child.parentContentFolderId == 0) return null;
-		var go:ArrayCollection = GameModel.getInstance().game.gameObjects;
-		return findOPIinListOfChildren(child.parentContentFolderId, go);
-	}
-
-	public static function findOPIinListOfChildren(id:int, list:ArrayCollection):ObjectPaletteItemBO
-	{
-		for(var i:int = 0; i < list.length; i++)
-		{
-			if((list[i] as ObjectPaletteItemBO).id == id)
-			{
-				return list[i] as ObjectPaletteItemBO;
-			}
-			else if((list[i] as ObjectPaletteItemBO).isFolder())
-			{
-				return findOPIinListOfChildren(id, (list[i] as ObjectPaletteItemBO).children);
-			}
-		}
-		return null;
-	}
+

 	private static function repairPalleteObjectAssociation(o:ObjectPaletteItemBO, lc:Number, pId:Number):void {
 		if (o.isFolder())


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/effects/Fade.as
+++ frameworks/projects/framework/src/mx/effects/Fade.as
@@ -0,0 +1,153 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.effects
+{
+
+import mx.effects.effectClasses.FadeInstance;
+
+/**
+ *  The Fade effect animates the alpha property of a component,
+ *  either from transparent to opaque, or from opaque to transparent.
+ *
+ *
If you specify the Fade effect for the showEffect
+ *  or hideEffect trigger, and if you omit values for the
+ *  alphaFrom and alphaTo properties,
+ *  the effect automatically transitions alpha from 0
+ *  to the target's current alpha value on a
+ *  showEffect trigger, and from the target's current
+ *  alpha value to 0 on a hideEffect trigger.

+ *
+ *
Note: To use the Fade effect with text,
+ *  you must use an embedded font, not a device font.

+ *
+ *  @mxml
+ *
+ *
The <mx:Fade> tag
+ *  inherits the tag attributes of its superclass,
+ *  and adds the following tag attributes:

+ *
+ *

+ *  <mx:Fade
+ *    id="ID"
+ *    alphaFrom="val"
+ *    alphaTo="val"
+ *  />
+ *

+ *
+ *  @see mx.effects.effectClasses.FadeInstance
+ *
+ *  @includeExample examples/FadeEffectExample.mxml
+ */
+public class Fade extends TweenEffect
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private static var AFFECTED_PROPERTIES:Array = [ "alpha", "visible" ];
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param target The Object to animate with this effect.
+     */
+    public function Fade(target:Object = null)
+    {
+        super(target);
+
+        instanceClass = FadeInstance;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  alphaFrom
+    //----------------------------------
+
+    [Inspectable(category="General", defaultValue="undefined")]
+
+    /**
+     *  Initial transparency level between 0.0 and 1.0,
+     *  where 0.0 means transparent and 1.0 means fully opaque.
+     *
+     *
If the effect causes the target component to disappear,
+     *  the default value is the current value of the target's
+     *  alpha property.
+     *  If the effect causes the target component to appear,
+     *  the default value is 0.0.

+     */
+    public var alphaFrom:Number;
+
+    //----------------------------------
+    //  alphaTo
+    //----------------------------------
+
+    [Inspectable(category="General", defaultValue="NaN")]
+
+    /**
+     *  Final transparency level,
+     *  where 0.0 means transparent and 1.0 means fully opaque.
+     *
+     *
If the effect causes the target component to disappear,
+     *  the default value is 0.0.
+     *  If the effect causes the target component to appear,
+     *  the default value is the current value of the target's
+     *  alpha property.

+     */
+    public var alphaTo:Number;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function getAffectedProperties():Array /* of String */
+    {
+        return AFFECTED_PROPERTIES;
+    }
+
+    /**
+     *  @private
+     */
+    override protected function initInstance(instance:IEffectInstance):void
+    {
+        super.initInstance(instance);
+
+        var fadeInstance:FadeInstance = FadeInstance(instance);
+
+        fadeInstance.alphaFrom = alphaFrom;
+        fadeInstance.alphaTo = alphaTo;
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/utils/SHA256.as
+++ frameworks/projects/framework/src/mx/utils/SHA256.as
@@ -0,0 +1,339 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.utils
+{
+    import flash.utils.ByteArray;
+
+    /**
+     * Implementation of SHA-256 hash algorithm as described in
+     * Federal Information Processing Standards Publication 180-2
+     * at http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf
+     */
+    public class SHA256
+    {
+        /**
+        *  Identifies this hash is of type "SHA-256".
+        */
+        public static const TYPE_ID:String = "SHA-256";
+
+        private static var k:Array =
+                        [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
+                         0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
+                         0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
+                         0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
+                         0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
+                         0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
+                         0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
+                         0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];
+
+
+        /**
+        * Computes the digest of a message using the SHA-256 hash algorithm.
+        *
+        * @param byteArray - the message, may not be null.
+        *
+        * return String - 64 character hexidecimal representation of the digest.
+        *
+        */
+        public static function computeDigest(byteArray:ByteArray):String
+        {
+            // Preprocessing
+            // 1. Pad the message
+            var paddingLength:int = byteArray.length % 64;
+
+            paddingLength = 64 - paddingLength;
+
+            if (paddingLength < (1 + 8))
+            {
+                paddingLength += 64;   //  need to pad a partial block plus a full block
+            }
+
+            var messagePadding:Array = new Array(paddingLength);
+            var n:int = (byteArray.length + paddingLength) / 64;        // number of message blocks
+
+            var messageLengthBits:uint = byteArray.length * 8;
+            messagePadding[0] = 128;
+
+            // put message size in last 32 bits of the message padding
+            var i:int;
+
+            for (i = 1; i < paddingLength - 8; i++)
+            {
+                messagePadding[i] = 0;
+            }
+
+            var lastIndex:int = messagePadding.length - 1;        // last index of messagePadding
+            for (i = 0; i < 4; i++)
+            {
+                messagePadding[lastIndex - i] = (messageLengthBits >> (i << 3)) & 0xff;
+            }
+
+
+            // 2. Set initial hash H(0)
+            var h0:int = 0x6a09e667;
+            var h1:int = 0xbb67ae85;
+            var h2:int = 0x3c6ef372;
+            var h3:int = 0xa54ff53a;
+            var h4:int = 0x510e527f;
+            var h5:int = 0x9b05688c;
+            var h6:int = 0x1f83d9ab;
+            var h7:int = 0x5be0cd19;
+
+            var a:int;
+            var b:int;
+            var c:int;
+            var d:int;
+            var e:int;
+            var f:int;
+            var g:int;
+            var h:int;
+
+            // Hash computation
+            // for all message blocks
+            var m:ByteArray = new ByteArray();    // message block; 16 32-bit words or 64 bytes
+            var w:Array = new Array(64);    // message schedule, 64 32-bit words
+            var paddingStart:uint = 0;           // index to start padding message
+            var paddingSize:uint = 0;            // amount of padding to copy to message
+            var j:uint;
+            var t1:int;                    // temporary storage in hash loop
+            var t2:int;                    // temporary storage in hash loop
+            var t:uint;
+            var msgIndex:uint;
+            var wt2:int;                   // w[t - 2]
+            var wt15:int;                  // w[t -15]
+
+            //var messageSchTime:int = 0;
+            //var hashTime:int = 0;
+            //var startTime:int;
+            //var endTime:int;
+
+            for (i = 0; i < n; i++)
+            {
+                // get the next message block of 512 bits or 64 bytes.
+                getMessageBlock(byteArray, m);
+
+                // append pass to end of last message block
+                if (i == (n - 2) && messagePadding.length > 64)
+                {
+                    // pad end of message before last block
+                    paddingStart = 64 - (messagePadding.length % 64);
+                    paddingSize = 64 - paddingStart;
+                    for (j = 0; j < paddingSize; j++)
+                    {
+                        m[j + paddingStart] = messagePadding[j];
+                    }
+
+                }
+                else if (i == n - 1)
+                {
+                    var prevPaddingSize:int = paddingSize;
+                    if (messagePadding.length > 64)
+                    {
+                        paddingStart = 0;
+                        paddingSize = 64;
+                    }
+                    else
+					{
+                        paddingStart = 64 - messagePadding.length;
+                        paddingSize = messagePadding.length;
+                    }
+
+                    for (j = 0; j < paddingSize; j++)
+                    {
+                        m[j + paddingStart] = messagePadding[j + prevPaddingSize];
+                    }
+                }
+
+                // prepare the message schedule, w
+                //startTime= getTimer();
+                for (t = 0; t < 64; t++)
+                {
+                    if (t < 16)
+                    {
+                        msgIndex = t << 2;
+                        w[t] = int((m[msgIndex] << 24) |
+                               (m[msgIndex + 1] << 16) |
+                               (m[msgIndex + 2] << 8) |
+                                m[msgIndex + 3]);
+                    }
+                    else
+                    {
+                       // inline functions to boost performance. keep orginal code for reference.
+                       // w[t] = divisor1(w[t - 2]) + uint(w[t - 7]) + divisor0(w[t - 15]) + uint(w[t - 16]);
+                        wt2 = w[t -2];
+                        wt15 = w[t-15];
+                        w[t] = int(int((((wt2 >>> 17) | (wt2 << 15)) ^ ((wt2 >>> 19) | (wt2 << 13)) ^ (wt2 >>> 10))) + // divisor1(w[t - 2])
+                               int(w[t - 7]) +
+                               int((((wt15 >>> 7) | (wt15 << 25)) ^ ((wt15 >>> 18) | (wt15 << 14)) ^ (wt15 >>> 3))) + // divisor0(w[t - 15])
+                               int(w[t - 16]));
+                    }
+                }
+
+                //endTime= getTimer();
+                //messageSchTime += endTime - startTime;
+
+                //startTime= getTimer();
+
+                a = h0;
+                b = h1;
+                c = h2;
+                d = h3;
+                e = h4;
+                f = h5;
+                g = h6;
+                h = h7;
+
+                for (t = 0; t < 64; t++)
+                {
+                    // inline functions to boost performance. keep orginal code for reference.
+                    //t1 = h + sum1(e) + Ch(e, f, g) + uint(k[t]) + uint(w[t]);
+                    //t2 = sum0(a) + Maj(a, b, c);
+                    t1 = h +
+                        int((((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7)))) + //  sum1(e)
+                        int(((e & f) ^ (~e & g))) + // Ch(e, f, g)
+                        int(k[t]) +
+                        int(w[t]);
+                    t2 = int((((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10)))) + // sum0(a)
+                         int(((a & b) ^ (a & c) ^ (b & c))); // Maj(a, b, c)
+
+                    h = g;
+                    g = f;
+                    f = e;
+                    e = d + t1;
+                    d = c;
+                    c = b;
+                    b = a;
+                    a = t1 + t2;
+
+                    //trace("t = " + t + " a = " + uint(a).toString(16) + " b = " + uint(b).toString(16) +
+                    //      " c = " + uint(c).toString(16) + " d = " + uint(d).toString(16) + "\n");
+                    //trace("t = " + t + " e = " + uint(e).toString(16) + " f = " + uint(f).toString(16) +
+                    //      " g = " + uint(g).toString(16) + " h = " + uint(h).toString(16) + "\n");
+
+                }
+
+                h0 += a;
+                h1 += b;
+                h2 += c;
+                h3 += d;
+                h4 += e;
+                h5 += f;
+                h6 += g;
+                h7 += h;
+
+                //endTime= getTimer();
+                //hashTime += endTime - startTime;
+
+            }
+
+            //trace("messageSchTime = " + messageSchTime);
+            //trace("hashTime = " + hashTime);
+
+            // final digest is h1 | h2 | h3 | h4 | h5 | h6 | h7
+            // convert H(i) variables to hex strings and concatinate
+            return toHex(h0) + toHex(h1) +
+                   toHex(h2) + toHex(h3) +
+                   toHex(h4) + toHex(h5) +
+                   toHex(h6) + toHex(h7);
+        }
+
+
+        /**
+        * get the next n bytes of the message from the byteArray and move it to the message block.
+        *
+        * @param byteArray - message
+        * @param m - message block (output)
+        */
+        private static function getMessageBlock(byteArray:ByteArray, m:ByteArray):void
+        {
+            byteArray.readBytes(m, 0, Math.min(byteArray.bytesAvailable, 64));
+
+//            for (var i:int; i < length && (i + startingIndex) < byteArray.length; i++)
+//            {
+//                m[i] = byteArray[i + startingIndex];
+//            }
+        }
+
+        private static function toHex(n:uint):String
+        {
+            var s:String = n.toString(16);
+
+            if (s.length < 8)
+            {
+                // add leading zeros
+                var zeros:String = "0";
+                var count:int = 8 - s.length;
+                for (var i:int = 1; i < count; i++)
+                {
+                    zeros = zeros.concat("0");
+                }
+
+                return zeros + s;
+            }
+
+            return s;
+        }
+
+        // The below functions are defined in Federal Information
+        // Processing Standards Publication 180-2
+        // at
+        // http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf
+
+/*      The functions have been inlined to boost performance. They are
+        kept here for reference.
+
+        private static function Ch(x:uint, y:uint, z:uint):uint
+        {
+            return (x & y) ^ (~x & z);
+        }
+
+        private static function  Maj(x:uint, y:uint, z:uint):uint
+        {
+            return (x & y) ^ (x & z) ^ (y & z);
+        }
+
+        private static function sum0(x:uint):uint
+        {
+            return ((x >>> 2) | (x << 30)) ^ ((x >>> 13) | (x << 19)) ^ ((x >>> 22) | (x << 10));
+            //return rotr(2, x) ^ rotr(13, x) ^ rotr(22, x);
+        }
+
+        private static function sum1(x:uint):uint
+        {
+            return ((x >>> 6) | (x << 26)) ^ ((x >>> 11) | (x << 21)) ^ ((x >>> 25) | (x << 7));
+//            return rotr(6, x) ^ rotr(11, x) ^ rotr(25, x);
+        }
+
+        private static function divisor0(x:uint):uint
+        {
+             return ((x >>> 7) | (x << 25)) ^ ((x >>> 18) | (x << 14)) ^ (x >>> 3);
+//             return rotr(7, x) ^ rotr(18, x) ^ shr(3, x);
+        }
+
+        private static function divisor1(x:uint):uint
+        {
+             return ((x >>> 17) | (x << 15)) ^ ((x >>> 19) | (x << 13)) ^ (x >>> 10);
+//             return rotr(17, x) ^ rotr(19, x) ^ shr(10, x);
+        }
+
+        private static function rotr(n:uint, x:uint):uint
+        {
+            return (x >>> n) | (x << 32 - n);
+        }
+
+        private static function shr(n:uint, x:uint):uint
+        {
+            return x >>> n;
+        }
+*/
+    }
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 14869
Author:   cframpto@adobe.com
Date:     2010-03-19T02:24:27.434644Z

Log Message:
-----------
Merge mirroring changes 14728-14730, 14772-14775, 14806 from 4.x to trunk.

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

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/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UIFTETextField.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/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/CheckBoxSkin.mxml</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/components/VSlider.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</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/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/CheckBoxSkin.mxml</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/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>

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

--- frameworks/projects/mx/src/mx/controls/HScrollBar.as
+++ frameworks/projects/mx/src/mx/controls/HScrollBar.as
@@ -17,6 +17,7 @@

 import mx.controls.scrollClasses.ScrollBar;
 import mx.controls.scrollClasses.ScrollBarDirection;
+import mx.core.LayoutDirection;
 import mx.core.mx_internal;
 import mx.events.ScrollEvent;

@@ -297,14 +298,14 @@

         if (key == Keyboard.LEFT)
         {
-            direction = layoutDirection == "ltr" ? -1 : 1;
+            direction = LayoutDirection.LTR ? -1 : 1;
             lineScroll(direction);
             return true;
         }

         else if (key == Keyboard.RIGHT)
         {
-            direction = layoutDirection == "ltr" ? 1 : -1;
+            direction = LayoutDirection.LTR ? 1 : -1;
             lineScroll(direction);
             return true;
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/mx/src/mx/events/DividerEvent.as
+++ frameworks/projects/mx/src/mx/events/DividerEvent.as
@@ -21,6 +21,11 @@
  *  These events are dispatched by the DividedBox control and its children.
  *
  *  @see mx.containers.DividedBox
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class DividerEvent extends Event
 {
@@ -58,6 +63,11 @@
 	 *

      *
      *  @eventType dividerDrag
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const DIVIDER_DRAG:String = "dividerDrag";

@@ -87,6 +97,11 @@
 	 *

      *
      *  @eventType dividerPress
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const DIVIDER_PRESS:String = "dividerPress";

@@ -116,6 +131,11 @@
 	 *

      *
      *  @eventType dividerRelease
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const DIVIDER_RELEASE:String = "dividerRelease";

@@ -137,6 +157,11 @@
 	 *  @param dividerIndex Index of the divider that generated the event.
 	 *
 	 *  @param delta The number of pixels by which the divider has been dragged.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function DividerEvent(type:String, bubbles:Boolean = false,
 								 cancelable:Boolean = false,
@@ -162,6 +187,11 @@
 	 *  The number of pixels that the divider has been dragged.
 	 *  Positive numbers represent a drag toward the right or bottom,
 	 *  negative numbers toward the left or top.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var delta:Number;

@@ -173,6 +203,11 @@
 	 *  The zero-based index of the divider being pressed or dragged.
 	 *  The leftmost or topmost divider has a dividerIndex
 	 *  of 0.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var dividerIndex:int;


Transferred from the Adobe Open Source Subversion Repository

Revision: 1098
Author:   jimurphy@adobe.com
Date:     2008-04-03T21:50:39.896200Z

Log Message:
-----------
Merge 3.0.x -- 362:394, 427:429, 603:608, 644:645, 651:663, 672:676, 755:756, 763:766, 785:790, 812:814, 854:861, 862:866, 866:933,971:1009, 1050:1056 --> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/DefaultDataDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VRule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/IList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IRepeaterClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/VideoError.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/messages/HTTPRequestMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/Locale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ParallelInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/Responder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/SOAPMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IBrowserManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ComponentDescriptor.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/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/IViewCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/AbstractWebService.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/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/IMenuItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase.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/framework/src/mx/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ILayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Spacer.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/rpc/src/mx/rpc/Fault.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/XMLListCollection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SliderEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncToken.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/ScrollEvent.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/controls/videoClasses/CuePointManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/NumericStepperEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/BrowserManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/events/ChannelFaultEvent.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/collections/CursorBookmark.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/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/WSDLLoadEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/LoadEvent.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/rpc/src/mx/messaging/FlexClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/SubscriptionInfo.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/frameworks/projects/framework/src/mx/logging/LogLogger.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/build_framework.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/HeaderEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/ITreeDataDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>

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

--- frameworks/projects/framework/src/mx/managers/IBrowserManager.as
+++ frameworks/projects/framework/src/mx/managers/IBrowserManager.as
@@ -90,12 +90,16 @@
      *
      *
When set, the APPLICATION_URL_CHANGE event is dispatched. If the event
      *  is cancelled, the setBrowserURL() method will not be called.

+     *
+     * @param value The new fragment to use after the '#' in the URL.
      */
     function setFragment(value:String):void;

     /**
      *  Changes the text in the browser's title bar.
      *  This method does not affect the browser's history.
+     *
+     * @param value The new title to use in the browser's title bar.
      */
     function setTitle(value:String):void;


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

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

 package mx.managers
 {


Transferred from the Adobe Open Source Subversion Repository

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

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
147 paths were modified

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

--- frameworks/projects/rpc/src/mx/messaging/management/Attribute.as
+++ frameworks/projects/rpc/src/mx/messaging/management/Attribute.as
@@ -18,11 +18,23 @@

 /**
  * Client representation of a MBean attribute.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion BlazeDS 4
+ *  @productversion LCDS 3
  */
 public class Attribute
 {
     /**
      *  Creates a new instance of an empty Attribute.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function Attribute()
     {
@@ -31,11 +43,23 @@

     /**
      * The attribute name.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public var name:String;

     /**
      * The attribute value.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public var value:Object;

@@ -43,6 +67,12 @@
      *  Returns a string representation of the attribute.
      *
      *  @return String representation of the attribute.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function toString():String
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 11270
Author:   eitan@ascender.com
Date:     2009-10-29T18:28:57.798957Z

Log Message:
-----------
Added a NumericStepper AccImpl class
Added actions to SpinnerAccImpl
Add STATECHANGE when buttons are pressed in a ButtonBar

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonBarAccImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/NumericStepperAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>

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

--- frameworks/projects/spark/src/spark/components/NumericStepper.as
+++ frameworks/projects/spark/src/spark/components/NumericStepper.as
@@ -86,7 +86,7 @@
 //  Other metadata
 //--------------------------------------

-[AccessibilityClass(implementation="spark.accessibility.SpinnerAccImpl")]
+[AccessibilityClass(implementation="spark.accessibility.NumericStepperAccImpl")]

 [DefaultTriggerEvent("change")]


Fixed CSV export undefined value test.

Fixed CSV export undefined value test.

Change-Id: I7e8a2823e7200e2954f0fe0c5517148b95805940

--- WeaveData/src/weave/utils/ColumnUtils.as
+++ WeaveData/src/weave/utils/ColumnUtils.as
@@ -445,7 +445,7 @@
 				for (var i:int = 0; i < attrCols.length; i++)
 				{
 					var value:Object = (attrCols[i] as IAttributeColumn).getValueFromKey(key, dataType);
-					if (!isNaN(value as Number))
+					if (StandardLib.isDefined(value))
 						record[columnTitles[i]] = value;
 				}
 				records.push(record);


Transferred from the Adobe Open Source Subversion Repository

Revision: 18177
Author:   aglosban@adobe.com
Date:     2010-10-15T19:49:23.082529Z

Log Message:
-----------
Add mx.utils.RpcClassAliasInitializer back into RPCClasses. Removing this caused the RpcClassAliasInitializer to not get linked into rpc.swc which wasn't the intention.
QE notes:
Doc notes:
Bugs: 2638788
Reviewer:
Tests run: Verified that rpc.swc built successfully. Testing to follow.
Is noteworthy for integration:

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/rpc/src/RPCClasses.as

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

--- frameworks/projects/rpc/src/RPCClasses.as
+++ frameworks/projects/rpc/src/RPCClasses.as
@@ -56,6 +56,7 @@
 import mx.utils.HexDecoder; HexDecoder;
 import mx.utils.HexEncoder; HexEncoder;
 import mx.utils.Translator; Translator;
+import mx.utils.RpcClassAliasInitializer; RpcClassAliasInitializer;
 }

 }


http://www.igniterealtime.org/issues/browse/XIFF-60 Part 2.

--- src/org/igniterealtime/xiff/conference/Room.as
+++ src/org/igniterealtime/xiff/conference/Room.as
@@ -150,6 +150,12 @@
 	 * @eventType org.igniterealtime.xiff.events.RoomEvent.USER_BANNED
 	 */
 	[Event( name="userBanned",type="org.igniterealtime.xiff.events.RoomEvent" )]
+	/**
+	 * Dispatched when a user's presence changes.
+	 *
+	 * @eventType org.igniterealtime.xiff.events.RoomEvent.USER_PRESENCE_CHANGE
+	 */
+	[Event( name="userPresenceChange",type="org.igniterealtime.xiff.events.RoomEvent" )]
 	/**
 	 * Dispatched when the user's preferred nickname already exists in the room.	The
 	 * RoomEvent will contain an attribute nickname with the nickname
@@ -1014,6 +1020,12 @@
 					occupant.affiliation = item.affiliation;
 					occupant.role = item.role;
 					occupant.show = aPresence.show;
+
+					// Notify listeners that a user's presence has been updated
+					roomEvent = new RoomEvent( RoomEvent.USER_PRESENCE_CHANGE );
+					roomEvent.nickname = userNickname;
+					roomEvent.data = aPresence;
+					dispatchEvent( roomEvent );
 				}
 			}
 			else if ( aPresence.type != Presence.UNAVAILABLE_TYPE )


fixed bugs in populateColumns()

fixed bugs in populateColumns()

--- WeaveJS/src/Weave.as
+++ WeaveJS/src/Weave.as
@@ -601,14 +601,20 @@
 		 */
 		public function populateColumns():void
 		{
+			var RefCol:Class = Weave.getDefinition('ReferencedColumn');
+			var ExtDynCol:Class = Weave.getDefinition('ExtendedDynamicColumn');
 			var all:Array = Weave.getDescendants(root, ILinkableDynamicObject);
 			var def:Array = [];
 			var undef:Array = [];
 			for each (var item:ILinkableDynamicObject in all)
 			{
 				var col:IAttributeColumn = item as IAttributeColumn;
-				if (col)
-					(col.keys.length ? def : undef).push(item);
+				if (!col)
+					continue;
+				if (item.target is RefCol)
+					def.push(item);
+				if (!item.target)
+					undef.push(item);
 			}
 			for (var i:int = 0; i < undef.length; i++)
 				copyState(def[i % def.length], undef[i]);


FreeRunner: inlined a method to reduce the call stack on failure.

--- as3/src/asunit/framework/FreeRunner.as
+++ as3/src/asunit/framework/FreeRunner.as
@@ -101,7 +101,12 @@
 			if (currentTest.hasOwnProperty('setUp'))
 				currentTest.setUp();

-			runMethodForTest(method, currentTest, currentMethodName, result);
+			try {
+				method();
+			}
+			catch (error:Error) {
+				recordFailure(error);
+			}

 			var commands:Array = Async.instance.getCommandsForTest(currentTest);
 			if (commands && commands.length) {
@@ -124,7 +129,12 @@

 		protected function onAsyncMethodCalled(e:Event):void {
 			var command:TimeoutCommand = TimeoutCommand(e.currentTarget);
-			runMethodForTest(command.execute, currentTest, currentMethodName, result);
+			try {
+				command.execute();
+			}
+			catch (error:Error) {
+				recordFailure(error);
+			}
 			onAsyncMethodCompleted(e);
 		}

@@ -147,13 +157,8 @@
 			}
 		}

-		protected static function runMethodForTest(method:Function, test:Object, testMethodName:String, result:FreeTestResult):void {
-			try {
-				method();
-			}
-			catch (error:Error) {
-				result.addFailure(new FreeTestFailure(test, testMethodName, error));
-			}
+		protected function recordFailure(error:Error):void {
+			result.addFailure(new FreeTestFailure(currentTest, currentMethodName, error));
 		}

 		protected function onCompleted():void {


Hmm don't throw the ArgumentError inside our own catch, even though
we should have re-thrown it.

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

--- src/as/com/threerings/util/ObjectMarshaller.as
+++ src/as/com/threerings/util/ObjectMarshaller.as
@@ -156,11 +156,9 @@
     public static function validateValue (value :Object) :void
         // throws ArgumentError
     {
+        var s :String;
         try {
-            var s :String = getValidationError(value);
-            if (s != null) {
-                throw new ArgumentError(s);
-            }
+            s = getValidationError(value);

         } catch (e :Error) {
             switch (e.errorID) {
@@ -169,6 +167,9 @@
             default:
                 throw e; // re-throw
             }
+        }
+        if (s != null) {
+            throw new ArgumentError(s);
         }
     }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/core/FlexBitmap.as
+++ frameworks/projects/framework/src/mx/core/FlexBitmap.as
@@ -0,0 +1,106 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+import flash.display.Bitmap;
+import flash.display.BitmapData;
+import mx.utils.NameUtil;
+
+/**
+ *  FlexBitmap is a subclass of the Player's Bitmap class.
+ *  It overrides the toString() method
+ *  to return a string indicating the location of the object
+ *  within the hierarchy of DisplayObjects in the application.
+ */
+public class FlexBitmap extends Bitmap
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+	 *
+	 *
Sets the name property to a string
+	 *  returned by the createUniqueName()
+	 *  method of the mx.utils.NameUtils class.
+	 *  This string is the name of the object's class concatenated
+	 *  with an integer that is unique within the application,
+	 *  such as "FlexBitmap12".

+	 *
+	 *  @param bitmapData The data for the bitmap.
+	 *
+	 *  @param pixelSnapping Whether or not the bitmap is snapped
+	 *  to the nearest pixel.
+	 *
+	 *  @param smoothing Whether or not the bitmap is smoothed when scaled.
+	 *
+	 *  @see flash.display.DisplayObject#name
+	 *  @see mx.utils.NameUtil#createUniqueName()
+     */
+    public function FlexBitmap(bitmapData:BitmapData = null,
+							   pixelSnapping:String = "auto",
+							   smoothing:Boolean = false)
+	{
+		super(bitmapData, pixelSnapping, smoothing);
+
+		try
+		{
+			name = NameUtil.createUniqueName(this);
+		}
+		catch(e:Error)
+		{
+			// The name assignment above can cause the RTE
+			//   Error #2078: The name property of a Timeline-placed
+			//   object cannot be modified.
+			// if this class has been associated with an asset
+			// that was created in the Flash authoring tool.
+			// The only known case where this is a problem is when
+			// an asset has another asset PlaceObject'd onto it and
+			// both are embedded separately into a Flex application.
+			// In this case, we ignore the error and toString() will
+			// use the name assigned in the Flash authoring tool.
+		}
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  Returns a string indicating the location of this object
+	 *  within the hierarchy of DisplayObjects in the Application.
+	 *  This string, such as "MyApp0.HBox5.FlexBitmap12",
+	 *  is built by the displayObjectToString() method
+	 *  of the mx.utils.NameUtils class from the name
+	 *  property of the object and its ancestors.
+	 *
+	 *  @return A String indicating the location of this object
+	 *  within the DisplayObject hierarchy.
+	 *
+	 *  @see flash.display.DisplayObject#name
+	 *  @see mx.utils.NameUtil#displayObjectToString()
+     */
+    override public function toString():String
+	{
+		return NameUtil.displayObjectToString(this);
+	}
+}
+
+}


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 19226
Author:   harishs@adobe.com
Date:     2010-12-09T18:33:35.483731Z

Log Message:
-----------
QE notes:
Doc notes: Updated asdocs for spark validators/sort/sortfield
Bugs:
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/globalization/MatchingCollatorExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/collections/SortField.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="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/globalization/examples/SortingCollatorExample.mxml</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/globalization/SortingCollatorExample.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/globalization/examples/StringToolsExample.mxml</path>
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/globalization/examples</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/collections/Sort.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/globalization/StringToolsExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/Sort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/NumberValidator.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/globalization/examples/MatchingCollatorExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/CurrencyValidator.as</path>

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

--- frameworks/projects/spark/src/spark/collections/Sort.as
+++ frameworks/projects/spark/src/spark/collections/Sort.as
@@ -68,14 +68,14 @@
  *     // Create the Sort instance.
  *     var sort:ISort = new Sort();
  *     // Set the sort field; sort on the last name first, first name second.
+ *     var sortfieldLastName:ISortField = new SortField("last",true);
+ *     var sortfieldFirstName:ISortField = new SortField("first",true);
  *     // Set the locale style to "en-US" to cause the strings
  *     // to be ordered according to the rules for English as used in the USA.
- *     var sortfieldLast:ISortField = new SortField("last",true);
- *     var sortfieldFirst:ISortField = new SortField("first",true);
- *     sortfieldLast.setStyle("locale","en-US");
- *     sortfieldFirst.setStyle("locale","en-US");
- *     sort.fields = [sortfieldLast, sortfieldFirst];
- *       // Assign the Sort object to the view.
+ *     sortfieldLastName.setStyle("locale","en-US");
+ *     sortfieldFirstName.setStyle("locale","en-US");
+ *     sort.fields = [sortfieldLastName, sortfieldFirstName];
+ *     // Assign the Sort object to the view.
  *     col.sort = sort;
  *     // Apply the sort to the collection.
  *     col.refresh();
@@ -89,14 +89,16 @@
  *  in the SortField object constructor.
  *  For example:
  *

+ *     import spark.collections.*;
+ *
  *     var col:ICollectionView = new ArrayCollection();
  *     col.addItem("California");
  *     col.addItem("Arizona");
- *     var sort:ISort = new Sort();
+ *     var sort:Sort = new Sort();
  *     // There is only one sort field, so use a null
- *     // first parameter. Set the locale style to "en-US" to set
- *     // the language for the sort.
- *     var sortfield:ISortField = new SortField("null",true);
+ *     // first parameter.
+ *     var sortfield:SortField = new SortField("null",true);
+ *     // Set the locale style to "en-US" to set the language for the sort.
  *     sortfield.setStyle("locale","en-US");
  *     sort.fields = [sortfield];
  *     col.sort = sort;
@@ -160,6 +162,10 @@
  *  />
  *

  *
+
+ *  @includeExample examples/SortExample1.mxml
+ *  @includeExample examples/SortExample2.mxml
+ *
  *  @see mx.collections.ICollectionView
  *  @see spark.collections.SortField
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 7967
Author:   gosmith@adobe.com
Date:     2009-06-18T19:44:16.674676Z

Log Message:
-----------
PARB changes to TextGraphicElement/SimpleText/RichText and to text styles in general.

TextGraphicElement:

The 'truncation' property has been renamed to 'maxDisplayedLines'.

The isTruncated() method has become an 'isTruncated' read-only property.

RichText:

Since a TextFlow object is the fundamental representation for rich test in TLF, the RichText component now has a public textFlow:TextFlow property which you can get or set. To turn TLF markup -- in either String or XML form -- into a TextFlow, use the static importFromString() and importFromXML() methods in the TextFlowUtil class. These are bindable methods so that if the markup parameter changes they will re-evaluate. To turn the TextFlow back into markup, use TextFLowUtil.export(...) to produce XML.

The 'content' property is now intended only for use by the MXML compiler. It is set-only and only supports being set to what MXML markup produces: a String (which will be treated as the text of an implicit span in an implicit paragraph), a FlowElement, or an Array of Strings and FlowElements.

The 'text', 'textFlow', and 'content' properties are interacting properties. For example, you can set 'textFlow' and then get the 'text', and vice versa. In fact, you can now do this immediately, without waiting for the component to undergo a LayoutManager pass. Of these three properties, the last one set in ActionScript wins; if more than one is set in MXML the results are undefined since MXML does not guarantee the order in which properties are set. Setting any of them to null is equivalent to setting the 'text' to the empty String, which is the initial state of the component.

Styles:

The 'lineBreak' style is now non-inheriting, since in TLF it doesn't inherit from FlowElement to FlowElement.

The text styles are now divided into five buckets:

BasicInheritingTextStyles.as
BasicNonInheritingTextStyles.as
AdvancedInheritingTextStyles.as
AdvancedNonInheritingTextStyles.as
SelectionFormatTextStyles.as

Skinnable components like TextInput and TextArea no longer declare any on the noninheriting text styles, because the RichTextElement in the skin doesn't inherit them. You must set them directly on the RichTextElement in the component's skin, either with ActionScript or by reskinning.

The styleInitialized() method has been added to the IAdvancedStyleClient interface.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Carol

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicTextLayoutFormatStyles.as" copyfrom-rev="7910" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/WindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultButtonSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProxy.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/TextFlowUtil.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/TitleBarSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/NonInheritingTextLayoutFormatStyles.as" copyfrom-rev="7910" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicNonInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/CheckBoxSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/NonInheritingTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/RadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/RadioButtonSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedTextLayoutFormatStyles.as" copyfrom-rev="7910" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MacTitleBarSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/Label.as
+++ frameworks/projects/spark/src/spark/components/Label.as
@@ -54,8 +54,8 @@
 //  Styles
 //--------------------------------------

-include "../styles/metadata/BasicTextLayoutFormatStyles.as"
-include "../styles/metadata/NonInheritingTextLayoutFormatStyles.as"
+include "../styles/metadata/BasicInheritingTextStyles.as"
+include "../styles/metadata/BasicNonInheritingTextStyles.as"

 //--------------------------------------
 //  Other metadata
@@ -341,8 +341,8 @@
         // - compose width is specified
         // - explicit line breaking is not used
         // - content doesn't fit
-        if (truncation && getStyle("lineBreak") == "toFit" &&
-            !doesComposedTextFit(height, allLinesComposed, truncation))
+        if (maxDisplayedLines && getStyle("lineBreak") == "toFit" &&
+            !doesComposedTextFit(height, allLinesComposed, maxDisplayedLines))
         {
             truncateText(width, height);
         }
@@ -1016,7 +1016,7 @@
      */
 	private function truncateText(width:Number, height:Number):void
 	{
-	    var lineCountLimit:int = truncation;
+	    var lineCountLimit:int = maxDisplayedLines;
         var somethingFit:Boolean = false;
         var truncLineIndex:int = 0;

@@ -1129,7 +1129,7 @@
         }

         // The text was truncated.
-        isTextTruncated = true;
+        _isTruncated = true;
     }

     /**


Added bounds control to ForceDirectedLayout

git-svn-id: 6aa7ccb0a2048310a30f08a72aaff4ca39d980ed@97 91848ab2-c4ae-4e4f-8e6a-6a52ea0dccc3

--- flare.demos/flare/demos/Timeline.as
+++ flare.demos/flare/demos/Timeline.as
@@ -1,26 +1,20 @@
 package flare.demos
 {
+	import flare.animate.Transitioner;
+	import flare.display.TextSprite;
+	import flare.util.Button;
+	import flare.util.Maths;
+	import flare.vis.Visualization;
+	import flare.vis.controls.DragControl;
 	import flare.vis.data.Data;
-	import flare.vis.Visualization;
+	import flare.vis.operator.encoder.ColorEncoder;
+	import flare.vis.operator.layout.AxisLayout;
+	import flare.vis.operator.layout.ForceDirectedLayout;
+	import flare.vis.palette.ColorPalette;
+	import flare.vis.util.Filters;
+
+	import flash.events.MouseEvent;
 	import flash.geom.Rectangle;
-	import flare.vis.operator.layout.AxisLayout;
-	import flare.vis.axis.CartesianAxes;
-	import flare.vis.data.DataSprite;
-	import flare.vis.data.EdgeSprite;
-	import flare.vis.data.NodeSprite;
-	import flare.vis.data.render.NullRenderer;
-	import flash.events.MouseEvent;
-	import flare.vis.operator.Operator;
-	import flare.vis.operator.layout.ForceDirectedLayout;
-	import flare.vis.operator.layout.Layout;
-	import flare.animate.Transitioner;
-	import flare.vis.operator.encoder.ColorEncoder;
-	import flare.vis.palette.ColorPalette;
-	import flare.display.TextSprite;
-	import flare.util.Maths;
-	import flare.util.Button;
-	import flare.vis.controls.DragControl;
-	import flare.vis.util.Filters;

 	public class Timeline extends Demo
 	{
@@ -54,11 +48,14 @@
 			btn.x = 10; btn.y = HEIGHT - 10 - btn.height;
 			btn.addEventListener(MouseEvent.CLICK, function(evt:MouseEvent):void
 			{
-				var fdl:Layout = new ForceDirectedLayout();
+				// create new force-directed layout that enforces the bounds
+				var fdl:ForceDirectedLayout = new ForceDirectedLayout(true);
+				fdl.layoutBounds = new Rectangle(0, 0, 600, 400);
 				vis.operators.setOperatorAt(0, fdl);
 				vis.continuousUpdates = true;
 				fdl.hideAxes(new Transitioner(1)).play();
 				new DragControl(vis, Filters.isNodeSprite);
+				vis.data.nodes.setProperty("buttonMode", true);
 				removeChild(btn);
 			});
 			addChild(btn);


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

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

--- src/main/org/shypl/common/app/MainPreloader.as
+++ src/main/org/shypl/common/app/MainPreloader.as
@@ -1,6 +1,6 @@
 package org.shypl.common.app {
 	import flash.display.Stage;
-
+
 	import org.shypl.common.loader.FileLoader;
 	import org.shypl.common.loader.SwfFile;
 	import org.shypl.common.loader.SwfReceiver;
@@ -9,35 +9,35 @@
 	import org.shypl.common.util.progress.CompositeProgress;
 	import org.shypl.common.util.progress.Progress;
 	import org.shypl.common.util.progress.UnevenCompositeProgress;
-
+
 	public class MainPreloader extends AbstractProgress implements Progress, SwfReceiver {
 		private var _stage:Stage;
 		private var _parameters:Parameters;
 		private var _progresses:CompositeProgress;
-
+
 		public function MainPreloader(stage:Stage, parameters:Parameters) {
 			_stage = stage;
 			_parameters = parameters;
-
+
 			_progresses = UnevenCompositeProgress.factoryEmpty(new <int>[1, 9]);
-			_progresses.setChild(0, FileLoader.loadSwf(_parameters["main"], this));
+			_progresses.setChild(0, FileLoader.loadSwf(_parameters.getString("main", "main.swf"), this));
 			_progresses.handleComplete(complete, true);
 		}
-
+
 		public function receiveSwf(swf:SwfFile):void {
 			var main:AbstractMain = AbstractMain(swf.content);
 			var progress:Progress = main.run(_stage, _parameters);
-
+
 			_progresses.setChild(1, progress);
-
+
 			_stage = null;
 			_parameters = null;
 		}
-
+
 		override protected function calculatePercent():Number {
 			return _progresses.percent;
 		}
-
+
 		override protected function complete():void {
 			_progresses = null;
 			super.complete();