Transferred from the Adobe Open Source Subversion Repository

Revision: 19607
Author:   smgilson@adobe.com
Date:     2011-01-05T20:39:06.322442Z

Log Message:
-----------
Fix For ASDoc bug 2782623

QE notes:
Doc notes:
Bugs: Watson 2782623
Reviewer:
Tests run: Checkintests
Is noteworthy for integration:

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

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -1482,7 +1482,7 @@
      *  this property specifies the actual height of each row, in pixels.
      *
      *
If variableRowHeight is true,
-     *  the default, the value of this property is used as the estimated
+     *  the value of this property is used as the estimated
      *  height for rows that haven't been scrolled into view yet, rather
      *  than the preferred height of renderers configured with the typicalItem.
      *  Similarly, when the Grid pads its display with empty rows, this property
@@ -2971,9 +2971,9 @@

     /**
      *  Return the data provider indices and padding indices of the
-	 *  currently visible rows.
-	 *  Indices which are greater than or equal to the
-	 *  dataProvider length represent padding rows.
+     *  currently visible rows.
+     *  Indices which are greater than or equal to the
+     *  dataProvider length represent padding rows.
      *  Note that the item renderers for the first and last rows
      *  may only be partially visible.
      *  The returned vector's contents are in the order they're displayed.
@@ -3609,38 +3609,38 @@
     public function invalidateCell(rowIndex:int, columnIndex:int):void
     {
         if (!dataProvider)
-			return;
-
-		const dataProviderLength:int = dataProvider.length;
-		if (rowIndex >= dataProvider.length)
-			return;
-
-		if (!isCellVisible(rowIndex, columnIndex))
-			return;
-
+            return;
+
+        const dataProviderLength:int = dataProvider.length;
+        if (rowIndex >= dataProvider.length)
+            return;
+
+        if (!isCellVisible(rowIndex, columnIndex))
+            return;
+
         // TODO (hmuller) this is a provisional implementation: invalidate the entire row

         const column:GridColumn = getGridColumn(columnIndex);
         const dataField:String = (column) ? column.dataField : null;
-
-		if (rowIndex >= 0)
-		{
-			// invalidate the cell or the row by invalidating the visible row
-			dataProvider.itemUpdated(dataProvider.getItemAt(rowIndex), dataField);
-		}
-		else
-		{
-			// invaliate the column by invalidating all visible rows
-			const rowIndices:Vector.<int> = getVisibleRowIndices();
-			for each (rowIndex in rowIndices)
-			{
-				// If there are any padding rows, skip them.
-				if (rowIndex >= dataProviderLength)
-					break;
-
-				dataProvider.itemUpdated(dataProvider.getItemAt(rowIndex), dataField);
-			}
-		}
+
+        if (rowIndex >= 0)
+        {
+            // invalidate the cell or the row by invalidating the visible row
+            dataProvider.itemUpdated(dataProvider.getItemAt(rowIndex), dataField);
+        }
+        else
+        {
+            // invaliate the column by invalidating all visible rows
+            const rowIndices:Vector.<int> = getVisibleRowIndices();
+            for each (rowIndex in rowIndices)
+            {
+                // If there are any padding rows, skip them.
+                if (rowIndex >= dataProviderLength)
+                    break;
+
+                dataProvider.itemUpdated(dataProvider.getItemAt(rowIndex), dataField);
+            }
+        }
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 18402
Author:   hmuller@adobe.com
Date:     2010-11-01T22:22:13.646124Z

Log Message:
-----------
Added verticalScrollPolicy,horizontalScrollPolicy "cover styles" to List, just like what was done for DataGrid.

Fixed a bug in the DataGrid version of the code (thanks Ryan!) and added some comments all around, to clarify what we're doing.

QE notes:
Doc notes:
Bugs:
Reviewer: Ryan
Tests run: checkin, mustella 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/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -32,8 +32,9 @@
 import mx.core.IUID;
 import mx.core.IVisualElement;
 import mx.core.InteractionMode;
+import mx.core.ScrollPolicy;
+import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
-import mx.core.UIComponentGlobals;
 import mx.events.CollectionEvent;
 import mx.events.CollectionEventKind;
 import mx.events.DragEvent;
@@ -167,6 +168,41 @@
 [Style(name="dropIndicatorSkin", type="Class", inherit="no")]

 /**
+ *  Indicates under what conditions the horizontal scroll bar is displayed.
+ *
+ *

+ *

+ *  ScrollPolicy.ON ("on") - the scroll bar is always displayed.
+ *

+ *

+ *  ScrollPolicy.OFF ("off") - the scroll bar is never displayed.
+ *  The viewport can still be scrolled programmatically, by setting its
+ *  horizontalScrollPosition property.
+ *

+ *

+ *  ScrollPolicy.AUTO ("auto") - the scroll bar is displayed when
+ *  the viewport's contentWidth is larger than its width.
+ *

+ *

+ *
+ *

+ *  The scroll policy affects the measured size of the scroller skin part.  This style
+ *  is simply a cover for the scroller skin part's horizontalScrollPolicy.  It is not an
+ *  inheriting style so, for example, it will not affect item renderers.
+ *

+ *
+ *  @default ScrollPolicy.AUTO
+ *
+ *  @see mx.core.ScrollPolicy
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="horizontalScrollPolicy", type="String", inherit="no", enumeration="off,on,auto")]
+
+/**
  *  @copy spark.components.supportClasses.GroupBase#style:rollOverColor
  *
  *  @default 0xCEDBEF
@@ -221,6 +257,41 @@
  *  @productversion Flex 4.5
  */
 [Style(name="touchDelay", type="Number", format="Time", inherit="yes", minValue="0.0")]
+
+/**
+ *  Indicates under what conditions the vertical scroll bar is displayed.
+ *
+ *

+ *

+ *  ScrollPolicy.ON ("on") - the scroll bar is always displayed.
+ *

+ *

+ *  ScrollPolicy.OFF ("off") - the scroll bar is never displayed.
+ *  The viewport can still be scrolled programmatically, by setting its
+ *  verticalScrollPosition property.
+ *

+ *

+ *  ScrollPolicy.AUTO ("auto") - the scroll bar is displayed when
+ *  the viewport's contentHeight is larger than its height.
+ *

+ *

+ *
+ *

+ *  The scroll policy affects the measured size of the scroller skin part.  This style
+ *  is simply a cover for the scroller skin part's verticalScrollPolicy.  It is not an
+ *  inheriting style so, for example, it will not affect item renderers.
+ *

+ *
+ *  @default ScrollPolicy.AUTO
+ *
+ *  @see mx.core.ScrollPolicy
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="verticalScrollPolicy", type="String", inherit="no", enumeration="off,on,auto")]

 //--------------------------------------
 //  Other metadata
@@ -981,6 +1052,19 @@
         else if (instance == scroller)
         {
             scroller.hasFocusableChildren = hasFocusableChildren;
+
+            // The scrollPolicy styles are initialized in framework/defaults.css
+            // so there's no way to determine if been explicitly set here.  To avoid
+            // preempting explicitly set scroller scrollPolicy styles with the default
+            // "auto" value, we only forward the style if it's not "auto".
+
+            const vsp:String = getStyle("verticalScrollPolicy");
+            if (vsp && (vsp !== ScrollPolicy.AUTO))
+                scroller.setStyle("verticalScrollPolicy", vsp);
+
+            const hsp:String = getStyle("horizontalScrollPolicy");
+            if (hsp && (hsp !== ScrollPolicy.AUTO))
+                scroller.setStyle("horizontalScrollPolicy", hsp);
         }
     }

@@ -1239,6 +1323,35 @@

         return isItemIndexSelected(index);
     }
+
+    /**
+     *  @private
+     */
+    override public function styleChanged(styleName:String):void
+    {
+        super.styleChanged(styleName);
+
+        // The scrollPolicy styles are initialized in framework/defaults.css
+        // so there's no way to determine if been explicitly set here.  To avoid
+        // preempting explicitly set scroller scrollPolicy styles with the default
+        // "auto" value, we only forward the style if it's not "auto".
+
+        const allStyles:Boolean = (styleName == null || styleName == "styleName");
+        if (scroller)
+        {
+            const vsp:String = getStyle("verticalScrollPolicy");
+            if (styleName == "verticalScrollPolicy")
+                scroller.setStyle("verticalScrollPolicy", vsp);
+            else if (allStyles && vsp && (vsp !== ScrollPolicy.AUTO))
+                scroller.setStyle("verticalScrollPolicy", vsp);
+
+            const hsp:String = getStyle("horizontalScrollPolicy");
+            if (styleName == "horizontalScrollPolicy")
+                scroller.setStyle("horizontalScrollPolicy", hsp);
+            else if (allStyles && hsp && (hsp !== ScrollPolicy.AUTO))
+                scroller.setStyle("horizontalScrollPolicy", hsp);
+        }
+    }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 9054
Author:   clucier@adobe.com
Date:     2009-08-04T14:12:22.809061Z

