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

--- frameworks/projects/charts/src/mx/charts/chartClasses/CartesianCanvasValue.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/CartesianCanvasValue.as
@@ -0,0 +1,123 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+//  Adobe Patent or Adobe Patent Pending Invention Included Within this File
+//  Adobe patent application tracking B503, entitled Charting Data Graphics -
+//  graphics drawing API that allows to draw in data space, inventors Ely Greenfield.
+//  AdobePatentID="B503"
+//
+////////////////////////////////////////////////////////////////////////////////////////
+
+package mx.charts.chartClasses
+{
+    /**
+     * Defines the position of objects on a data canvas. This class has a data coordinate and an
+     * optional offset that are used by the CartesianDataCanvas class to calculate pixel
+     * coordinates.
+     *
+     * @see mx.charts.chartClasses.CartesianDataCanvas
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public class CartesianCanvasValue
+    {
+        include "../../core/Version.as";
+
+        //-------------------------------------------------------
+        //
+        // Constructor
+        //
+        //-------------------------------------------------------
+        /**
+         * Constructor.
+         *
+         * @param value The data coordinate of a point.
+         * @param offset Offset of the data coordinate specified in value, in pixels.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+        public function CartesianCanvasValue(value:*, offset:Number = 0):void
+        {
+            this.value = value;
+            this.offset = offset;
+        }
+
+        //---------------------------------
+        // offset
+        //---------------------------------
+
+        /**
+         * @private
+         * Storage for value
+         */
+        private var _offset:Number;
+
+        /**
+         *  @private
+         */
+        public function get offset():Number
+        {
+            return _offset;
+        }
+
+        /**
+         * @private
+         */
+        public function set offset(data:Number):void
+        {
+            _offset = data;
+        }
+
+        //---------------------------------
+        // value
+        //---------------------------------
+
+        /**
+         * @private
+         * Storage for value
+         */
+        private var _value:*;
+
+        /**
+         *  @private
+         */
+        public function get value():*
+        {
+            return _value;
+        }
+
+        /**
+         * @private
+         */
+        public function set value(data:*):void
+        {
+            _value = data;
+        }
+
+        //-------------------------------------------------
+        //
+        //  Methods
+        //
+        //-------------------------------------------------
+
+        /**
+         * @private
+         */
+        public function clone():CartesianCanvasValue
+        {
+            return new CartesianCanvasValue(value,offset);
+        }
+    }
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 10897
Author:   dsubrama@adobe.com
Date:     2009-10-06T19:43:41.123452Z

Log Message:
-----------
Now that binding to getStyle() works, ItemRenderer does not need to expose selectionColor and rollOverColor as properties. The contentBackgroundColor property getter/setter needs to stay in since thats where the alternatingItemColor work happens there.

QE notes: Ella's updated the necessary tests - there's something weird with text align in some renderers but its not reproducible on my machine so she'll investigate further with a non-cyclone build.
Doc notes: Yes, please note the elimination of those two properties in ItemRenderer
Bugs: None
Reviewer: Evtim
Tests run: Ella ran List, DDL, BB, SkinnableDataContainer tests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultComplexItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -122,56 +122,6 @@
         setStyle("contentBackgroundColor", value);
     }

-    [Bindable("rollOverColorChanged")]
-    /**
-     *  Color of the highlight when the mouse is over an
-     *  item renderer
-     *
-     *  @default 0xCEDBEF
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get rollOverColor():uint
-    {
-        return getStyle("rollOverColor");
-    }
-
-    /**
-     *  @private
-     */
-    public function set rollOverColor(value:uint):void
-    {
-        setStyle("rollOverColor", value);
-    }
-
-    [Bindable("selectionColorChanged")]
-    /**
-     *  Color of the fill of a selected item
-     *  renderer
-     *
-     *  @default 0xA8C6EE
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get selectionColor():uint
-    {
-        return getStyle("selectionColor");
-    }
-
-    /**
-     *  @private
-     */
-    public function set selectionColor(value:uint):void
-    {
-        setStyle("selectionColor", value);
-    }
-
     //--------------------------------------------------------------------------
     //
     //  Private Properties


fixed return value with explicit int cast

git-svn-id: b10e9e05a96f28f96949e4aa4212c55f640c8f96@2188 59b500cc-1b3d-0410-9834-0bbf25fbcc57

--- actionscript/core/src/com/google/zxing/common/flexdatatypes/HashTable.as
+++ actionscript/core/src/com/google/zxing/common/flexdatatypes/HashTable.as
@@ -20,7 +20,7 @@
 			{
 				if (this._arr[i][0] == key)
 				{
-					return i;
+					return (i as int);
 				}
 			}
 			return undefined;


Transferred from the Adobe Open Source Subversion Repository

Revision: 10006
Author:   gruehle@adobe.com
Date:     2009-09-03T22:04:47.081899Z

Log Message:
-----------
Initial checkin of the "More styles for Spark skins" feature. Details here:
http://opensource.adobe.com/wiki/display/flexsdk/More+Styles+for+Spark+Skins

There are some known issues:
* Panel bottom corners not rounded correctly when the panel has a control bar
* cornerRadius on Tab and DateChooser non functional
* cornerRadius values > 4 have drawing artifacts in the "down" state of Button and button-like components
* TextInput/TextArea incorrectly list lineBreak and verticalAlign as valid styles

This checkin also includes a couple minor unrelated bug fixes:
* Remove MiniDebugTarget. This is a logging target that used MiniDebug, which hasn't worked since Flex 1.5
* Fix RTEs when setting focusSkin to null
* Optimization: don't measure skins if the host component has explicit sizes

QE notes: Yes, many baseline images will need to be regenerated
Doc notes: New ASDoc comments should be scrubbed
Bugs: SDK-22931, SDK-22798, SDK-22217, SDK-19358
Reviewer: Jason
Tests run: checkintests, cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/PopUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/WindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/logging/targets/MiniDebugTarget.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/airframework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SpinnerDecrementButtonSkin.mxml</path>
<path kind="file" action="M">/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/core/IDeferredContentOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/EditableComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/SparkSkinForHalo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/TextInputBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SpinnerIncrementButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/halo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/PanelBorderSkin.mxml</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/sparkskins/src/mx/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DropDownListButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/BorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/NumericStepperTextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/BorderTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ApplicationSkin.mxml</path>

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

--- frameworks/projects/airspark/src/spark/components/WindowedApplication.as
+++ frameworks/projects/airspark/src/spark/components/WindowedApplication.as
@@ -52,6 +52,28 @@
 //--------------------------------------
 //  Styles
 //--------------------------------------
