add debug temp container(node) and clear scene's scope

--- bin/Data/Scripts/Editor/EditorViewDebugIcons.as
+++ bin/Data/Scripts/Editor/EditorViewDebugIcons.as
@@ -9,6 +9,7 @@
 BillboardSet@ debugIconsSetSoundListeners;
 BillboardSet@ debugIconsSetZones;

+Node@ debugIconsNode = null;

 int stepDebugIconsUpdate = 30; //ms
 int timeToNextDebugIconsUpdate = 0;
@@ -18,63 +19,62 @@
 void CreateDebugIcons()
 {
     if (editorScene is null) return;
-
-    debugIconsSetDirectionalLights = editorScene.CreateComponent("BillboardSet");
+
+    debugIconsSetDirectionalLights = debugIconsNode.CreateComponent("BillboardSet");
     debugIconsSetDirectionalLights.material = cache.GetResource("Material", "Materials/Editor/DebugIconLight.xml");
     debugIconsSetDirectionalLights.material.renderOrder = 255;
     debugIconsSetDirectionalLights.sorted = true;
     debugIconsSetDirectionalLights.temporary = true;
     debugIconsSetDirectionalLights.viewMask = 0x80000000;
-
-    debugIconsSetSpotLights = editorScene.CreateComponent("BillboardSet");
+
+    debugIconsSetSpotLights = debugIconsNode.CreateComponent("BillboardSet");
     debugIconsSetSpotLights.material = cache.GetResource("Material", "Materials/Editor/DebugIconSpotLight.xml");
     debugIconsSetSpotLights.material.renderOrder = 255;
     debugIconsSetSpotLights.sorted = true;
     debugIconsSetSpotLights.temporary = true;
     debugIconsSetSpotLights.viewMask = 0x80000000;

-    debugIconsSetPointLights = editorScene.CreateComponent("BillboardSet");
+    debugIconsSetPointLights = debugIconsNode.CreateComponent("BillboardSet");
     debugIconsSetPointLights.material = cache.GetResource("Material", "Materials/Editor/DebugIconPointLight.xml");
     debugIconsSetPointLights.material.renderOrder = 255;
     debugIconsSetPointLights.sorted = true;
     debugIconsSetPointLights.temporary = true;
     debugIconsSetPointLights.viewMask = 0x80000000;

-    debugIconsSetCameras = editorScene.CreateComponent("BillboardSet");
+    debugIconsSetCameras = debugIconsNode.CreateComponent("BillboardSet");
     debugIconsSetCameras.material = cache.GetResource("Material", "Materials/Editor/DebugIconCamera.xml");
     debugIconsSetCameras.material.renderOrder = 255;
     debugIconsSetCameras.sorted = true;
     debugIconsSetCameras.temporary = true;
     debugIconsSetCameras.viewMask = 0x80000000;

-    debugIconsSetSoundSources = editorScene.CreateComponent("BillboardSet");
+    debugIconsSetSoundSources = debugIconsNode.CreateComponent("BillboardSet");
     debugIconsSetSoundSources.material = cache.GetResource("Material", "Materials/Editor/DebugIconSoundSource.xml");
     debugIconsSetSoundSources.material.renderOrder = 255;
     debugIconsSetSoundSources.sorted = true;
     debugIconsSetSoundSources.temporary = true;
     debugIconsSetSoundSources.viewMask = 0x80000000;

-    debugIconsSetSoundSources3D = editorScene.CreateComponent("BillboardSet");
+    debugIconsSetSoundSources3D = debugIconsNode.CreateComponent("BillboardSet");
     debugIconsSetSoundSources3D.material = cache.GetResource("Material", "Materials/Editor/DebugIconSoundSource.xml");
     debugIconsSetSoundSources3D.material.renderOrder = 255;
     debugIconsSetSoundSources3D.sorted = true;
     debugIconsSetSoundSources3D.temporary = true;
     debugIconsSetSoundSources3D.viewMask = 0x80000000;

-    debugIconsSetSoundListeners = editorScene.CreateComponent("BillboardSet");
+    debugIconsSetSoundListeners = debugIconsNode.CreateComponent("BillboardSet");
     debugIconsSetSoundListeners.material = cache.GetResource("Material", "Materials/Editor/DebugIconSoundListener.xml");
     debugIconsSetSoundListeners.material.renderOrder = 255;
     debugIconsSetSoundListeners.sorted = true;
     debugIconsSetSoundListeners.temporary = true;
     debugIconsSetSoundListeners.viewMask = 0x80000000;

-    debugIconsSetZones = editorScene.CreateComponent("BillboardSet");
+    debugIconsSetZones = debugIconsNode.CreateComponent("BillboardSet");
     debugIconsSetZones.material = cache.GetResource("Material", "Materials/Editor/DebugIconZone.xml");
     debugIconsSetZones.material.renderOrder = 255;
     debugIconsSetZones.sorted = true;
     debugIconsSetZones.temporary = true;
     debugIconsSetZones.viewMask = 0x80000000;
-
 }

 void UpdateViewDebugIcons()
@@ -82,8 +82,18 @@
     if (timeToNextDebugIconsUpdate > time.systemTime) return;

     if (editorScene is null) return;
