fixed bug where dimension slider column foreign key references wouldn't
work.

Change-Id: Id0728902fd176a4a41fe8f37689aaa657ad7b2bc

--- WeaveData/src/weave/data/AttributeColumns/SecondaryKeyNumColumn.as
+++ WeaveData/src/weave/data/AttributeColumns/SecondaryKeyNumColumn.as
@@ -80,7 +80,7 @@
 						return value + TYPE_SUFFIX
 					break;
 				case ColumnMetadata.DATA_TYPE:
-					return _dataType == String ? DataTypes.STRING : DataTypes.NUMBER;
+					return value || (_dataType == Number ? DataTypes.NUMBER : DataTypes.STRING);
 			}

 			return value;
@@ -163,7 +163,7 @@
 			_keyToNumericDataMapping = new Dictionary();

 			//if it's string data - create list of unique strings
-			var dataType:String = getMetadata(ColumnMetadata.DATA_TYPE);
+			var dataType:String = super.getMetadata(ColumnMetadata.DATA_TYPE);
 			if (data[0] is String || (dataType && dataType != DataTypes.NUMBER))
 			{
 				if (!dataType)
@@ -187,7 +187,7 @@
 				_maxNumber = NaN;
 			}
 			_metadata[ColumnMetadata.DATA_TYPE] = dataType;
-			_dataType = dataType == DataTypes.STRING ? String : Number;
+			_dataType = dataType == DataTypes.NUMBER ? Number : String;

 			// save a mapping from keys to data
 			for (index = 0; index < keysA.length; index++)


Fixed compiling errors in WeaveUI

Fixed compiling errors in WeaveUI

Change-Id: I1015a92a23f536f4781f90ebd4958fca603bbcf9

--- WeaveUI/src/weave/visualization/layers/InteractiveVisualization.as
+++ WeaveUI/src/weave/visualization/layers/InteractiveVisualization.as
@@ -109,9 +109,9 @@
 			mouseModeCache[InteractionController.PROBE] = InteractionController.PROBE;
 			mouseModeCache[InteractionController.PAN] = InteractionController.PAN;
 			mouseModeCache[InteractionController.ZOOM] = InteractionController.ZOOM;
-			mouseModeCache[InteractionController.ZOOM_IN] = InteractionController.ZOOM_IN];
-			mouseModeCache[InteractionController.ZOOM_OUT] = InteractionController.ZOOM_OUT];
-			mouseModeCache[InteractionController.ZOOM_TO_EXTENT] = InteractionController.ZOOM_TO_EXTENT];
+			mouseModeCache[InteractionController.ZOOM_IN] = InteractionController.ZOOM_IN;
+			mouseModeCache[InteractionController.ZOOM_OUT] = InteractionController.ZOOM_OUT;
+			mouseModeCache[InteractionController.ZOOM_TO_EXTENT] = InteractionController.ZOOM_TO_EXTENT;

 			defaultMouseMode.value = InteractionController.SELECT;
 			interactions = Weave.properties.toolInteractions;


Transferred from the Adobe Open Source Subversion Repository

Revision: 5067
Author:   smgilson@adobe.com
Date:     2009-02-25T16:21:22.849704Z

Log Message:
-----------
In preparation for adding ASDoc version tags for Flex, remove old tags from AIR files

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<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/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMaximizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/IWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as</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/airframework/src/mx/controls/FileSystemSizeDisplayMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/AIREvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/StatusBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FileEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/WindowExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowCloseButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.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/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>

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

--- frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as
+++ frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as
@@ -18,61 +18,60 @@
 /**
  *  The skin for the TitleBar of a WindowedApplication or Window.
  *
- *  @playerversion AIR 1.1
  */
 public class ApplicationTitleBarBackgroundSkin extends ProgrammaticSkin
 {
     include "../../core/Version.as";

-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------

-	/**
-	 *  Constructor.
-	 */
-	public function ApplicationTitleBarBackgroundSkin()
-	{
-		super();
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods: Programmatic Skin
-	//
-	//--------------------------------------------------------------------------
+    /**
+     *  Constructor.
+     */
+    public function ApplicationTitleBarBackgroundSkin()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: Programmatic Skin
+    //
+    //--------------------------------------------------------------------------

-	/**
-	 *  @private
-	 */
-	override protected function updateDisplayList(unscaledWidth:Number,
-									  			  unscaledHeight:Number):void
-	{
-		super.updateDisplayList(unscaledWidth, unscaledHeight);
-
-		var cornerRadius:Number = getStyle("cornerRadius");
-		var titleBarColors:Array = getStyle("titleBarColors");
-		StyleManager.getColorNames(titleBarColors);
-		graphics.clear();
-		drawRoundRect(
-			0, 0, unscaledWidth, unscaledHeight, {tl: cornerRadius,
-			tr: cornerRadius, bl: 0, br: 0},
-			titleBarColors, [ 1.0, 1.0 ],
-			verticalGradientMatrix(0, 0, unscaledWidth, unscaledHeight));
-		graphics.lineStyle(1, 0xFFFFFF, 0.2);
-		graphics.moveTo(0, unscaledHeight - 1);
-		graphics.lineTo(0, cornerRadius);
-		graphics.curveTo(0, 0, cornerRadius, 0);
-		graphics.lineTo(unscaledWidth-1 - cornerRadius, 0);
-		graphics.curveTo(unscaledWidth-1, 0, unscaledWidth - 1, cornerRadius);
-		graphics.lineTo(unscaledWidth-1, unscaledHeight - 1);
-		graphics.moveTo(0, unscaledHeight - 1);
-		graphics.lineStyle(1, 0x000000, 0.35);
-		graphics.lineTo(unscaledWidth, unscaledHeight - 1);
-
-	}
+    /**
+     *  @private
+     */
+    override protected function updateDisplayList(unscaledWidth:Number,
+                                                  unscaledHeight:Number):void
+    {
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+        var cornerRadius:Number = getStyle("cornerRadius");
+        var titleBarColors:Array = getStyle("titleBarColors");
+        StyleManager.getColorNames(titleBarColors);
+        graphics.clear();
+        drawRoundRect(
+            0, 0, unscaledWidth, unscaledHeight, {tl: cornerRadius,
+            tr: cornerRadius, bl: 0, br: 0},
+            titleBarColors, [ 1.0, 1.0 ],
+            verticalGradientMatrix(0, 0, unscaledWidth, unscaledHeight));
+        graphics.lineStyle(1, 0xFFFFFF, 0.2);
+        graphics.moveTo(0, unscaledHeight - 1);
+        graphics.lineTo(0, cornerRadius);
+        graphics.curveTo(0, 0, cornerRadius, 0);
+        graphics.lineTo(unscaledWidth-1 - cornerRadius, 0);
+        graphics.curveTo(unscaledWidth-1, 0, unscaledWidth - 1, cornerRadius);
+        graphics.lineTo(unscaledWidth-1, unscaledHeight - 1);
+        graphics.moveTo(0, unscaledHeight - 1);
+        graphics.lineStyle(1, 0x000000, 0.35);
+        graphics.lineTo(unscaledWidth, unscaledHeight - 1);
+
+    }
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/automation/src/mx/automation/delegates/controls/TileBaseAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/controls/TileBaseAutomationImpl.as
@@ -0,0 +1,428 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.automation.delegates.controls
+{
+	import flash.display.DisplayObject;
+	import flash.events.Event;
+	import flash.events.IEventDispatcher;
+	import flash.events.KeyboardEvent;
+	import flash.events.MouseEvent;
+	import flash.geom.Point;
+	import flash.ui.Keyboard;
+
+	import mx.automation.Automation;
+	import mx.automation.IAutomationObject;
+	import mx.automation.delegates.DragManagerAutomationImpl;
+	import mx.automation.events.AutomationDragEvent;
+	import mx.automation.tabularData.TileBaseTabularData;
+	import mx.controls.listClasses.IListItemRenderer;
+	import mx.controls.listClasses.TileBase;
+	import mx.controls.listClasses.TileBaseDirection;
+	import mx.core.mx_internal;
+
+	use namespace mx_internal;
+
+	[Mixin]
+	/**
+	 *
+	 *  Defines methods and properties required to perform instrumentation for the
+	 *  TileBase class, which is the parent of the TileList component.
+	 *
+	 *  @see mx.controls.listClasses.TileBase
+	 *  @see mx.controls.TileList
+	 *
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class TileBaseAutomationImpl extends ListBaseAutomationImpl
+	{
+		include "../../../core/Version.as";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Class methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Registers the delegate class for a component class with automation manager.
+		 *
+		 *  @param root The SystemManger of the application.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static function init(root:DisplayObject):void
+		{
+			Automation.registerDelegateClass(TileBase, TileBaseAutomationImpl);
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor.
+		 * @param obj TileBase object to be automated.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function TileBaseAutomationImpl(obj:TileBase)
+		{
+			super(obj);
+		}
+
+		/**
+		 *  @private
+		 *  storage for the owner component
+		 */
+		protected function get  tileBase():TileBase
+		{
+			return uiComponent as TileBase;
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden properties
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function get numAutomationChildren():int
+		{
+			if (tileBase.direction == TileBaseDirection.HORIZONTAL)
+				return super.numAutomationChildren;
+
+			var listItems:Array = tileBase.rendererArray;
+			var result:int = listItems.length * listItems[0].length;
+			var row:uint = listItems.length - 1;
+			var col:uint = listItems[0].length - 1;
+			while (!listItems[row][col] && result > 0)
+			{
+				result--;
+				if (row != 0)
+					row--;
+				else if (col != 0)
+				{
+					col--;
+					row = listItems.length - 1;
+				}
+			}
+			return result;
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function getAutomationChildAt(index:int):IAutomationObject
+		{
+			if (tileBase.direction == TileBaseDirection.HORIZONTAL)
+				return super.getAutomationChildAt(index);
+
+			var listItems:Array = tileBase.rendererArray;
+			var numRows:int = listItems.length;
+			var row:uint = index % numRows;
+			var col:uint = index / numRows;
+			return (listItems[row][col] as IAutomationObject);
+		}
+
+		/**
+		 * @private
+		 */
+		override public function getAutomationChildren():Array
+		{
+			if (tileBase.direction == TileBaseDirection.HORIZONTAL)
+				return super.getAutomationChildren();
+
+			var childrenList:Array = new Array();
+			var listItems:Array = tileBase.rendererArray;
+
+			// we get this as the 2 dim array of row and columns
+			// we need to make this as single element array
+			//while (!listItems[row][col]
+			var  rowcount:int  = listItems?listItems.length:0;
+			if (rowcount != 0)
+			{
+				var coulumcount:int = 0;
+
+				if ((listItems[0]) is Array)
+					coulumcount = (listItems[0] as Array).length;
+
+				for (var i:int = 0; i<rowcount ; i++)
+				{
+					for (var j:int = 0; j<coulumcount ; j++)
+					{
+						var item:IListItemRenderer = listItems[i][j];
+						if (item)
+							childrenList.push(item as IAutomationObject);
+					}
+				}
+			}
+			return  childrenList;
+		}
+		/**
+		 *  A matrix of the automationValues of each item in the grid. The return value
+		 *  is an array of rows, each of which is an array of item renderers (row-major).
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		override public function get automationTabularData():Object
+		{
+			return new TileBaseTabularData(tileBase);
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Event handlers
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		override protected function keyDownHandler(event:KeyboardEvent):void
+		{
+			if (event.keyCode == Keyboard.SPACE)
+			{
+				var listItems:Array = listBase.rendererArray;
+				var caretIndex:int = listBase.getCaretIndex();
+				if (caretIndex != -1)
+				{
+					var rowIndex:int = listBase.convertIndexToRow(caretIndex);
+					var colIndex:int = listBase.convertIndexToColumn(caretIndex);
+					var item:IListItemRenderer = listItems
+						[rowIndex - listBase.verticalScrollPosition]
+						[colIndex - listBase.horizontalScrollPosition]
+						as IListItemRenderer;
+					//Change made to adapt to the new sdk listbase which does not have listBase.lockedRowCount and lockedColumnCount
+
+					/*
+					var item:IListItemRenderer = listItems
+					[rowIndex - listBase.verticalScrollPosition + listBase.lockedRowCount]
+					[colIndex - listBase.horizontalScrollPosition + listBase.lockedColumnCount]
+					as IListItemRenderer;
+
+
+					*/
+					recordListItemSelectEvent(item, event);
+				}
+				return;
+			}
+
+			super.keyDownHandler(event);
+		}
+
+		/**
+		 *  @private
+		 */
+		private function getLastItemRenderer():DisplayObject
+		{
+			var item:DisplayObject;
+			var listItems:Array = tileBase.rendererArray;
+			var result:int = listItems.length * listItems[0].length;
+			var row:uint = listItems.length - 1;
+			var col:uint = listItems[0].length - 1;
+			if (tileBase.direction == TileBaseDirection.HORIZONTAL)
+			{
+				while (!listItems[row][col] && result > 0)
+				{
+					result--;
+					if (col != 0)
+						col--;
+					else if (row != 0)
+					{
+						row--;
+						col = listItems[0].length - 1;
+					}
+				}
+				if (result)
+					item = listItems[row][col];
+			}
+			else
+			{
+				while (!listItems[row][col] && result > 0)
+				{
+					result--;
+					if (row != 0)
+						row--;
+					else if (col != 0)
+					{
+						col--;
+						row = listItems.length - 1;
+					}
+				}
+				if (result)
+					item = listItems[row][col];
+			}
+
+			return item;
+		}
+
+		/**
+		 *  @private
+		 */
+		private function getLastRendererMidPoint():Point
+		{
+			var maxX:int = 0;
+			var maxY:int = 0;
+			var item:DisplayObject = getLastItemRenderer();
+			var adjusted:Boolean = false;
+			if (!item)
+				return null;
+			if (tileBase.direction == TileBaseDirection.HORIZONTAL)
+			{
+				maxX = item.x + item.width ;
+				maxY = item.y + item.height ;
+				// are we at the right edge ?
+				if (tileBase.width - maxX < item.width)
+				{
+					//yes. so move to next row
+					maxX = item.width/2;
+					maxY += item.height/2;
+					adjusted = true;
+				}
+
+				//are we at the last row?
+				if (!adjusted && tileBase.height - maxY < item.height)
+				{
+					//yes. so move to next item on right
+					maxX += item.width/2;
+					maxY -= item.height/2;
+					adjusted = true;
+				}
+
+				if (!adjusted)
+				{
+					maxX += item.width/2;
+					maxY -= item.height/2;
+				}
+			}
+			else
+			{
+				maxX = item.x + item.width ;
+				maxY = item.y + item.height ;
+				// are we at the right edge ?
+				if (tileBase.width - maxX < item.width)
+				{
+					//yes. so move to next row
+					maxX -= item.width/2;
+					maxY += item.height/2;
+					adjusted = true;
+				}
+
+				//are we at the last row?
+				if (!adjusted && tileBase.height - maxY < item.height)
+				{
+					//yes. so move to next item on right
+					maxX += item.width/2;
+					maxY = item.height/2;
+					adjusted = true;
+				}
+
+				if (!adjusted)
+				{
+					maxX -= item.width/2;
+					maxY += item.height/2;
+				}
+			}
+
+			return new Point(maxX, maxY);
+		}
+
+		/**
+		 *  @private
+		 */
+		override public function replayAutomatableEvent(event:Event):Boolean
+		{
+			if (event is AutomationDragEvent && event.type == AutomationDragEvent.DRAG_DROP)
+			{
+				var mouseEvent:MouseEvent = null;
+				var dragEvent:AutomationDragEvent = AutomationDragEvent(event);
+
+				var isTargetChild:Boolean = true;
+				var delegate:IAutomationObject = (dragEvent.draggedItem as IAutomationObject);
+				if (!delegate)
+				{
+					isTargetChild = false;
+					delegate = uiAutomationObject;
+				}
+
+				var realTarget:IEventDispatcher = IEventDispatcher(delegate);
+				var container:DisplayObject = DisplayObject(realTarget);
+				if (!isTargetChild)
+				{
+					var p:Point = getLastRendererMidPoint();
+					if (p)
+					{
+						dragEvent.localX = p.x;
+						dragEvent.localY = p.y;
+					}
+					else
+					{
+						dragEvent.localX = container.width/2;
+						dragEvent.localY = container.height/2;
+					}
+				}
+				else
+				{
+					dragEvent.localX = container.width/2;
+					dragEvent.localY = container.height/2;
+				}
+
+				// maybe add a test to make sure that localX and localY actually
+				// do point at the realTarget and aren't being obstructed by another automation
+				// object?
+				DragManagerAutomationImpl.replayDragDrop(realTarget,tileBase as IAutomationObject ,dragEvent,true);
+				/*
+				var help:IAutomationObjectHelper = Automation.automationObjectHelper;
+				mouseEvent = DragManagerAutomationImpl.toMouseEvent(MouseEvent.MOUSE_MOVE, dragEvent);
+				mouseEvent.buttonDown = true;
+				help.replayMouseEvent(realTarget, mouseEvent);
+
+				mouseEvent = DragManagerAutomationImpl.toMouseEvent(MouseEvent.MOUSE_UP, dragEvent);
+				DragManager.dragProxy.action = dragEvent.action;
+				help.replayMouseEvent(realTarget, mouseEvent);
+				help.addSynchronization(function():Boolean
+				{
+				return !DragManager.isDragging;
+				});
+				*/
+
+				return true;
+			}
+
+			return super.replayAutomatableEvent(event);
+		}
+
+	}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20644
Author:   mhorn@adobe.com
Date:     2011-03-07T18:49:20.181589Z

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/BeveledActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorTabBarFirstTabSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorTabBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaVScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaVScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SkinnableContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TransparentNavigationButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorTabBarLastTabSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuItemSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonBarButtonClassFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/BeveledBackButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaHScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaHScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorTabBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorTabBarSkin.as
@@ -35,6 +35,7 @@
     //--------------------------------------------------------------------------

     /**
+     *  Constructor.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -89,6 +90,9 @@
         }
     }

+    /**
+     *  @private
+     */
     override protected function drawBackground(unscaledWidth:Number, unscaledHeight:Number):void
     {
         super.drawBackground(unscaledWidth, unscaledHeight);


Transferred from the Adobe Open Source Subversion Repository

Revision: 19356
Author:   mhorn@adobe.com
Date:     2010-12-14T14:58:28.974295Z

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
@@ -138,6 +138,9 @@
         commitDisabled(currentState.indexOf("disabled") >= 0);
     }

+    /**
+     *  @private
+     */
     protected function commitDisabled(isDisabled:Boolean):void
     {
         alpha = isDisabled ? 0.5 : 1;
@@ -544,6 +547,9 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     *  @private
+     */
     protected function labelDisplay_valueCommitHandler(event:FlexEvent):void
     {
         invalidateSize();


fix override findHeaderRenderer and use _columns instead of columns to save splicing columns array

--- frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as
+++ frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as
@@ -2737,7 +2737,7 @@
     override mx_internal function getHeaderInfoAt(colIndex:int):AdvancedDataGridHeaderInfo
     {
         if(columnGrouping)
-            return columnsToInfo[itemToUID(columns[colIndex])];
+            return columnsToInfo[itemToUID(_columns[colIndex])];
         else
             return super.getHeaderInfoAt(colIndex);
     }
@@ -2884,11 +2884,11 @@

         // If column becomes hidden, invalidate anchor, highlight and selected indices.
         {
-            if (anchorColumnIndex != -1 && columns[anchorColumnIndex].visible == false)
+            if (anchorColumnIndex != -1 && _columns[anchorColumnIndex].visible == false)
                 anchorColumnIndex = -1;
-            if (highlightColumnIndex != -1 && columns[highlightColumnIndex].visible == false)
+            if (highlightColumnIndex != -1 && _columns[highlightColumnIndex].visible == false)
                 highlightColumnIndex = -1;
-            if (selectedColumnIndex != -1 && columns[selectedColumnIndex].visible == false)
+            if (selectedColumnIndex != -1 && _columns[selectedColumnIndex].visible == false)
                 selectedColumnIndex = -1;
         }
     }
@@ -2925,7 +2925,7 @@
         }
         else if(!columnGrouping && headerIndex != -1)
         {
-            selectedHeaderInfo = getHeaderInfo(columns[headerIndex]);
+            selectedHeaderInfo = getHeaderInfo(_columns[headerIndex]);
             selectColumnHeader(headerIndex);
         }
     }
