Transferred from the Adobe Open Source Subversion Repository

Revision: 3057
Author:   jimurphy@adobe.com
Date:     2008-09-02T15:18:38.819662Z

Log Message:
-----------
Merged 3.0.x revisions [2966,2969,2995,3004,3018-3019,3023,3029-3030,3046,3049,3052] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/ModalWindowRequest.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/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.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" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/PopUpRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.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/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/SliderThumb.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/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SizeRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterManagerRequest.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterManagerRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FocusRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.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/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/dividedBoxClasses/BoxDivider.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/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootDragEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.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/managers/SystemManager.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.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/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/EventUtil.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootMouseEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeRequest.as</path>

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

--- frameworks/projects/mx/src/mx/controls/ColorPicker.as
+++ frameworks/projects/mx/src/mx/controls/ColorPicker.as
@@ -31,7 +31,7 @@
 import mx.events.DropdownEvent;
 import mx.events.FlexEvent;
 import mx.events.FlexMouseEvent;
-import mx.events.SandboxRootMouseEvent;
+import mx.events.SandboxMouseEvent;
 import mx.managers.IFocusManager;
 import mx.managers.ISystemManager;
 import mx.managers.PopUpManager;
@@ -1157,9 +1157,9 @@
                                             dropdownSwatch_mouseDownOutsideHandler);
             dropdownSwatch.addEventListener(FlexMouseEvent.MOUSE_WHEEL_OUTSIDE,
                                             dropdownSwatch_mouseDownOutsideHandler);
-            dropdownSwatch.addEventListener(SandboxRootMouseEvent.MOUSE_DOWN_SOMEWHERE,
+            dropdownSwatch.addEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE,
                                             dropdownSwatch_mouseDownOutsideHandler);
-            dropdownSwatch.addEventListener(SandboxRootMouseEvent.MOUSE_WHEEL_SOMEWHERE,
+            dropdownSwatch.addEventListener(SandboxMouseEvent.MOUSE_WHEEL_SOMEWHERE,
                                             dropdownSwatch_mouseDownOutsideHandler);

             dropdownSwatch.isOpening = true;
@@ -1222,9 +1222,9 @@
                                                dropdownSwatch_mouseDownOutsideHandler);
             dropdownSwatch.removeEventListener(FlexMouseEvent.MOUSE_WHEEL_OUTSIDE,
                                                dropdownSwatch_mouseDownOutsideHandler);
-            dropdownSwatch.removeEventListener(SandboxRootMouseEvent.MOUSE_DOWN_SOMEWHERE,
+            dropdownSwatch.removeEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE,
                                             dropdownSwatch_mouseDownOutsideHandler);
-            dropdownSwatch.removeEventListener(SandboxRootMouseEvent.MOUSE_WHEEL_SOMEWHERE,
+            dropdownSwatch.removeEventListener(SandboxMouseEvent.MOUSE_WHEEL_SOMEWHERE,
                                             dropdownSwatch_mouseDownOutsideHandler);

             PopUpManager.removePopUp(dropdownSwatch);
@@ -1509,7 +1509,7 @@
             if (!hitTestPoint(mouseEvent.stageX, mouseEvent.stageY, true))
                 close(event);
         }
-        else if (event is SandboxRootMouseEvent)
+        else if (event is SandboxMouseEvent)
             close(event);
     }


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

