Transferred from the Adobe Open Source Subversion Repository

Revision: 18861
Author:   smgilson@adobe.com
Date:     2010-11-30T17:22:56.553234Z

Log Message:
-----------
First pass at ASdoc for Grid.as

QE notes:
Doc notes:
Bugs:
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@1279016 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -54,34 +54,36 @@
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="gridMouseDown", type="spark.events.GridEvent")]

 /**
- *  Dispatched after a GRID_MOUSE_DOWN event if the mouse moves before the button is released.
+ *  Dispatched after a gridMouseDown event
+ *  if the mouse moves before the button is released.
  *
  *  @eventType spark.events.GridEvent.GRID_MOUSE_DRAG
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="gridMouseDrag", type="spark.events.GridEvent")]

 /**
- *  Dispatched when the mouse button is released over a Grid cell, or,
- *  during a drag operation, it is dispatched after a GRID_MOUSE_DOWN event
+ *  Dispatched when the mouse button is released over a Grid cell.
+ *  During a drag operation, it is also dispatched after a
+ *  gridMouseDown event
  *  when the mouse button is released, even if the mouse is no longer
- *  within the Grid.
+ *  in the Grid.
  *
  *  @eventType spark.events.GridEvent.GRID_MOUSE_UP
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="gridMouseUp", type="spark.events.GridEvent")]
@@ -93,7 +95,7 @@
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="gridRollOver", type="spark.events.GridEvent")]
@@ -105,7 +107,7 @@
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="gridRollOut", type="spark.events.GridEvent")]
@@ -117,7 +119,7 @@
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="gridClick", type="spark.events.GridEvent")]
@@ -129,72 +131,88 @@
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="gridDoubleClick", type="spark.events.GridEvent")]

 /**
- *  Dispatched after the caret has changed.
+ *  Dispatched after the caret changes.
  *
  *  @eventType spark.events.GridCaretEvent.CARET_CHANGE
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="caretChange", type="spark.events.GridCaretEvent")]

 /**
- *  Grid is a Spark component that displays a list of data items called
- *  its dataProvider in a scrollable table or "grid", one item per
- *  row.  Each of the grid's columns, defined by a GridColumn
- *  object, displays a value based on the item for the corresponding row.
- *  The grid's dataProvider is mutable, dataProvider items can be added or
- *  removed, or changed.  Similarly the Grid's list of columns is mutable.
+ *  The Grid control displays a list of data items called
+ *  its data provider in a scrollable table or "grid", one item per row.
+ *  Each of the grid's columns, defined by a GridColumn object,
+ *  displays a value based on the item for the corresponding row.
+ *  The grid's data provider is mutable, meaning its items can be added or
+ *  removed, or changed.
+ 8  Similarly, the list of columns is mutable.
  *
  *
The Grid component is intended to be used as a DataGrid skin part, or
- *  as an element of other custom composite components.  As such it is not
- *  skinnable, it does not include a scroller or scrollbars, and it does
- *  not provide default mouse or keyboard event handling.  Its role is
- *  similar to DataGroup, the workhorse skin part for the Spark List.

+ *  as an element of other custom composite components.
+ *  Therefore, it is not skinnable, it does not include a scroller or scrollbars,
+ *  and it does not provide default mouse or keyboard event handling.

  *
- *
Each visible Grid cell is displayed by a GridItemRenderer
- *  instance created using the itemRenderer factory.  One
- *  item renderer (factory) is specified for each column and, before it's
- *  displayed, each item renderer instance is configured with the value of
- *  the dataProvider item for that row, and its row and column indices.
+ *
Each visible Grid cell is displayed by a GridItemRenderer
+ *  instance created by using the itemRenderer property.
+ *  specify an item renderer for each column.
+ *  Before it is displayed, each item renderer instance is configured
+ *  with the value of the data provider item for that row.
  *  Item renderers are created as needed and then, to keep creation
- *  overhead to a minimum, pooled and "recycled".

+ *  overhead to a minimum, pooled and recycled.

  *
- *
Grids support selection, according the selectionMode
+ *
The Grid control supports selection, according the selectionMode
  *  property.  The set of selected row or cell indices can be modified or
- *  queried programatically using the selection methods like
+ *  queried programatically using the selection methods, such as
  *  setSelectedIndex or selectionContainsIndex().

  *
- *
Grids display hover, caret, and selection indicators per the
- *  selectionMode and the corresponding row,columnIndex properties like
- *  hoverRowIndex and columnRowIndex.  An
- *  indicator can be any visual element.  Indicators that implement IGridElement
- *  can configure themselves according to the row and column they're
- *  displayed on.

+ *
The Grid control displays hover, caret, and selection indicators based
+ *  on the selectionMode property and the corresponding
+ *  row index and column index properties, such as
+ *  hoverRowIndex and columnRowIndex.
+ *  An indicator can be any visual element.
+ *  Indicators that implement IGridElement can configure themselves
+ *  according to the row and column in which they are used.

  *
- *
Grids support smooth scrolling.  Their vertical and horizontal
- *  scroll positions define the pixel origin of the visible part of the
- *  grid and the grid's layout only displays as many cell item renderers
- *  as are needed to fill the available space.  Grids support variable
- *  height rows that automatically compute their height based on the item
- *  renderers' contents.  This support is called grid "virtualization"
+ *
The Grid control supports smooth scrolling.
+ *  Their vertical and horizontal scroll positions define the pixel origin
+ *  of the visible part of the grid and the grid's layout only displays
+ *  as many cell item renderers as are needed to fill the available space.

+ *
+ *
The Grid control supports variable height rows that automatically compute
+ *  their height based on the item renderers' contents.
+ *  This support is called grid virtualization
  *  because the mapping from (pixel) scroll positions to row and column indices
  *  is typically based on incomplete information about the preferred sizes
- *  for grid cells.  The Grid caches the computed heights of rows that have been
+ *  for grid cells.
+ *  The Grid caches the computed heights of rows that have been
  *  scrolled into view and estimates the rest based on a single
  *  typicalItem.

+ *
+ *  @mxml
The <s:Grid> tag inherits all of the tag
+ *  attributes of its superclass and adds the following tag attributes:

+ *
+ *

+ *  <s:Grid
+ *    Properties
+ *  />
+ *

+ *
+ *  @see DataGrid
+ *  @see spark.components.gridClasses.GridColumn
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 public class Grid extends Group implements IDataGridElement
@@ -253,7 +271,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function Grid()
@@ -320,11 +338,17 @@
     [Bindable("anchorColumnIndexChanged")]

     /**
-     *  The column index of the "anchor" for the next shift selection.
-     *  Grid event handlers should use this property to record the
+     *  The column index of the anchor for the next shift selection.
+     *  The anchor is the item most recently selected.
+     *  It defines the anchor item when selecting multiple items in the grid.
+     *  When you select multiple items, the set of items extends from
+     *  the anchor to the caret item.
+     *
+     *
Grid event handlers should use this property to record the
      *  location of the most recent unshifted mouse down or keyboard
      *  event that defines one end of the next potential shift
-     *  selection.  The caret index defines the other end.
+     *  selection.
+     *  The caret index defines the other end.

      *
      *  @default 0
      *
@@ -333,7 +357,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get anchorColumnIndex():int
@@ -370,11 +394,17 @@
     [Bindable("anchorRowIndexChanged")]

     /**
-     *  The row index of the "anchor" for the next shift selection.
-     *  Grid event handlers should use this property to record the
+     *  The row index of the anchor for the next shift selection.
+     *  The anchor is the item most recently selected.
+     *  It defines the anchor item when selecting multiple items in the grid.
+     *  When you select multiple items, the set of items extends from
+     *  the anchor to the caret item.
+     *
+     *
Grid event handlers should use this property to record the
      *  location of the most recent unshifted mouse down or keyboard
      *  event that defines one end of the next potential shift
-     *  selection.  The caret index defines the other end.
+     *  selection.
+     *  The caret index defines the other end.

      *
      *  @default 0
      *
@@ -383,7 +413,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get anchorRowIndex():int
@@ -416,18 +446,19 @@
     [Bindable("caretIndicatorChanged")]

     /**
-     *  A single visual element that's displayed for the caret row, if
-     *  selectionMode is GridSelectionMode.SINGLE_ROW or
-     *  GridSelectionMode.MULTIPLE_ROWS, or for the caret
-     *  cell, if selectionMode is
+     *  If selectionMode is GridSelectionMode.SINGLE_ROW or
+     *  GridSelectionMode.MULTIPLE_ROWS,
+     *  a single visual element displayed for the caret row,
+     *  If selectionMode is
      *  GridSelectionMode.SINGLE_CELL or
-     *  GridSelectionMode.MULTIPLE_CELLS.
+     *  GridSelectionMode.MULTIPLE_CELLS, the
+     *  visual element displayted for the caret cell.
      *
      *  @default null
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get caretIndicator():IFactory
@@ -459,23 +490,25 @@
     [Bindable("caretColumnIndexChanged")]

     /**
-     *  The column index of the caretIndicator visualElement if
-     *  showCaretIndicator is true.  If selectionMode is
+     *  If showCaretIndicator is true,
+     *  the column index of the caretIndicator.
+
+     *
If selectionMode is
      *  GridSelectionMode.SINGLE_ROW or
      *  GridSelectionMode.MULTIPLE_ROWS then the indicator
-     *  occupies the entire row and caretColumnIndex is ignored.  If
-     *  selectionMode is GridSelectionMode.SINGLE_CELL or
-     *  GridSelectionMode.MULTIPLE_CELLS then the caretIndicator
-     *  occupies the specified cell.
-     *
-     *
Setting caretColumnIndex to -1 means that the column index is undefined and
-     *  a cell caret will not be shown.

+     *  occupies the entire row and caretColumnIndex is ignored.
+     *  If selectionMode is GridSelectionMode.SINGLE_CELL or
+     *  GridSelectionMode.MULTIPLE_CELLS, then the
+     *  caretIndicator occupies the specified cell.

+     *
+     *
Setting caretColumnIndex to -1 means that the column
+     *  index is undefined and a cell caret is not shown.

      *
      *  @default -1
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get caretColumnIndex():int
@@ -512,23 +545,25 @@
     [Bindable("caretRowIndexChanged")]

     /**
-     *  The row index of the caretIndicator visualElement if
-     *  showCaretIndicator is true.  If selectionMode is
+     *  If showCaretIndicator is true,
+     *  the row index of the caretIndicator.
+     *  If selectionMode is
      *  GridSelectionMode.SINGLE_ROW or
      *  GridSelectionMode.MULTIPLE_ROWS then the indicator
-     *  occupies the entire row and caretColumnIndex is ignored.  If
-     *  selectionMode is GridSelectionMode.SINGLE_CELL or
-     *  GridSelectionMode.MULTIPLE_CELLS then the caretIndicator
+     *  occupies the entire row and the caretColumnIndex
+     *  property is ignored.
+     *  If selectionMode is GridSelectionMode.SINGLE_CELL or
+     *  GridSelectionMode.MULTIPLE_CELLS, then the caretIndicator
      *  occupies the specified cell.
      *
-     *
Setting caretRowIndex to -1 means that the row index is undefined and
-     *  the caret will not be shown.

+     *
Setting caretRowIndex to -1 means that the row index
+     *  is undefined and the caret will not be shown.

      *
      *  @default -1
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get caretRowIndex():int
@@ -564,19 +599,20 @@
     [Bindable("hoverIndicatorChanged")]

     /**
-     *  A single visual element that's displayed for the row under the
-     *  mouse, if selectionMode is
-     *  GridSelectionMode.SINGLE_ROW, or
-     *  GridSelectionMode.MULTIPLE_ROWS, or for the caret
-     *  cell, if selectionMode is
+     *  If selectionMode is
+     *  GridSelectionMode.SINGLE_ROW or
+     *  GridSelectionMode.MULTIPLE_ROWS.
+     *  a single visual element displayed for the row under the mouse.
+     *  If selectionMode is
      *  GridSelectionMode.SINGLE_CELL or
-     *  GridSelectionMode.MULTIPLE_CELLS.
+     *  GridSelectionMode.MULTIPLE_CELLS,
+     *  the visual element for the cell.
      *
      *  @default null
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get hoverIndicator():IFactory
@@ -606,23 +642,23 @@
     [Bindable("hoverColumnIndexChanged")]

     /**
-     *  Specifies column index of the hoverIndicator visualElement if
-     *  showHoverIndicator is true.  If selectionMode is
-     *  GridSelectionMode.SINGLE_ROW or
-     *  GridSelectionMode.MULTIPLE_ROWS then the indicator
-     *  occupies the entire row and hoverColumnIndex is ignored.  If
-     *  selectionMode is GridSelectionMode.SINGLE_CELL or
-     *  GridSelectionMode.MULTIPLE_CELLS then the hoverIndicator
+     *  If showHoverIndicator is true,
+     *  Specifies column index of the hoverIndicator.
+     *  If selectionMode is GridSelectionMode.SINGLE_ROW or
+     *  GridSelectionMode.MULTIPLE_ROWS, then the indicator
+     *  occupies the entire row and hoverColumnIndex is ignored.
+     *  If selectionMode is GridSelectionMode.SINGLE_CELL or
+     *  GridSelectionMode.MULTIPLE_CELLS then the hoverIndicator
      *  occupies the specified cell.
      *
-     *
Setting hoverColumnIndex to -1 (the default) means that the column index
-     *  is undefined and a cell hover indicator will not be displayed.

+     *
Setting hoverColumnIndex to -1 (the default) means
+     *  that the column index is undefined and a cell hover indicator is not displayed.

      *
      *  @default -1
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get hoverColumnIndex():int
@@ -653,23 +689,24 @@
     [Bindable("hoverRowIndexChanged")]

     /**
-     *  Specifies column index of the hoverIndicator visualElement if
-     *  showHoverIndicator is true.  If selectionMode is
+     *  If showHoverIndicator is true,
+     *  specifies the column index of the hoverIndicator.
+     *  If selectionMode is
      *  GridSelectionMode.SINGLE_ROW or
-     *  GridSelectionMode.MULTIPLE_ROWS then the indicator
-     *  occupies the entire row and hoverColumnIndex is ignored.  If
-     *  selectionMode is GridSelectionMode.SINGLE_CELL or
-     *  GridSelectionMode.MULTIPLE_CELLS then the hoverIndicator
+     *  GridSelectionMode.MULTIPLE_ROWS, then the indicator
+     *  occupies the entire row and hoverColumnIndex is ignored.
+     *  If selectionMode is GridSelectionMode.SINGLE_CELL or
+     *  GridSelectionMode.MULTIPLE_CELLS then the hoverIndicator
      *  occupies the specified cell.
      *
-     *
Setting hoverRowIndex to -1 (the default) means that the row index
-     *  is undefined and a hover indicator will not be displayed.

+     *
Setting hoverRowIndex to -1,the default, means that
+     *  the row index is undefined and a hover indicator is not displayed.

      *
      *  @default -1
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get hoverRowIndex():int
@@ -701,10 +738,12 @@
     [Bindable("columnsChanged")]

     /**
-     *  The list of GridColumns displayed by this grid.  Each column
-     *  selects different dataProvider item properties to display in grid cells.
-     *
-     *
GridColumn objects can only appear in one columns list.

+     *  The list of GridColumn objectss displayed by this grid.
+     *  Each column selects different data provider item properties
+     *  to display.
+     *
+     *
GridColumn objects can only appear in the columns
+     *  for a single Grid control.

      *
      *  @default null
      *
@@ -712,7 +751,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get columns():IList
@@ -818,8 +857,9 @@
     [Bindable("dataProviderChanged")]

     /**
-     *  A list of items that correspond to the rows in the grid.   The grid's columns
-     *  select different item properties to display in grid cells.
+     *  A list of data items that correspond to the rows in the grid.
+     *  Each grid column is associated with a property of the
+     *  data items to display that property in the grid cells.
      *
      *  @default null
      *
@@ -827,7 +867,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get dataProvider():IList
@@ -873,15 +913,13 @@
     [Bindable("dataTipFieldChanged")]

     /**
-     *  The dataTipField that's used for columns that do not specify one.
+     *  @copy spark.components.gridClasses.GridColumn#dataTipField
      *
      *  @default null
      *
-     *  @see spark.components.gridClasses.GridColumn#dataTipField
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get dataTipField():String
@@ -911,15 +949,13 @@
     [Bindable("dataTipFunctionChanged")]

     /**
-     *  The dataTipFunction that's used for columns that do not specify one.
-     *
+     *  @copy spark.components.gridClasses.GridColumn#dataTipFunction
+     *
      *  @default null
      *
-     *  @see spark.components.gridClasses.GridColumn#dataTipField
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get dataTipFunction():Function
@@ -956,7 +992,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get itemRenderer():IFactory
@@ -990,13 +1026,13 @@
     [Bindable("columnSeparatorChanged")]

     /**
-     *  A visual element that's displayed in between each column.
+     *  A visual element displayed between each column.
      *
      *  @default null
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get columnSeparator():IFactory
@@ -1054,13 +1090,13 @@
     [Bindable("dataGridChanged")]

     /**
-     *  The DataGrid for which this Grid is the grid skin part.
+     *  The DataGrid control for which this Grid is used as the grid skin part.
      *
      *  @default null
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get dataGrid():DataGrid
@@ -1086,10 +1122,12 @@

     /**
      *  @copy spark.components.gridClasses.GridSelection#preserveSelection
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *
+     *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get preserveSelection():Boolean
@@ -1114,13 +1152,13 @@
     [Inspectable(category="General", minValue="-1")]

     /**
-     *  The measured height of this grid will be large enough to display
+     *  The measured height of the grid is large enough to display
      *  no more than requestedMaxRowCount rows.
      *
      *
This property has no effect if any of the following are true;
      *

-     *
requestedRowCount is set

-     *
the actual size of the grid has been explicitly set

+     *
requestedRowCount is set.

+     *
The actual size of the grid has been explicitly set.

      *

      *

      *
@@ -1128,7 +1166,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get requestedMaxRowCount():int
@@ -1157,13 +1195,13 @@
     [Inspectable(category="General", minValue="-1")]

     /**
-     *  The measured height of this grid will be large enough to display
+     *  The measured height of this grid is large enough to display
      *  at least requestedMinRowCount rows.
      *
      *
This property has no effect if any of the following are true;
      *

-     *
requestedRowCount is set

-     *
the actual size of the grid has been explicitly set

+     *
requestedRowCount is set.

+     *
The actual size of the grid has been explicitly set.

      *

      *

      *
@@ -1171,7 +1209,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get requestedMinRowCount():int
@@ -1200,7 +1238,7 @@
     [Inspectable(category="General", minValue="-1")]

     /**
-     *  The measured height of this grid will be large enough to display
+     *  The measured height of this grid is large enough to display
      *  the first requestedRowCount rows.
      *
      *
If requestedRowCount is -1, then the measured
@@ -1213,7 +1251,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4
      */
     public function get requestedRowCount():int