Log Message:
-----------
Refactoring DataGroup a bit to allow for more robust delegation of renderer updates to owning components.  Found and addressed an issue where we were setting the label for each item renderer upwards of four times each update.

QE notes: None
Doc notes: None
Bugs: SDK-22153, SDK-22226
Reviewer: Ryan
Tests run: Checkin, Mustella Spark (List, ButtonBar, DataGroup)
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -757,10 +757,7 @@
         var renderer:IVisualElement = event.renderer;

         if (renderer)
-        {
             renderer.addEventListener(MouseEvent.CLICK, item_clickHandler);
-            updateRenderer(IVisualElement(renderer));
-        }
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 8589
Author:   dsubrama@adobe.com
Date:     2009-07-15T18:20:12.196711Z

Log Message:
-----------
With this check-in, we now collapse Path segment classes (PathSegment, MoveSegment, LineSegment, CloseSegment, CubicBezierSegment, QuadraticBezierSegment) as internal, private classes in Path. Paths will now be wholly dependent on the compact syntax for expressing Path data. Previously, users could write:

<Path>
<segments>
<MoveSegment x="0" y="0" />
<LineSegment x="100" y="100" />
<CloseSegment />
</segments>
</Path>

Now, this syntax is illegal since the Path segment classes are not publicly accessible. Users have to write in the compact syntax as the value of the Path's data property, like so:

<Path data="M 0 0 L 100 100 Z" />

Additional changes include:

1. Path.segments property removed. In its place, there is private variable (segments) which holds the path data parsed into the correct segment objects.

2. Path.segmentChanged() removed – Segments do not need to notify the parent path when their properties have changed since they are now not individually accessible.

3. PathSegment.segmentHost property removed – Segments do not need a pointer back to the parent Path since now they are now not individually accessible.

4. PathSegment.notifySegmentChanged() removed – Segments do not need to notify the parent Path they have changed since they are now not individually accessible.

5. PathSegment.dispatchSegmentChanged() removed – Path segments do not need to dispatch propertyChange events since they are now not individually accessible. As part of this, I have removed the [Bindable] and 	[Inspectable] metadata from all PathSegment properties.

6. PathSegment no longer extends EventDispatcher, instead it extends Object.

7. All of the PathSegment and derivative classes no longer have getters/setters for their properties (like x, y, etc) since these properties are now not dispatching property change events.

8. A variety of checkintests/sparkTest project files have been updated to use the compact syntax as they are drawn/transitioned between state changes. Refer to sparkTest/AddItemsTest.mxml and RemoveItemsTest.mxml for examples on how to use states and transitions to transform Paths through the data they are bound to (as opposed to modifying individual segments).

This is as per the ARB decision listed here: http://opensource.adobe.com/wiki/display/flexsdk/Verbose+Path+Syntax

QA: Yes - Joan ran a cyclone and updated all tests
Doc: Yes - Changes above need to be reflected in documentation
Checkintests: Pass

Modified Paths:
--------------
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/pathSegments/PathSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/states/statefulNodes.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/sparkTest/src/AddItemsTest.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ScrollBarDownButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/sparkTest/src/EffectsProperties.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/sparkTest/src/RemoveItemsTest.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/pathSegments/CloseSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ScrollBarRightButtonSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/pathSegments/MoveSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/SpinnerIncrementButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/pathSegments/QuadraticBezierSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ScrollBarLeftButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/ArrowExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/fxg-manifest.xml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/pathSegments/CubicBezierSegment.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/pathSegments/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/SpinnerDecrementButtonSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/CircleExample.mxml</path>

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -22,14 +22,7 @@
 import mx.core.mx_internal;
 import mx.utils.MatrixUtil;

-import spark.primitives.pathSegments.CloseSegment;
-import spark.primitives.pathSegments.CubicBezierSegment;
-import spark.primitives.pathSegments.LineSegment;
-import spark.primitives.pathSegments.MoveSegment;
-import spark.primitives.pathSegments.PathSegment;
-import spark.primitives.pathSegments.QuadraticBezierSegment;
 import spark.primitives.supportClasses.FilledElement;
-

 use namespace mx_internal;

@@ -37,29 +30,23 @@
  *  The Path class is a filled graphic element that draws a series of path segments.
  *  In vector graphics, a path is a series of points connected by straight or curved line segments.
  *  Together the lines form an image. In Flex, you use the Path class to define a complex vector shape
- *  constructed from a set of line segments. The LineSegment, CubicBezierSegment, and QuadraticBezierSegment
- *  classes define the types of line segments that you can use.
+ *  constructed from a set of line segments.
  *
- *
Typically, the first element of a path definition is a MoveSegment class to specify the starting pen
- *  position of the graphic. You then use the LineSegment, CubicBezierSegment, and QuadraticBezierSegment
- *  classes draw the lines of the graphic. When using these classes, you only specify the x and y coordinates
+ *
Typically, the first element of a path definition is a Move segment to specify the starting pen
+ *  position of the graphic. You then use the Line, CubicBezier and QuadraticBezier segments to
+ *  draw the lines of the graphic. When using these classes, you only specify the x and y coordinates
  *  of the end point of the line; the x and y coordinate of the starting point is defined by the current
  *  pen position.

  *
  *
After drawing a line segment, the current pen position becomes the x and y coordinates of the end
- *  point of the line. You can use multiple instances of the MoveSegment class in the path definition to
+ *  point of the line. You can use multiple Move segments in the path definition to
  *  reposition the pen.

  *
  *
The syntax used by the Path class to define the shape is the same as the SVG path syntax,
  *  which makes it easy to convert SVG paths to Flex paths.

  *
  *  @includeExample examples/ArrowExample.mxml
- *
- *  @see spark.primitives.pathSegments.MoveSegment
- *  @see spark.primitives.pathSegments.LineSegment
- *  @see spark.primitives.pathSegments.CubicBezierSegment
- *  @see spark.primitives.pathSegments.QuadraticBezierSegment
- *
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
@@ -103,6 +90,17 @@
      *  @productversion Flex 4
      */
     private var graphicsPathChanged:Boolean = true;