@@ -5683,7 +5683,7 @@
         sort.fields = [];
         var oddDescending:Boolean = false;

-        var n:int = columns.length;
+        var n:int = _columns.length;
         for (var i:int = 0; i < n; i++)
         {
             sort.fields.push(
@@ -5855,12 +5855,8 @@
         }
         return adgDescription;
     }
-
-    /**
-     *  @private
-     *
-     */
-    private function findHeaderRenderer(pt:Point):IListItemRenderer
+
+    override protected function findHeaderRenderer(pt:Point):IListItemRenderer
     {
         var headerItem:IListItemRenderer;
         var xMatched:Boolean=false;
@@ -8278,7 +8274,7 @@
           {
               if (sortableColumns &&
                   selectedHeaderInfo.column.colNum != -1 && !isNaN(selectedHeaderInfo.column.colNum)
-                  && columns[selectedHeaderInfo.column.colNum].sortable)
+                  && _columns[selectedHeaderInfo.column.colNum].sortable)
               {
                   isKeyPressed = true;
                   selectColumnHeader(selectedHeaderInfo.column.colNum);
@@ -8441,7 +8437,7 @@
                     && isHeaderItemRenderer(item)
                     && sortableColumns
                     && colNum != -1
-                    && columns[colNum].sortable
+                    && _columns[colNum].sortable
                     && Object(item).hasOwnProperty("mouseEventToHeaderPart") )
             {
                 var headerPart:String = Object(item).mouseEventToHeaderPart(event);
@@ -8458,7 +8454,7 @@
                     {
                         var sequenceNumber:int;
                         var descending:Boolean;
-                        var sortInfo:SortInfo = getFieldSortInfo(columns[colNum]);
+                        var sortInfo:SortInfo = getFieldSortInfo(_columns[colNum]);
                         if (sortInfo)
                         {
                             sequenceNumber = sortInfo.sequenceNumber;
@@ -8562,7 +8558,7 @@
         if (!sortableColumns
             || isNaN(event.columnIndex)
             || event.columnIndex == -1
-            || !columns[event.columnIndex].sortable)
+            || !_columns[event.columnIndex].sortable)
             return;

         if(columnGrouping)
@@ -8572,7 +8568,7 @@
             if(isNaN(columnNumber) ||  columnNumber == -1)
                 return;

-            var headerInfo:AdvancedDataGridHeaderInfo = getHeaderInfo(columns[columnNumber]);
+            var headerInfo:AdvancedDataGridHeaderInfo = getHeaderInfo(_columns[columnNumber]);
             //If this is a leaf column and doesn't get data directly from the data row, but through internalLabelFunction
             if(headerInfo.internalLabelFunction != null)
                 event.dataField = null;
@@ -8582,7 +8578,7 @@
         // other header to sort it, then move the keyboard navigation focus
         // to that column header.
         if (columnGrouping && selectedHeaderInfo != null)
-            selectedHeaderInfo = getHeaderInfo(columns[event.columnIndex]);
+            selectedHeaderInfo = getHeaderInfo(_columns[event.columnIndex]);

         super.sortHandler(event);

@@ -9112,7 +9108,7 @@
                                                         false, true);
                         // ITEM_EDIT events are cancelable
                         advancedDataGridEvent.columnIndex = caretColumnIndex;
-                        advancedDataGridEvent.dataField = columns[caretColumnIndex].dataField;
+                        advancedDataGridEvent.dataField = _columns[caretColumnIndex].dataField;
                         advancedDataGridEvent.rowIndex = caretIndex;

                         var visibleCoords:Object


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

--- frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as
+++ frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.events
 {


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

+/**
+ *  Determines the color of a ProgressBar.
+ *  A ProgressBar is filled with a vertical gradient between this color
+ *  and a brighter color computed from it.
+ *  This style has no effect on other components, but can be set on a container
+ *  to control the appearance of all progress bars found within.
+ *  The default value is undefined, which means it is not set.
+ *  In this case, the themeColor style property is used.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
 [Style(name="barColor", type="uint", format="Color", inherit="yes", theme="halo")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 13094
Author:   jszeto@adobe.com
Date:     2009-12-18T01:22:18.482144Z

Log Message:
-----------
Fix Accessibility RTE

SDK-23467 - FormItem with backgroundColor causes RTE in accessibility code

Turn off accessibility for skins by overriding the init function.

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

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/Skin.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/Skin.as
@@ -206,6 +206,14 @@

         return needRedraw;
     }
+
+    /**
+     *  @private
+     */
+    override protected function initializeAccessibility():void
+    {
+        // Do nothing. Skins shouldn't support accessibility
+    }

     /**
      *  @private


Transferred from the Adobe Open Source Subversion Repository

Revision: 16560
Author:   smgilson@adobe.com
Date:     2010-06-14T21:14:37.093170Z

Log Message:
-----------
Fix ASDoc version tags for several Flex 4 classes makred as Flex 3

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NavigatorContent.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/RadioButtonGroup.as</path>
<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/events/LoaderInvalidationEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/ListDropIndicator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/spark/src/spark/events/LoaderInvalidationEvent.as
+++ frameworks/projects/spark/src/spark/events/LoaderInvalidationEvent.as
@@ -20,9 +20,9 @@
  *  has been invalidated.
  *
  *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class LoaderInvalidationEvent extends Event
 {


6502 sname example Draw apple

6502 sname example
Draw apple

--- 6502/easy6502/snake-ex.as
+++ 6502/easy6502/snake-ex.as
@@ -29,13 +29,14 @@
 define sysRandom    $fe
 define sysLastKey   $ff

-jsr init
-jsr test
-brk
+  jsr init
+  jsr loop
+  brk

 init:
-jsr initSnake
-rts
+  jsr initSnake
+  jsr generateApplePosition
+  rts

 initSnake:
   lda #movingRight  ;start direction
@@ -59,15 +60,37 @@
   sta $15 ; body segment 2
   rts

-test:
-  lda #$01 ;white
-  ldx #$00
-  sta (snakeHeadL,X)
+generateApplePosition:
+  ;load a new random byte into $00
+  lda sysRandom
+  sta appleL
+
+  ;load a new random number from 2 to 5 into $01
+  lda sysRandom
+  and #$03 ;mask out lowest 2 bits
+  clc
+  adc #2
+  sta appleH
+  rts
+
+loop:
+  jsr drawSnake
+  jsr drawApple
+  jmp loop
+
+
+drawSnake:
   ldx snakeLength
-body:
-  dex
-  dex
-  sta (snakeBodyStart,X)
-  cpx #$00
-  bne body
+  lda #0
+  sta (snakeHeadL,x) ; erase end of tail
+
+  ldx #0
+  lda #1
+  sta (snakeHeadL,x) ; paint head
   rts
+
+drawApple:
+  ldy #0
+  lda sysRandom
+  sta (appleL),y
+  rts


Transferred from the Adobe Open Source Subversion Repository

Revision: 11496
Author:   jon.avila@ssbbartgroup.com
Date:     2009-11-06T14:55:10.874972Z

Log Message:
-----------
This is the new accessibility implementation class for RichEditableText.
QE notes: none
Doc notes: none
Bugs: n/a
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/RichEditableTextAccImpl.as

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

--- frameworks/projects/spark/src/spark/accessibility/RichEditableTextAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/RichEditableTextAccImpl.as
@@ -0,0 +1,218 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.accessibility
+{
+
+import flash.accessibility.Accessibility;
+import flash.events.Event;
+import flash.events.FocusEvent;
+
+import mx.accessibility.AccImpl;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+import spark.components.RichEditableText;
+
+use namespace mx_internal;
+
+/**
+ *  RichEditableTextBaseAccImpl is a subclass of AccessibilityImplementation
+ *  which implements accessibility for the RichEditableTextBaseClass class.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+public class RichEditableTextAccImpl extends AccImpl
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private static const STATE_SYSTEM_READONLY:uint = 0x00000040;
+
+    /**
+     *  @private
+     */
+    private static const EVENT_OBJECT_VALUECHANGE:uint = 0x800E;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Enables accessibility in the RichEditableText class.
+     *
+     *
This method is called by application startup code
+     *  that is autogenerated by the MXML compiler.
+     *  Afterwards, when instances of RichEditableText are initialized,
+     *  their accessibilityImplementation property
+     *  will be set to an instance of this class.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public static function enableAccessibility():void
+    {
+        RichEditableText.createAccessibilityImplementation =
+            createAccessibilityImplementation;
+    }
+
+    /**
+     *  @private
+     *  Creates a RichEditableText's AccessibilityImplementation object.
+     *  This method is called from UIComponent's
+     *  initializeAccessibility() method.
+     */
+    mx_internal static function createAccessibilityImplementation(
+        component:UIComponent):void
+    {
+        component.accessibilityImplementation =
+            new RichEditableTextAccImpl(component);
+    }
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param master The UIComponent instance that this AccImpl instance
+     *  is making accessible.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function RichEditableTextAccImpl(master:UIComponent)
+    {
+        super(master);
+
+        role = 0x2a; // ROLE_SYSTEM_TEXT
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties: AccImpl
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  eventsToHandle
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Array of events that we should listen for from the master component.
+     */
+    override protected function get eventsToHandle():Array
+    {
+        return super.eventsToHandle.concat(["change"]);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: AccessibilityImplementation
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  IAccessible method for returning the text value of the RichEditableText
+     *
+     *  @param childID uint
+     *
+     *  @return Value String
+     */
+    override public function get_accValue(childID:uint):String
+    {
+        return RichEditableText(master).text;
+    }
+
+    /**
+     *  @private
+     *  IAccessible method for returning the state of the RichEditableText.
+     *  States are predefined for all the components in MSAA.
+     *  Values are assigned to each state.
+     *
+     *  @param childID uint
+     *
+     *  @return State uint
+     */
+    override public function get_accState(childID:uint):uint
+    {
+        var accState:uint = getState(childID);
+        if (!RichEditableText(master).editable)
+            accState |= STATE_SYSTEM_READONLY;
+        return accState;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden event handlers: AccImpl
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Override the generic event handler.
+     *  All AccImpl must implement this
+     *  to listen for events from its master component.
+     */
+    override protected function eventHandler(event:Event):void
+    {
+        // Let AccImpl class handle the events
+        // that all accessible UIComponents understand.
+        $eventHandler(event);
+
+        switch (event.type)
+        {
+            case "change":
+            {
+                Accessibility.sendEvent(master, 0,
+                                        EVENT_OBJECT_VALUECHANGE, true);
+                break;
+            }
+        }
+    }
+
+    /**
+     *  @private
+     *  method for returning the name of the RichEditableText
+     *  should return the value
+     *
+     *  @param childID uint
+     *
+     *  @return Name String
+     */
+    override protected function getName(childID:uint):String
+    {
+        return "";
+    }
+
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 4634
Author:   gosmith@adobe.com
Date:     2009-01-23T01:38:56.754915Z

Log Message:
-----------
First part of glue code for allowing Halo components to use the new Text Layout Framework, in order to get functionality such as bidirectional text.

Background:

TLF is making this possible by implementing a TLFTextField class. It is a Sprite that uses TLF to implement the same properties and methods as the legacy TextField class in the Player. Thanks to the createInFontContext() bottleneck method in UIComponent, it can be used by a properly-written Halo component (such as those in Flex 3) without any modifications to the component.

Note: Text should render similarly -- but is unlikely to render identically -- when a component uses TLFTextField vs. TextField. The width and height may be different, affecting layout; text could wrap differently; etc. This is a fact-of-life based on the fact that TLF/FTE and TextField are completely different text engines.

Whether a Halo component uses TLF or not to render text will be determined in Flex 4 by a new style, textFieldClass. (Gumbo components always use TLF.)

TLFTextField is currently only partially implemented. It does not yet support scrolling, selection, editing, multiple formats, or htmlText. Therefore it can only be used for simple display text, such as a Button label.

Details:

The TextStyles.as bucket 'o text styles now includes a non-inheriting textFieldClass style. It can be set to either mx.core.UITextField or mx.core.UITLFTextField. These are the Flex framework's wrapper classes around the lower-level classes flash.text.TextField (in the Player) and its TLF-based workalike, flashx.textLayout.controls.TLFTextField.

The global selector in defaults.css currently sets it to mx.core.UITextField using a ClassReference directive. For the time being, all Halo components will continue to use the "real" TextField.

The new UITLFTextField is a copy of UITextField, except that it extends TLFTextField instead of TextField. This class has been added to FrameworkClasses.as because no classes in framework.swc have a dependency on it. It will get soft-linked into applcations via the textFieldClass style.

The TLFTextField class currently lives in a fourth TLF SWC, textLayout_textField.swc. This SWC has been added to various build scripts. The external-library-path for building framework.swc now includes all four TLF SWCs, because UITLFTextField can't be compiled and linked without them. However, since they are external they aren't linked into framework.swc.

Properly-written Halo UIComponents access their text fields only through the IUITextField interface, and they create text fields like this:

textField = IUITextField(createInFontContext(UITextField));

(The reason for using createInFontContext() is to support embedded fonts that are embedded in a different SWF.)

The createInFontContext() method of UIComponent has been modified to use the textFieldClass style to determine whether to create a UITextField or a UITLFTextField.

With these changes, you can now write code like

<mx:Button label="OK"/>
<mx:Button label="OK" textFieldClass="mx.core.UITLFTextField"/>

to get two Buttons, the first of which uses UITextField (because this is the value of textFieldClass in the global selector) and the second of which uses UITLFTextField. They look very similar, which is good!

Currently, both Buttons are being measured by using an offscreen TextField. A subsequent checkin will make components rendering using UITLFTextField measure themselves using an offscreen TLFTextField so that measurement and rendering are consistent.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Deepa

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/asdoc/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as
+++ frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as
@@ -191,6 +191,20 @@
 [Style(name="textDecoration", type="String", enumeration="none,underline", inherit="yes")]

 /**
+ *  The class implementing IUITextField that is used by this component
+ *  to render text.
+ *
+ *
It can be set to either the <mx.core.UITextField class
+ *  (to use the classic TextField class built into Flash Player)
+ *  or the mx.core.UITLFTextField class
+ *  (to use the Text Layout Framework to get improved text rendering,
+ *  including bidirectional layout).

+ *
+ *  @default mx.core.UITextField
+ */
+[Style(name="textFieldClass", type="Class", inherit="no")]
+
+/**
  *  Offset of first line of text from the left side of the container, in pixels.
  *
  *  @default 0


Transferred from the Adobe Open Source Subversion Repository

Revision: 4142
Author:   cframpto@adobe.com
Date:     2008-11-19T22:32:48.335847Z

Log Message:
-----------
Implement FxRadioButtonGroup.  Fix spelling in ASDOC in RadioButtonGroup.as.

QE Notes: none
Doc Notes: example code for FxRadioButton and FxRadioButtonGroup
Reviewer: Glenn and Paul
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/ComponentBuilder.java</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButtonGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButtonGroup.png</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/bundles/en_US/controls.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/DocumentBuilder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButtonGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
+++ frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
@@ -0,0 +1,532 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 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.components
+{
+
+import flash.display.DisplayObject;
+import flash.display.DisplayObjectContainer;
+import flash.events.Event;
+import flash.events.EventDispatcher;
+import mx.core.Application;
+import mx.core.IFlexDisplayObject;
+import mx.core.IMXMLObject;
+import mx.core.IRawChildrenContainer;
+import mx.core.mx_internal;
+import mx.core.UIComponent;
+import mx.events.FlexEvent;
+import mx.events.ItemClickEvent;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Events
+//--------------------------------------
+
+/**
+ *  Dispatched when the value of the selected FxRadioButton control in
+ *  this group changes.
+ *
+ *  @eventType flash.events.Event.CHANGE
+ */
+[Event(name="change", type="flash.events.Event")]
+
+/**
+ *  Dispatched when a user selects a FxRadioButton control in the group.
+ *  You can also set a handler for individual FxRadioButton controls.
+ *
+ *  @eventType mx.events.ItemClickEvent.ITEM_CLICK
+ */
+[Event(name="itemClick", type="mx.events.ItemClickEvent")]
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[IconFile("FxRadioButtonGroup.png")]
+
+/**
+ *  The FxRadioButtonGroup control defines a group of FxRadioButton controls
+ *  that act as a single mutually exclusive control; therefore,
+ *  a user can select only one  control at a time.
+ *  The id property is required when you use the
+ *  <mx:FxRadioButtonGroup> tag to define the name
+ *  of the group.
+ *
+ *
Notice that the FxRadioButtonGroup control is a subclass of EventDispatcher,
+ *  not UIComponent, and implements the IMXMLObject interface.
+ *  All other Flex visual components are subclasses of UIComponent, which implements
+ *  the IUIComponent interface.
+ *  The FxRadioButtonGroup control has support built into the Flex compiler
+ *  that allows you to use the FxRadioButtonGroup control as a child of a Flex
+ *  container, even though it does not implement IUIComponent.
+ *  All other container children must implement the IUIComponent interface.

+ *
+ *
Therefore, if you try to define a visual component as a subclass of
+ *  EventDispatcher that implements the IMXMLObject interface,
+ *  you will not be able to use it as the child of a container.

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

+ *
+ *

+ *  <mx:FxRadioButtonGroup
+ *    Properties
+ *    enabled="true|false"
+ *    id="No default"
+ *
+ *    Events
+ *    change="No default"
+ *    itemClick="No default"
+ *  />
+ *

+ *
+ *  @see mx.components.FxRadioButtonGroup
+ */
+public class FxRadioButtonGroup extends EventDispatcher implements IMXMLObject
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param document In simple cases where a class extends EventDispatcher,
+     *  the document parameter should not be used.
+     *
+     *  @see flash.events.EventDispatcher
+     */
+    public function FxRadioButtonGroup(document:IFlexDisplayObject = null)
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  The document containing a reference to this FxRadioButtonGroup.
+     */
+    private var document:IFlexDisplayObject;
+
+    /**
+     *  @private
+     *  An Array of the FxRadioButtons that belong to this group.
+     */
+    private var radioButtons:Array /* of FxRadioButton */ = [];
+
+    /**
+     *  @private
+     *  Whether the group is enabled.  This can be different than the individual
+     *  radio buttons in the group.
+     */
+    private var _enabled:Boolean = true;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  enabled
+    //----------------------------------
+
+    [Bindable("enabledChanged")]
+    [Inspectable(category="General", defaultValue="true")]
+
+    /**
+     *  Determines whether selection is allowed.
+     *
+     *  @default true
+     */
+    public function get enabled():Boolean
+    {
+        return _enabled;
+    }
+
+    /**
+     *  @private
+     */
+    public function set enabled(value:Boolean):void
+    {
+        if (_enabled == value)
+            return;
+
+        _enabled = value;
+
+        // For each radio button, if the group is enabled then the button
+        // enable property determines if the button is enabled and if the
+        // group is disabled all the buttons are disabled.
+        var n:int = numRadioButtons;
+        for (var i:int = 0; i < n; i++)
+        {
+            getRadioButtonAt(i).setEnabled();
+        }
+
+        dispatchEvent(new Event("enabledChanged"));
+    }
+
+    //----------------------------------
+    //  numRadioButtons
+    //----------------------------------
+
+    [Bindable("numRadioButtonsChanged")]
+
+    /**
+     *  The number of FxRadioButtons that belong to this FxRadioButtonGroup.
+     *
+     *  @default "undefined"
+     */
+    public function get numRadioButtons():int
+    {
+        return radioButtons.length;
+    }
+
+    //----------------------------------
+    //  selectedValue
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the selectedValue property.
+     */
+    private var _selectedValue:Object;
+
+    [Bindable("change")]
+    [Bindable("valueCommit")]
+    [Inspectable(category="General")]
+
+    /**
+     *  The value of the value property of the selected
+     *  FxRadioButton control in the group, if this has been set
+     *  to be something other than null (the default value).
+     *  Otherwise, selectedValue is the value of the
+     *  label property of the selected FxRadioButton.
+     *  If no FxRadioButton is selected, this property is null.
+     *
+     *
If you set selectedValue, Flex selects the
+     *  FxRadioButton control whose value or
+     *  label property matches this value.

+     *
+     *  @default null
+     */
+    public function get selectedValue():Object
+    {
+        if (selection)
+        {
+            return selection.value != null ?
+                   selection.value :
+                   selection.label;
+        }
+
+        return null;
+    }
+
+    /**
+     *  @private.
+     */
+    public function set selectedValue(value:Object):void
+    {
+        _selectedValue = value;
+
+        var n:int = numRadioButtons;
+        for (var i:int = 0; i < n; i++)
+        {
+            var radioButton:FxRadioButton = getRadioButtonAt(i);
+            if (radioButton.value == value ||
+                radioButton.label == value)
+            {
+                changeSelection(i, false);
+                break;
+            }
+        }
+
+        dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
+    }
+
+    //----------------------------------
+    //  selection
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Reference to the selected radio button.
+     */
+    private var _selection:FxRadioButton;
+
+    [Bindable("change")]
+    [Bindable("valueCommit")]
+    [Inspectable(category="General")]
+
+    /**
+     *  Contains a reference to the currently selected
+     *  FxRadioButton control in the group.
+     *  You can access the property in ActionScript only;
+     *  it is not settable in MXML.
+     *  Setting this property to null deselects the currently
+     *  selected FxRadioButton control.
+     *
+     *  @default null
+     */
+    public function get selection():FxRadioButton
+    {
+        return _selection;
+    }
+
+    /**
+     *  @private
+     */
+    public function set selection(value:FxRadioButton):void
+    {
+        // Going through the selection setter should never fire a change event.
+        setSelection(value, false);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Implementation of the IMXMLObject.initialized() method
+     *  to support deferred instantiation.
+     *
+     *  @param document The MXML document that created this object.
+     *
+     *  @param id The identifier used by document to refer to this object.
+     *  If the object is a deep property on document, id is null.
+     *
+     *  @see mx.core.IMXMLObject
+     */
+    public function initialized(document:Object, id:String):void
+    {
+        this.document = document ?
+                        IFlexDisplayObject(document) :
+                        IFlexDisplayObject(Application.application);
+    }
+
+    /**
+     *  Returns the  control at the specified index.
+     *
+     *  @param index The index of the  control in the
+     *  FxRadioButtonGroup control, where the index of the first control is 0.
+     *
+     *  @return The specified FxRadioButton control.
+     */
+    public function getRadioButtonAt(index:int):FxRadioButton
+    {
+        return radioButtons[index];
+    }
+
+    /**
+     *  @private
+     *  Add a radio button to the group.
+     */
+    mx_internal function addInstance(instance:FxRadioButton):void
+    {
+        instance.addEventListener(Event.REMOVED, radioButton_removedHandler);
+        radioButtons.push(instance);
+
+        // Apply group indices in "breadth-first" order.
+        radioButtons.sort(breadthOrderCompare);
+        for (var i:int = 0; i < radioButtons.length; i++)
+            radioButtons[i].indexNumber = i;
+
+        if (_selectedValue != null)
+            selectedValue = _selectedValue;
+
+		dispatchEvent(new Event("numRadioButtonsChanged"));
+    }
+
+    /**
+     *  @private
+     *  Remove a radio button from the group.
+     */
+    mx_internal function removeInstance(instance:FxRadioButton):void
+    {
+        if (instance)
+        {
+
+            var foundInstance:Boolean = false;
+            for (var i:int = 0; i < numRadioButtons; i++)
+            {
+                var rb:FxRadioButton = getRadioButtonAt(i);
+
+                if (foundInstance)
+                {
+                    // Decrement the indexNumber for each button after the removed button.
+                    rb.indexNumber--;
+                }
+                else if (rb == instance)
+                {
+                	rb.group = null;
+
+                    if (instance == _selection)
+                    {
+                        _selection = null;
+                    }
+                    // Remove the radio button from the internal array.
+                    radioButtons.splice(i,1);
+                    foundInstance = true;
+                    // redo the same index because we removed the previous item at this index
+                    i--;
+                }
+            }
+
+            if (foundInstance)
+				dispatchEvent(new Event("numRadioButtonsChanged"));
+        }
+    }
+
+    /**
+     *  @private
+     */
+    mx_internal function getEnabled():Boolean
+    {
+        return _enabled;
+    }
+
+    /**
+     *  @private
+     *  Return the value or the label value
+     *  of the selected radio button.
+     */
+    private function getValue():String
+    {
+        if (selection)
+        {
+            return selection.value &&
+                   selection.value is String &&
+                   String(selection.value).length != 0 ?
+                   String(selection.value) :
+                   selection.label;
+        }
+        else
+        {
+            return null;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    mx_internal function setSelection(value:FxRadioButton, fireChange:Boolean = true):void
+    {
+        if (value == null && _selection != null)
+        {
+            _selection.selected = false;
+            _selection = null;
+            if (fireChange)
+                dispatchEvent(new Event(Event.CHANGE));
+        }
+        else
+        {
+            var n:int = numRadioButtons;
+            for (var i:int = 0; i < n; i++)
+            {
+                if (value == getRadioButtonAt(i))
+                {
+                    changeSelection(i, fireChange);
+                    break;
+                }
+            }
+        }
+
+        dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
+    }
+
+    /**
+     *  @private
+     */
+    private function changeSelection(index:int, fireChange:Boolean = true):void
+    {
+        if (getRadioButtonAt(index))
+        {
+            // Unselect the currently selected radio
+            if (selection)
+                selection.selected = false;
+
+            // Change the focus to the new radio.
+            // Set the state of the new radio to true.
+            // Fire a click event for the new radio.
+            // Fire a click event for the radio group.
+            _selection = getRadioButtonAt(index);
+            _selection.selected = true;
+            if (fireChange)
+                dispatchEvent(new Event(Event.CHANGE));
+        }
+    }
+
+    /**
+     *  @private
+     */
+    private function breadthOrderCompare(a:DisplayObject, b:DisplayObject):Number
+    {
+        var aParent:DisplayObject = a.parent;
+        var bParent:DisplayObject = b.parent;
+
+        if (!aParent || !bParent)
+            return 0;
+
+        var aNestLevel:int = (a is UIComponent) ? UIComponent(a).nestLevel : -1;
+        var bNestLevel:int = (b is UIComponent) ? UIComponent(b).nestLevel : -1;
+
+        var aIndex:int = aParent is IRawChildrenContainer ?
+            IRawChildrenContainer(aParent).rawChildren.getChildIndex(a) :
+            DisplayObjectContainer(aParent).getChildIndex(a);
+
+        var bIndex:int = bParent is IRawChildrenContainer ?
+            IRawChildrenContainer(bParent).rawChildren.getChildIndex(b) :
+            DisplayObjectContainer(bParent).getChildIndex(b);
+
+        if (aNestLevel > bNestLevel || (a.parent == b.parent && aIndex > bIndex))
+            return 1;
+        else if (aNestLevel < bNestLevel ||  (a.parent == b.parent && bIndex > aIndex))
+            return -1;
+        else if (a == b)
+            return 0;
+        else // Nest levels are identical, compare ancestors.
+            return breadthOrderCompare(aParent, bParent);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Event Handlers
+    //
+    //--------------------------------------------------------------------------
+     /**
+     *  @private
+     */
+    private function radioButton_removedHandler(event:Event):void
+    {
+        var rb:FxRadioButton = event.target as FxRadioButton;
+        if (rb)
+        {
+        	rb.removeEventListener(Event.REMOVED, radioButton_removedHandler);
+            removeInstance(FxRadioButton(event.target));
+        }
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 11697
Author:   cframpto@adobe.com
Date:     2009-11-12T16:15:17.574758Z

Log Message:
-----------
Get scroll bars back.  Yesterday's rev 11652 which added an invalidateSize() call to the damageHandler interacts badly with a hack in measure() for the scroller to help it deal with resizes that sets _contentWidth and _contentHeight to 0.  It is possible that there will be a remeasure, but nothing needs to be composed so _contentWidth and _contentHeight are not updated and the scroller thinks scroll bars are needed.

Remove the code which set _contentWidth and _contentHeight to 0 added for SDK-22469. Much has changed in both RET and the scoller since this code was done.  I retested SDK-22469 and it looks good with the code removed and we have scroll bars back when they are needed.

QE notes: could retest SDK-22469 if you desire, need a mustella test for the absence of scroll bars when they should be there
Doc notes:
Bugs:
Reviewer: will be Gordon
Tests run: checkintests, TextArea
Is noteworthy for integration: no

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -2440,14 +2440,6 @@
         // composing text.
         updateStylesIfChanged();

-        // ScrollerLayout.measure() has heuristics for figuring out whether to
-        // use the actual content size or the preferred size when there are
-        // automatic scroll bars.  Force it to use the preferredSizes until
-        // the content sizes have been updated to accurate values.  This
-        // comes into play when remeasuring to reduce either the width/height.
-        _contentWidth = 0;
-        _contentHeight = 0;
-
         // percentWidth and/or percentHeight will come back in as constraints
         // on the remeasure if we're autoSizing.


Transferred from the Adobe Open Source Subversion Repository

Revision: 14483
Author:   smgilson@adobe.com
Date:     2010-03-01T19:01:18.459430Z

Log Message:
-----------
merge 14456: Adding ASDoc version tags classes

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkRangeAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkRadioButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkPanelAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarAutomationImpl.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/automation/air/AirFunctionsHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSkinnableContainerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkValueChangeAutomationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBarBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkNavigatorContentAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTrackBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/events/EventDetails.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkListItemSelectEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTabBarAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableContainerBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/mediaClasses/SparkMuteButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/automation/air/AirDragManagerAutomationHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/SOAPResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTextBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTitleWindowAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTileGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkToggleButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSpinnerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccConst.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkLabelAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkBorderContainerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkGroupBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkVideoPlayerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableComponentAutomationImpl.as</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkGroupBaseAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkGroupBaseAutomationImpl.as
@@ -11,237 +11,258 @@

 package spark.automation.delegates.components.supportClasses
 {
-	import flash.display.DisplayObject;
-	import flash.events.Event;
-	import flash.events.KeyboardEvent;
-	import flash.events.MouseEvent;
-
-	import mx.automation.Automation;
-	import mx.automation.IAutomationObject;
-	import mx.automation.IAutomationObjectHelper;
-	import mx.automation.delegates.core.UIComponentAutomationImpl;
-	import mx.automation.tabularData.ContainerTabularData;
-	import mx.core.EventPriority;
-	import mx.core.mx_internal;
-
-	import spark.components.Scroller;
-	import spark.components.supportClasses.GroupBase;
-	import spark.core.IViewport;
-
-	use namespace mx_internal;
-
-	[Mixin]
-	/**
-	 *
-	 *  Defines methods and properties required to perform instrumentation for the
-	 *  GroupBase control.
-	 *
-	 *  @see spark.components.supportClasses.GroupBase
-	 *
-	 */
-	public class SparkGroupBaseAutomationImpl extends UIComponentAutomationImpl
-	{
-		include "../../../../core/Version.as";
-		//--------------------------------------------------------------------------
-		//
-		//  Class methods
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  Registers the delegate class for a component class with automation manager.
-		 *
-		 *  @param root The SystemManger of the application.
-		 */
-		public static function init(root:DisplayObject):void
-		{
-			Automation.registerDelegateClass(spark.components.supportClasses.GroupBase, SparkGroupBaseAutomationImpl);
-		}
-
-		/**
-		 *  Constructor.
-		 * @param obj GroupBase object to be automated.
-		 */
-		public function SparkGroupBaseAutomationImpl(obj:spark.components.supportClasses.GroupBase)
-		{
-			super(obj);
-			obj.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler,
-				false, EventPriority.DEFAULT+1, true );
-		}
-
-		/**
-		 *  @private
-		 *  storage for the owner component
-		 */
-		protected function get grpBase():GroupBase
-		{
-			return uiComponent as GroupBase;
-		}
-
-
-
-		//----------------------------------
-		//  automationName
-		//----------------------------------
-
-		/**
-		 *  @private
-		 */
-		override public function get automationName():String
-		{
-			return super.automationName;
-		}
-
-		//----------------------------------
-		//  automationValue
-		//----------------------------------
-
-		/**
-		 *  @private
-		 */
-		override public function get automationValue():Array
-		{
-			return  super.automationValue;
-		}
-
-
-
-		//--------------------------------------------------------------------------
-		//
-		//  Overridden methods
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  @private
-		 *  Replays click interactions on the button.
-		 *  If the interaction was from the mouse,
-		 *  dispatches MOUSE_DOWN, MOUSE_UP, and CLICK.
-		 *  If interaction was from the keyboard,
-		 *  dispatches KEY_DOWN, KEY_UP.
-		 *  Button's KEY_UP handler then dispatches CLICK.
-		 *
-		 *  @param event ReplayableClickEvent to replay.
-		 */
-		override public function replayAutomatableEvent(event:Event):Boolean
-		{
-			var help:IAutomationObjectHelper = Automation.automationObjectHelper;
-
-			if (event is MouseEvent && event.type == MouseEvent.CLICK)
-				return help.replayClick(uiComponent, MouseEvent(event));
-
-			else if (event is MouseEvent && event.type == MouseEvent.MOUSE_WHEEL)
-				return help.replayMouseEvent(uiComponent, event as MouseEvent);
-
-			else if (event is KeyboardEvent)
-				return help.replayKeyboardEvent(uiComponent, KeyboardEvent(event));
-
-			else
-				return super.replayAutomatableEvent(event);
-		}
-
-		override public function createAutomationIDPart(child:IAutomationObject):Object
-		{
-			var help:IAutomationObjectHelper = Automation.automationObjectHelper;
-			return help.helpCreateIDPart(uiAutomationObject, child);
-		}
-
-		/**
-		 *  @private
-		 */
-		override public function resolveAutomationIDPart(part:Object):Array
-		{
-			var help:IAutomationObjectHelper = Automation.automationObjectHelper;
-			return help.helpResolveIDPart(uiAutomationObject, part);
-		}
-
-		/**
-		 *  @private
-		 */
-		override public function createAutomationIDPartWithRequiredProperties(child:IAutomationObject, properties:Array):Object
-		{
-			var help:IAutomationObjectHelper = Automation.automationObjectHelper;
-			return help.helpCreateIDPartWithRequiredProperties(uiAutomationObject, child,properties);
-
-		}
-
-		/**
-		 *  @private
-		 */
-		override public function getAutomationChildren():Array
-		{
-			var n:int = grpBase.numChildren;
-			var childArray:Array = new Array();
-
-			for ( var i:int = 0; i<n ; i++)
-			{
-				var obj:Object = grpBase.getChildAt(i);
-
-				// here if are getting scrollers, we need to add the viewport's children as the actual children
-				// instead of the scroller
-				if(obj is spark.components.Scroller)
-				{
-					var scroller:spark.components.Scroller = obj as spark.components.Scroller;
-					var viewPort:IViewport =  scroller.viewport;
-					if(viewPort is IAutomationObject)
-						childArray.push(viewPort);
-					if(scroller.horizontalScrollBar)
-						childArray.push(scroller.horizontalScrollBar);
-					if(scroller.verticalScrollBar)
-						childArray.push(scroller.verticalScrollBar);
-				}
-				else
-					childArray.push(obj as IAutomationObject);
-			}
-			return childArray;
-		}
-
-		/**
-		 *  @private
-		 */
-		protected function getInternalScroller():spark.components.Scroller
-		{
-			var n:int = grpBase.numChildren;
-			var childArray:Array = new Array();
-
-			for ( var i:int = 0; i<n ; i++)
-			{
-				var obj:Object = grpBase.getChildAt(i);
-
-				// here if are getting scrollers, we need to add the viewport's children as the actual children
-				// instead of the scroller
-				if(obj is spark.components.Scroller)
-					return obj as spark.components.Scroller;
-			}
-
-			return null;
-		}
-		/**
-		 *  @private
-		 */
-		override public function get automationTabularData():Object
-		{
-			return new ContainerTabularData(uiAutomationObject);
-		}
-
-		/**
-		 *  @private
-		 */
-		private function mouseWheelHandler(event:MouseEvent):void
-		{
-			if(event.target == uiComponent)
-			{
-				recordAutomatableEvent(event, true);
-			}
-		}
-
-		override protected function keyDownHandler(event:KeyboardEvent):void
-		{
-
-			if( event.target == getInternalScroller())
-				recordAutomatableEvent(event);
-		}
-
-	}
-
+    import flash.display.DisplayObject;
+    import flash.events.Event;
+    import flash.events.KeyboardEvent;
+    import flash.events.MouseEvent;
+
+    import mx.automation.Automation;
+    import mx.automation.IAutomationObject;
+    import mx.automation.IAutomationObjectHelper;
+    import mx.automation.delegates.core.UIComponentAutomationImpl;
+    import mx.automation.tabularData.ContainerTabularData;
+    import mx.core.EventPriority;
+    import mx.core.mx_internal;
+
+    import spark.components.Scroller;
+    import spark.components.supportClasses.GroupBase;
+    import spark.core.IViewport;
+
+    use namespace mx_internal;
+
+    [Mixin]
+    /**
+     *
+     *  Defines methods and properties required to perform instrumentation for the
+     *  GroupBase control.
+     *
+     *  @see spark.components.supportClasses.GroupBase
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     *
+     */
+    public class SparkGroupBaseAutomationImpl extends UIComponentAutomationImpl
+    {
+        include "../../../../core/Version.as";
+        //--------------------------------------------------------------------------
+        //
+        //  Class methods
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Registers the delegate class for a component class with automation manager.
+         *
+         *  @param root The SystemManger of the application.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public static function init(root:DisplayObject):void
+        {
+            Automation.registerDelegateClass(spark.components.supportClasses.GroupBase, SparkGroupBaseAutomationImpl);
+        }
+
+        /**
+         *  Constructor.
+         * @param obj GroupBase object to be automated.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public function SparkGroupBaseAutomationImpl(obj:spark.components.supportClasses.GroupBase)
+        {
+            super(obj);
+            obj.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler,
+                false, EventPriority.DEFAULT+1, true );
+        }
+
+        /**
+         *  @private
+         *  storage for the owner component
+         */
+        protected function get grpBase():GroupBase
+        {
+            return uiComponent as GroupBase;
+        }
+
+
+
+        //----------------------------------
+        //  automationName
+        //----------------------------------
+
+        /**
+         *  @private
+         */
+        override public function get automationName():String
+        {
+            return super.automationName;
+        }
+
+        //----------------------------------
+        //  automationValue
+        //----------------------------------
+
+        /**
+         *  @private
+         */
+        override public function get automationValue():Array
+        {
+            return  super.automationValue;
+        }
+
+
+
+        //--------------------------------------------------------------------------
+        //
+        //  Overridden methods
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  @private
+         *  Replays click interactions on the button.
+         *  If the interaction was from the mouse,
+         *  dispatches MOUSE_DOWN, MOUSE_UP, and CLICK.
+         *  If interaction was from the keyboard,
+         *  dispatches KEY_DOWN, KEY_UP.
+         *  Button's KEY_UP handler then dispatches CLICK.
+         *
+         *  @param event ReplayableClickEvent to replay.
+         */
+        override public function replayAutomatableEvent(event:Event):Boolean
+        {
+            var help:IAutomationObjectHelper = Automation.automationObjectHelper;
+
+            if (event is MouseEvent && event.type == MouseEvent.CLICK)
+                return help.replayClick(uiComponent, MouseEvent(event));
+
+            else if (event is MouseEvent && event.type == MouseEvent.MOUSE_WHEEL)
+                return help.replayMouseEvent(uiComponent, event as MouseEvent);
+
+            else if (event is KeyboardEvent)
+                return help.replayKeyboardEvent(uiComponent, KeyboardEvent(event));
+
+            else
+                return super.replayAutomatableEvent(event);
+        }
+
+        /**
+         *  @private
+         */
+        override public function createAutomationIDPart(child:IAutomationObject):Object
+        {
+            var help:IAutomationObjectHelper = Automation.automationObjectHelper;
+            return help.helpCreateIDPart(uiAutomationObject, child);
+        }
+
+        /**
+         *  @private
+         */
+        override public function resolveAutomationIDPart(part:Object):Array
+        {
+            var help:IAutomationObjectHelper = Automation.automationObjectHelper;
+            return help.helpResolveIDPart(uiAutomationObject, part);
+        }
+
+        /**
+         *  @private
+         */
+        override public function createAutomationIDPartWithRequiredProperties(child:IAutomationObject, properties:Array):Object
+        {
+            var help:IAutomationObjectHelper = Automation.automationObjectHelper;
+            return help.helpCreateIDPartWithRequiredProperties(uiAutomationObject, child,properties);
+
+        }
+
+        /**
+         *  @private
+         */
+        override public function getAutomationChildren():Array
+        {
+            var n:int = grpBase.numChildren;
+            var childArray:Array = new Array();
+
+            for ( var i:int = 0; i<n ; i++)
+            {
+                var obj:Object = grpBase.getChildAt(i);
+
+                // here if are getting scrollers, we need to add the viewport's children as the actual children
+                // instead of the scroller
+                if(obj is spark.components.Scroller)
+                {
+                    var scroller:spark.components.Scroller = obj as spark.components.Scroller;
+                    var viewPort:IViewport =  scroller.viewport;
+                    if(viewPort is IAutomationObject)
+                        childArray.push(viewPort);
+                    if(scroller.horizontalScrollBar)
+                        childArray.push(scroller.horizontalScrollBar);
+                    if(scroller.verticalScrollBar)
+                        childArray.push(scroller.verticalScrollBar);
+                }
+                else
+                    childArray.push(obj as IAutomationObject);
+            }
+            return childArray;
+        }
+
+        /**
+         *  @private
+         */
+        protected function getInternalScroller():spark.components.Scroller
+        {
+            var n:int = grpBase.numChildren;
+            var childArray:Array = new Array();
+
+            for ( var i:int = 0; i<n ; i++)
+            {
+                var obj:Object = grpBase.getChildAt(i);
+
+                // here if are getting scrollers, we need to add the viewport's children as the actual children
+                // instead of the scroller
+                if(obj is spark.components.Scroller)
+                    return obj as spark.components.Scroller;
+            }
+
+            return null;
+        }
+        /**
+         *  @private
+         */
+        override public function get automationTabularData():Object
+        {
+            return new ContainerTabularData(uiAutomationObject);
+        }
+
+        /**
+         *  @private
+         */
+        private function mouseWheelHandler(event:MouseEvent):void
+        {
+            if(event.target == uiComponent)
+            {
+                recordAutomatableEvent(event, true);
+            }
+        }
+
+        /**
+         *  @private
+         */
+        override protected function keyDownHandler(event:KeyboardEvent):void
+        {
+
+            if( event.target == getInternalScroller())
+                recordAutomatableEvent(event);
+        }
+
+    }
+
 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultGridHeaderRendererAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultGridHeaderRendererAutomationImpl.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////
 package spark.automation.delegates.skins.spark
 {
     import flash.display.DisplayObject;