Transferred from the Adobe Open Source Subversion Repository

Revision: 16236
Author:   jszeto@adobe.com
Date:     2010-05-20T00:54:54.963159Z

Log Message:
-----------
Form Feature Work

Merging in Form classes from the private sandbox. All spec'ed functionality has been implemented.

QE notes: none
Doc notes: Needs ASDoc comments
Bugs: none
Reviewer: Hans, Kevin
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/FormItemLayout.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/FormItemLayout.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/assets/ErrorIndicator.png" copyfrom-rev="16235" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/assets/ErrorIndicator.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.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/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/StackedFormItemSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/StackedFormItemSkin.mxml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/Form.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Form.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormItemSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormItemSkin.mxml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/StackedFormHeadingSkin.mxml" copyfrom-rev="16047" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/StackedFormHeadingSkin.mxml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormHeadingSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormHeadingSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/FormLayout.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/FormLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/bundles/en_US/layout.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/assets/RequiredIndicator.png" copyfrom-rev="16235" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/assets/RequiredIndicator.png</path>
<path kind="dir" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/assets" copyfrom-rev="16235" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/assets</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/FormItem.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/FormItem.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/FormHeading.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as</path>

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

--- frameworks/projects/spark/src/spark/components/FormHeading.as
+++ frameworks/projects/spark/src/spark/components/FormHeading.as
@@ -1,203 +1,126 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2010 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
 package spark.components
 {
+
+import spark.components.supportClasses.SkinnableComponent;
+import spark.components.supportClasses.TextBase;
+
+/**
+ *  Alpha level of the background for this component.
+ *  Valid values range from 0.0 to 1.0.
+ *
+ *  @default 1.0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="backgroundAlpha", type="Number", inherit="no", theme="spark")]
+
+/**
+ *  Background color of a component.
+ *
+ *  @default 0xFFFFFF
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="backgroundColor", type="uint", format="Color", inherit="no", theme="spark")]
+
+/**
+ * A simple form item component which contains a label. It is used to
+ * provide a heading to a set of form items. It is basically a FormItem
+ * without any content, sequenceLabel or helpContent. Since it is
+ * a separate class from FormItem, it has a default style
+ * (larger font size) and its own skin.
+ */
+public class FormHeading extends SkinnableComponent
+{
+    public function FormHeading()
+    {
+    }

-    import mx.containers.Canvas;
-    import mx.containers.utilityClasses.ConstraintColumn;
-
-    import spark.components.supportClasses.SkinnableComponent;
-    import spark.components.supportClasses.TextBase;
-
-    /**
-     *  TODO
-     *  - Remove implements IFormItem
-     *  - Remove canvasLayout skin part once FormItemLayout is ready
-     *  - Remove measuredColumnWidths and layoutColumnWidths once
-     *    FormItemLayout and FormLayout are ready
-     *
-     *
-     *  ISSUES:
-     *  - Ideally this would subclass Label, but Label is not a SkinnableComponent
-     *  - Should we use text or label property? (PARB says label)
-     *  - What if we don't implement column spanning?
-     *
-     */
+    //--------------------------------------------------------------------------
+    //
+    //  Skin Parts
+    //
+    //--------------------------------------------------------------------------

     /**
-     * A simple form item component which contains a label. It is used to
-     * provide a heading to a set of form items. It is basically a FormItem
-     * without any content, sequenceLabel or helpContent. Since it is
-     * a separate class from FormItem, it has a default style
-     * (larger font size) and its own skin.
-     */
-    public class FormHeading extends SkinnableComponent implements IFormItem
+     *   A reference to the visual element that displays this FormItem's label.
+     */
+    [Bindable]
+    [SkinPart(required="false")]
+    public var labelDisplay:TextBase;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  label
+    //----------------------------------
+
+    private var _label:String = "";
+
+    [Bindable("labelChanged")]
+    [Inspectable(category="General", defaultValue="")]
+
+    /**
+     *  Text to display in the FormHeading
+     *
+     *  @default ""
+     */
+    public function get label():String
     {
-        public function FormHeading()
-        {
-        }
+        return _label;
+    }
+
+    /**
+     *  @private
+     */
+    public function set label(value:String):void
+    {
+        if (_label == value)
+            return;

-        //--------------------------------------------------------------------------
-        //
-        //  Skin Parts
-        //
-        //--------------------------------------------------------------------------
+        _label = value;

-        /**
-         *   A reference to the visual element that displays this FormItem's label.
-         */
-        [Bindable]
-        [SkinPart(required="false")]
-        public var labelDisplay:TextBase;
+        if (labelDisplay)
+            labelDisplay.text = label;
+        dispatchEvent(new Event("labelChanged"));
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function partAdded(partName:String, instance:Object):void
+    {
+        super.partAdded(partName, instance);

-
-        [SkinPart(required="false")]
-        public var canvasLayout:Canvas;
-
-        private var _measuredColumnWidths:Vector.<Number>;
-        //private var measuredColumnWidthsChanged:Boolean = false;
-
-        /**
-         *  Used by layout to get the measured column widths
-         */
-        public function set measuredColumnWidths(value:Vector.<Number>):void
-        {
-            _measuredColumnWidths = value;
-            /*measuredColumnWidthsChanged = true;
-            invalidateProperties();*/
-        }
-
-        public function get measuredColumnWidths():Vector.<Number>
-        {
-            // TODO For now, just return the canvas's constraintColumns
-            var measuredCols:Vector.<Number> = new Vector.<Number>;
-            var columns:Array = canvasLayout.constraintColumns;
-
-            for (var i:int = 0; i < columns.length; i++)
-            {
-                var column:ConstraintColumn = columns[i];
-                if (columns[i] != undefined)
-                    measuredCols.push(columns[i].width);
-            }
-
-            return measuredCols;
-            //return _measuredColumnWidths;
-        }
-
-        private var _layoutColumnWidths:Vector.<Number>;
-        private var layoutColumnWidthsChanged:Boolean = false;
-
-        /**
-         *  Used by layout to set the column widths
-         */
-        public function set layoutColumnWidths(value:Vector.<Number>):void
-        {
-            _layoutColumnWidths = value;
-            layoutColumnWidthsChanged = true;
-            invalidateProperties();
-        }
-
-        public function get layoutColumnWidths():Vector.<Number>
-        {
-            return _layoutColumnWidths;
-        }
-
-        //--------------------------------------------------------------------------
-        //
-        //  Properties
-        //
-        //--------------------------------------------------------------------------
-
-        //----------------------------------
-        //  label
-        //----------------------------------
-
-        private var _label:String = "";
-        private var labelChanged:Boolean = false;
-
-        [Bindable("labelChanged")]
-        [Inspectable(category="General", defaultValue="")]
-
-        /**
-         *  Text to display in the FormHeading
-         *
-         *  @default ""
-         */
-        public function get label():String
-        {
-            return _label;
-        }
-
-        /**
-         *  @private
-         */
-        public function set label(value:String):void
-        {
-            if (_label == value)
-                return;
-
-            _label = value;
-            labelChanged = true;
-            invalidateProperties();
-        }
-
-        //--------------------------------------------------------------------------
-        //
-        //  Overridden Methods
-        //
-        //--------------------------------------------------------------------------
-
-        /**
-         *  @private
-         */
-        override protected function partAdded(partName:String, instance:Object):void
-        {
-            super.partAdded(partName, instance);
-
-            if (instance == labelDisplay)
-                labelDisplay.text = label;
-        }
-
-        /**
-         *  @private
-         */
-        override protected function commitProperties():void
-        {
-            super.commitProperties();
-
-            if (layoutColumnWidthsChanged)
-            {
-                layoutColumnWidthsChanged = false;
-                if (canvasLayout)
-                    applyConstraintColumns(_layoutColumnWidths);
-            }
-            if (labelChanged)
-            {
-                labelChanged = false;
-                if (labelDisplay)
-                    labelDisplay.text = label;
-            }
-        }
-
-        // TODO Remove once we switch from Canvas to FormItemLayout
-        private function applyConstraintColumns(columns:Vector.<Number>):void
-        {
-            if (!columns)
-                return;
-
-            // TODO apply columns to canvasLayout
-            if (columns.length != canvasLayout.constraintColumns.length)
-            {
-                trace("FormItem.applyConstraintColumns lengths don't match");
-                return;
-            }
-
-
-            for (var i:int = 0; i < columns.length; i++)
-            {
-                var column:ConstraintColumn = canvasLayout.constraintColumns[i];
-                if (columns[i] != undefined)
-                    column.width = columns[i];
-                //column.setActualWidth(columns[i]);
-            }
-        }
+        if (instance == labelDisplay)
+            labelDisplay.text = label;
     }
+}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 5288
Author:   rfrishbe@adobe.com
Date:     2009-03-13T01:44:49.712909Z

Log Message:
-----------
A bunch of small bug fixes.

- DataGroup bug around a visualelement being moved to another datagroup (SDK-19680)

- Added removeAllElements method to IVisualElementContainer (SDK-19424)

- Fix up ASDoc/RTE messages for Group/DataGroup/FxContainer when calling addChild(), removeChild(), etc... (SDK-19582)

- Added an mx_internal method, specifically for automation, so mouse event listeners can get added to a Container without adding a mouseshield and changing the behavior of the component (SDK-18864)

- When both skinClass and skinFactory are set, the skin doesn't get reloaded properly when skinFactory changes when it's a non-ClassFactory (SDK-19450)

- autoLayout and typicalItem properties weren't getting proxied properly on FxDataContainer (SDK-19799)

- Tabbing through two focusable items, when one of those items is partially "offscreen", starts the tab loop with the second item instead of the first (SDK-17283)

- Add Icon file for FxVideoDisplay and VideoElement.

- Also fixed up some ASDoc versioning info for stuff that was added in the Flex 4 timeframe but was actually added to the framework project and not the flex4 project.

- Also renaming Group.setMxmlContent -> Group.setMXMLContent to follow proper naming conventions.

QE Notes: I'll update the bug files and let you know which ones we need to add tests for
Doc Notes: -
Bugs: SDK-19680, SDK-19424, SDK-19582, SDK-18864, SDK-19450, SDK-19799, SDK-17283
Reviewer: Jason reviewed most of the changes, Alex reviewed the FocusManager change
tests: checkintests, mustella Group, DataGroup, FxComponent

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/bundles/en_US/components.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElementContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVideoDisplay.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVideoDisplay.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/VideoElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/VideoElement.png</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/flex4/src/mx/components/FxContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>

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

--- frameworks/projects/spark/src/spark/components/VideoPlayer.as
+++ frameworks/projects/spark/src/spark/components/VideoPlayer.as
@@ -233,7 +233,7 @@

 [DefaultProperty("source")]

-//[IconFile("VideoDisplay.png")]
+[IconFile("FxVideoDisplay.png")]

 /**
  *  The FxVideoDisplay class is skinnable video player that supports


Transferred from the Adobe Open Source Subversion Repository

Revision: 12481
Author:   rfrishbe@adobe.com
Date:     2009-12-04T02:48:17.899082Z

Log Message:
-----------
Because of the Change/Changing changes in VideoPlayer, we need to also listen for a CHANGE as well as the CHANGE_END, CHANGE_START, THUMB_PRESS, and THUMB_RELEASE events.

Also, when clicking on the track and animating, the scrubbar's playedArea should move along with the thumb.  We do this by using pendingValue, rather than value in updateSkinDisplayList().

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

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

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

--- frameworks/projects/spark/src/spark/components/VideoPlayer.as
+++ frameworks/projects/spark/src/spark/components/VideoPlayer.as
@@ -1559,8 +1559,15 @@
             if (videoDisplay)
                 updateScrubBar();

+            // add thumbPress and thumbRelease so we pause the video while dragging
             scrubBar.addEventListener(TrackBaseEvent.THUMB_PRESS, scrubBar_thumbPressHandler);
             scrubBar.addEventListener(TrackBaseEvent.THUMB_RELEASE, scrubBar_thumbReleaseHandler);
+
+            // add change to actually seek() when the change is complete
+            scrubBar.addEventListener(Event.CHANGE, scrubBar_changeHandler);
+
+            // add changeEnd and changeStart so we don't update the scrubbar's value
+            // while the scrubbar is moving around due to an animation
             scrubBar.addEventListener(FlexEvent.CHANGE_END, scrubBar_changeEndHandler);
             scrubBar.addEventListener(FlexEvent.CHANGE_START, scrubBar_changeStartHandler);
         }
@@ -1706,6 +1713,7 @@
         {
             scrubBar.removeEventListener(TrackBaseEvent.THUMB_PRESS, scrubBar_thumbPressHandler);
             scrubBar.removeEventListener(TrackBaseEvent.THUMB_RELEASE, scrubBar_thumbReleaseHandler);
+            scrubBar.removeEventListener(Event.CHANGE, scrubBar_changeHandler);
             scrubBar.removeEventListener(FlexEvent.CHANGE_END, scrubBar_changeEndHandler);
             scrubBar.removeEventListener(FlexEvent.CHANGE_START, scrubBar_changeStartHandler);
         }
@@ -2308,10 +2316,16 @@
     /**
      *  @private
      */
+    private function scrubBar_changeHandler(event:Event):void
+    {
+        seek(scrubBar.value);
+    }
+
+    /**
+     *  @private
+     */
     private function scrubBar_changeEndHandler(event:Event):void
-    {
-        seek(scrubBar.value);
-
+    {
         scrubBarChanging = false;
     }
 }


adding in local domain cookies to headers; firefox 3.5.7 now sends Cookie as header

--- flash-src/WebSocket.as
+++ flash-src/WebSocket.as
@@ -114,6 +114,10 @@
     main.log("connected");
     var hostValue:String = host + (port == 80 ? "" : ":" + port);
     var opt:String = "";
+
+    var cookie:String;
+    cookie = ExternalInterface.call("function(){return document.cookie}");
+
     if (protocol) opt += "WebSocket-Protocol: " + protocol + "\r\n";
     var req:String = StringUtil.substitute(
       "GET {0} HTTP/1.1\r\n" +
@@ -121,9 +125,10 @@
       "Connection: Upgrade\r\n" +
       "Host: {1}\r\n" +
       "Origin: {2}\r\n" +
+      "Cookie: {4}\r\n" +
       "{3}" +
       "\r\n",
-      path, hostValue, origin, opt);
+      path, hostValue, origin, opt, cookie);
     main.log("request header:\n" + req);
     socket.writeUTFBytes(req);
     socket.flush();


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 17334
Author:   klin@adobe.com
Date:     2010-08-16T19:24:49.687402Z

Log Message:
-----------
Fix dataProvider update bug in DataGrid. The GridLayout needs to handle updates to objects inside the dataProvider by freeing itemRenderers that refer to that data.

Also, cleaned up and added some documentation.

QE notes: No
Doc notes: No
Bugs: SDK-27069
Reviewer: Hans
Tests run: checkintests, DataGrid
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridDimensions.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/supportClasses/GridRowNode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Form.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridRowList.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridRowList.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridRowList.as
@@ -6,8 +6,13 @@
 import mx.collections.ArrayCollection;

 /**
- *  Open LinkedList implementation for representing
- *  row heights in a Grid.
+ *  Open LinkedList implementation for representing row heights in a Grid
+ *  where each GridRowNode represents a row in the Grid.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
  */
 public class GridRowList
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17334
Author:   klin@adobe.com
Date:     2010-08-16T19:24:49.687402Z

Log Message:
-----------
Fix dataProvider update bug in DataGrid. The GridLayout needs to handle updates to objects inside the dataProvider by freeing itemRenderers that refer to that data.

Also, cleaned up and added some documentation.

QE notes: No
Doc notes: No
Bugs: SDK-27069
Reviewer: Hans
Tests run: checkintests, DataGrid
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridDimensions.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/supportClasses/GridRowNode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Form.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridRowList.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridRowNode.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridRowNode.as
@@ -4,8 +4,13 @@
 [ExcludeClass]

 /**
- *  A GridRowNode contains the heights of each cell
- *  for the row at rowIndex.
+ *  A GridRowNode contains the heights of each cell for the row at rowIndex
+ *  as well as the maximum height of the row's cells.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
  */
 public final class GridRowNode
 {
@@ -35,13 +40,16 @@
     private var _numColumns:uint;

     /**
-     *  Number of columns
+     *  Number of columns in this row.
      */
     public function get numColumns():uint
     {
         return _numColumns;
     }

+    /**
+     *  @private
+     */
     public function set numColumns(value:uint):void
     {
         if (value == _numColumns)


Transferred from the Adobe Open Source Subversion Repository

Revision: 15315
Author:   klin@adobe.com
Date:     2010-04-09T21:31:18.677829Z

Log Message:
-----------
Merge 15313 from 4.x to trunk.

Fix for http://bugs.adobe.com/jira/browse/SDK-23296 and http://bugs.adobe.com/jira/browse/SDK-26069. List was throwing an RTE because selectedItems was not being updated when the dataProvider is filtered and refreshed. List was also returning null selectedItems and selectedIndices if nothing was selected before instead of an empty vector.

We now clear selection whenever a refresh happens to account for sorting/filtering. Because we only keep the selectedIndex around, we have no way of recovering the correct selection after sorting or filtering. I've also changed the selectedItems/Indices setters and getters to return an empty vector to avoid some RTEs when users grab those values.

QE notes: No
Doc notes: No
Bugs: SDK-23296, SDK-26069
Reviewer: Jason
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</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/components/supportClasses/ListBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -15,6 +15,7 @@
 import flash.events.Event;

 import mx.collections.IList;
+import mx.core.FlexVersion;
 import mx.core.IVisualElement;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
@@ -1330,9 +1331,13 @@
                     invalidateProperties();
                 }
             }
+            else if (ce.kind == CollectionEventKind.REFRESH)
+            {
+                setSelectedIndex(NO_SELECTION, false);
+                setCurrentCaretIndex(NO_CARET);
+            }
             else if (ce.kind == CollectionEventKind.REPLACE ||
-                ce.kind == CollectionEventKind.MOVE ||
-                ce.kind == CollectionEventKind.REFRESH)
+                ce.kind == CollectionEventKind.MOVE)
             {
                 //These cases are handled by the DataGroup skinpart
             }


