Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/managers/DragManagerImpl.as
+++ frameworks/projects/framework/src/mx/managers/DragManagerImpl.as
@@ -0,0 +1,384 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.managers
+{
+
+import flash.display.DisplayObject;
+import flash.display.DisplayObjectContainer;
+import flash.events.Event;
+import flash.events.IEventDispatcher;
+import flash.events.KeyboardEvent;
+import flash.events.MouseEvent;
+import flash.geom.Point;
+
+import mx.core.DragSource;
+import mx.core.IFlexDisplayObject;
+import mx.core.IUIComponent;
+import mx.core.UIComponentGlobals;
+import mx.core.mx_internal;
+import mx.effects.EffectInstance;
+import mx.effects.Move;
+import mx.effects.Zoom;
+import mx.events.DragEvent;
+import mx.managers.dragClasses.DragProxy;
+import mx.styles.CSSStyleDeclaration;
+import mx.styles.StyleManager;
+
+use namespace mx_internal;
+
+[ExcludeClass]
+
+/**
+ *  @private
+ */
+public class DragManagerImpl implements IDragManager
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private static var sm:ISystemManager;
+
+	/**
+	 *  @private
+	 */
+	private static var instance:IDragManager;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	public static function getInstance():IDragManager
+	{
+		if (!instance)
+		{
+			sm = SystemManagerGlobals.topLevelSystemManagers[0];
+			instance = new DragManagerImpl();
+		}
+
+		return instance;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	public function DragManagerImpl()
+	{
+		super();
+
+		if (instance)
+			throw new Error("Instance already exists.");
+
+		if (sm.isTopLevel())
+		{
+			sm.addEventListener(MouseEvent.MOUSE_DOWN, sm_mouseDownHandler);
+			sm.addEventListener(MouseEvent.MOUSE_UP, sm_mouseUpHandler);
+		}
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Object that initiated the drag.
+	 */
+	private var dragInitiator:IUIComponent;
+
+	/**
+	 *  @private
+	 *  Object being dragged around.
+	 */
+	public var dragProxy:DragProxy;
+
+	/**
+	 *  @private
+	 */
+	private var bDoingDrag:Boolean = false;
+
+	/**
+	 *  @private
+	 */
+	private var mouseIsDown:Boolean = false;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Read-only property that returns true
+	 *  if a drag is in progress.
+	 */
+	public function get isDragging():Boolean
+	{
+		return bDoingDrag;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Initiates a drag and drop operation.
+	 *
+	 *  @param dragInitiator IUIComponent that specifies the component initiating
+	 *  the drag.
+	 *
+	 *  @param dragSource DragSource object that contains the data
+	 *  being dragged.
+	 *
+	 *  @param mouseEvent The MouseEvent that contains the mouse information
+	 *  for the start of the drag.
+	 *
+	 *  @param dragImage The image to drag. This argument is optional.
+	 *  If omitted, a standard drag rectangle is used during the drag and
+	 *  drop operation. If you specify an image, you must explicitly set a
+	 *  height and width of the image or else it will not appear.
+	 *
+	 *  @param xOffset Number that specifies the x offset, in pixels, for the
+	 *  dragImage. This argument is optional. If omitted, the drag proxy
+	 *  is shown at the upper-left corner of the drag initiator. The offset is expressed
+	 *  in pixels from the left edge of the drag proxy to the left edge of the drag
+	 *  initiator, and is usually a negative number.
+	 *
+	 *  @param yOffset Number that specifies the y offset, in pixels, for the
+	 *  dragImage. This argument is optional. If omitted, the drag proxy
+	 *  is shown at the upper-left corner of the drag initiator. The offset is expressed
+	 *  in pixels from the top edge of the drag proxy to the top edge of the drag
+	 *  initiator, and is usually a negative number.
+	 *
+	 *  @param imageAlpha Number that specifies the alpha value used for the
+	 *  drag image. This argument is optional. If omitted, the default alpha
+	 *  value is 0.5. A value of 0.0 indicates that the image is transparent;
+	 *  a value of 1.0 indicates it is fully opaque.
+	 */
+	public function doDrag(
+			dragInitiator:IUIComponent,
+			dragSource:DragSource,
+			mouseEvent:MouseEvent,
+			dragImage:IFlexDisplayObject = null, // instance of dragged item(s)
+			xOffset:Number = 0,
+			yOffset:Number = 0,
+			imageAlpha:Number = 0.5,
+			allowMove:Boolean = true):void
+	{
+		var proxyWidth:Number;
+		var proxyHeight:Number;
+
+		// Can't start a new drag if we're already in the middle of one...
+		if (bDoingDrag)
+			return;
+
+		// Can't do a drag if the mouse isn't down
+		if (!(mouseEvent.type == MouseEvent.MOUSE_DOWN ||
+			  mouseEvent.type == MouseEvent.CLICK ||
+			  mouseIsDown ||
+			  mouseEvent.buttonDown))
+		{
+			return;
+		}
+
+		bDoingDrag = true;
+
+		this.dragInitiator = dragInitiator;
+
+		// The drag proxy is a UIComponent with a single child -
+		// an instance of the dragImage.
+		dragProxy = new DragProxy(dragInitiator, dragSource);
+		dragInitiator.systemManager.popUpChildren.addChild(dragProxy);
+
+		if (!dragImage)
+		{
+			// No drag image specified, use default
+			var dragManagerStyleDeclaration:CSSStyleDeclaration =
+				StyleManager.getStyleDeclaration("DragManager");
+			var dragImageClass:Class =
+				dragManagerStyleDeclaration.getStyle("defaultDragImageSkin");
+			dragImage = new dragImageClass();
+			dragProxy.addChild(DisplayObject(dragImage));
+			proxyWidth = dragInitiator.width;
+			proxyHeight = dragInitiator.height;
+		}
+		else
+		{
+			dragProxy.addChild(DisplayObject(dragImage));
+			if (dragImage is ILayoutManagerClient )
+				UIComponentGlobals.layoutManager.validateClient(ILayoutManagerClient (dragImage), true);
+			if (dragImage is IUIComponent)
+			{
+				proxyWidth = (dragImage as IUIComponent).getExplicitOrMeasuredWidth();
+				proxyHeight = (dragImage as IUIComponent).getExplicitOrMeasuredHeight();
+			}
+			else
+			{
+				proxyWidth = dragImage.measuredWidth;
+				proxyHeight = dragImage.measuredHeight;
+			}
+		}
+
+		dragImage.setActualSize(proxyWidth, proxyHeight);
+		dragProxy.setActualSize(proxyWidth, proxyHeight);
+
+		// Alpha
+		dragProxy.alpha = imageAlpha;
+
+		dragProxy.allowMove = allowMove;
+
+		var nonNullTarget:Object = mouseEvent.target;
+		if (nonNullTarget == null)
+			nonNullTarget = dragInitiator;
+
+		var point:Point = new Point(mouseEvent.localX, mouseEvent.localY);
+		point = DisplayObject(nonNullTarget).localToGlobal(point);
+		point = DisplayObject(dragInitiator.systemManager.topLevelSystemManager).globalToLocal(point);
+		var mouseX:Number = point.x;
+		var mouseY:Number = point.y;
+
+		// Set dragProxy.offset to the mouse offset within the drag proxy.
+		var proxyOrigin:Point = DisplayObject(nonNullTarget).localToGlobal(
+						new Point(mouseEvent.localX, mouseEvent.localY));
+		proxyOrigin = DisplayObject(dragInitiator).globalToLocal(proxyOrigin);
+		dragProxy.xOffset = proxyOrigin.x + xOffset;
+		dragProxy.yOffset = proxyOrigin.y + yOffset;
+
+		// Call onMouseMove to setup initial position of drag proxy and cursor.
+		dragProxy.x = mouseX - dragProxy.xOffset;
+		dragProxy.y = mouseY - dragProxy.yOffset;
+
+		// Remember the starting location of the drag proxy so it can be
+		// "snapped" back if the drop was refused.
+		dragProxy.startX = dragProxy.x;
+		dragProxy.startY = dragProxy.y;
+
+		// Turn on caching.
+		if (dragImage is DisplayObject)
+			DisplayObject(dragImage).cacheAsBitmap = true;
+
+
+		var delegate:Object = dragProxy.automationDelegate;
+		if (delegate)
+			delegate.recordAutomatableDragStart(dragInitiator, mouseEvent);
+	}
+
+	/**
+	 *  Call this method from your dragEnter event handler if you accept
+	 *  the drag/drop data.
+	 *  For example:
+	 *
+	 *
DragManager.acceptDragDrop(event.target);

+	 *
+	 *	@param target The drop target accepting the drag.
+	 */
+	public function acceptDragDrop(target:IUIComponent):void
+	{
+		if (dragProxy)
+			dragProxy.target = target;
+	}
+
+	/**
+	 *  Sets the feedback indicator for the drag and drop operation.
+	 *  Possible values are DragManager.COPY, DragManager.MOVE,
+	 *  DragManager.LINK, or DragManager.NONE.
+	 *
+	 *  @param feedback The type of feedback indicator to display.
+	 */
+	public function showFeedback(feedback:String):void
+	{
+		if (dragProxy)
+		{
+			if (feedback == DragManager.MOVE && !dragProxy.allowMove)
+				feedback = DragManager.COPY;
+
+			dragProxy.action = feedback;
+		}
+	}
+
+	/**
+	 *  Returns the current drag and drop feedback.
+	 *
+	 *  @return  Possible return values are DragManager.COPY,
+	 *  DragManager.MOVE,
+	 *  DragManager.LINK, or DragManager.NONE.
+	 */
+	public function getFeedback():String
+	{
+		return dragProxy ? dragProxy.action : DragManager.NONE;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function endDrag():void
+	{
+		if (dragProxy)
+		{
+			var sm:ISystemManager = dragInitiator.systemManager;
+			sm.popUpChildren.removeChild(dragProxy);
+
+			dragProxy.removeChildAt(0);	// The drag image is the only child
+			dragProxy = null;
+		}
+
+		dragInitiator = null;
+		bDoingDrag = false;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Event handlers
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private function sm_mouseDownHandler(event:MouseEvent):void
+	{
+		mouseIsDown = true;
+	}
+
+	/**
+	 *  @private
+	 */
+	private function sm_mouseUpHandler(event:MouseEvent):void
+	{
+		mouseIsDown = false;
+	}
+}
+
+}
+


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

--- frameworks/projects/mx/src/mx/skins/halo/NumericStepperUpSkin.as
+++ frameworks/projects/mx/src/mx/skins/halo/NumericStepperUpSkin.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2004-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.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@1248676 13f79535-47bb-0310-9956-ffa450edef68

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

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

 package mx.filters
 {


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 4520
Author:   gosmith@adobe.com
Date:     2009-01-14T01:07:53.388463Z

Log Message:
-----------
Accessibility changes to List, DataGrid, Menu, and Tree, as requested by Freedom Scientific, to behave more like their corresponding standard Windows controls.

List, DataGrid, and Menu no longer report an accessibility value, either for the control itself or for its child items.

Tree no longer reports a value value for itself. For tree items the value is the indentation level as a String: "0", "1", "2", etc. Previously the top-level items had value "1" instead of "0".

QE Notes: None
Doc Notes: None
Bugs: SDK-17755
Reviewer: Deepa

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DataGridAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TreeAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListBaseAccImpl.as</path>

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

--- frameworks/projects/mx/src/mx/accessibility/MenuAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/MenuAccImpl.as
@@ -177,39 +177,6 @@

 	/**
 	 *  @private
-	 *  IAccessible method for returning the value of the MenuItem/Menu
-	 *  which is spoken out by the screen reader
-	 *  The Menu should return the name of the currently selected item
-	 *  with m of n string as value when focus moves to Menu.
-	 *
-	 *  @param childID uint
-	 *
-	 *  @return Value String
-	 */
-	override public function get_accValue(childID:uint):String
-	{
-		if (childID > 0)
-			return null;
-
-		var accValue:String = "";
-
-		var menu:Menu = Menu(master);
-		var selectedIndex:int = menu.selectedIndex;
-		if (selectedIndex > -1)
-		{
-			var item:Object = menu.dataProvider[selectedIndex];
-
-			if (menu.dataDescriptor.isBranch(item))
-				accValue = menu.itemToLabel(item);
-			else
-				accValue = menu.itemToLabel(item);
-		}
-
-		return accValue;
-	}
-
-	/**
-	 *  @private
 	 *  IAccessible method for returning the state of the Menu.
 	 *  States are predefined for all the components in MSAA.
 	 *  Values are assigned to each state.


Transferred from the Adobe Open Source Subversion Repository

Revision: 19099
Author:   cframpto@adobe.com
Date:     2010-12-07T17:59:07.657295Z

Log Message:
-----------
Label - SDK-27952
If there is no text, don't report that it has been truncated, for example if the padding doesn't fit.  Truncated text becomes the toolTip which obscures the actual toolTip.

SkinnableComponent - SDK-28525
add metadata to enabled to workaround outstanding compiler issue

CheckBox, RadioButton - SDK-28651
exclude textAlign style since it has no effect

QE notes:
Doc notes:
Bugs: SDK-27952, SDK-28525, SDK-28651
Reviewer: Darrell
Tests run: cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RadioButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Label.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/CheckBox.as
+++ frameworks/projects/spark/src/spark/components/CheckBox.as
@@ -43,6 +43,7 @@

 [Exclude(name="cornerRadius", kind="style")]
 [Exclude(name="icon", kind="style")]
+[Exclude(name="textAlign", kind="style")]

 //--------------------------------------
 //  Other metadata


Transferred from the Adobe Open Source Subversion Repository

Revision: 12436
Author:   smgilson@adobe.com
Date:     2009-12-03T16:08:12.117370Z

Log Message:
-----------
ASDoc localization prep

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/automation/IAutomationObject.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/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/BorderContainer.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/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>

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

--- frameworks/projects/spark/src/spark/components/Scroller.as
+++ frameworks/projects/spark/src/spark/components/Scroller.as
@@ -209,7 +209,7 @@
  *  you can also create a custom skin for the container that
  *  includes the Scroller component.

  *
- *
The IViewport interface define a viewport for the components that implement it.
+ *
The IViewport interface defines a viewport for the components that implement it.
  *  A viewport is a rectangular subset of the area of a container that you want to display,
  *  rather than displaying the entire container.
  *  The scroll bars control the viewport's horizontalScrollPosition and
@@ -452,7 +452,7 @@
      *  set to true to enable scrolling.
      *
      *  The Scroller does not support rotating the viewport directly.  The viewport's
-     *  contents can be transformed arbitrarily, but the viewport itself can not.
+     *  contents can be transformed arbitrarily, but the viewport itself cannot.
      *

      *
      *  This property is Bindable.


FLEX-33165 fixed RTE in scroller

FLEX-33165 fixed RTE in scroller

--- frameworks/projects/spark/src/spark/components/Scroller.as
+++ frameworks/projects/spark/src/spark/components/Scroller.as
@@ -1579,7 +1579,8 @@
         }
         else
         {
-            viewport[scrollProperty] = snapScrollPosition;
+			if (scrollProperty)
+           		viewport[scrollProperty] = snapScrollPosition;

 			return null;
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19796
Author:   eday@adobe.com
Date:     2011-01-18T23:39:18.580425Z

Log Message:
-----------
Bounce/pull: better handling of orientation and content size changes which invalidate current scroll positions.

QE notes:
Doc notes:
Bugs: SDK-29074, SDK-28854
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as

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

--- frameworks/projects/spark/src/spark/components/Scroller.as
+++ frameworks/projects/spark/src/spark/components/Scroller.as
@@ -626,6 +626,13 @@
      *  The final position in the throw effect's horizontal motion path
      */
     private var throwFinalHSP:Number;
+
+    /**
+     *  @private
+     *  Indicates whether the previous throw reached one of the maximum
+     *  scroll positions (vsp or hsp) that was in effect at the time.
+     */
+    private var throwReachedMaximumScrollPosition:Boolean;

     /**
      *  @private
@@ -827,6 +834,7 @@
             viewport.clipAndEnableScrolling = true;
             Group(skin).addElementAt(viewport, 0);
             viewport.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, viewport_propertyChangeHandler);
+            systemManager.stage.addEventListener("orientationChange",orientationChangeHandler);
         }
         if (verticalScrollBar)
             verticalScrollBar.viewport = viewport;
@@ -845,6 +853,7 @@
             viewport.clipAndEnableScrolling = false;
             Group(skin).removeElement(viewport);
             viewport.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, viewport_propertyChangeHandler);
+            systemManager.stage.removeEventListener("orientationChange",orientationChangeHandler);
         }
     }

@@ -926,7 +935,7 @@

         _measuredSizeIncludesScrollBars = value;
         invalidateSkin();
-    }
+    }

     //--------------------------------------------------------------------------
     //
@@ -936,86 +945,96 @@

     /**
      *  @private
-     *  Helper function for viewport_propertyChangeHandler below
-     */
-    private function checkForInvalidScrollPositions():void
-    {
-        var snapVSP:Number;
-        var snapHSP:Number;
-        var doVerticalSnap:Boolean = false;
-        var doHorizontalSnap:Boolean = false;
-
-        function updateCompleteHandler(event:FlexEvent):void
-        {
-            viewport.removeEventListener(FlexEvent.UPDATE_COMPLETE,
-                updateCompleteHandler);
-
-            if (doHorizontalSnap)
-                viewport.horizontalScrollPosition = snapHSP;
-
-            if (doVerticalSnap)
-                viewport.verticalScrollPosition = snapVSP;
-        }
-
-        // There are two cases in which we'll potentially need to fix invalid
-        // scroll positions...
-        if (throwEffect && throwEffect.isPlaying)
-        {
-            // 1) A throw effect animation is in progress, and may have been
-            // set up to end at a scroll position that is now invalid.
-            snapVSP = throwFinalVSP;
-            snapHSP = throwFinalHSP;
-        }
-        else if (!inTouchInteraction)
-        {
-            // 2) There's no touch gesture in progress.  The content may be
-            // at a scroll position that is now invalid.
-            snapVSP = viewport.verticalScrollPosition;
-            snapHSP = viewport.horizontalScrollPosition;
-        }
-        else
-        {
-            // If we get here we know that a touch gesture is in progress but
-            // the throw animation portion is not playing.  The user's finger
-            // is down.  We don't need to worry about the scroll position being
-            // invalid because when the finger is released the throw animation
-            // will get us back to a valid position.
-            return;
-        }
-
-        // Determine the maximum valid scroll positions
+     *  Helper function for checkScrollPositionsOnUpdateComplete.
+     */
+    private function getMotionPathCurrentVelocity(mp:MotionPath,currentTime:Number,totalTime:Number):Number
+    {
+        // Determine the fraction of the effect that has already played.
+        var fraction:Number = currentTime / totalTime;
+
+        // Now we need to determine the effective velocity at the effect's current position.
+        // Here we use a "poor man's" approximation that doesn't require us to know any of the
+        // derivative functions associated with the motion path.  We sample the position at two
+        // time values very close together and assume the velocity slope is a straight line
+        // between them.  The smaller the distance between the two time values, the closer the
+        // result will be to the "instantaneous" velocity.
+        const TINY_DELTA_TIME:Number = 0.00001;
+        var value1:Number = Number(mp.getValue(fraction));
+        var value2:Number = Number(mp.getValue(fraction + (TINY_DELTA_TIME / totalTime)));
+        return (value2 - value1) / TINY_DELTA_TIME;
+    }
+
+    /**
+     *  @private
+     */
+    private function checkScrollPositionsOnUpdateComplete(event:FlexEvent):void
+    {
+        viewport.removeEventListener(FlexEvent.UPDATE_COMPLETE,
+            checkScrollPositionsOnUpdateComplete);
+
+        var curVelocity:Point;
+
+        // Determine the new maximum valid scroll positions
         var maxVSP:Number = viewport.contentHeight > viewport.height ?
             viewport.contentHeight-viewport.height : 0;
         var maxHSP:Number = viewport.contentWidth > viewport.width ?
-            viewport.contentWidth-viewport.width : 0;
-
-        // See whether the current scroll positions are invalid
-        if (snapVSP > maxVSP)
-        {
-            snapVSP = maxVSP;
-            doVerticalSnap = true;
-        }
-        if (snapHSP > maxHSP)
-        {
-            snapHSP = maxHSP;
-            doHorizontalSnap = true;
-        }
-
-        if (doHorizontalSnap || doVerticalSnap)
-        {
-            // One or both scroll positions are invalid
-
-            // If a throw effect is playing, we need to stop it
-            if (throwEffect && throwEffect.isPlaying)
-                throwEffect.stop();
-
-            // We need to wait until after the current update to change to the new
-            // valid scroll positions.
-            viewport.addEventListener(FlexEvent.UPDATE_COMPLETE,
-                updateCompleteHandler);
-        }
-    }
-
+            viewport.contentWidth-viewport.width : 0;
+
+        // Determine whether we possibly need to re-throw because of changed max positions.
+        var didNotThrowFarEnough:Boolean = throwReachedMaximumScrollPosition &&
+            (throwFinalVSP < maxVSP || throwFinalHSP < maxHSP);
+        var threwTooFar:Boolean = (throwFinalVSP > maxVSP || throwFinalHSP > maxHSP);
+
+        if (throwEffect && throwEffect.isPlaying && (didNotThrowFarEnough || threwTooFar))
+        {
+            // There's currently a throw animation playing, and it's throwing to a
+            // now-incorrect position.  We're going to stop the animation and start
+            // a better one to continue the throw.
+
+            var velX:Number = 0;
+            var velY:Number = 0;
+
+            // Get the current position of the existing throw animation
+            var effectTime:Number = throwEffect.playheadTime;
+
+            // It's possible for playheadTime to not be set if we're getting it
+            // before the first animation timer call.
+            if (isNaN(effectTime))
+                effectTime = 0;
+
+            var effectDuration:Number = throwEffect.duration;
+
+            // Now get the current effective velocity for each motionpath in the animation.
+            for (var t:int = 0; t < throwEffect.motionPaths.length; t++)
+            {
+                var vel:Number = getMotionPathCurrentVelocity(throwEffect.motionPaths[t], effectTime, effectDuration);
+
+                // The property can only either be horizontalScrollPosition or verticalScrollPosition
+                if (throwEffect.motionPaths[t].property == "horizontalScrollPosition")
+                    velX = vel;
+                else
+                    velY = vel;
+            }
+
+            // Stop the existing throw animation now that we've determined its current velocities.
+            stoppedPreemptively = true;
+            throwEffect.stop();
+
+            // Now perform a new throw to get us to the right position.
+            performThrow(-velX, -velY);
+        }
+        else if (!inTouchInteraction)
+        {
+            // No touch interaction is in effect, but the content may be sitting at
+            // a scroll position that is now invalid.  Note that performThrow will
+            // only actually perform a throw if the positions actually are invalid.
+            performThrow(0, 0);
+        }
+    }
+
+    /**
+     *  @private
+     */
     private function viewport_propertyChangeHandler(event:PropertyChangeEvent):void
     {
         switch(event.property)
@@ -1025,11 +1044,11 @@
                 invalidateSkin();
                 if (getStyle("interactionMode") == InteractionMode.TOUCH)
                 {
-                    // If the content size changed, particularly because of a device
-                    // orientation (i.e. landscape/portrait) change, then the valid
-                    // scroll position ranges may have changed.  In this case, we may
-                    // need to snap the content scroll position back to a valid value.
-                    checkForInvalidScrollPositions();
+                    // If the content size changed, then the valid scroll position ranges
+                    // may have changed.  In this case, we need to schedule an updateComplete
+                    // handler to check and potentially correct the scroll positions.
+                    viewport.addEventListener(FlexEvent.UPDATE_COMPLETE,
+                        checkScrollPositionsOnUpdateComplete);
                 }
                 break;
         }
@@ -1101,6 +1120,22 @@
                 if (viewport is UIComponent)
                     UIComponent(viewport).validateNow();
             }
+        }
+    }
+
+    /**
+     *  @private
+     */
+    private function orientationChangeHandler(event:Event):void
+    {
+        if (getStyle("interactionMode") == InteractionMode.TOUCH)
+        {
+            // When the orientation (landscape/portrait) changes, then the valid
+            // scroll position ranges may have changed.  In this case, we need to
+            // schedule an updateComplete handler to check and potentially correct
+            // the scroll positions.
+            viewport.addEventListener(FlexEvent.UPDATE_COMPLETE,
+                checkScrollPositionsOnUpdateComplete);
         }
     }

@@ -1579,6 +1614,7 @@

         var throwEffectMotionPaths:Vector.<MotionPath> = new Vector.<MotionPath>();

+        throwReachedMaximumScrollPosition = false;
         scrollingHorizontally = false;
         var horizontalTime:Number = 0;
         var finalKeyframe:int;
@@ -1598,6 +1634,8 @@
                 throwEffectMotionPaths.push(horizontalMP);
                 horizontalTime = horizontalMP.keyframes[horizontalMP.keyframes.length-1].time;
                 throwFinalHSP = Number(horizontalMP.keyframes[horizontalMP.keyframes.length-1].value);
+                if (throwFinalHSP == maxWidth)
+                    throwReachedMaximumScrollPosition = true;
                 scrollingHorizontally = true;
             }
         }