--- frameworks/projects/rpc/src/mx/rpc/xml/IXMLEncoder.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/IXMLEncoder.as
@@ -0,0 +1,60 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.rpc.xml
+{
+
+[ExcludeClass]
+
+/**
+ * Encodes an ActionScript object graph to XML based on an XML schema.
+ *
+ */
+public interface IXMLEncoder
+{
+    /**
+     * Encodes an ActionScript value as XML.
+     *
+     * @param value The ActionScript value to encode as XML.
+     * @param name The QName of an XML Schema element that
+     * describes how to encode the value, or the name to be used for the
+     * encoded XML node when a type parameter is also specified.
+     * @param type The QName of an XML Schema simpleType or
+     * complexType definition that describes how to encode the
+     * value.
+     * @param definition If neither a top-level element nor type exists in the
+     * schema to describe how to encode this value, a custom element definition
+     * can be provided.
+     */
+    function encode(value:*, name:QName = null, type:QName = null, definition:XML = null):XMLList;
+
+    /**
+     * Resets the encoder to its initial state, including resetting any
+     * Schema scope to the top level.
+     */
+    function reset():void;
+
+
+    //--------------------------------------------------------------------------
+    //
+    // Properties
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * The function to be used to escape XML special characters before encoding
+     * any simple content.
+     */
+    function get xmlSpecialCharsFilter():Function;
+    function set xmlSpecialCharsFilter(func:Function):void;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.rpc.xml
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17698
Author:   cframpto@adobe.com
Date:     2010-09-14T18:28:11.600325Z

Log Message:
-----------
If the scroll bar is not visible, the mouse wheel handler should return immediately without consuming the event.

QE notes:
Doc notes:
Bugs:  SDK-25291
Reviewer: Hans
Tests run: checkin, mustella
Is noteworthy for integration:

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

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

--- frameworks/projects/spark/src/spark/components/HScrollBar.as
+++ frameworks/projects/spark/src/spark/components/HScrollBar.as
@@ -423,12 +423,12 @@
     mx_internal function mouseWheelHandler(event:MouseEvent):void
     {
         const vp:IViewport = viewport;
-        if (event.isDefaultPrevented() || !vp || !vp.visible)
+        if (event.isDefaultPrevented() || !vp || !vp.visible || !visible)
             return;

         var nSteps:uint = Math.abs(event.delta);
         var navigationUnit:uint;
-
+
         // Scroll event.delta "steps".
         navigationUnit = (event.delta < 0) ? NavigationUnit.RIGHT : NavigationUnit.LEFT;
         for (var hStep:int = 0; hStep < nSteps; hStep++)


Transferred from the Adobe Open Source Subversion Repository

Revision: 12331
Author:   smgilson@adobe.com
Date:     2009-12-01T19:45:33.274910Z

Log Message:
-----------
ASDoc updates in preparation for localization

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/VScrollBar.as
+++ frameworks/projects/spark/src/spark/components/VScrollBar.as
@@ -72,7 +72,6 @@
  *
  *

  *  <s:VScrollBar
- *
  *    Properties
  *    viewport=""
  *  />


Transferred from the Adobe Open Source Subversion Repository

Revision: 2668
Author:   kelin@adobe.com
Date:     2008-07-30T21:05:00.806335Z

Log Message:
-----------
Massive check-in:

Updated Range, TrackBase, Slider, Spinner to use valueInterval to constrain values. In Slider, snapInterval was removed in favor of just using stepSize (for simplicity). TrackBase also is able to handle a resizable thumb.

Refactored ScrollBar to subclass TrackBase instead of Range in order to share thumb dragging code. pageSize was also moved from Range into ScrollBar.

Added a basic version of NumericStepper that can handle simple operations like committing the value when the enter key is pressed.

Skins for each of the components were also updated/added as needed. I also updated flex4test/CircularScrollBar.

QE: Yes!
Reviewer: Chet, Gordon, Jason

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/HSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/HScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Range.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/VSliderTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/VScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/skins/MyVScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/NumericStepper.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/NumericStepperSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/VSlider.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/flex/component/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/SpinnerDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/VSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/VScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/SpinnerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/HSliderTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/HScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/flex4test.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/SpinnerIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/components/CircularScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/skins/CircularScrollBarSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/VScrollBar.as
+++ frameworks/projects/spark/src/spark/components/VScrollBar.as
@@ -22,7 +22,6 @@
  *
Although you can use the VScrollBar control as a stand-alone control,
  *  you usually combine it as part of another group of components to
  *  provide scrolling functionality.

- *
  */
 public class VScrollBar extends ScrollBar
 {
@@ -49,7 +48,7 @@
     //--------------------------------------------------------------------------

     /**
-     * The size of the track on a VScrollBar equals the height of the track.
+     *  The size of the track on a VScrollBar equals the height of the track.
      */
     override protected function get trackSize():Number
     {
@@ -59,20 +58,6 @@
             return 0;
     }

-    /**
-     * HScrollBar's thumbSize determines the height of the thumb button.
-     * The button's minWidth property acts as a lower bound on this size.
-     */
-    override protected function set thumbSize(size:Number):void
-    {
-        super.thumbSize = Math.max(size, thumb.minHeight);
-        thumb.height = thumbSize;
-    }
-    override protected function get thumbSize():Number
-    {
-        return super.thumbSize;
-    }
-
     //--------------------------------------------------------------------------
     //
     // Methods
@@ -80,11 +65,11 @@
     //--------------------------------------------------------------------------

     /**
-     * Position the thumb button according to the given thumbPos parameter,
-     * relative to the current y location of the track in the scrollbar control.
+     *  Position the thumb button according to the given thumbPos parameter,
+     *  relative to the current y location of the track in the scrollbar control.
      *
-     * @param thumbPos A number representing the new position of the thumb
-     * button in the control.
+     *  @param thumbPos A number representing the new position of the thumb
+     *  button in the control.
      */
     override protected function positionThumb(thumbPos:Number):void
     {
@@ -96,17 +81,33 @@
     }

     /**
-     * The position of the thumb on a VScrollBar is equal to the given
-     * localY parameter.
+     *  @private
+     */
+    override protected function calculateThumbSize():Number
+    {
+        return Math.max(thumb.minHeight, super.calculateThumbSize());
+    }
+
+    /**
+     *  @private
+     */
+    override protected function sizeThumb(thumbSize:Number):void
+    {
+        thumb.height = thumbSize;
+    }
+
+    /**
+     *  The position of the thumb on a VScrollBar is equal to the given
+     *  localY parameter.
      *
-     * @param localX The x position relative to the scrollbar control
-     * @param localY The y position relative to the scrollbar control
+     *  @param localX The x position relative to the scrollbar control
+     *  @param localY The y position relative to the scrollbar control
      */
-    override protected function getScrollPosition(localX:Number,
-                                                  localY:Number):Number
+    override protected function pointToPosition(localX:Number,
+                                                localY:Number):Number
     {
         return localY;
     }
 }

-}
+}


Replace "***" with a divider element.

Replace "***" with a divider element.

--- bin/Data/Scripts/Editor/AttributeEditor.as
+++ bin/Data/Scripts/Editor/AttributeEditor.as
@@ -483,6 +483,16 @@
             AttributeInfo vectorInfo;
             vectorInfo.name = vectorStruct.variableNames[nameIndex++];
             bool nested = vectorInfo.name.Contains('>');
+
+            // Create small divider for repeated instances
+            if (vectorInfo.name.Contains("***"))
+            {
+                vectorInfo.name.Replace("***", "   ");
+                UIElement@ divider = UIElement();
+                divider.SetFixedHeight(8);
+                list.AddItem(divider);
+            }
+
             if (nested)
             {
                 vectorInfo.type = VAR_VARIANTVECTOR;


Optimize uv shader for limit values

Optimize uv shader for limit values

--- src/aerys/minko/render/effect/vertex/VertexUVShader.as
+++ src/aerys/minko/render/effect/vertex/VertexUVShader.as
@@ -7,8 +7,7 @@
 	import aerys.minko.type.stream.format.VertexComponent;

 	public class VertexUVShader extends BasicShader
-	{
-
+	{
 		public function VertexUVShader(target 	: RenderTarget 	= null,
 									   priority	: Number		= 0)
 		{
@@ -17,7 +16,7 @@

 		override protected function getPixelColor() : SFloat
 		{
-			var uv 				: SFloat = getVertexAttribute(VertexComponent.UV);
+			var uv 	: SFloat = getVertexAttribute(VertexComponent.UV);

 			if (meshBindings.propertyExists(BasicProperties.DIFFUSE_UV_SCALE))
 				uv.scaleBy(meshBindings.getParameter(BasicProperties.DIFFUSE_UV_SCALE, 2));
@@ -25,7 +24,14 @@
 			if (meshBindings.propertyExists(BasicProperties.DIFFUSE_UV_OFFSET))
 				uv.incrementBy(meshBindings.getParameter(BasicProperties.DIFFUSE_UV_OFFSET, 2));

-			var interpolatedUv 	: SFloat = fractional(interpolate(uv));
+			uv = interpolate(uv);
+
+			var fractional : SFloat = fractional(uv);
+			var fractionalIsZero : SFloat = equal(fractional, float2(0, 0));
+			var interpolatedUv 	: SFloat = add(
+				multiply(not(fractionalIsZero), fractional),
+				multiply(fractionalIsZero, saturate(uv))
+			);

 			return float4(interpolatedUv.x, interpolatedUv.y, 0, 1);
 		}


Added speed parameter to ArcBallController

--- src/aerys/minko/scene/controller/camera/ArcBallController.as
+++ src/aerys/minko/scene/controller/camera/ArcBallController.as
@@ -47,13 +47,25 @@

 		private var _inertia			: Number	= 1.0;
 		private var _interpolationSpeed	: Number	= 1;
-
+		private var _speed				: Number	= 1;
+
+		public function get speed() : Number
+		{
+			return _speed;
+		}
+
+		public function set speed(value : Number) : void
+		{
+			_speed = value;
+			_update = true;
+		}
+
 		public function get inertia() : Number
 		{
 			return _inertia;
 		}

-		public function set inertia(value : Number):void
+		public function set inertia(value : Number) : void
 		{
 			_inertia = value;
 		}
@@ -63,7 +75,7 @@
 			return _interpolationSpeed;
 		}

-		public function set interpolationSpeed(value : Number):void
+		public function set interpolationSpeed(value : Number) : void
 		{
 			_interpolationSpeed = value;
 		}
@@ -279,9 +291,9 @@
 				}

 				_position.set(
-					_lookAt.x + _distance * Math.cos(_yaw) * Math.sin(_pitch),
-					_lookAt.y + _distance * Math.cos(_pitch),
-					_lookAt.z + _distance * Math.sin(_yaw) * Math.sin(_pitch)
+					_speed * (_lookAt.x + _distance * Math.cos(_yaw) * Math.sin(_pitch)),
+					_speed * (_lookAt.y + _distance * Math.cos(_pitch)),
+					_speed * (_lookAt.z + _distance * Math.sin(_yaw) * Math.sin(_pitch))
 				);
 				TMP_MATRIX.lookAt(_lookAt, _position, _up);

@@ -305,7 +317,7 @@
 			if (e.buttonDown && _enabled)
 			{
 				_newYaw		+= (_mousePosition.x - e.stageX) * _yawStep;
-				_newPitch		+= (_mousePosition.y - e.stageY) * _pitchStep;
+				_newPitch	+= (_mousePosition.y - e.stageY) * _pitchStep;

 				_update = true;
 			}


[CEXP-257] MicrophoneLevelEvent: Removed unit test - it's a model

--- src/test/flashwavrecorder/MicrophoneLevelEventTest.as
+++ src/test/flashwavrecorder/MicrophoneLevelEventTest.as
@@ -1,28 +0,0 @@
-package flashwavrecorder {
-
-  import org.hamcrest.assertThat;
-  import org.hamcrest.object.equalTo;
-
-  public class MicrophoneLevelEventTest {
-    private var microphoneLevelEvent:MicrophoneLevelEvent;
-
-    [Test]
-    public function should_have_type_property_equal_to_its_static_constant_property():void {
-      // when
-      microphoneLevelEvent = new MicrophoneLevelEvent(23);
-      // then
-      assertThat(microphoneLevelEvent.type, equalTo(MicrophoneLevelEvent.LEVEL_VALUE));
-    }
-
-    [Test]
-    public function should_allow_getting_value_provided_while_initialization():void {
-      // given
-      var levelValue:Number = 23;
-      // when
-      microphoneLevelEvent = new MicrophoneLevelEvent(levelValue);
-      // then
-      assertThat( microphoneLevelEvent.levelValue, equalTo(levelValue));
-    }
-
-  }
-}


- collision detection - moving hero touch

--- framework/screenstates/GamePlay.as
+++ framework/screenstates/GamePlay.as
@@ -8,6 +8,10 @@
 	import framework.utils.GameAssets;
 	import framework.gameobject.Obstacle;
 	import flash.geom.Rectangle;
+	import starling.events.TouchEvent;
+	import starling.events.Touch;
+	import starling.utils.deg2rad;
+

 	public class GamePlay extends Sprite{

@@ -32,6 +36,10 @@

 		private var obstacleToAnimate:Vector.<Obstacle>;

+		private var touch:Touch;
+		private var touchX:Number;
+		private var touchY:Number;
+
 		public function GamePlay() {
 			// constructor code
 			super();
@@ -49,7 +57,6 @@
 			bg = new GameBackground();
 			bg.speed = 50;
 			this.addChild(bg);
-

 			hero = new Hero();
 			hero.x = stage.stageWidth/2;
@@ -103,7 +110,16 @@

 		private function launchHero():void
 		{
+			this.addEventListener(TouchEvent.TOUCH, onTouch);
 			this.addEventListener(Event.ENTER_FRAME, onGameTick);
+		}
+
+		private function onTouch(event:TouchEvent):void
+		{
+			touch = event.getTouch(stage);
+
+			touchX = touch.globalX;
+			touchY = touch.globalY;
 		}

 		private function onGameTick(event:Event):void
@@ -126,6 +142,33 @@
 					}
 					break;
 				case "flying":
+
+					if(hitObstacle <= 0)
+					{
+						hero.y -= (hero.y - touchY) * 0.1;
+
+						if(-(hero.y - touchY)<150 && -(hero.y - touchY)>-150)
+						{
+							hero.rotation = deg2rad(-(hero.y -touchY) * 0.2);
+						}
+						if(hero.y > gameArea.bottom - hero.height * 0.5)
+						{
+							hero.y = gameArea.bottom - hero.height * 0.5;
+							hero.rotation = deg2rad(0);
+						}
+						if(hero.y < gameArea.top + hero.height * 0.5)
+						{
+							hero.y = gameArea.top + hero.height * 0.5;
+							hero.rotation = deg2rad(0);
+						}
+
+					}
+					else
+					{
+						hitObstacle--;
+						cameraShake();
+					}
+
 					playerSpeed -= (playerSpeed - MIN_SPEED) * 0.01;
 					bg.speed = playerSpeed * elapsed;
 					scoreDistance += (playerSpeed * elapsed)*0.1;
@@ -136,8 +179,22 @@
 				case "over":
 				break;
 			}
-		}
-
+
+		}
+
+		private function cameraShake():void
+		{
+			if(hitObstacle > 0)
+			{
+				this.x = Math.random() * hitObstacle;
+				this.y = Math.random() * hitObstacle;
+			}
+			else if(x != 0)
+			{
+				this.x = 0;
+				this.y = 0;
+			}
+		}
 		private function animateObstacles():void
 		{
 			var obstacleToTrack:Obstacle;
@@ -145,6 +202,14 @@
 			{
 				obstacleToTrack = obstacleToAnimate[i];

+				if(obstacleToTrack.alreadyHit == false &&
+				   obstacleToTrack.bounds.intersects(hero.bounds))
+				{
+					obstacleToTrack.alreadyHit = true;
+					obstacleToTrack.rotation = deg2rad(70);
+					hitObstacle = 30;
+					playerSpeed *= 0.5;
+				}
 				if(obstacleToTrack.distance > 0)
 				{
 					obstacleToTrack.distance -= playerSpeed * elapsed;


minor coding style fix in SFloat

minor coding style fix in SFloat

--- src/aerys/minko/render/shader/SFloat.as
+++ src/aerys/minko/render/shader/SFloat.as
@@ -117,8 +117,8 @@

 		override flash_proxy function setProperty(name : *, value : *) : void
 		{
-			var nodeComponent		: uint = Components.createContinuous(0, 0, _node.size, _node.size);
-			var propertyComponent	: uint	= Components.stringToComponent(name);
+			var nodeComponent		: uint 			= Components.createContinuous(0, 0, _node.size, _node.size);
+			var propertyComponent	: uint			= Components.stringToComponent(name);
 			var propertyNode		: AbstractNode	= getNode(value);

 			_node = new Overwriter(


Fixed a GButton bug.

Fixed a GButton bug.

--- source/fairygui/GButton.as
+++ source/fairygui/GButton.as
@@ -346,6 +346,8 @@
 				this._downEffect = str=="dark"?1:(str=="scale"?2:0);
 				str = xml.getAttribute("downEffectValue");
 				this._downEffectValue = parseFloat(str);
+				if(this._downEffect==2)
+					this.setPivot(0.5, 0.5);
 			}

 			this._buttonController = this.getController("button");
@@ -367,9 +369,6 @@

 		override public function setup_afterAdd(xml: Object): void {
 			super.setup_afterAdd(xml);
-
-			if(this._downEffect==2)
-				this.setPivot(0.5, 0.5);

 			xml = ToolSet.findChildNode(xml, "Button");
 			if (xml) {


Add a millisecond-resolution date format to the autodetection list.

--- WeaveData/src/weave/data/AttributeColumns/DateColumn.as
+++ WeaveData/src/weave/data/AttributeColumns/DateColumn.as
@@ -406,7 +406,8 @@
 			"%Y-%b-%d %T",
 			"%Y-%b-%d %H:%M:%S",
 			"%d-%b-%Y %T",
-			"%d-%b-%Y %H:%M:%S"
+			"%d-%b-%Y %H:%M:%S",
+			"%d-%b-%Y %H:%M:%S.%Q",

 			/*
 			//https://code.google.com/p/datejs/source/browse/trunk/src/globalization/en-US.js


fixed bug where ProxyColumn title was being replaced.

--- WeaveData/src/weave/data/DataSources/WeaveDataSource.as
+++ WeaveData/src/weave/data/DataSources/WeaveDataSource.as
@@ -361,7 +361,7 @@

 			//trace("requestColumnFromSource()",pathInHierarchy.toXMLString());
 			var leafNode:XML = HierarchyUtils.getLeafNodeFromPath(pathInHierarchy);
-			proxyColumn.setMetadata(leafNode);
+			proxyColumn.setMetadata(leafNode != null ? leafNode.copy() : null);
 			if (ObjectUtil.stringCompare(ColumnUtils.getDataType(proxyColumn), DataTypes.GEOMETRY, true) == 0)
 			{
 				var tileService:IWeaveGeometryTileService = dataService.createTileService(proxyColumn.getMetadata('name'));


proxy columns now busy when table query is busy

--- WeaveData/src/weave/data/DataSources/WeaveDataSource.as
+++ WeaveData/src/weave/data/DataSources/WeaveDataSource.as
@@ -16,6 +16,7 @@
 package weave.data.DataSources
 {
 	import flash.net.URLRequest;
+	import flash.utils.Dictionary;

 	import mx.rpc.AsyncToken;
 	import mx.rpc.events.FaultEvent;
@@ -62,7 +63,6 @@
 	import weave.services.beans.TableData;
 	import weave.utils.ColumnUtils;
 	import weave.utils.HierarchyUtils;
-	import weave.utils.VectorUtils;
 	import weave.utils.WeavePromise;

 	/**
@@ -83,6 +83,7 @@

 		private var _service:WeaveDataServlet = null;
 		private var _tablePromiseCache:Object;
+		private var _proxyPromiseCache:Dictionary;
 		private var _entityCache:EntityCache = null;
 		public const url:LinkableString = newLinkableChild(this, LinkableString);
 		public const hierarchyURL:LinkableString = newLinkableChild(this, LinkableString);
@@ -276,6 +277,7 @@
 			_service = registerLinkableChild(this, new WeaveDataServlet(url.value), setIdFields);
 			_entityCache = registerLinkableChild(_service, new EntityCache(_service));
 			_tablePromiseCache = {};
+			_proxyPromiseCache = new Dictionary(true);

 			url.resumeCallbacks();
 		}
@@ -710,8 +712,7 @@
 						var getTablePromise:WeavePromise = new WeavePromise(_service)
 							.then(function(..._):AsyncToken {
 								return _service.getTable(result.tableId, sqlParams);
-							})
-							.then(null, reportError);
+							});

 						var keyStrings:Array;
 						promise = getTablePromise
@@ -756,7 +757,8 @@
 									tableData.derived_qkeys = qkeys;
 									return tableData;
 								});
-							});
+							})
+							.then(null, reportError);
 						_tablePromiseCache[hash] = promise;
 					}

@@ -771,6 +773,11 @@

 						setRecords(tableData.derived_qkeys);
 					});
+
+					// make proxyColumn busy while table promise is busy
+					var proxyPromise:WeavePromise = _proxyPromiseCache[proxyColumn];
+					if (!proxyPromise)
+						_proxyPromiseCache[proxyColumn] = proxyPromise = new WeavePromise(proxyColumn).then(function(_:*):* { return promise; });
 				}
 			}
 			catch (e:Error)


no longer reporting errors for rpc calls when service is disposed

--- WeaveData/src/weave/data/DataSources/WeaveDataSource.as
+++ WeaveData/src/weave/data/DataSources/WeaveDataSource.as
@@ -493,6 +493,8 @@
 		}
 		private function handleFault(event:FaultEvent, token:Object = null):void
 		{
+			if (objectWasDisposed(dataService))
+				return;
 			reportError(event);
 			trace('async token',ObjectUtil.toString(token));
 		}


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

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

 package mx.automation.events
 {


Improved performance of OrderedHashMap

Improved performance of OrderedHashMap

--- WeaveCore/src/weave/utils/OrderedHashMap.as
+++ WeaveCore/src/weave/utils/OrderedHashMap.as
@@ -28,41 +28,38 @@
 	public class OrderedHashMap extends Proxy
 	{
 		protected var names:Array = [];
-		protected var values:Array = [];
+		protected var values:Object = {};

 		override flash_proxy function callProperty(name:*, ...parameters):*
 		{
-			var i:int = names.indexOf(String(name));
-			var value:Function = values[i];
-			return value.apply(this, parameters);
+			return values[name].apply(this, parameters);
 		}
 		override flash_proxy function hasProperty(name:*):Boolean
 		{
-			return names.indexOf(String(name)) >= 0;
+			return values.hasOwnProperty(name);
 		}
 		override flash_proxy function getProperty(name:*):*
 		{
-			var i:int = names.indexOf(String(name));
-			if (i >= 0)
-				return values[i];
-			return null;
+			return values[name];
 		}
 		override flash_proxy function setProperty(name:*, value:*):void
 		{
-			deleteProperty(name);
+			var nameStr:String = name;
+			var i:int = names.indexOf(nameStr);
+			if (i >= 0)
+				names.splice(i, 1);

-			names.push(String(name));
-			values.push(value);
+			values[nameStr] = value;
+			names.push(nameStr);
 		}
 		override flash_proxy function deleteProperty(name:*):Boolean
 		{
-			var i:int = names.indexOf(String(name));
+			var nameStr:String = name;
+			var i:int = names.indexOf(nameStr);
 			if (i >= 0)
-			{
 				names.splice(i, 1);
-				values.splice(i, 1);
-			}
-			return i >= 0;
+
+			return delete values[nameStr];
 		}
 		override flash_proxy function nextNameIndex(index:int):int
 		{


Fixed crash when ExternalInterface.available == false

Change-Id: Ia0638d3213211fa91110b6ef31d6f5733e618f7a

--- WeaveUI/src/weave/application/VisApplication.as
+++ WeaveUI/src/weave/application/VisApplication.as
@@ -201,9 +201,11 @@
 			Weave.properties.backgroundColor.addImmediateCallback(this, invalidateDisplayList, true);

 			if (ExternalInterface.available)
+			{
 				ExternalInterface.addCallback('loadFile', loadFile);
-			WeaveAPI.initializeExternalInterface();
-			WeaveAPI.executeJavaScript(new _InitializeWeaveData.WeavePathData());
+				WeaveAPI.initializeExternalInterface();
+				WeaveAPI.executeJavaScript(new _InitializeWeaveData.WeavePathData());
+			}

 			getFlashVars();
 			handleFlashVarPresentation();


added 'common' to the list of suggested aggregation values.

Change-Id: I764e90bf975eeec3142adb465115d491a972aaee

--- WeaveAPI/src/weave/api/data/ColumnMetadata.as
+++ WeaveAPI/src/weave/api/data/ColumnMetadata.as
@@ -60,7 +60,7 @@
 					return ['YYYY', 'YYYY-MM-DD', 'HH:NN:SS'];

 				case ColumnMetadata.AGGREGATION:
-					return [Aggregation.FIRST, Aggregation.LAST, Aggregation.MEAN, Aggregation.SUM, Aggregation.COUNT, Aggregation.MIN, Aggregation.MAX];
+					return [Aggregation.FIRST, Aggregation.LAST, Aggregation.COMMON, Aggregation.MEAN, Aggregation.SUM, Aggregation.COUNT, Aggregation.MIN, Aggregation.MAX];

 				default:
 					return [];


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.automation.delegates.controls
 {


Fixed missing 'message' field from bad merge

--- asunit-4.0/src/asunit/framework/Method.as
+++ asunit-4.0/src/asunit/framework/Method.as
@@ -9,6 +9,7 @@
         private var _scopeName:String;

 		public var expects:String;
+        public var message:String;
 		public var ignore:Boolean;
         public var ignoreDescription:String;
 		public var metadata:ReflectionMetaData;
@@ -34,6 +35,7 @@

                 handleTimeoutMetaData();
                 applyMetaData('expects');
+                applyMetaData('message');
                 applyMetaData('order');
             }
         }


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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -48,6 +48,9 @@
 import spark.skins.spark.DropDownListButtonSkin; DropDownListButtonSkin;
 import spark.skins.spark.DropDownListSkin; DropDownListSkin;
 import spark.skins.spark.ErrorSkin; ErrorSkin;
+import spark.skins.spark.FormHeadingSkin; FormHeadingSkin;
+import spark.skins.spark.FormItemSkin; FormItemSkin;
+import spark.skins.spark.FormSkin; FormSkin;
 import spark.skins.spark.FocusSkin; FocusSkin;
 import spark.skins.spark.HScrollBarSkin; HScrollBarSkin;
 import spark.skins.spark.HScrollBarThumbSkin; HScrollBarThumbSkin;
@@ -72,6 +75,8 @@
 import spark.skins.spark.SpinnerDecrementButtonSkin; SpinnerDecrementButtonSkin;
 import spark.skins.spark.SpinnerIncrementButtonSkin; SpinnerIncrementButtonSkin;
 import spark.skins.spark.SpinnerSkin; SpinnerSkin;
+import spark.skins.spark.StackedFormHeadingSkin; StackedFormHeadingSkin;
+import spark.skins.spark.StackedFormItemSkin; StackedFormItemSkin;
 import spark.skins.spark.TabBarSkin; TabBarSkin;
 import spark.skins.spark.TabBarButtonSkin; TabBarButtonSkin;
 import spark.skins.spark.TextAreaSkin; TextAreaSkin;


Transferred from the Adobe Open Source Subversion Repository

Revision: 11444
Author:   hmuller@adobe.com
Date:     2009-11-04T20:22:02.152655Z

Log Message:
-----------
Initial commit of the TabBar component.  ButtonBar and TabBar share a new base class called ButtonBarBase.

QE notes: tests for TabBar are TBD
Doc notes: Please check the new TabBar, ButtonBarBase ASDoc
Bugs:
Reviewer: Alex, Glenn
Tests run: ButtonBar Mustella tests pass
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TabBarButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TabBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</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/ButtonBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -77,6 +77,8 @@
 import spark.skins.spark.SpinnerDecrementButtonSkin; SpinnerDecrementButtonSkin;
 import spark.skins.spark.SpinnerIncrementButtonSkin; SpinnerIncrementButtonSkin;
 import spark.skins.spark.SpinnerSkin; SpinnerSkin;
+import spark.skins.spark.TabBarSkin; TabBarSkin;
+import spark.skins.spark.TabBarButtonSkin; TabBarButtonSkin;
 import spark.skins.spark.TextAreaSkin; TextAreaSkin;
 import spark.skins.spark.TextInputSkin; TextInputSkin;
 import spark.skins.spark.TitleWindowSkin; TitleWindowSkin;


Notifier class is public now

Notifier class is public now

--- src/ru/whitered/kote/Notifier.as
+++ src/ru/whitered/kote/Notifier.as
@@ -4,7 +4,7 @@
 	/**
 	 * Notifier class used as a base for all classes that have to send notifications
 	 */
-	internal class Notifier
+	public class Notifier
 	{
 		/**
 		 * Signal that sends notification


handle null dataprovider

handle null dataprovider

--- frameworks/as/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForArrayData.as
+++ frameworks/as/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForArrayData.as
@@ -44,7 +44,7 @@
 			selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
 			var listBead:IListBead = value.getBeadByType(IListBead) as IListBead;
 			dataGroup = listBead.dataGroup;
-			selectionModel.addEventListener("dataProviderChange", dataProviderChangeHandler);
+			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
 			dataProviderChangeHandler(null);
 		}

@@ -55,6 +55,8 @@
 		private function dataProviderChangeHandler(event:Event):void
 		{
 			var dp:Array = selectionModel.dataProvider as Array;
+			if (!dp)
+				return;
 			var n:int = dp.length;
 			for (var i:int = 0; i < n; i++)
 			{


clean up

clean up

--- testSrc/com/kemsky/TestStream.as
+++ testSrc/com/kemsky/TestStream.as
@@ -898,7 +898,7 @@
                 assertEquals(flatDefault[i], i + 1);
             }

-            var flatMap:Stream = s.flatMap(function (item:*):Array
+            var flatMap:Stream = s.flatMap(function (item:*, index:uint, stream:Stream):Array
             {
                 return [item.length];
             });


beacon init parameters moved to flashvars from querystring

--- src/org/openvv/OVVCheck.as
+++ src/org/openvv/OVVCheck.as
@@ -64,6 +64,12 @@
          */
         public static const VIEWABLE: String = 'viewable';

+        /**
+         * The value that {@link OVVCheck#viewabilityState} will be set to if the beacons
+         * are not ready to determine the viewability state
+         */
+         public static const NOT_READY: String = "not_ready";
+
         ////////////////////////////////////////////////////////////
         //   ATTRIBUTES
         ////////////////////////////////////////////////////////////


orbit around all selected nodes/components

--- Bin/Data/Scripts/Editor/EditorView.as
+++ Bin/Data/Scripts/Editor/EditorView.as
@@ -346,10 +346,11 @@

             Quaternion q = Quaternion(cameraPitch, cameraYaw, 0);
             cameraNode.rotation = q;
-            if (input.mouseButtonDown[MOUSEB_MIDDLE] && editNode !is null)
+            if (input.mouseButtonDown[MOUSEB_MIDDLE] && (selectedNodes.length > 0 || selectedComponents.length > 0))
             {
-                Vector3 d = cameraNode.worldPosition - editNode.worldPosition;
-                cameraNode.worldPosition = editNode.worldPosition - q * Vector3(0.0, 0.0, d.length);
+                Vector3 centerPoint = SelectedNodesCenterPoint();
+                Vector3 d = cameraNode.worldPosition - centerPoint;
+                cameraNode.worldPosition = centerPoint - q * Vector3(0.0, 0.0, d.length);
                 orbiting = true;
             }

@@ -694,3 +695,26 @@
     testAnimState = null;
     return true;
 }
+
+Vector3 SelectedNodesCenterPoint()
+{
+    Vector3 centerPoint;
+    uint count = selectedNodes.length;
+    for (uint i = 0; i < selectedNodes.length; ++i)
+        centerPoint += selectedNodes[i].worldPosition;
+
+    for (uint i = 0; i < selectedComponents.length; ++i)
+    {
+        Drawable@ drawable = cast<Drawable>(selectedComponents[i]);
+        if (drawable !is null)
+        {
+            centerPoint += drawable.node.LocalToWorld(drawable.boundingBox.center);
+            count++;
+        }
+    }
+
+    if (count > 0)
+        return centerPoint / count;
+    else
+        return centerPoint;
+}


Initial work on module configs

Initial work on module configs

--- src/LevelState.as
+++ src/LevelState.as
@@ -7,6 +7,7 @@
 	import Displays.*;
 	import Modules.Module;
 	import UI.ButtonList;
+	import UI.ModuleSlider;
 	import UI.TextButton;
 	import Values.Value;
 	import Components.Carrier;
@@ -34,6 +35,8 @@
 		protected var modeButton:GraphicButton;
 		protected var modeList:ButtonList;
 		protected var mode:int = MODE_CONNECT;
+		protected var moduleList:ButtonList;
+		protected var moduleSlider:ModuleSlider;

 		public var actionStack:Vector.<Action>;
 		public var reactionStack:Vector.<Action>;
@@ -251,7 +254,7 @@
 					}).setParam(moduleType));

 				//put 'em in a list
-				var moduleList:ButtonList = new ButtonList(listButton.X, listButton.Y, moduleButtons);
+				moduleList = new ButtonList(listButton.X, listButton.Y, moduleButtons);
 				moduleList.setSpacing(4);
 				moduleList.justDie = true;
 				upperLayer.add(moduleList);
@@ -331,6 +334,27 @@
 				currentModule = null;
 			}

+			if (moduleSlider && moduleSlider.overlapsPoint(FlxG.mouse))
+				moduleList.exists = true;
+
+			var moduleButtonMoused:Boolean;
+			if (moduleList && !moduleList.exists)
+				moduleList = null;
+			else if (moduleList)
+				for each (var button:MenuButton in moduleList.buttons)
+					if (button.moused && Module.getArchetype(button.callWithParam as Class).configuration != null) {
+						moduleButtonMoused = true;
+						if (moduleSlider && moduleSlider.parent != button)
+							moduleSlider.exists = false;
+						upperLayer.add(moduleSlider = new ModuleSlider(button)); //TODO
+						break;
+					}
+
+			if (moduleSlider && !moduleButtonMoused) {
+				moduleSlider.exists = false;
+				moduleSlider = null;
+			}
+
 			if (!tick) return;

 			if (currentModule) {
@@ -352,9 +376,6 @@
 		}

 		protected function placeModule():void {
-			//TODO: check collision
-			//TODO: check source shit
-
 			new CustomAction(Module.place, Module.remove, currentModule).execute();
 			currentModule = null;
 		}
@@ -368,7 +389,10 @@
 		}

 		protected function checkRemoveControls():void {
-			//TODO
+			if (FlxG.mouse.pressed() || ControlSet.DELETE_KEY.pressed()) {
+				destroyModules();
+				destroyWires();
+			}
 		}

 		protected function checkMenuState():void {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20736
Author:   smgilson@adobe.com
Date:     2011-03-09T21:18:00.204102Z

Log Message:
-----------
Merge 20719 - ASDoc updates

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/RuntimeDPIProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EdgeMetrics.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/DeferredInstanceFromFunction.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/FTETextField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextFieldInterface.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/DPIClassification.as</path>

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

--- frameworks/projects/airframework/src/mx/core/Window.as
+++ frameworks/projects/airframework/src/mx/core/Window.as
@@ -677,6 +677,8 @@
      *  Returns the Window to which a component is parented.
      *
      *  @param component the component whose Window you wish to find.
+     *
+     *  @return The Window to which a component is parented.
      *
      *  @langversion 3.0
      *  @playerversion AIR 1.1
@@ -2952,7 +2954,7 @@

             // activate makes the native window visible so this
             // component should become visible as well.
-            visible = true;
+            visible = true;
         }
     }

@@ -3230,6 +3232,7 @@
     }

     /**
+     *  @private
      *  Manages mouse down events on the window border.
      *
      *  @langversion 3.0


Transferred from the Adobe Open Source Subversion Repository

Revision: 7445
Author:   gruehle@adobe.com
Date:     2009-05-29T20:51:55.035384Z

Log Message:
-----------
Replace a bunch of event name literals with constants.

Bug: SDK-21271
QA Notes:
Doc Notes:
Reviewer: Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.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/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ErrorSkin.as</path>

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

--- frameworks/projects/airframework/src/mx/core/Window.as
+++ frameworks/projects/airframework/src/mx/core/Window.as
@@ -34,6 +34,7 @@
 import mx.core.windowClasses.StatusBar;
 import mx.core.windowClasses.TitleBar;
 import mx.events.AIREvent;
+import mx.events.EffectEvent;
 import mx.events.FlexEvent;

 import mx.events.FlexNativeWindowBoundsEvent;
@@ -1110,7 +1111,7 @@
                 e = new FlexEvent(FlexEvent.HIDE);
                 if (getStyle("hideEffect"))
                 {
-                    addEventListener("effectEnd", hideEffectEndHandler);
+                    addEventListener(EffectEvent.EFFECT_END, hideEffectEndHandler);
                 }
                 else
                 {
@@ -2263,8 +2264,8 @@
             nativeApplication.addEventListener(Event.DEACTIVATE, nativeApplication_deactivateHandler, false, 0, true);
             nativeApplication.addEventListener(Event.NETWORK_CHANGE,
                 nativeApplication_networkChangeHandler, false, 0, true);
-            _nativeWindow.addEventListener("activate", nativeWindow_activateHandler, false, 0, true);
-            _nativeWindow.addEventListener("deactivate", nativeWindow_deactivateHandler, false, 0, true);
+            _nativeWindow.addEventListener(Event.ACTIVATE, nativeWindow_activateHandler, false, 0, true);
+            _nativeWindow.addEventListener(Event.DEACTIVATE, nativeWindow_deactivateHandler, false, 0, true);

             addEventListener(Event.ENTER_FRAME, enterFrameHandler);

@@ -3058,7 +3059,7 @@
     {
         if (!nativeWindow.closed)
             stage.nativeWindow.minimize();
-        removeEventListener("effectEnd", windowMinimizeHandler);
+        removeEventListener(EffectEvent.EFFECT_END, windowMinimizeHandler);
     }

     /**
@@ -3066,7 +3067,7 @@
      */
     private function windowUnminimizeHandler(event:Event):void
     {
-        removeEventListener("effectEnd", windowUnminimizeHandler);
+        removeEventListener(EffectEvent.EFFECT_END, windowUnminimizeHandler);
     }

     /**
@@ -3111,7 +3112,7 @@
             if (getStyle("minimizeEffect"))
             {
                 event.preventDefault();
-                addEventListener("effectEnd", windowMinimizeHandler);
+                addEventListener(EffectEvent.EFFECT_END, windowMinimizeHandler);
                 dispatchEvent(new Event("windowMinimize"));
             }
         }
@@ -3119,7 +3120,7 @@
         // After here, afterState is normal
         else if (event.beforeDisplayState == NativeWindowDisplayState.MINIMIZED)
         {
-            addEventListener("effectEnd", windowUnminimizeHandler);
+            addEventListener(EffectEvent.EFFECT_END, windowUnminimizeHandler);
             dispatchEvent(new Event("windowUnminimize"));
         }
     }
@@ -3129,7 +3130,7 @@
      */
     private function windowMaximizeHandler(event:Event):void
     {
-        removeEventListener("effectEnd", windowMaximizeHandler);
+        removeEventListener(EffectEvent.EFFECT_END, windowMaximizeHandler);
         if (!nativeWindow.closed)
             stage.nativeWindow.maximize();
     }