+
+/**
+ *  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="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: 21906
Author:   tkraikit@adobe.com
Date:     2011-08-09T01:30:20.261528Z

Log Message:
-----------
move DateSpinner support class(es) to spark.components.calendarClasses package

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/tests/MobileSkins/src/views/DateSpinnerView.mxml</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/scripts/DateSpinnerTestScript.mxml</path>
<path kind="file" action="D">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSelectorDisplayMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/src/views/DateSpinnerTestHomeView.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSelectorDisplayMode.as" copyfrom-rev="21901" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateSelectorDisplayMode.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as
+++ frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as
@@ -27,6 +27,7 @@
 import spark.formatters.DateTimeFormatter;
 import spark.globalization.supportClasses.CalendarDate;
 import spark.globalization.supportClasses.DateTimeFormatterEx;
+import spark.components.calendarClasses.DateSelectorDisplayMode;

 use namespace mx_internal;


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

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

 package mx.messaging.channels
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18712
Author:   hmuller@adobe.com
Date:     2010-11-18T19:23:06.057683Z

Log Message:
-----------
Updated TBD items for GridLayout, GridColumnHeaderGroupLayout

API changes (most of *these were supposed have been included in SVN 18691):

- Added IGridItemRenderer/get columnIndex(), get grid()

- *Added DataGrid,Grid/invalidateCell()

- *Added GridItemRenderer/get columnIndex()

- *Renamed the following protected Grid methods:
grid_RollOverHandler() => grid_rollOverHandler()
grid_RollOutHandler() => grid_rollOutHandler()
grid_MouseUpHandler() => grid_mouseUpHandler()
grid_MouseDownHandler() => grid_mouseDownHandler()

QE notes:
Doc notes:
Bugs:
Reviewer: Kevin
Tests run: checkin, mustella
Is noteworthy for integration: yes

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/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -37,7 +37,9 @@
 [ExcludeClass]

 /**
- *  TBD
+ *  @private
+ *  A virtual two dimensional layout for the Grid class.   This is not a general purpose layout,
+ *  it's only intended to be use with Grid.
  */
 public class GridLayout extends LayoutBase
 {
@@ -74,7 +76,7 @@
     private var oldVisibleColumnIndices:Vector.<int> = new Vector.<int>(0);

     /**
-     *  TBD: how do these vectors relate to visibleRow,ColumnIndices
+     *  TODO (hmuller): document how do these vectors relate to visibleRow,ColumnIndices
      */
     private var visibleRowBackgrounds:Vector.<IVisualElement> = new Vector.<IVisualElement>(0);
     private var visibleRowSeparators:Vector.<IVisualElement> = new Vector.<IVisualElement>(0);
@@ -82,7 +84,7 @@
     private var visibleItemRenderers:Vector.<IGridItemRenderer> = new Vector.<IGridItemRenderer>(0);

     /**
-     *  TBD
+     *  TODO (hmuller): provide documentation
      */
     private var hoverIndicator:IVisualElement = null;
     private var caretIndicator:IVisualElement = null;
@@ -941,8 +943,6 @@

                 initializeItemRenderer(renderer, rowIndex, colIndex);

-                // TBD(hmuller): if takeVisibleItemRenderer returned true, and initializeItemRenderer
-                // returned false - because nothing changed - don't run prepare().
                 renderer.prepare(!createdGridElement);

                 var colWidth:Number = gridDimensions.getColumnWidth(colIndex);
@@ -993,7 +993,7 @@
         {
             freeItemRenderer(oldRenderer);
             if (oldRenderer)
-                oldRenderer.discard(true);  // TBD(hmuller): need a scheme for shrinking the free-list
+                oldRenderer.discard(true);  // TODO (hmuller): need a scheme for shrinking the free-list
         }

         // Update visibleItemRenderersBounds
@@ -1032,7 +1032,7 @@
         if ((visibleRowIndices == null) || (visibleColumnIndices == null))
             return -1;

-        // TBD(hmuller) - binary search would be faster than indexOf()
+        // TODO (hmuller) - binary search would be faster than indexOf()

         const rowOffset:int = visibleRowIndices.indexOf(rowIndex);
         const colOffset:int = visibleColumnIndices.indexOf(columnIndex);
@@ -1320,7 +1320,7 @@
         newIndices:Vector.<int>,
         lastIndex:int):void
     {
-        // TBD(hmuller): rewrite this, should be one pass (no indexOf)
+        // TODO(hmuller): rewrite this, should be one pass (no indexOf)
         for (var i:int = 0; i < elements.length; i++)
         {
             const offset:int = newIndices.indexOf(oldIndices[i]);
@@ -1431,7 +1431,7 @@

         const x:Number = bounds.x;
         const width:Number = bounds.width;
-        const y:Number = bounds.bottom; // TBD: should center on gap here.
+        const y:Number = bounds.bottom; // TODO: should center on gap here.
         layoutGridElement(separator, x, y, width, height);
     }

@@ -1440,7 +1440,7 @@
         const r:Rectangle = visibleItemRenderersBounds;
         const width:Number = separator.getPreferredBoundsWidth();
         const height:Number = Math.max(r.height, visibleGridBounds.height);
-        const x:Number = gridDimensions.getCellX(0, columnIndex) + gridDimensions.getColumnWidth(columnIndex); // TBD: should center on gap here.
+        const x:Number = gridDimensions.getCellX(0, columnIndex) + gridDimensions.getColumnWidth(columnIndex); // TODO (hmuller): should center on gap here.
         const y:Number = r.y;
         layoutGridElement(separator, x, y, width, height);
     }
@@ -1712,9 +1712,6 @@
     //
     //--------------------------------------------------------------------------