@@ -1620,6 +1658,8 @@
                 throwEffectMotionPaths.push(verticalMP);
                 verticalTime = verticalMP.keyframes[verticalMP.keyframes.length-1].time;
                 throwFinalVSP = Number(verticalMP.keyframes[verticalMP.keyframes.length-1].value);
+                if (throwFinalVSP == maxHeight)
+                    throwReachedMaximumScrollPosition = true;
                 scrollingVertically = true;
             }
         }
@@ -3193,12 +3233,15 @@
      */
     public function endTouchScroll():void
     {
-        isScrolling = false;
-
-        var scrollEndEvent:TouchInteractionEvent = new TouchInteractionEvent(TouchInteractionEvent.TOUCH_INTERACTION_END, true);
-        scrollEndEvent.relatedObject = scroller;
-        scrollEndEvent.reason = TouchInteractionReason.SCROLL;
-		dispatchBubblingEventOnMouseDownedDisplayObject(scrollEndEvent);
+        if (isScrolling)
+        {
+            isScrolling = false;
+
+            var scrollEndEvent:TouchInteractionEvent = new TouchInteractionEvent(TouchInteractionEvent.TOUCH_INTERACTION_END, true);
+            scrollEndEvent.relatedObject = scroller;
+            scrollEndEvent.reason = TouchInteractionReason.SCROLL;
+            dispatchBubblingEventOnMouseDownedDisplayObject(scrollEndEvent);
+        }
     }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 10146