@@ -3139,7 +3140,7 @@
      */
     private function windowUnmaximizeHandler(event:Event):void
     {
-        removeEventListener("effectEnd", windowUnmaximizeHandler);
+        removeEventListener(EffectEvent.EFFECT_END, windowUnmaximizeHandler);
         if (!nativeWindow.closed)
             stage.nativeWindow.restore();
     }
@@ -3418,7 +3419,7 @@
      */
     private function window_closeEffectEndHandler(event:Event):void
     {
-        removeEventListener("effectEnd", window_closeEffectEndHandler);
+        removeEventListener(EffectEvent.EFFECT_END, window_closeEffectEndHandler);
         if (!nativeWindow.closed)
             stage.nativeWindow.close();
     }
@@ -3437,7 +3438,7 @@
         else if (getStyle("closeEffect") &&
                  stage.nativeWindow.transparent == true)
         {
-            addEventListener("effectEnd", window_closeEffectEndHandler);
+            addEventListener(EffectEvent.EFFECT_END, window_closeEffectEndHandler);
             dispatchEvent(new Event("windowClose"));
             event.preventDefault();
         }


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

--- frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLService.as
+++ frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLService.as
@@ -0,0 +1,90 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.rpc.wsdl
+{
+
+[ExcludeClass]
+
+/**
+ * A service groups a set of related ports together for a given WSDL.
+ *
+ * @private
+ */
+public class WSDLService
+{
+    public function WSDLService(name:String)
+    {
+        super();
+        _name = name;
+        _ports = {};
+    }
+
+
+    //--------------------------------------------------------------------------
+    //
+    // Properties
+    //
+    //--------------------------------------------------------------------------
+
+    public function get defaultPort():WSDLPort
+    {
+        return _defaultPort;
+    }
+
+    /**
+     * The unique name of this service.
+     */
+    public function get name():String
+    {
+        return _name;
+    }
+
+    /**
+     * Provides access to this service's map of ports.
+     */
+    public function get ports():Object
+    {
+        return _ports;
+    }
+
+
+    //--------------------------------------------------------------------------
+    //
+    // Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * Registers a port with this service.
+     */
+    public function addPort(port:WSDLPort):void
+    {
+        _ports[port.name] = port;
+        if (_defaultPort == null)
+            _defaultPort = port;
+    }
+
+    /**
+     * Retrieves a port by name.
+     */
+    public function getPort(name:String):WSDLPort
+    {
+        return _ports[name];
+    }
+
+
+    private var _defaultPort:WSDLPort;
+    private var _name:String;
+    private var _ports:Object;
+}
+
+}


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