-    // TBD(hmuller): make a note about the fact that this handler runs AFTER the GridDimension
-    // object has been updated.
-
     public function dataProviderCollectionChanged(event:CollectionEvent):void
     {
         switch (event.kind)
@@ -2026,7 +2023,7 @@
             startTime = getTimer();

         const validatingElt:IInvalidating = renderer as IInvalidating;
-        if (renderer is IUITextField)  // TBD(hmuller) distinguish this special case differently
+        if (renderer is IUITextField)  // TODO (hmuller) distinguish this special case differently
         {
             if (!isNaN(width) || !isNaN(height))
                 renderer.setLayoutBoundsSize(width, height);
@@ -2319,7 +2316,7 @@
      */
     public function getCellsAt(x:Number, y:Number, w:Number, h:Number):Vector.<CellPosition>
     {
-        // TBD(hmuller)
+        // TODO(hmuller)
         return new Vector.<Object>;
     }


fix ScriptController.deltaTime property

fix ScriptController.deltaTime property

--- src/aerys/minko/scene/controller/ScriptController.as
+++ src/aerys/minko/scene/controller/ScriptController.as
@@ -84,7 +84,7 @@
 														   time			: Number) : void
 		{
 			_viewport = viewport;
-			_deltaTime = _lastTime - time;
+			_deltaTime = time - _lastTime;
 			_lastTime = time;

             beforeUpdate();


Transferred from the Adobe Open Source Subversion Repository

Revision: 17330
Author:   chiedozi@adobe.com
Date:     2010-08-16T17:36:59.538425Z

Log Message:
-----------
Removed the sections functionality from ViewNavigator and refactored that logic into TabbedViewNavigator.  Updated dependent performance tests and components.
Introduced MobileApplicationBase and TabbedMobileApplication do support the tabbed use case for mobile.
Deleted SliderSkin from the framework.  All mobile skins now extend MobileSkin.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/ViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/managers/PersistenceManager.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorSection.as" copyfrom-rev="17260" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/ComponentCatalog/src/ScriptRunner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/SlideViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/ComponentCatalog/src/ComponentCatalog.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorSection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedMobileApplicationSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewHistoryData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/managers/IPersistenceManager.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/IViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarTrackSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SliderSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/MobileApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/managers/IPersistenceManager.as
+++ frameworks/projects/mobilecomponents/src/spark/managers/IPersistenceManager.as
@@ -1,19 +1,118 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.core.managers
 {
+
+/**
+ *  IPersistenceManager defines the interface that all persistence
+ *  managers must follow.  These objects are responsible for
+ *  persisting data between application sessions.
+ *
+ *  @see spark.core.managers.PersistenceManager
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
 public interface IPersistenceManager
 {
-    function initialize(id:String = null):void;
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------

-    function setProperty(key:String, value:Object):void;
+    //----------------------------------
+    //  enabled
+    //----------------------------------

+    /**
+     *  Flag indicates whether the manager is enabled.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    function get enabled():Boolean;
+
+    // TODO (chiedozi): Remove this property, it's not useful
+    /**
+     * @private
+     */
+    function set enabled(value:Boolean):void;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Clears all the data that is being stored by the persistence
+     *  manager.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    function clear():void;
+
+    /**
+     *  Flushes the data being managed by the persistence manager to
+     *  disk or another external storage file.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    function flush():void;
+
+    /**
+     *  Initializes the persistence manager.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    function initialize():void;
+
+    /**
+     *  Returns the value of a property stored in the persistence manager.
+     *
+     *  @param key The property key
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
     function getProperty(key:String):Object;

-    function clear():void;
-
-    function flush():void;
-
-    function get enabled():Boolean;
-
-    function set enabled(value:Boolean):void;
+    /**
+     *  Stores a value in the persistence manager.
+     *
+     *  @param key The key to use to store the value
+     *  @param value The value object to store
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    function setProperty(key:String, value:Object):void;
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17073
Author:   hmuller@adobe.com
Date:     2010-07-27T17:55:27.585302Z

Log Message:
-----------
Removed GridContainerBase class.

Corrected Grid/getGridColumn() for column 0 access.

GridItemRenderer rowIndex bindable event is now "rowIndexChanged".

GridLayout/initializeItemRenderer() checks for IGridItemRenderer, not GridItemRenderer.

Grid/isCellVisible columnIndex parameter defaults to -1.

QE notes: changes apply to Spark DataGrid only
Doc notes:
Bugs:
Reviewer: Carol
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/GridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridSelection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/GridContainerBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as
@@ -109,7 +109,7 @@
     [Bindable("dataChange")]  // compatible with FlexEvent.DATA_CHANGE

     /**
-     *  The value of the dataProvider "item" for this row, i.e. dataProvider.getItemAt(itemIndex).
+     *  The value of the dataProvider "item" for this row, i.e. dataProvider.getItemAt(rowIndex).
      *  Item renderers often bind visual element attributes to data properties.  Note
      *  that, despite its name, this property does not depend on the column's "dataField".
      *
@@ -133,24 +133,24 @@
     }

     //----------------------------------
-    //  itemIndex
-    //----------------------------------
-
-    private var _itemIndex:int = -1;
-
-    [Bindable("itemIndexChanged")]
+    //  rowIndex
+    //----------------------------------
+
+    private var _rowIndex:int = -1;
+
+    [Bindable("rowIndexChanged")]

     /**
      *  The index of the dataProvider item for this item renderer's row.
      *
      *
The Grid's updateDisplayList() method sets this property
-     *  before calling preprare()
.
+     *  before calling prepare()
.
      *
      *  @default -1
      */
     public function get rowIndex():int
     {
-        return _itemIndex;
+        return _rowIndex;
     }

     /**
@@ -158,11 +158,11 @@
      */
     public function set rowIndex(value:int):void
     {
-        if (_itemIndex == value)
-            return;
-
-        _itemIndex = value;
-        dispatchChangeEvent("itemIndexChanged");
+        if (_rowIndex == value)
+            return;
+
+        _rowIndex = value;
+        dispatchChangeEvent("rowIndexChanged");
     }

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


Let our clarification not be a blatant lie.

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

--- src/as/com/threerings/flash/Animation.as
+++ src/as/com/threerings/flash/Animation.as
@@ -25,7 +25,7 @@
 {
     /**
      * The primary working method for your animation. The argument indicates how
-     * many milliseconds have passed since the previous update.
+     * many milliseconds have passed since the animation was started.
      */
     function updateAnimation (elapsed :Number) :void;
 }


Editor will now draw the debug rendering for the entire hierarchy of the selected node.

--- Bin/Data/Scripts/Editor/EditorView.as
+++ Bin/Data/Scripts/Editor/EditorView.as
@@ -1307,19 +1307,7 @@

     // Visualize the currently selected nodes as their local axes + the first drawable component
     for (uint i = 0; i < selectedNodes.length; ++i)
-    {
-        Node@ node = selectedNodes[i];
-        debug.AddNode(node, 1.0, false);
-        for (uint j = 0; j < node.numComponents; ++j)
-        {
-            Drawable@ drawable = cast<Drawable>(node.components[j]);
-            if (drawable !is null)
-            {
-                drawable.DrawDebugGeometry(debug, false);
-                break;
-            }
-        }
-    }
+        DrawNodeDebug(selectedNodes[i], debug);

     // Visualize the currently selected components
     for (uint i = 0; i < selectedComponents.length; ++i)
@@ -1344,6 +1332,16 @@
     }

     ViewRaycast(false);
+}
+
+void DrawNodeDebug(Node@ node, DebugRenderer@ debug)
+{
+    debug.AddNode(node, 1.0, false);
+    for (uint j = 0; j < node.numComponents; ++j)
+        node.components[j].DrawDebugGeometry(debug, false);
+
+    for (uint k = 0; k < node.numChildren; ++k)
+        DrawNodeDebug(node.children[k], debug);
 }

 void ViewMouseMove()


fix : removed fading effect on static blocks

--- src/fr/manashield/flex/thex/blocks/BlockGenerator.as
+++ src/fr/manashield/flex/thex/blocks/BlockGenerator.as
@@ -48,11 +48,6 @@
 			var newBlock:Block = new Block(cell, blockColor);
 			Animation.instance.addBlock(newBlock, addToFallingList);

-			if(!addToFallingList)
-			{
-				newBlock.symbol.alpha = Animation.STATIC_BLOCK_ALPHA;
-			}
-
 			return newBlock;
 		}


form auto-submission bug fix

form auto-submission bug fix

