Transferred from the Adobe Open Source Subversion Repository

Revision: 18404
Author:   doug.lee@ssbbartgroup.com
Date:     2010-11-02T01:47:58.457715Z

Log Message:
-----------
DataGridAccImpl updates:

The ItemAccInfo class is better documented.

Columns marked invisible (column.visible=false) disappear from MSAA.

Things like "visibleColumnIndices" are now "reachableColumnIndices" in
the code.  "Visible" already means "on screen at the moment"; so now
"reachable" means "can be moved onto the screen if not already there."
A column with column.visible=false can not be scrolled onto the screen
and is hence not "reachable."

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

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

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

--- frameworks/projects/spark/src/spark/accessibility/DataGridAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/DataGridAccImpl.as
@@ -193,15 +193,8 @@
         if (dgAccInfo.isColumnHeader)
         {
             // isColumnHeader implies columnHeaderGroup.visible is true.
-            // The below code remains in case it is ever decided to
-            // make invisible but present headerBars show up with childIDs.
-            /*
             if (dgAccInfo.dataGrid.columnHeaderGroup
-            && !dgAccInfo.dataGrid.columnHeaderGroup.visible)
-                accState |= AccConst.STATE_SYSTEM_INVISIBLE;
-            */
-            if (dgAccInfo.dataGrid.columnHeaderGroup
-            && !dgAccInfo.dataGrid.columnHeaderGroup.getHeaderRendererAt(childID-1).visible)
+            && !dgAccInfo.dataGrid.columnHeaderGroup.getHeaderRendererAt(dgAccInfo.columnIndex).visible)
                 accState |= AccConst.STATE_SYSTEM_OFFSCREEN;
             // There are some states we don't allow for these.
             return accState & ~(
@@ -373,7 +366,7 @@
         if (dgAccInfo.isInvalid || !dgAccInfo.dataGrid.columns)
             return null;
         if (dgAccInfo.isColumnHeader)
-            return dgAccInfo.dataGrid.columns.getItemAt(childID-1).headerText;
+            return dgAccInfo.dataGrid.columns.getItemAt(dgAccInfo.columnIndex).headerText;
         if (!dgAccInfo.dataGrid.dataProvider)
             return null;

@@ -385,12 +378,11 @@
         {
             var resourceManager:IResourceManager = ResourceManager.getInstance();
             rowString = resourceManager.getString("components", "rowMofN");
-            rowString = rowString.replace("%1", dgAccInfo.rowIndex + 1).replace("%2", dgAccInfo.rowCount);
+            rowString = rowString.replace("%1", dgAccInfo.reachableRowIndex + 1).replace("%2", dgAccInfo.reachableRowCount);
         }

         // Construct the name to return.
         var name:String = "";
-        // TODO: Should the types of these be more specific?
         var rowObject:Object = dgAccInfo.dataGrid.dataProvider.getItemAt(dgAccInfo.rowIndex);
         var columns:IList = dgAccInfo.dataGrid.columns;
         if (dgAccInfo.isCellMode)
@@ -401,13 +393,15 @@
         }
         else if (rowObject)  // row mode
         {
-            for (var c:int = 0; c < dgAccInfo.columnCount; c++)
+            var idx:int = -1;
+            for (var c:int = 0; c < dgAccInfo.reachableColumnCount; c++)
             {
                 if (c > 0)
                     name += ", ";
+                idx = dgAccInfo.dataGrid.grid.getNextVisibleColumnIndex(idx);
                 if (dgAccInfo.headerCount > 0)
-                    name += columns.getItemAt(c).headerText + ": ";
-                name += columns.getItemAt(c).itemToLabel(rowObject);
+                    name += columns.getItemAt(idx).headerText + ": ";
+                name += columns.getItemAt(idx).itemToLabel(rowObject);
             }
         }  // cell or row mode
         if (rowString)
@@ -594,7 +588,7 @@
             {
                 // The selected childID is effectively the 1-based cell index.
                 // This is row*colCount + columnInRow +columnHeaderCount +1.
-                accSelection[i] = items[i].rowIndex * dgAccInfo.columnCount
+                accSelection[i] = items[i].rowIndex * dgAccInfo.reachableColumnCount
                 + items[i].columnIndex
                 + dgAccInfo.headerCount + 1;
             }
@@ -708,6 +702,21 @@

 }

+/**
+ *  @private
+ *  ItemAccInfo is a support class used by DataGridAccImpl to determine various
+ *  things about a DataGrid.  For performance reasons, this class is
+ *  instantiated once by DataGridAccImpl and repopulated as needed from
+ *  DataGridAccImpl code via calls to ItemAccInfo.setup().
+ *
+ *  <p>Terminology:  A "reachable" cell, row, or column refers to an item that
+ *  the developer has allowed a user to view, whether or not it happens to be
+ *  visible on screen at the moment.
+ *  At this writing, the ability to hide rows from the user is not anticipated,
+ *  but the hiding of columns will be possible.
+ *  (When rows of data are hidden via DataProvider filtering, they simply don't
+ *  appear in the DataGrid at all.)
+ */
 internal class ItemAccInfo
 {
     import mx.core.UIComponent;
@@ -726,43 +735,76 @@
         super();
     }