--- frameworks/projects/rpc/src/mx/rpc/xml/ContentProxy.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/ContentProxy.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2006-2007 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Correcting ASDOC comments.

Correcting ASDOC comments.

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -1267,9 +1267,9 @@

     /**
      *  The doubleClick mode of the control.  Possible values are:
-     *  GridSelectionMode.CELL,
-     *  GridSelectionMode.GRID,
-     *  GridSelectionMode.ROW,
+     *  GridDoubleClickMode.CELL,
+     *  GridDoubleClickMode.GRID,
+     *  GridDoubleClickMode.ROW,
      *
      *
Changing the doubleClickMode changes the double click
      *  criteria for firing the doubleClick event


Transferred from the Adobe Open Source Subversion Repository

Revision: 16957
Author:   hmuller@adobe.com
Date:     2010-07-16T16:09:23.763066Z

Log Message:
-----------
The following changes apply to DataGrid only.

The set methods for Grid properties that affect the measured size or display now invalidate as appropriate.

Fixed the rowHeight and requestedRowCount property default values in DataGrid/gridPropertDefaults.

When the Grid columns property changes, update the ColumnHeaderBar's dataProvider.

Temporarily removed support for column generation.

Fixed the intermittent empty DataGrid problem.

QE notes: changes apply to Spark DataGrid only
Doc notes:
Bugs: SDK-26841, SDK-26842, SDK-26962, SDK-26920, SDK-26959, SDK-26959
Reviewer: Kevin
Tests run: none
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridDimensions.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/skins/spark/DataGridSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/GridContainerBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ColumnHeaderBarLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -25,6 +25,7 @@
     import mx.events.CollectionEvent;
     import mx.events.CollectionEventKind;
     import mx.events.FlexEvent;
+    import mx.utils.ObjectUtil;

     import spark.components.supportClasses.GridColumn;
     import spark.components.supportClasses.GridDimensions;
@@ -648,7 +649,6 @@

         private var _columns:IList = null; // list of GridColumns
         private var columnsChanged:Boolean = false;
-        private var generatedColumns:Boolean = false;

         [Bindable("columnsChanged")]

@@ -662,12 +662,6 @@
          */
         public function get columns():IList
         {
-            if (_columns == null)
-            {
-                setColumns(generateColumns());
-                generatedColumns = true;
-            }
-
             return _columns;
         }