--- src/metafas3/reaction_view/helpers/FormItemHelper.as
+++ src/metafas3/reaction_view/helpers/FormItemHelper.as
@@ -48,6 +48,9 @@
 		{
 			// store local reference to the bound model/object
 			model = (object as ReactiveResource);
+
+            // model defaults to a generic ReactiveResource instance
+            model ||= (new ReactiveResource);

 			// store local reference to the bound property
 			name = property;


update SkinningController to avoid any computation when there is no target in the scene/frustum

--- src/aerys/minko/scene/controller/mesh/skinning/SkinningController.as
+++ src/aerys/minko/scene/controller/mesh/skinning/SkinningController.as
@@ -10,23 +10,26 @@
 	import aerys.minko.scene.node.Mesh;
 	import aerys.minko.scene.node.Scene;
 	import aerys.minko.type.animation.SkinningMethod;
+	import aerys.minko.type.binding.DataBindings;
 	import aerys.minko.type.math.Matrix4x4;

 	import flash.display.BitmapData;
 	import flash.geom.Matrix3D;
 	import flash.utils.Dictionary;

-	public class SkinningController extends EnterFrameController implements IRebindableController
+	public final class SkinningController extends EnterFrameController implements IRebindableController
 	{
 		private var _skinningHelper		: AbstractSkinningHelper;
 		private var _isDirty			: Boolean;

 		private var _method				: uint;
-		private var _bindShape			: Matrix3D;
+		private var _bindShapeMatrix	: Matrix3D;
 		private var _skeletonRoot		: Group;
 		private var _joints				: Vector.<Group>;
 		private var _invBindMatrices	: Vector.<Matrix3D>;

+		private var _numVisibleTargets	: uint;
+
 		public function get skinningMethod() : uint
 		{
 			return _method;
@@ -35,7 +38,7 @@
 		public function get bindShape() : Matrix4x4
 		{
 			var bindShape : Matrix4x4 = new Matrix4x4();
-			bindShape.minko_math::_matrix = _bindShape;
+			bindShape.minko_math::_matrix = _bindShapeMatrix;

 			return bindShape;
 		}
@@ -72,50 +75,59 @@
 		{
 			super(Mesh);

+			_method				= method;
+			_skeletonRoot		= skeletonRoot;
+			_bindShapeMatrix	= bindShape.minko_math::_matrix;
+			_isDirty			= false;
+
+			initialize(joints, invBindMatrices);
+		}
+
+		private function initialize(joints			: Vector.<Group>,
+									invBindMatrices	: Vector.<Matrix4x4>) : void
+		{
 			var numJoints : uint = joints.length;

-			_method			 	= method;
-			_skeletonRoot		= skeletonRoot;
-			_joints				= joints.slice();
-			_bindShape			= bindShape.minko_math::_matrix;
+			_joints	= joints.slice();
+
 			_invBindMatrices	= new Vector.<Matrix3D>(numJoints, true);
-			_isDirty			= false;
-
 			for (var jointId : uint = 0; jointId < numJoints; ++jointId)
 				_invBindMatrices[jointId] = invBindMatrices[jointId].minko_math::_matrix;

-			init();
-		}
-
-		private function init() : void
-		{
 			if (skinningMethod == SkinningMethod.SOFTWARE_MATRIX)
-				_skinningHelper = new SoftwareSkinningHelper(_method, _bindShape, _invBindMatrices);
+				_skinningHelper = new SoftwareSkinningHelper(_method, _bindShapeMatrix, _invBindMatrices);
 			else
-				_skinningHelper = new ShaderSkinningHelper(_method, _bindShape, _invBindMatrices);
-		}
-
-		override protected function targetAddedHandler(ctrl		: EnterFrameController,
-													   target	: ISceneNode) : void
-		{
-			super.targetAddedHandler(ctrl, target);
-
-			if (numTargets == 1)
+				_skinningHelper = new ShaderSkinningHelper(_method, _bindShapeMatrix, _invBindMatrices);
+		}
+
+		override protected function targetAddedToSceneHandler(target	: ISceneNode,
+															  scene		: Scene) : void
+		{
+			super.targetAddedToSceneHandler(target, scene);
+
+			if (numTargetsInScene == 1)
 				subscribeToJoints();

+			var mesh : Mesh = target as Mesh;
+
+			mesh.bindings.addCallback('inFrustum', meshVisibilityChangedHandler);
+			_skinningHelper.addMesh(mesh);
+
 			_isDirty = true;
-			_skinningHelper.addMesh(target as Mesh);
-		}
-
-		override protected function targetRemovedHandler(ctrl	: EnterFrameController,
-														 target	: ISceneNode) : void
-		{
-			super.targetRemovedHandler(ctrl, target);
+		}
+
+		override protected function targetRemovedFromSceneHandler(target	: ISceneNode,
+																  scene		: Scene) : void
+		{
+			super.targetRemovedFromSceneHandler(target, scene);

 			if (numTargets == 0)
 				unsubscribeFromJoints();

-			_skinningHelper.removeMesh(target as Mesh);
+			var mesh : Mesh = target as Mesh;
+
+			mesh.bindings.removeCallback('inFrustum', meshVisibilityChangedHandler);
+			_skinningHelper.removeMesh(mesh);
 		}

 		private function jointLocalToWorldChangedHandler(emitter : Matrix4x4) : void
@@ -171,7 +183,7 @@
 														   destination	: BitmapData,
 														   time			: Number) : void
 		{
-			if (_isDirty)
+			if (_isDirty && _skinningHelper.numMeshes != 0)
 			{
 				_skinningHelper.update(_skeletonRoot, _joints);
 				_isDirty = false;
@@ -182,5 +194,16 @@
 		{
 			return new SkinningController(_method, _skeletonRoot, _joints, bindShape, invBindMatrices);
 		}
+
+		private function meshVisibilityChangedHandler(bindings 	: DataBindings,
+												  property	: String,
+												  oldValue	: Boolean,
+												  newValue	: Boolean) : void
+		{
+			if (newValue)
+				_skinningHelper.addMesh(bindings.owner as Mesh);
+			else
+				_skinningHelper.removeMesh(bindings.owner as Mesh);
+		}
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17425
Author:   rfrishbe@adobe.com
Date:     2010-08-20T17:29:56.448841Z

Log Message:
-----------
Pretty basic refactoring for PARB (though it is a lot of files).  Renamed GestureCaptureEvent/GestureCaptureReason (these were previously TouchScrollEvent) to TouchInteractionEvent/TouchInteractionReason.  inputMode has been renamed to interactionMode and has a new enumeration class, mx.core.InteractionMode.

There's on non-PARB change that was made was in List and mobiletheme/defaults.css. I found a bug in that the item renderer wasn't highlighting on mousedown anymore. There were two issues at play. Firstly the touchDelay was set to 100 ms in the Scroller only, so I added it to List and added a FIXME comment to myself figuring out if the code in List should use scroller.getStyle("touchDelay") or itemRenderer.getStyle("touchDelay") instead of getStyle("touchDelay"). Also, I found out that the code doesn't deal with touchDelay=0 very well. Since we're planning on working on this code anyways (and possibly moving it in to ItemRenderer itself with a new downstate), I just put in a hack with a FIXME to handle this case for now.

QE notes: None
Doc notes: None
Bugs: -
Reviewer: Jason SJ, Chiedo
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/GestureCaptureEvent.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/InteractionMode.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/GestureCaptureReason.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/GestureCaptureEvent.as" copyfrom-rev="17393" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/TouchInteractionEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/GestureCaptureReason.as" copyfrom-rev="17393" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/TouchInteractionReason.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as
@@ -14,8 +14,9 @@
 import flash.geom.Point;

 import mx.core.IUIComponent;
+import mx.core.InteractionMode;
+import mx.core.ScrollPolicy;
 import mx.core.mx_internal;
-import mx.core.ScrollPolicy;
 import mx.utils.MatrixUtil;

 import spark.components.Scroller;
@@ -256,7 +257,7 @@
             return;

         const minViewportInset:Number = scroller.minViewportInset;
-        const measuredSizeIncludesScrollBars:Boolean = scroller.measuredSizeIncludesScrollBars && (scroller.getStyle("inputMode") == "mouse");
+        const measuredSizeIncludesScrollBars:Boolean = scroller.measuredSizeIncludesScrollBars && (scroller.getStyle("interactionMode") == InteractionMode.MOUSE);

         var measuredW:Number = minViewportInset;
         var measuredH:Number = minViewportInset;
@@ -450,7 +451,7 @@
         }

         // if in touch mode, only show scrollbars if a scroll is currently in progress
-        if (scroller.getStyle("inputMode") == "touch")
+        if (scroller.getStyle("interactionMode") == InteractionMode.TOUCH)
         {
             hsbTakeUpSpace = false;
             hsbVisible = scroller.horizontalScrollInProgress;
@@ -561,7 +562,7 @@

             // if in mouse mode, lay out scrollbars normally
             // if in touch mode, we overlay the scrollbars, so let's inset it by a bit
-            if (scroller.getStyle("inputMode") == "mouse")
+            if (scroller.getStyle("interactionMode") == InteractionMode.MOUSE)
                 hsb.setLayoutBoundsPosition(0, h - hsbH);
             else
                 hsb.setLayoutBoundsPosition(0, h - hsbH - 3);
@@ -576,7 +577,7 @@
             // if in mouse mode, lay out scrollbars normally
             // if in touch mode, we overlay the scrollbars, so let's inset it by a bit
             // FIXME (rfrishbe): shouldn't hardcode the 3 here
-            if (scroller.getStyle("inputMode") == "mouse")
+            if (scroller.getStyle("interactionMode") == InteractionMode.MOUSE)
                 vsb.setLayoutBoundsPosition(w - vsbW, 0);
             else
                 vsb.setLayoutBoundsPosition(w - vsbW - 3, 0);


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 3466
Author:   egreenfi@adobe.com
Date:     2008-10-03T04:13:46.076266Z

Log Message:
-----------
Refactored TransformOffset to reduce code and confusion.

UIComponent and GraphicElement now aggregate an AdvancedLayoutFeatures object, which is responsible for computing the
actual transform based on the layout properties and a CompoundTransform object passed in as a set of offset values.

Re-enabled updateComplete events when component transform is modified, for mustella tests.

Review: Glenn, Evtim.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/halo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/TransformOffset.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -22,9 +22,10 @@
 import flex.graphics.TransformUtil;
 import flex.intf.ILayoutItem;

+import mx.core.AdvancedLayoutFeatures;
 import mx.core.IConstraintClient;
 import mx.core.IInvalidating;
-import mx.core.TransformOffset;
+import mx.geom.CompoundTransform;
 import mx.core.UIComponentGlobals;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
@@ -93,9 +94,7 @@
     public function GraphicElement()
     {
         super();
-        xformOffsets = new TransformOffset();
-		xformOffsets.userVisible = false;
-		xformOffsets.addEventListener(Event.CHANGE,transformOffsetsChangedHandler);
+        layoutFeatures = new AdvancedLayoutFeatures();
     }

     //--------------------------------------------------------------------------
@@ -149,7 +148,7 @@
     /**
      *  Documentation is not currently available.
      */
-	protected var xformOffsets:TransformOffset;
+	protected var layoutFeatures:AdvancedLayoutFeatures;
     //--------------------------------------------------------------------------
     //
     //  Properties: IGraphicElement
@@ -157,32 +156,29 @@
     //--------------------------------------------------------------------------

     [Bindable("propertyChange")]
-	public function get offsets():TransformOffset
+	/**
+	 * Documentation is not currently available
+	 */
+ 	public function set offsets(value:CompoundTransform):void
 	{
-		return (xformOffsets != null && xformOffsets.userVisible == true)? xformOffsets:null;
+		var oldValue:CompoundTransform = layoutFeatures.offsets;
+
+		if(layoutFeatures.offsets != null)
+			layoutFeatures.offsets.removeEventListener(Event.CHANGE,transformOffsetsChangedHandler);
+		layoutFeatures.offsets = value;
+		if(layoutFeatures.offsets != null)
+			layoutFeatures.offsets.addEventListener(Event.CHANGE,transformOffsetsChangedHandler);
+        dispatchPropertyChangeEvent("offsets", oldValue, value);
 	}
-	public function set offsets(userValue:TransformOffset):void
+
+	/**
+	 * @private
+	 */
+	public function get offsets():CompoundTransform
 	{
-		var oldValue:TransformOffset = xformOffsets;
-		var value:TransformOffset = userValue;
-
-		if(value == null)
-		{
-			value = new TransformOffset();
-			value.userVisible = false;
-		}
-
-		if(value != null && oldValue != null)
-			value.initFrom(oldValue);
-
-		if(xformOffsets != null)
-			xformOffsets.removeEventListener(Event.CHANGE,transformOffsetsChangedHandler);
-		xformOffsets = value;
-		if(xformOffsets != null)
-			xformOffsets.addEventListener(Event.CHANGE,transformOffsetsChangedHandler);
-
-        dispatchPropertyChangeEvent("offsets", oldValue, userValue);
+		return layoutFeatures.offsets;
 	}
+

 	protected function invalidateTransform(changeInvalidatesLayering:Boolean = true,triggerLayout:Boolean = true):void
@@ -193,7 +189,7 @@
         {
     	    invalidateParentSizeAndDisplayList();
         }
-        xformOffsets.updatePending = true;
+        layoutFeatures.updatePending = true;
 	}

     private function transformOffsetsChangedHandler(e:Event):void
@@ -1154,7 +1150,7 @@
      */
     public function get rotationX():Number
     {
-        return xformOffsets.layoutRotationX;
+        return layoutFeatures.layoutRotationX;
     }

     /**
@@ -1162,11 +1158,11 @@
      */
     public function set rotationX(value:Number):void
     {
-        var oldValue:Number = xformOffsets.layoutRotationX;
+        var oldValue:Number = layoutFeatures.layoutRotationX;
         if (oldValue == value)
             return;

-        xformOffsets.layoutRotationX = value;
+        layoutFeatures.layoutRotationX = value;
         dispatchPropertyChangeEvent("rotationX", oldValue, value);
 		invalidateTransform();
     }
@@ -1180,7 +1176,7 @@
      */
     public function get rotationY():Number
     {
-        return xformOffsets.layoutRotationY;
+        return layoutFeatures.layoutRotationY;
     }

     /**
@@ -1188,11 +1184,11 @@
      */
     public function set rotationY(value:Number):void
     {
-        var oldValue:Number = xformOffsets.layoutRotationY;
+        var oldValue:Number = layoutFeatures.layoutRotationY;
         if (oldValue == value)
             return;

-        xformOffsets.layoutRotationY = value;
+        layoutFeatures.layoutRotationY = value;
         dispatchPropertyChangeEvent("rotationY", oldValue, value);
 		invalidateTransform();
     }
@@ -1206,7 +1202,7 @@
      */
     public function get rotationZ():Number
     {
-        return xformOffsets.layoutRotationZ;
+        return layoutFeatures.layoutRotationZ;
     }

     /**
@@ -1214,11 +1210,11 @@
      */
     public function set rotationZ(value:Number):void
     {
-        var oldValue:Number = xformOffsets.layoutRotationZ;
+        var oldValue:Number = layoutFeatures.layoutRotationZ;
         if (oldValue == value)
             return;

-        xformOffsets.layoutRotationZ = value;
+        layoutFeatures.layoutRotationZ = value;
         dispatchPropertyChangeEvent("rotationZ", oldValue, value);
         dispatchPropertyChangeEvent("rotation", oldValue, value);
 		invalidateTransform();
@@ -1233,7 +1229,7 @@
      */
     public function get rotation():Number
     {
-        return xformOffsets.layoutRotationZ;
+        return layoutFeatures.layoutRotationZ;
     }
     public function set rotation(value:Number):void
     {
@@ -1253,7 +1249,7 @@
      */
     public function get scaleX():Number
     {
-        return xformOffsets.layoutScaleX;
+        return layoutFeatures.layoutScaleX;
     }

     /**
@@ -1261,11 +1257,11 @@
      */
     public function set scaleX(value:Number):void
     {
-        var oldValue:Number = xformOffsets.layoutScaleX;
+        var oldValue:Number = layoutFeatures.layoutScaleX;
         if (oldValue == value)
             return;

-        xformOffsets.layoutScaleX = value;
+        layoutFeatures.layoutScaleX = value;
         dispatchPropertyChangeEvent("scaleX", oldValue, value);
 		invalidateTransform();
     }
@@ -1283,7 +1279,7 @@
      */
     public function get scaleY():Number
     {
-        return xformOffsets.layoutScaleY;
+        return layoutFeatures.layoutScaleY;
     }

     /**
@@ -1291,11 +1287,11 @@
      */
     public function set scaleY(value:Number):void
     {
-        var oldValue:Number = xformOffsets.layoutScaleY;
+        var oldValue:Number = layoutFeatures.layoutScaleY;
         if (oldValue == value)
             return;

-        xformOffsets.layoutScaleY = value;
+        layoutFeatures.layoutScaleY = value;
         dispatchPropertyChangeEvent("scaleY", oldValue, value);
 		invalidateTransform();
     }
@@ -1313,7 +1309,7 @@
      */
     public function get scaleZ():Number
     {
-        return xformOffsets.layoutScaleZ;
+        return layoutFeatures.layoutScaleZ;
     }

     /**
@@ -1321,11 +1317,11 @@
      */
     public function set scaleZ(value:Number):void
     {
-        var oldValue:Number = xformOffsets.layoutScaleZ;
+        var oldValue:Number = layoutFeatures.layoutScaleZ;
         if (oldValue == value)
             return;

-        xformOffsets.layoutScaleZ = value;
+        layoutFeatures.layoutScaleZ = value;
         dispatchPropertyChangeEvent("scaleZ", oldValue, value);
 		invalidateTransform();
     }
@@ -1407,11 +1403,11 @@
                                           transformPropertyChangeHandler);
 			if(value.matrix != null)
 			{
-				xformOffsets.layoutMatrix = value.matrix;
+				layoutFeatures.layoutMatrix = value.matrix;
 			}
 			else if (value.matrix3D != null)
 			{
-				xformOffsets.layoutMatrix3D = value.matrix3D;
+				layoutFeatures.layoutMatrix3D = value.matrix3D;
 			}
             _colorTransform = value.colorTransform;
         }
@@ -1425,7 +1421,7 @@
 	 */
 	public function get matrix():Matrix
 	{
-		return xformOffsets.layoutMatrix;
+		return layoutFeatures.layoutMatrix;
 	}

 	/**
@@ -1433,7 +1429,7 @@
 	 */
 	public function set matrix(value:Matrix):void
 	{
-		xformOffsets.matrix = value;
+		layoutFeatures.layoutMatrix = value;
 		invalidateTransform();
 	}

@@ -1443,7 +1439,7 @@
 	 */
 	public function set matrix3D(value:Matrix3D):void
 	{
-		xformOffsets.matrix3D = value;
+		layoutFeatures.layoutMatrix3D = value;
 		invalidateTransform();
 	}

@@ -1452,7 +1448,7 @@
 	 */
 	public function get matrix3D():Matrix3D
 	{
-		return xformOffsets.layoutMatrix3D;
+		return layoutFeatures.layoutMatrix3D;
 	}

     //----------------------------------
@@ -1467,7 +1463,7 @@
      */
     public function get transformX():Number
     {
-        return xformOffsets.transformX;
+        return layoutFeatures.transformX;
     }

     /**
@@ -1475,11 +1471,11 @@
      */
     public function set transformX(value:Number):void
     {
-        var oldValue:Number = xformOffsets.transformX;
+        var oldValue:Number = layoutFeatures.transformX;
         if ( oldValue == value)
             return;

-        xformOffsets.transformX = value;
+        layoutFeatures.transformX = value;
         dispatchPropertyChangeEvent("transformX", oldValue, value);
 		invalidateTransform(false);
     }
@@ -1497,7 +1493,7 @@
      */
     public function get transformY():Number
     {
-        return xformOffsets.transformY;
+        return layoutFeatures.transformY;
     }

     /**
@@ -1505,10 +1501,10 @@
      */
     public function set transformY(value:Number):void
     {
-        var oldValue:Number = xformOffsets.transformY;
+        var oldValue:Number = layoutFeatures.transformY;
         if (oldValue == value)
             return;
-        xformOffsets.transformY = value;
+        layoutFeatures.transformY = value;
         dispatchPropertyChangeEvent("transformY", oldValue, value);
 		invalidateTransform(false);
     }
@@ -1526,7 +1522,7 @@
      */
     public function get transformZ():Number
     {
-        return xformOffsets.transformZ;
+        return layoutFeatures.transformZ;
     }

     /**
@@ -1534,10 +1530,10 @@
      */
     public function set transformZ(value:Number):void
     {
-        var oldValue:Number = xformOffsets.transformZ;
+        var oldValue:Number = layoutFeatures.transformZ;
         if (oldValue == value)
             return;
-        xformOffsets.transformZ = value;
+        layoutFeatures.transformZ = value;
         dispatchPropertyChangeEvent("transformZ", oldValue, value);
 		invalidateTransform();
     }
@@ -1628,14 +1624,14 @@
     //----------------------------------
 	public function get layer():Number
 	{
-		return xformOffsets.layer;
+		return layoutFeatures.layer;
 	}

 	public function set layer(value:Number):void
 	{
 		if(value == layer)
 			return;
-		 xformOffsets.layer = value;
+		 layoutFeatures.layer = value;
 		if(_host != null && _host is UIComponent)
 			(_host as UIComponent).invalidateLayering();
 	}
@@ -1651,7 +1647,7 @@
      */
     public function get x():Number
     {
-        return xformOffsets.layoutX;
+        return layoutFeatures.layoutX;
     }

     /**
@@ -1659,11 +1655,11 @@
      */
     public function set x(value:Number):void
     {
-        var oldValue:Number = xformOffsets.layoutX;
+        var oldValue:Number = layoutFeatures.layoutX;
         if (oldValue == value)
             return;

-        xformOffsets.layoutX = value;
+        layoutFeatures.layoutX = value;
         dispatchPropertyChangeEvent("x", oldValue, value);
         invalidateTransform(false);
     }
@@ -1680,7 +1676,7 @@
      */
     public function get y():Number
     {
-        return xformOffsets.layoutY;
+        return layoutFeatures.layoutY;
     }

     /**
@@ -1688,11 +1684,11 @@
      */
     public function set y(value:Number):void
     {
-        var oldValue:Number = xformOffsets.layoutY;
+        var oldValue:Number = layoutFeatures.layoutY;
         if (oldValue == value)
             return;

-        xformOffsets.layoutY = value;
+        layoutFeatures.layoutY = value;
         dispatchPropertyChangeEvent("y", oldValue, value);
 		invalidateTransform(false);
     }
@@ -1709,7 +1705,7 @@
      */
     public function get z():Number
     {
-        return xformOffsets.layoutZ;
+        return layoutFeatures.layoutZ;
     }

     /**
@@ -1717,11 +1713,11 @@
      */
     public function set z(value:Number):void
     {
-        var oldValue:Number = xformOffsets.layoutZ;
+        var oldValue:Number = layoutFeatures.layoutZ;
         if (oldValue == value)
             return;

-        xformOffsets.layoutZ = value;
+        layoutFeatures.layoutZ = value;
         dispatchPropertyChangeEvent("z", oldValue, value);
 		invalidateTransform();
     }
@@ -1853,8 +1849,8 @@
         }
         else
         {
-        	topLeft.x += xformOffsets.layoutX;
-        	topLeft.y += xformOffsets.layoutY;
+        	topLeft.x += layoutFeatures.layoutX;
+        	topLeft.y += layoutFeatures.layoutY;
         }

         // Take stroke into account:
@@ -1892,7 +1888,9 @@
         // TODO!!! We need to apply all of the transforms of our ancestors
     	if(displayObject != null)
     		return 0;
-    	var result:Number = xformOffsets.layoutX + xformOffsets.x;
+    	var result:Number = layoutFeatures.layoutX;
+    	if(layoutFeatures.offsets != null)
+    		result +=  layoutFeatures.offsets.x;
         return sharedDisplayObject && sharedDisplayObject != elementHost ? result - sharedDisplayObject.x : result;
     }

@@ -1909,7 +1907,9 @@
         // TODO!!! We need to apply all of the transforms of our ancestors
     	if(displayObject != null)
     		return 0;
-    	var result:Number = xformOffsets.layoutY + xformOffsets.y;
+    	var result:Number = layoutFeatures.layoutY;
+    	if(layoutFeatures.offsets != null)
+    		result +=  layoutFeatures.offsets.y;
         return sharedDisplayObject && sharedDisplayObject != elementHost ? result - sharedDisplayObject.y : result;
     }