-    /**
-     *
-     *  @param master The UIComponent instance that this AccImpl instance
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * @private
+     *  Sets up for use with a particular DataGrid and item within it.
+     *
+     *  @param master The UIComponent instance that the calling AccImpl instance
      *  is making accessible.
-     *  @param childID The childID of the item of interest.
+     *  @param childID The childID of the DataGrid item of interest.
+     *  This may refer to a header cell, a data cell, or a data row.
      */
     public function setup(master:UIComponent, childID:uint):void
     {
         this.master = master;
         this.childID = childID;
         dataGrid = DataGrid(master);
-        visibleRowIndices = null;
-        visibleColumnIndices = null;
+        reachableRowIndices = null;
+        reachableColumnIndices = null;
         if (dataGrid.columns)
         {
             columnCount = dataGrid.columns.length;
-            visibleColumnCount = visibleColumnIndices == null ?
-                columnCount : visibleColumnIndices.length;
+            // For efficiency in the common case, assume all is visible,
+            // and only build a vector of reachable indices if this is wrong.
+            var somethingIsInvisible:Boolean = false;
+            var column:Object;
+            var i:int;
+            for (i = 0; i < columnCount; i++)
+            {
+                column = dataGrid.columns.getItemAt(i);
+                if (!column.visible)
+                {
+                    somethingIsInvisible = true;
+    break;
+                }
+            }
+            if (somethingIsInvisible)
+            {
+                reachableColumnIndices = new Vector.<int>();
+                for (i = 0; i < columnCount; i++)
+                {
+                    column = dataGrid.columns.getItemAt(i);
+                    if (column.visible)
+                        reachableColumnIndices.push(column.columnIndex);
+                }
+            }
+            reachableColumnCount = reachableColumnIndices == null ?
+                columnCount : reachableColumnIndices.length;
         }
         else
         {
             columnCount = 0;
-            visibleColumnCount = 0;
+            reachableColumnCount = 0;
         }
         if (dataGrid.dataProvider)
         {
           rowCount = dataGrid.dataProvider.length;
-            visibleRowCount = visibleRowIndices == null ?
-                rowCount : visibleRowIndices.length;
+            reachableRowCount = reachableRowIndices == null ?
+                rowCount : reachableRowIndices.length;
         }
         else
         {
             rowCount = 0;
-            visibleRowCount = 0;
+            reachableRowCount = 0;
         }
         headerCount = 0;
-        visibleHeaderCount = 0;
+        reachableHeaderCount = 0;
         maxChildID = 0;
         isCellMode = false;
         isMultiSelect = false;
@@ -770,23 +812,23 @@
         isColumnHeader = false;
         rowIndex = 0;
         columnIndex = 0;
-        visibleRowIndex = 0;
-        visibleColumnIndex = 0;
+        reachableRowIndex = 0;
+        reachableColumnIndex = 0;

         var itemIndex:int = childID - 1;
         if (dataGrid.columnHeaderGroup && dataGrid.columnHeaderGroup.visible)
         {
             // There are visible column headers, so their childIDs come first.
-            itemIndex -= visibleColumnCount;
+            itemIndex -= reachableColumnCount;
             headerCount = columnCount;
-            visibleHeaderCount = visibleColumnCount;
+            reachableHeaderCount = reachableColumnCount;
         }
         else
         {
             // No header bar or it's invisible,
             // so we should not try to expose any data within it.
             headerCount = 0;
-            visibleHeaderCount = 0;
+            reachableHeaderCount = 0;
         }
         var mode:String = dataGrid.selectionMode;
         isCellMode = (
@@ -798,49 +840,52 @@
             || mode == GridSelectionMode.MULTIPLE_ROWS
         );
         maxChildID = 0;
-        // Account for visible headers.
-        maxChildID += visibleHeaderCount;
-        // Then for visible cells or rows as appropriate.
+        // Account for reachable headers.
+        maxChildID += reachableHeaderCount;
+        // Then for reachable cells or rows as appropriate.
         if (isCellMode)
-            maxChildID += visibleRowCount * visibleColumnCount;
+            maxChildID += reachableRowCount * reachableColumnCount;
         else
-            maxChildID += visibleRowCount;
+            maxChildID += reachableRowCount;
         isColumnHeader = false;
         isInvalid = false;
         if (childIDOutOfBounds(childID))
         {
             isInvalid = true;
-            visibleColumnIndex = -1;
-            visibleRowIndex = -1;
+            reachableColumnIndex = -1;
+            reachableRowIndex = -1;
             itemIndex = -1;
         }
         else if (itemIndex < 0)
         {
             // This childID refers to a header, not a data row or cell.
             isColumnHeader = true;
-            visibleColumnIndex = itemIndex + visibleColumnCount;
-            visibleRowIndex = -1;
+            reachableColumnIndex = itemIndex + reachableColumnCount;
+            reachableRowIndex = -1;
             itemIndex = -1;
         }
         else if (isCellMode)
         {
-            visibleRowIndex = Math.floor(itemIndex / visibleColumnCount);
-            visibleColumnIndex = itemIndex % visibleColumnCount;
+            reachableRowIndex = Math.floor(itemIndex / reachableColumnCount);
+            reachableColumnIndex = itemIndex % reachableColumnCount;
         }
         else
         {
-            visibleRowIndex = itemIndex;
+            reachableRowIndex = itemIndex;
             // Using 0 here so, for example, getItemRendererAt() calls still work for a row.
-            visibleColumnIndex = 0;
-        }
-        rowIndex = visibleRowIndex;
-        columnIndex = visibleColumnIndex;
-        if (visibleRowIndex >= 0 && visibleRowIndices != null)
-            rowIndex = visibleRowIndices[visibleRowIndex];
-        if (visibleColumnIndex >= 0 && visibleColumnIndices != null)
-            columnIndex = visibleColumnIndices[visibleColumnIndex];
-    }
-
+            reachableColumnIndex = 0;
+        }
+        rowIndex = reachableRowIndex;
+        columnIndex = reachableColumnIndex;
+        if (reachableRowIndex >= 0 && reachableRowIndices && reachableRowIndices.length)
+            rowIndex = reachableRowIndices[reachableRowIndex];
+        if (reachableColumnIndex >= 0 && reachableColumnIndices && reachableColumnIndices.length)
+            columnIndex = reachableColumnIndices[reachableColumnIndex];
+    }
+
+    /**
+     *  @private
+     */
     // The master component reference for which this AccImpl is instantiated.
     public var master:UIComponent;
     // The childID within that component for which this accInfo is calculated.
@@ -851,15 +896,15 @@
     public var columnCount:int;
     public var headerCount:int;
     public var rowCount:int;