@@ -679,7 +673,6 @@
             if (_columns == value)
                 return;

-            generatedColumns = false;
             setColumns(value);
         }

@@ -748,12 +741,16 @@
             if (item)
             {
                 itemColumns = new ArrayList();
-                for (var property:String in item)
+                const classInfo:Object = ObjectUtil.getClassInfo(item);
+                if (classInfo)
                 {
-                    var column:GridColumn = new GridColumn();
-                    column.dataField = property;
-                    itemColumns.addItem(column);
-                }
+                    for each (var property:QName in classInfo.properties)
+                    {
+                        var column:GridColumn = new GridColumn();
+                        column.dataField = property.localName;
+                        itemColumns.addItem(column);
+                    }
+                }
             }

             return itemColumns;
@@ -843,6 +840,9 @@
                 return;

             _itemRenderer = value;
+
+            invalidateSize();
+            invalidateDisplayList();
             dispatchChangeEvent("itemRendererChanged");
         }

@@ -1280,6 +1280,8 @@
             else
                 gridDimensions.fixedRowHeight = value;

+            invalidateSize();
+            invalidateDisplayList();
             dispatchChangeEvent("rowHeightChanged");
         }

@@ -1441,10 +1443,10 @@

             _typicalItem = value;
             gridDimensions.clearTypicalCellWidthsAndHeights();