@@ -2041,22 +2041,24 @@
      */
     public function get needsDisplayObject():Boolean
     {
-    	if ((_filters && _filters.length > 0) ||
+    	var result:Boolean;
+    	result = ((_filters && _filters.length > 0) ||
     		_blendMode != BlendMode.NORMAL || _mask ||
-    		xformOffsets.layoutScaleX != 1 || xformOffsets.layoutScaleY != 1 || xformOffsets.layoutScaleZ != 1 ||
-    		xformOffsets.layoutRotationX != 0 || xformOffsets.layoutRotationY != 0 || xformOffsets.layoutRotationZ != 0 ||
-    		xformOffsets.layoutZ  != 0 ||
-    		xformOffsets.scaleX != 1 || xformOffsets.scaleY != 1 || xformOffsets.scaleZ != 1 ||
-    		xformOffsets.rotationX != 0 || xformOffsets.rotationY != 0 || xformOffsets.rotationZ != 0 ||
-    		xformOffsets.z  != 0 ||
+    		layoutFeatures.layoutScaleX != 1 || layoutFeatures.layoutScaleY != 1 || layoutFeatures.layoutScaleZ != 1 ||
+    		layoutFeatures.layoutRotationX != 0 || layoutFeatures.layoutRotationY != 0 || layoutFeatures.layoutRotationZ != 0 ||
+    		layoutFeatures.layoutZ  != 0 ||
     		_colorTransform != null ||
     		_alpha != 1 ||
-    		_layer != 0)
-    	{
-			return true;
-    	}
-    	else
-    		return false;
+    		_layer != 0);
+
+		if(layoutFeatures.offsets != null)
+		{
+			var o:CompoundTransform = layoutFeatures.offsets;
+    		result = result || (o.scaleX != 1 || o.scaleY != 1 || o.scaleZ != 1 ||
+    		o.rotationX != 0 || o.rotationY != 0 || o.rotationZ != 0 || o.z  != 0);
+
+		}
+		return result;
     }

     public function get nextSiblingNeedsDisplayObject():Boolean