fixed loading progress count error.

fixed loading progress count error.

--- src/net/manaca/loaderqueue/LoaderProgress.as
+++ src/net/manaca/loaderqueue/LoaderProgress.as
@@ -133,7 +133,10 @@
         for (var i:int = 0; i < itemsLen; i++)
         {
             loader = items[i];
-            tp += loader.bytesLoaded / loader.bytesTotal;
+            if(!isNaN(loader.bytesLoaded / loader.bytesTotal))
+            {
+                tp += loader.bytesLoaded / loader.bytesTotal;
+            }
         }
         _totalProgress = tp / itemsLen;
         dispatchEvent(new Event(Event.CHANGE));


made guessSortMode() slightly more robust

--- WeaveCore/src/weave/compiler/StandardLib.as
+++ WeaveCore/src/weave/compiler/StandardLib.as
@@ -666,7 +666,7 @@
 						_sortBuffer[i][p] = array[i][param];

 				fields[p] = p;
-				fieldOptions[p] = Array.RETURNINDEXEDARRAY | guessSortMode(_sortBuffer[0][p]) | sortDirection;
+				fieldOptions[p] = Array.RETURNINDEXEDARRAY | guessSortMode(_sortBuffer, p) | sortDirection;
 			}

 			values = _sortBuffer.slice(0, array.length);