-			dispatchChangeEvent("typicalItemChanged");

             invalidateSize();
             invalidateDisplayList();
+			dispatchChangeEvent("typicalItemChanged");
         }

         //----------------------------------
@@ -1480,6 +1482,8 @@

             gridDimensions.fixedRowHeight = (value) ? NaN : rowHeight;

+            invalidateSize();
+            invalidateDisplayList();
             dispatchChangeEvent("variableRowHeightChanged");
         }

@@ -2727,6 +2731,12 @@

                 case CollectionEventKind.RESET:
                 {
+                    for (index = 0; index < columns.length; index++)
+                    {
+                        column = GridColumn(columns.getItemAt(index));
+                        column.setGrid(this);
+                        column.setColumnIndex(index);
+                    }
                     break;
                 }
             }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4878
Author:   clucier@adobe.com
Date:     2009-02-06T20:56:58.409169Z

Log Message:
-----------
Patch for integration bug.  There was a regression with check-in 4793 when getLayoutBoundsX and getLayoutBoundsY were added to Path.  Path now tries to factor in the implicit scale, but in the case of SDK-19154, when these methods are first called during initial layout, _width and _height are 0 (too early), so we assume a 0 scale, which ends up losing 'measuredX' and 'measuredY' from successive calculations.

Evtim will need to refactor slightly and replace with a more robust fix for the long term.