-    // Number of columns, headers, and rows that are visible.
-    // ("Visible" means not marked invisible by programmer or user.)
-    public var visibleColumnCount:int;
-    public var visibleHeaderCount:int;
-    public var visibleRowCount:int;
-    // Indices of visible rows and columns.
+    // Number of columns, headers, and rows that are reachable.
+    // ("Reachable" means not marked invisible by the developer.)
+    public var reachableColumnCount:int;
+    public var reachableHeaderCount:int;
+    public var reachableRowCount:int;
+    // Indices of reachable rows and columns.
     // These are null when nothing is filtered, for performance reasons.
-    protected var visibleRowIndices:Vector.<int>;
-    protected var visibleColumnIndices:Vector.<int>;
+    protected var reachableRowIndices:Vector.<int>;
+    protected var reachableColumnIndices:Vector.<int>;
     // The highest valid childID.
     public var maxChildID:int;
     // True if we are in cell navigation mode (single or multiple selection).
@@ -871,36 +916,70 @@
     public var isInvalid:Boolean;
     // True if the given childID represents a column header cell.
     public var isColumnHeader:Boolean;
-    // 0-based indices of row and column in the sets of visible ones.
-    public var visibleColumnIndex:int;
-    public var visibleRowIndex:int;
+    // 0-based indices of row and column in the sets of reachable ones.
+    public var reachableColumnIndex:int;
+    public var reachableRowIndex:int;
     // 0-based indices of row and column in the set of all of each.
     public var columnIndex:int;
     public var rowIndex:int;