@@ -690,12 +690,18 @@
 		}

 		/**
-		 * Guesses the appropriate Array.sort() mode based on a sample item from an Array.
+		 * Guesses the appropriate Array.sort() mode based on the first non-undefined item property from an Array.
 		 * @return Either Array.NUMERIC or 0.
 		 */
-		private static function guessSortMode(sampleItem:Object):int
-		{
-			return sampleItem is Number || sampleItem is Date ? Array.NUMERIC : 0;
+		private static function guessSortMode(array:Object, itemProp:*):int
+		{
+			for each (var item:* in array)
+			{
+				var value:* = item[itemProp];
+				if (value !== undefined)
+					return value is Number || value is Date ? Array.NUMERIC : 0;
+			}
+			return 0;
 		}

 		/**


Transferred from the Adobe Open Source Subversion Repository

Revision: 2863
Author:   dloverin@adobe.com
Date:     2008-08-16T03:28:51.231298Z

Log Message:
-----------
Changes recommend from API review.

QE: YES
Doc: YES
Checkintests: YES
Reviewer:
Bugs:

Move APIs from IFocusManager2 into IFocusManager and remove IFocusManager2.
Rename SandboxUtil -> SecurityUtil
* mx.utils.SecurityUtil
Remove hasMutualTrustWithParent()
Remove hasMutualTrustWithChild()
Add hasMutualTrustBetweenParentAndChild()

Rename SWFLoader.compatibleLoad -> SWFLoader.loadForCompatibility
Create mx.managers.FocusDirection
Rename SystemManager.dispatchEventToSandboxes -> SystemManager.dispatchEventFromSWFBridges

* mx.managers.IFocusManager

addFocusManagerBridge() -> addSWFBridge
removeFocusManagerBridge() -> removeSWFBridge

* mx.managers.SystemManagerProxy
activateProxy() -> activateByProxy()
deactivateProxy() -> deactivateByProxy()

* mx.managers.ISystemManager
useBridge() -> useSWFBridge()

Move/Rename mx.sandbox.ISandboxBridgeProvider -> mx.core.ISWFBridgeProvider
Move/Rename mx.sandbox.ISandboxBridgeGroup -> mx.core.ISWFBridgeGroup
Move/Rename mx.sandbox.SandboxBridgeGroup -> mx.core.SWFBridgeGroup

Delete ISandboxGroupAccess, IParentAccess, IChildAccess

Rename many methods in mx.core.ISWFBridgeGroup
Rename mx.core.IAppliationLoader -> mx.core.ISWFLoader

* mx.core.ISWFBridgeProvider
Rename sandboxBridge -> swfBridge
add parentAllowsChild property
add childAllowsParent property

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/utils/SandboxUtil.as" copyfrom-rev="2851" action="A">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/utils/SecurityUtil.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="A">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/managers/FocusDirection.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/utils/EventUtil.as</path>
<path kind="file" action="A">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/core/SandboxBridgeGroup.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/managers/IFocusManager.as</path>
<path kind="file" action="A">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/core/SWFBridgeGroup.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/managers/IFocusManagerContainer.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/core/IContainer.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/core/IApplicationLoader.as" copyfrom-rev="2851" action="A">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/core/ISWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="A">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/core/ISWFBridgeProvider.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="A">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as</path>
<path kind="file" action="D">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/core/IApplicationLoader.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/FocusRequest.as</path>
<path kind="file" action="D">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/utils/SandboxUtil.as</path>
<path kind="dir" action="D">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/sandbox</path>
<path kind="file" action="D">/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/managers/IFocusManager2.as</path>

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

--- frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as
+++ frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as
@@ -0,0 +1,101 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+import flash.display.DisplayObject;
+import flash.events.IEventDispatcher;
+
+/**
+ *  A sandbox bridge group is a group of bridges that represent
+ *  applications this application may communicate with.
+ *  This application may not share memory with, or may not have access to,
+ *  the other applications in the group, but uses the bridge
+ *  to communicate with these applications.
+ */
+public interface ISWFBridgeGroup
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  parentBridge
+    //----------------------------------
+
+    /**
+     *  The bridge that is used to communicate
+     *  with this group's parent application.
+     */
+    function get parentBridge():IEventDispatcher;
+
+    /**
+     *  @private
+     */
+    function set parentBridge(bridge:IEventDispatcher):void;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Adds a new bridge to the pod.
+     *
+     *  @param bridge The bridge to communicate with the child content.
+     *
+     *  @param bridgeProvider The display object that loaded the content
+     *  represented by the bridge. Usually this is will an instance of SWFLoader.
+     */
+    function addChildBridge(bridge:IEventDispatcher, bridgeProvider:ISWFBridgeProvider):void;
+
+    /**
+     *  Removes the child bridge.
+     *
+     *  @param bridge The bridge to remove.
+     */
+    function removeChildBridge(bridge:IEventDispatcher):void;
+
+    /**
+     *  Gets the owner of a bridge and also the DisplayObject
+     *  that loaded the child.
+     *  This method is useful when an event is received
+     *  and the event.target is the bridge.
+     *  The bridge can then be converted into the owning DisplayObject.
+     *
+     *  @param bridge Documentation is not currently available.
+     *
+     *  @return The object that loaded the child.
+     */
+    function getChildBridgeProvider(bridge:IEventDispatcher):ISWFBridgeProvider;
+
+    /**
+     *  Gets all of the child bridges in this group.
+     *
+     *  @return An array of all the child bridges in this group.
+     *  Each object in the array is of type IEventDispatcher
+     */
+    function getChildBridges():Array /* of IEventDispatcher */;
+
+    /**
+     *  Tests if the given bridge is one of the sandbox bridges in this group.
+     *
+     *  @return true if the handle is found,
+     *  and false otherwise.
+     */
+    function containsBridge(bridge:IEventDispatcher):Boolean;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 16236
Author:   jszeto@adobe.com
Date:     2010-05-20T00:54:54.963159Z

Log Message:
-----------
Form Feature Work

Merging in Form classes from the private sandbox. All spec'ed functionality has been implemented.

QE notes: none
Doc notes: Needs ASDoc comments
Bugs: none
Reviewer: Hans, Kevin
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/FormItemLayout.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/FormItemLayout.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/assets/ErrorIndicator.png" copyfrom-rev="16235" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/assets/ErrorIndicator.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.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/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/StackedFormItemSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/StackedFormItemSkin.mxml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/Form.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Form.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormItemSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormItemSkin.mxml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/StackedFormHeadingSkin.mxml" copyfrom-rev="16047" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/StackedFormHeadingSkin.mxml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormHeadingSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormHeadingSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/FormLayout.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/FormLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/bundles/en_US/layout.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/assets/RequiredIndicator.png" copyfrom-rev="16235" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/assets/RequiredIndicator.png</path>
<path kind="dir" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/assets" copyfrom-rev="16235" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/assets</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/FormItem.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/FormItem.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/FormHeading.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as</path>

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

--- frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as
+++ frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as
@@ -131,7 +131,7 @@
         rect.width = bitmap.width;
         rect.height = bitmap.height;
         // If the focusObject has an errorString, use "errorColor" instead of "focusColor"
-        if (target.errorString != null && target.errorString != "")
+        if (target.errorString != null && target.errorString != "" && target.getStyle("showErrorSkin"))
         {
             glowFilter.color = target.getStyle("errorColor");
         }


Updated with better descriptions of which constants apply to which platforms, and added the OUYA/XBox descriptions

--- com/zehfernando/input/binding/GamepadControls.as
+++ com/zehfernando/input/binding/GamepadControls.as
@@ -8,155 +8,159 @@

 		/* Directional pad LEFT
 		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const DPAD_LEFT:String = "BUTTON_21";

 		/* Directional pad RIGHT
 		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const DPAD_RIGHT:String = "BUTTON_22";

 		/* Directional pad UP
 		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const DPAD_UP:String = "BUTTON_19";

 		/* Directional pad DOWN
 		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const DPAD_DOWN:String = "BUTTON_20";

 		/* Directional pad LEFT
 		 *
Style: pressure-sensitive/analog

-		 *
Works in: Playstation DS3

+		 *
Works in: Playstation DS3 (OUYA)

 		 */
 		public static const DPAD_LEFT_SENSITIVE:String = "BUTTON_39"; // TODO: this wasn't working. Must test.

 		/* Directional pad RIGHT
 		 *
Style: pressure-sensitive/analog

-		 *
Works in: Playstation DS3

+		 *
Works in: Playstation DS3 (OUYA)

 		 */
 		public static const DPAD_RIGHT_SENSITIVE:String = "BUTTON_37";

 		/* Directional pad UP
 		 *
Style: pressure-sensitive/analog

-		 *
Works in: Playstation DS3

+		 *
Works in: Playstation DS3 (OUYA)

 		 */
 		public static const DPAD_UP_SENSITIVE:String = "BUTTON_36";

 		/* Directional pad DOWN
 		 *
Style: pressure-sensitive/analog

-		 *
Works in: Playstation DS3

+		 *
Works in: Playstation DS3 (OUYA)

 		 */
 		public static const DPAD_DOWN_SENSITIVE:String = "BUTTON_38";

 		/* Shoulder button, upper left (LEFT 1)
 		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const L1:String = "BUTTON_102";

 		/* Shoulder button, upper right (RIGHT 1)
 		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const R1:String = "BUTTON_103";

 		/* Shoulder button, lower left (LEFT 2)
 		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA)

 		 */
 		public static const L2:String = "BUTTON_104";

 		/* Should button, lower right (RIGHT 2)
 		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA)

+		 *
Note: this doesn't work on the XBox 360 Controller (OUYA). Use L2_SENSITIVE instead.

 		 */
 		public static const R2:String = "BUTTON_105";

 		/* Left stick press (LEFT 3)
 		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

+		 *
Note: this doesn't work on the XBox 360 Controller (OUYA). Use R2_SENSITIVE instead.

 		 */
 		public static const L3:String = "BUTTON_106";

 		/* Right stick press (RIGHT 3)
 		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const R3:String = "BUTTON_107";

 		/* Shoulder button, lower left (LEFT 2)
 		 *
Style: pressure-sensitive/analog

-		 *
Works in: OUYA Controller, Playstation DS3

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const L2_SENSITIVE:String = "AXIS_17";

 		/* Shoulder button, lower right (RIGHT 2)
 		 *
Style: pressure-sensitive/analog

-		 *
Works in: OUYA Controller, Playstation DS3

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const R2_SENSITIVE:String = "AXIS_18";

-		/* Left analog stick, horizontal (X) axis
-		 *
Style: pressure-sensitive/analog

-		 *
Works in: OUYA Controller, Playstation DS3

+		/* Left analog stick, horizontal (X) axis. The value received is for a left-to-right position.
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const STICK_LEFT_X:String = "AXIS_0";

-		/* Left analog stick, vertical (Y) axis
-		 *
Style: pressure-sensitive/analog

-		 *
Works in: OUYA Controller, Playstation DS3

+		/* Left analog stick, vertical (Y) axis. The value received is for a up-to-down position.
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const STICK_LEFT_Y:String = "AXIS_1";

-		/* Right analog stick, horizontal (X) axis
-		 *
Style: pressure-sensitive/analog

-		 *
Works in: OUYA Controller, Playstation DS3

+		/* Right analog stick, horizontal (X) axis. The value received is for a left-to-right position.
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const STICK_RIGHT_X:String = "AXIS_11";

-		/* Right analog stick, vertical (Y) axis
-		 *
Style: pressure-sensitive/analog

-		 *
Works in: OUYA Controller, Playstation DS3

+		/* Right analog stick, vertical (Y) axis. The value received is for a up-to-down position.
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const STICK_RIGHT_Y:String = "AXIS_14";

-		/* Action button, down (O in the OUYA, cross in the Playstation)
-		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

+		/* Action button, down (O/green in the OUYA, Cross/blue in the Playstation, A/green in the XBox 360)
+		 *
Style: digital

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const BUTTON_ACTION_DOWN:String = "BUTTON_96";

-		/* Action button, right (A in the OUYA, circle in the Playstation)
-		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

+		/* Action button, right (A/red in the OUYA, Circle/red in the Playstation, B/red in the XBox 360)
+		 *
Style: digital

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

 		 */
 		public static const BUTTON_ACTION_RIGHT:String = "BUTTON_97";

-		/* Action button, up (Y in the OUYA, triangle in the Playstation)
-		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

-		 */
-		public static const BUTTON_ACTION_UP:String = "BUTTON_99";
-
-		/* Action button, left (U in the OUYA, square in the Playstation)
-		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

-		 */
-		public static const BUTTON_ACTION_LEFT:String = "BUTTON_100";
+		/* Action button, up (Y/yellow in the OUYA, Triangle/green in the Playstation, Y/yellow in the XBox 360)
+		 *
Style: digital

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

+		 */
+		public static const BUTTON_ACTION_UP:String = "BUTTON_100";
+
+		/* Action button, left (U/blue in the OUYA, Square/purple in the Playstation, X/blue in the XBox 360)
+		 *
Style: digital

+		 *
Works in: OUYA Controller (OUYA), Playstation DS3 (OUYA), XBox 360 Controller (OUYA)

+		 */
+		public static const BUTTON_ACTION_LEFT:String = "BUTTON_99";

 		/* Start button
 		 *
Style: digital

-		 *
Works in: Playstation DS3

+		 *
Works in: Playstation DS3 (OUYA)

+		 *
Note: this is also present on the XBox 360 controller (OUYA), but never used.

 		 */
 		public static const START:String = "BUTTON_108";

-		// Unknowns
+
+		// Unknowns: listed in some device but never used

 		/* Unknown control; declared by the GameInput API, but never used
 		 *
Style: ?

@@ -182,101 +186,102 @@
 		 */
 		public static const BUTTON_UNKNOWN_BUTTON_35:String = "BUTTON_35";

-		// These were tested on PC only and may change
-
-		/* Action button, down (green)
-		 *
Style: digital

-		 *
Works in: XBox 360 Controller

+
+		// PC-only. Move to a separate class?
+
+		/* Action button, down (A/green)
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_BUTTON_ACTION_A:String = "BUTTON_4";

-		/* Action button, right (red)
-		 *
Style: digital

-		 *
Works in: XBox 360 Controller

+		/* Action button, right (B/red)
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_BUTTON_ACTION_B:String = "BUTTON_5";

-		/* Action button, up (yellow)
-		 *
Style: digital

-		 *
Works in: XBox 360 Controller

+		/* Action button, up (Y/yellow)
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_BUTTON_ACTION_Y:String = "BUTTON_7";

-		/* Action button, left (blue)
-		 *
Style: digital

-		 *
Works in: XBox 360 Controller

+		/* Action button, left (X/blue)
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_BUTTON_ACTION_X:String = "BUTTON_6";

 		/* Shoulder button, upper left (LEFT 1)
 		 *
Style: digital

-		 *
Works in: OUYA Controller, Playstation DS3

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_L1:String = "BUTTON_8";

 		/* Shoulder button, upper right (RIGHT 1)
 		 *
Style: digital

-		 *
Works in: XBox 360 Controller

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_R1:String = "BUTTON_9";

 		/* Shoulder button, lower left (LEFT 2)
 		 *
Style: pressure-sensitive/analog

-		 *
Works in: XBox 360 Controller

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_L2_SENSITIVE:String = "BUTTON_10";

 		/* Shoulder button, lower right (RIGHT 2)
 		 *
Style: pressure-sensitive/analog

-		 *
Works in: XBox 360 Controller

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_R2_SENSITIVE:String = "BUTTON_11";

 		/* Left stick press (LEFT 3)
 		 *
Style: digital

-		 *
Works in: XBox 360 Controller

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_L3:String = "BUTTON_14";

 		/* Right stick press (RIGHT 3)
 		 *
Style: digital

-		 *
Works in: XBox 360 Controller

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_R3:String = "BUTTON_15";

 		/* Directional pad LEFT
 		 *
Style: digital

-		 *
Works in: XBox 360 Controller

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_DPAD_LEFT:String = "BUTTON_18";

 		/* Directional pad RIGHT
 		 *
Style: digital

-		 *
Works in: XBox 360 Controller

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_DPAD_RIGHT:String = "BUTTON_19";

 		/* Directional pad UP
 		 *
Style: digital

-		 *
Works in: XBox 360 Controller

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_DPAD_UP:String = "BUTTON_16";

 		/* Directional pad DOWN
 		 *
Style: digital

-		 *
Works in: XBox 360 Controller

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_DPAD_DOWN:String = "BUTTON_17";

 		/* BACK middle game controller button
 		 *
Style: digital

-		 *
Works in: XBox 360 Controller

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_BACK:String = "BUTTON_12";

 		/* START middle game controller button
 		 *
Style: digital

-		 *
Works in: XBox 360 Controller

+		 *
Works in: XBox 360 Controller (Windows)

 		 */
 		public static const XBOX_START:String = "BUTTON_13";


Fixed setting sources

Fixed setting sources

--- src/Components/Wire.as
+++ src/Components/Wire.as
@@ -42,13 +42,14 @@
 				path.push(pathEnd = nextPoint);
 			}