+
+    /**
+     *  Private data structure to hold the parsed
+     *  path segment information
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    private var segments:Array = [];

     /**
      *  A GraphicsPath object that contains the drawing
@@ -152,13 +150,13 @@
      *      Example
      *

      *

-     *      MoveSegment
+     *      Move
      *      M/m
      *      x y
      *      M 10 20 - Move line to 10, 20.
      *

      *

-     *      LineSegment
+     *      Line
      *      L/l
      *      x y
      *      L 50 30 - Line to 50, 30.
@@ -176,13 +174,13 @@
      *      V 100 - Vertical line to 100.
      *

      *

-     *      QuadraticBezierSegment
+     *      QuadraticBezier
      *      Q/q
      *      controlX controlY x y
      *      Q 110 45 90 30 - Curve to 90, 30 with the control point at 110, 45.
      *

      *

-     *      CubicBezierSegment
+     *      CubicBezier
      *      C/c
      *      control1X control1Y control2X control2Y x y
      *      C 45 50 20 30 10 20 - Curve to 10, 20 with the first control point at 45, 50 and the second control point at 20, 30.
@@ -372,6 +370,8 @@
         }

         segments = newSegments;
+        graphicsPathChanged = true;
+        boundsChanged();

         // Set the _data backing var as the last step since notifyElementChanged
         // clears the value.
@@ -429,44 +429,6 @@
     }

     //----------------------------------
-    //  segments
-    //----------------------------------
-
-    private var _segments:Array = [];
-
-    [ArrayElementType("spark.primitives.pathSegments.PathSegment")]
-    [Inspectable(category="General")]
-    /**
-     *  The segments for the path. Each segment must be a subclass of PathSegment.
-     *
-     *  @default []
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function set segments(value:Array):void
-    {
-        _segments = value;
-
-        for (var i:int = 0; i < _segments.length; i++)
-        {
-            _segments[i].segmentHost = this;
-        }
-        graphicsPathChanged = true;
-        boundsChanged();
-    }
-
-    /**
-     *  @private
-     */
-    public function get segments():Array
-    {
-        return _segments;
-    }
-
-    //----------------------------------
     //  winding
     //----------------------------------

@@ -898,27 +860,7 @@
     //  Methods
     //
     //--------------------------------------------------------------------------
-
-    /**
-     *  Individual path segments notify the host Path that
-     *  the segment has changed in some way by invoking
-     *  this method. When a segment has changed, the
-     *  bounds of the Path are re-calculated and the Path
-     *  will be re-renderered.
-     *
-     *  @param e The PathSegment that has changed
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function segmentChanged(e:PathSegment):void
-    {
-        graphicsPathChanged = true;
-        boundsChanged();
-    }
-
+
     /**
      *  @inheritDoc
      */
@@ -951,3 +893,800 @@
 }

 }