@@ -2383,7 +2385,7 @@
                 invalidateDisplayList();
             }
         }
-        if (xformOffsets.updatePending ||
+        if (layoutFeatures.updatePending ||
             updateTransform)
         {
             applyComputedTransform();
@@ -2516,7 +2518,7 @@
 		// we commit our transform in two places. First, during commit properties, because our size depends on it,
 		// and our parent will most likely take it into account during layout. Secondly, here, because our parent will likely
 		// change our xform as a result of layout, and we need to commit it before we end up on screen.
-        if (xformOffsets.updatePending)
+        if (layoutFeatures.updatePending)
         {
             applyComputedTransform();
         }
@@ -2589,7 +2591,7 @@
         if (!displayObject)
             return null;

-        var m:Matrix = xformOffsets.layoutMatrix;
+        var m:Matrix = layoutFeatures.layoutMatrix;
         return TransformUtil.isDeltaIdentity(m) ? null : m;
     }

@@ -2653,8 +2655,8 @@

             // now adjust our tx/ty values based on the difference between our current transformed position and
             // where we want to end up.
-            x = x - origin.x + xformOffsets.layoutX;
-            y = y - origin.y + xformOffsets.layoutY;
+            x = x - origin.x + layoutFeatures.layoutX;
+            y = y - origin.y + layoutFeatures.layoutY;
         }
         else
         {
@@ -2663,14 +2665,14 @@
         }