+			while (path.length > 1 && !validPosition())
+				path.pop();
+
 			lastPathEnd = path[path.length - 1];
 			return true;
 		}

 		protected function endDrawing():void {
-			while (path.length > 1 && !validPosition())
-				path.pop();
 			if (path.length > 1) {
 				exists = true;
 				connections = new Vector.<Carrier>;
@@ -147,7 +148,10 @@
 		}

 		public function setSource(source:Port):void {
-			source = source;
+			this.source = source;
+			for each (var connection:Carrier in connections)
+				if (!connection.getSource())
+					connection.setSource(source);
 		}

 		public function addConnection(connection:Carrier):void {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3756
Author:   gruehle@adobe.com
Date:     2008-10-20T21:38:18.681299Z

Log Message:
-----------
Adding placeholder icons for the Gumbo components that appear in the FB components panel. Where possible, these are simply copies of the Halo icons. There were some that didn't have a direct Halo counterpart, so the closest match was chosen.

QE Notes: None
Doc Notes: None
Bugs: SDK-17668
Reviewer: -

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextInput.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/HGroup.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/VGroup.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/HGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxCheckBox.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButton.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxCheckBox.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextArea.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.png</path>

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

--- frameworks/projects/spark/src/spark/components/ToggleButton.as
+++ frameworks/projects/spark/src/spark/components/ToggleButton.as
@@ -35,6 +35,8 @@

 // TODO EGeorgie: figure out whether we need this?
 [DefaultBindingProperty(source="selected", destination="label")]
+
+[IconFile("FxToggleButton.png")]

 /**
  *  The FxToggleButton component defines a toggle button.


Transferred from the Adobe Open Source Subversion Repository

Revision: 5216
Author:   rfrishbe@adobe.com
Date:     2009-03-10T01:49:28.576902Z

Log Message:
-----------
Getting rid of some compiler warnings.  In one case the compiler just wanted us to be more explicit around checks for null.  Another is caused by SDK-13070.

QE Notes: -
Doc Notes: -
Bugs: -
Reviewer: None
tests: checkintests

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

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

--- frameworks/projects/spark/src/spark/components/VideoDisplay.as
+++ frameworks/projects/spark/src/spark/components/VideoDisplay.as
@@ -288,7 +288,8 @@
      */
     public function get autoRewind():Boolean
     {
-        return mx_internal::videoPlayer.autoRewind;
+        var myVideoPlayer:VideoPlayer = mx_internal::videoPlayer;
+        return myVideoPlayer.autoRewind;
     }

     public function set autoRewind(value:Boolean):void


add annotate

add annotate

--- common1/src/nt/lib/util/assert.as
+++ common1/src/nt/lib/util/assert.as
@@ -1,7 +1,12 @@
 package nt.lib.util
 {
 	import flash.system.Capabilities;
-
+/**
+ *debug异常抛出类
+ *@param b 值为flase则抛出异常
+ *@param m 如果错误类为空则抛出该错误信息
+ *@param errorClass 错误类
+ */
 	[Inline]
 	public function assert(b:Boolean, m:String = "", errorClass:Class = null):void
 	{


We are putting the preview in the MediaSettings, not the Playloader settings.

--- flash/com/mediafront/utils/PlayLoaderSettings.as
+++ flash/com/mediafront/utils/PlayLoaderSettings.as
@@ -34,6 +34,5 @@
       }

       public var playLoader:String = "playLoader";
-      public var preview:String = "";
    }
 }


Avatar write support
http://www.igniterealtime.org/community/thread/40952

git-svn-id: c197267f952b24206666de142881703007ca05d5@11602 b35dd754-fafc-0310-a699-88a17e54d16e

--- src/org/igniterealtime/xiff/vcard/VCard.as
+++ src/org/igniterealtime/xiff/vcard/VCard.as
@@ -216,6 +216,7 @@

 		/**
 		 * Version of the VCard. Usually 2.0 or 3.0.
+		 * @see http://xmpp.org/extensions/xep-0054.html#impl
 		 */
 		public var version:Number;

@@ -268,6 +269,12 @@
 		 *
 		 */
 		private var _avatar:DisplayObject;
+
+		/**
+		 *
+		 * @hint for saving avatar
+		 */
+		private var _avatarType:String;

 		/**
 		 *
@@ -391,14 +398,26 @@
 		}

 		/**
-		 * Get the byte array to be used with a Loader.loadBytes or similar.
-		 * @return Avatar bytes if any
+		 * The byte array to be used with a Loader.loadBytes or similar.
 		 */
 		public function get avatar():ByteArray
 		{
 			return _imageBytes;
 		}
-
+		public function set avatar( value:ByteArray ) : void
+		{
+			_imageBytes = value;
+		}
+
+		/**
+		 * The image type of the avatar. Used for saving the image.
+		 * If this is blank, the avatar will not be saved.
+		 */
+		public function set avatarType( value:String ) : void
+		{
+			_avatarType = value;
+		}
+
 		/**
 		 * Deserializes the incoming IQ to fill the values of this vcard.
 		 * @param iq
@@ -572,7 +591,14 @@

 					case "AGE":
 						break;
-
+
+					//there is some ambiguity surrounding how vCard versions are handled
+					//so we need to check it here as well as looking for the attribute
+					//as above.  SEE:  http://xmpp.org/extensions/xep-0054.html#impl
+					case "VERSION":
+						version = Number(child.text());
+						break;
+
 					default:
 						trace( "handleVCard. unhandled case child.name(): " + child.name() );
 						break;
@@ -831,6 +857,38 @@
 				homeVoiceNode.NUMBER = homeVoiceNumber;
 				vcardExtNode.appendChild( homeVoiceNode );
 			}
+
+			if ( avatar != null && _avatarType != null)
+			{
+				var avatarNode:XML = <PHOTO/>
+				var avatarBase64:String;
+
+				try
+				{
+					avatarBase64 = Base64.encodeByteArray(avatar);
+				}
+				catch(err:Error)
+				{
+					throw new Error("VCard:saveVCard Error encoding bytes " + err.getStackTrace());
+				}
+
+				try
+				{
+					var binaryNode:XML = <BINVAL/>;
+					binaryNode.appendChild(avatarBase64);
+					avatarNode.appendChild(binaryNode);
+				}
+				catch(err:Error)
+				{
+					throw new Error("VCard:saveVCard Error converting bytes to string " + err.message);
+				}
+
+				var typeNode:XML = <TYPE/>;
+				typeNode.appendChild(_avatarType);
+				avatarNode.appendChild(typeNode);
+
+				vcardExtNode.appendChild( avatarNode );
+			}

 			iq.addExtension( vcardExt );
 			connection.send( iq );


flash playback: update stage capabilities

--- src/plugins/flash_video_playback/Player.as
+++ src/plugins/flash_video_playback/Player.as
@@ -1,7 +1,7 @@
 package
 {
   import flash.external.ExternalInterface;
-	import flash.display.MovieClip;
+  import flash.display.*;
 	import flash.geom.Rectangle;
 	import flash.events.StageVideoAvailabilityEvent;
 	import flash.media.StageVideoAvailability;
@@ -11,7 +11,6 @@
 	import flash.net.NetStream;

 	public class Player extends MovieClip {
-		private const _videoURL:String = "2698715-web480.mp4";
 		private var _video:Video;
 		private var _stageVideo:StageVideo;
 		private var _ns:NetStream;
@@ -23,6 +22,10 @@
 			_ns = new NetStream(_nc);
 			_ns.client = this;
 			_video = new Video();
+      stage.scaleMode = StageScaleMode.NO_SCALE;
+      stage.align = StageAlign.TOP_LEFT;
+      stage.fullScreenSourceRect = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);
+      stage.displayState = StageDisplayState.NORMAL;
 			stage.addEventListener(StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY, _onStageVideoAvailability);
       setupCallbacks();
 		}
@@ -31,14 +34,14 @@
       ExternalInterface.addCallback("playerPlay", playerPlay);
     }

-    private function playerPlay():void {
-      _ns.play(_videoURL);
+    private function playerPlay(url:String):void {
+      _ns.play(url);
     }

 		private function _enableStageVideo():void {
 			if (_stageVideo == null) {
 				_stageVideo = stage.stageVideos[0];
-				_stageVideo.viewPort = new Rectangle(0, 0, 320, 240);
+				_stageVideo.viewPort = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);
 			}
 			if (_video.parent) {
 				removeChild(_video);


added check for disposed column

added check for disposed column

--- WeaveData/src/weave/data/KeySets/SortedKeySet.as
+++ WeaveData/src/weave/data/KeySets/SortedKeySet.as
@@ -15,22 +15,20 @@

 package weave.data.KeySets
 {
-	import flash.utils.getTimer;
-
+	import weave.api.getCallbackCollection;
+	import weave.api.linkableObjectIsBusy;
+	import weave.api.newLinkableChild;
+	import weave.api.objectWasDisposed;
+	import weave.api.registerLinkableChild;
 	import weave.api.core.ICallbackCollection;
 	import weave.api.core.ILinkableObject;
 	import weave.api.data.IAttributeColumn;
 	import weave.api.data.IColumnStatistics;
 	import weave.api.data.IKeySet;
 	import weave.api.data.IQualifiedKey;
-	import weave.api.getCallbackCollection;
-	import weave.api.linkableObjectIsBusy;
-	import weave.api.newLinkableChild;
-	import weave.api.registerLinkableChild;
 	import weave.compiler.StandardLib;
 	import weave.core.CallbackCollection;
 	import weave.data.QKeyManager;
-	import weave.utils.DebugUtils;

 	/**
 	 * This provides the keys from an existing IKeySet in a sorted order.
@@ -140,6 +138,8 @@
 				for (var i:int = 0; i < columns.length; i++)
 				{
 					var param:Object = columns[i];
+					if (objectWasDisposed(param))
+						continue;
 					if (param is IAttributeColumn)
 					{
 						var stats:IColumnStatistics = WeaveAPI.StatisticsCache.getColumnStatistics(param as IAttributeColumn);


Transferred from the Adobe Open Source Subversion Repository

Revision: 20690
Author:   mhorn@adobe.com
Date:     2011-03-08T20:26:51.755036Z

Log Message:
-----------
ASDoc updates

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/Legend.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/PieChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/PlotChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/series/items/LineSeriesSegment.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/CandlestickChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/HLOCChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/InstanceCache.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/series/BarSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/Series.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/LineChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/BubbleChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/effects/SeriesZoom.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/ColumnChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/DateTimeAxis.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/BarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/AreaChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/ChartElement.as</path>

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

--- frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as
+++ frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as
@@ -265,25 +265,25 @@

         dataTransform = new CartesianTransform();
     }
-
-	private function getLabelClass():Class
-	{
-		var labelClass:Class = getStyle("labelClass");
-
-		if(labelClass == null)
-		{
-			try{
-				labelClass = Class(ApplicationDomain.currentDomain.
-					getDefinition("spark.components::Label"));
-			}
-			catch(e:Error)
-			{
-				labelClass = Class(ApplicationDomain.currentDomain.
-					getDefinition("mx.controls::Label"));
-			}
-		}
-		return labelClass;
-	}
+
+    private function getLabelClass():Class
+    {
+        var labelClass:Class = getStyle("labelClass");
+
+        if(labelClass == null)
+        {
+            try{
+                labelClass = Class(ApplicationDomain.currentDomain.
+                    getDefinition("spark.components::Label"));
+            }
+            catch(e:Error)
+            {
+                labelClass = Class(ApplicationDomain.currentDomain.
+                    getDefinition("mx.controls::Label"));
+            }
+        }
+        return labelClass;
+    }

     //--------------------------------------------------------------------------
@@ -292,11 +292,11 @@
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  @private
-	 */
-	private var _moduleFactoryInitialized:Boolean = false;
-
+    /**
+     *  @private
+     */
+    private var _moduleFactoryInitialized:Boolean = false;
+
     /**
      *  @private
      */
@@ -375,7 +375,7 @@
         return _renderData ? _renderData.filteredCache : null;
     }