+
+//--------------------------------------------------------------------------
+//
+//  Internal Helper Class - PathSegment
+//
+//--------------------------------------------------------------------------
+import flash.display.GraphicsPath;
+import flash.geom.Matrix;
+import flash.geom.Rectangle;
+import spark.primitives.Path;
+import mx.events.PropertyChangeEvent;
+
+/**
+ *  The PathSegment class is the base class for a segment of a path.
+ *  This class is not created directly. It is the base class for
+ *  MoveSegment, LineSegment, CubicBezierSegment and QuadraticBezierSegment.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+class PathSegment extends Object
+{
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param _x The x position of the pen in the current coordinate system.
+     *
+     *  @param _y The y position of the pen in the current coordinate system.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function PathSegment(_x:Number = 0, _y:Number = 0)
+    {
+        super();
+        x = _x;
+        y = _y;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  x
+    //----------------------------------
+
+	/**
+     *  The ending x position for this segment.
+     *
+     *  @default 0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var x:Number = 0;
+
+    //----------------------------------
+    //  y
+    //----------------------------------
+
+	/**
+     *  The ending y position for this segment.
+     *
+     *  @default 0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var y:Number = 0;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Draws this path segment. You can determine the current pen position by
+     *  reading the x and y values of the previous segment.
+     *
+     *  @param g The graphics context to draw into.
+     *  @param prev The previous segment drawn, or null if this is the first segment.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function draw(graphicsPath:GraphicsPath, dx:Number,dy:Number,sx:Number,sy:Number,prev:PathSegment):void
+    {
+        // Override to draw your segment
+    }
+
+    /**
+     *  @param prev The previous segment drawn, or null if this is the first segment.
+     *  @param sx Pre-transform scale factor for x coordinates.
+     *  @param sy Pre-transform scale factor for y coordinates.
+     *  @param m Transformation matrix.
+     *  @param rect If non-null, rect is expanded to include the bounding box of the segment.
+     *  @return Returns the union of rect and the axis aligned bounding box of the post-transformed
+     *  path segment.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function getBoundingBox(prev:PathSegment, sx:Number, sy:Number, m:Matrix, rect:Rectangle):Rectangle
+    {
+        // Override to calculate your segment's bounding box.
+        return rect;
+    }
+}
+
+
+//--------------------------------------------------------------------------
+//
+//  Internal Helper Class - LineSegment
+//
+//--------------------------------------------------------------------------
+
+import flash.display.GraphicsPath;
+import flash.geom.Matrix;
+import flash.geom.Point;
+import flash.geom.Rectangle;
+
+import mx.utils.MatrixUtil;
+
+/**
+ *  The LineSegment draws a line from the current pen position to the coordinate located at x, y.
+ *
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+class LineSegment extends PathSegment
+{
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param x The current location of the pen along the x axis. The draw() method uses
+     *  this value to determine where to draw to.
+     *
+     *  @param y The current location of the pen along the y axis. The draw() method uses
+     *  this value to determine where to draw to.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function LineSegment(x:Number = 0, y:Number = 0)
+    {
+        super(x, y);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override public function draw(graphicsPath:GraphicsPath, dx:Number,dy:Number,sx:Number,sy:Number,prev:PathSegment):void
+    {
+        graphicsPath.lineTo(dx + x*sx, dy + y*sy);
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override public function getBoundingBox(prev:PathSegment, sx:Number, sy:Number, m:Matrix, rect:Rectangle):Rectangle
+    {
+        // FIXME (egeorgie): optimize, we shouldn't look at the prev point, if it already contributed to rect
+        var pt1:Point = m.transformPoint(new Point(prev ? prev.x * sx : 0, prev ? prev.y * sy : 0));
+        var pt2:Point = m.transformPoint(new Point(x * sx, y * sy));
+
+        return MatrixUtil.rectUnion(Math.min(pt1.x, pt2.x), Math.min(pt1.y, pt2.y),
+                                    Math.max(pt1.x, pt2.x), Math.max(pt1.y, pt2.y), rect);
+    }
+
+}
+
+
+//--------------------------------------------------------------------------
+//
+//  Internal Helper Class - MoveSegment
+//
+//--------------------------------------------------------------------------
+import flash.display.GraphicsPath;
+
+/**
+ *  The MoveSegment moves the pen to the x,y position. This class calls the Graphics.moveTo() method
+ *  from the draw() method.
+ *
+ *
+ *  @see flash.display.Graphics
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+class MoveSegment extends PathSegment
+{
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param x The target x-axis location in 2-d coordinate space.
+     *
+     *  @param y The target y-axis location in 2-d coordinate space.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function MoveSegment(x:Number = 0, y:Number = 0)
+    {
+        super(x, y);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  The MoveSegment class moves the pen to the position specified by the
+     *  x and y properties.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override public function draw(graphicsPath:GraphicsPath, dx:Number,dy:Number,sx:Number,sy:Number,prev:PathSegment):void
+    {
+        graphicsPath.moveTo(dx+x*sx, dy+y*sy);
+    }
+}
+
+//--------------------------------------------------------------------------
+//
+//  Internal Helper Class - CloseSegment
+//
+//--------------------------------------------------------------------------
+
+import flash.display.GraphicsPath;
+
+/**
+ *  The CloseSegment closes the current path.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+class CloseSegment extends PathSegment
+{
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function CloseSegment()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  The CloseSegment class draws a line from the current pen location to the
+     *  position specified by the x and y properties.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override public function draw(graphicsPath:GraphicsPath, dx:Number,dy:Number,sx:Number,sy:Number,prev:PathSegment):void
+    {
+    }
+}
+
+//--------------------------------------------------------------------------
+//
+//  Internal Helper Class - CubicBezierSegment
+//
+//--------------------------------------------------------------------------
+
+import flash.display.GraphicsPath;
+import flash.geom.Matrix;
+import flash.geom.Point;
+import flash.geom.Rectangle;
+
+import mx.utils.MatrixUtil;
+
+/**
+ *  The CubicBezierSegment draws a cubic bezier curve from the current pen position
+ *  to x, y. The control1X and control1Y properties specify the first control point;
+ *  the control2X and control2Y properties specify the second control point.
+ *
+ *
Cubic bezier curves are not natively supported in Flash Player. This class does
+ *  an approximation based on the fixed midpoint algorithm and uses 4 quadratic curves
+ *  to simulate a cubic curve.

+ *
+ *
For details on the fixed midpoint algorithm, see:

+ *  http://timotheegroleau.com/Flash/articles/cubic_bezier_in_flash.htm

+ *
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+class CubicBezierSegment extends PathSegment
+{
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *
For a CubicBezierSegment, there are two control points, each with x and y coordinates. Control points
+     *  are points that define the direction and amount of curves of a Bezier curve.
+     *  The curved line never reaches the control points; however, the line curves as though being drawn
+     *  toward the control point.

+     *
+     *  @param _control1X The x-axis location in 2-d coordinate space of the first control point.
+     *
+     *  @param _control1Y The y-axis location of the first control point.
+     *
+     *  @param _control2X The x-axis location of the second control point.
+     *
+     *  @param _control2Y The y-axis location of the second control point.
+     *
+     *  @param x The x-axis location of the starting point of the curve.
+     *
+     *  @param y The y-axis location of the starting point of the curve.
+     *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function CubicBezierSegment(
+                _control1X:Number = 0, _control1Y:Number = 0,
+                _control2X:Number = 0, _control2Y:Number = 0,
+                x:Number = 0, y:Number = 0)
+    {
+        super(x, y);
+
+        control1X = _control1X;
+        control1Y = _control1Y;
+        control2X = _control2X;
+        control2Y = _control2Y;
+    }
+
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    private var _qPts:QuadraticPoints;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  control1X
+    //----------------------------------
+
+	/**
+     *  The first control point x position.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var control1X:Number = 0;
+
+    //----------------------------------
+    //  control1Y
+    //----------------------------------
+
+	/**
+     *  The first control point y position.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var control1Y:Number = 0;
+
+    //----------------------------------
+    //  control2X
+    //----------------------------------
+
+	/**
+     *  The second control point x position.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var control2X:Number = 0;
+
+    //----------------------------------
+    //  control2Y
+    //----------------------------------
+
+	/**
+     *  The second control point y position.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var control2Y:Number = 0;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Draws the segment.
+     *
+     *  @param g The graphics context where the segment is drawn.
+     *
+     *  @param prev The previous location of the pen.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override public function draw(graphicsPath:GraphicsPath, dx:Number,dy:Number,sx:Number,sy:Number,prev:PathSegment):void
+    {
+        var qPts:QuadraticPoints = getQuadraticPoints(prev);
+
+        graphicsPath.curveTo(dx + qPts.control1.x*sx, dy+qPts.control1.y*sy, dx+qPts.anchor1.x*sx, dy+qPts.anchor1.y*sy);
+        graphicsPath.curveTo(dx + qPts.control2.x*sx, dy+qPts.control2.y*sy, dx+qPts.anchor2.x*sx, dy+qPts.anchor2.y*sy);
+        graphicsPath.curveTo(dx + qPts.control3.x*sx, dy+qPts.control3.y*sy, dx+qPts.anchor3.x*sx, dy+qPts.anchor3.y*sy);
+        graphicsPath.curveTo(dx + qPts.control4.x*sx, dy+qPts.control4.y*sy, dx+qPts.anchor4.x*sx, dy+qPts.anchor4.y*sy);
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override public function getBoundingBox(prev:PathSegment, sx:Number, sy:Number,
+                                            m:Matrix, rect:Rectangle):Rectangle
+    {
+        var qPts:QuadraticPoints = getQuadraticPoints(prev);
+
+        rect = MatrixUtil.getQBezierSegmentBBox(prev ? prev.x : 0, prev ? prev.y : 0,
+                                                qPts.control1.x, qPts.control1.y,
+                                                qPts.anchor1.x, qPts.anchor1.y,
+                                                sx, sy, m, rect);
+
+        rect = MatrixUtil.getQBezierSegmentBBox(qPts.anchor1.x, qPts.anchor1.y,
+                                                qPts.control2.x, qPts.control2.y,
+                                                qPts.anchor2.x, qPts.anchor2.y,
+                                                sx, sy, m, rect);
+
+        rect = MatrixUtil.getQBezierSegmentBBox(qPts.anchor2.x, qPts.anchor2.y,
+                                                qPts.control3.x, qPts.control3.y,
+                                                qPts.anchor3.x, qPts.anchor3.y,
+                                                sx, sy, m, rect);
+
+        rect = MatrixUtil.getQBezierSegmentBBox(qPts.anchor3.x, qPts.anchor3.y,
+                                                qPts.control4.x, qPts.control4.y,
+                                                qPts.anchor4.x, qPts.anchor4.y,
+                                                sx, sy, m, rect);
+        return rect;
+    }
+
+    /**
+     *  @private
+     *  Tim Groleau's method to approximate a cubic bezier with 4 quadratic beziers,
+     *  with endpoint and control point of each saved.
+     */
+    private function getQuadraticPoints(prev:PathSegment):QuadraticPoints
+    {
+        if (_qPts)
+            return _qPts;
+
+        var p1:Point = new Point(prev ? prev.x : 0, prev ? prev.y : 0);
+        var p2:Point = new Point(x, y);
+        var c1:Point = new Point(control1X, control1Y);
+        var c2:Point = new Point(control2X, control2Y);
+
+        // calculates the useful base points
+        var PA:Point = Point.interpolate(c1, p1, 3/4);
+        var PB:Point = Point.interpolate(c2, p2, 3/4);
+
+        // get 1/16 of the [p2, p1] segment
+        var dx:Number = (p2.x - p1.x) / 16;
+        var dy:Number = (p2.y - p1.y) / 16;
+
+        _qPts = new QuadraticPoints;
+
+        // calculates control point 1
+        _qPts.control1 = Point.interpolate(c1, p1, 3/8);
+
+        // calculates control point 2
+        _qPts.control2 = Point.interpolate(PB, PA, 3/8);
+        _qPts.control2.x -= dx;
+        _qPts.control2.y -= dy;
+
+        // calculates control point 3
+        _qPts.control3 = Point.interpolate(PA, PB, 3/8);
+        _qPts.control3.x += dx;
+        _qPts.control3.y += dy;
+
+        // calculates control point 4
+        _qPts.control4 = Point.interpolate(c2, p2, 3/8);
+
+        // calculates the 3 anchor points
+        _qPts.anchor1 = Point.interpolate(_qPts.control1, _qPts.control2, 0.5);
+        _qPts.anchor2 = Point.interpolate(PA, PB, 0.5);
+        _qPts.anchor3 = Point.interpolate(_qPts.control3, _qPts.control4, 0.5);
+
+        // the 4th anchor point is p2
+        _qPts.anchor4 = p2;
+
+        return _qPts;
+    }
+}
+
+//--------------------------------------------------------------------------
+//
+//  Internal Helper Class - QuadraticPoints
+//
+//--------------------------------------------------------------------------
+import flash.geom.Point;
+
+/**
+ *  Utility class to store the computed quadratic points.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+class QuadraticPoints
+{
+    public var control1:Point;
+    public var anchor1:Point;
+    public var control2:Point;
+    public var anchor2:Point;
+    public var control3:Point;
+    public var anchor3:Point;
+    public var control4:Point;
+    public var anchor4:Point;
+
+    /**
+     * Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function QuadraticPoints()
+    {
+        super();
+    }
+}
+
+//--------------------------------------------------------------------------
+//
+//  Internal Helper Class - QuadraticBezierSegment
+//
+//--------------------------------------------------------------------------
+import flash.display.GraphicsPath;
+import flash.geom.Matrix;
+import flash.geom.Point;
+import flash.geom.Rectangle;
+
+import mx.utils.MatrixUtil;
+
+/**
+ *  The QuadraticBezierSegment draws a quadratic curve from the current pen position
+ *  to x, y.
+ *
+ *  Quadratic bezier is the native curve type
+ *  in Flash Player.
+ *
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+class QuadraticBezierSegment extends PathSegment
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *
For a QuadraticBezierSegment, there is one control point. A control point
+     *  is a point that defines the direction and amount of a Bezier curve.
+     *  The curved line never reaches the control point; however, the line curves as though being drawn
+     *  toward the control point.

+     *
+     *  @param _control1X The x-axis location in 2-d coordinate space of the control point.
+     *
+     *  @param _control1Y The y-axis location in 2-d coordinate space of the control point.
+     *
+     *  @param x The x-axis location of the starting point of the curve.
+     *
+     *  @param y The y-axis location of the starting point of the curve.
+     *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function QuadraticBezierSegment(
+                _control1X:Number = 0, _control1Y:Number = 0,
+                x:Number = 0, y:Number = 0)
+    {
+        super(x, y);
+
+        control1X = _control1X;
+        control1Y = _control1Y;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  control1X
+    //----------------------------------
+
+	/**
+     *  The control point's x position.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var control1X:Number = 0;
+
+    //----------------------------------
+    //  control1Y
+    //----------------------------------
+
+	/**
+     *  The control point's y position.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var control1Y:Number = 0;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Draws the segment using the control point location and the x and y coordinates.
+     *  This method calls the Graphics.curveTo() method.
+     *
+     *  @see flash.display.Graphics
+     *
+     *  @param g The graphics context where the segment is drawn.
+     *
+     *  @param prev The previous location of the pen.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override public function draw(graphicsPath:GraphicsPath, dx:Number,dy:Number,sx:Number,sy:Number,prev:PathSegment):void
+    {
+        graphicsPath.curveTo(dx+control1X*sx, dy+control1Y*sy, dx+x*sx, dy+y*sy);
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override public function getBoundingBox(prev:PathSegment, sx:Number, sy:Number,
+                                            m:Matrix, rect:Rectangle):Rectangle
+    {
+        return MatrixUtil.getQBezierSegmentBBox(prev ? prev.x : 0, prev ? prev.y : 0,
+                                                control1X, control1Y, x, y, sx, sy, m, rect);
+    }
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 88
Author:   open-source-svn-admin@adobe.com
Date:     2008-01-03T22:47:56.499469Z

Log Message:
-----------
Perforce Change 191925 by proberts@proberts-laptop-flex on 2008/01/03 16:47:12 Severity: ignore Details: doc additions/clean up for FlexNativeMenu. Also FLEXDOCS-320 (update documentation for FlexNativeMenuEvent.MENU_SHOW to explain that the index, label, and item properties are null) Affected files ...

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/rpc/src/mx/messaging/Consumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/NoChannelAvailableError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.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/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessagingError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidChannelError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingHTTPChannel.as</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/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXContext.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/PollingChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXHeader.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/messaging/channels/SecureAMFChannel.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/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/Grammar.jj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ConsumerMessageDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidDestinationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractMessageStore.as</path>

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

--- frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as
+++ frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as
@@ -78,7 +78,8 @@
  *  You often use this control with the FileSystemList and FileSystemTree
  *  controls to change the current directory displayed by those controls.
  *
- *
To populate the dataProvider property,
+ *
Unlike the standard ComboBox control, to populate the FileSystemComboBox control's
+ *  dataProvider property,
  *  you set the directory property.
  *  This control then automatically sets the dataProvider
  *  property to an ArrayCollection of File objects
@@ -87,10 +88,11 @@
  *  and ending with the specified directory.

  *
  *
When you select an entry in the dropdown list,
- *  this control dispatches an Event.CHANGE event.
- *  Afterwards the data provider, and therefore the dropdown list,
- *  contains the selected directory's ancestors.

+ *  this control dispatches a change event.
+ *  After the event is dispatched data provider, and consequently the dropdown list,
+ *  contain the selected directory's ancestors.

  *
+ *  @see flash.filesystem.File
  *  @see mx.controls.FileSystemList
  *  @see mx.controls.FileSystemTree
  */