-    // Checkout if scene do not have BBS component, add it once
-    BillboardSet@ bbs = editorScene.GetComponent("BillboardSet");
+
+    debugIconsNode = editorScene.GetChild("DebugIconsContainer", true);
+
+    if (debugIconsNode is null)
+    {
+        debugIconsNode = editorScene.CreateChild("DebugIconsContainer", LOCAL);
+        debugIconsNode.temporary = true;
+    }
+
+    // Checkout if debugIconsNode do not have any BBS component, add they at once
+    BillboardSet@ bbs = debugIconsNode.GetComponent("BillboardSet");
+
     if (bbs is null)
     {
         CreateDebugIcons();


Stringify an added element at the time it is added, not at the time
that toString() is called on the buffer.

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

--- src/as/com/threerings/util/StringBuilder.as
+++ src/as/com/threerings/util/StringBuilder.as
@@ -14,7 +14,7 @@
     public function append (... args) :StringBuilder
     {
         while (args.length > 0) {
-            _array.push(args.shift());
+            _array.push(String(args.shift()));
         }
         return this;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 7836
Author:   chaase@adobe.com
Date:     2009-06-15T14:37:21.379918Z

Log Message:
-----------
PARB changes for effects. This includes various property renames, a couple of class renames, moving 3 classes to a sub-package, and various doc cleanups. This also includes changing a handful of Array properties to typed Vectors.

QE: This breaks Mustella due to the renames
Doc: Docs will need to be updated to reflect the changes as well
Bugs: None
Reviewer: Jason
Tests: checkintests, Thermo's transitionbug test

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EasingFraction.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/RGBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CallAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/RepeatBehavior.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/IInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/CallActionInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateShaderTransitionInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateShaderTransitionInstance.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/ArrayInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CrossFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SimpleMotionPath.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/HSBColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/IAnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/ResizeInstance.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CrossFade.pbk</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/WipeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/CallActionInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/CallActionInstance.as
@@ -73,18 +73,18 @@
     public var functionName:String;

     //----------------------------------
-    //  parameters
+    //  args
     //----------------------------------

     /**
-     *  @copy spark.effects.CallAction#parameters
+     *  @copy spark.effects.CallAction#args
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public var parameters:Array;
+    public var args:Array;

     //--------------------------------------------------------------------------
     //
@@ -100,10 +100,10 @@
         // Dispatch an effectStart event from the target.
         super.play();

-        if (parameters)
+        if (args)
         {
             var theFunction:Function = target[functionName];
-            theFunction.apply(target, parameters);
+            theFunction.apply(target, args);
         }
         else
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19792
Author:   clucier@adobe.com
Date:     2011-01-18T13:20:31.873835Z

Log Message:
-----------
Effectively reverting changelist 19786. Unfortunately there was logic depending on the original broken behavior.

QE notes: None
Doc notes: None
Bugs: SDK-29146
Reviewer: Jason
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/Scale.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Move.as
+++ frameworks/projects/spark/src/spark/effects/Move.as
@@ -274,11 +274,8 @@
         var xProp:String = applyChangesPostLayout ? "postLayoutTranslationX" : "translationX";
         var yProp:String = applyChangesPostLayout ? "postLayoutTranslationY" : "translationY";

-        if (!(isNaN(xFrom) && isNaN(xTo) && isNaN(xBy)))
-            addMotionPath(xProp, xFrom, xTo, xBy);
-
-        if (!(isNaN(yFrom) && isNaN(yTo) && isNaN(yBy)))
-            addMotionPath(yProp, yFrom, yTo, yBy);
+        addMotionPath(xProp, xFrom, xTo, xBy);
+        addMotionPath(yProp, yFrom, yTo, yBy);

         super.initInstance(instance);
     }


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

--- frameworks/projects/charts/src/mx/charts/chartClasses/IAxis.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/IAxis.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 mx.charts.chartClasses
 {


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

--- frameworks/projects/rpc/src/mx/messaging/MultiTopicProducer.as
+++ frameworks/projects/rpc/src/mx/messaging/MultiTopicProducer.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.messaging
 {


WeaveTreeItem now modifies children array in place

--- WeaveCore/src/weave/primitives/WeaveTreeItem.as
+++ WeaveCore/src/weave/primitives/WeaveTreeItem.as
@@ -15,6 +15,8 @@

 package weave.primitives
 {
+	import flash.debugger.enterDebugger;
+
 	import weave.api.core.ILinkableObject;
 	import weave.api.core.ILinkableVariable;

@@ -39,7 +41,7 @@
 				items = [].concat.apply(null, items);
 			}

-			return items.map(_mapItems, WeaveTreeItem_implementation).filter(_filterItems);
+			return items.map(_mapItems, WeaveTreeItem_implementation).filter(_filterItemsRemoveNulls);
 		};

 		/**
@@ -66,7 +68,7 @@
 		/**
 		 * Filters out null items.
 		 */
-		private static function _filterItems(item:Object, i:*, a:*):Boolean
+		private static function _filterItemsRemoveNulls(item:Object, i:*, a:*):Boolean
 		{
 			return item != null;
 		}
@@ -315,22 +317,33 @@
 		}

 		/**
-		 * Gets a filtered copy of the child menu items.
-		 * When this property is accessed, refresh() will be called except if refresh() is already being called.
+		 * Gets the Array of child menu items and modifies it in place if necessary to create nodes from descriptors or remove null items.
 		 * This property is checked by Flex's default data descriptor.
 		 */
 		public function get children():Array
 		{
 			const id:String = 'children';
+
+			var items:Array;
 			if (isCached(id))
-				return _cache[id];
-
-			var items:Array = getObject(_children, id) as Array;
-			if (!items)
-				return cache(id, null);
-
-			var result:Array = items.map(_mapItems, childItemClass).filter(_filterItems);
-			return cache(id, result);
+				items = _cache[id];
+			else
+				items = getObject(_children, id) as Array;
+
+			if (items)
+			{
+				// overwrite original array to support filling it asynchronously
+				var iOut:int = 0;
+				for (var i:int = 0; i < items.length; i++)
+				{
+					var item:Object = _mapItems.call(childItemClass, items[i], i, items);
+					if (item != null)
+						items[iOut++] = item;
+				}
+				items.length = iOut;
+			}
+
+			return cache(id, items);
 		}

 		/**


qnd: don't add "p" to "Low" label (flavor combo box)

git-svn-id: 3f608e5a9a704dd448217c0a64c508e7f145cfa1@82963 6b8eccd3-e8c5-4e7d-8186-e12b5326b719

--- kdp3Lib/src/com/kaltura/kdpfl/view/controls/KFlavorComboBox.as
+++ kdp3Lib/src/com/kaltura/kdpfl/view/controls/KFlavorComboBox.as
@@ -350,7 +350,9 @@
 							usedPixelsArr[heightIndex] = true;
 						}
 						var prefix:String = (sortedFlavorArray[i].height > HD_LIMIT) ? hdPrefix : sdPrefix;
-						label = prefix + label + pixelsPostFix
+						label = prefix + label;
+						if (label!= lowHeight)
+							label += pixelsPostFix;
 					}
 					else
 					{


- change: Performance improvement in layout code.
See http://www.sebleedelisle.com/?p=302 for details

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@730 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/ui/layoutmanagers/CSSBoxModelLayoutManager.as
+++ src/reprise/ui/layoutmanagers/CSSBoxModelLayoutManager.as
@@ -361,7 +361,7 @@
 				{
 					upperContainer.addChildAt(element, currentDepth);
 				}
-				else
+				else if (element.parent.getChildIndex(element) != currentDepth)
 				{
 					element.parent.setChildIndex(element, currentDepth);
 				}


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

--- frameworks/projects/advancedgrids/src/mx/accessibility/AdvancedDataGridAccImpl.as
+++ frameworks/projects/advancedgrids/src/mx/accessibility/AdvancedDataGridAccImpl.as
@@ -0,0 +1,1313 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.accessibility
+{
+
+import flash.accessibility.Accessibility;
+import flash.events.Event;
+
+import mx.collections.CursorBookmark;
+import mx.collections.ICollectionView;
+import mx.collections.IHierarchicalCollectionView;
+import mx.collections.IViewCursor;
+import mx.controls.AdvancedDataGrid;
+import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
+import mx.controls.advancedDataGridClasses.AdvancedDataGridHeaderInfo;
+import mx.controls.advancedDataGridClasses.SortInfo;
+import mx.controls.listClasses.IListItemRenderer;
+import mx.core.UIComponent;
+import mx.events.AdvancedDataGridEvent;
+
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+/**
+ *  The AdvancedDataGridAccImpl class is the accessibility class for AdvancedDataGrid.
+ *
+ *  @helpid 3009
+ *  @tiptext This is the AdvancedDataGrid Accessibility Class.
+ *  @review
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class AdvancedDataGridAccImpl extends ListBaseAccImpl
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class initialization
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Static variable triggering the hookAccessibility() method.
+	 *  This is used for initializing AdvancedDataGridAccImpl class to hook its
+	 *  createAccessibilityImplementation() method to AdvancedDataGrid class
+	 *  before it gets called from UIComponent.
+	 */
+	private static var accessibilityHooked:Boolean = hookAccessibility();
+
+	/**
+	 *  @private
+	 *  Static method for swapping the createAccessibilityImplementation()
+	 *  method of AdvancedDataGrid with the AdvancedDataGridAccImpl class.
+	 */
+	private static function hookAccessibility():Boolean
+	{
+		AdvancedDataGrid.createAccessibilityImplementation =
+			createAccessibilityImplementation;
+
+		return true;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private static const ROLE_SYSTEM_LISTITEM:uint = 0x22;
+
+	/**
+	 *  @private
+	 *  Role of treeItem.
+	 */
+	private static const ROLE_SYSTEM_OUTLINEITEM:uint = 0x24;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_COLLAPSED:uint = 0x00000400;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_EXPANDED:uint = 0x00000200;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_FOCUSED:uint = 0x00000004;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_INVISIBLE:uint = 0x00008000;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_OFFSCREEN:uint = 0x00010000;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_SELECTABLE:uint = 0x00200000;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_SELECTED:uint = 0x00000002;
+
+	/**
+	 *  @private
+	 *  Event emitted if 1 item is selected.
+	 */
+	private static const EVENT_OBJECT_FOCUS:uint = 0x8005;
+
+	/**
+	 *  @private
+	 *  Event emitted if 1 item is selected.
+	 */
+	private static const EVENT_OBJECT_SELECTION:uint = 0x8006;
+
+	/**
+	 *  @private
+	 */
+	private static const EVENT_OBJECT_STATECHANGE:uint = 0x800A;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Method for creating the Accessibility class.
+	 *  This method is called from UIComponent.
+	 *  @review
+	 */
+	mx_internal static function createAccessibilityImplementation(
+								component:UIComponent):void
+	{
+		component.accessibilityImplementation =
+			new AdvancedDataGridAccImpl(component);
+	}
+
+	/**
+	 *  Method call for enabling accessibility for a component.
+	 *  This method is required for the compiler to activate
+	 *  the accessibility classes for a component.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static function enableAccessibility():void
+	{
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param master The UIComponent instance that this AccImpl instance
+	 *  is making accessible.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function AdvancedDataGridAccImpl(master:UIComponent)
+	{
+		super(master);
+
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+
+		role = getRole(advancedDataGrid);
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden properties: AccImpl
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  eventsToHandle
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *	Array of events that we should listen for from the master component.
+	 *  @review
+	 */
+	override protected function get eventsToHandle():Array
+	{
+		return super.eventsToHandle.concat([ "change",
+											AdvancedDataGridEvent.ITEM_OPEN,
+											AdvancedDataGridEvent.ITEM_CLOSE,
+											AdvancedDataGridEvent.ITEM_FOCUS_IN ]);
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: AccessibilityImplementation
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Gets the role for the component.
+	 *
+	 *  @param childID Children of the component
+	 */
+	override public function get_accRole(childID:uint):uint
+	{
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+
+		if (childID == 0)
+		{
+			role = getRole(advancedDataGrid);
+			return role;
+		}
+
+		// if header is selected
+		if (advancedDataGrid.headerIndex != -1)
+			return 0x19; // ROLE_SYSTEM_COLUMNHEADER
+
+		if (advancedDataGrid.selectionMode == "singleCell")
+		{
+			var coord:Object = advancedDataGrid.selectedCells[0];
+			if (coord)
+			{
+				// if data is hierarchical and column is the first showing the tree view
+				if (advancedDataGrid.dataProvider is IHierarchicalCollectionView && coord.columnIndex == advancedDataGrid.treeColumn.colNum)
+					return ROLE_SYSTEM_OUTLINEITEM;
+
+				return ROLE_SYSTEM_LISTITEM;
+			}
+		}
+
+		if (advancedDataGrid.dataProvider is IHierarchicalCollectionView)
+			return ROLE_SYSTEM_OUTLINEITEM;
+
+		return ROLE_SYSTEM_LISTITEM;
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the value of the ListItem/AdvancedDataGrid
+	 *  which is spoken out by the screen reader
+	 *  The AdvancedDataGrid should return the name of the currently selected item
+	 *  with m of n string (with level info if the data is hierarchical) as value
+	 *  when focus moves to AdvancedDataGrid.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return Name String
+	 *  @review
+	 */
+	override public function get_accValue(childID:uint):String
+	{
+		var accValue:String = "";
+
+		var item:Object;
+		var i:int;
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+		var coord:Object;
+
+		if (childID != 0 && advancedDataGrid.dataProvider is IHierarchicalCollectionView)
+		{
+			// Assuming childID is always ItemID + 1
+			// because getChildIDArray is not always invoked.
+			i = childID - 1;
+			if (advancedDataGrid.selectionMode == "singleCell" || advancedDataGrid.editable.length != 0)
+				i = Math.floor(i / advancedDataGrid.columns.length);
+
+			item = getItemAt(i);
+			if (item == null)
+				return accValue;
+
+			accValue = advancedDataGrid.getItemDepth(item, i - advancedDataGrid.verticalScrollPosition) + "";
+		}
+
+		return accValue;
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the state of the GridItem.
+	 *  States are predefined for all the components in MSAA.
+	 *  Values are assigned to each state.
+	 *  Depending upon the GridItem being Selected, Selectable, Invisible,
+	 *  Offscreen, a value is returned.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return State uint
+	 */
+	override public function get_accState(childID:uint):uint
+	{
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+
+		var accState:uint = getState(childID);
+
+		var row:int;
+		var col:int;
+
+		// 1 to columnCount * Rows -> ItemRenderers
+		if (childID > 0)
+		{
+			if (advancedDataGrid.headerIndex != -1) // header selected
+			{
+				accState |= STATE_SYSTEM_SELECTABLE | STATE_SYSTEM_SELECTED | STATE_SYSTEM_FOCUSED;
+				return accState;
+			}
+
+			var index:int = childID - 1;
+			var coord:Object;
+			var view:IHierarchicalCollectionView;
+			var item:Object;
+
+			if (advancedDataGrid.editable.length == 0 || advancedDataGrid.editedItemPosition == null)
+			{
+				row = index;
+				if (advancedDataGrid.selectionMode == "singleCell")
+				{
+					coord = advancedDataGrid.selectedCells[0];
+					if (coord)
+					{
+						row = coord.rowIndex;
+					}
+				}
+
+				if (row < advancedDataGrid.verticalScrollPosition ||
+					row >= advancedDataGrid.verticalScrollPosition
+						+ advancedDataGrid.rowCount)
+				{
+					accState |= (STATE_SYSTEM_OFFSCREEN | STATE_SYSTEM_INVISIBLE);
+				}
+				else
+				{
+					accState |= STATE_SYSTEM_SELECTABLE;
+
+					var renderer:IListItemRenderer = advancedDataGrid.itemToItemRenderer(
+						getItemAt(row));
+
+					if (advancedDataGrid.dataProvider is IHierarchicalCollectionView)
+					{
+						view = IHierarchicalCollectionView(advancedDataGrid.dataProvider);
+						//item = getItemAt(index);
+						item = getItemAt(row);
+
+						if (item && view.source.canHaveChildren(item))
+						{
+							if(advancedDataGrid.selectionMode != "singleCell" || (coord && coord.columnIndex == advancedDataGrid.treeColumn.colNum))
+							{
+								if (advancedDataGrid.isItemOpen(item))
+									accState |= STATE_SYSTEM_EXPANDED;
+								else
+									accState |= STATE_SYSTEM_COLLAPSED;
+							}
+						}
+					}
+
+					if (advancedDataGrid.selectionMode == "singleCell")
+					{
+						row = Math.floor(index / advancedDataGrid.columns.length);
+						col = index % advancedDataGrid.columns.length;
+
+						if (coord &&
+							coord.rowIndex == row &&
+							coord.columnIndex == col)
+						{
+							accState |= STATE_SYSTEM_SELECTED | STATE_SYSTEM_FOCUSED;
+						}
+					}
+					else if (renderer && advancedDataGrid.isItemSelected(renderer.data))
+					{
+						accState |= STATE_SYSTEM_SELECTED | STATE_SYSTEM_FOCUSED;
+					}
+				}
+			}
+			else
+			{
+				row = Math.floor(index / advancedDataGrid.columns.length);
+				col = index % advancedDataGrid.columns.length;
+
+				if (row < 0 || col < 0)
+				{
+					coord = advancedDataGrid.editedItemPosition;
+					if (coord)
+					{
+						row = coord.rowIndex;
+						col = coord.columnIndex;
+					}
+					else
+					{
+						row = 0;
+						col = 0;
+					}
+				}
+
+				if (advancedDataGrid.selectionMode == "singleCell")
+					coord = advancedDataGrid.selectedCells[0];
+
+				if (row < advancedDataGrid.verticalScrollPosition ||
+					row >= advancedDataGrid.verticalScrollPosition
+						+ advancedDataGrid.rowCount)
+				{
+					accState |= (STATE_SYSTEM_OFFSCREEN | STATE_SYSTEM_INVISIBLE);
+				}
+				else if (advancedDataGrid.columns[col].editable)
+				{
+					accState |= STATE_SYSTEM_SELECTABLE;
+
+					coord = advancedDataGrid.editedItemPosition;
+
+					if (advancedDataGrid.dataProvider is IHierarchicalCollectionView)
+					{
+						view = IHierarchicalCollectionView(advancedDataGrid.dataProvider);
+						item = getItemAt(index);
+
+						if (item && view.source.canHaveChildren(item))
+						{
+							if(advancedDataGrid.selectionMode != "singleCell" || (coord && coord.columnIndex == 0))
+							{
+								if (advancedDataGrid.isItemOpen(item))
+									accState |= STATE_SYSTEM_EXPANDED;
+								else
+									accState |= STATE_SYSTEM_COLLAPSED;
+							}
+						}
+					}
+
+					if (coord &&
+						coord.rowIndex == row &&
+						coord.columnIndex == col)
+					{
+						accState |= STATE_SYSTEM_SELECTED | STATE_SYSTEM_FOCUSED;
+					}
+				}
+			}
+		}
+
+		return accState;
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the Default Action.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return name of default action.
+	 */
+	override public function get_accDefaultAction(childID:uint):String
+	{
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+
+		var index:int = childID - 1;
+		// index is the (0 based) index of the elements after the headers
+
+		var row:int = index;
+		var col:int = 0;
+
+		if (advancedDataGrid.selectionMode == "singleCell")
+		{
+			row = Math.floor(index / advancedDataGrid.columns.length);
+			col = index % advancedDataGrid.columns.length;
+		}
+
+		if (childID == 0)
+			return null;
+
+		if (advancedDataGrid.headerIndex != -1)
+			return "Click";
+
+		if (!(advancedDataGrid.dataProvider is IHierarchicalCollectionView) || col != advancedDataGrid.treeColumn.colNum)
+			return super.get_accDefaultAction(childID);
+
+		var item:Object = getItemAt(row);
+		if (!item)
+			return null;
+
+		var view:IHierarchicalCollectionView = IHierarchicalCollectionView(advancedDataGrid.dataProvider);
+
+		// for hierarchical data
+		if (view.source.canHaveChildren(item))
+			return advancedDataGrid.isItemOpen(item) ? "Collapse" : "Expand";
+		else
+			return "Double Click";
+
+		return null;
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for executing the Default Action.
+	 *
+	 *  @param childID uint
+	 */
+	override public function accDoDefaultAction(childID:uint):void
+	{
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+
+		if (childID > 0) // see if this check needs to be given
+		{
+			// Assuming childID is always ItemID + 1
+			// because getChildIDArray may not always be invoked.
+			var index:int = childID - 1;
+			// index is the (0 based) index of the elements after the headers
+
+			var row:int = index;
+			var col:int = 0;
+
+			if (advancedDataGrid.selectionMode == "singleCell")
+			{
+				row = Math.floor(index / advancedDataGrid.columns.length);
+				col = index % advancedDataGrid.columns.length;
+			}
+
+			// if header is selected, dispatch the sort event to trigger sorting
+			if (advancedDataGrid.headerIndex != -1)
+			{
+				var advancedDataGridEvent:AdvancedDataGridEvent =
+	                new AdvancedDataGridEvent(AdvancedDataGridEvent.SORT, false, true);
+
+	            advancedDataGridEvent.columnIndex     = advancedDataGrid.headerIndex;
+	            advancedDataGridEvent.dataField       = advancedDataGrid.columns[advancedDataGrid.headerIndex].dataField;
+	            advancedDataGridEvent.multiColumnSort      = false;
+	            advancedDataGridEvent.removeColumnFromSort = false;
+
+	            advancedDataGrid.dispatchEvent(advancedDataGridEvent);
+
+	            return ;
+   			}
+
+			if (advancedDataGrid.dataProvider is IHierarchicalCollectionView && col == 0)
+			{
+				if (advancedDataGrid.selectionMode == "singleCell")
+					index = row;
+				var item:Object = getItemAt(index);
+				if (item == null)
+					return;
+
+				var view:IHierarchicalCollectionView = IHierarchicalCollectionView(advancedDataGrid.dataProvider);
+
+				if (view.source.canHaveChildren(item))
+				{
+					advancedDataGrid.expandItem(item, !advancedDataGrid.isItemOpen(item));
+					return;
+				}
+			}
+
+			if (advancedDataGrid.editable.length == 0)
+			{
+				if (advancedDataGrid.selectionMode == "singleCell")
+				{
+					advancedDataGrid.selectedCells = [{ rowIndex: row, columnIndex: col }];
+				}
+				else
+				{
+					// index is the row id
+					advancedDataGrid.selectedIndex = index;
+				}
+			}
+			else
+			{
+				advancedDataGrid.editedItemPosition = { rowIndex: row, columnIndex: col };
+			}
+		}
+	}
+
+	/**
+	 *  @private
+	 *  Method to return an array of childIDs.
+	 *
+	 *  @return Array
+	 */
+	override public function getChildIDArray():Array
+	{
+		var childIDs:Array = [];
+
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+
+		if (advancedDataGrid.dataProvider)
+		{
+			// 0 is AdvancedDataGrid, 1 to columnCount * Rows -> ItemRenderers
+			var n:int = 0;
+			if ((advancedDataGrid.editedItemPosition == null || advancedDataGrid.editable.length == 0) &&
+					advancedDataGrid.selectionMode != "singleCell") // non editable case (itemRenderers)
+				n = advancedDataGrid.dataProvider.length;
+			else // editable case (rows) or selection mode is single cell
+				n = advancedDataGrid.columns.length * advancedDataGrid.dataProvider.length;
+
+			for (var i:int = 0; i < n; i++)
+			{
+				childIDs[i] = i + 1;
+			}
+		}
+		return childIDs;
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the bounding box of the GridItem.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return Location Object
+	 */
+	override public function accLocation(childID:uint):*
+	{
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+
+		var index:int = childID - 1;
+		var row:int;
+		var col:int;
+		var coord:Object;
+
+		// return the location of the header selected
+		if (advancedDataGrid.headerIndex !=-1)
+		{
+			return advancedDataGrid.selectedHeaderInfo.headerItem;
+		}
+
+		if (advancedDataGrid.editable.length == 0 || advancedDataGrid.editedItemPosition == null)
+		{
+			if (advancedDataGrid.selectionMode == "singleCell" && advancedDataGrid.selectedCells.length > 0)
+			{
+				coord = advancedDataGrid.selectedCells[0];
+				if (coord)
+				{
+					row = coord.rowIndex;
+					col = coord.columnIndex;
+				}
+			}
+			else
+			{
+				row = index;
+				col = 0;
+			}
+
+			if (row < advancedDataGrid.verticalScrollPosition ||
+				row >= advancedDataGrid.verticalScrollPosition + advancedDataGrid.rowCount)
+			{
+				return null;
+			}
+
+			return advancedDataGrid.indicesToItemRenderer(row - advancedDataGrid.verticalScrollPosition, col);
+		}
+		else
+		{
+			row = Math.floor(index / advancedDataGrid.columns.length);
+			col = index % advancedDataGrid.columns.length;
+			if (row < advancedDataGrid.verticalScrollPosition ||
+				row >= advancedDataGrid.verticalScrollPosition + advancedDataGrid.rowCount)
+			{
+				return null;
+			}
+
+			return advancedDataGrid.indicesToItemRenderer(row - advancedDataGrid.verticalScrollPosition, col);
+		}
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the child Selections in the List.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return focused childID.
+	 */
+	override public function get_accSelection():Array
+	{
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+		var accSelection:Array = [];
+
+		var n:int;
+		var i:int;
+		var coord:Object;
+		if (advancedDataGrid.editable.length > 0 && advancedDataGrid.editedItemPosition != null)
+		{
+			coord = advancedDataGrid.editedItemPosition;
+			if (!coord)
+				return accSelection;
+
+			accSelection[0] = advancedDataGrid.columns.length * coord.rowIndex + coord.columnIndex + 1;
+		}
+		else if (advancedDataGrid.selectionMode == "singleCell")
+		{
+			n = advancedDataGrid.selectedCells.length;
+			for (i = 0; i < n; i++)
+			{
+				coord = advancedDataGrid.selectedCells[i];
+				accSelection[i] = advancedDataGrid.columns.length * coord.rowIndex + coord.columnIndex + 1;
+			}
+		}
+		else
+		{
+			var selectedIndices:Array = AdvancedDataGrid(master).selectedIndices;
+
+			n = selectedIndices.length;
+			for (i = 0; i < n; i++)
+			{
+				accSelection[i] = selectedIndices[i] + 1;
+			}
+		}
+
+		return accSelection;
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the childFocus of the AdvancedDataGrid.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return focused childID.
+	 */
+	override public function get_accFocus():uint
+	{
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+
+		var index:uint;
+		if (advancedDataGrid.headerIndex != -1)
+		{
+			if (advancedDataGrid.selectionMode == "singleCell")
+				index = advancedDataGrid.columns.length * advancedDataGrid.dataProvider.length
+			 		+ advancedDataGrid.headerIndex + 1;
+			 else
+			 	index = advancedDataGrid.dataProvider.length
+			 		+ advancedDataGrid.headerIndex + 1;
+
+			return index;
+		}
+
+		var coord:Object;
+		if (advancedDataGrid.editable.length == 0)
+		{
+			if (advancedDataGrid.selectionMode == "singleCell" && advancedDataGrid.selectedCells.length > 0)
+			{
+				coord = advancedDataGrid.selectedCells[0];
+				if (coord)
+				{
+					index = advancedDataGrid.columns.length * coord.rowIndex + coord.columnIndex + 1;
+				}
+			}
+			else
+			{
+				index = advancedDataGrid.selectedIndex;
+			}
+
+			return index >= 0 ? index + 1 : 0;
+		}
+		else
+		{
+			coord = advancedDataGrid.editedItemPosition;
+			if (coord == null)
+				return 0;
+
+			var row:int = coord.rowIndex;
+			var col:int = coord.columnIndex;
+
+			return advancedDataGrid.columns.length * row + col + 1;
+		}
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for selecting an item.
+	 *
+	 *  @param childID uint
+	 */
+	override public function accSelect(selFlag:uint, childID:uint):void
+	{
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+
+		var index:uint = childID - 1;
+
+		if (index >= 0 && index < advancedDataGrid.dataProvider.length)
+			advancedDataGrid.selectedIndex = index;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: AccImpl
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  method for returning the name of the ListItem/AdvancedDataGrid
+	 *  which is spoken out by the screen reader
+	 *  The ListItem should return the label as the name with m of n string
+	 * (with level info if the data is hierarchical) and
+	 *  AdvancedDataGrid should return the name specified in the AccessibilityProperties.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return Name String
+	 *  @review
+	 */
+	override protected function getName(childID:uint):String
+	{
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+		// 0 -> AdvancedDataGrid
+
+		if(childID != 0 && advancedDataGrid.headerIndex != -1)
+		{
+			name = getValueForHeader(advancedDataGrid);
+			return name;
+		}
+
+		if (childID == 0 || childID > 100000)
+			return "";
+
+		var len:int = 0;
+
+		// cases - 3 rows, 3 cols
+		// 1. row selection, len = 3
+		// 2. cell selection, len = 9
+		// 3. editable row/cell selection, len = 9
+		// 4. un-editable row selection, len = 3
+		// 5. un-editable cell selection, len = 9
+
+		if (advancedDataGrid.editable.length == 0 || advancedDataGrid.editedItemPosition == null)
+		{
+			if (advancedDataGrid.selectionMode == "singleCell")
+				len = advancedDataGrid.dataProvider.length * advancedDataGrid.columns.length;
+			else
+				len = advancedDataGrid.dataProvider.length;
+		}
+		else if (advancedDataGrid.editable.length != 0)
+		{
+			len = advancedDataGrid.dataProvider.length * advancedDataGrid.columns.length;
+		}
+
+		if (childID > len)
+			return "";
+
+		var name:String;
+
+		//1 to columnCount * Rows -> ItemRenderers
+		if (childID > 0) // see if this check needs to be given
+		{
+			// assuming childID is always ItemID + 1
+			// because getChildIDArray may not always be invoked.
+			var index:int = childID - 1;
+
+			// index is the (0 based) index of the elements after the headers
+			var row:int;
+			var col:int;
+			var item:Object;
+			var columns:Array;
+			var n:int;
+			var i:int;
+
+			var firstColumn:Boolean = true;
+
+			var rowStr:String;
+
+			if (advancedDataGrid.editable.length == 0 || advancedDataGrid.editedItemPosition == null)
+			{
+				// index is the row id
+				row = index;
+				rowStr = ", Row " + (row + 1);
+				item = getItemAt(index);
+				if (item is String)
+				{
+					name = " " + item;
+				}
+				else
+				{
+					name = "";
+					columns = advancedDataGrid.columns;
+
+					if (advancedDataGrid.selectionMode == "singleCell")
+					{
+						row = Math.floor(index / advancedDataGrid.columns.length);
+						col = index % advancedDataGrid.columns.length;
+
+						if (row < 0 || col < 0)
+						{
+							var coord:Object = advancedDataGrid.selectedCells[0];
+							if (coord)
+							{
+								row = coord.rowIndex;
+								col = coord.columnIndex;
+							}
+							else
+								return "";
+						}
+						rowStr = ", Row " + (row + 1);
+
+						item = getItemAt(row);
+
+						if (col != 0)
+						{
+							firstColumn = false;
+							rowStr = "";
+						}
+						name += columns[col].headerText + ": " + columns[col].itemToLabel(item);
+					}
+					else
+					{
+						n = columns.length;
+						for (i = 0; i < n; i++)
+						{
+							if (i > 0)
+								name += ",";
+							name += " " + columns[i].headerText + ": " + columns[i].itemToLabel(item);
+						}
+					}
+				}
+			}
+			else
+			{
+				row = Math.floor(index / advancedDataGrid.columns.length);
+				col = index % advancedDataGrid.columns.length;
+
+				if (row < 0 || col < 0)
+				{
+					coord = advancedDataGrid.editedItemPosition;
+					if (coord)
+					{
+						row = coord.rowIndex;
+						col = coord.columnIndex;
+					}
+					else
+					{
+						return "";
+					}
+				}
+				rowStr = ", Row " + (row + 1);
+
+				if (col != 0)
+				{
+					firstColumn = false;
+					rowStr = "";
+				}
+
+				item = getItemAt(row);
+
+				// sometimes item may be an object.
+				if (item is String)
+				{
+					name = " " + item;
+				}
+				else
+				{
+					columns = advancedDataGrid.columns;
+
+					var itemName:String = columns[col].itemToLabel(item);
+
+					var headerText:String = columns[col].headerText;
+
+					name = "";
+
+					//if (AdvancedDataGrid.selectable == true && AdvancedDataGrid.isItemSelected(row.data))
+					{
+						n = columns.length;
+						for (i = 0; i < n; i++)
+						{
+							if (i > 0)
+								name += ",";
+							name += " " + columns[i].headerText + ": " + columns[i].itemToLabel(item);
+						}
+					}
+
+					name += ", Editing " + headerText + ": " +
+							itemName;
+				}
+			}
+
+			if (advancedDataGrid.dataProvider is IHierarchicalCollectionView)
+			{
+				var view:IHierarchicalCollectionView = IHierarchicalCollectionView(advancedDataGrid.dataProvider);
+
+				var str:String = "";
+				var strMOfN:String = getMOfN(item);
+				if (item && view.source.canHaveChildren(item))
+				{
+					if (firstColumn)
+					{
+						str = ". Press control shift right arrow to open, control shift left arrow to close";
+
+						if (advancedDataGrid.editable.length == 0)
+							name +=  strMOfN + str;
+						else
+							name += strMOfN ;
+					}
+					else
+					{
+						name = name + rowStr;
+					}
+				}
+				else if(firstColumn)
+				{
+					name += strMOfN;
+				}
+
+			}
+			else
+			{
+				name = name + rowStr;
+			}
+		}
+		return name;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  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);
+
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+
+		var coord:Object;
+		var index:int;
+
+		var childID:uint;
+
+		switch (event.type)
+		{
+			case "change":
+			{
+				var sendEvent:Boolean = false;
+				if (advancedDataGrid.headerIndex != -1)
+				{
+					if (advancedDataGrid.selectionMode == "singleCell")
+						childID = advancedDataGrid.columns.length * advancedDataGrid.dataProvider.length
+					 		+ advancedDataGrid.headerIndex + 1;
+					 else
+					 	childID = advancedDataGrid.dataProvider.length
+					 		+ advancedDataGrid.headerIndex + 1;
+
+					 sendEvent = true;
+				}
+
+				if (!sendEvent && (advancedDataGrid.editable.length == 0 || advancedDataGrid.editedItemPosition == null))
+				{
+					index = advancedDataGrid.selectedIndex;
+
+					if (advancedDataGrid.selectionMode == "singleCell")
+					{
+						coord = advancedDataGrid.selectedCells[0];
+						if (coord)
+						{
+							childID = advancedDataGrid.columns.length * coord.rowIndex + coord.columnIndex + 1;
+							sendEvent = true;
+						}
+					}
+					else if (index >= 0)
+					{
+						childID = index + 1;
+						sendEvent = true;
+					}
+				}
+
+				if (sendEvent)
+				{
+					Accessibility.sendEvent(advancedDataGrid, childID,
+												EVENT_OBJECT_FOCUS);
+
+					Accessibility.sendEvent(advancedDataGrid, childID,
+												EVENT_OBJECT_SELECTION);
+				}
+				break;
+			}
+
+			case AdvancedDataGridEvent.ITEM_FOCUS_IN:
+			{
+				if (advancedDataGrid.editable.length != 0 && advancedDataGrid.editedItemPosition != null)
+				{
+					var row:int = AdvancedDataGridEvent(event).rowIndex;
+					var col:int = AdvancedDataGridEvent(event).columnIndex;
+
+					Accessibility.sendEvent(advancedDataGrid,
+									advancedDataGrid.columns.length * row + col + 1,
+									EVENT_OBJECT_FOCUS);
+
+					Accessibility.sendEvent(advancedDataGrid,
+									advancedDataGrid.columns.length * row + col + 1,
+									EVENT_OBJECT_SELECTION);
+				}
+				break;
+			}
+
+			case AdvancedDataGridEvent.ITEM_OPEN:
+			case AdvancedDataGridEvent.ITEM_CLOSE:
+			{
+				if (advancedDataGrid.selectionMode == "singleCell")
+				{
+					coord = advancedDataGrid.selectedCells[0];
+					if (coord)
+					{
+						index = coord.rowIndex;
+					}
+				}
+				else
+				{
+					index = advancedDataGrid.selectedIndex;
+				}
+
+				if (index >= 0)
+				{
+					Accessibility.sendEvent(master, index + 1,
+											EVENT_OBJECT_STATECHANGE);
+				}
+				break;
+			}
+		}
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private function getItemAt(index:int):Object
+	{
+		var iterator:IViewCursor = AdvancedDataGrid(master).collectionIterator;
+		iterator.seek(CursorBookmark.FIRST, index);
+		return iterator.current;
+	}
+
+	/**
+	 *  @private
+	 *  Local method to return m of n String.
+	 *
+	 *  @param item Object
+	 *
+	 *  @return string.
+	 */
+	private function getMOfN(item:Object):String
+	{
+		if (!item)
+			return "";
+		var advancedDataGrid:AdvancedDataGrid = AdvancedDataGrid(master);
+		var i:int = 0;
+		var n:int = 0;
+
+		var view:IHierarchicalCollectionView = IHierarchicalCollectionView(advancedDataGrid.dataProvider);
+
+		var parent:Object = advancedDataGrid.getParentItem(item);
+		if (parent != null)
+		{
+			var childNodes:ICollectionView =
+				view.getChildren(parent);
+
+			if (childNodes)
+			{
+				n = childNodes.length;
+				for (i = 0; i < n; i++)
+				{
+					if (item == childNodes[i])
+						break;
+				}
+			}
+		}
+		else
+		{
+			var cursor:IViewCursor = ICollectionView(advancedDataGrid.collectionIterator.view).createCursor();
+			while (!cursor.afterLast)
+			{
+				if (item == cursor.current)
+					i = n;
+				n++;
+				cursor.moveNext();
+			}
+		}
+
+		if (i == n)
+			i = 0;
+
+		// Make it 1-based.
+		if (n > 0)
+			i++;
+
+		return ", " + i + " of " + n;
+	}
+
+	/**
+	 *  @private
+	 *  Local method to return the header value.
+	 *  Includes the sort information also.
+	 *
+	 *  @param advancedDataGrid AdvancedDataGrid
+	 *
+	 *  @return string.
+	 */
+	private function getValueForHeader(advancedDataGrid:AdvancedDataGrid):String
+	{
+		var accValue:String;
+		var headerInfo:AdvancedDataGridHeaderInfo = advancedDataGrid.selectedHeaderInfo;
+		var column:AdvancedDataGridColumn = headerInfo.column;
+
+		// Whether the current column is sorted or not, and if so what info to
+        // read
+        var sortInfo:SortInfo = advancedDataGrid.getFieldSortInfo(column);
+
+        var str:String;
+        var str1:String = "ascending";
+        var sortOrder:String;
+        if (sortInfo)
+        {
+        	sortOrder = sortInfo.sequenceNumber == -1 ? null : (", sort order " + sortInfo.sequenceNumber);
+        	if (sortInfo.descending)
+        	{
+        		str = "descending";
+        	}
+        	else
+        	{
+        		str = "ascending";
+        		str1 = "descending";
+        	}
+        }
+
+        var sortStr:String = (str ? (" sorted " + str) : "") +
+							(sortOrder ? sortOrder : "") +
+							" Press space to sort " + str1 +
+							" on this field. " +
+							" Press control space to add this field to sort";
+
+		accValue = column.headerText + ": Column " +
+						(advancedDataGrid.headerIndex + 1);
+
+		if (advancedDataGrid.columnGrouping)
+		{
+			var colGrpStr:String = "";
+			if (headerInfo.children)
+			{
+				colGrpStr = ", spans " + headerInfo.columnSpan + " columns";
+				accValue += colGrpStr;
+			}
+			else
+			{
+				accValue += sortStr;
+			}
+		}
+		else
+		{
+			accValue += sortStr;
+		}
+
+		return accValue;
+	}
+
+	/**
+	 *  @private
+	 *  Local method to return the role of the
+	 *  AdvancedDataGrid depending on its dataProvider.
+	 *
+	 *  @param advancedDataGrid AdvancedDataGrid
+	 *
+	 *  @return uint.
+	 */
+	private function getRole(advancedDataGrid:AdvancedDataGrid):uint
+	{
+		if (advancedDataGrid.dataProvider is IHierarchicalCollectionView)
+			return 0x23; // ROLE_SYSTEM_OUTLINE
+		else
+			return 0x21; // ROLE_SYSTEM_LIST
+	}
+
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/formatters/Formatter.as
+++ frameworks/projects/framework/src/mx/formatters/Formatter.as
@@ -40,6 +40,11 @@
  *

  *
  *  @includeExample examples/SimpleFormatterExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Formatter
 {
@@ -105,6 +110,11 @@
 	 *  Error message for an invalid format string specified to the formatter.
 	 *
 	 *  @default "Invalid format"
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static function get defaultInvalidFormatError():String
 	{
@@ -146,6 +156,11 @@
 	 *  Error messages for an invalid value specified to the formatter.
 	 *
 	 *  @default "Invalid value"
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static function get defaultInvalidValueError():String
 	{
@@ -225,6 +240,11 @@

 	/**
 	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function Formatter()
 	{
@@ -257,6 +277,11 @@
 	 *  see the description of each formatter.
 	 *
Subclasses must set this value
 	 *  in the format() method.

+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var error:String;

@@ -280,6 +305,11 @@

 	/**
 	 *  @copy mx.core.UIComponent#resourceManager
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	protected function get resourceManager():IResourceManager
     {
@@ -306,6 +336,11 @@
 	 *
Subclasses should override this method and, after calling
 	 *  super.resourcesChanged(), do whatever is appropriate
 	 *  in response to having new resource values.

+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	protected function resourcesChanged():void
 	{
@@ -319,6 +354,11 @@
 	 *  @param value Value to be formatted.
 	 *
 	 *  @return The formatted string.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function format(value:Object):String
 	{


Layout adjustments

Layout adjustments

--- collect-client/src/main/flex/org/openforis/collect/presenter/InnerFormPresenter.as
+++ collect-client/src/main/flex/org/openforis/collect/presenter/InnerFormPresenter.as
@@ -18,6 +18,7 @@
 	import org.openforis.collect.ui.component.detail.CollectFormItem;
 	import org.openforis.collect.ui.component.detail.InnerFormContainer;
 	import org.openforis.collect.ui.component.detail.MultipleEntityAsTableFormItem;
+	import org.openforis.collect.ui.component.detail.TabbedFormContainer;
 	import org.openforis.collect.util.UIUtil;

 	/**
@@ -64,8 +65,13 @@
 		}

 		private function limitTableFormItemSize(formItem:CollectFormItem):void {
-			var maxAvailableHeight:Number = UIUtil.getMaxAvailableHeight(view);
-			var maxAvailableWidth:Number = UIUtil.getMaxAvailableWidth(view);
+			var tabbedFormContainer:TabbedFormContainer = UIUtil.getFirstAncestor(view, TabbedFormContainer);
+			if ( tabbedFormContainer != null ) {
+				var maxAvailableHeight:Number = tabbedFormContainer.height;
+				var maxAvailableWidth:Number = tabbedFormContainer.width;
+			}
+			//var maxAvailableHeight:Number = UIUtil.getMaxAvailableHeight(view);
+			//var maxAvailableWidth:Number = UIUtil.getMaxAvailableWidth(view);
 			if ( ! isNaN(maxAvailableWidth) && view.useScroller ) {
 				maxAvailableWidth -= INDENT_WIDTH;
 			}
@@ -74,7 +80,7 @@
 		}

 		protected function updateCurrentState():void {
-			view.useScroller = ! containsOnlyOneMultipleEntity/* || isInsideFormLayoutEntity()*/;
+			view.useScroller = ! (containsOnlyOneMultipleEntity || insideTable);
 			view.currentState = view.useScroller ? InnerFormContainer.STATE_USE_SCROLLER: InnerFormContainer.STATE_DEFAULT;
 		}

@@ -88,13 +94,16 @@
 			}
 		}

-		private function isInsideFormLayoutEntity():Boolean {
-			if ( view.entityDefinition != null && view.entityDefinition.parent != null &&
-				view.entityDefinition.parent.multiple && view.entityDefinition.parentLayout == UIUtil.LAYOUT_FORM ) {
-				return true;
-			} else {
-				return false;
-			}
+		private function get insideTable():Boolean {
+			return view.entityDefinition != null && view.entityDefinition.parentLayout == UIUtil.LAYOUT_TABLE;
+		}
+
+		private function get insideMultipleForm():Boolean {
+			return view.entityDefinition != null && view.entityDefinition.multiple && view.entityDefinition.parentLayout == UIUtil.LAYOUT_FORM;
+		}
+
+		private function get insideSingleEntityForm():Boolean {
+			return view.entityDefinition != null && ! view.entityDefinition.multiple && view.entityDefinition.parentLayout == UIUtil.LAYOUT_FORM;
 		}

 		protected function nodeDefinitionsSetter(value:IList):void {
@@ -165,8 +174,7 @@
 			var formItem:CollectFormItem;
 			if ( defn is AttributeDefinitionProxy ) {
 				formItem = UIBuilder.getAttributeFormItem(AttributeDefinitionProxy(defn));
-				formItem.labelWidth = ! (view.entityDefinition.multiple) && view.entityDefinition.parentLayout == UIUtil.LAYOUT_FORM ?
-						INDENTED_LABEL_WIDTH : DEFAULT_LABEL_WIDTH;
+				formItem.labelWidth = insideSingleEntityForm ? INDENTED_LABEL_WIDTH : DEFAULT_LABEL_WIDTH;
 			} else {
 				formItem = UIBuilder.getEntityFormItem(EntityDefinitionProxy(defn));
 				BindingUtils.bindProperty(formItem, "modelVersion", _view, "modelVersion");


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

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


Transferred from the Adobe Open Source Subversion Repository

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

--- frameworks/projects/advancedgrids/src/mx/olap/OLAPCell.as
+++ frameworks/projects/advancedgrids/src/mx/olap/OLAPCell.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 mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 16602
Author:   jasonsj@adobe.com
Date:     2010-06-21T18:38:18.429731Z

Log Message:
-----------
ActionBar and SlideViewTransition prototypes

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.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/mobilecomponents/src/spark/effects/ViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/SlideViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobiletheme/src/MobileThemeClasses.as
+++ frameworks/projects/mobiletheme/src/MobileThemeClasses.as
@@ -22,11 +22,11 @@
  *  from the classes specified in manifest.xml.
  */
 import spark.skins.mobile.MobileApplicationSkin; MobileApplicationSkin;
-import spark.skins.mobile.ActionBarSkin; ActionBarSkin;
 import spark.skins.mobile.ViewNavigatorSkin; ViewNavigatorSkin;

 // Slider
 import spark.skins.mobile.ButtonSkin; spark.skins.mobile.ButtonSkin;
+import spark.skins.mobile.ActionBarSkin; ActionBarSkin;
 import spark.skins.mobile.NavigationBarSkin; NavigationBarSkin;
 import spark.skins.mobile.AdaptableApplicationSkin; AdaptableApplicationSkin;
 import spark.skins.mobile.AndroidApplicationSkin; AndroidApplicationSkin;


changed private to protected

changed private to protected

--- frameworks/projects/mx/src/mx/controls/PopUpMenuButton.as
+++ frameworks/projects/mx/src/mx/controls/PopUpMenuButton.as
@@ -818,10 +818,7 @@
     //
     //--------------------------------------------------------------------------

-    /**
-     *  @private
-     */
-    private function menuClickHandler(event:MouseEvent):void
+	protected function menuClickHandler(event:MouseEvent):void
     {
         if (selectedIndex >= 0)
         {


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

--- frameworks/projects/mx/src/mx/skins/halo/PopUpMenuIcon.as
+++ frameworks/projects/mx/src/mx/skins/halo/PopUpMenuIcon.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////

 package mx.skins.halo
 {


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

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

 package mx.rpc.xml
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8481
Author:   smgilson@adobe.com
Date:     2009-07-09T17:28:31.741329Z

Log Message:
-----------
First of several checkins to update the namespace in ASDoc MXML syntax descriptions for Spark components

QE Notes: None
Doc Notes: None
Bugs: -
Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/HSlider.as
+++ frameworks/projects/spark/src/spark/components/HSlider.as
@@ -66,7 +66,7 @@
  *
The <HSlider> tag inherits all of the tag
  *  attributes of its superclass and adds no tag attributes:

  *

- *  <HSlider/>
+ *  <s:HSlider/>
  *

  *
  *  @see spark.skins.spark.HSliderSkin
@@ -142,31 +142,31 @@
      */
     override protected function updateDataTip(dataTipInstance:IDataRenderer, initialPosition:Point):void
     {
-    	var tipAsDisplayObject:DisplayObject = dataTipInstance as DisplayObject;
-
-    	if (tipAsDisplayObject && thumb)
-    	{
-			var relX:Number = thumb.getLayoutBoundsX() -
-								(tipAsDisplayObject.width - thumb.getLayoutBoundsWidth()) / 2;
-	        var o:Point = new Point(relX, initialPosition.y);
-	        var r:Point = localToGlobal(o);
-
-			// Get the screen bounds
-			var screenBounds:Rectangle = systemManager.getVisibleApplicationRect();
-			// Get the tips bounds. We only care about the dimensions.
-			var tipBounds:Rectangle = tipAsDisplayObject.getBounds(tipAsDisplayObject.parent);
-
-			// Make sure the tip doesn't exceed the bounds of the screen
-			r.x = Math.floor( Math.max(screenBounds.left,
-							  	Math.min(screenBounds.right - tipBounds.width, r.x)));
-			r.y = Math.floor( Math.max(screenBounds.top,
-								Math.min(screenBounds.bottom - tipBounds.height, r.y)));
-
-			r = tipAsDisplayObject.parent.globalToLocal(r);
-
-        	tipAsDisplayObject.x = r.x;
-        	tipAsDisplayObject.y = r.y;
-    	}
+        var tipAsDisplayObject:DisplayObject = dataTipInstance as DisplayObject;
+
+        if (tipAsDisplayObject && thumb)
+        {
+            var relX:Number = thumb.getLayoutBoundsX() -
+                                (tipAsDisplayObject.width - thumb.getLayoutBoundsWidth()) / 2;
+            var o:Point = new Point(relX, initialPosition.y);
+            var r:Point = localToGlobal(o);
+
+            // Get the screen bounds
+            var screenBounds:Rectangle = systemManager.getVisibleApplicationRect();
+            // Get the tips bounds. We only care about the dimensions.
+            var tipBounds:Rectangle = tipAsDisplayObject.getBounds(tipAsDisplayObject.parent);
+
+            // Make sure the tip doesn't exceed the bounds of the screen
+            r.x = Math.floor( Math.max(screenBounds.left,
+                                Math.min(screenBounds.right - tipBounds.width, r.x)));
+            r.y = Math.floor( Math.max(screenBounds.top,
+                                Math.min(screenBounds.bottom - tipBounds.height, r.y)));
+
+            r = tipAsDisplayObject.parent.globalToLocal(r);
+
+            tipAsDisplayObject.x = r.x;
+            tipAsDisplayObject.y = r.y;
+        }
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19330
Author:   klin@adobe.com
Date:     2010-12-13T21:11:45.439252Z

Log Message:
-----------
Fix for DataGroup and List baselinePosition calculations. DataGroup now uses the typicalItem's renderer to calculate its baselinePosition. To do this, DataGroup delegates the calculations to the layout. ListBase uses the baselinePosition of the DataGroup to calculate its own.

QE notes: No
Doc notes: No
Bugs: SDK-28596
Reviewer: Hans
Tests run: cyclone server, checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<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/layouts/TileLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/TileLayout.as
+++ frameworks/projects/spark/src/spark/layouts/TileLayout.as
@@ -872,6 +872,21 @@
         }
     }

+    //----------------------------------
+    //  typicalLayoutElementBaselinePosition
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    override mx_internal function get typicalLayoutElementBaselinePosition():Number
+    {
+        if (!typicalLayoutElement)
+            return paddingTop;
+
+        return typicalLayoutElement.baselinePosition + paddingTop;
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Variables


Transferred from the Adobe Open Source Subversion Repository

Revision: 12664
Author:   mhorn@adobe.com
Date:     2009-12-08T20:39:06.119601Z

Log Message:
-----------
asdoc updates; new examples; updated examples; bug fixes

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/RectangularDropShadowExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/LineExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Graphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Graphic.as
+++ frameworks/projects/spark/src/spark/primitives/Graphic.as
@@ -53,11 +53,12 @@
  *  The Graphic control displays a set of graphic drawing commands.
  *
  *
The Graphic class is the root tag for all graphic elements.
- *  This tag is the root for any FXG document. It cannot appear anywhere else in an FXG
+ *  This tag is also the root for any FXG document. It cannot appear anywhere else in an FXG
  *  document.

  *
  *
You add a series of
- *  element tags such as <Rect>, <Path>, and <Ellipse> to the Graphic's
+ *  element tags such as <Rect>, <Path>, and
+ *  <Ellipse> to the Graphic's
  *  elements Array to define the contents of the graphic.

  *
  *
Graphic controls do not have backgrounds or borders
@@ -67,9 +68,13 @@
  *  However, the graphics in the Graphic control are always sized and positioned relative
  *  to the upper-left corner of the Graphics control.

  *
- *
The Graphic element can optionally contain a <Group> element.

- *
- *  @see mx.graphics.Group
+ *
The Graphic element can optionally contain a <Group> element.

+ *
+ *  @see spark.primitives.Ellipse
+ *  @see spark.primitives.Line
+ *  @see spark.primitives.Path
+ *  @see spark.primitives.Rect
+ *  @see spark.components.Group
  *
  *  @mxml
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 8098
Author:   mhorn@adobe.com
Date:     2009-06-23T16:24:08.987020Z

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -45,7 +45,7 @@
 [Style(name="baseColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
- *  Name of the error skin class to use for this component.
+ *  Name of the skin class to use for this component when a validation error occurs.
  *
  *  @default spark.skins.spark.ErrorSkin
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 12478
Author:   gosmith@adobe.com
Date:     2009-12-04T01:03:50.724937Z

Log Message:
-----------
The partAdded() and partRemoved() methods of Spark components now dispatch new events named "partAdded" and "partRemoved", of type SkinPartEvent. The accessibility implementation classes will soon use these events to know when skin parts are added and removed so that they can attach and remove event handlers appropriately. This mechanism may change in a future release, so developers should not depend on these undocumented events.

I've made sure that all overrides of partAdded() and partRemoved() call the supermethod so that they dispatch these events.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/events/SkinPartEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -26,6 +26,7 @@
 import mx.core.UIComponent;
 import mx.events.PropertyChangeEvent;

+import spark.events.SkinPartEvent;
 import spark.utils.FTETextUtil;

 use namespace mx_internal;
@@ -789,7 +790,15 @@
      *  @productversion Flex 4
      */
     protected function partAdded(partName:String, instance:Object):void
-    {
+    {
+		// Dispatch a partAdded event.
+		// This event is an internal implementation detail subject to change.
+		// The accessibility implementation classes listen for this to know
+		// when to add their event listeners to skin parts being added.
+		var event:SkinPartEvent = new SkinPartEvent(SkinPartEvent.PART_ADDED);
+		event.partName = partName;
+		event.instance = instance;
+		dispatchEvent(event);
     }

     /**
@@ -812,6 +821,14 @@
      */
     protected function partRemoved(partName:String, instance:Object):void
     {
+		// Dispatch a partRemoved event.
+		// This event is an internal implementation detail subject to change.
+		// The accessibility implementation classes listen for this to know
+		// when to remove their event listeners from skin parts being removed
+		var event:SkinPartEvent = new SkinPartEvent(SkinPartEvent.PART_REMOVED);
+		event.partName = partName;
+		event.instance = instance;
+		dispatchEvent(event);
     }

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


removed StringUtilities usage

removed StringUtilities usage

--- cucumber-as3/src/main/flex/com/flashquartermaster/cuke4as3/reflection/StepMatcher.as
+++ cucumber-as3/src/main/flex/com/flashquartermaster/cuke4as3/reflection/StepMatcher.as
@@ -27,7 +27,6 @@
  **/
 package com.flashquartermaster.cuke4as3.reflection
 {
-import com.flashquartermaster.cuke4as3.util.StringUtilities;
 import com.flashquartermaster.cuke4as3.vo.MatchInfo;

 public class StepMatcher implements IStepMatcher
@@ -62,7 +61,7 @@

                     if( result != null)
                     {
-                        matchInfo.className = StringUtilities.getClassNameFromDeclaredBy( methodXml.@declaredBy );
+                        matchInfo.className = step.className;
                         matchInfo.args = getArgsFromResult( result, matchString );
                         matchInfo.id = _stepInvoker.saveMethodDefinitionForInvokation( methodXml );
                         matchInfo.regExp = regExInMetadata;


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

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


Transferred from the Adobe Open Source Subversion Repository

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

--- frameworks/projects/framework/src/mx/containers/utilityClasses/IConstraintLayout.as
+++ frameworks/projects/framework/src/mx/containers/utilityClasses/IConstraintLayout.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.containers.utilityClasses
 {


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

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

 package spark.skins.mobile
 {


FLEX-34088 Don't close when selecting something from a DropDownList + cleaned up code a little

--- frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
@@ -30,11 +30,13 @@
 import flash.ui.Keyboard;
 import flash.utils.Timer;

+import mx.core.IUIComponent;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
 import mx.events.SandboxMouseEvent;
 import mx.managers.ISystemManager;

+import spark.components.DropDownList;
 import spark.events.DropDownEvent;

 use namespace mx_internal;
@@ -604,13 +606,18 @@
             var target:DisplayObject = event.target as DisplayObject;
             if (openButton && target && openButton.contains(target))
                 return;
-
+
+			// don't close if something just been selected in a DropDownList
+			if (target is IUIComponent && (target as IUIComponent).document.hostComponent is DropDownList)
+				return;
+
             if (hitAreaAdditions != null)
             {
-                for (var i:int = 0;i<hitAreaAdditions.length;i++)
+				var length:int = hitAreaAdditions.length;
+                for (var i:int = 0;i < length; i++)
                 {
-                    if (hitAreaAdditions[i] == event.target ||
-                        ((hitAreaAdditions[i] is DisplayObjectContainer) && DisplayObjectContainer(hitAreaAdditions[i]).contains(event.target as DisplayObject)))
+                    if (hitAreaAdditions[i] == target ||
+                        ((hitAreaAdditions[i] is DisplayObjectContainer) && DisplayObjectContainer(hitAreaAdditions[i]).contains(target)))
                         return;
                 }
             }


Transferred from the Adobe Open Source Subversion Repository

Revision: 18843
Author:   dloverin@adobe.com
Date:     2010-11-29T21:51:45.548568Z

Log Message:
-----------
Fix for inline styles on default item renderer.

Rewrote the previous fix. Added a “addStyleDeclarationToProtoChain()” function that is called from TextFieldItemRendererInclude.as. DefaultGridItemRenderer and UITextFieldGridItemRenderer override this method to supply their styleDeclaration. DefaultGridItemRenderer adds the “direction” and “locale” style.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/UITextFieldGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultGridItemRenderer.as</path>

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

--- frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as
+++ frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as
@@ -1027,7 +1027,8 @@
     //
     //  IStyleClient Methods and Properties
     //  (source code from mx.controls.dataGridClassses.DataGridItemRenderer.as)
-    //
+    //  The original code in initProtoChain() has been modified at calls to
+    //  addStyleDeclarationToProtoChain().
     //--------------------------------------------------------------------------

     /**
@@ -1139,11 +1140,11 @@
         // Finally, we'll add the in-line styles
         // to the head of the proto chain.
         inheritingStyles = styleDeclaration ?
-            styleDeclaration.addStyleToProtoChain(inheritChain, this) :
+            addStyleDeclarationToProtoChain(inheritChain, this) :     // modified original code here
             inheritChain;

         nonInheritingStyles = styleDeclaration ?
-            styleDeclaration.addStyleToProtoChain(nonInheritChain, this) :
+            addStyleDeclarationToProtoChain(nonInheritChain, this) :  // modified original code here
             nonInheritChain;
     }

@@ -1177,6 +1178,28 @@
     {
     }

+    //----------------------------------
+    //  styleDeclaration
+    //----------------------------------
+
+    private var _styleDeclaration:CSSStyleDeclaration;
+
+    /**
+     *  @private
+     */
+    public function get styleDeclaration():CSSStyleDeclaration
+    {
+        return _styleDeclaration;
+    }
+
+    /**
+     *  @private
+     */
+    public function set styleDeclaration(value:CSSStyleDeclaration):void
+    {
+        _styleDeclaration = value;
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Event Handlers