-       	if(x != xformOffsets.layoutX || y != xformOffsets.layoutY)
+       	if(x != layoutFeatures.layoutX || y != layoutFeatures.layoutY)
        	{
-			xformOffsets.layoutX = x;
-			xformOffsets.layoutY = y;
+			layoutFeatures.layoutX = x;
+			layoutFeatures.layoutY = y;
 			// note that we don't want to call invalidateTransform, because
 			// this is in the middle of an update pass. Instead, we just note that the
 			// transform has an update pending, so we can apply it later.
-			xformOffsets.updatePending = true;
+			layoutFeatures.updatePending = true;
             invalidateDisplayList();
         }
     }
@@ -2796,18 +2798,18 @@
      */
     protected function applyComputedTransform():void
     {
-        xformOffsets.updatePending = false;
+        layoutFeatures.updatePending = false;

         if(displayObject == null)
         	return;

-		if(xformOffsets.computedIs3D)
+		if(layoutFeatures.is3D)
 		{
-			displayObject.transform.matrix3D = xformOffsets.computedMatrix3D;
+			displayObject.transform.matrix3D = layoutFeatures.computedMatrix3D;
 		}
 		else
 		{
-			displayObject.transform.matrix = xformOffsets.computedMatrix;
+			displayObject.transform.matrix = layoutFeatures.computedMatrix;
 			//race("updating transform");
 		}
     }
@@ -2845,20 +2847,20 @@
         // not only on scale.
         if (scaleMode == LineScaleMode.NORMAL)
         {
-            if (xformOffsets.layoutScaleX == xformOffsets.layoutScaleY)
-                weight *= xformOffsets.layoutScaleX;
+            if (layoutFeatures.layoutScaleX == layoutFeatures.layoutScaleY)
+                weight *= layoutFeatures.layoutScaleX;
             else
-                weight *= Math.sqrt(0.5 * (xformOffsets.layoutScaleX * xformOffsets.layoutScaleX + xformOffsets.layoutScaleY * xformOffsets.layoutScaleY));
+                weight *= Math.sqrt(0.5 * (layoutFeatures.layoutScaleX * layoutFeatures.layoutScaleX + layoutFeatures.layoutScaleY * layoutFeatures.layoutScaleY));

             return new Point(weight, weight);
         }
         else if (scaleMode == LineScaleMode.HORIZONTAL)
         {
-            return new Point(weight * xformOffsets.layoutScaleX, weight);
+            return new Point(weight * layoutFeatures.layoutScaleX, weight);
         }
         else if (scaleMode == LineScaleMode.VERTICAL)
         {
-            return new Point(weight, weight * xformOffsets.layoutScaleY);
+            return new Point(weight, weight * layoutFeatures.layoutScaleY);
         }

         return null;
@@ -2913,7 +2915,7 @@
                 // Apply matrix
                 if (_transform)
                 {
-                    xformOffsets.layoutMatrix = _transform.matrix.clone();
+                    layoutFeatures.layoutMatrix = _transform.matrix.clone();
 					invalidateTransform();
                 }
             }


updated prompt text

updated prompt text

Change-Id: I87fa70ba5def5045f11ccdaa0cbe6d8b434bc388