@@ -1242,14 +1280,14 @@
     [Inspectable(category="General", minValue="-1")]

     /**
-     *  The measured width of this grid will be large enough to display
+     *  The measured width of this grid is large enough to display
      *  at least requestedMinColumnCount columns.
      *
      *
This property has no effect if any of the following are true;
      *

-     *
requestedColumnCount is set

-     *
the actual size of the grid has been explicitly set

-     *
the grid is inside a Scroller component

+     *
requestedColumnCount is set.

+     *
The actual size of the grid has been explicitly set.

+     *
The grid is inside a Scroller component.

      *

      *

      *
@@ -1257,7 +1295,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get requestedMinColumnCount():int
@@ -1286,10 +1324,10 @@
     [Inspectable(category="General", minValue="-1")]

     /**
-     *  The measured width of this grid will be large enough to display
+     *  The measured width of this grid is large enough to display
      *  the first requestedColumnCount columns.
      *  If requestedColumnCount is -1, then the measured
-     *  width will be big enough for all of the columns.
+     *  width is big enough for all of the columns.
      *
      *
If the actual size of the grid has been explicitly set,
      *  then this property has no effect.

@@ -1298,7 +1336,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get requestedColumnCount():int
@@ -1323,7 +1361,7 @@
     //----------------------------------

     /**
-     *  If true and the selectionMode is not
+     *  If true and the selectionMode property is not
      *  GridSelectionMode.NONE, an item must always be selected
      *  in the grid.
      *
@@ -1331,7 +1369,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get requireSelection():Boolean
@@ -1359,8 +1397,7 @@
     [Bindable("resizableColumnsChanged")]

     /**
-     *  A flag that indicates whether the user can change the size of the
-     *  columns.
+     *  Indicates whether the user can change the size of the columns.
      *  If true, the user can stretch or shrink the columns of
      *  the DataGrid control by dragging the grid lines between the header cells.
      *  If true, individual columns must also have their
@@ -1372,7 +1409,7 @@
      *  @see spark.components.gridClasses.GridColumn
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get resizableColumns():Boolean
@@ -1401,13 +1438,13 @@
     [Bindable("rowBackgroundChanged")]

     /**
-     *  A visual element that's displayed for each row.
+     *  A visual element that's displays the background for each row.
      *
      *  @default null
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get rowBackground():IFactory
@@ -1445,17 +1482,17 @@
      *
If variableRowHeight is true,
      *  the default, 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.
+     *  than the preferred height of renderers configured with the typicalItem.
      *  Similarly, when the Grid pads its display with empty rows, this property
      *  specifies the empty rows' height.

      *
      *
If variableRowHeight is false,
      *  the default value of this property is the maximum preferred height
-     *  of the per-column renderers created for the typicalItem.

-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  of the per-column renderers created for the typicalItem.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get rowHeight():Number
@@ -1493,7 +1530,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get rowSeparator():IFactory
@@ -1524,7 +1561,7 @@
     /**
      *  If selectionMode is GridSelectionMode.SINGLE_CELL
      *  or GridSelectionMode.MULTIPLE_CELLS, returns the first
-     *  selected cell starting at row 0 column 0 and progressing thru each
+     *  selected cell starting at row 0 column 0 and progressing through each
      *  column in a row before moving to the next row.
      *
      *
When the user changes the selection by interacting with the
@@ -1533,9 +1570,9 @@
      *  control dispatches the valueCommit event.

      *
      *
 This property is intended be used to initialize or bind to the
-     *  selection in MXML markup.  The setSelectedCell() method should be used
-     *  for programatic selection updates, for example when writing a keyboard
-     *  or mouse event handler.

+     *  selection in MXML markup.  The setSelectedCell() method
+     *  should be used for programatic selection updates, for example
+     *  when writing a keyboard or mouse event handler.

      *
      *  @default null
      *
@@ -1544,7 +1581,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get selectedCell():CellPosition
@@ -1606,18 +1643,18 @@
      *  control dispatches the valueCommit event.

      *
      *
 This property is intended be used to initialize or bind to the
-     *  selection in MXML markup.  The setSelectedCell() method should be used
-     *  for programatic selection updates, for example when writing a keyboard
-     *  or mouse event handler.

-     *
-     *  @default An empty Vector.<CellPosition>
+     *  selection in MXML markup.  The setSelectedCell() method
+     *  should be used for programatic selection updates, for example when
+     *  writing a keyboard or mouse event handler.

+     *
+     *
The default value is an empty Vector.<CellPosition>

      *
      *  @return Vector of CellPosition objects where each element represents
      *  a selected cell.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get selectedCells():Vector.<CellPosition>
@@ -1680,7 +1717,7 @@
      *  control dispatches the valueCommit event.

      *
      *
 This property is intended be used to initialize or bind to the
-     *  selection in MXML markup.  The setSelectedCell() method should be used
+     *  selection in MXML markup.  The setSelectedCell() method should be used
      *  for programatic selection updates, for example when writing a keyboard
      *  or mouse event handler.

      *
@@ -1691,7 +1728,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get selectedIndex():int
@@ -1753,16 +1790,16 @@
      *  for programatic selection updates, for example when writing a keyboard
      *  or mouse event handler.
 >
      *
-     *  @default An empty Vector.<int>
+     *
The default value is an empty Vector.<int>

      *
      *  @return Vector of ints where each element is the index in
-     *  dataProvider of the selected row.
+     *  data provider of the selected row.
      *
      *  @see spark.components.Grid#dataProvider
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get selectedIndices():Vector.<int>
@@ -1821,19 +1858,19 @@
      *  control dispatches the valueCommit event.

      *
      *
 This property is intended be used to initialize or bind to the
-     *  selection in MXML markup.  The setSelectedCell() method should be used
+     *  selection in MXML markup.  The setSelectedCell() method should be used
      *  for programatic selection updates, for example when writing a keyboard
      *  or mouse event handler.

      *
      *  @default null
      *
-     *  @return Vector of dataProvider items.
+     *  @return Vector of data provider items.
      *
      *  @see spark.components.Grid#dataProvider
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get selectedItem():Object
@@ -1905,7 +1942,7 @@
      *  for programatic selection updates, for example when writing a keyboard
      *  or mouse event handler.

      *
-     *  @default An empty Vector.<Object>
+     *
The default value is an empty Vector.<Object>

      *
      *  @return Vector of dataProvider items.
      *
@@ -1913,7 +1950,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get selectedItems():Vector.<Object>
@@ -1977,18 +2014,19 @@
     [Bindable("selectionIndicatorChanged")]

     /**
-     *  A visual element that's displayed for each selected row, if
-     *  selectionMode is GridSelectionMode.SINGLE_ROW or
-     *  GridSelectionMode.MULTIPLE_ROWS, or for each
-     *  selected cell, if selectionMode is
+     *  If selectionMode is GridSelectionMode.SINGLE_ROW or
+     *  GridSelectionMode.MULTIPLE_ROWS,
+     *  a visual element that's displayed for each selected row,
+     *  If selectionMode is
      *  GridSelectionMode.SINGLE_CELL or
-     *  GridSelectionMode.MULTIPLE_CELLS.
+     *  GridSelectionMode.MULTIPLE_CELLS,
+     *  a visual element displayed for each selected cell.
      *
      *  @default null
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get selectionIndicator():IFactory
@@ -2021,7 +2059,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get selectionLength():int
@@ -2053,7 +2091,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get selectionMode():String
@@ -2092,14 +2130,16 @@
     [Inspectable(category="Data", defaultValue="false")]

     /**
-     *  If true then a dataTip is displayed for all visible cells.  If false (the default),
-     *  then a dataTip is only displayed if the column's showDataTips property is true.
+     *  If true then a dataTip is displayed for all visible cells.
+     *  If false, the default,
+     *  then a dataTip is only displayed if the column's
+     *  showDataTips property is true.
      *
      *  @default false
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get showDataTips():Boolean
@@ -2130,18 +2170,18 @@
     [Bindable("typicalItemChanged")]

     /**
-     *  The grid's layout ensures that columns whose width is not specified will be wide
-     *  enough to display an item renderer for this default dataProvider item.  If a typical
-     *  item is not specified, then the first dataProvider item is used.
+     *  The grid's layout ensures that columns whose width is not specified is wide
+     *  enough to display an item renderer for this default data provider item.
+     *  If a typical item is not specified, then the first data provider item is used.
      *
      *
Restriction: if the typicalItem is an IVisualItem, it must not
-     *  also be a member of the data Provider.

+     *  also be a member of the data provider.

      *
      *  @default null
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get typicalItem():Object
@@ -2197,16 +2237,19 @@
     [Bindable("variableRowHeightChanged")]

     /**
-     *  If true, each row's height is the maximum of preferred heights of the cells displayed so far.
-     *
-     *
If false, the height of each row is just the value of rowHeight.
-     *  If rowHeight isn't specified, then the height of each row is defined by the typicalItem

+     *  If true, each row's height is the maximum of
+     *  preferred heights of the cells displayed so far.
+     *
+     *
If false, the height of each row is just
+     *  the value of the rowHeight property.
+     *  If rowHeight isn't specified, then the height of
+     *  each row is defined by the typicalItem property.

      *
      *  @default false
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function get variableRowHeight():Boolean
@@ -2246,7 +2289,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function selectAll():Boolean
@@ -2277,7 +2320,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function clearSelection():Boolean
@@ -2321,7 +2364,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function selectionContainsIndex(rowIndex:int):Boolean
@@ -2342,7 +2385,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function selectionContainsIndices(rowIndices:Vector.<int>):Boolean
@@ -2371,7 +2414,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function setSelectedIndex(rowIndex:int):Boolean
@@ -2414,7 +2457,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function addSelectedIndex(rowIndex:int):Boolean
@@ -2458,7 +2501,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function removeSelectedIndex(rowIndex:int):Boolean
@@ -2501,7 +2544,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function selectIndices(rowIndex:int, rowCount:int):Boolean
@@ -2549,7 +2592,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function selectionContainsCell(rowIndex:int, columnIndex:int):Boolean
@@ -2584,7 +2627,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function selectionContainsCellRegion(rowIndex:int, columnIndex:int,
@@ -2621,7 +2664,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function setSelectedCell(rowIndex:int, columnIndex:int):Boolean
@@ -2671,7 +2714,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function addSelectedCell(rowIndex:int, columnIndex:int):Boolean
@@ -2721,7 +2764,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function removeSelectedCell(rowIndex:int, columnIndex:int):Boolean
@@ -2780,7 +2823,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function selectCellRegion(rowIndex:int, columnIndex:int,
@@ -2852,7 +2895,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function ensureCellIsVisible(rowIndex:int = -1, columnIndex:int = -1):void
@@ -2916,7 +2959,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function getVisibleRowIndices():Vector.<int>
@@ -2929,7 +2972,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function getVisibleColumnIndices():Vector.<int>
@@ -2942,7 +2985,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function getCellBounds(rowIndex:int, columnIndex:int):Rectangle
@@ -2955,7 +2998,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function getRowBounds(rowIndex:int):Rectangle
@@ -2968,7 +3011,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function getColumnBounds(columnIndex:int):Rectangle
@@ -2981,7 +3024,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function getRowIndexAt(x:Number, y:Number):int
@@ -2994,7 +3037,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function getColumnIndexAt(x:Number, y:Number):int
@@ -3015,7 +3058,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function getColumnWidth(columnIndex:int):Number
@@ -3029,7 +3072,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function getCellAt(x:Number, y:Number):CellPosition
@@ -3042,7 +3085,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function getCellsAt(x:Number, y:Number, w:Number, h:Number):Vector.<CellPosition>
@@ -3064,7 +3107,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function getCellX(rowIndex:int, columnIndex:int):Number
@@ -3086,7 +3129,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function getCellY(rowIndex:int, columnIndex:int):Number
@@ -3099,7 +3142,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function getItemRendererAt(rowIndex:int, columnIndex:int):IGridItemRenderer
@@ -3112,7 +3155,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function isCellVisible(rowIndex:int = -1, columnIndex:int = -1):Boolean
@@ -3181,7 +3224,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function invalidateCell(rowIndex:int, columnIndex:int):void
@@ -3399,7 +3442,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     protected function grid_mouseDownDragUpHandler(event:MouseEvent):void
@@ -3441,7 +3484,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     protected function grid_mouseMoveHandler(event:MouseEvent):void
@@ -3471,7 +3514,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     protected function grid_mouseRollOutHandler(event:MouseEvent):void
@@ -3497,7 +3540,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     protected function grid_mouseUpHandler(event:MouseEvent):void
@@ -3528,7 +3571,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     protected function grid_clickHandler(event:MouseEvent):void
@@ -3554,7 +3597,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     protected function grid_doubleClickHandler(event:MouseEvent):void


UPDATE FLEX-33813 (DataGrid goes blank when scrolled and dataProvider is changed) => also handle case when collection.source is set but collection.refresh() is not called, [Mustella test pass] - gumbo/components/DataGrid/Properties - gumbo/components/DataGrid/Styles

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -5456,6 +5456,8 @@
                 else
                 {
                     caretRowIndex = _dataProvider.length > 0 ? 0 : -1;
+                    // we need to call validateSize() to force computing maxTypicalCellHeight  or verticalScrollPosition will fail
+                   GridLayout(layout).centerGridView.validateSize();
                    verticalScrollPosition = 0;
                 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17052
Author:   cframpto@adobe.com
Date:     2010-07-24T11:58:50.019113Z

Log Message:
-----------
Fix caretChange event so old indexs are correct.
selectAll now only resets the caret if the mode is multipleCells or multipleRows
Can now tab to DG and start using keys without requiring a caret position
ctrl-A for selectAll
for user gestures update caret even if selection didn't change
use CellPosition rather than Point since we have that class now
invalidate the grid on column header changes such as width, minWidth, etc

QE notes:
Doc notes:
Bugs: SDK-26926, SDK-26950, SDK-26834, SDK-27040
Reviewer: Hans
Tests run: none
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/GridContainerBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -436,10 +436,11 @@
          */
         public function set caretColumnIndex(value:int):void
         {
+            _oldCaretColumnIndex = _caretColumnIndex;
+
             if (caretColumnIndex == value)
                 return;

-            _oldCaretColumnIndex = _caretColumnIndex;
             _caretColumnIndex = value;

             caretChanged = true;
@@ -490,10 +491,11 @@
          */
         public function set caretRowIndex(value:int):void
         {
+            _oldCaretRowIndex = _caretRowIndex;
+
             if (_caretRowIndex == value)
                 return;

-            _oldCaretRowIndex = _caretRowIndex;
             _caretRowIndex = value;

             caretChanged = true;
@@ -1790,19 +1792,19 @@
          *  @productversion Flex 4.5
          */
         public function selectAll():Boolean
-        {
+        {
             const selectionChanged:Boolean = gridSelection.selectAll();
             if (selectionChanged)
-            {
+            {
+                // Remove the caret.
+                caretRowIndex = -1;
+                caretColumnIndex = -1;
+
                 invalidateDisplayList()
                 dispatchFlexEvent(FlexEvent.VALUE_COMMIT);
             }
-
-            // Remove the caret.
-            caretRowIndex = -1;
-            caretColumnIndex = -1;
-
-           return selectionChanged;
+
+            return selectionChanged;
         }

         /**
@@ -2551,7 +2553,7 @@
             return dataProvider.getItemIndex(item);
         }

-        /**
+       /**
          *  @private
          */
         private function getVisibleItemRenderer(rowIndex:int, columnIndex:int):IVisualElement


Transferred from the Adobe Open Source Subversion Repository

Revision: 4106
Author:   rfrishbe@adobe.com
Date:     2008-11-14T01:56:47.949068Z

Log Message:
-----------
Mostly rename changes.  IVisualItem -> IVisualElement.  IVisualContainer -> IVisualElementContainer.  Also changed the APIs so that it's addElement, removeElement, etc.. instead of addItem, removeItem, etc...  Moreover, all of these APIs have been added to IVisualElementContainer (not just the read-only ones).  Now there's a common interface for all containers (even Halo's Container class implements it).  There's no more need to do:

if (x is Group || x is FxContainer)

Just use the IVisualElementContainer interface.

Some classes, like FxScroller (and perhaps DataGroup/FxDataContainer), will only implement the "getter" part of the API.  For now, if you call the mutation methods, we will throw an exception.  Perhaps later we'll add a separate interface for the read-only portion and the mutator interface will extend that one.

There might be a few more places in the code that need to be updated to use the new names for the methods.  I know Mustella needs cleaning up so it doesn't use getItem and uses getElement instead.  I've left the old APIs in there exactly for this purpose, so we can gradually move over to the new names (esp. QA).

At some point soon, we will remove the old methods as well as type them more strictly to only accept IVisualElements, for example addElement(element:IVisualElement).  Part of this work is dependent on updating the Flash Component Kit so that it implements IVisualElement (and perhaps IVisualElementContainer for containers).

Ran checkintests and all gumbo mustella tests.

QE Notes: Please update your tests to use addElement, removeElement, etc... along with the new IVisualElementContainer interface.  The old APIs (addItem, removeItem, etc...) will be removed soon.
Doc Notes: None
Bugs: -
Reviewer: Hans (he patiently sat through all these files...)

Modified Paths:
--------------
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/IVisualContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/RemoveActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxFadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IUIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualItem.as" copyfrom-rev="4083" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/IVisualContainer.as" copyfrom-rev="4083" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElementContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -98,7 +98,7 @@
      *  item and selects the item at the specified index.
      *
      *
The value of selectedIndex is always between -1 and
-     *  (numItems - 1).
+     *  (dataProvider.length - 1).
      *  If items at a lower index than selectedIndex are
      *  removed from the component, the selected index is adjusted downward
      *  accordingly.


Transferred from the Adobe Open Source Subversion Repository

Revision: 19653
Author:   cframpto@adobe.com
Date:     2011-01-07T19:45:00.247932Z

Log Message:
-----------
Resubmit path piece of rev 19582 which was temporarily reverted.  Objects drawn in shared display objects are drawn at x,y rather than 0,0 so need to move the strokeBounds if sharing.

QE notes:
Doc notes:
Bugs: SDK-27050
Reviewer: Jason Szeto, Kevin
Tests run: cyclone
Is noteworthy for integration: yes - paths drawn in shared objects may be positioned differently than they were

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

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -1037,15 +1037,24 @@
         var sy:Number = naturalBounds.height == 0 ? 1 : height / naturalBounds.height;

         var origin:Point = new Point(drawX, drawY);
-        var bounds:Rectangle = new Rectangle(drawX + measuredX * sx,
-            drawY + measuredY * sy,
-            width,
-            height);
+        var bounds:Rectangle = new Rectangle(
+                                    drawX + measuredX * sx,
+                                    drawY + measuredY * sy,
+                                    width,
+                                    height);
         if (stroke)
-            stroke.apply(g, getStrokeBounds(), origin);
+		{
+			var strokeBounds:Rectangle = getStrokeBounds();
+            // Objects drawn in shared display objects are drawn at x,y rather
+            // than 0,0 so need to move the strokeBounds if sharing.
+			strokeBounds.offsetPoint(origin);
+            stroke.apply(g, strokeBounds, origin);
+		}
         else
+		{
             g.lineStyle();
-
+		}
+
         if (fill)
             fill.begin(g, bounds, origin);
     }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/spark/src/spark/primitives/Rect.as
+++ frameworks/projects/spark/src/spark/primitives/Rect.as
@@ -0,0 +1,131 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package flex.graphics
+{
+import flash.events.EventDispatcher;
+import flash.display.Graphics;
+import flash.geom.Point;
+import flash.geom.Rectangle;
+
+import mx.core.mx_internal;
+
+/**
+ *  The Rect class is a filled graphic element that draws a rectangle.
+ *  The corners of the rectangle can be rounded.
+ */
+public class Rect extends FilledElement
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 */
+	public function Rect()
+	{
+		super();
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  radiusX
+	//----------------------------------
+
+	private var _radiusX:Number = 0;
+
+	[Bindable("propertyChange")]
+	[Inspectable(category="General")]
+
+	/**
+	 *  The corner radius to use along the x axis.
+	 */
+	public function get radiusX():Number
+	{
+		return _radiusX;
+	}
+
+	public function set radiusX(value:Number):void
+	{
+		var oldValue:Number = _radiusX;
+
+		if (value != oldValue)
+		{
+			_radiusX = value;
+			dispatchPropertyChangeEvent("radiusX", oldValue, value);
+			notifyElementChanged();
+		}
+	}
+
+	//----------------------------------
+	//  radiusY
+	//----------------------------------
+
+	private var _radiusY:Number = 0;
+
+	[Bindable("propertyChange")]
+	[Inspectable(category="General")]
+
+	/**
+	 *  The corner radius to use along the y axis.
+	 */
+	public function get radiusY():Number
+	{
+		return _radiusY;
+	}
+
+	public function set radiusY(value:Number):void
+	{
+		var oldValue:Number = _radiusY;
+
+		if (value != oldValue)
+		{
+			_radiusY = value;
+			dispatchPropertyChangeEvent("radiusY", oldValue, value);
+			notifyElementChanged();
+		}
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods
+	//
+	//--------------------------------------------------------------------------
+
+	override public function get bounds():Rectangle
+	{
+		return new Rectangle(0, 0, width, height);
+	}
+
+	/**
+	 *  @inheritDoc
+	 */
+	override protected function drawElement(g:Graphics):void
+	{
+		if (radiusX != 0 || radiusY != 0)
+			g.drawRoundRect(0, 0, drawWidth, drawHeight, radiusX * 2, radiusY * 2);
+		else
+			g.drawRect(0, 0, drawWidth, drawHeight);
+	}
+
+}
+
+}


- change: Small cleanup in UIRendererFactory

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

--- src/reprise/core/UIRendererFactory.as
+++ src/reprise/core/UIRendererFactory.as
@@ -147,18 +147,13 @@
 			}
 			//check if the node has an id and there's a renderer registered for
 			//this id. If so, create an instance of the renderer and return it.
-			var nodeId:String;
-			var idProps : XMLList = node.@id;
-			if (idProps.length())
-			{
-				nodeId = XML(idProps[0]).toString();
-				if (nodeId)
+			var nodeId:String = node.@id.toString();
+			if (nodeId)
+			{
+				renderer = rendererById(nodeId);
+				if (renderer)
 				{
-					renderer = rendererById(nodeId);
-					if (renderer)
-					{
-						return renderer;
-					}
+					return renderer;
 				}
 			}


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/spark/src/spark/filters/BlurFilter.as
+++ frameworks/projects/spark/src/spark/filters/BlurFilter.as
@@ -0,0 +1,108 @@
+package flex.filters
+{
+import flash.filters.BitmapFilter;
+import flash.filters.BitmapFilterQuality;
+import flash.filters.BlurFilter;
+
+public class BlurFilter extends BaseFilter implements IBitmapFilter
+{
+	public function BlurFilter(blurX:Number = 4.0, blurY:Number = 4.0, quality:int = 1)
+	{
+		this.blurX = blurX;
+		this.blurY = blurY;
+		this.quality = quality;
+	}
+
+	//----------------------------------
+    //  blurX
+    //----------------------------------
+
+	private var _blurX:Number = 4.0;
+
+	/**
+	 *  The amount of horizontal blur. Valid values are 0 to 255. A blur of 1
+	 *  or less means that the original image is copied as is. The default
+	 *  value is 4. Values that are a power of 2 (such as 2, 4, 8, 16, and 32)
+	 *  are optimized to render more quickly than other values.
+	 */
+	public function get blurX():Number
+	{
+		return _blurX;
+	}
+
+	public function set blurX(value:Number):void
+	{
+		if (value != _blurX)
+		{
+			_blurX = value;
+			notifyFilterChanged();
+		}
+	}
+
+	//----------------------------------
+    //  blurY
+    //----------------------------------
+
+	private var _blurY:Number = 4.0;
+
+	/**
+	 *  The amount of vertical blur. Valid values are 0 to 255. A blur of 1
+	 *  or less means that the original image is copied as is. The default
+	 *  value is 4. Values that are a power of 2 (such as 2, 4, 8, 16, and 32)
+	 *  are optimized to render more quickly than other values.
+	 */
+	public function get blurY():Number
+	{
+		return _blurY;
+	}
+
+	public function set blurY(value:Number):void
+	{
+		if (value != _blurY)
+		{
+			_blurY = value;
+			notifyFilterChanged();
+		}
+	}
+
+	//----------------------------------
+    //  quality
+    //----------------------------------
+
+	private var _quality:int = BitmapFilterQuality.LOW;
+
+	/**
+	 *  The number of times to apply the filter. The default value is
+	 *  BitmapFilterQuality.LOW, which is equivalent to applying the filter
+	 *  once. The value BitmapFilterQuality.MEDIUM  applies the filter twice;
+	 *  the value BitmapFilterQuality.HIGH applies it three times. Filters
+	 *  with lower values are rendered more quickly.
+	 *
+	 *  For most applications, a quality value of low, medium, or high is
+	 *  sufficient. Although you can use additional numeric values up to 15
+	 *  to achieve different effects, higher values are rendered more slowly.
+	 *  Instead of increasing the value of quality, you can often get a similar
+	 *  effect, and with faster rendering, by simply increasing the values of
+	 *  the blurX and blurY properties.
+	 */
+	public function get quality():int
+	{
+		return _quality;
+	}
+
+	public function set quality(value:int):void
+	{
+		if (value != _quality)
+		{
+			_quality = value;
+			notifyFilterChanged();
+		}
+	}
+
+	public function clone():BitmapFilter
+	{
+		return new flash.filters.BlurFilter(blurX, blurY, quality);
+	}
+
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 10050
Author:   dloverin@adobe.com
Date:     2009-09-08T14:43:16.690474Z

Log Message:
-----------
Per-Module Style Management: Create a style manager for each application/module.

The singleton StyleManager is still the only style manager that is currently used.

QE notes: None.
Doc notes: None.
Bugs:
Reviewer: Alex
Tests run: checkintests, Managers/StyleManager
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/IModuleInfo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/ModuleLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.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/modules/ModuleManager.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/styles/IStyleManager2.as</path>

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

--- frameworks/projects/framework/src/mx/events/Request.as
+++ frameworks/projects/framework/src/mx/events/Request.as
@@ -32,6 +32,15 @@
     //  Class constants
     //
     //--------------------------------------------------------------------------
+    /**
+     *  Dispatched from a sub-application or module to find the module factory of its parent
+     *  application or module. The recipient of this request should set the data property to
+     *  their module factory.
+     *
+     *  The message is dispatched from a module factory.
+     */
+    public static const GET_FLEX_MODULE_FACTORY_REQUEST:String = "getFlexModuleFactoryRequest";
+

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.rpc.soap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4793
Author:   egeorgie@adobe.com
Date:     2009-02-02T19:20:06.026883Z

Log Message:
-----------
Fix bug SDK-17734 Path with width and height set different than path data has incorrect bounds

Fix: When calculating the bounds position we should take into account the implicit scaling factor actualSize/naturalSize. Also did some refactoring, getting rid of the protected method calculateTopLeft.

QE Notes: None
Doc Notes: None
Bugs: SDK-17734
Reviewer: Ryan
tests: mustella gumbo/layout/GraphicElement

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as</path>
<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/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -554,12 +554,37 @@
     /**
      *  @private
      */
-    override protected function computeTopLeft(topLeft:Point, width:Number, height:Number, m:Matrix):Point
-    {
-        var bbox:Rectangle = getBoundingBox(width, height, m);
-        topLeft.x = bbox.x;
-        topLeft.y = bbox.y;
-        return topLeft;
+    override public function getLayoutBoundsX(postTransform:Boolean = true):Number
+    {
+        var stroke:Number = -getStrokeExtents(postTransform).x * 0.5;
+        var m:Matrix = postTransform ? computeMatrix() : null;
+        if (!m)
+        {
+            if (measuredX == 0)
+                return stroke + this.x;
+            var naturalBounds:Rectangle = getBounds();
+            var sx:Number = naturalBounds.width == 0 ? 1 : _width / naturalBounds.width;
+            return stroke + this.x + measuredX * sx;
+        }
+        return stroke + getBoundingBox(_width, _height, m).x;
+    }
+
+    /**
+     *  @private
+     */
+    override public function getLayoutBoundsY(postTransform:Boolean = true):Number
+    {
+        var stroke:Number = - getStrokeExtents(postTransform).y * 0.5;
+        var m:Matrix = postTransform ? computeMatrix() : null;
+        if (!m)
+        {
+            if (measuredY == 0)
+                return stroke + this.y;
+            var naturalBounds:Rectangle = getBounds();
+            var sy:Number = naturalBounds.height == 0 ? 1 : _height / naturalBounds.height;
+            return stroke + this.y + measuredY * sy;
+        }
+        return stroke + getBoundingBox(_width, _height, m).y;
     }

  	/**
@@ -573,9 +598,12 @@

         // Adjust the position by the internal scale factor
         var naturalBounds:Rectangle = getBounds();
-
-        var bounds:Rectangle = new Rectangle(drawX + (measuredX * width / naturalBounds.width),
-        									 drawY + (measuredY * height / naturalBounds.height),
+        var sx:Number = naturalBounds.width == 0 ? 1 : width / naturalBounds.width;
+        var sy:Number = naturalBounds.height == 0 ? 1 : height / naturalBounds.height;
+
+
+        var bounds:Rectangle = new Rectangle(drawX + measuredX * sx,
+        									 drawY + measuredY * sy,
         									 width,
         									 height);
         if (stroke)


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.validators
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.skins.mobile
 {


Added a sort() method that operates on arrays of Comparable elements.

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

--- src/as/com/threerings/util/ArrayUtil.as
+++ src/as/com/threerings/util/ArrayUtil.as
@@ -5,6 +5,25 @@
  */
 public class ArrayUtil
 {
+    /**
+     * Sort the specified array according to natural order- all elements
+     * must implement Comparable.
+     */
+    public static function sort (arr :Array) :void
+    {
+        // ensure every item is Comparable
+        if (!arr.every(function (item :*, index :int, array :Array) :Boolean
+                {
+                    return (item is Comparable);
+                })) {
+            throw new Error("Not all elements are Comparable instances.");
+        }
+
+        arr.sort(function (obj1 :Object, obj2 :Object) :int {
+            return (obj1 as Comparable).compareTo(obj2);
+        });
+    }
+
     /**
      * Remove the first instance of the specified element from the array.
      */


Fix! HTTP client pause event not always dispatched.

The pause event was not dispatched if the stream was paused due to
empty virtual buffer when called.

--- src/com/axis/httpclient/HTTPClient.as
+++ src/com/axis/httpclient/HTTPClient.as
@@ -66,8 +66,14 @@
         ErrorManager.dispatchError(800);
         return false;
       }
+
       this.userPause = true;
       this.ns.pause();
+
+      if (this.virtPause) {
+        dispatchEvent(new ClientEvent(ClientEvent.PAUSED, { 'reason': 'user' }));
+      }
+
       return true;
     }


remove flex dependencies

remove flex dependencies

--- src/com/kemsky/impl/filters/mapped.as
+++ src/com/kemsky/impl/filters/mapped.as
@@ -1,11 +1,18 @@
 package com.kemsky.impl.filters
 {
-    public function mapped(val1:*, map:Object):Function
+    public function mapped(val1:*, map:*):Function
     {
         return function (item:*):Boolean
         {
             var key:* = toValue(item, val1);
-            return map.hasOwnProperty(key);
+            if(map is Function)
+            {
+                return map(key);
+            }
+            else
+            {
+                return map.hasOwnProperty(key);
+            }
         };
     }
 }


sorton float number

sorton float number

--- frameworks/projects/Core/src/main/flex/org/apache/flex/utils/Language.as
+++ frameworks/projects/Core/src/main/flex/org/apache/flex/utils/Language.as
@@ -413,9 +413,10 @@

 		private static function compareNumber(a:Object, b:Object):int{
 			for each(var n:String in sortNames){
-				var v:int = a[n] - b[n];
-				if (v!=0){
-					return v*muler;
+				if (a[n]>b[n]){
+					return muler;
+				}else if (a[n]<b[n]){
+					return -muler;
 				}
 			}
 			return 0;


Transferred from the Adobe Open Source Subversion Repository

Revision: 11174
Author:   dloverin@adobe.com
Date:     2009-10-27T12:27:46.660492Z

Log Message:
-----------
Fix ASDoc for backgroundAlpha style on Window and WindowedApplication.

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

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

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

--- frameworks/projects/airspark/src/spark/components/WindowedApplication.as
+++ frameworks/projects/airspark/src/spark/components/WindowedApplication.as
@@ -54,6 +54,19 @@
 //--------------------------------------

 /**
+ *  Alpha level of the color defined by the backgroundColor
+ *  property.
+ *
+ *  @default 1.0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="backgroundAlpha", type="Number", inherit="no")]
+
+/**
  *  The background color of the application. This color is used as the stage color for the
  *  application and the background color for the HTML embed tag.
  *
@@ -63,17 +76,6 @@
  *  @productversion Flex 4
  */
 [Style(name="backgroundColor", type="uint", format="Color", inherit="no")]
-
-/**
- *  The background color of the application. This color is used as the stage color for the
- *  application and the background color for the HTML embed tag.
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="backgroundAlpha", type="Number", inherit="no")]

 /**
  *  Provides a margin of error around a window's border so a resize


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/core/IInteractiveObjectInterface.as
+++ frameworks/projects/framework/src/mx/core/IInteractiveObjectInterface.as
@@ -0,0 +1,54 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  The methods here would normally just be in IInteractiveObject,
+ *  but for backward compatibility, their ancestor methods have to be included
+ *  directly into IFlexDisplayObject, so these also have to be kept in
+ *  this separate include file so it can be used in ITextField
+ */
+
+    /**
+     *  @copy flash.display.InteractiveObject#tabEnabled
+     */
+    function get tabEnabled():Boolean;
+    function set tabEnabled(enabled:Boolean):void;
+
+    /**
+     *  @copy flash.display.InteractiveObject#tabIndex
+     */
+    function get tabIndex():int;
+    function set tabIndex(index:int):void;
+
+    /**
+     *  @copy flash.display.InteractiveObject#focusRect
+     */
+    function get focusRect():Object;
+    function set focusRect(focusRect:Object):void;
+
+    /**
+     *  @copy flash.display.InteractiveObject#mouseEnabled
+     */
+    function get mouseEnabled():Boolean;
+    function set mouseEnabled(enabled:Boolean):void;
+
+    /**
+     *  @copy flash.display.InteractiveObject#doubleClickEnabled
+     */
+    function get doubleClickEnabled():Boolean;
+    function set doubleClickEnabled(enabled:Boolean):void;
+
+    /**
+     *  @private
+    function get accessibilityImplementation() : AccessibilityImplementation;
+    function set accessibilityImplementation( value : AccessibilityImplementation ) : void;
+     */
+


Transferred from the Adobe Open Source Subversion Repository

Revision: 22169
Author:   tkraikit@adobe.com
Date:     2011-08-23T23:20:12.769539Z

Log Message:
-----------
* SDK-31303, SDK-31191: minuteStepSize changes no longer result in animating spinners
* SDK-31302: bug in how disabled months are determined
* incorporate DateTimeFormatterEx.MIN_DATE_DEFAULT
* ASDoc corrections for default minDate and maxDate
* adjusted minuteStepSize correction to round to closest instead of always rounding down

QE notes: none
Doc notes: none
Bugs: SDK-31303, SDK-31302, SDK-31191
Reviewer: jszeto
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as

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

--- frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as
+++ frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as
@@ -227,7 +227,7 @@
     private static const PM:String = "pm";

     // default min/max date
-    private static const MIN_DATE_DEFAULT:Date = new Date(1601, 0, 1);
+    private static const MIN_DATE_DEFAULT:Date = new Date(DateTimeFormatterEx.MIN_YEAR, 0, 1);
     private static const MAX_DATE_DEFAULT:Date = new Date(9999, 11, 31, 23, 59, 59, 999);

     //--------------------------------------------------------------------------
@@ -467,9 +467,7 @@
     /**
      *  Maximum selectable date; only this date and dates before this date are selectable.
      *
-     *  @default If maxDate is null, the value defaults to 100 years after
-     *           the currently selected date in DATE mode, and 100 days
-     *           after the currently selected date in DATE_AND_TIME mode.
+     *  @default If maxDate is null, the value defaults to Dec 31st, 9999.
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
@@ -509,9 +507,7 @@
     /**
      *  Minimum selectable date; only this date and dates after this date are selectable.
      *
-     *  @default If minDate is null, the value defaults to 100 years prior to
-     *           the currently selected date in DATE mode, and 100 days prior
-     *           to the currently selected date in DATE_AND_TIME mode.
+     *  @default If minDate is null, the value defaults to January 1st, 1601.
      *           minDate's year should be greater than or equal to 1601 since
      *           DateTimeFormatter only supports the range from 1601 to 30827.
      *  @langversion 3.0
@@ -732,6 +728,10 @@
                     _maxDate.time = _minDate.time + MS_IN_DAY; // max date was changed past min
             }

+            // make sure there's at least one minuteStepSize between the min and max
+            if ((maxDate.time - minDate.time) < (minuteStepSize * 60 * 1000))
+                maxDate.time = minDate.time + (minuteStepSize * 60 * 1000);
+
             var origSelectedDate:Date = new Date(_selectedDate.time);

             // check minDate <= selectedDate <= maxDate
@@ -752,14 +752,14 @@
                 // verify minutes are a multiple of minuteStepSize
                 if (minuteList && ((selectedDate.minutes % minuteStepSize) != 0))
                 {
-                    _selectedDate.minutes -= (selectedDate.minutes % minuteStepSize);
+                    // adjust to the closest number evenly disible by minuteStepSize
+                    selectedDate.minutes = Math.round(selectedDate.minutes / minuteStepSize) * minuteStepSize;

-                    // last adjustment to make sure we didn't accidentally go below minDate
+                    // last adjustment to make sure we didn't accidentally go outside of bounds
                     if (selectedDate.time < minDate.time)
                         _selectedDate.minutes += minuteStepSize;
-
-                    // make sure to use animation for this
-                    useAnimationToSetSelectedDate = true;
+                    else if (selectedDate.time > maxDate.time)
+                        _selectedDate.minutes -= minuteStepSize;
                 }

                 minuteStepSizeChanged = false;
@@ -1301,6 +1301,7 @@
         if (monthList && displayMode == DateSelectorDisplayMode.DATE)
         {
             tempDate = new Date(thisDate.time);
+            tempDate.date = 1; // avoid accidental rollover to next month

             listData = monthList.dataProvider;
             for (i = 0; i < 12; i++)


Transferred from the Adobe Open Source Subversion Repository

Revision: 21845
Author:   tkraikit@adobe.com
Date:     2011-08-04T23:11:39.200166Z

Log Message:
-----------
* adding DV icons for DateSpinner, SpinnerList
* make SkinParts required=false to work with DV, and add code to handle absence of SkinParts more gracefully

QE notes: n/a
Doc notes: n/a
Bugs: n/a
Reviewer: Chiedo
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.png</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.png</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as
+++ frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as
@@ -38,6 +38,12 @@
 [Exclude(name="itemRollOut", kind="event")]
 [Exclude(name="itemRollOver", kind="event")]

+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[IconFile("SpinnerList.png")]
+
 /*

 TODO


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

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

 package spark.skins.mobile
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3429
Author:   hmuller@adobe.com
Date:     2008-09-30T20:57:43.716432Z

Log Message:
-----------
Removed the flex.layout.ILayout interface.   All references to this interface
have been replaced with flex.layout.LayoutBase.

Added verticalScrollPositionDelta() and horizontalScrollPositionDelta() to
IViewport put provisional implementations in TextView.

Added LayoutBase clipContent property and exposed same in GroupBase
and TextView.  The latter is provisional.

ScrollerSkin measure() and updateDisplayList() now handle a null viewport.
This fixes bugs 17079, 17029.

ScrollerSkin updateDisplayList() now respects the minimum width for
its horizontalScrollBar and the minimum height for verticalScrollBar
(the corresponding HSB height and VSB width are already set to their
preferred sizes).

ScrollSkin's measure now ignores the min size of its viewport, it's
minimum size is only based on its visible scrollbars.  This ensures
that the viewport can get as small as possible.  This change corrects
bug 16840.

QE: Removing ILayout may break some tests
Doc: No
Checkintests: Pass
Reviewer: Evtim
Bugs:
  SDK-17079 - RTE if empty Scroller is created
  SDK-17029 - RTE when Scroller's viewport is set to null
  SDK-16840 - Scroller is unusable if height is set as a percentage height

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/DataComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ItemsComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/intf/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/ScrollerSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
@@ -14,9 +14,9 @@

 import flex.core.DataGroup;
 import flex.core.SkinnableComponent;
-import flex.intf.ILayout;
 import flex.events.FlexEvent;
 import flex.events.ItemExistenceChangedEvent;
+import flex.layout.LayoutBase;

 import mx.collections.IList;
 import mx.core.IFactory;
@@ -117,14 +117,14 @@
 	 *  @copy flex.core.DataGroup#layout
 	 */

-	private var _layout:ILayout;
-
-    public function get layout():ILayout
+	private var _layout:LayoutBase;
+
+    public function get layout():LayoutBase
     {
     	return (dataGroup) ? dataGroup.layout : _layout;
     }

-    public function set layout(value:ILayout):void
+    public function set layout(value:LayoutBase):void
     {
 		if (value != _layout) {
     		_layout = value;


Added Program3D invalidation to Context3DRessource.invalidate

--- src/aerys/minko/render/resource/Context3DResource.as
+++ src/aerys/minko/render/resource/Context3DResource.as
@@ -389,6 +389,8 @@

 		public function invalidate() : void
 		{
+			_program = null;
+
 			_depthMask = !_depthMask;
 			_passCompareMode = null;

@@ -404,10 +406,10 @@

 			_rectangle = null;

-			for (var i : int = 0; i < _textures.length; ++i)
+			for (var i : int = _textures.length - 1; i >= 0; --i)
 				_textures[i] = null;

-			for (i = 0; i < _vertexBuffers.length; ++i)
+			for (i = _textures.length - 1; i >= 0; --i)
 				_vertexBuffers[i] = null;

 			_stencilRefNum = 0;