Bugs: SDK-19154.
QE Notes: None.
Doc Notes: None.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -563,7 +563,7 @@
             if (measuredX == 0)
                 return stroke + this.x;
             var naturalBounds:Rectangle = getBounds();
-            var sx:Number = naturalBounds.width == 0 ? 1 : _width / naturalBounds.width;
+            var sx:Number = (naturalBounds.width == 0 || _width == 0) ? 1 : _width / naturalBounds.width;
             return stroke + this.x + measuredX * sx;
         }
         return stroke + getBoundingBox(_width, _height, m).x;
@@ -581,7 +581,7 @@
             if (measuredY == 0)
                 return stroke + this.y;
             var naturalBounds:Rectangle = getBounds();
-            var sy:Number = naturalBounds.height == 0 ? 1 : _height / naturalBounds.height;
+            var sy:Number = (naturalBounds.height == 0 || _height == 0) ? 1 : _height / naturalBounds.height;
             return stroke + this.y + measuredY * sy;
         }
         return stroke + getBoundingBox(_width, _height, m).y;


Transferred from the Adobe Open Source Subversion Repository

Revision: 20736
Author:   smgilson@adobe.com
Date:     2011-03-09T21:18:00.204102Z

Log Message:
-----------
Merge 20719 - ASDoc updates

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/RuntimeDPIProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EdgeMetrics.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/DeferredInstanceFromFunction.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/FTETextField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextFieldInterface.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/DPIClassification.as</path>

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


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