Author:   kelin@adobe.com
Date:     2009-09-11T05:56:56.397010Z

Log Message:
-----------
Fixes for missing Exclude metadata.
Removed Alternative metadata from ViewStack.
DropDownListSkin's Dropshadow alpha changed back to original 0.6.

QE notes: DropDownList drop shadow should be normal.
Doc notes: None
Bugs: sdk-23106, sdk-23116, sdk-23016, sdk-23017
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RadioButton.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/framework/src/mx/containers/ViewStack.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/CheckBox.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextArea.as
+++ frameworks/projects/spark/src/spark/components/TextArea.as
@@ -82,6 +82,13 @@
  *  @productversion Flex 4
  */
 [SkinState("disabled")]
+
+//--------------------------------------
+//  Excluded APIs
+//--------------------------------------
+
+[Exclude(name="verticalAlign", kind="style")]
+[Exclude(name="lineBreak", kind="style")]

 //--------------------------------------
 //  Other metadata


Nixed debug logging.

Nixed debug logging.

git-svn-id: b675b909355d5cf946977f44a8ec5a6ceb3782e4@703 ed5b42cb-e716-0410-a449-f6a68f950b19

--- src/as/com/threerings/flash/video/FlvVideoPlayer.as
+++ src/as/com/threerings/flash/video/FlvVideoPlayer.as
@@ -221,7 +221,7 @@

     protected function handleStreamNetStatus (event :NetStatusEvent) :void
     {
-        log.debug("NetStatus", "level", event.info.level, "code", event.info.code);
+//        log.debug("NetStatus", "level", event.info.level, "code", event.info.code);

         switch (event.info.code) {
         case "NetStream.Play.Stop":
@@ -266,12 +266,10 @@
      */
     protected function handleMetaData (info :Object) :void
     {
-        log.info("Got video metadata:");
-        for (var n :String in info) {
-            log.info("    " + n + ": " + info[n]);
-        }
-
-        // TODO: total duration is info.duration
+//        log.debug("Got video metadata:");
+//        for (var n :String in info) {
+//            log.debug("    " + n + ": " + info[n]);
+//        }

         if ("duration" in info) {
             _duration = Number(info.duration);


These are all final.

These are all final.

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

--- src/as/com/threerings/io/streamers/ArrayStreamer.as
+++ src/as/com/threerings/io/streamers/ArrayStreamer.as
@@ -29,8 +29,12 @@
 import com.threerings.io.TypedArray;
 import com.threerings.util.ClassUtil;
 import com.threerings.util.Enum;
+import com.threerings.util.Byte;
+import com.threerings.util.Float;
 import com.threerings.util.Integer;
 import com.threerings.util.Log;
+import com.threerings.util.Long;
+import com.threerings.util.Short;
 import com.threerings.util.langBoolean;

 /**
@@ -151,7 +155,8 @@

     protected static function isFinal (type :Class) :Boolean
     {
-        if (type === String || type === Integer || type === langBoolean) {
+        if (type === String || type == Byte || type == Short || type === Integer ||
+                type == Float || type == Long || type === langBoolean) {
             return true;
         }


def: 7669 fix exception when urchin number is not set

--- plugins/googleAnalyticsPlugin/src/googleAnalyticsPlugin.as
+++ plugins/googleAnalyticsPlugin/src/googleAnalyticsPlugin.as
@@ -20,13 +20,30 @@

 		//Any public paramter will be set from uiConf after create() and before initializePlugin()
 		//With [Binding] will be immidiatly exposed to uiConf binding, so we set the urchinCode parameter Bindable and public
-		[Binding]
-		public var urchinCode:String = 'ua-example';
+		private var _urchinCode:String;

+		private var _readyToSet:Boolean = false;
 		private var _eventTimeLapse:Number	= 1000;
 		//1000 represents = 1sec.
 		//number of seconds that should pass before an event is considered new.
 		//this is used to avoid duplicate beacons on events that occur immediately after another.
+
+		[Binding]
+		public function get urchinCode():String
+		{
+			return _urchinCode;
+		}
+
+		public function set urchinCode(value:String):void
+		{
+			_urchinCode = value;
+			if (_readyToSet)
+			{
+				_statisticsMediator.setupGa(urchinCode);
+				_readyToSet = false;
+			}
+		}
+
 		public function set eventTimeLapse(val:Number):void{
 			_eventTimeLapse	= (val*1000);
 		}
@@ -98,7 +115,10 @@

 		private function setupGa (event:Event):void {
 			removeEventListener(Event.FRAME_CONSTRUCTED, setupGa);
-			_statisticsMediator.setupGa(urchinCode);
+			if (urchinCode)
+				_statisticsMediator.setupGa(urchinCode);
+			else
+				_readyToSet = true;
 		}

 		/**


updated docs

updated docs

--- WeaveJS/src/weavejs/api/data/IQualifiedKeyManager.as
+++ WeaveJS/src/weavejs/api/data/IQualifiedKeyManager.as
@@ -20,7 +20,7 @@
 	/**
 	 * This class manages a global list of IQualifiedKey objects.
 	 *
-	 * The getQKey() function must be used to get IQualifiedKey objects.  Each QKey returned by
+	 * The getQKey() function must be used to get IQualifiedKey objects.  Each IQualifiedKey returned by
 	 * getQKey() with the same parameters will be the same object, so IQualifiedKeys can be compared
 	 * with the == operator or used as keys in a Dictionary.
 	 *
@@ -29,16 +29,18 @@
 	public interface IQualifiedKeyManager
 	{
 		/**
-		 * Get the QKey object for a given key type and key.
+		 * Get the IQualifiedKey object for a given key type and key.
 		 *
-		 * @return The QKey object for this type and key.
+		 * @return The IQualifiedKey object for this type and key.
 		 */
 		function getQKey(keyType:String, localName:String):IQualifiedKey;

 		/**
-		 * Get a list of QKey objects, all with the same key type.
+		 * Get a list of IQualifiedKey objects, all with the same key type.
 		 *
-		 * @return An array of QKeys.
+		 * @param keyType The key type/namespace.
+		 * @param keyStrings An Array of localNames.
+		 * @return An array of IQualifiedKeys.
 		 */
 		function getQKeys(keyType:String, keyStrings:Array):Array;

@@ -53,26 +55,27 @@
 		/**
 		 * Get a list of all previoused key types.
 		 *
-		 * @return An array of QKeys.
+		 * @return An array of IQualifiedKeys.
 		 */
 		function getAllKeyTypes():Array;

 		/**
-		 * Get a list of all referenced QKeys for a given key type
-		 * @return An array of QKeys
+		 * Get a list of all referenced IQualifiedKeys for a given key type
+		 * @param keyType The key type.
+		 * @return An array of IQualifiedKeys
 		 */
 		function getAllQKeys(keyType:String):Array;

 		/**
 		 * Get a QualifiedKey from its string representation.
-		 * param qkeyString A string formatted like the output of IQualifiedKey.toString().
+		 * @param qkeyString A string formatted like the output of IQualifiedKey.toString().
 		 * @return The QualifiedKey corresponding to the string representation.
 		 */
 		function stringToQKey(qkeyString:String):IQualifiedKey;

 		/**
 		 * Get a QualifiedKey from its numeric representation.
-		 * param qkeyNumber A Number.
+		 * @param qkeyNumber A Number.
 		 * @return The QualifiedKey corresponding to the numeric representation.
 		 */
 		function numberToQKey(qkeyNumber:Number):IQualifiedKey;


* 优化了 AbstractObjectState 自动提取名字的方法

* 优化了 AbstractObjectState 自动提取名字的方法

--- age/src/age/data/objectStates/AbstractObjectState.as
+++ age/src/age/data/objectStates/AbstractObjectState.as
@@ -1,6 +1,7 @@
 package age.data.objectStates
 {
 	import flash.errors.IllegalOperationError;
+	import flash.utils.Dictionary;
 	import age.data.ObjectInfo;
 	import age.renderers.Direction;
 	import nt.lib.reflect.Type;
@@ -39,7 +40,23 @@
 		public function AbstractObjectState(info:ObjectInfo)
 		{
 			this.info = info;
-			name = Type.of(this).shortname.replace(/State/g, "").toLowerCase();
+			name = getName(this["constructor"]);
+		}
+
+		/**
+		 * 状态名缓存
+		 */
+		private static var nameCache:Dictionary = new Dictionary;
+
+		/**
+		 * 获得状态名字
+		 * @param stateClass
+		 * @return
+		 *
+		 */
+		private static function getName(stateClass:Class):String
+		{
+			return nameCache[stateClass] ||= Type.of(stateClass).shortname.replace(/State/g, "").toLowerCase();
 		}

 		/**


Transferred from the Adobe Open Source Subversion Repository

Revision: 8706
Author:   smgilson@adobe.com
Date:     2009-07-21T13:35:30.642529Z

Log Message:
-----------
Fix broken ASDoc comment

QE notes: -
Doc notes: -
Bugs: -
Reviewer: -
Tests run: - checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>

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

--- frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as
+++ frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as
@@ -2602,7 +2602,7 @@
      *  A flag that indicates whether child objects can receive focus
      *
      *
This is similar to the tabChildren property
-     *  used by the Flash Player.
+     *  used by the Flash Player.

      *
      *
This is usually false because most components
      *  either receive focus themselves or delegate focus to a single


Transferred from the Adobe Open Source Subversion Repository

Revision: 11675
Author:   hmuller@adobe.com
Date:     2009-11-12T00:25:39.300334Z

Log Message:
-----------
Added minValue,maxValue,etc Style/Inspectable metadata tags for tools.

QE notes:
Doc notes:
Bugs: sdk-24100
Reviewer: Glenn
Tests run:
Is noteworthy for integration: yes

Modified Paths:
--------------
<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/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.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/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/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/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/VideoElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.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/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/BasicNonInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientEntry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.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/supportClasses/Range.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as
+++ frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as
@@ -302,7 +302,7 @@
 	private var _miterLimit:Number = 3;

 	[Bindable("propertyChange")]
-	[Inspectable(category="General")]
+	[Inspectable(category="General", minValue="0.0", maxValue="255.0")]

 	/**
 	 *  Indicates the limit at which a miter is cut off.
@@ -434,7 +434,7 @@
 	private var _weight:Number;

 	[Bindable("propertyChange")]
-    [Inspectable(category="General")]
+    [Inspectable(category="General", minValue="0.0")]

 	/**
 	 *  The line weight, in pixels.


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

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

 package mx.messaging.messages
 {


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 11469
Author:   smgilson@adobe.com
Date:     2009-11-05T18:27:49.211775Z

Log Message:
-----------
ASDoc localization bug fixes - Part II

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/IItemRendererOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>

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

--- frameworks/projects/airspark/src/spark/components/Window.as
+++ frameworks/projects/airspark/src/spark/components/Window.as
@@ -90,7 +90,7 @@

 /**
  *  Provides a margin of error around a window's border so a resize
- *  and be more easily started. A click on a window is considered a
+ *  can be more easily started. A click on a window is considered a
  *  click on the window's border if the click occurs with the resizeAffordance
  *  number of pixels from the outside edge of the window.
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 6653
Author:   dloverin@adobe.com
Date:     2009-05-05T19:04:34.755120Z

Log Message:
-----------
Modify the use of OrderObject to work around Flash Player bug #232854.

StyleProtoChain:
Use getObjectProperty and setObjectProperty instead of indexing into the OrderedObject.

OrderedObject:
Add getObjectProperty and setObjectProperty.

QE Notes: None.
Doc Notes: None.
Bugs: SDK-18975
Reviewer: Pete
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OrderedObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>

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

--- frameworks/projects/framework/src/mx/utils/OrderedObject.as
+++ frameworks/projects/framework/src/mx/utils/OrderedObject.as
@@ -92,6 +92,63 @@
      */
     private var _item:Object;

+
+    /**
+     *  @private
+     *
+     *  Work around for the Flash Player bug #232854. The Proxy bug occurs when
+     *  the Proxy class is used in a sibling ApplicationDomain of the main
+     *  application's ApplicationDomain. When the Proxy class is used in a
+     *  sibling ApplicationDomain the RTE looks like this:
+     *
+     *  ArgumentError: Error #1063: Argument count mismatch on
+     *  Object/http://adobe.com/AS3/2006/builtin::hasOwnProperty().
+     *  Expected 0, got 2.
+     *
+     *  Returns the specified property value of the proxied object.
+     *
+     *  @param name Typically a string containing the name of the property, or
+     *  possibly a QName where the property name is found by inspecting the
+     *  localName property.
+     *
+     *  @return The value of the property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    object_proxy function getObjectProperty(name:*):*
+    {
+        return getProperty(name);
+    }
+
+    /**
+     *  @private
+     *
+     *  Work around for the Flash Player bug #232854. See the comments in
+     *  getObjectProperty() for more details.
+     *
+     *  Call this method to set a property value instead of hashing into an
+     *  OrderObject which would end up calling setProperty().
+     *
+     *  Updates the specified property on the proxied object.
+     *
+     *  @param name Object containing the name of the property that should be
+     *  updated on the proxied object.
+     *
+     *  @param value Value that should be set on the proxied object.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    object_proxy function setObjectProperty(name:*, value:*):void
+    {
+        setProperty(name, value);
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Overridden methods


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

--- frameworks/projects/mx/src/mx/accessibility/PanelAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/PanelAccImpl.as
@@ -21,6 +21,11 @@
 /**
  *  PanelAccImpl is a subclass of AccessibilityImplementation
  *  which implements accessibility for the Panel class.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class PanelAccImpl extends AccImpl
 {
@@ -40,6 +45,11 @@
 	 *  Afterwards, when instances of Panel are initialized,
 	 *  their accessibilityImplementation property
 	 *  will be set to an instance of this class.

+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static function enableAccessibility():void
 	{
@@ -77,6 +87,11 @@
 	 *
 	 *  @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 PanelAccImpl(master:UIComponent)
 	{


Transferred from the Adobe Open Source Subversion Repository

Revision: 21981
Author:   cframpto@adobe.com
Date:     2011-08-15T18:54:28.190117Z

Log Message:
-----------
First pass of ASdoc corrections/additions for StageText.  Want to see results from tomorrow morning's ASdoc build.

QE notes:
Doc notes:
Bugs: SDK-31078, SDK-31109, SDK-31015, SDK-31127, SDK-31107, SDK-31113
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextInput.as
+++ frameworks/projects/spark/src/spark/components/TextInput.as
@@ -70,10 +70,18 @@
  *  In combination, these layers provide text editing with
  *  high-quality international typography and layout.

  *
- *
The TextInput skin for the mobile theme uses the StyleableTextField class instead of RichEditableText.
- *  As a result, TLF-only features are not supported in the mobile theme including
- *  TextFlow, right-to-left or bidirectional text, and advanced text
- *  styles.

+ *
The TextInput skin for the mobile theme uses the StyleableStageText class instead
+ *  of RichEditableText.
+ *  Since StyleableStageText uses native text fields it allows for better text entry and
+ *  manipulation experiences on mobile devices however there are some
+ *  limitations that you should consider.
+ *  The native text controls used by StageText apply different paddings around text.
+ *  In order to avoid vertical scrolling, the StageText-based TextInput skin attempts to estimate
+ *  this padding and compensate for that.
+ *  Because of this and other differences in how native text controls treat text, the default
+ *  height of the TextInput control using StageText-based skin will differ from its default height
+ *  using the the TextField-based TextInput skin.
+ *

  *
  *
You can set the text to be displayed, or get the text that the user
  *  has entered, using the text property.
@@ -102,15 +110,24 @@
  *  To use this control for password input, set the
  *  displayAsPassword property to true.

  *
+ *
The soft-keyboard-specific properties, autoCapitalize
+ *  autoCorrect, returnKeyLabel and softKeyboardType
+ *  are keybostf hints supported in the mobile theme.
+ *  If a soft-keyboard is present but does not support a feature represented by the
+ *  hint, the hint is ignored.
+ *  In mobile environments with only hardware keyboards, these hints are ignored.
+ *

+ *
  *
This control dispatches a FlexEvent.ENTER event
  *  when the user pressed the Enter key rather than inserting a line
  *  break, because this control does not support entering multiple
  *  lines of text. By default, this control has explicit line breaks.

  *
- *
This control is a skinnable control whose default skin contains a
- *  RichEditableText instance that handles displaying and editing the text.
+ *
This control is a skinnable control whose default skin contains either a
+ *  RichEditableText instance for the Spark theme or a StyleableStageText instance for the
+ *  Mobile theme. It handles displaying and editing the text.
  *  (The skin also handles drawing the border and background.)
- *  This RichEditableText can be accessed as the textDisplay
+ *  This RichEditableText or StyleableStageText instance can be accessed as the textDisplay
  *  object.

  *
  *
As a result of its RichEditableText using TLF, the Spark TextInput control
@@ -175,9 +192,11 @@
  *  />
  *

  *
- *  @see spark.skins.spark.TextInputSkin
  *  @see spark.components.Label
  *  @see spark.components.RichEditableText
+ *  @see spark.skins.mobile.StageTextInputSkin
+ *  @see spark.skins.mobile.TextInputSkin
+ *  @see spark.skins.spark.TextInputSkin
  *  @see TextArea
  *
  *  @langversion 3.0


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

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


Remove applicationunit name from view id in applicationunit context.

--- actionscript-cafe/src/main/flex/org/servebox/cafe/core/modularity/LocalApplicationUnitImpl.as
+++ actionscript-cafe/src/main/flex/org/servebox/cafe/core/modularity/LocalApplicationUnitImpl.as
@@ -104,7 +104,7 @@

 		public function getView( id : String ) : IView
 		{
-			return getContext().getObject(getQualifiedClassName(this) + id );
+			return getContext().getObject( id );
 		}


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

--- frameworks/projects/mobilecomponents/src/spark/components/ActionBarDefaultButtonAppearance.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ActionBarDefaultButtonAppearance.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.components
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 9177
Author:   jimurphy@adobe.com
Date:     2009-08-07T21:15:07.894169Z

Log Message:
-----------
Merged 3.4 revisions 8630,8660,8683,8735,8750,8753,8755,8757,8759,8764,8776,8798,8821,8824,8837,8862,8911,8946,8949,8962,8965,9026,9109,9131,9138-9139,9147 -> trunk

integrates:
player: 10.0.32.18
AIR kit: 1.5.2.8870 (20090721ap)

checkintests: pass

(btw: I'm not happy about doing this on a Friday PM!)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/BrowserManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPMultiService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/player/10/playerglobal.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLDecoder.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/flashplayer.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/libflashplayer.so.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/FlashPlayer.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Flash Player.app.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/AbstractWebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceUtils.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/mxml/IMXMLSupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/ISOAPDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/install_flash_player_10_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLSchemaInstance.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/http/Operation.as
+++ frameworks/projects/rpc/src/mx/rpc/http/Operation.as
@@ -58,6 +58,12 @@
      *  @playerversion Flash 9
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
+
+     *  Creates a new Operation.
+     *
+     *  @param service The HTTPMultiService object defining the service.
+     *
+     *  @param name The name of the service.
      */
     public function Operation(service:HTTPMultiService = null, name:String = null)
     {


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

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

 package spark.effects
 {


Fix Color::BLACK to just BLACK in Localization AngelScript sample. Thanks JSandusky.

--- bin/Data/Scripts/40_Localization.as
+++ bin/Data/Scripts/40_Localization.as
@@ -129,7 +129,7 @@
     text3D.text = localization.Get("lang");

     text3D.SetFont(cache.GetResource("Font", "Fonts/Anonymous Pro.ttf"), 30);
-    text3D.color = Color::BLACK;
+    text3D.color = BLACK;
     text3D.SetAlignment(HA_CENTER, VA_BOTTOM);

     Viewport@ viewport = Viewport(scene_, cameraNode.GetComponent("Camera"));


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

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

 package mx.charts.renderers
 {


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

--- frameworks/projects/framework/src/mx/core/IFontContextComponent.as
+++ frameworks/projects/framework/src/mx/core/IFontContextComponent.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.core
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3695
Author:   gosmith@adobe.com
Date:     2008-10-16T21:24:44.841539Z

Log Message:
-----------
Reverted a recent optimization in TextGraphic and TextView which made them use a static instance of an ITextImporter of type TCAL_FORMAT. This exposed a TCAL bug with repeated use of a single instance of this kind of importer. I'll restore the optimization when the problem is fixed in TCAL.

Reviewer: Deepa
Bugs: SDK-17386
QA: No
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -106,20 +106,6 @@
 {
     include "../core/Version.as";

-	//--------------------------------------------------------------------------
-	//
-	//  Class variables
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-     *  Since this static var gets initialized by calling a method
-     *  in another class, we initialize it in the constructor to avoid
-     *  any class-initialization-order problems.
-	 */
-    private static var textImporter:ITextImporter;
-
     //--------------------------------------------------------------------------
     //
     //  Constructor
@@ -132,9 +118,6 @@
     public function TextView()
     {
         super();
-
-        if (!textImporter)
-            textImporter = TextFilter.getImporter(TextFilter.TCAL_FORMAT);

         _content = textFlow = createEmptyTextFlow();
     }
@@ -940,7 +923,7 @@
                  markup +
                  '</TextFlow>';

-		return textImporter.importToFlow(markup);
+        return TextFilter.importToFlow(markup, TextFilter.TCAL_FORMAT);
 	}

 	/**


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

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

 package spark.components
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 2464
Author:   jimurphy@adobe.com
Date:     2008-07-14T19:50:33.449468Z

Log Message:
-----------
add flex 4 to trunk

Modified Paths:
--------------
134 paths were modified

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

--- frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as
+++ frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as
@@ -0,0 +1,41 @@
+package flex.filters
+{
+
+import flash.filters.BitmapFilter;
+import flash.filters.GradientBevelFilter;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+[DefaultProperty("entries")]
+
+public class GradientBevelFilter extends GradientFilter implements IBitmapFilter
+{
+	public function GradientBevelFilter(distance:Number = 4.0, angle:Number = 45,
+									    colors:Array = null, alphas:Array = null,
+									    ratios:Array = null, blurX:Number = 4.0,
+									    blurY:Number = 4.0, strength:Number = 1,
+									    quality:int = 1, type:String = "inner",
+									    knockout:Boolean = false)
+	{
+		this.distance = distance;
+		this.angle = angle;
+		this.blurX =blurX ;
+		this.blurY = blurY;
+		this.strength = strength;
+		this.quality = quality;
+		this.type = type;
+		this.knockout = knockout;
+
+		super(colors, alphas, ratios);
+	}
+
+	public function clone():BitmapFilter
+	{
+		return new flash.filters.GradientBevelFilter(distance, angle, colors, alphas, ratios,
+										blurX, blurY, strength, quality, type,
+										knockout);
+	}
+
+}
+}


added doc

added doc

--- WeaveData/src/weave/data/DataSources/CSVDataSource.as
+++ WeaveData/src/weave/data/DataSources/CSVDataSource.as
@@ -583,6 +583,12 @@
 			return outputArrayOrVector;
 		}

+		/**
+		 * Attempts to convert a list of Strings to Numbers. If successful, returns the Numbers.
+		 * @param strings The String values.
+		 * @param forced Always return a Vector of Numbers, whether or not the Strings look like Numbers.
+		 * @return Either a Vector of Numbers or null
+		 */
 		private function stringsToNumbers(strings:Vector.<String>, forced:Boolean):Vector.<Number>
 		{
 			var numbers:Vector.<Number> = new Vector.<Number>(strings.length);


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

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

 package mx.collections
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6077
Author:   hmuller@adobe.com
Date:     2009-04-09T15:43:34.506603Z

Log Message:
-----------
Removed mirroring support.

QE Notes:
Doc Notes:
Bugs:
Reviewer: Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as
+++ frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as
@@ -509,64 +509,7 @@
 	{
 		invalidate();
 	}
-
-    //----------------------------------
-    //  layoutWidth
-    //----------------------------------
-
-    private var _layoutWidth:Number;
-
-    /**
-     *  @default 0
-     */
-    public function get layoutWidth():Number
-    {
-        return _layoutWidth;
-    }
-
-    /**
-     *  @private
-     */
-    public function set layoutWidth(value:Number):void
-    {
-        if (value == _layoutWidth)
-            return;
-        _layoutWidth = value;
-        invalidate();
-    }
-
-    //----------------------------------
-    //  mirror
-    //----------------------------------
-
-    private var _mirror:Boolean;
-
-    /**
-     *  If true the X axis is scaled by -1 and the x coordinate of the origin
-     *  is translated by the component's width.
-     *
-     *  The net effect of this "mirror" transform is to flip the direction
-     *  that the X axis increases in without changing the layout element's
-     *  location relative to the parent's origin.
-     *
-     *  @default false
-     */
-    public function get mirror():Boolean
-    {
-        return _mirror;
-    }
-
-    /**
-     *  @private
-     */
-    public function set mirror(value:Boolean):void
-    {
-        if (value == _mirror)
-            return;
-        _mirror = value;
-        invalidate();
-    }
-
+
     //----------------------------------
     //  stretchX
     //----------------------------------
@@ -652,7 +595,7 @@
 		if(_flags & COMPUTED_MATRIX_VALID)
 			return _computedMatrix;

-		if(!offsets && !mirror && stretchX == 1 && stretchY == 1)
+		if(!offsets && stretchX == 1 && stretchY == 1)
 		{
 			return layout.matrix;
 		}
@@ -671,12 +614,6 @@
         var x:Number = layout.x;
         var y:Number = layout.y;

-        if (mirror)
-        {
-            sx *= -1;
-            x += layoutWidth;
-        }
-
         if (offsets)
         {
             sx *= offsets.scaleX;
@@ -708,7 +645,7 @@
 			return _computedMatrix3D;

-		if(!offsets && !mirror && stretchX == 1 && stretchY == 1)
+		if(!offsets && stretchX == 1 && stretchY == 1)
 		{
 			return layout.matrix3D;
 		}
@@ -731,12 +668,6 @@
         var x:Number = layout.x;
         var y:Number = layout.y;
         var z:Number = layout.z;
-
-        if (mirror)
-        {
-            sx *= -1;
-            x += layoutWidth;
-        }

         if (offsets)
         {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/mx/src/mx/accessibility/SliderAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/SliderAccImpl.as
@@ -0,0 +1,340 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.accessibility
+{
+
+import flash.accessibility.Accessibility;
+import flash.events.Event;
+import mx.controls.sliderClasses.Slider;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+import mx.events.SliderEvent;
+import flash.events.FocusEvent;
+
+use namespace mx_internal;
+
+/**
+ *  The SliderAccImpl class is the accessibility class for HSlider and VSlider.
+ *
+ *  @helpid
+ *  @tiptext This is the TabNavigator Accessibility Class.
+ *  @review
+ */
+public class SliderAccImpl extends AccImpl
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class initialization
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Static variable triggering the hookAccessibility() method.
+	 *  This is used for initializing DateChooserAccImpl class to hook its
+	 *  createAccessibilityImplementation() method to DateChooser class
+	 *  before it gets called from UIComponent.
+	 */
+	private static var accessibilityHooked:Boolean = hookAccessibility();
+
+	/**
+	 *  @private
+	 *  Static method for swapping the createAccessibilityImplementation()
+	 *  method of Slider withthe SliderAccImpl class.
+	 */
+	private static function hookAccessibility():Boolean
+	{
+		Slider.createAccessibilityImplementation =
+			createAccessibilityImplementation;
+
+		return true;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Default state for all the components.
+	 */
+	private static const STATE_SYSTEM_NORMAL:uint = 0x00000000;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_FOCUSABLE:uint = 0x00100000;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_FOCUSED:uint = 0x00000004;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_SELECTABLE:uint = 0x00200000;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_SELECTED:uint = 0x00000002;
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_UNAVAILABLE:uint = 0x00000001;
+
+	/**
+	 *  @private
+	 */
+	private static const EVENT_OBJECT_FOCUS:uint = 0x8005;
+
+	/**
+	 *  @private
+	 */
+	private static const EVENT_OBJECT_VALUECHANGE:uint = 0x800E;
+
+	/**
+	 *  @private
+	 */
+	private static const EVENT_OBJECT_SELECTION:uint = 0x8006;
+
+	/**
+	 *  @private
+	 */
+	private static const ROLE_SLIDER:uint = 0x33;
+
+	//--------------------------------------------------------------------------
+	//
+	//  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 SliderAccImpl(component);
+	}
+
+	/**
+	 *  Method call for enabling accessibility for a component.
+	 *  This method is required for the compiler to activate
+	 *  the accessibility classes for a component.
+	 */
+	public static function enableAccessibility():void
+	{
+	}
+
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param master The UIComponent instance that this AccImpl instance
+	 *  is making accessible.
+	 */
+	public function SliderAccImpl(master:UIComponent)
+	{
+		super(master);
+		master.addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
+		role = 0x33;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden properties: AccImpl
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  eventsToHandle
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *	Array of events that we should listen for from the master component.
+	 */
+	override protected function get eventsToHandle():Array
+	{
+		return super.eventsToHandle.concat([ "change" ]);
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: AccessibilityImplementation
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Gets the role for the component.
+	 *
+	 *  @param childID uint.
+	 */
+	override public function get_accRole(childID:uint):uint
+	{
+		return role;
+	}
+
+		/**
+	 *  @private
+	 *  IAccessible method for returning the value of the slider
+	 *  (which would be the value of the item selected).
+	 *  The slider should return the value of the current thumb as the value.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return Value String
+	 *  @review
+	 */
+	override public function get_accValue(childID:uint):String
+	{
+		var val:Number = Slider(master).values[Math.max(childID - 1, 0)];
+		val = (val -  Slider(master).minimum)/(Slider(master).maximum - Slider(master).minimum) * 100;
+
+		return String(val) + " percent";
+	}
+
+	/**
+	 *  @private
+	 *  Method to return an array of childIDs.
+	 *
+	 *  @return Array
+	 */
+	override public function getChildIDArray():Array
+	{
+		var childIDs:Array = [];
+
+		var n:Number = Slider(master).thumbCount;
+		for (var i:int = 0; i < n; i++)
+			childIDs[i] = i + 1;
+		return childIDs;
+	}
+	/**
+	 *  @private
+	 *  method for returning the name of the slider
+	 *  should return the value
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return Name String
+	 *  @review
+	 */
+	override protected function getName(childID:uint):String
+	{
+
+		if (master.id)
+			 return master.id;
+		return "";
+	}
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the state of the Button.
+	 *  States are predefined for all the components in MSAA.
+	 *  Values are assigned to each state.
+	 *
+	 *  @param childID uint
+	 *
+	 *  @return State uint
+	 */
+	override public function get_accState(childID:uint):uint
+	{
+		var accState:uint = getState(childID);
+		accState |= STATE_SYSTEM_SELECTABLE;
+		if (childID == 0)
+			accState |=  STATE_SYSTEM_SELECTED;
+		else
+			accState |=  STATE_SYSTEM_SELECTED | STATE_SYSTEM_FOCUSED;
+		return accState;
+	}
+
+	/**
+	 *  Utility method determines state of the accessible component.
+	 */
+	override protected function getState(childID:uint):uint
+	{
+		var accState:uint = STATE_SYSTEM_NORMAL;
+
+		if (!UIComponent(master).enabled)
+			accState |= STATE_SYSTEM_UNAVAILABLE;
+		else
+		{
+			accState |= STATE_SYSTEM_FOCUSABLE
+
+			for (var i:uint = 0; i < Slider(master).thumbCount; i++)
+			{
+				if (Slider(master).getThumbAt(i) == Slider(master).focusManager.getFocus())
+				{
+					//trace("has focus", UIComponent(master),  UIComponent(master).getFocus());
+					accState |= STATE_SYSTEM_FOCUSED;
+					break;
+				}
+			}
+		}
+		return accState;
+	}
+
+
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden event handlers: AccImpl
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Override the generic event handler.
+	 *  All AccImpl must implement this to listen
+	 *  for events from its master component.
+	 */
+	override protected function eventHandler(event:Event):void
+	{
+		if (event.type == "change")
+		{
+			var childID:uint = SliderEvent(event).thumbIndex + 1;
+			Accessibility.sendEvent(master, 0, EVENT_OBJECT_SELECTION);
+			Accessibility.sendEvent(master, 0,
+								EVENT_OBJECT_VALUECHANGE, true)
+		}
+	}
+
+	/**
+	 *  @private
+	 *  This is (kind of) a hack to get around the fact that Slider is not
+	 *  an IFocusManagerComponent. It forces frocus from accessibility when one of
+	 *  its thumbs get focus.
+	 */
+	private function focusInHandler(event:Event):void
+	{
+		Accessibility.sendEvent(master, 0, EVENT_OBJECT_FOCUS);
+	}
+}
+}