-	//----------------------------------
+    //----------------------------------
     //  labelContainer
     //----------------------------------

@@ -522,7 +522,7 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-	public function get fillFunction():Function
+    public function get fillFunction():Function
     {
         return _fillFunction;
     }
@@ -1035,49 +1035,57 @@
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  @private
-	 */
-	private function initStyles():Boolean
-	{
-		HaloDefaults.init(styleManager);
-
-		var columnSeriesStyle:CSSStyleDeclaration =
-			HaloDefaults.createSelector("mx.charts.series.ColumnSeries", styleManager);
-
-		columnSeriesStyle.defaultFactory = function():void
-		{
-			this.fill = new SolidColor(0);
-			this.fills = [];
-			this.itemRenderer = new ClassFactory(BoxItemRenderer);
-			this.stroke = HaloDefaults.emptyStroke;
-			this.labelSizeLimit = 9;
-		}
-
-		return true;
-	}
-
-	/**
-	 *  @inheritDoc
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	override public function set moduleFactory(factory:IFlexModuleFactory):void
-	{
-		super.moduleFactory = factory;
-
-		if (_moduleFactoryInitialized)
-			return;
-
-		_moduleFactoryInitialized = true;
-
-		// our style settings
-		initStyles();
-	}
-
+    /**
+     *  @private
+     */
+    private function initStyles():Boolean
+    {
+        HaloDefaults.init(styleManager);
+
+        var columnSeriesStyle:CSSStyleDeclaration =
+            HaloDefaults.createSelector("mx.charts.series.ColumnSeries", styleManager);
+
+        columnSeriesStyle.defaultFactory = function():void
+        {
+            this.fill = new SolidColor(0);
+            this.fills = [];
+            this.itemRenderer = new ClassFactory(BoxItemRenderer);
+            this.stroke = HaloDefaults.emptyStroke;
+            this.labelSizeLimit = 9;
+        }
+
+        return true;
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    override public function set moduleFactory(factory:IFlexModuleFactory):void
+    {
+        super.moduleFactory = factory;
+
+        if (_moduleFactoryInitialized)
+            return;
+
+        _moduleFactoryInitialized = true;
+
+        // our style settings
+        initStyles();
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
     override protected function createChildren():void
     {
         super.createChildren();
@@ -1143,9 +1151,9 @@
      {
         _localFills = getStyle('fills');
         if (_localFills != null)
-        	_fillCount = _localFills.length;
+            _fillCount = _localFills.length;
         else
-        	_fillCount = 0;
+            _fillCount = 0;
         labelPos = getStyle('labelPosition');
         if (labelPos == "none")
             labelPos = "";
@@ -1224,14 +1232,14 @@
             _renderData.renderedBase = NaN;
         }
         if(dataTransform && dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) is NumericAxis &&
-			!(dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) is DateTimeAxis) &&
-        	(dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) as NumericAxis).direction == "inverted")
-        	_renderData.cache = reverseYValues(_renderData.cache);
+            !(dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) is DateTimeAxis) &&
+            (dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) as NumericAxis).direction == "inverted")
+            _renderData.cache = reverseYValues(_renderData.cache);
         if(dataTransform && dataTransform.getAxis(CartesianTransform.HORIZONTAL_AXIS) is NumericAxis &&
-        	!(dataTransform.getAxis(CartesianTransform.HORIZONTAL_AXIS) is DateTimeAxis) &&
-        	(dataTransform.getAxis(CartesianTransform.HORIZONTAL_AXIS) as NumericAxis).direction == "inverted")
-        	_renderData.cache = reverseXValues(_renderData.cache);
-       	super.updateData();
+            !(dataTransform.getAxis(CartesianTransform.HORIZONTAL_AXIS) is DateTimeAxis) &&
+            (dataTransform.getAxis(CartesianTransform.HORIZONTAL_AXIS) as NumericAxis).direction == "inverted")
+            _renderData.cache = reverseXValues(_renderData.cache);
+        super.updateData();
     }

     /**
@@ -1268,9 +1276,9 @@
      */
     override protected function updateTransform():void
     {
-    	var n:int;
-    	var i:int;
-
+        var n:int;
+        var i:int;
+
         if (_minField != "" || _stacked)
             dataTransform.transformCache(_renderData.filteredCache,null,null,"minNumber","min");
         else
@@ -1296,12 +1304,12 @@
         if (!isNaN(_maxColumnWidth) && (_maxColumnWidth <= 0 || _columnWidthRatio <= 0))
             return;

-		if(params[1].x < params[0].x)	//direction is reverse for X-axis
-		{
-			params[0].x = - (params[0].x);
-			params[1].x = - (params[1].x);
-			params[2].x = - (params[2].x);
-		}
+        if(params[1].x < params[0].x)   //direction is reverse for X-axis
+        {
+            params[0].x = - (params[0].x);
+            params[1].x = - (params[1].x);
+            params[2].x = - (params[2].x);
+        }
         _renderData.renderedHalfWidth = (params[1].x -  params[0].x);

         if (_offset == 0)
@@ -1342,35 +1350,35 @@
         }
         else if (labelPos=="outside")
         {
-        	if (chart  && chart is ColumnChart)
-        	{
-            	if (!(ColumnChart(chart).showLabelVertically))
-            	{
-                	if (temp.textWidth / 2 > 2 * _renderData.renderedHalfWidth) // .25% of column width
-                	{
-                    	labelPos = "";
-                    	labelCache.count = 0;
-                	}
-            	}
-            	else
-            	{
-                	if (temp.textWidth > 2 * _renderData.renderedHalfWidth) // .25% of column width
-                	{
-                    	if (measuringField.embedFonts)
-                    	{
-                        	if (temp.textHeight > 2 * renderData.renderedHalfWidth)
-                        	{
-                            	labelPos = "";
-                            	labelCache.count = 0;
-                        	}
-                    	}
-                    	else
-                    	{
-                        	labelPos = "";
-                        	labelCache.count = 0;
-                    	}
-                	}
-            	}
+            if (chart  && chart is ColumnChart)
+            {
+                if (!(ColumnChart(chart).showLabelVertically))
+                {
+                    if (temp.textWidth / 2 > 2 * _renderData.renderedHalfWidth) // .25% of column width
+                    {
+                        labelPos = "";
+                        labelCache.count = 0;
+                    }
+                }
+                else
+                {
+                    if (temp.textWidth > 2 * _renderData.renderedHalfWidth) // .25% of column width
+                    {
+                        if (measuringField.embedFonts)
+                        {
+                            if (temp.textHeight > 2 * renderData.renderedHalfWidth)
+                            {
+                                labelPos = "";
+                                labelCache.count = 0;
+                            }
+                        }
+                        else
+                        {
+                            labelPos = "";
+                            labelCache.count = 0;
+                        }
+                    }
+                }
             }
         }
         super.updateTransform();
@@ -1814,7 +1822,7 @@
         }
         else if (styleProp == "itemRenderer")
         {
-        	_instanceCache.remove = true;
+            _instanceCache.remove = true;
             _instanceCache.discard = true;
             _instanceCache.count = 0;
             _instanceCache.discard = false;
@@ -1847,9 +1855,9 @@
         {
             _localFills = getStyle('fills');
             if (_localFills != null)
-        		_fillCount = _localFills.length;
-        	else
-        		_fillCount = 0;
+                _fillCount = _localFills.length;
+            else
+                _fillCount = 0;
             invalidateDisplayList();
             legendDataChanged();
         }
@@ -1919,9 +1927,9 @@
      *  @private
      */
     override protected function getMissingInterpolationValues(sourceProps:Object,
-    									srcCache:Array /* of ColumnSeriesItem */,
-    									destProps:Object,destCache:Array /* of ColumnSeriesItem */,
-    									index:Number,customData:Object):void
+                                        srcCache:Array /* of ColumnSeriesItem */,
+                                        destProps:Object,destCache:Array /* of ColumnSeriesItem */,
+                                        index:Number,customData:Object):void
     {
         for (var p:String in sourceProps)
         {
@@ -1997,8 +2005,8 @@
      */
     override protected function defaultFilterFunction(cache:Array /*of ColumnSeriesItem */ ):Array /*of ColumnSeriesItem*/
     {
-    	var filteredCache:Array /*of ColumnSeriesItem*/ = [];
-    	if (filterDataValues == "outsideRange")
+        var filteredCache:Array /*of ColumnSeriesItem*/ = [];
+        if (filterDataValues == "outsideRange")
         {
             filteredCache = cache.concat();

@@ -2096,12 +2104,12 @@
                     yValue = Number((haveYField)? dataItem[_yField]:dataItem);
                 }
                 if(dataTransform && dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) is NumericAxis &&
-        			(dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) as NumericAxis).direction == "inverted")
-                	yValue = -yValue;
+                    (dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) as NumericAxis).direction == "inverted")
+                    yValue = -yValue;
                 if (xValue == null)
                 {
-                	i++;
-                	cursor.moveNext();
+                    i++;
+                    cursor.moveNext();
                     continue;
                 }
                 // accessing a property on an XML node always returns a new XMLList. Which means