-    private function childIDFromVisibleRowAndColumn(visibleRowIndex:int, visibleColumnIndex:int):uint
-    {
-        var childID:int = visibleHeaderCount + 1;
-        if (visibleRowIndex < 0)
+    /**
+     *  @private
+     *  Determine the childID corresponding to the given DataGrid row and column.
+     *  The row and column indices taken here are from the set of reachable
+     *  rows and colums; they are not absolute row/column indices.
+     *  This method is used internally; see childIDFromRowAndColumn() for the
+     *  external interface.
+     *
+     *  @param reachableRowIndex The 0-based index of the row among reachable rows.
+     *  @param reachableColumnIndex The 0-based index of the column among reachable columns.
+     *  Ignored if this grid is in a row navigation mode.
+     *
+     *  @return The childID corresponding to the row and column indices passed.
+     */
+    protected function childIDFromReachableRowAndColumn(reachableRowIndex:int, reachableColumnIndex:int):uint
+    {
+        var childID:int = reachableHeaderCount + 1;
+        if (reachableRowIndex < 0)
             childID = 0;
         else if (isCellMode)
-            if (visibleColumnIndex < 0)
+            if (reachableColumnIndex < 0)
                 childID = 0;
             else
-                childID += visibleRowIndex * visibleColumnCount + visibleColumnIndex;
+                childID += reachableRowIndex * reachableColumnCount + reachableColumnIndex;
         else
-            childID += visibleRowIndex;
+            childID += reachableRowIndex;
         return uint(childID);
     }

+    /**
+     *  @private
+     *  Determine the childID corresponding to the given DataGrid row and column.
+     *  The indices passed to this method are mapped onto the set of rows and
+     *  columns that are or can be exposed to the user.
+     *
+     *  @param rowIndex The 0-based index of the row.
+     *  @param columnIndex The 0-based index of the column.
+     *  Ignored if this grid is in a row navigation mode.
+     *
+     *  @return The childID corresponding to the row and column indices passed.
+     */
     public function childIDFromRowAndColumn(rowIndex:int, columnIndex:int):uint
     {
-        return childIDFromVisibleRowAndColumn(
-            visibleRowIndices == null ? rowIndex : visibleRowIndices.indexOf(rowIndex),
-            visibleColumnIndices == null ? columnIndex : visibleColumnIndices.indexOf(columnIndex)
+        return childIDFromReachableRowAndColumn(
+            reachableRowIndices == null ? rowIndex : reachableRowIndices.indexOf(rowIndex),
+            reachableColumnIndices == null ? columnIndex : reachableColumnIndices.indexOf(columnIndex)
         );
     }

+    /**
+     *  @private
+     *  Internal method for checking if a childID is above or below those allowed.
+     *
+     *  @param childID The childID to check.
+     *
+     *  @return true if the childID is out of bounds and false if not.
+     */
     private function childIDOutOfBounds(childID: int):Boolean
     {
         if (int(childID) <= 0)
@@ -912,6 +991,17 @@
         return false;
     }

+    /**
+     *  @private
+     *  Return an object giving the bounds of this grid item (row or cell).
+     *  The object returned is either an IVisualElement (renderer), in which
+     *  case its coordinates are assumed to be stage-based, or a
+     *  flash.geom.Rectangle, in which case its coordinates are relative to
+     *  the top left corner of the DataGrid.  These are the requirements of
+     *  the AccImpl::get_accLocation() method.
+     *
+     *  @return The Rectangle indicating the item's bounds.
+     */
     public function boundingRect():Object
     {
         // First see if this item is on screen.


Transferred from the Adobe Open Source Subversion Repository

Revision: 7797
Author:   smgilson@adobe.com
Date:     2009-06-12T20:23:56.951568Z

Log Message:
-----------
Fix error in ASDoc comment for http://bugs.adobe.com/jira/browse/FLEXDOCS-933

QE Notes: None
Doc Notes: None
Bugs: -

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

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

--- frameworks/projects/spark/src/spark/components/IItemRendererOwner.as
+++ frameworks/projects/spark/src/spark/components/IItemRendererOwner.as
@@ -16,7 +16,7 @@

 /**
  *  The IItemRendererOwner interface defines the basic set of APIs
- *  that a class must to  support items renderers.
+ *  that a class must implement to  support items renderers.
  *  A class  that implements the IItemRendererOwner interface
  *  is called the host component of the item renderer.
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 9399
Author:   aharui@adobe.com
Date:     2009-08-19T20:39:10.836192Z

Log Message:
-----------
Check in prototypes of ControlBars in Panel and Application, Spark Containers in Halo Navigators, Halo ViewStack in Spark ButtonBar.  APIs should match spec but are subject to change from PARB.  Skins are subject to tweaking after XD review

QE Notes: The following tests will fail and need updating:
gumbo/containers/Panel/Properties/Panel_Properties_position Panel_Properties_rotate
apollo/spark/components/Window/properties/window_properties_titleIcon_tests titleIcon_test8

Doc Notes: None
Bugs: None
Reviewer: Darrell, Glenn, Ryan
API Change: No
Is noteworthy for integration: No
tests: checkintests mustella/gumbo/components/Application, gumbo/components/ButtonBar, gumbo/containers/Panel, apollo/gumbo/spark/Window, containers/ViewStack, containers/Accordion,

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/ComponentBuilder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NavigatorChild.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/IDeferredContentOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NavBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler_en.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/INavigatable.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</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/spark/src/spark/skins/spark/PanelSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/INavigatorContent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/PanelSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDeferredContentOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ApplicationSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableContainer.as
@@ -11,16 +11,16 @@

 package spark.components
 {
-
 import mx.collections.IList;
 import spark.components.Group;
 import mx.core.mx_internal;
 import spark.components.supportClasses.SkinnableComponent;
 import spark.components.supportClasses.SkinnableContainerBase;
 import mx.core.ContainerCreationPolicy;
-import spark.core.IDeferredContentOwner;
+import mx.core.IDeferredContentOwner;
 import mx.core.IDeferredInstance;
 import mx.core.IFactory;
+import mx.core.INavigatorContent;
 import mx.core.IVisualElement;
 import mx.core.IVisualElementContainer;
 import mx.core.IUIComponent;
@@ -1123,11 +1123,27 @@
                     mxmlContent = deferredContent as Array;
                 else
                     mxmlContent = [deferredContent];
+                _deferredContentCreated = true;
                 dispatchEvent(new FlexEvent(FlexEvent.CONTENT_CREATION_COMPLETE));
             }
         }
     }
-
+
+    private var _deferredContentCreated:Boolean;
+
+    /**
+     *  True if deferred content has been created
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get deferredContentCreated():Boolean
+    {
+        return _deferredContentCreated;
+    }
+
     /**
      *  @private
      */


Transferred from the Adobe Open Source Subversion Repository

Revision: 5098
Author:   gauravj@adobe.com
Date:     2009-02-27T02:21:27.489350Z

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

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

Modified Paths:
--------------
151 paths were modified

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

--- frameworks/projects/spark/src/spark/components/supportClasses/Skin.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/Skin.as
@@ -35,6 +35,11 @@
  *  </Skin></pre>
  *
  *  @see mx.core.SkinnableComponent
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class Skin extends Group
 {
@@ -48,6 +53,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
 	public function Skin()
 	{
@@ -64,6 +74,11 @@
     [Bindable]
     /**
      *  A reference to the component that hosts this skin instance.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get fxComponent():Object
     {


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

--- frameworks/projects/spark/src/spark/events/LoaderInvalidationEvent.as
+++ frameworks/projects/spark/src/spark/events/LoaderInvalidationEvent.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.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19777
Author:   smgilson@adobe.com
Date:     2011-01-17T16:40:41.362914Z

Log Message:
-----------
ASDoc edits on validators

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/NumberValidatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/GlobalizationUtils.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/GlobalizationValidatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/NumberValidator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/CurrencyValidator.as</path>

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

--- frameworks/projects/spark/src/spark/validators/CurrencyValidator.as
+++ frameworks/projects/spark/src/spark/validators/CurrencyValidator.as
@@ -35,13 +35,14 @@
 /**
  *  The CurrencyValidator class ensures that a String represents a valid
  *  currency amount according to the conventions of a locale.
+ *  This class uses the locale style for specifying the Locale ID.
  *
- *
It can ensure that a currency string falls within a given range
+ *
The validator can ensure that a currency string falls within a given range
  *  (specified by minValue and maxValue properties),
  *  is an integer (specified by domain property),
  *  is non-negative (specified by allowNegative property),
  *  has the grouping of digits correct according to the locale conventions,
- *  has the correct way of specifying negative numbers and postive numbers,
+ *  has the correct way of specifying negative numbers and positive numbers,
  *  has the correct currency ISO code or currency symbol,
  *  and does not exceed the specified fractionalDigits. The
  *  validator sets default property values from the operating system supplied
@@ -49,56 +50,29 @@
  *
  *
This class internally uses the
  *  flash.globalization.CurrencyFormatter for acquiring
- *  locale-specific validation data and parsing functionality.
- *  The CurrencyValidator class can be used in MXML declarations or can be
- *  used in ActionScript code.
- *  This class uses the locale style for specifying the Locale ID,
- *  and has methods and properties that are bindable.

- *

- *  The flash.globalization.CurrencyFormatter class uses the underlying
+ *  locale-specific validation data and parsing functionality.

+ *
+ *
The flash.globalization.CurrencyFormatter class uses the underlying
  *  operating system to supply the locale specific data. In case the operating
  *  system does not provide currency formatting, this class provides fallback
- *  functionality.
- *

+ *  functionality.

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

  *
  *

- *  <spark:CurrencyValidator
- *    allowNegative="true|false"
- *    currencyISOCode="(locale specified or cutomized by user)."
- *    currencySymbol="(locale specified or cutomized by user)."
- *    decimalPointCountError="The decimal separator can only occur once."
- *    decimalSeparator="(locale specified string or customized by user)."
- *    domain="real|int"
- *    exceedsMaxError="The number entered is too large."
- *    integerError="The number must be an integer."
- *    invalidCharError="The input contains invalid characters."
- *    invalidFormatCharsError="One of the formatting parameters is invalid."
- *    lowerThanMinError="The amount entered is too small."
- *    maxValue="NaN"
- *    minValue="NaN"
- *    negativeError="The amount may not be negative."
- *    negativeCurrencyFormat="(locale specified or cutomized by user)."
- *    positiveCurrencyFormat="(locale specified or cutomized by user)."
- *    negativeCurrencyFormatError="The negative format of the input currency is
- *    incorrect."
- *    positiveCurrencyFormatError="The positive format of the input currency is
- *    incorrect."
- *    negativeNumberFormatError="The negative format of the input number is
- *    incorrect."
- *    negativeSymbol="(locale specified read-only string)."
- *    negativeSymbolError="The negative symbol is repeated or not in right
- *    place."
- *    parseError="The input string could not be parsed."
- *    fractionalDigits="(locale specified number or customized by user)."
- *    fractionalDigitsError="The amount entered has too many digits beyond the
- *    decimal point."
- *    groupingSeparator="(locale specified string or customized by user)."
+ *  <s:CurrencyValidator
+ *    Properties
+ *    currencyISOCode="locale specified string or customized by user."
+ *    currencyStringError="Currency name is repeated or not correct."
+ *    currencySymbol="locale specified string or customized by user."
+ *    negativeCurrencyFormat="locale specified string or customized by user."
+ *    negativeCurrencyFormatError="The negative format of the input currency is incorrect."
+ *    positiveCurrencyFormat="locale specified string or customized by user."
+ *    positiveCurrencyFormatError="The positive format of the input currency is incorrect."
  *  />
  *

  *
@@ -145,54 +119,55 @@
      *  representing currency amounts according to
      *  the conventions of a given locale.
      *

-     *  The locale for this class is supplied by the locale style. The
-     *  locale style can be set in several ways:
+     *  The locale for this class is supplied by the locale
+     *  style property.
+     *  The locale style can be set in several ways:
      *

      *

      *

      *  Inheriting the style from a UIComponent by calling the
-     *  UIComponent's addStyleClient method.
+     *  UIComponent's addStyleClient() method.
      *

      *

-     *  By using the class in an mxml declaration and inheriting the
+     *  By using the class in an MXML declaration and inheriting the
      *  locale from the document that contains the declaration.
      *

-     *  <listing version="3.0" >
+     *

      *  <fx:Declarations>
      *         <s:CurrencyValidator id="cv" />
      *  </fx:Declarations>
-     *  </listing>
+     *

      *

-     *  By using an mxml declaration and specifying the locale value
+     *  By using an MXML declaration and specifying the locale value
      *  in the list of assignments.
      *

-     *  <listing version="3.0" >
+     *

      *  <fx:Declarations>
      *      <s:CurrencyValidator id="cv_turkish" locale="tr-TR" />
      *  </fx:Declarations>
-     *  </listing>
+     *

      *

-     *  Calling the setStyle method,
-     *  e.g. cv.setStyle("locale", "tr-TR")
+     *  Calling the setStyle() method.
+     *  For example: cv.setStyle("locale", "tr-TR")
      *

      *

      *

-     *  If the locale style is not set by one of the above techniques,
-     *  the methods of this class that depend on the locale
-     *  will throw an error.
-     *
         *
+     *  If the locale style is not set by one of the above techniques,
+     *  the methods of this class that depend on the locale throw an error.
+     *

      *
The properties related to the currency string format are set to
      *     default values based on the locale.

      *
      *
NOTE: When a fallback locale is used, the currency
      *  properties are set to default values,
-     *  and therefore may not match the currency for which the validation is
-     *  intended. It is a good idea to
-     *  examine the currencySymbol and currencyISOCode property values before
+     *  and therefore might not match the currency for which the validation is
+     *  intended.
+     *  It is a good idea to examine the currencySymbol
+     *  and currencyISOCode property values before
      *  validating a currency amount.
      *

      *
-     *  @see actualLocaleIDName
+     *  @see flash.globalization.CurrencyFormatter#actualLocaleIDName
      *
      *  @langversion 3.0
      *  @playerversion Flash 10.1
@@ -265,7 +240,8 @@
      *  locale is used this property reflects the preferred, default
      *  currency code for the fallback locale.

      *
-     *  @default dependent on the actual locale and operating system
+     *
The default value is dependent on the actual locale
+     *  and operating system.

      *
      *  @see #validate()
      *  @see #currencySymbol
@@ -331,7 +307,8 @@
      *  locale is used this property reflects the preferred, default
      *  currency symbol for the fallback locale.

      *
-     *  @default dependent on the actual locale and operating system
+     *
The default value is dependent on the actual locale
+     *  and operating system.

      *
      *  @see #format()
      *  @see #setCurrency()
@@ -391,7 +368,7 @@
                         enumeration="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15")]

     /**
-     *   A numeric value that indicates a validating pattern for negative
+     *  A numeric value that indicates a validating pattern for negative
      *  currency amounts. This property defines the location of the
      *  currency symbol and the negative symbol or parentheses in
      *  relation to the numeric portion of the currency
@@ -401,9 +378,6 @@
      *
The value of this property must be one of the constants
      *  defined in the table below.
      *

-     *
-     *
 The table below summarizes the possible patterns
-     *  for negative currency amounts.

      *
      *

      *
The '¤' symbol represents the location of the currencyISOCode
@@ -485,7 +459,8 @@
      *

      *

      *
-     *  @default dependent on the actual locale and operating system
+     *
The default value is dependent on the actual locale
+     *  and operating system.

      *
      *  @throws ArgumentError if the assigned value is not between 0 and 15.
      *
@@ -532,12 +507,8 @@
      *  defined in the table below.
      *

      *
-     *
 The table below summarizes the possible patterns
-     *  for positive currency amounts.
-     *

-     *
      *

-     *
The '¤' symbol irepresents the location of the currencyISOCode
+     *
The '¤' symbol represents the location of the currencyISOCode
      *       or the currencySymbol in the currency string.

      *
The 'n' character represents the location of the currencyISOCode or
      *       the currencySymbol in the currency string.

@@ -566,9 +537,10 @@
      *

      *

      *
+     *
The default value is dependent on the actual locale
+     *  and operating system.

+     *
      *  @throws ArgumentError if the assigned value is not between 0 and 3.
-     *
-     *  @default dependent on the actual locale and operating system
      *
      *  @see #currencySymbol
      *  @see #format()


Cleaned up trace statements on component

git-svn-id: 02605e11d3a461bc7e12f3f3880edf4b0c8dcfd0@3851 3e7533ad-8678-4d30-8e38-00a379d3f0d0

--- src/laml/display/Component.as
+++ src/laml/display/Component.as
@@ -698,33 +698,24 @@

 		public function getBitmapByName(alias:String):DisplayObject {
 			var result:DisplayObject;
-
-			trace("1 >> getBitmapByName");
-
 			if(hasOwnProperty(alias)) {
-			trace("2 >> getBitmapByName");
 				return new this[alias]() as DisplayObject;
 			}

 			if(skin) {
-			trace("3 >> getBitmapByName");
 				result = skin.getBitmapByName(alias);
 				if(result) {
-			trace("4 >> getBitmapByName");
 					return result;
 				}
 			}

 			if(parent) {
-			trace("5 >> getBitmapByName");
 				result = parent.getBitmapByName(alias);
 				if(result) {
-			trace("6 >> getBitmapByName");
 					return result;
 				}
 			}

-			trace("7 >> getBitmapByName");
 			var bitmapData:BitmapData = new BitmapData(1, 1);
 			return new Bitmap(bitmapData);
 		}


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

--- frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as
+++ frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  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
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/automation/src/mx/automation/events/ListItemSelectEvent.as
+++ frameworks/projects/automation/src/mx/automation/events/ListItemSelectEvent.as
@@ -0,0 +1,390 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.automation.events
+{
+
+	import flash.events.Event;
+	import mx.controls.listClasses.IListItemRenderer;
+
+	/**
+	 *  The ListItemSelectEvent class represents event objects that are dispatched
+	 *  when an item in a list-based control such as a Menu,
+	 *  DataGrid, or Tree control is selected or deselected.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class ListItemSelectEvent extends Event
+	{
+		include "../../core/Version.as";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Class constants
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  The ListItemSelectEvent.DESELECT constant defines the value of the
+		 *  type property of the event object for an event that is
+		 *  dispatched when a previously selected item is deselected.
+		 *
+		 *
The properties of the event object have the following values.
+		 *  Not all properties are meaningful for all kinds of events.
+		 *  See the detailed property descriptions for more information.

+		 *

+		 *
Property	Value

+		 *
altKey	Boolean value indicating whether
+		 *              the Alt key was pressed at the time of the event.

+		 *
bubbles	false

+		 *
cancelable	false

+		 *
ctrlKey	Boolean value indicating whether
+		 *              the Ctrl key was pressed at the time of the event.

+		 *
currentTarget	The Object that defines the
+		 *       event listener that handles the event. For example, if you use
+		 *       myButton.addEventListener() to register an event listener,
+		 *       myButton is the value of the currentTarget.

+		 *
itemRenderer	The item renderer object
+		 *              for the item.

+		 *
shiftKey	Boolean value indicating whether
+		 *              the Shift key was pressed at the time of the event.

+		 *
target	The Object that dispatched the event;
+		 *       it is not always the Object listening for the event.
+		 *       Use the currentTarget property to always access the
+		 *       Object listening for the event.

+		 *
triggerEvent	The event, such as a
+		 *             mouse or keyboard event, that triggered the action.

+		 *
type	ListItemSelectEvent.DESELECT

+		 *

+		 *
+		 *  @eventType deselect
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static const DESELECT:String = "deselect";
+
+		/**
+		 *  The ListItemSelectEvent.MULTI_SELECT constant defines the value of the
+		 *  type property of the event object for an event that is
+		 *  dispatched when an  item is selected as part of an
+		 *  action that selects multiple items.
+		 *
+		 *
The properties of the event object have the following values.
+		 *  Not all properties are meaningful for all kinds of events.
+		 *  See the detailed property descriptions for more information.

+		 *

+		 *
Property	Value

+		 *
altKey	Boolean value indicating whether
+		 *              the Alt key was pressed at the time of the event.

+		 *
bubbles	false

+		 *
cancelable	false

+		 *
ctrlKey	Boolean value indicating whether
+		 *              the Ctrl key was pressed at the time of the event.

+		 *
currentTarget	The Object that defines the
+		 *       event listener that handles the event. For example, if you use
+		 *       myButton.addEventListener() to register an event listener,
+		 *       myButton is the value of the currentTarget.

+		 *
itemRenderer	The item renderer object
+		 *              for the item.

+		 *
shiftKey	Boolean value indicating whether
+		 *              the Shift key was pressed at the time of the event.

+		 *
target	The Object that dispatched the event;
+		 *       it is not always the Object listening for the event.
+		 *       Use the currentTarget property to always access the
+		 *       Object listening for the event.

+		 *
triggerEvent	The event, such as a
+		 *             mouse or keyboard event, that triggered the action.

+		 *
type	ListItemSelectEvent.MULTI_SELECT

+		 *

+		 *
+		 *  @eventType multiselect
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static const MULTI_SELECT:String = "multiSelect";
+
+		/**
+		 *  The ListItemSelectEvent.SELECT constant defines the value of the
+		 *  type property of the event object for an event that is
+		 *  dispatched when a single item is selected.
+		 *
+		 *
The properties of the event object have the following values.
+		 *  Not all properties are meaningful for all kinds of events.
+		 *  See the detailed property descriptions for more information.

+		 *

+		 *
Property	Value

+		 *
altKey	Boolean value indicating whether
+		 *              the Alt key was pressed at the time of the event.

+		 *
bubbles	false

+		 *
cancelable	false

+		 *
ctrlKey	Boolean value indicating whether
+		 *              the Ctrl key was pressed at the time of the event.

+		 *
currentTarget	The Object that defines the
+		 *       event listener that handles the event. For example, if you use
+		 *       myButton.addEventListener() to register an event listener,
+		 *       myButton is the value of the currentTarget.

+		 *
itemRenderer	The item renderer object
+		 *              for the item.

+		 *
shiftKey	Boolean value indicating whether
+		 *              the Shift key was pressed at the time of the event.

+		 *
target	The Object that dispatched the event;
+		 *       it is not always the Object listening for the event.
+		 *       Use the currentTarget property to always access the
+		 *       Object listening for the event.

+		 *
triggerEvent	The event, such as a
+		 *             mouse or keyboard event, that triggered the action.

+		 *
type	ListItemSelectEvent.SELECT

+		 *

+		 *
+		 *  @eventType select
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static const SELECT:String = "select";
+
+		/**
+		 *  The ListItemSelectEvent.SELECT_INDEX constant defines the value of the
+		 *  type property of the event object for an event that is
+		 *  dispatched when an item's index is selected.
+		 *
+		 *
The properties of the event object have the following values.
+		 *  Not all properties are meaningful for all kinds of events.
+		 *  See the detailed property descriptions for more information.

+		 *

+		 *
Property	Value

+		 *
altKey	Boolean value indicating whether
+		 *              the Alt key was pressed at the time of the event.

+		 *
bubbles	false

+		 *
cancelable	false

+		 *
ctrlKey	Boolean value indicating whether
+		 *              the Ctrl key was pressed at the time of the event.

+		 *
currentTarget	The Object that defines the
+		 *       event listener that handles the event. For example, if you use
+		 *       myButton.addEventListener() to register an event listener,
+		 *       myButton is the value of the currentTarget.

+		 *
itemIndex	The data provider index of
+		 *              the item to be selected.

+		 *
shiftKey	Boolean value indicating whether
+		 *              the Shift key was pressed at the time of the event.

+		 *
target	The Object that dispatched the event;
+		 *       it is not always the Object listening for the event.
+		 *       Use the currentTarget property to always access the
+		 *       Object listening for the event.

+		 *
triggerEvent	The event, such as a
+		 *             mouse or keyboard event, that triggered the action.

+		 *
type	ListItemSelectEvent.SELECT_INDEX

+		 *

+		 *
+		 *  @eventType select
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static const SELECT_INDEX:String = "selectIndex";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor.
+		 *  Normally called by the Flex control and not used in application code.
+		 *
+		 *  @param type The event type; indicates the action that caused the event.
+		 *
+		 *  @param bubbles Specifies whether the event can bubble
+		 *  up the display list hierarchy.
+		 *
+		 *  @param cancelable Specifies whether the behavior
+		 *  associated with the event can be prevented.
+		 *
+		 *  @param itemRenderer The item renderer object for the item.
+		 *
+		 *  @param triggerEvent The event, such as a mouse or keyboard event, that
+		 *              triggered the selection action.
+		 *
+		 *  @param altKey Whether the Alt key was pressed at the time of the event.
+		 *
+		 *  @param ctrlKey Whether the Ctrl key was pressed at the time of the event.
+		 *
+		 *  @param shiftKey Whether the Shift key was pressed at the time of the event.
+		 *
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function ListItemSelectEvent(type:String, bubbles:Boolean = false,
+											cancelable:Boolean = false,
+											itemRenderer:IListItemRenderer = null,
+											triggerEvent:Event = null,
+											ctrlKey:Boolean = false,
+											altKey:Boolean = false,
+											shiftKey:Boolean = false)
+		{
+			super(type, bubbles, cancelable);
+
+			this.itemRenderer = itemRenderer;
+			this.triggerEvent = triggerEvent;
+			this.ctrlKey = ctrlKey;
+			this.altKey = altKey;
+			this.shiftKey = shiftKey;
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Properties
+		//
+		//--------------------------------------------------------------------------
+
+		//----------------------------------
+		//  altKey
+		//----------------------------------
+
+		/**
+		 *  Indicates whether the Alt key was pressed at the time of the event, true,
+		 *  or not, false.
+		 *
+		 *  @default false
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var altKey:Boolean;
+
+		//----------------------------------
+		//  ctrlKey
+		//----------------------------------
+
+		/**
+		 *  Indicates whether the Ctrl key was pressed at the time of the event, true,
+		 *  or not, false.
+		 *
+		 *  @default false
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var ctrlKey:Boolean;
+
+		//----------------------------------
+		//  triggerEvent
+		//----------------------------------
+
+		/**
+		 *  Event that triggered the item selection event,
+		 *  such as a keyboard or mouse event.
+		 *
+		 *  @default null
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var triggerEvent:Event;
+
+		//----------------------------------
+		//  itemRenderer
+		//----------------------------------
+
+		/**
+		 *  Item renderer object for the item being selected or deselected.
+		 *  You can access the cell data using this property.
+		 *
+		 *  @default null
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var itemRenderer:IListItemRenderer;
+
+		//----------------------------------
+		//  shiftKey
+		//----------------------------------
+
+		/**
+		 *  Indicates whether the Shift key was pressed at the time of the event, true,
+		 *  or not, false.
+		 *
+		 *  @default false
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var shiftKey:Boolean;
+
+
+		/**
+		 *  The automationValue string of the item to be selected.
+		 *  This is used when the item to be selected is not visible in the control.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var itemAutomationValue:String;
+
+
+		/**
+		 *  The data provider index of the item to be selected.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var itemIndex:uint;
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden methods: Event
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function clone():Event
+		{
+			return new ListItemSelectEvent(type, bubbles, cancelable,
+				itemRenderer,  triggerEvent,
+				ctrlKey, altKey, shiftKey);
+		}
+	}
+
+}


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

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

 package spark.components
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 21629
Author:   jasonsj@adobe.com
Date:     2011-07-19T23:02:20.729244Z

Log Message:
-----------
Callout
* CalloutPosition.AUTO support with automatic re-positioning/nudging (similar to PopUpAnchor)
* Fixed arrow positioning when scaling
* Fixed centering arrow on owner when owner is off screen
* Updated skins to XD design

CalloutButton
* Proxy properties before Callout is created
* Create Callout as a dynamic skin part

Skins
* CalloutViewNavigatorSkin and CalloutActionBarSkin to support ViewNavigators in Callouts
* Allow ActionBar borderClass to be optional

QE notes: Ready for visual review
Doc notes:
Bugs:
Reviewer: chiedozi
Tests run: checkintests, mustella-mobile
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutViewNavigatorSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/CalloutContentBackground.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/CalloutContentBackground.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/CalloutContentBackground.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutActionBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutActionBarSkin.as
@@ -0,0 +1,79 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 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
+{
+import mx.core.DPIClassification;
+
+/**
+ *  Additional skin class for the Spark ActionBar component for use with a
+ *  ViewNavigator inside a Callout component.
+ *
+ *  Uses a transparent background instead of a gradient fill.
+ *
+ *  @see spark.skins.mobile.ActionBarSkin
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 3
+ *  @productversion Flex 4.5.2
+ */
+public class CalloutActionBarSkin extends ActionBarSkin
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    public function CalloutActionBarSkin()
+    {
+        super();
+
+        // remove default background
+        borderClass = null;
+
+        // shorten ActionBar height visual paddingTop comes from CalloutSkin
+        switch (applicationDPI)
+        {
+            case DPIClassification.DPI_320:
+            {
+                layoutContentGroupHeight = 54;
+                break;
+            }
+            case DPIClassification.DPI_240:
+            {
+                layoutContentGroupHeight = 42;
+                break;
+            }
+            default:
+            {
+                // default DPI_160
+                layoutContentGroupHeight = 28;
+                break;
+            }
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function drawBackground(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        // do not draw chromeColor
+    }
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 22136
Author:   eday@adobe.com
Date:     2011-08-22T22:00:16.436563Z

Log Message:
-----------
Item snapping fixes
SDK-31180: Touch interaction mode in a desktop app causes scrollbar problems
SDK-30922: Scrollbar size decreases when end items are snapped
SDK-31049: Setting snapModes at runtime during a throw does not snap correctly
SDK-31236: SpinnerList animateToSelectedIndex doesn't cancel on touch interaction

QE notes:
Doc notes:
Bugs: SDK-31180, SDK-30922, SDK-31049, SDK-31236
Reviewer: Evtim, Jason Szeto
Tests run: checkintests, mustella
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as
@@ -581,6 +581,54 @@
         }
     }

+    //----------------------------------
+    //  content minimum/maximum
+    //----------------------------------
+
+    private var _contentMinimum:Number = NaN;
+
+    /**
+     *  @private
+     */
+    mx_internal function get contentMinimum():Number
+    {
+        return _contentMinimum;
+    }
+
+    /**
+     *  @private
+     */
+    mx_internal function set contentMinimum(value:Number):void
+    {
+        if (value == _contentMinimum)
+            return;
+
+        _contentMinimum = value;
+        invalidateDisplayList();
+    }
+
+    private var _contentMaximum:Number = NaN;
+
+    /**
+     *  @private
+     */
+    mx_internal function get contentMaximum():Number
+    {
+        return _contentMaximum;
+    }
+
+    /**
+     *  @private
+     */
+    mx_internal function set contentMaximum(value:Number):void
+    {
+        if (value == _contentMaximum)
+            return;
+
+        _contentMaximum = value;
+        invalidateDisplayList();
+    }
+
     //--------------------------------------------------------------------------
     //
     // Methods


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

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

 package mx.controls.dataGridClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6220
Author:   smgilson@adobe.com
Date:     2009-04-23T19:19:23.764222Z

Log Message:
-----------
More ASDoc work on effects

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateShaderTransitionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateFilterInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/WipeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/CallActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/SetActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RemoveActionInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/ResizeInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/ResizeInstance.as
@@ -16,10 +16,33 @@

 import spark.effects.SimpleMotionPath;

+/**
+ *  The ResizeInstance class implements the instance class
+ *  for the Resize effect.
+ *  Flex creates an instance of this class when it plays a Resize
+ *  effect; you do not create one yourself.
+ *
+ *  @see spark.effects.Resize
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
 public class ResizeInstance extends AnimateInstance
 {
     include "../../core/Version.as";

+    /**
+     *  Constructor.
+     *
+     *  @param target The Object to animate with this effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
     public function ResizeInstance(target:Object)
     {
         super(target);
@@ -95,7 +118,7 @@
     //----------------------------------

     /**
-     *  Initial height. If omitted, Flex uses the current size.
+     *  @copy spark.effects.Resize#heightFrom
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -115,7 +138,7 @@
     private var _heightTo:Number;

     /**
-     *  Final height, in pixels.
+     *  @copy spark.effects.Resize#heightTo
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -147,8 +170,7 @@
     private var _widthBy:Number;

     /**
-     *  Number of pixels by which to modify the width of the component.
-     *  Values may be negative.
+     *  @copy spark.effects.Resize#widthBy
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -174,7 +196,7 @@
     //----------------------------------

     /**
-     *  Initial width. If omitted, Flex uses the current size.
+     *  @copy spark.effects.Resize#widthFrom
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -194,7 +216,7 @@
     private var _widthTo:Number;

     /**
-     *  Final width, in pixels.
+     *  @copy spark.effects.Resize#widthTo
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/automation/Automation.as
+++ frameworks/projects/framework/src/mx/automation/Automation.as
@@ -24,6 +24,11 @@

 /**
  * The Automation class defines the entry point for the Flex Automation framework.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Automation
 {
@@ -56,6 +61,11 @@

     /**
      * The IAutomationManager instance.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function get automationManager():IAutomationManager
     {
@@ -82,6 +92,11 @@

     /**
      * The available IAutomationObjectHelper instance.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function get automationObjectHelper():IAutomationObjectHelper
     {
@@ -94,6 +109,11 @@

     /**
      * Contains true if the automation module has been initialized.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function get initialized():Boolean
     {
@@ -111,6 +131,11 @@

     /**
      * The currently active mouse simulator.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function get mouseSimulator():IAutomationMouseSimulator
     {
@@ -137,6 +162,11 @@
      *  @param compClass The component class.
      *
      *  @param delegateClass The delegate class associated with the component.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function registerDelegateClass(compClass:Class, delegateClass:Class):void
     {