@@ -105,10 +107,10 @@
     //--------------------------------------------------------------------------

     /**
-     * A constant that can be used as a value for the directory property,
-	 * representing a pseudo-top level directory named "Computer". This pseudo-directory
-     * contains the root directories
-     * (such as C:\ and D:\ on Windows or / on Macintosh).
+     *  A constant that can be used as a value for the directory property,
+	 *  representing a pseudo-top level directory named "Computer". This pseudo-directory
+     *  contains the root directories
+     *  (such as C:\ and D:\ on Windows or / on Macintosh).
      */
     public static const COMPUTER:File = FileSystemControlHelper.COMPUTER;


Transferred from the Adobe Open Source Subversion Repository

Revision: 88
Author:   open-source-svn-admin@adobe.com
Date:     2008-01-03T22:47:56.499469Z

Log Message:
-----------
Perforce Change 191925 by proberts@proberts-laptop-flex on 2008/01/03 16:47:12 Severity: ignore Details: doc additions/clean up for FlexNativeMenu. Also FLEXDOCS-320 (update documentation for FlexNativeMenuEvent.MENU_SHOW to explain that the index, label, and item properties are null) Affected files ...

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/rpc/src/mx/messaging/Consumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/NoChannelAvailableError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.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/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessagingError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidChannelError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingHTTPChannel.as</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/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXContext.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/PollingChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXHeader.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/messaging/channels/SecureAMFChannel.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/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/Grammar.jj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ConsumerMessageDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidDestinationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractMessageStore.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as
+++ frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as
@@ -1,21 +1,14 @@
-/*************************************************************************
- *
- * ADOBE CONFIDENTIAL
- * __________________
- *
- *  [2002] - [2007] Adobe Systems Incorporated
- *  All Rights Reserved.
- *
- * NOTICE:  All information contained herein is, and remains
- * the property of Adobe Systems Incorporated and its suppliers,
- * if any.  The intellectual and technical concepts contained
- * herein are proprietary to Adobe Systems Incorporated
- * and its suppliers and may be covered by U.S. and Foreign Patents,
- * patents in process, and are protected by trade secret or copyright law.
- * Dissemination of this information or reproduction of this material
- * is strictly forbidden unless prior written permission is obtained
- * from Adobe Systems Incorporated.
- */
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.channels
 {

@@ -48,6 +41,7 @@
 [ResourceBundle("messaging")]

 [ExcludeClass]
+
 /**
  *  @private
  *  The DirectHTTPChannel class is used to turn an HTTPRequestMessage object into an


Transferred from the Adobe Open Source Subversion Repository

Revision: 9931
Author:   jszeto@adobe.com
Date:     2009-09-02T18:36:49.327252Z

Log Message:
-----------
Border Bug Fixes

http://bugs.adobe.com/jira/browse/SDK-22918 - When the Border component style borderVisible is set to false the top line of the Border is still visible

Don’t draw the inset drop shadow if borderVisible == false

http://bugs.adobe.com/jira/browse/SDK-22937 - Border's toolTip does not display via a mouseOver the content area

If we don’t have a backgroundFill, backgroundColor, or backgroundImage, then use a transparent fill to register mouse interactions

http://bugs.adobe.com/jira/browse/SDK-22925 - Border component has a default size of 2x2

Set the default width and height to 112, the same as for List

http://bugs.adobe.com/jira/browse/SDK-22953 - Border has strange shadow when cornerRadius and borderWeight are set

If the borderWeight is 10 or greater, then for the drop shadow just draw a straight line. Wider strokes have squared off inner corners.

http://bugs.adobe.com/jira/browse/SDK-22952 - Border only receives mouse events when they occur on the border

If we don’t have a backgroundFill, backgroundColor, or backgroundImage, then use a transparent fill to register mouse interactions

http://bugs.adobe.com/jira/browse/SDK-22926 - Border component has a default borderStyle of inset

Updated the Border type selector. The global selector already sets borderStyle = “inset” for the Halo components.

QE notes: None
Doc notes: Added default dimensions of 112 x 112 for Border
Bugs: SDK-22918, SDK-22937, SDK-22925, SDK-22953, SDK-22952, SDK-22926
Reviewer: Glenn
Tests run: Checkin tests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/BorderSkin.as</path>

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

--- frameworks/projects/spark/src/spark/skins/spark/BorderContainerSkin.as
+++ frameworks/projects/spark/src/spark/skins/spark/BorderContainerSkin.as
@@ -55,7 +55,9 @@
 	public function BorderSkin()
 	{
 	    super();
-
+
+        minWidth = minHeight = 112;
+
 	    states = [
             new State({name:"normal"}),
             new State({name:"disabled",
@@ -130,7 +132,7 @@
     {
         graphics.clear();

-        var borderWeight:int = getStyle("borderWeight");
+        var borderWeight:int = getStyle("borderWeight");
         var borderStyle:String = getStyle("borderStyle");
         var borderVisible:Boolean = getStyle("borderVisible");
         var cornerRadius:Number = getStyle("cornerRadius");
@@ -202,17 +204,17 @@
                 if (!isNaN(bkgdColor))
                     bgRect.fill = new SolidColor(bkgdColor, bkgdAlpha);
                 else
-                    bgRect.fill = null;
+                    bgRect.fill = new SolidColor(0, 0);
             }
         }

         // Draw the shadow for the inset style
-        if (borderStyle == "inset" && hostComponent.borderStroke == null)
+        if (borderStyle == "inset" && hostComponent.borderStroke == null && borderVisible)
         {
             var negCR:Number = -cornerRadius;
             var path:String = "";

-            if (cornerRadius > 0)
+            if (cornerRadius > 0 && borderWeight < 10)
             {
                 // Draw each corner with two quadratics, using the following ratios:
                 var a:Number = cornerRadius * 0.292893218813453;


Transferred from the Adobe Open Source Subversion Repository

Revision: 1968
Author:   jimurphy@adobe.com
Date:     2008-06-05T15:31:56.961691Z

Log Message:
-----------
Merge 3.0.x revisions [1940,1954] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/AIREvent.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FileEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/StatusBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMaximizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/IWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemSizeDisplayMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowCloseButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>

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

--- frameworks/projects/airframework/src/mx/controls/FileSystemList.as
+++ frameworks/projects/airframework/src/mx/controls/FileSystemList.as
@@ -239,7 +239,7 @@
  *
  *  @see flash.filesystem.File
  *
- *  @productversion Apollo 1.0
+ *  @playerversion AIR 1.1
  */
 public class FileSystemList extends List
 {


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

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

 package mx.charts.renderers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 10250
Author:   gosmith@adobe.com
Date:     2009-09-15T00:08:09.295408Z

Log Message:
-----------
Added 'direction' and 'locale' styles to TextStyles.as (the same place that defines 'textFieldClass') so that an MX component using UITLFTextField as its textFieldClass can also specify the direction and locale of the text.

UITLFTextField uses getStyle() on these styles to set its 'direction' and 'locale' properties.

UITextFormat needs to have new fields to store these properties, just like for 'sharpness', 'thickness'. The determineTextFormatFromStyle() method of UIComponent fills these out based on the styles. The measure() method of UITextFormat then transfers them to the offscreen TLFTextField used for measurement.

Also UIComponent's createInFontContext() method now sets the textLineCreator of the TLFTextField so that it knows which module should create its TextLines (so that they can use a font embedded in that module).

QE notes: None
Doc notes: None
Bugs: SDK-23117
Reviewer: Glenn
Tests run: ant checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as
+++ frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as
@@ -22,6 +22,34 @@
 [Style(name="color", type="uint", format="Color", inherit="yes")]

 /**
+ *  The directionality of the text displayed by the component.
+ *
+ *
The allowed values are "ltr" for left-to-right text,
+ *  as in Latin-style scripts,
+ *  and "rtl" for right-to-left text,
+ *  as in Arabic and Hebrew.

+ *
+ *
FTE and TLF use this value in their bidirectional text layout algorithm,
+ *  which maps Unicode character order to glyph order.

+ *
+ *
Note: This style only applies when an MX component
+ *  specifies UITLFTextField as its textFieldClass.

+ *
+ *
The direction also affects the alignment
+ *  of the text within the bounds of the TLFTextField.
+ *  It does not, however, affect the the placement
+ *  of the TLFTextField within the component.

+ *
+ *  @default "ltr"
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="direction", type="String", enumeration="ltr,rtl,inherit", inherit="yes")]
+
+/**
  *  Color of text in the component if it is disabled.
  *
  *  @default 0xAAB3B3
@@ -223,6 +251,24 @@
  *  @productversion Flex 3
  */
 [Style(name="letterSpacing", type="Number", inherit="yes")]
+
+/**
+ *  The locale of the text displayed by this component.
+ *
+ *
FTE and TLF use this locale to map Unicode characters
+ *  to font glyphs and to find fallback fonts.

+ *
+ *
Note: This style only applies when an MX component
+ *  specifies UITLFTextField as its textFieldClass.

+ *
+ *  @default "en"
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="locale", type="String", inherit="yes")]

 /**
  *  Alignment of text within a container.


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.rpc.xml
 {


FLEX-23303:  Added new minor enhancement selectedIndex.

--- frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
+++ frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
@@ -277,6 +277,58 @@
         return radioButtons.length;
     }

+
+    //----------------------------------
+    //  selectedIndex
+    //----------------------------------
+
+    /**
+    *  @private
+    */
+    private var _selectedIndex:int = -1;
+
+    [Bindable("change")]
+    [Bindable("valueCommit")]
+    [Inspectable(category="General")]
+
+    /**
+    *  The index of the selected RadioButton component in the group.
+    *  If a RadioButton is not selected, this property is <code>-1</code>.
+    *
+    *  @default -1
+    *
+    *  @langversion 3.0
+    *  @playerversion Flash 11.1
+    *  @playerversion AIR 3.4
+    *  @productversion Flex 4.10
+    */
+    public function get selectedIndex():int
+    {
+        return _selectedIndex;
+    }
+
+    /**
+    *  @private.
+    */
+    public function set selectedIndex(newValue:int):void
+    {
+        if (newValue == _selectedIndex)
+        {
+            return;
+        }
+
+        if (newValue == -1)
+        {
+            setSelection(null, false);
+            return;
+        }
+
+        changeSelection(newValue, false)
+
+        dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
+    }
+
+
     //----------------------------------
     //  selectedValue
     //----------------------------------
@@ -569,6 +621,7 @@
             {
                 _selection.selected = false;
                 _selection = null;
+                _selectedIndex = -1;
                 if (fireChange)
                     dispatchEvent(new Event(Event.CHANGE));
             }
@@ -607,6 +660,7 @@
             // Fire a click event for the radio group.
             _selection = rb;
             _selection.selected = true;
+            _selectedIndex = index;
             if (fireChange)
                 dispatchEvent(new Event(Event.CHANGE));
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 10214
Author:   cframpto@adobe.com
Date:     2009-09-13T14:33:58.570082Z

Log Message:
-----------
This fixes the problem that if two text components share the same textFlow there is an infinite loop involving updateDisplayList -> damageHandler -> invalidateDisplaylist -> back to updateDisplayList.  The bug file was for TextArea which is RET but the same bug was in RichText as well.

This example with a renderer exposed it because the typicalItem that is composed to figure out sizes and the actual first item in the list share the same textFlow.  It actually has nothing to do with useVirtualDisplay other than it was sharing a textFlow.

It turns out that the TextFlowFactory dispatches damage events every time the textFlow is composed.  Unlike when the flowComposer is used, it always considers the flow damaged.  It was exacerbated by each of the two components having a damage handler for the same textFlow.

The solution is to use the textFlow generation number.  In the damageHandler if the generation is the last known generation number, assume no changes, and return immediately from the damage handler.

QE notes: There are 1 TextArea, 6 TextInput and 2 NumericStepper failuers, with or without my changes.  The common link seems to be DispatchKeyEvent.  Most were testing maxChar, displayAsPassword and restrict.  I tested these and they seem to be working correctly.

Doc notes:
Bugs: SDK-23002
Reviewer: Gordon
Tests run: checkintests, TextArea, TextInput and NumericStepper
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -619,6 +619,14 @@

     /**
      *  @private
+     *  Holds the last recorded value of the textFlow generation.  Used to
+     *  determine whether to return immediately from damage event if there
+     *  have been no changes.
+     */
+    private var lastGeneration:uint = 0;    // 0 means not set
+
+    /**
+     *  @private
      *  True if TextOperationEvent.CHANGING and TextOperationEvent.CHANGE
      *  events should be dispatched.
      */
@@ -2259,6 +2267,8 @@

         if (textChanged || textFlowChanged || contentChanged)
         {
+            lastGeneration = _textFlow ? _textFlow.generation : 0;
+
             // If the text, textFlow or content changed, there is no selection.
             // If we already have focus, set the selection to 0,0 so there is
             // an insertion point.  Since the text was changed programatically
@@ -3914,9 +3924,22 @@
      */
     private function textContainerManager_damageHandler(event:DamageEvent):void
     {
-        // setText triggers a damage event which we want to ignore.  We
-        // override TCM.setText() in RETCM and set this flag before calling the
-        // superclass.
+        // The following textContainerManager functions can trigger a damage
+        // event:
+        //    setText/setTextFlow
+        //    set hostFormat
+        //    set compositionWidth/compositionHeight
+        //    set horizontalScrollPosition/veriticalScrollPosition
+        //    set textLineCreator
+        //    updateContainer or compose: always if TextFlowFactory, sometimes
+        //        if flowComposer
+
+        // If no changes, don't recompose/update.  The TextFlowFactory
+        // createTextLines dispatches damage events every time the textFlow
+        // is composed, even if there are no changes.
+        if (_textFlow && _textFlow.generation == lastGeneration)
+            return;
+
         if (ignoreDamageEvent || event.damageLength == 0)
             return;

@@ -3937,6 +3960,8 @@
         _text = null;
         _content = null;
         _textFlow = _textContainerManager.getTextFlow();
+
+        lastGeneration = _textFlow.generation;

         // We don't need to call invalidateProperties()
         // because the hostFormat and the _textFlow are still valid.


Added comment to Async class

Added comment to Async class

--- as3/src/asunit4/async/Async.as
+++ as3/src/asunit4/async/Async.as
@@ -14,6 +14,31 @@

 		protected var pending:Array;

+        /**
+         * Asynchronous handler class.
+         *
+         * This class give you the ability to create Asynchronous event handlers
+         * and pause test execution until those handlers are triggered.
+         *
+         * To take advantage of Asynchronous features, add a member variable
+         * to your test like:
+         *
+         *  [Async]
+         *  public var async:IAsync;
+         *
+         * This public property will be injected with an IAsync instance
+         * before each test method.
+         *
+         * Within your test methods, you can add Async callbacks with:
+         *
+         *  [Test]
+         *  public function verifySomething():void {
+         *      async.add(handler);
+         *  }
+         *
+         * In the previous example, test execution will be halted until the
+         * +handler+ method is called.
+         */
 		public function Async() {
 			pending = [];
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 8667
Author:   gosmith@adobe.com
Date:     2009-07-17T21:16:57.206119Z

Log Message:
-----------
Temporarily commented out the editable:Boolean property that Alex recently added to IIMESupport, because it conflicts with an editable:String property in AdvancedDataGrid and is preventing DMV integration. I've also commented out the code in FocusManager that uses this property. After we settle on a new name, this functionality will be re-enabled.

QE notes: This will temporarily break IME input.
Doc notes: None
Bugs: None
Reviewer: Alex to review
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IIMESupport.as</path>

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

--- frameworks/projects/framework/src/mx/core/IIMESupport.as
+++ frameworks/projects/framework/src/mx/core/IIMESupport.as
@@ -44,7 +44,7 @@
 	 *  @playerversion AIR 1.5
 	 *  @productversion Flex 4
 	 */
-	function get editable():Boolean;
+//	function get editable():Boolean;

 	//----------------------------------
 	//  imeMode


Transferred from the Adobe Open Source Subversion Repository

Revision: 17017
Author:   aharui@adobe.com
Date:     2010-07-22T17:31:23.322805Z

Log Message:
-----------
Re-commit LayoutManager changes from 16970

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -4025,23 +4025,30 @@

             updateCallbacks();

-            var childList:IChildList = (this is IRawChildrenContainer) ?
-                IRawChildrenContainer(this).rawChildren : IChildList(this);
-            var n:int = childList.numChildren;
-            for (var i:int = 0; i < n; i++)
+			value ++;
+		}
+		else if (value == 0)
+			_nestLevel = value = 0;
+		else
+			value ++;
+
+		var childList:IChildList = (this is IRawChildrenContainer) ?
+			IRawChildrenContainer(this).rawChildren : IChildList(this);
+
+        var n:int = childList.numChildren;
+        for (var i:int = 0; i < n; i++)
+        {
+            var ui:ILayoutManagerClient  = childList.getChildAt(i) as ILayoutManagerClient;
+            if (ui)
             {
-                var ui:ILayoutManagerClient  = childList.getChildAt(i) as ILayoutManagerClient;
-                if (ui)
-                {
-                    ui.nestLevel = value + 1;
-                }
-                else
-                {
-                    var textField:IUITextField = childList.getChildAt(i) as IUITextField;
-
-                    if (textField)
-                        textField.nestLevel = value + 1;
-                }
+                ui.nestLevel = value;
+            }
+            else
+            {
+                var textField:IUITextField = childList.getChildAt(i) as IUITextField;
+
+                if (textField)
+                    textField.nestLevel = value;
             }
         }
     }
@@ -7184,7 +7191,7 @@
         if (!p)
         {
             _parent = null;
-            _nestLevel = 0;
+            nestLevel = 0;
         }
         else if (p is IStyleClient)
         {
@@ -7581,7 +7588,7 @@
         {
             invalidatePropertiesFlag = true;

-            if (parent && UIComponentGlobals.layoutManager)
+            if (nestLevel && UIComponentGlobals.layoutManager)
                 UIComponentGlobals.layoutManager.invalidateProperties(this);
         }
     }
@@ -7614,7 +7621,7 @@
         {
             invalidateSizeFlag = true;

-            if (parent && UIComponentGlobals.layoutManager)
+            if (nestLevel && UIComponentGlobals.layoutManager)
                 UIComponentGlobals.layoutManager.invalidateSize(this);
         }
     }
@@ -7669,7 +7676,7 @@
         {
             invalidateDisplayListFlag = true;

-            if (isOnDisplayList() && UIComponentGlobals.layoutManager)
+            if (nestLevel && UIComponentGlobals.layoutManager)
                 UIComponentGlobals.layoutManager.invalidateDisplayList(this);
         }
     }
@@ -7679,7 +7686,7 @@
         if (_layoutFeatures && _layoutFeatures.updatePending == false)
         {
             _layoutFeatures.updatePending = true;
-            if (isOnDisplayList() && UIComponentGlobals.layoutManager &&
+            if (nestLevel && UIComponentGlobals.layoutManager &&
                 invalidateDisplayListFlag == false)
             {
                 UIComponentGlobals.layoutManager.invalidateDisplayList(this);
@@ -7753,22 +7760,6 @@
         invalidateTransform();
     }

-    private function isOnDisplayList():Boolean
-    {
-        var p:DisplayObjectContainer;
-
-        try
-        {
-            p = _parent ? _parent : super.parent;
-        }
-        catch (e:SecurityError)
-        {
-            // trace("UIComponent.isOnDisplayList(): " + e);
-            return true;        // we are on the display list but the parent is in another sandbox
-        }
-
-        return p ? true : false;
-    }

     /**
      *  Flex calls the stylesInitialized() method when


Transferred from the Adobe Open Source Subversion Repository

Revision: 4803
Author:   egeorgie@adobe.com
Date:     2009-02-03T00:06:34.444252Z

Log Message:
-----------
Fix bug SDK-18434 Bounds for rotated rounded rect is incorrect

Fix: Calculate the bounds of the transformed corner ellipses in the case of matrix transformation. Refactor the Ellipse's helper method and move it to MatrixUtil.as so that it's shared between classes.

QE Notes: None
Doc Notes: None
Bugs: SDK-18434
Reviewer: Ryan
tests: checkintests, mustella gumbo/layout/graphicelement

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>

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

--- frameworks/projects/framework/src/mx/utils/MatrixUtil.as
+++ frameworks/projects/framework/src/mx/utils/MatrixUtil.as
@@ -97,6 +97,81 @@
         rect.width  = maxX - minX;
         rect.height = maxY - minY;
         return rect;
+    }
+
+    /**
+     *  Calculates the bounding box of a post-transformed ellipse.
+     *
+     *  @param cx The x coordinate of the ellipse's center
+     *  @param cy The y coordinate of the ellipse's center
+     *  @param rx The horizontal radius of the ellipse
+     *  @param ry The vertical radius of the ellipse
+     *  @param matrix The transformation matrix.
+     *  @param rect If non-null, rect will be updated to the union of rect and
+     *  the segment bounding box.
+     *  @return Returns the union of the passed in rect with the
+     *  bounding box of the the post-transformed ellipse.
+     */
+    public static function getEllipseBoundingBox(cx:Number, cy:Number,
+                                                 rx:Number, ry:Number,
+                                                 matrix:Matrix,
+                                                 rect:Rectangle = null):Rectangle
+    {
+        var a:Number = matrix.a;
+        var b:Number = matrix.b;
+        var c:Number = matrix.c;
+        var d:Number = matrix.d;
+
+        // Ellipse can be represented by the following parametric equations:
+        //
+        // (1) x = cx + rx * cos(t)
+        // (2) y = cy + ry * sin(t)
+        //
+        // After applying transformation with matrix m(a, c, b, d) we get:
+        //
+        // (3) x = a * cx + a * cos(t) * rx + c * cy + c * sin(t) * ry + m.tx
+        // (4) y = b * cx + b * cos(t) * rx + d * cy + d * sin(t) * ry + m.ty
+        //
+        // In (3) and (4) x and y are functions of a parameter t. To find the extremums we need
+        // to find where dx/dt and dy/dt reach zero:
+        //
+        // (5) dx/dt = - a * sin(t) * rx + c * cos(t) * ry
+        // (6) dy/dt = - b * sin(t) * rx + d * cos(t) * ry
+        // (7) dx/dt = 0 <=> sin(t) / cos(t) = (c * ry) / (a * rx);
+        // (8) dy/dt = 0 <=> sin(t) / cos(t) = (d * ry) / (b * rx);
+
+        if(rx == 0 && ry == 0)
+        {
+            var pt:Point = new Point(cx, cy);
+            pt = matrix.transformPoint(pt);
+            return rectUnion(pt.x, pt.y, pt.x, pt.y, rect);
+        }
+
+        var t:Number;
+        var t1:Number;
+
+        if (a * rx == 0)
+            t = Math.PI / 2;
+        else
+            t = Math.atan((c * ry) / (a * rx));
+
+        if (b * rx == 0)
+            t1 = Math.PI / 2;
+        else
+            t1 = Math.atan((d * ry) / (b * rx));
+
+        // TODO EGeorgie: optimize
+        var x1:Number = a * Math.cos(t) * rx + c * Math.sin(t) * ry;
+        var x2:Number = -x1;
+        x1 += a * cx + c * cy + matrix.tx;
+        x2 += a * cx + c * cy + matrix.tx;
+
+        var y1:Number = b * Math.cos(t1) * rx + d * Math.sin(t1) * ry;
+        var y2:Number = -y1;
+        y1 += b * cx + d * cy + matrix.ty;
+        y2 += b * cx + d * cy + matrix.ty;
+
+        return rectUnion(Math.min(x1, x2), Math.min(y1, y2), Math.max(x1, x2), Math.max(y1, y2), rect);
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 8574
Author:   aharui@adobe.com
Date:     2009-07-15T05:33:44.225721Z

Log Message:
-----------
Bugs related to TLF and focus.  Also TLF Marshall Plan adjustments, and some IME fixes

QE Notes: None
Doc Notes: None
Bugs: SDK-21278, SDK-21686, SDK-21375, SDK-18516, SDK-15093, SDK-21335
Reviewer: darrell, carol
tests: checkintests mustella/gumbo mustella/components

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/framework/src/mx/managers/IFocusManagerComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IIMESupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/alertClasses/AlertForm.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/RichEditableTextContainerManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.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/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.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/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as</path>

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