--- WeaveUI/src/weave/menus/SessionMenu.as
+++ WeaveUI/src/weave/menus/SessionMenu.as
@@ -235,7 +235,7 @@
 							PopUpUtils.confirm(
 								null,
 								lang("Create template"),
-								lang("This will reset all attribute selections and remove all data sources. "
+								lang("This will reset all attribute selections, remove all data sources, and clear the history. "
 									+ "The attributes will be re-populated when you load a file through the Data menu."),
 								createTemplate,
 								null,


Transferred from the Adobe Open Source Subversion Repository

Revision: 4925
Author:   aharui@adobe.com
Date:     2009-02-11T01:11:07.094582Z

Log Message:
-----------
sdk-19228  Fix list selection when dataprovider is reset and an item is later added.

QE Notes: None
Doc Notes: None
Bugs: sdk-19228
Reviewer: glenn
tests: checkintests mustella:FxButtonBar, FxList

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -107,11 +107,14 @@
         dataProviderChanged = true;
         doingWholesaleChanges = true;

+		// ensure that our listener is added before the dataGroup which adds a listener during
+		// the base class setter if the dataGroup already exists.  If the dataGroup isn't
+		// created yet, then we still be first.
+        if (value)
+            value.addEventListener(CollectionEvent.COLLECTION_CHANGE, collectionChangeHandler);
+
         super.dataProvider = value;
         invalidateProperties();
-
-        if (dataProvider)
-            dataProvider.addEventListener(CollectionEvent.COLLECTION_CHANGE, collectionChangeHandler);
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 3550
Author:   dsubrama@adobe.com
Date:     2008-10-09T21:36:11.240126Z

Log Message:
-----------
Added selection constants to IndexChangedEvent.

Reviewer: Ryan
Checkintests: PASS
Doc: Yes - the ASDocs for the constants need to be reviewed/augmented.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/IndexChangedEvent.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -27,14 +27,14 @@
  *  Calling the preventDefault() method
  *  on the event will prevent the selection from changing.
  *
- *  @eventType mx.events.IndexChangedEvent.ITEM_ADD
+ *  @eventType mx.events.IndexChangedEvent.SELECTION_CHANGING
  */
 [Event(name="selectionChanging", type="mx.events.IndexChangedEvent")]

 /**
  *  Dispatched after the selection has changed.
  *
- *  @eventType mx.events.IndexChangedEvent.ITEM_ADD
+ *  @eventType mx.events.IndexChangedEvent.SELECTION_CHANGED
  */
 [Event(name="selectionChanged", type="mx.events.IndexChangedEvent")]

@@ -324,7 +324,7 @@
             selectedIndexAdjusted = false;
             if (!changedSelection)
             {
-                var e:IndexChangedEvent = new IndexChangedEvent("selectionChanged");
+                var e:IndexChangedEvent = new IndexChangedEvent(IndexChangedEvent.SELECTION_CHANGED);
                 e.oldIndex = selectedIndex;
                 e.newIndex = selectedIndex;
                 dispatchEvent(e);
@@ -384,7 +384,7 @@

         // Step 2: dispatch the "selectionChanging" event. If preventDefault() is called
         // on this event, the selection change will be cancelled.
-        var e:IndexChangedEvent = new IndexChangedEvent("selectionChanging", false, true);
+        var e:IndexChangedEvent = new IndexChangedEvent(IndexChangedEvent.SELECTION_CHANGING, false, true);
         e.oldIndex = _selectedIndex;
         e.newIndex = _proposedSelectedIndex;
         if (!dispatchEvent(e))
@@ -403,7 +403,7 @@
         _proposedSelectedIndex = NO_PROPOSED_SELECTION;

         // Step 4: dispatch the "selectionChanged" event
-        e = new IndexChangedEvent("selectionChanged");
+        e = new IndexChangedEvent(IndexChangedEvent.SELECTION_CHANGED);
         e.oldIndex = oldIndex;
         e.newIndex = _selectedIndex;
         dispatchEvent(e);


--- as3/com/netease/protobuf/TextFormat.as
+++ as3/com/netease/protobuf/TextFormat.as
@@ -303,21 +303,28 @@
 		 * Outputs a textual representation of the Protocol Message supplied into
 		 * the parameter output.
 		 */
-		public static function printToUTFBytes(output:IDataOutput,
+		public static function printToUTFBytes(
+				output:IDataOutput,
 				message:Message,
-				singleLineMode:Boolean = true):void {
-			printMessageFields(output, message,
-				singleLineMode ? SINGLELINE_MODE : MULTILINE_MODE)
+				singleLineMode:Boolean = true,
+				currentIndent:String = ""):void {
+			printMessageFields(
+				output,
+				message,
+				singleLineMode ? SINGLELINE_MODE : MULTILINE_MODE,
+				currentIndent)
 		}

 		/**
 		 * Like printToUTFBytes(), but writes directly to a String and
 		 * returns it.
 		 */
-		public static function printToString(message:Message,
-				singleLineMode:Boolean = true):String {
+		public static function printToString(
+				message:Message,
+				singleLineMode:Boolean = true,
+				currentIndent:String = ""):String {
 			const ba:ByteArray = new ByteArray
-			printToUTFBytes(ba, message, singleLineMode)
+			printToUTFBytes(ba, message, singleLineMode, currentIndent)
 			ba.position = 0
 			return ba.readUTFBytes(ba.length)
 		}


support png/gif/jpg skinning of a buton

support png/gif/jpg skinning of a buton

--- frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonBead.as
+++ frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonBead.as
@@ -90,38 +90,47 @@

 		private function setupSkin(sprite:Sprite, textField:TextField, state:String = null):void
 		{
-
+			var borderColor:uint;
+			var borderThickness:uint;
+			var borderStyle:String;
+			var borderStyles:Object = ValuesManager.valuesImpl.getValue(_strand, "border", state);
+			if (borderStyles is Array)
+			{
+				borderColor = borderStyles[2];
+				borderStyle = borderStyles[1];
+				borderThickness = borderStyles[0];
+			}
+			var value:Object = ValuesManager.valuesImpl.getValue(_strand, "border-style", state);
+			if (value != null)
+				borderStyle = value as String;
+			value = ValuesManager.valuesImpl.getValue(_strand, "border-color", state);
+			if (value != null)
+				borderColor = value as uint;
+			value = ValuesManager.valuesImpl.getValue(_strand, "border-thickness", state);
+			if (value != null)
+				borderThickness = value as uint;
+			var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
+			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(_strand, "backgroundColor", state);
+			if (borderStyle == "solid")
+			{
+				SolidBorderUtil.drawBorder(sprite.graphics,
+					0, 0, textField.textWidth + Number(padding) * 2, textField.textHeight + Number(padding) * 2,
+					borderColor, backgroundColor, borderThickness);
+				textField.y = (sprite.height - textField.height) / 2;
+				textField.x = (sprite.width - textField.width) / 2;
+			}
 			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "backgroundImage", state);
 			if (backgroundImage)
 			{
 				var loader:Loader = new Loader();
 				sprite.addChildAt(loader, 0);
-				loader.load(new URLRequest(backgroundImage as String));
+				var url:String = backgroundImage as String;
+				loader.load(new URLRequest(url));
 				loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void {
 					textField.y = (sprite.height - textField.height) / 2;
 					textField.x = (sprite.width - textField.width) / 2;
 					updateHitArea();
 				});
-			}
-			else
-			{
-				var borderColor:uint;
-				var borderThickness:uint;
-				var borderStyle:String;
-				var borderStyles:Object = ValuesManager.valuesImpl.getValue(_strand, "border", state);
-				if (borderStyles is Array)
-				{
-					borderColor = borderStyles[2];
-					borderStyle = borderStyles[1];
-					borderThickness = borderStyles[0];
-				}
-				var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
-				var backgroundColor:Object = ValuesManager.valuesImpl.getValue(_strand, "backgroundColor", state);
-				SolidBorderUtil.drawBorder(sprite.graphics,
-					0, 0, textField.textWidth + Number(padding) * 2, textField.textHeight + Number(padding) * 2,
-					borderColor, backgroundColor, borderThickness);
-				textField.y = (sprite.height - textField.height) / 2;
-				textField.x = (sprite.width - textField.width) / 2;
 			}
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 22340
Author:   chiedozi@adobe.com
Date:     2011-09-01T00:06:35.253226Z

Log Message:
-----------
A SplitViewNavigator's callout's maxWidth and maxHeight are constrained to the width and height of the SplitViewNavigator

QE notes:
Doc notes:
Bugs:SDK-31389
Reviewer: Jason SJ
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SplitViewNavigatorSkin.as

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/SplitViewNavigatorSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/SplitViewNavigatorSkin.as
@@ -16,6 +16,9 @@
 import spark.components.SplitViewNavigator;
 import spark.layouts.HorizontalLayout;
 import spark.skins.mobile.supportClasses.MobileSkin;
+
+import mx.core.mx_internal;
+use namespace mx_internal;

 /**
  *  The default skin for the SplitViewNavigator component.  This skin is
@@ -105,9 +108,6 @@
         // Create the callout but don't add it to display list
         viewNavigatorCallout = new Callout();
         viewNavigatorCallout.id = "viewNavigatorCallout";
-
-        // TODO (jasonsj): move sizing to SplitViewNavigator?
-        viewNavigatorCallout.height = 500;
     }

     /**
@@ -130,6 +130,10 @@

         contentGroup.setLayoutBoundsSize(unscaledWidth, unscaledHeight);
         contentGroup.setLayoutBoundsPosition(0, 0);
+
+        // Set the maximum height of the callout to be equal to the dimensions of the SplitViewNavigator
+        viewNavigatorCallout.maxWidth = unscaledWidth - (viewNavigatorCallout.margin * 2);
+        viewNavigatorCallout.maxHeight = unscaledHeight - (viewNavigatorCallout.margin * 2);
     }

     /**