--- frameworks/projects/framework/src/mx/states/AddChild.as
+++ frameworks/projects/framework/src/mx/states/AddChild.as
@@ -0,0 +1,467 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.states
+{
+
+import flash.display.DisplayObject;
+import mx.containers.ApplicationControlBar;
+import mx.containers.ControlBar;
+import mx.containers.Panel;
+import mx.core.Application;
+import mx.core.ContainerCreationPolicy;
+import mx.core.IDeferredInstance;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+import mx.resources.IResourceManager;
+import mx.resources.ResourceManager;
+
+use namespace mx_internal;
+
+[DefaultProperty("targetFactory")]
+
+[ResourceBundle("states")]
+
+/**
+ *  The AddChild class adds a child display object, such as a component,
+ *  to a container as part of a view state.
+ *  You use this class in the overrides property of the State class.
+ *  Use the creationPolicy property to specify to create the child
+ *  at application startup or when you change to a view state.
+ *
+ *
The child does not dispatch the creationComplete event until
+ *  it is added to a container. For example, the following code adds a
+ *  Button control as part of a view state change:

+ *
+ *

+ *  <mx:AddChild relativeTo="{v1}">
+ *      <mx:Button id="b0" label="New Button"/>
+ *  </mx:AddChild>

+ *
+ *
In the previous example, the Button control does not dispatch
+ *  the creationComplete event until you change state and the
+ *  Button control is added to a container.
+ *  If the AddChild class defines both the Button and a container, such as a Canvas container,
+ *  then the Button control dispatches the creationComplete event when it is created.
+ *  For example, if the creationPolicy property is set to all,
+ *  the Button control dispatches the event at application startup.
+ *  If the creationPolicy property is set to auto,
+ *  the Button control dispatches the event when you change to the view state.

+ *
+ *  @mxml
+ *
+ *
The <mx:AddChild> tag
+ *  has the following attributes:

+ *
+ *

+ *  <mx:AddChild
+ *  Properties
+ *  target="null"
+ *  targetFactory="null"
+ *  creationPolicy="auto"
+ *  position="lastChild"
+ *  relativeTo="parent of the State object"
+ *  />
+ *

+ *
+ *  @see mx.states.State
+ *  @see mx.states.RemoveChild
+ *  @see mx.states.Transition
+ *  @see mx.effects.AddChildAction
+ *
+ *  @includeExample examples/StatesExample.mxml
+ */
+ public class AddChild implements IOverride
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param relativeTo The component relative to which child is added.
+     *
+     *  @param target The child object.
+     *  All Flex components are subclasses of the DisplayObject class.
+     *
+     *  @param position the location in the display list of the target
+     *  relative to the relativeTo component. Must be one of the following:
+     *  "firstChild", "lastChild", "before" or "after".
+     */
+    public function AddChild(relativeTo:UIComponent = null,
+                             target:DisplayObject = null,
+                             position:String = "lastChild")
+    {
+        super();
+
+        this.relativeTo = relativeTo;
+        this.target = target;
+        this.position = position;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    mx_internal var added:Boolean = false;
+
+    /**
+     *  @private
+     */
+    mx_internal var instanceCreated:Boolean = false;
+
+    /**
+     *  @private
+     *  Used for accessing localized Error messages.
+     */
+    private var resourceManager:IResourceManager =
+                                    ResourceManager.getInstance();
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //------------------------------------
+    //  creationPolicy
+    //------------------------------------
+
+    /**
+     *  @private
+     *  Storage for the creationPolicy property.
+     */
+    private var _creationPolicy:String = ContainerCreationPolicy.AUTO;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The creation policy for this child.
+     *  This property determines when the targetFactory will create
+     *  the instance of the child.
+     *  Flex uses this properthy only if you specify a targetFactory property.
+     *  The following values are valid:
+     *
+     *

+     *

+     *
Value	Meaning

+     *
auto	(default)Create the instance the
+     *         first time it is needed.

+     *
all	Create the instance when the
+     *         application started up.

+     *
none	Do not automatically create the instance.
+     *         You must call the createInstance() method to create
+     *         the instance.

+     *

+     *
+     *  @default "auto"
+     */
+    public function get creationPolicy():String
+    {
+        return _creationPolicy;
+    }
+
+    /**
+     *  @private
+     */
+    public function set creationPolicy(value:String):void
+    {
+        _creationPolicy = value;
+
+        if (_creationPolicy == ContainerCreationPolicy.ALL)
+            createInstance();
+    }
+
+    //------------------------------------
+    //  position
+    //------------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The position of the child in the display list, relative to the
+     *  object specified by the relativeTo property.
+     *  Valid values are "before", "after",
+     *  "firstChild", and "lastChild".
+     *
+     *  @default "lastChild"
+     */
+    public var position:String;
+
+    //------------------------------------
+    //  relativeTo
+    //------------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The object relative to which the child is added. This property is used
+     *  in conjunction with the position property.
+     *  This property is optional; if
+     *  you omit it, Flex uses the immediate parent of the State
+     *  object, that is, the component that has the states
+     *  property, or <mx:states>tag that specifies the State
+     *  object.
+     */
+    public var relativeTo:UIComponent;
+
+    //------------------------------------
+    //  target
+    //------------------------------------
+
+    /**
+     *  @private
+     *  Storage for the target property
+     */
+    private var _target:DisplayObject;
+
+    [Inspectable(category="General")]
+
+    /**
+     *
+     *  The child to be added.
+     *  If you set this property, the child instance is created at app startup.
+     *  Setting this property is equivalent to setting a targetFactory
+     *  property with a creationPolicy of "all".
+     *
+     *
Do not set this property if you set the targetFactory
+     *  property.

+     */
+    public function get target():DisplayObject
+    {
+        if (!_target && creationPolicy != ContainerCreationPolicy.NONE)
+            createInstance();
+
+        return _target;
+    }
+
+    /**
+     *  @private
+     */
+    public function set target(value:DisplayObject):void
+    {
+        _target = value;
+    }
+
+    //------------------------------------
+    //  targetFactory
+    //------------------------------------
+
+    /**
+     *  @private
+     *  Storage for the targetFactory property.
+     */
+    private var _targetFactory:IDeferredInstance;
+
+    [Inspectable(category="General")]
+
+    /**
+     *
+     * The factory that creates the child. You can specify either of the following items:
+     *

+     *
A factory class that implements the IDeferredInstance
+     *          interface and creates the child instance or instances.
+     *

+     *
A Flex component, (that is, any class that is a subclass
+     *          of the UIComponent class), such as the Button contol.
+     *          If you use a Flex component, the Flex compiler automatically
+     *          wraps the component in a factory class.
+     *

+     *

+     *
+     *
If you set this property, the child is instantiated at the time
+     *  determined by the creationPolicy property.

+     *
+     *
Do not set this property if you set the target
+     *  property.
+     *  This propety is the AddChild class default property.
+     *  Setting this property with a creationPolicy of "all"
+     *  is equivalent to setting a target property.

+     */
+    public function get targetFactory():IDeferredInstance
+    {
+        return _targetFactory;
+    }
+
+    /**
+     *  @private
+     */
+    public function set targetFactory(value:IDeferredInstance):void
+    {
+        _targetFactory = value;
+
+        if (creationPolicy == ContainerCreationPolicy.ALL)
+            createInstance();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Creates the child instance from the factory.
+     *  You must use this method only if you specify a targetFactory
+     *  property and a creationPolicy value of "none".
+     *  Flex automatically calls this method if the creationPolicy
+     *  property value is "auto" or "all".
+     *  If you call this method multiple times, the child instance is
+     *  created only on the first call.
+     */
+    public function createInstance():void
+    {
+        if (!instanceCreated && !_target && targetFactory)
+        {
+            instanceCreated = true;
+            var instance:Object = targetFactory.getInstance();
+            if (instance is DisplayObject)
+                _target = DisplayObject(instance);
+        }
+    }
+
+    /**
+     *  @inheritDoc
+     */
+    public function initialize():void
+    {
+        if (creationPolicy == ContainerCreationPolicy.AUTO)
+            createInstance();
+    }
+
+    /**
+     *  @inheritDoc
+     */
+    public function apply(parent:UIComponent):void
+    {
+        var obj:UIComponent = relativeTo ? relativeTo : parent;
+
+        added = false;
+
+        // Early exit if child is null
+        if (!target)
+            return;
+
+        // Can't reparent. Must remove before adding.
+        if (target.parent)
+        {
+            var message:String = resourceManager.getString(
+                "states", "alreadyParented");
+            throw new Error(message);
+            return;
+        }
+
+        switch (position)
+        {
+            case "before":
+            {
+                obj.parent.addChildAt(target,
+                    obj.parent.getChildIndex(obj));
+                break;
+            }
+
+            case "after":
+            {
+                obj.parent.addChildAt(target,
+                    obj.parent.getChildIndex(obj) + 1);
+                break;
+            }
+
+            case "firstChild":
+            {
+                obj.addChildAt(target, 0);
+                break;
+            }
+
+            case "lastChild":
+            default:
+            {
+                obj.addChild(target);
+
+                // Hopefully this is a temporary fix for SDK-9478. If the child is a control bar, and
+                // the parent is a Panel, call createComponentsFromDescriptors() so the ControlBar will
+                // be recognized by the Panel.
+                // This should be changed when we get a proper API for adding/removing a ControlBar
+                if (target is ControlBar && obj is Panel)
+                {
+                    Panel(obj).createComponentsFromDescriptors();
+                }
+                else if (target is ApplicationControlBar && ApplicationControlBar(target).dock && obj is Application)
+                {
+                    ApplicationControlBar(target).resetDock(true);
+                }
+
+                break;
+            }
+        }
+
+        added = true;
+    }
+
+    /**
+     *  @inheritDoc
+     */
+    public function remove(parent:UIComponent):void
+    {
+        var obj:UIComponent = relativeTo ? relativeTo : parent;
+
+        if (!added)
+            return;
+
+        switch (position)
+        {
+            case "before":
+            case "after":
+            {
+                obj.parent.removeChild(target);
+                break;
+            }
+
+            case "firstChild":
+            case "lastChild":
+            default:
+            {
+                // Hopefully this is a temporary fix for SDK-9478. If the child is a ControlBar,
+                // it needs to be removed from the rawChildren list.
+                // This should be changed when we get a proper API for adding/removing a ControlBar
+                if (target is ControlBar && obj is Panel)
+                {
+                    Panel(obj).rawChildren.removeChild(target);
+                    Panel(obj).createComponentsFromDescriptors();
+                }
+                else if (target is ApplicationControlBar && ApplicationControlBar(target).dock)
+                {
+                    Application(obj).dockControlBar(ApplicationControlBar(target), false);
+                    Application(obj).removeChild(target);
+                }
+                else if (obj == target.parent)
+                {
+                    obj.removeChild(target);
+                }
+                break;
+            }
+        }
+
+        added = false;
+    }
+}
+
+}