@@ -2120,13 +2128,13 @@
                 }
                 if (yValue == 0)
                 {
-                	chartItem.yValue = 0;
-                	chartItem.minValue = 0;
+                    chartItem.yValue = 0;
+                    chartItem.minValue = 0;
                 }
                 else
                 {
-                	chartItem.yValue = yValue + stackedValue;
-                	chartItem.minValue = stackedValue;
+                    chartItem.yValue = yValue + stackedValue;
+                    chartItem.minValue = stackedValue;
                 }
                 yValue += stackedValue;
                 //chartItem.minValue = stackedValue;
@@ -2190,12 +2198,12 @@
                     yValue = Number((haveYField)? dataItem[_yField]:dataItem);
                 }
                 if(dataTransform && dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) is NumericAxis &&
-        			(dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) as NumericAxis).direction == "inverted")
-                	yValue = -yValue;
+                    (dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) as NumericAxis).direction == "inverted")
+                    yValue = -yValue;
                 if (xValue == null)
                 {
-                	i++;
-                	cursor.moveNext();
+                    i++;
+                    cursor.moveNext();
                     continue;
                 }
                 // accessing a property on an XML node always returns a new XMLList. Which means
@@ -2219,13 +2227,13 @@

                 if (yValue == 0)
                 {
-                	chartItem.yValue = 0;
-                	chartItem.minValue = 0;
+                    chartItem.yValue = 0;
+                    chartItem.minValue = 0;
                 }
                 else
                 {
-                	chartItem.yValue = yValue + stackedValue;
-                	chartItem.minValue = stackedValue;
+                    chartItem.yValue = yValue + stackedValue;
+                    chartItem.minValue = stackedValue;
                 }

                 yValue += stackedValue;
