Transferred from the Adobe Open Source Subversion Repository

Revision: 20149
Author:   klin@adobe.com
Date:     2011-02-04T21:39:31.000080Z

Log Message:
-----------
Add and update [Inspectable] metadata across spark components.

QE notes: No
Doc notes: No
Bugs: SDK-28942
Reviewer: Carol
Tests run: cyclone server, checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TileGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/modules/ModuleLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/mediaClasses/DynamicStreamingVideoItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/Panel.as
+++ frameworks/projects/spark/src/spark/components/Panel.as
@@ -11,633 +11,633 @@

 package spark.components
 {
-
-    import mx.core.IVisualElement;
-    import mx.core.mx_internal;
-    import mx.utils.BitFlagUtil;
-
-    import spark.core.IDisplayText;
-    import spark.layouts.supportClasses.LayoutBase;
-
-    use namespace mx_internal;
-
-    //--------------------------------------
-    //  Styles
-    //--------------------------------------
-
-    /**
-     *  The alpha of the border for this component.
-     *
-     *  @default 0.5
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    [Style(name="borderAlpha", type="Number", inherit="no", theme="spark")]
-
-    /**
-     *  The color of the border for this component.
-     *
-     *  @default 0
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    [Style(name="borderColor", type="uint", format="Color", inherit="no", theme="spark")]
-
-    /**
-     *  Controls the visibility of the border for this component.
+
+import mx.core.IVisualElement;
+import mx.core.mx_internal;
+import mx.utils.BitFlagUtil;
+
+import spark.core.IDisplayText;
+import spark.layouts.supportClasses.LayoutBase;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+/**
+ *  The alpha of the border for this component.
+ *
+ *  @default 0.5
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="borderAlpha", type="Number", inherit="no", theme="spark")]
+
+/**
+ *  The color of the border for this component.
+ *
+ *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="borderColor", type="uint", format="Color", inherit="no", theme="spark")]
+
+/**
+ *  Controls the visibility of the border for this component.
+ *
+ *  @default true
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="borderVisible", type="Boolean", inherit="no", theme="spark")]
+
+/**
+ *  The radius of the corners for this component.
+ *
+ *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="spark")]
+
+/**
+ *  Controls the visibility of the drop shadow for this component.
+ *
+ *  @default true
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="dropShadowVisible", type="Boolean", inherit="no", theme="spark")]
+
+//--------------------------------------
+//  Skin states
+//--------------------------------------
+
+/**
+ *  Normal State of the Panel
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[SkinState("normal")]
+
+/**
+ *  Disabled State of the Panel
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[SkinState("disabled")]
+
+/**
+ *  Normal State with ControlBar of the Panel
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[SkinState("normalWithControlBar")]
+
+/**
+ *  Disabled State with ControlBar of the Panel
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[SkinState("disabledWithControlBar")]
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[AccessibilityClass(implementation="spark.accessibility.PanelAccImpl")]
+
+[IconFile("Panel.png")]
+
+/**
+ * Because this component does not define a skin for the mobile theme, Adobe
+ * recommends that you not use it in a mobile application. Alternatively, you
+ * can define your own mobile skin for the component. For more information,
+ * see Spark Skinning.
+ */
+[DiscouragedForProfile("mobileDevice")]
+
+/**
+ *  The Panel class defines a container that includes a title bar,
+ *  a caption, a border, and a content area for its children.
+ *
+ *
The panel container has the following default characteristics:

+ *

+ *
Characteristic	Description

+ *
Default size	Large enough to display its children

+ *
Minimum size	131 pixels wide and 127 pixels high

+ *
Maximum size	10000 pixels wide and 10000 pixels high

+ *

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

+ *
+ *

+ *  <s:Panel
+ *   Properties
+ *    controlBarContent="null"
+ *    controlBarLayout="HorizontalLayout"
+ *    controlBarVisible="true"
+ *    title=""
+ *
+ *   Styles
+ *    borderAlpha="0.5"
+ *    borderColor="0"
+ *    borderVisible="true"
+ *    cornerRadius="0"
+ *    dropShadowVisible="true"
+ *   >
+ *      ...
+ *      child tags
+ *      ...
+ *  </s:Panel>
+ *

+ *
+ *  @includeExample examples/PanelExample.mxml
+ *
+ *  @see SkinnableContainer
+ *  @see spark.skins.spark.PanelSkin
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+public class Panel extends SkinnableContainer
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    mx_internal static const CONTROLBAR_PROPERTY_FLAG:uint = 1 << 0;
+
+    /**
+     *  @private
+     */
+    mx_internal static const LAYOUT_PROPERTY_FLAG:uint = 1 << 1;
+
+    /**
+     *  @private
+     */
+    mx_internal static const VISIBLE_PROPERTY_FLAG:uint = 1 << 2;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class mixins
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Placeholder for mixin by PanelAccImpl.
+     */
+    mx_internal static var createAccessibilityImplementation:Function;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function Panel()
+    {
+        super();
+
+        // default skin uses graphical dropshadow which
+        // we don't want to be hittable
+        mouseEnabled = false;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Several properties are proxied to controlBarGroup.  However, when controlBarGroup
+     *  is not around, we need to store values set on SkinnableContainer.  This object
+     *  stores those values.  If controlBarGroup is around, the values are stored
+     *  on the controlBarGroup directly.  However, we need to know what values
+     *  have been set by the developer on the SkinnableContainer (versus set on
+     *  the controlBarGroup or defaults of the controlBarGroup) as those are values
+     *  we want to carry around if the controlBarGroup changes (via a new skin).
+     *  In order to store this info effeciently, controlBarGroupProperties becomes
+     *  a uint to store a series of BitFlags.  These bits represent whether a
+     *  property has been explicitely set on this SkinnableContainer.  When the
+     *  controlBarGroup is not around, controlBarGroupProperties is a typeless
+     *  object to store these proxied properties.  When controlBarGroup is around,
+     *  controlBarGroupProperties stores booleans as to whether these properties
+     *  have been explicitely set or not.
+     */
+    mx_internal var controlBarGroupProperties:Object = { visible: true };
+
+    //--------------------------------------------------------------------------
+    //
+    //  Skin parts
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  controlBarGroup
+    //----------------------------------
+
+    [SkinPart(required="false")]
+
+    /**
+     *  The skin part that defines the appearance of the
+     *  control bar area of the container.
+     *  By default, the PanelSkin class defines the control bar area to appear at the bottom
+     *  of the content area of the Panel container with a grey background.
+     *
+     *  @see spark.skins.spark.PanelSkin
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var controlBarGroup:Group;
+
+    //----------------------------------
+    //  titleField
+    //----------------------------------
+
+    [SkinPart(required="false")]
+
+    /**
+     *  The skin part that defines the appearance of the
+     *  title text in the container.
+     *
+     *  @see spark.skins.spark.PanelSkin
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var titleDisplay:IDisplayText;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties: UIComponent
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  baselinePosition
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    override public function get baselinePosition():Number
+    {
+        return getBaselinePositionForPart(titleDisplay as IVisualElement);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  controlBarContent
+    //----------------------------------
+
+    [ArrayElementType("mx.core.IVisualElement")]
+
+    /**
+     *  The set of components to include in the control bar area of the
+     *  Panel container.
+     *  The location and appearance of the control bar area of the Panel container
+     *  is determined by the spark.skins.spark.PanelSkin class.
+     *  By default, the PanelSkin class defines the control bar area to appear at the bottom
+     *  of the content area of the Panel container with a grey background.
+     *  Create a custom skin to change the default appearance of the control bar.
+     *
+     *  @default null
+     *
+     *  @see spark.skins.spark.PanelSkin
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get controlBarContent():Array
+    {
+        if (controlBarGroup)
+            return controlBarGroup.getMXMLContent();
+        else
+            return controlBarGroupProperties.controlBarContent;
+    }
+
+    /**
+     *  @private
+     */
+    public function set controlBarContent(value:Array):void
+    {
+        if (controlBarGroup)
+        {
+            controlBarGroup.mxmlContent = value;
+            controlBarGroupProperties = BitFlagUtil.update(controlBarGroupProperties as uint,
+                CONTROLBAR_PROPERTY_FLAG, value != null);
+        }
+        else
+            controlBarGroupProperties.controlBarContent = value;
+
+        invalidateSkinState();
+    }
+
+    //----------------------------------
+    //  controlBarLayout
+    //----------------------------------
+
+    /**
+     *  Defines the layout of the control bar area of the container.
+     *
+     *  @default HorizontalLayout
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get controlBarLayout():LayoutBase
+    {
+        return (controlBarGroup)
+        ? controlBarGroup.layout
+            : controlBarGroupProperties.layout;
+    }
+
+    /**
+     *  @private
+     */
+    public function set controlBarLayout(value:LayoutBase):void
+    {
+        if (controlBarGroup)
+        {
+            controlBarGroup.layout = value;
+            controlBarGroupProperties = BitFlagUtil.update(controlBarGroupProperties as uint,
+                LAYOUT_PROPERTY_FLAG, true);
+        }
+        else
+            controlBarGroupProperties.layout = value;
+    }
+
+    //----------------------------------
+    //  controlBarVisible
+    //----------------------------------
+
+    /**
+     *  If true, the control bar is visible.
+     *  The flag has no affect if there is no value set for
+     *  the controlBarContent property.
+     *
+     *
Note: The Panel container does not monitor the
+     *  controlBarGroup property.
+     *  If other code makes it invisible, the Panel container
+     *  might not update correctly.

      *
      *  @default true
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    [Style(name="borderVisible", type="Boolean", inherit="no", theme="spark")]
-
-    /**
-     *  The radius of the corners for this component.
-     *
-     *  @default 0
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    [Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="spark")]
-
-    /**
-     *  Controls the visibility of the drop shadow for this component.
-     *
-     *  @default true
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    [Style(name="dropShadowVisible", type="Boolean", inherit="no", theme="spark")]
-
-    //--------------------------------------
-    //  Skin states
-    //--------------------------------------
-
-    /**
-     *  Normal State of the Panel
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    [SkinState("normal")]
-
-    /**
-     *  Disabled State of the Panel
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    [SkinState("disabled")]
-
-    /**
-     *  Normal State with ControlBar of the Panel
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    [SkinState("normalWithControlBar")]
-
-    /**
-     *  Disabled State with ControlBar of the Panel
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    [SkinState("disabledWithControlBar")]
-
-    //--------------------------------------
-    //  Other metadata
-    //--------------------------------------
-
-    [AccessibilityClass(implementation="spark.accessibility.PanelAccImpl")]
-
-    [IconFile("Panel.png")]
-
-    /**
-     * Because this component does not define a skin for the mobile theme, Adobe
-     * recommends that you not use it in a mobile application. Alternatively, you
-     * can define your own mobile skin for the component. For more information,
-     * see Spark Skinning.
-     */
-    [DiscouragedForProfile("mobileDevice")]
-
-    /**
-     *  The Panel class defines a container that includes a title bar,
-     *  a caption, a border, and a content area for its children.
-     *
-     *
The panel container has the following default characteristics:

-     *

-     *
Characteristic	Description

-     *
Default size	Large enough to display its children

-     *
Minimum size	131 pixels wide and 127 pixels high

-     *
Maximum size	10000 pixels wide and 10000 pixels high

-     *

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

-     *
-     *

-     *  <s:Panel
-     *   Properties
-     *    controlBarContent="null"
-     *    controlBarLayout="HorizontalLayout"
-     *    controlBarVisible="true"
-     *    title=""
-     *
-     *   Styles
-     *    borderAlpha="0.5"
-     *    borderColor="0"
-     *    borderVisible="true"
-     *    cornerRadius="0"
-     *    dropShadowVisible="true"
-     *   >
-     *      ...
-     *      child tags
-     *      ...
-     *  </s:Panel>
-     *

-     *
-     *  @includeExample examples/PanelExample.mxml
-     *
-     *  @see SkinnableContainer
-     *  @see spark.skins.spark.PanelSkin
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public class Panel extends SkinnableContainer
-    {
-        include "../core/Version.as";
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get controlBarVisible():Boolean
+    {
+        return (controlBarGroup)
+        ? controlBarGroup.visible
+            : controlBarGroupProperties.visible;
+    }
+
+    /**
+     *  @private
+     */
+    public function set controlBarVisible(value:Boolean):void
+    {
+        if (controlBarGroup)
+        {
+            controlBarGroup.visible = value;
+            controlBarGroupProperties = BitFlagUtil.update(controlBarGroupProperties as uint,
+                VISIBLE_PROPERTY_FLAG, value);
+        }
+        else
+            controlBarGroupProperties.visible = value;

-        //--------------------------------------------------------------------------
-        //
-        //  Class constants
-        //
-        //--------------------------------------------------------------------------
+        invalidateSkinState();
+        if (skin)
+            skin.invalidateSize();
+    }
+
+    //----------------------------------
+    //  title
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _title:String = "";
+
+    /**
+     *  @private
+     */
+    private var titleChanged:Boolean;
+
+    [Bindable]
+    [Inspectable(category="General", defaultValue="")]
+
+    /**
+     *  Title or caption displayed in the title bar.
+     *
+     *  @default ""
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get title():String
+    {
+        return _title;
+    }
+
+    /**
+     *  @private
+     */
+    public function set title(value:String):void
+    {
+        _title = value;

-        /**
-         *  @private
-         */
-        mx_internal static const CONTROLBAR_PROPERTY_FLAG:uint = 1 << 0;
+        if (titleDisplay)
+            titleDisplay.text = title;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function initializeAccessibility():void
+    {
+        if (Panel.createAccessibilityImplementation != null)
+            Panel.createAccessibilityImplementation(this);
+    }
+
+    /**
+     *  @private
+     */
+    override protected function partAdded(partName:String, instance:Object):void
+    {
+        super.partAdded(partName, instance);

-        /**
-         *  @private
-         */
-        mx_internal static const LAYOUT_PROPERTY_FLAG:uint = 1 << 1;
-
-        /**
-         *  @private
-         */
-        mx_internal static const VISIBLE_PROPERTY_FLAG:uint = 1 << 2;
-
-        //--------------------------------------------------------------------------
-        //
-        //  Class mixins
-        //
-        //--------------------------------------------------------------------------
-
-        /**
-         *  @private
-         *  Placeholder for mixin by PanelAccImpl.
-         */
-        mx_internal static var createAccessibilityImplementation:Function;
-
-        //--------------------------------------------------------------------------
-        //
-        //  Constructor
-        //
-        //--------------------------------------------------------------------------
-
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        public function Panel()
-        {
-            super();
-
-            // default skin uses graphical dropshadow which
-            // we don't want to be hittable
-            mouseEnabled = false;
-        }
-
-        //--------------------------------------------------------------------------
-        //
-        //  Variables
-        //
-        //--------------------------------------------------------------------------
-
-        /**
-         *  @private
-         *  Several properties are proxied to controlBarGroup.  However, when controlBarGroup
-         *  is not around, we need to store values set on SkinnableContainer.  This object
-         *  stores those values.  If controlBarGroup is around, the values are stored
-         *  on the controlBarGroup directly.  However, we need to know what values
-         *  have been set by the developer on the SkinnableContainer (versus set on
-         *  the controlBarGroup or defaults of the controlBarGroup) as those are values
-         *  we want to carry around if the controlBarGroup changes (via a new skin).
-         *  In order to store this info effeciently, controlBarGroupProperties becomes
-         *  a uint to store a series of BitFlags.  These bits represent whether a
-         *  property has been explicitely set on this SkinnableContainer.  When the
-         *  controlBarGroup is not around, controlBarGroupProperties is a typeless
-         *  object to store these proxied properties.  When controlBarGroup is around,
-         *  controlBarGroupProperties stores booleans as to whether these properties
-         *  have been explicitely set or not.
-         */
-        mx_internal var controlBarGroupProperties:Object = { visible: true };
-
-        //--------------------------------------------------------------------------
-        //
-        //  Skin parts
-        //
-        //--------------------------------------------------------------------------
-
-        //----------------------------------
-        //  controlBarGroup
-        //----------------------------------
-
-        [SkinPart(required="false")]
-
-        /**
-         *  The skin part that defines the appearance of the
-         *  control bar area of the container.
-         *  By default, the PanelSkin class defines the control bar area to appear at the bottom
-         *  of the content area of the Panel container with a grey background.
-         *
-         *  @see spark.skins.spark.PanelSkin
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        public var controlBarGroup:Group;
-
-        //----------------------------------
-        //  titleField
-        //----------------------------------
-
-        [SkinPart(required="false")]
-
-        /**
-         *  The skin part that defines the appearance of the
-         *  title text in the container.
-         *
-         *  @see spark.skins.spark.PanelSkin
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        public var titleDisplay:IDisplayText;
-
-        //--------------------------------------------------------------------------
-        //
-        //  Overridden properties: UIComponent
-        //
-        //--------------------------------------------------------------------------
-
-        //----------------------------------
-        //  baselinePosition
-        //----------------------------------
-
-        /**
-         *  @private
-         */
-        override public function get baselinePosition():Number
-        {
-            return getBaselinePositionForPart(titleDisplay as IVisualElement);
-        }
-
-        //--------------------------------------------------------------------------
-        //
-        //  Properties
-        //
-        //--------------------------------------------------------------------------
-
-        //----------------------------------
-        //  controlBarContent
-        //----------------------------------
-
-        [ArrayElementType("mx.core.IVisualElement")]
-
-        /**
-         *  The set of components to include in the control bar area of the
-         *  Panel container.
-         *  The location and appearance of the control bar area of the Panel container
-         *  is determined by the spark.skins.spark.PanelSkin class.
-         *  By default, the PanelSkin class defines the control bar area to appear at the bottom
-         *  of the content area of the Panel container with a grey background.
-         *  Create a custom skin to change the default appearance of the control bar.
-         *
-         *  @default null
-         *
-         *  @see spark.skins.spark.PanelSkin
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        public function get controlBarContent():Array
-        {
-            if (controlBarGroup)
-                return controlBarGroup.getMXMLContent();
-            else
-                return controlBarGroupProperties.controlBarContent;
-        }
-
-        /**
-         *  @private
-         */
-        public function set controlBarContent(value:Array):void
-        {
-            if (controlBarGroup)
+        if (instance == titleDisplay)
+        {
+            titleDisplay.text = title;
+        }
+        else if (instance == controlBarGroup)
+        {
+            // copy proxied values from controlBarGroupProperties (if set) to contentGroup
+            var newControlBarGroupProperties:uint = 0;
+
+            if (controlBarGroupProperties.controlBarContent !== undefined)
             {
-                controlBarGroup.mxmlContent = value;
-                controlBarGroupProperties = BitFlagUtil.update(controlBarGroupProperties as uint,
-                    CONTROLBAR_PROPERTY_FLAG, value != null);
+                controlBarGroup.mxmlContent = controlBarGroupProperties.controlBarContent;
+                newControlBarGroupProperties = BitFlagUtil.update(newControlBarGroupProperties,
+                    CONTROLBAR_PROPERTY_FLAG, true);
             }
-            else
-                controlBarGroupProperties.controlBarContent = value;
-
-            invalidateSkinState();
-        }
-
-        //----------------------------------
-        //  controlBarLayout
-        //----------------------------------
-
-        /**
-         *  Defines the layout of the control bar area of the container.
-         *
-         *  @default HorizontalLayout
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        public function get controlBarLayout():LayoutBase
-        {
-            return (controlBarGroup)
-            ? controlBarGroup.layout
-                : controlBarGroupProperties.layout;
-        }
-
-        /**
-         *  @private
-         */
-        public function set controlBarLayout(value:LayoutBase):void
-        {
-            if (controlBarGroup)
+
+            if (controlBarGroupProperties.layout !== undefined)
             {
-                controlBarGroup.layout = value;
-                controlBarGroupProperties = BitFlagUtil.update(controlBarGroupProperties as uint,
+                controlBarGroup.layout = controlBarGroupProperties.layout;
+                newControlBarGroupProperties = BitFlagUtil.update(newControlBarGroupProperties,
                     LAYOUT_PROPERTY_FLAG, true);
             }
-            else
-                controlBarGroupProperties.layout = value;
-        }
+
+            if (controlBarGroupProperties.visible !== undefined)
+            {
+                controlBarGroup.visible = controlBarGroupProperties.visible;
+                newControlBarGroupProperties = BitFlagUtil.update(newControlBarGroupProperties,
+                    VISIBLE_PROPERTY_FLAG, true);
+            }
+
+            controlBarGroupProperties = newControlBarGroupProperties;
+        }
+    }
+
+    /**
+     *  @private
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override protected function partRemoved(partName:String, instance:Object):void
+    {
+        super.partRemoved(partName, instance);

-        //----------------------------------
-        //  controlBarVisible
-        //----------------------------------
+        if (instance == controlBarGroup)
+        {
+            // copy proxied values from contentGroup (if explicitely set) to contentGroupProperties
+
+            var newControlBarGroupProperties:Object = {};
+
+            if (BitFlagUtil.isSet(controlBarGroupProperties as uint, CONTROLBAR_PROPERTY_FLAG))
+                newControlBarGroupProperties.controlBarContent = controlBarGroup.getMXMLContent();
+
+            if (BitFlagUtil.isSet(controlBarGroupProperties as uint, LAYOUT_PROPERTY_FLAG))
+                newControlBarGroupProperties.layout = controlBarGroup.layout;
+
+            if (BitFlagUtil.isSet(controlBarGroupProperties as uint, VISIBLE_PROPERTY_FLAG))
+                newControlBarGroupProperties.visible = controlBarGroup.visible;
+
+            controlBarGroupProperties = newControlBarGroupProperties;
+
+            controlBarGroup.mxmlContent = null;
+            controlBarGroup.layout = null;
+        }
+    }
+
+    /**
+     *  @private
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override protected function getCurrentSkinState():String
+    {
+        var state:String = enabled ? "normal" : "disabled";
+        if (controlBarGroup)
+        {
+            if (BitFlagUtil.isSet(controlBarGroupProperties as uint, CONTROLBAR_PROPERTY_FLAG) &&
+                BitFlagUtil.isSet(controlBarGroupProperties as uint, VISIBLE_PROPERTY_FLAG))
+                state += "WithControlBar";
+        }
+        else
+        {
+            if (controlBarGroupProperties.controlBarContent &&
+                controlBarGroupProperties.visible)
+                state += "WithControlBar";
+        }

-        /**
-         *  If true, the control bar is visible.
-         *  The flag has no affect if there is no value set for
-         *  the controlBarContent property.
-         *
-         *
Note: The Panel container does not monitor the
-         *  controlBarGroup property.
-         *  If other code makes it invisible, the Panel container
-         *  might not update correctly.

-         *
-         *  @default true
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        public function get controlBarVisible():Boolean
-        {
-            return (controlBarGroup)
-            ? controlBarGroup.visible
-                : controlBarGroupProperties.visible;
-        }
-
-        /**
-         *  @private
-         */
-        public function set controlBarVisible(value:Boolean):void
-        {
-            if (controlBarGroup)
-            {
-                controlBarGroup.visible = value;
-                controlBarGroupProperties = BitFlagUtil.update(controlBarGroupProperties as uint,
-                    VISIBLE_PROPERTY_FLAG, value);
-            }
-            else
-                controlBarGroupProperties.visible = value;
-
-            invalidateSkinState();
-            if (skin)
-                skin.invalidateSize();
-        }
-
-        //----------------------------------
-        //  title
-        //----------------------------------
-
-        /**
-         *  @private
-         */
-        private var _title:String = "";
-
-        /**
-         *  @private
-         */
-        private var titleChanged:Boolean;
-
-        [Bindable]
-
-        /**
-         *  Title or caption displayed in the title bar.
-         *
-         *  @default ""
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        public function get title():String
-        {
-            return _title;
-        }
-
-        /**
-         *  @private
-         */
-        public function set title(value:String):void
-        {
-            _title = value;
-
-            if (titleDisplay)
-                titleDisplay.text = title;
-        }
-
-        //--------------------------------------------------------------------------
-        //
-        //  Overridden methods
-        //
-        //--------------------------------------------------------------------------
-
-        /**
-         *  @private
-         */
-        override protected function initializeAccessibility():void
-        {
-            if (Panel.createAccessibilityImplementation != null)
-                Panel.createAccessibilityImplementation(this);
-        }
-
-        /**
-         *  @private
-         */
-        override protected function partAdded(partName:String, instance:Object):void
-        {
-            super.partAdded(partName, instance);
-
-            if (instance == titleDisplay)
-            {
-                titleDisplay.text = title;
-            }
-            else if (instance == controlBarGroup)
-            {
-                // copy proxied values from controlBarGroupProperties (if set) to contentGroup
-                var newControlBarGroupProperties:uint = 0;
-
-                if (controlBarGroupProperties.controlBarContent !== undefined)
-                {
-                    controlBarGroup.mxmlContent = controlBarGroupProperties.controlBarContent;
-                    newControlBarGroupProperties = BitFlagUtil.update(newControlBarGroupProperties,
-                        CONTROLBAR_PROPERTY_FLAG, true);
-                }
-
-                if (controlBarGroupProperties.layout !== undefined)
-                {
-                    controlBarGroup.layout = controlBarGroupProperties.layout;
-                    newControlBarGroupProperties = BitFlagUtil.update(newControlBarGroupProperties,
-                        LAYOUT_PROPERTY_FLAG, true);
-                }
-
-                if (controlBarGroupProperties.visible !== undefined)
-                {
-                    controlBarGroup.visible = controlBarGroupProperties.visible;
-                    newControlBarGroupProperties = BitFlagUtil.update(newControlBarGroupProperties,
-                        VISIBLE_PROPERTY_FLAG, true);
-                }
-
-                controlBarGroupProperties = newControlBarGroupProperties;
-            }
-        }
-
-        /**
-         *  @private
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        override protected function partRemoved(partName:String, instance:Object):void
-        {
-            super.partRemoved(partName, instance);
-
-            if (instance == controlBarGroup)
-            {
-                // copy proxied values from contentGroup (if explicitely set) to contentGroupProperties
-
-                var newControlBarGroupProperties:Object = {};
-
-                if (BitFlagUtil.isSet(controlBarGroupProperties as uint, CONTROLBAR_PROPERTY_FLAG))
-                    newControlBarGroupProperties.controlBarContent = controlBarGroup.getMXMLContent();
-
-                if (BitFlagUtil.isSet(controlBarGroupProperties as uint, LAYOUT_PROPERTY_FLAG))
-                    newControlBarGroupProperties.layout = controlBarGroup.layout;
-
-                if (BitFlagUtil.isSet(controlBarGroupProperties as uint, VISIBLE_PROPERTY_FLAG))
-                    newControlBarGroupProperties.visible = controlBarGroup.visible;
-
-                controlBarGroupProperties = newControlBarGroupProperties;
-
-                controlBarGroup.mxmlContent = null;
-                controlBarGroup.layout = null;
-            }
-        }
-
-        /**
-         *  @private
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        override protected function getCurrentSkinState():String
-        {
-            var state:String = enabled ? "normal" : "disabled";
-            if (controlBarGroup)
-            {
-                if (BitFlagUtil.isSet(controlBarGroupProperties as uint, CONTROLBAR_PROPERTY_FLAG) &&
-                    BitFlagUtil.isSet(controlBarGroupProperties as uint, VISIBLE_PROPERTY_FLAG))
-                    state += "WithControlBar";
-            }
-            else
-            {
-                if (controlBarGroupProperties.controlBarContent &&
-                    controlBarGroupProperties.visible)
-                    state += "WithControlBar";
-            }
-
-            return state;
-        }
-    }
-
+        return state;
+    }
 }
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package
 {


-added some checks for support

-added some checks for support

--- actionscript/src/com/freshplanet/ane/AirFacebook/Facebook.as
+++ actionscript/src/com/freshplanet/ane/AirFacebook/Facebook.as
@@ -38,6 +38,9 @@

     public function Facebook()
     {
+        if(!isSupported){
+            throw new Error("This extension is supported only on iOS and Android!");
+        }
         if (!_instance) {
             _context = ExtensionContext.createExtensionContext(EXTENSION_ID, null);
             if (!_context) {
@@ -75,6 +78,10 @@

     public static function getInstance():Facebook
     {
+        if(!isSupported){
+            trace("This extension is supported only on iOS and Android!");
+            return null;
+        }
         return _instance ? _instance : new Facebook();
     }


removed comments from code that no longer is relevant

--- flexEditor/src/org/arisgames/editor/components/PaletteTree.as
+++ flexEditor/src/org/arisgames/editor/components/PaletteTree.as
@@ -51,25 +51,10 @@
         de.objectPaletteItem = this.selectedItem;
         AppDynamicEventManager.getInstance().dispatchEvent(de);

-		//Remove PlaceMarkEditors...
-		/*
-		trace("Removing any open placemarker editor windows");
-		var pm:PlaceMarker;
-		trace(AppUtils.getInstance().getMainView().gameEditor);
-		trace(AppUtils.getInstance().getMainView().gameEditor.theMap);
-		trace(AppUtils.getInstance().getMainView().gameEditor.theMap.markers);
-		trace("banana");
-		var x:ArrayCollection = AppUtils.getInstance().getMainView().gameEditor.theMap.markers;
-		for(var j:Number = 0; j < AppUtils.getInstance().getMainView().gameEditor.theMap.markers.length; j++){
-			pm = AppUtils.getInstance().getMainView().gameEditor.theMap.markers.getItemAt(j) as PlaceMarker;
-			pm.closeInfoWindow();
-		}
-		*/
-
+		//Remove PlaceMarkEditors...
 		if(GameModel.getInstance().game.placeMarks.length > 0){
-			//Sets first datapoint as furthest point in all directions as a base to set boundaries of zoom
 			var pm:PlaceMark;
-			//Go through all datapoints, finding average lat and long, and furthest distance between points
+			//Go through all datapoints, closing editors if they are open (if not, closePME() does nothing)
 			for (var j:Number = 0; j < GameModel.getInstance().game.placeMarks.length; j++)
 			{
 				pm = GameModel.getInstance().game.placeMarks.getItemAt(j) as PlaceMark;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/formatters/NumberBase.as
+++ frameworks/projects/framework/src/mx/formatters/NumberBase.as
@@ -0,0 +1,443 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.formatters
+{
+
+/**
+ *  The NumberBase class is a utility class that contains
+ *  general number formatting capabilities, including rounding,
+ *  precision, thousands formatting, and negative sign formatting.
+ *  The implementation of the formatter classes use this class.
+ *
+ *  @see mx.formatters.NumberFormatter
+ *  @see mx.formatters.NumberBaseRoundType
+ */
+public class NumberBase
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param decimalSeparatorFrom Decimal separator to use
+	 *  when parsing an input String.
+	 *
+	 *  @param thousandsSeparatorFrom Character to use
+	 *  as the thousands separator in the input String.
+	 *
+	 *  @param decimalSeparatorTo Decimal separator character to use
+	 *  when outputting formatted decimal numbers.
+	 *
+	 *  @param thousandsSeparatorTo Character to use
+	 *  as the thousands separator in the output String.
+	 */
+	public function NumberBase(decimalSeparatorFrom:String = ".",
+							   thousandsSeparatorFrom:String = ",",
+							   decimalSeparatorTo:String = ".",
+							   thousandsSeparatorTo:String = ",")
+	{
+		super();
+
+		this.decimalSeparatorFrom = decimalSeparatorFrom;
+		this.thousandsSeparatorFrom = thousandsSeparatorFrom;
+		this.decimalSeparatorTo = decimalSeparatorTo;
+		this.thousandsSeparatorTo = thousandsSeparatorTo;
+
+		isValid = true;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  decimalSeparatorFrom
+	//----------------------------------
+
+	/**
+     *  Decimal separator character to use
+	 *  when parsing an input String.
+	 *
+	 *  @default "."
+	 */
+	public var decimalSeparatorFrom:String;
+
+	//----------------------------------
+	//  decimalSeparatorTo
+	//----------------------------------
+
+	/**
+     *  Decimal separator character to use
+	 *  when outputting formatted decimal numbers.
+	 *
+	 *  @default "."
+	 */
+	public var decimalSeparatorTo:String;
+
+	//----------------------------------
+	//  isValid
+	//----------------------------------
+
+	/**
+	 *  If true, the format succeeded,
+	 *  otherwise it is false.
+	 */
+	public var isValid:Boolean = false;
+
+	//----------------------------------
+	//  thousandsSeparatorFrom
+	//----------------------------------
+
+	/**
+     *  Character to use as the thousands separator
+	 *  in the input String.
+	 *
+	 *  @default ","
+	 */
+	public var thousandsSeparatorFrom:String;
+
+	//----------------------------------
+	//  thousandsSeparatorTo
+	//----------------------------------
+
+	/**
+     *  Character to use as the thousands separator
+	 *  in the output String.
+	 *
+	 *  @default ","
+	 */
+	public var thousandsSeparatorTo:String;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Formats a number by rounding it.
+	 *  The possible rounding types are defined by
+	 *  mx.formatters.NumberBaseRoundType.
+	 *
+	 *  @param value Value to be rounded.
+	 *
+	 *  @param roundType The type of rounding to perform:
+	 *  NumberBaseRoundType.NONE, NumberBaseRoundType.UP,
+	 *  NumberBaseRoundType.DOWN, or NumberBaseRoundType.NEAREST.
+	 *
+	 *  @return Formatted number.
+	 *
+	 *  @see mx.formatters.NumberBaseRoundType
+	 */
+	public function formatRounding(value:String, roundType:String):String
+	{
+		var v:Number = Number(value);
+
+		if (roundType != NumberBaseRoundType.NONE)
+		{
+			if (roundType == NumberBaseRoundType.UP)
+			{
+				 v = Math.ceil(v);
+			}
+			else if (roundType == NumberBaseRoundType.DOWN)
+			{
+				v = Math.floor(v);
+			}
+			else if (roundType == NumberBaseRoundType.NEAREST)
+			{
+				v = Math.round(v);
+			}
+			else
+			{
+				isValid = false;
+				return "";
+			}
+		}
+
+		return v.toString();
+	}
+
+	/**
+	 *  Formats a number by rounding it and setting the decimal precision.
+	 *  The possible rounding types are defined by
+	 *  mx.formatters.NumberBaseRoundType.
+	 *
+	 *  @param value Value to be rounded.
+	 *
+	 *  @param roundType The type of rounding to perform:
+	 *  NumberBaseRoundType.NONE, NumberBaseRoundType.UP,
+	 *  NumberBaseRoundType.DOWN, or NumberBaseRoundType.NEAREST.
+	 *
+	 *  @param precision int of decimal places to use.
+	 *
+	 *  @return Formatted number.
+	 *
+	 *  @see mx.formatters.NumberBaseRoundType
+	 */
+	public function formatRoundingWithPrecision(value:String, roundType:String,
+												precision:int):String
+	{
+		// precision works differently now. Its default value is -1
+		// which means 'do not alter the number's precision'. If a precision
+		// value is set, all numbers will contain that precision. Otherwise, there
+		// precision will not be changed.
+
+		var v:Number = Number(value);
+
+		// If rounding is not present and precision is NaN,
+		// leave value untouched.
+		if (roundType == NumberBaseRoundType.NONE)
+		{
+			if (precision == -1)
+				return v.toString();
+		}
+		else
+		{
+			// If rounding is present but precision is less than 0,
+			// then do integer rounding.
+			if (precision < 0)
+				precision = 0;
+
+			// Shift decimal right as Math functions
+			// perform only integer ceil/round/floor.
+			v = v * Math.pow(10, precision);
+
+			// Attempt to get rid of floating point errors
+			v = Number(v.toString());
+			if (roundType == NumberBaseRoundType.UP)
+			{
+				v = Math.ceil(v);
+			}
+			else if (roundType == NumberBaseRoundType.DOWN)
+			{
+				v = Math.floor(v);
+			}
+			else if (roundType == NumberBaseRoundType.NEAREST)
+			{
+				v = Math.round(v);
+			}
+			else
+			{
+				isValid = false;
+				return "";
+			}
+
+			// Shift decimal left to get back decimal to original point.
+			v = v / Math.pow(10, precision);
+		}
+
+		return v.toString();
+	}
+
+	/**
+	 *  Formats a number by replacing the default decimal separator, ".",
+	 *  with the decimal separator specified by decimalSeparatorTo.
+	 *
+	 *  @param value The String value of the Number
+	 *  (formatted American style ####.##).
+	 *
+	 *  @return String representation of the input where "." is replaced
+	 *  with the decimal formatting character.
+	 */
+	public function formatDecimal(value:String):String
+	{
+	    var parts:Array = value.split(".");
+	    return parts.join(decimalSeparatorTo);
+	}
+
+	/**
+	 *  Formats a number by using
+	 *  the thousandsSeparatorTo property as the thousands separator
+	 *  and the decimalSeparatorTo property as the decimal separator.
+	 *
+	 *  @param value Value to be formatted.
+	 *
+	 *  @return Formatted number.
+	 */
+	public function formatThousands(value:String):String
+	{
+		var v:Number = Number(value);
+
+		var isNegative:Boolean = (v < 0);
+
+		var numStr:String = Math.abs(v).toString();
+		var numArr:Array =
+			numStr.split((numStr.indexOf(decimalSeparatorTo) != -1) ? decimalSeparatorTo : ".");
+		var numLen:int = String(numArr[0]).length;
+
+		if (numLen > 3)
+		{
+			var numSep:int = int(Math.floor(numLen / 3));
+
+			if ((numLen % 3) == 0)
+				numSep--;
+
+			var b:int = numLen;
+			var a:int = b - 3;
+
+			var arr:Array = [];
+			for (var i:int = 0; i <= numSep; i++)
+			{
+				arr[i] = numArr[0].slice(a, b);
+				a = int(Math.max(a - 3, 0));
+				b = int(Math.max(b - 3, 1));
+			}
+
+			arr.reverse();
+
+			numArr[0] = arr.join(thousandsSeparatorTo);
+		}
+
+		numStr = numArr.join(decimalSeparatorTo);
+
+		if (isNegative)
+			numStr = "-" + numStr;
+
+		return numStr.toString();
+	}
+
+	/**
+	 *  Formats a number by setting its decimal precision by using
+	 *  the decimalSeparatorTo property as the decimal separator.
+	 *
+	 *  @param value Value to be formatted.
+	 *
+	 *  @param precision Number of decimal points to use.
+	 *
+	 *  @return Formatted number.
+	 */
+	public function formatPrecision(value:String, precision:int):String
+	{
+		// precision works differently now. Its default value is -1
+		// which stands for 'do not alter the number's precision'. If a precision
+		// value is set, all numbers will contain that precision. Otherwise, there
+		// precision will not be changed.
+
+		if (precision == -1)
+			return value;
+
+		var numArr:Array = value.split(decimalSeparatorTo);
+
+		numArr[0] = numArr[0].length == 0 ? "0" : numArr[0];
+
+		if (precision > 0)
+		{
+			var decimalVal:String = numArr[1] ? String(numArr[1]) : "";
+			var fraction:String =
+				decimalVal + "000000000000000000000000000000000";
+			value = numArr[0] + decimalSeparatorTo + fraction.substr(0, precision);
+		}
+		else
+		{
+			value = String(numArr[0]);
+		}
+
+		return value.toString();
+	}
+
+	/**
+	 *  Formats a negative number with either a minus sign (-)
+	 *  or parentheses ().
+	 *
+	 *  @param value Value to be formatted.
+	 *
+	 *  @param useSign If true, use a minus sign (-).
+	 *  If false, use parentheses ().
+	 *
+	 *  @return Formatted number.
+	 */
+	public function formatNegative(value:String, useSign:Boolean):String
+	{
+		if (useSign)
+		{
+			if (value.charAt(0) != "-")
+				value = "-" + value;
+		}
+		else if (!useSign)
+		{
+			if (value.charAt(0) == "-")
+				value = value.substr(1, value.length - 1);
+			value = "(" + value + ")";
+		}
+		else
+		{
+			isValid = false;
+			return "";
+		}
+		return value;
+	}
+
+	/**
+	 *  Extracts a number from a formatted String.
+	 *  Examines the String from left to right
+	 *  and returns the first number sequence.
+	 *  Ignores thousands separators and includes the
+	 *  decimal and numbers trailing the decimal.
+	 *
+	 *  @param str String to parse for the numeric value.
+	 *
+	 *  @return Value, which can be a decimal.
+	 */
+	public function parseNumberString(str:String):String
+	{
+		// Check the decimal and thousands formatting for validity.
+		var splitDec:Array = str.split(decimalSeparatorFrom);
+		if (splitDec.length > 2)
+			return null;
+
+		// Attempt to extract the first number sequence from the string.
+		var len:int = str.length;
+		var count:int = 0;
+		var letter:String;
+		var num:String;
+		var isNegative:Boolean = false;
+
+		while (count < len)
+		{
+			letter = str.charAt(count);
+			count++;
+
+			if (("0" <= letter && letter <= "9") || (letter == decimalSeparatorFrom))
+			{
+				var lastLetter:String = str.charAt(count - 2);
+				if (lastLetter == "-")
+					isNegative = true;
+				num = "";
+				count--;
+
+				for (var i:int = count; i < len; i++)
+				{
+					letter = str.charAt(count);
+					count++;
+					if ("0" <= letter && letter <= "9")
+						num += letter;
+					else if (letter == decimalSeparatorFrom)
+						num += ".";
+					else if (letter != thousandsSeparatorFrom || count >= len)
+						break;
+				}
+			}
+		}
+
+		return isNegative ? "-" + num : num;
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 3522
Author:   jimurphy@adobe.com
Date:     2008-10-08T19:35:01.705756Z

Log Message:
-----------
rename of the rename:
-FxItemsComponent to FxContainer
-FxDataComponent to FxDataContainer
-FxItemsComponentSkin to FxContainerSkin
-FxDataComponentSkin to FxDataContainerSkin
-FxSelector to FxListBase

Modified Paths:
--------------
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxItemsComponentSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDataComponentSkin.mxml" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDataContainerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSelector.as" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/gumbo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxSelectorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxApplication.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxItemsComponentSkin.mxml" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxContainerSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxItemsComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/flex4/flex4test.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSelector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataComponent.as" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDataComponentSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxItemsComponent.as" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/Application.as
+++ frameworks/projects/spark/src/spark/components/Application.as
@@ -128,7 +128,7 @@
  *  @see mx.managers.SystemManager
  *  @see flash.events.EventDispatcher
  */
-public class FxApplication extends FxItemsComponent
+public class FxApplication extends FxContainer
 {
     include "../core/Version.as";


Transferred from the Adobe Open Source Subversion Repository

Revision: 7938
Author:   jszeto@adobe.com
Date:     2009-06-18T00:08:38.098226Z

Log Message:
-----------
PopUpAnchor PARB Part 2

Rename and move spark.core.RelativePosition -> spark.components.PopUpPosition
Rename EXACT -> TOP_LEFT (topLeft)

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpPosition.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/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/RelativePosition.as</path>

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

--- frameworks/projects/spark/src/spark/components/PopUpAnchor.as
+++ frameworks/projects/spark/src/spark/components/PopUpAnchor.as
@@ -26,7 +26,7 @@
 import mx.styles.ISimpleStyleClient;
 import mx.utils.MatrixUtil;

-import spark.core.RelativePosition;
+import spark.components.PopUpPosition;

 use namespace mx_internal;

@@ -70,13 +70,7 @@
     private var popUpIsDisplayed:Boolean = false;
     private var addedToStage:Boolean = false;

-    // TODO (jszeto) Update to new vector syntax
-    private static var decomposition:Vector.<Number> = new Vector.<Number>();
-    decomposition.push(0);
-    decomposition.push(0);
-    decomposition.push(0);
-    decomposition.push(0);
-    decomposition.push(0);
+    private static var decomposition:Vector.<Number> = new <Number>[0,0,0,0,0];

     //--------------------------------------------------------------------------
     //
@@ -248,16 +242,16 @@
     //  popUpPosition
     //----------------------------------

-    private var _popUpPosition:String = RelativePosition.EXACT;
+    private var _popUpPosition:String = PopUpPosition.TOP_LEFT;

     /**
      *  Position of the popUp when it is opened.
-     *  Possible values are "left", "right", "above", "below", "center", and "exact"
+     *  Possible values are "left", "right", "above", "below", "center", and "topLeft"
      *
      *
-     *  @default RelativePosition.EXACT
-     *
-     *  @see spark.core.RelativePosition
+     *  @default PopUpPosition.TOP_LEFT
+     *
+     *  @see spark.core.PopUpPosition
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -346,21 +340,21 @@
         {
             switch(popUpPosition)
             {
-                case RelativePosition.BELOW :
+                case PopUpPosition.BELOW :
                     if (popUpBounds.bottom > screen.bottom)
-                        adjustedPosition = RelativePosition.ABOVE;
+                        adjustedPosition = PopUpPosition.ABOVE;
                     break;
-                case RelativePosition.ABOVE :
+                case PopUpPosition.ABOVE :
                     if (popUpBounds.top < screen.top)
-                        adjustedPosition = RelativePosition.BELOW;
+                        adjustedPosition = PopUpPosition.BELOW;
                     break;
-                case RelativePosition.LEFT :
+                case PopUpPosition.LEFT :
                     if (popUpBounds.left < screen.left)
-                        adjustedPosition = RelativePosition.RIGHT;
+                        adjustedPosition = PopUpPosition.RIGHT;
                     break;
-                case RelativePosition.RIGHT :
+                case PopUpPosition.RIGHT :
                     if (popUpBounds.right > screen.right)
-                        adjustedPosition = RelativePosition.LEFT;
+                        adjustedPosition = PopUpPosition.LEFT;
                     break;
             }
         }
@@ -380,19 +374,19 @@
                 // then revert to the original position.
                 switch(adjustedPosition)
                 {
-                   case RelativePosition.BELOW :
+                   case PopUpPosition.BELOW :
                         if (adjustedBounds.bottom > screen.bottom)
                             adjustedPosition = null;
                         break;
-                    case RelativePosition.ABOVE :
+                    case PopUpPosition.ABOVE :
                         if (adjustedBounds.top < screen.top)
                             adjustedPosition = null;
                         break;
-                    case RelativePosition.LEFT :
+                    case PopUpPosition.LEFT :
                         if (adjustedBounds.left < screen.left)
                             adjustedPosition = null;
                         break;
-                    case RelativePosition.RIGHT :
+                    case PopUpPosition.RIGHT :
                         if (adjustedBounds.right > screen.right)
                             adjustedPosition = null;
                         break;
@@ -498,27 +492,27 @@
     {
         switch(placement)
         {
-            case RelativePosition.BELOW:
+            case PopUpPosition.BELOW:
                 registrationPoint.x = 0;
                 registrationPoint.y = unscaledHeight;
                 break;
-            case RelativePosition.ABOVE:
+            case PopUpPosition.ABOVE:
                 registrationPoint.x = 0;
                 registrationPoint.y = -popUpHeight;
                 break;
-            case RelativePosition.LEFT:
+            case PopUpPosition.LEFT:
                 registrationPoint.x = -popUpWidth;
                 registrationPoint.y = 0;
                 break;
-            case RelativePosition.RIGHT:
+            case PopUpPosition.RIGHT:
                 registrationPoint.x = unscaledWidth;
                 registrationPoint.y = 0;
                 break;
-            case RelativePosition.CENTER:
+            case PopUpPosition.CENTER:
                 registrationPoint.x = (unscaledWidth - popUpWidth) / 2;
                 registrationPoint.y = (unscaledHeight - popUpHeight) / 2;
                 break;
-            case RelativePosition.EXACT:
+            case PopUpPosition.TOP_LEFT:
                 // already 0,0
                 break;
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12934
Author:   rfrishbe@adobe.com
Date:     2009-12-15T01:54:22.402049Z

Log Message:
-----------
Cleaning up some FIXMEs in the code and fixing up some ASDocs.  Also fixing VSlider/HSlider dataTip positioning so that the thumb doesn't have to be in the same coordinate system as the Slider itself.

QE notes: -
Doc notes: -
Bugs: -
Reviewer: Kevin for part of it--otherwise just doc fixes
Tests run: checkintests, mustella Slider
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>

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

--- frameworks/projects/spark/src/spark/components/VideoPlayer.as
+++ frameworks/projects/spark/src/spark/components/VideoPlayer.as
@@ -1683,8 +1683,7 @@
                 volumeBar.muted = muted;
             }

-            // FIXME (rfrishbe): revisit this after kevin fixes it
-            volumeBar.addEventListener(FlexEvent.VALUE_COMMIT, volumeBar_valueCommitHandler);
+            volumeBar.addEventListener(Event.CHANGE, volumeBar_changeHandler);
             volumeBar.addEventListener(FlexEvent.MUTED_CHANGE, volumeBar_mutedChangeHandler);
         }
         else if (instance == scrubBar)
@@ -1840,7 +1839,7 @@
         }
         else if (instance == volumeBar)
         {
-            volumeBar.removeEventListener(FlexEvent.VALUE_COMMIT, volumeBar_valueCommitHandler);
+            volumeBar.removeEventListener(Event.CHANGE, volumeBar_changeHandler);
             volumeBar.removeEventListener(FlexEvent.MUTED_CHANGE, volumeBar_mutedChangeHandler);
         }
         else if (instance == scrubBar)
@@ -2229,7 +2228,7 @@

             systemManager.stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenEventHandler);

-            // FIXME (rfrishbe): Should we make this FULL_SCREEN_INTERACTIVE if in AIR?
+            // TODO (rfrishbe): Should we make this FULL_SCREEN_INTERACTIVE if in AIR?
             systemManager.stage.displayState = StageDisplayState.FULL_SCREEN;

             pauseWhenHidden = oldPauseWhenHidden;
@@ -2432,7 +2431,7 @@
     /**
      *  @private
      */
-    private function volumeBar_valueCommitHandler(event:Event):void
+    private function volumeBar_changeHandler(event:Event):void
     {
         if (volume != volumeBar.value)
             volume = volumeBar.value;


Transferred from the Adobe Open Source Subversion Repository

Revision: 6306
Author:   egeorgie@adobe.com
Date:     2009-04-28T01:17:42.359155Z

Log Message:
-----------
Layout PARB changes - rename "layout" package to "layouts"

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

Modified Paths:
--------------
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/BasicLayout.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/BasicLayout.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LayoutElementHelper.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/RowAlign.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/RowAlign.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/Block.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/Block.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/VerticalAlign.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalAlign.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LinearLayoutVector.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBarHorizontalLayout.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/HorizontalLayout.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HGroup.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/TileLayout.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText2.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LayoutBase.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/HorizontalAlign.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalAlign.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VGroup.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/VerticalLayout.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/ColumnAlign.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/ColumnAlign.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/TileOrientation.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileOrientation.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
@@ -9,7 +9,7 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-package spark.layout
+package spark.layouts
 {
 import flash.display.DisplayObject;
 import flash.events.Event;
@@ -22,9 +22,9 @@
 import mx.events.PropertyChangeEvent;

 import spark.components.supportClasses.GroupBase;
-import spark.layout.supportClasses.LayoutBase;
-import spark.layout.supportClasses.LayoutElementHelper;
-import spark.layout.supportClasses.LinearLayoutVector;
+import spark.layouts.supportClasses.LayoutBase;
+import spark.layouts.supportClasses.LayoutElementHelper;
+import spark.layouts.supportClasses.LinearLayoutVector;

 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 11247
Author:   klin@adobe.com
Date:     2009-10-28T21:59:11.963883Z

Log Message:
-----------
Fix for https://bugs.adobe.com/jira/browse/SDK-23184.

Updated a bunch of Style metadata ASDocs to describe different defaults between the Halo and Spark themes. Also, fixed a few typos along the way.

defaults.css - rearranged a few styles to be in alphabetical order
Button.as - removed extra emphasizedSkin style metadata
Panel.as - added spark theme to borderAlpha metadata

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/fl/video/NCManagerNative.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SkinStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/MenuItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/PopUpMenuIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/PaddingStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/GapStyles.as</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/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/fl/video/NCManagerDynamicStream.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/FocusStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>

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

--- frameworks/projects/mx/src/mx/controls/Menu.as
+++ frameworks/projects/mx/src/mx/controls/Menu.as
@@ -197,7 +197,8 @@
  *  The duration of the menu or submenu opening transition, in milliseconds.
  *  The value 0 specifies no transition.
  *
- *  @default 250
+ *  The default value for the Halo theme is 250.
+ *  The default value for the Spark theme is 0.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -209,7 +210,8 @@
 /**
  *  The color of the menu item background when a user rolls the mouse over it.
  *
- *  @default 0xB2E1FF
+ *  The default value for the Halo theme is 0xB2E1FF.
+ *  The default value for the Spark theme is 0xCEDBEF.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -221,7 +223,8 @@
 /**
  *  The color of the menu item background when a menu item is selected.
  *
- *  @default 0x7FCEFF
+ *  The default value for the Halo theme is 0x7FCEFF.
+ *  The default value for the Spark theme is 0xA8C6EE.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -260,7 +263,8 @@
  *  The color of the menu item text when a user rolls the mouse over the
  *  menu item.
  *
- *  @default 0x2B333C
+ *  The default value for the Halo theme is 0x2B333C.
+ *  The default value for the Spark theme is 0x000000.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -272,7 +276,8 @@
 /**
  *  The color of the menu item text when the menu item is selected.
  *
- *  @default 0x2B333C
+ *  The default value for the Halo theme is 0x2B333C.
+ *  The default value for the Spark theme is 0x000000.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -284,7 +289,9 @@
 /**
  *  The icon for all enabled menu items that have submenus.
  *
- *  The default value is the "MenuBranchEnabled" symbol in the Assets.swf file.
+ *  The default value for the Halo theme is the "MenuBranchEnabled" symbol
+ *  in the Assets.swf file.
+ *  The default value for the Spark theme is mx.skins.spark.MenuArrow.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -296,7 +303,9 @@
 /**
  *  The icon for all disabled menu items that have submenus.
  *
- *  The default value is the "MenuBranchDisabled" symbol in the Assets.swf file.
+ *  The default value for the Halo theme is the "MenuBranchDisabled" symbol
+ *  in the Assets.swf file.
+ *  The default value for the Spark theme is mx.skins.spark.MenuArrowDisabled.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -308,7 +317,9 @@
 /**
  *  The icon for all enabled menu items whose type identifier is a check box.
  *
- *  The default value is the "MenuCheckEnabled" symbol in the Assets.swf file.
+ *  The default value for the Halo theme is the "MenuCheckEnabled" symbol
+ *  in the Assets.swf file.
+ *  The default value for the Spark theme is mx.skins.spark.MenuCheck.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -320,7 +331,9 @@
 /**
  *  The icon for all dsiabled menu items whose type identifier is a check box.
  *
- *  The default value is the "MenuCheckDisabled" symbol in the Assets.swf file.
+ *  The default value for the Halo theme is the "MenuCheckDisabled" symbol
+ *  in the Assets.swf file.
+ *  The default value for the Spark theme is mx.skins.spark.MenuCheckDisabled.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -333,7 +346,9 @@
  *  The icon for all enabled menu items whose type identifier is a radio
  *  button.
  *
- *  The default value is the "MenuRadioEnabled" symbol in the Assets.swf file.
+ *  The default value for the Halo theme is the "MenuRadioEnabled" symbol
+ *  in the Assets.swf file.
+ *  The default value for the Spark theme is mx.skins.spark.MenuRadio.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -346,7 +361,9 @@
  *  The icon for all disabled menu items whose type identifier is a radio
  *  button.
  *
- *  The default value is the "MenuRadioDisabled" symbol in the Assets.swf file.
+ *  The default value for the Halo theme is the "MenuRadioDisabled" symbol
+ *  in the Assets.swf file.
+ *  The default value for the Spark theme is mx.skins.spark.MenuRadioDisabled.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -358,7 +375,9 @@
 /**
  *  The skin for all menu items which are identified as separators.
  *
- *  The default value is the "MenuSeparator" symbol in the Assets.swf file.
+ *  The default value for the Halo theme is the "MenuSeparator" symbol
+ *  in the Assets.swf file.
+ *  The default value for the Spark theme is mx.skins.spark.MenuSeparatorSkin.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9


Fix: wrong exception was raised when a vertexcomponent was missing

--- src/aerys/minko/render/renderer/state/RendererState.as
+++ src/aerys/minko/render/renderer/state/RendererState.as
@@ -465,11 +465,12 @@
 							if (component)
 							{
 								var stream 			: VertexStream 		= _vertexStream.getSubStreamByComponent(component);
-								var vertexBuffer 	: VertexBuffer3D	= stream.ressource.getVertexBuffer3D(context);
-								var vertexOffset 	: int				= stream.format.getOffsetForComponent(component);

 								if (!stream)
 									throw new Error("Missing vertex components: " + component.toString());
+
+								var vertexBuffer 	: VertexBuffer3D	= stream.ressource.getVertexBuffer3D(context);
+								var vertexOffset 	: int				= stream.format.getOffsetForComponent(component);

 								context.setVertexBufferAt(i, vertexBuffer, vertexOffset, component.nativeFormatString);
 							}
@@ -602,11 +603,12 @@
 					if (component)
 					{
 						var stream 			: VertexStream 		= _vertexStream.getSubStreamByComponent(component);
-						var vertexBuffer 	: VertexBuffer3D	= stream.ressource.getVertexBuffer3D(context);
-						var vertexOffset 	: int				= stream.format.getOffsetForComponent(component);

 						if (!stream)
 							throw new Error("Missing vertex components: " + component.toString());
+
+						var vertexBuffer 	: VertexBuffer3D	= stream.ressource.getVertexBuffer3D(context);
+						var vertexOffset 	: int				= stream.format.getOffsetForComponent(component);

 						context.setVertexBufferAt(i, vertexBuffer, vertexOffset, component.nativeFormatString);
 					}