@@ -2417,10 +2425,10 @@
                     label.text = "";
                 else if (chart && !(ColumnChart(chart).showLabelVertically))
                 {
-					if(chart && chart.layoutDirection == LayoutDirection.RTL)		//Align labels to right of the item in rtl layout
-                    	label.setStyle('textAlign','right');
-					else											//Align them to left of the column in ltr layout
-						label.setStyle('textAlign','left');
+                    if(chart && chart.layoutDirection == LayoutDirection.RTL)       //Align labels to right of the item in rtl layout
+                        label.setStyle('textAlign','right');
+                    else                                            //Align them to left of the column in ltr layout
+                        label.setStyle('textAlign','left');
                     label.setStyle('paddingLeft',0);
                     label.rotation = 0;
                 }
@@ -2481,35 +2489,35 @@
         }
         else if (labelPos=="outside")
         {
-        	if (chart && chart is ColumnChart)
-        	{
-            	if (!(ColumnChart(chart).showLabelVertically))
-            	{
-                	if (temp.textWidth / 2 > 2 * _renderData.renderedHalfWidth) // .25% of column width
-	                {
-    	                labelPos = "";
-        	            labelCache.count = 0;
-            	    }
-            	}
-	            else
-    	        {
-        	        if (temp.textWidth > 2 * _renderData.renderedHalfWidth) // .25% of column width
-            	    {
-                	    if (measuringField.embedFonts)
-                    	{
-                        	if (temp.textHeight > 2 * renderData.renderedHalfWidth)
-	                        {
-    	                        labelPos = "";
-        	                    labelCache.count = 0;
-            	            }
-                	    }
-                    	else
-                    	{
-                        	labelPos = "";
-	                        labelCache.count = 0;
-    	                }
-        	        }
-            	}
+            if (chart && chart is ColumnChart)
+            {
+                if (!(ColumnChart(chart).showLabelVertically))
+                {
+                    if (temp.textWidth / 2 > 2 * _renderData.renderedHalfWidth) // .25% of column width
+                    {
+                        labelPos = "";
+                        labelCache.count = 0;
+                    }
+                }
+                else
+                {
+                    if (temp.textWidth > 2 * _renderData.renderedHalfWidth) // .25% of column width
+                    {
+                        if (measuringField.embedFonts)
+                        {
+                            if (temp.textHeight > 2 * renderData.renderedHalfWidth)
+                            {
+                                labelPos = "";
+                                labelCache.count = 0;
+                            }
+                        }
+                        else
+                        {
+                            labelPos = "";
+                            labelCache.count = 0;
+                        }
+                    }
+                }
             }
         }
         if (chart && chart is ColumnChart)
@@ -2582,26 +2590,26 @@

     private function reverseYValues(cache:Array):Array
     {
-    	var i:int = 0;
+        var i:int = 0;
         var n:int = cache.length;
         for(i = 0; i < n ; i++)
         {
-        	cache[i]["yValue"] = -(cache[i]["yValue"]);
-        	if(_minField != "")
-        		cache[i]["minValue"] = -(cache[i]["minValue"]);
+            cache[i]["yValue"] = -(cache[i]["yValue"]);
+            if(_minField != "")
+                cache[i]["minValue"] = -(cache[i]["minValue"]);
         }
-    	return cache;
+        return cache;
     }

     private function reverseXValues(cache:Array):Array
     {
-    	var i:int = 0;
+        var i:int = 0;
         var n:int = cache.length;
         for(i = 0; i < n ; i++)
         {
-        	cache[i]["xValue"] = -(cache[i]["xValue"]);
+            cache[i]["xValue"] = -(cache[i]["xValue"]);
         }
-    	return cache;
+        return cache;
     }

     mx_internal function get seriesRenderData():Object