Transferred from the Adobe Open Source Subversion Repository

Revision: 7862
Author:   jszeto@adobe.com
Date:     2009-06-15T22:06:23.250745Z

Log Message:
-----------
GraphicElement PARB Changes

mx.core.AdvancedLayoutFeatures
•	Rename layer -> depth
•	Rename offsets -> postLayoutTransformOffsets

mx.core.IVisualElement
•	Rename layer -> depth

mx.core.UIComponent
•	Rename offsets -> postLayoutTransformOffsets
•	Rename layer -> depth

mx.graphics.GradientBase
•	Remove scaleX

mx.graphics.GradientStroke
•	Add apply(g:Graphics, bounds:Rectangle)

mx.graphics.IStroke
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.LinearGradient
•	Add scaleX

mx.graphics.LinearGradientStroke
•	Add scaleX
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.RadialGradient
•	Add scaleX

mx.graphics.RadialGradientStroke
•	Add scaleX
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.SolidColorStroke
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.flash.UIMovieClip
•	Rename offsets -> postLayoutTransformOffsets
•	Rename layer -> depth

spark.components.PopUpAnchor
•	Change popUp type from UIComponent -> IFlexDisplayObject
•	Rename positionPopUp -> calculatePopUpPosition
•	Rename autoSizePopUpWidth -> popUpWidthMatchesAnchorWidth
•	Rename autoSizePopUpHeight -> popUpHeightMatchesAnchorHeight

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

spark.core.SpriteVisualElement
•	Rename layer -> depth
•	Remove computeMatrix

spark.primitives.BitmapImage
•	Change _NORMAL_UINT from protected -> private
•	Change _REPEAT_UINT from protected -> private
•	Change _SCALE_UINT from protected -> private
•	Change resizeModeToUINT from protected -> private
•	Rename drawElement -> draw

spark.primitives.Line
•	Rename skipMeasure -> canSkipMeasurement
•	Rename drawElement -> draw

spark.primitives.Path
•	Change graphicsPath fro protected -> mx_internal
•	Rename skipMeasure -> canSkipMeasurement
•	Rename drawElement -> draw
•	Rename renderGraphicsAtScale -> generateGraphicsPath
•	Change generateGraphicsPath from protected -> mx_internal
•	Rename notifyElementLayerChanged -> invalidateDisplayObjectSharing

spark.primitives.Rect
•	Rename drawElement -> draw

spark.primitives.supportClasses.GraphicElement
•	Rename layer -> depth
•	Rename offsets -> postLayoutTransformOffsets
•	Rename getBitmapData -> captureBitmapData
•	Rename notifyElementLayerChanged -> invalidateDisplayObjectSharing
•	Rename skipMeasure -> canSkipMeasurement
•	Add protected hasComplexLayoutMatrix:Boolean getter
•	Remove target
•	Remove computeMatrix
•	Change DEFAULT_MAX_WIDTH from public -> private
•	Change DEFAULT_MAX_HEIGHT from public -> private
•	Change DEFAULT_MIN_WIDTH from public -> private
•	Change DEFAULT_MIN_HEIGHT from public -> private
•	Change allocateLayoutFeatures from protected -> mx_internal
•	Change invalidateTransform from protected -> private
•	Change captureBitmapData from public -> mx_internal
•	Change applyMaskType from protected -> mx_internal
•	Change dispatchPropertyChangeEvent from protected -> private
•	Change applyComputedTransform from protected -> mx_internal
•	Change filterChangedHandler from protected -> private

spark.supportClasses.StrokedElement
•	Rename drawElement -> draw
•	Remove getStroke()
•	Add getStrokeExtents() override

QE Notes: None
Doc Notes: None
Bugs: N/A
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/IFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.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/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/IStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as
+++ frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as
@@ -10,11 +10,11 @@
 package mx.graphics
 {

-import flash.display.CapsStyle;
+import flash.display.CapsStyle;
 import flash.display.Graphics;
+import flash.display.GraphicsSolidFill;
 import flash.display.GraphicsStroke;
-import flash.display.GraphicsSolidFill;
-import flash.display.JointStyle;
+import flash.display.JointStyle;
 import flash.events.EventDispatcher;
 import flash.geom.Rectangle;

@@ -476,21 +476,16 @@
 	 *  @playerversion AIR 1.1
 	 *  @productversion Flex 3
 	 */
-	public function apply(g:Graphics):void
-	{
-		draw(g, new Rectangle());
-	}
-
-	public function draw(g:Graphics, rc:Rectangle):void
-	{
-		g.lineStyle(weight, color, alpha, pixelHinting,
+	public function apply(graphics:Graphics, bounds:Rectangle = null):void
+	{
+		graphics.lineStyle(weight, color, alpha, pixelHinting,
 					scaleMode, caps, joints, miterLimit);
 	}

     /**
      *  @inheritDoc
      */
-	public function generateGraphicsStroke(rc:Rectangle):GraphicsStroke
+	public function createGraphicsStroke(bounds:Rectangle):GraphicsStroke
 	{
 	    // Construct a new GraphicsStroke object and set all of
         // its properties to match the SolidColorStroke's


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/containers/utilityClasses/Layout.as
+++ frameworks/projects/mx/src/mx/containers/utilityClasses/Layout.as
@@ -33,6 +33,11 @@

 	/**
 	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function Layout()
 	{
@@ -70,6 +75,11 @@

 	/**
 	 *  The container associated with this layout.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function get target():Container
 	{


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as
+++ frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as
@@ -14,6 +14,7 @@
 import mx.core.IFactory;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
+import mx.utils.BitFlagUtil;

 import spark.components.supportClasses.ButtonBase;
 import spark.components.supportClasses.DropDownController;
@@ -82,6 +83,22 @@

     //--------------------------------------------------------------------------
     //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    mx_internal static const HORIZONTAL_POSITION_PROPERTY_FLAG:uint = 1 << 0;
+
+    /**
+     *  @private
+     */
+    mx_internal static const VERTICAL_POSITION_PROPERTY_FLAG:uint = 1 << 1;
+
+    //--------------------------------------------------------------------------
+    //
     //  Constructor
     //
     //--------------------------------------------------------------------------
@@ -132,14 +149,94 @@
     //
     //--------------------------------------------------------------------------

-    // TODO (jasonsj): proxy for Callout properties
+    /**
+     *  @private
+     *  Several properties are proxied to callout.  However, when callout
+     *  is not around, we need to store values set on CalloutButton.  This object
+     *  stores those values.  If callout is around, the values are stored
+     *  on the callout directly.  However, we need to know what values
+     *  have been set by the developer on the CalloutButton (versus set on
+     *  the controlBarGroup or defaults of the controlBarGroup) as those are values
+     *  we want to carry around if the controlBarGroup changes (via a new skin).
+     *  In order to store this info effeciently, calloutProperties becomes
+     *  a uint to store a series of BitFlags.  These bits represent whether a
+     *  property has been explicitely set on this CalloutButton.  When the
+     *  callout is not around, calloutProperties is a typeless
+     *  object to store these proxied properties.  When callout is around,
+     *  calloutProperties stores booleans as to whether these properties
+     *  have been explicitely set or not.
+     */
     mx_internal var calloutProperties:Object = {};

-    /**
-     *  @private
-     *  TODO (jasonsj): write description
-     */
-    private var currentDropDown:Callout;
+    //--------------------------------------------------------------------------
+    //
+    //  Properties proxied to callout
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  horizontalPosition
+    //----------------------------------
+
+    [Inspectable(category="General", enumeration="before,start,middle,end,after,auto", defaultValue="auto")]
+
+    /**
+     *  @copy spark.components.Callout#horizontalPosition
+     */
+    public function get horizontalPosition():String
+    {
+        if (callout)
+            return callout.horizontalPosition;
+
+        return calloutProperties.horizontalPosition;
+    }
+
+    /**
+     *  @private
+     */
+    public function set horizontalPosition(value:String):void
+    {
+        if (callout)
+        {
+            callout.horizontalPosition = value;
+            calloutProperties = BitFlagUtil.update(calloutProperties as uint,
+                HORIZONTAL_POSITION_PROPERTY_FLAG, value != null);
+        }
+        else
+            calloutProperties.horizontalPosition = value;
+    }
+
+    //----------------------------------
+    //  verticalPosition
+    //----------------------------------
+
+    [Inspectable(category="General", enumeration="before,start,middle,end,after,auto", defaultValue="auto")]
+
+    /**
+     *  @copy spark.components.Callout#verticalPosition
+     */
+    public function get verticalPosition():String
+    {
+        if (callout)
+            return callout.verticalPosition;
+
+        return calloutProperties.verticalPosition;
+    }
+
+    /**
+     *  @private
+     */
+    public function set verticalPosition(value:String):void
+    {
+        if (callout)
+        {
+            callout.verticalPosition = value;
+            calloutProperties = BitFlagUtil.update(calloutProperties as uint,
+                VERTICAL_POSITION_PROPERTY_FLAG, value != null);
+        }
+        else
+            calloutProperties.verticalPosition = value;
+    }

     //--------------------------------------------------------------------------
     //
@@ -148,70 +245,46 @@
     //--------------------------------------------------------------------------

     //----------------------------------
-    //  horizontalPosition
-    //----------------------------------
-
-    private var _horizontalPosition:String = CalloutPosition.AUTO;
-
-    [Inspectable(category="General", enumeration="before,start,middle,end,after,auto", defaultValue="auto")]
-
-    /**
-     *  @copy spark.components.Callout#horizontalPosition
-     */
-    public function get horizontalPosition():String
-    {
-        // TODO
-        if (currentDropDown)
-            return currentDropDown.horizontalPosition;
-
-        return _horizontalPosition;
-    }
-
-    /**
-     *  @private
-     */
-    public function set horizontalPosition(value:String):void
-    {
-        if (value == _horizontalPosition)
+    //  callout
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _callout:Callout;
+
+    /**
+     *  TODO (jasonsj): PARB
+     */
+    mx_internal function get callout():Callout
+    {
+        return _callout;
+    }
+
+    /**
+     *  TODO (jasonsj): PARB
+     *
+     *  Allow users to set their own Callout instead of the one defined by the
+     *  skin. This allows properties and styles to be set in MXML instead of
+     *  either passthrough styles in CalloutButton or CSS styles.
+     *
+     *  The getter allows direct access to the callout. Unlike DropDownList,
+     *  CalloutButton's dropDown skin part is a class factory and not the
+     *  Callout instance.
+     */
+    mx_internal function set callout(value:Callout):void
+    {
+        if (_callout == value)
             return;

-        _horizontalPosition = value;
-
-        if (currentDropDown)
-            currentDropDown.horizontalPosition = horizontalPosition;
-    }
-
-    //----------------------------------
-    //  verticalPosition
-    //----------------------------------
-
-    private var _verticalPosition:String = CalloutPosition.AUTO;
-
-    [Inspectable(category="General", enumeration="before,start,middle,end,after,auto", defaultValue="auto")]
-
-    /**
-     *  @copy spark.components.Callout#verticalPosition
-     */
-    public function get verticalPosition():String
-    {
-        if (currentDropDown)
-            return currentDropDown.verticalPosition;
-
-        return _verticalPosition;
-    }
-
-    /**
-     *  @private
-     */
-    public function set verticalPosition(value:String):void
-    {
-        if (value == _verticalPosition)
-            return;
-
-        _verticalPosition = value;
-
-        if (currentDropDown)
-            currentDropDown.verticalPosition = verticalPosition;
+        if (_callout && _callout.isOpen)
+        {
+            // TODO (jasonsj): cleanup?
+            _callout.close();
+        }
+
+        // FIXME (jasonsj): re-init
+        _callout = value;
     }

     //----------------------------------
@@ -254,8 +327,8 @@

         if (openButton)
             _dropDownController.openButton = openButton;
-        if (currentDropDown)
-            _dropDownController.dropDown = currentDropDown;
+        if (callout)
+            _dropDownController.dropDown = callout;
     }

     //----------------------------------
@@ -272,6 +345,10 @@
         else
             return false;
     }
+
+    //----------------------------------
+    //  label
+    //----------------------------------

     private var _label:String = "";

@@ -320,6 +397,44 @@
             if (dropDownController)
                 dropDownController.openButton = openButton;
         }
+        else if (partName == "dropDown")
+        {
+            // copy proxied values from calloutProperties (if set) to callout
+            var newCalloutProperties:uint = 0;
+            var calloutInstance:Callout = instance as Callout;
+
+            if (calloutInstance && dropDownController)
+            {
+                calloutInstance.id = "callout";
+                dropDownController.dropDown = calloutInstance;
+
+//                calloutInstance.addEventListener(FlexEvent.CREATION_COMPLETE, callout_creationCompleteHandler);
+                calloutInstance.addEventListener(PopUpEvent.OPEN, callout_openHandler);
+                calloutInstance.addEventListener(PopUpEvent.CLOSE, callout_closeHandler);
+
+                if (calloutProperties.horizontalPosition !== undefined)
+                {
+                    calloutInstance.horizontalPosition = calloutProperties.horizontalPosition;
+                    newCalloutProperties = BitFlagUtil.update(newCalloutProperties,
+                        HORIZONTAL_POSITION_PROPERTY_FLAG, true);
+                }
+
+                if (calloutProperties.verticalPosition !== undefined)
+                {
+                    calloutInstance.verticalPosition = calloutProperties.verticalPosition;
+                    newCalloutProperties = BitFlagUtil.update(newCalloutProperties,
+                        VERTICAL_POSITION_PROPERTY_FLAG, true);
+                }
+
+                calloutProperties = newCalloutProperties;
+
+                // FIXME (jasonsj): find a correct way to initialize the contentGroup
+                if (layout)
+                    calloutInstance.layout = layout;
+
+                calloutInstance.mxmlContent = currentContentGroup.getMXMLContent();
+            }
+        }
     }

     /**
@@ -332,9 +447,31 @@
             if (instance == openButton)
                 dropDownController.openButton = null;

-            if (instance == dropDown)
+            if (instance == callout)
                 dropDownController.dropDown = null;
         }
+
+        // TODO (jasonsj): destroy option?
+//        if (instance == callout)
+//        {
+//            callout.removeEventListener(FlexEvent.CREATION_COMPLETE, callout_creationCompleteHandler);
+//            callout.removeEventListener(PopUpEvent.OPEN, callout_openHandler);
+//            callout.removeEventListener(PopUpEvent.CLOSE, callout_closeHandler);
+//
+//            // copy proxied values from callout (if explicitely set) to calloutProperties
+//            var newCalloutProperties:Object = {};
+//
+//            if (BitFlagUtil.isSet(calloutProperties as uint, HORIZONTAL_POSITION_PROPERTY_FLAG))
+//                newCalloutProperties.calloutProperties = callout.horizontalPosition;
+//
+//            if (BitFlagUtil.isSet(calloutProperties as uint, VERTICAL_POSITION_PROPERTY_FLAG))
+//                newCalloutProperties.verticalPosition = callout.verticalPosition;
+//
+//            calloutProperties = newCalloutProperties;
+//
+//            super.partRemoved("contentGroup", callout.contentGroup);
+//            contentGroup = null;
+//        }

         super.partRemoved(partName, instance);
     }
@@ -384,26 +521,12 @@
      */
     mx_internal function dropDownController_openHandler(event:DropDownEvent):void
     {
-        if (!currentDropDown)
-        {
-            currentDropDown = Callout(dropDown.newInstance());
-            dropDownController.dropDown = currentDropDown;
-
-            currentDropDown.addEventListener(PopUpEvent.OPEN, open_updateCompleteHandler);
-            currentDropDown.addEventListener(PopUpEvent.CLOSE, close_updateCompleteHandler);
-
-            // TODO (jasonsj): read proxied properties
-            if (layout)
-                currentDropDown.layout = layout;
-
-            currentDropDown.mxmlContent = currentContentGroup.getMXMLContent();
-        }
-
-        // TODO (jasonsj): read proxied properties
-        currentDropDown.horizontalPosition = _horizontalPosition;
-        currentDropDown.verticalPosition = _verticalPosition;
-
-        currentDropDown.open(openButton, false);
+        // TODO (jasonsj): destroy?
+        if (!callout)
+            callout = createDynamicPartInstance("dropDown") as Callout;
+
+        if (callout)
+            callout.open(this, false);
     }

     /**
@@ -413,34 +536,35 @@
      */
     mx_internal function dropDownController_closeHandler(event:DropDownEvent):void
     {
-        dispatchEvent(new DropDownEvent(DropDownEvent.CLOSE));
-
         // TODO (jasonsj): close params?
-        currentDropDown.close();
-
-        // TODO (jasonsj): destroy and save properties in proxy Object?
-    }
-
-    /**
-     *  @private
-     */
-    private function open_updateCompleteHandler(event:PopUpEvent):void
+        // dispatch the close event after the callout's PopUpEvent.CLOSE fires
+        callout.close();
+
+        // TODO (jasonsj): destroy option?
+//        removeDynamicPartInstance("dropDown", callout);
+//        callout = null;
+    }
+
+//    private function callout_creationCompleteHandler(event:FlexEvent):void
+//    {
+//        // initialize contentGroup skin part
+//        contentGroup = callout.contentGroup;
+//        partAdded("contentGroup", callout.contentGroup);
+//    }
+
+    /**
+     *  @private
+     */
+    private function callout_openHandler(event:PopUpEvent):void
+    {
+        dispatchEvent(new DropDownEvent(DropDownEvent.OPEN));
+    }
+
+    /**
+     *  @private
+     */
+    private function callout_closeHandler(event:PopUpEvent):void
     {
-        currentDropDown.removeEventListener(PopUpEvent.OPEN, open_updateCompleteHandler);
-
-        // FIXME (jasonsj): how to initialze pop-up contentGroup as a skin part in partAdded()?
-        contentGroup = currentDropDown.contentGroup;
-
-        dispatchEvent(new DropDownEvent(DropDownEvent.OPEN));
-    }
-
-    /**
-     *  @private
-     */
-    private function close_updateCompleteHandler(event:PopUpEvent):void
-    {
-        currentDropDown.removeEventListener(PopUpEvent.CLOSE, open_updateCompleteHandler);
-
         dispatchEvent(new DropDownEvent(DropDownEvent.CLOSE));
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 14719
Author:   matamel@adobe.com
Date:     2010-03-12T10:20:41.996032Z

Log Message:
-----------
Bug: LCDS-1522 - RTE running reliable messaging test over NIO HTTP endpoint caused by checkin 272187.
QA: Yes
Doc: No
Checkintests: Pass

Details: Checkin 272187 fixed small messages to work on NIO HTTP endpoints but this exposed a bug in HTTPChannel. HTTPChannel is not supposed to support small messaging feature but there was one place where small messages feature were still being enabled which caused the bug.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as

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

--- frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as
+++ frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as
@@ -375,7 +375,7 @@
         }

         // Report the messaging version for this Channel.
-        msg.headers[CommandMessage.MESSAGING_VERSION] = messagingVersion;
+        // msg.headers[CommandMessage.MESSAGING_VERSION] = messagingVersion;

         // Indicate if requesting the dynamic configuration from the server.
         if (ServerConfig.needsConfig(this))


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

--- frameworks/projects/rpc/src/mx/rpc/soap/types/ICustomSOAPType.as
+++ frameworks/projects/rpc/src/mx/rpc/soap/types/ICustomSOAPType.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 2905
Author:   clucier@adobe.com
Date:     2008-08-19T20:45:59.993275Z

Log Message:
-----------
Changes to allow UIComponent to take advantage of the new bindable filters (bindable wrappers around DropShadowFilter, GlowFilter, etc. that will force the filter stack to be re-evaluated when one or more of the filter parameters change). Checkin-tests: PASS
Reviewer: Jason
Bugs: SDK-16311
QA: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Parser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/ConvolutionFilter.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseDimensionFilter.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseDimensionFilter.as" copyfrom-rev="2873" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseDimensionFilter.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/IBitmapFilter.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/IBitmapFilter.as" copyfrom-rev="2873" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/IBitmapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GradientFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseFilter.as" copyfrom-rev="2873" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseFilter.as</path>

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

--- frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as
+++ frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as
@@ -2,6 +2,8 @@
 {
 import flash.filters.BitmapFilter;
 import flash.filters.ConvolutionFilter;
+import mx.filters.BaseFilter;
+import mx.filters.IBitmapFilter;

 public class ConvolutionFilter extends BaseFilter implements IBitmapFilter
 {


Change tabs to spaces in script.

Change tabs to spaces in script.

--- Game/Resources/elevatorScene/Scripts/LightsOutScript.as
+++ Game/Resources/elevatorScene/Scripts/LightsOutScript.as
@@ -7,109 +7,109 @@
         @self = @entity;
     }

-	// Index goes first row 0 -> 4, second row 5 -> 9 etc.
-	void ButtonPress(int index) {
-		// Check if button is not pressed, in which case we invert its neighbors (check for out of bounds)
-		print("Pressed button nr `" + index + "`\n");
-	}
+    // Index goes first row 0 -> 4, second row 5 -> 9 etc.
+    void ButtonPress(int index) {
+        // Check if button is not pressed, in which case we invert its neighbors (check for out of bounds)
+        print("Pressed button nr `" + index + "`\n");
+    }

-	void b_0_0() {
-		ButtonPress(0);
-	}
+    void b_0_0() {
+        ButtonPress(0);
+    }

-	void b_0_1() {
-		ButtonPress(1);
-	}
+    void b_0_1() {
+        ButtonPress(1);
+    }

-	void b_0_2() {
-		ButtonPress(2);
-	}
+    void b_0_2() {
+        ButtonPress(2);
+    }

-	void b_0_3() {
-		ButtonPress(3);
-	}
+    void b_0_3() {
+        ButtonPress(3);
+    }

-	void b_0_4() {
-		ButtonPress(4);
-	}
+    void b_0_4() {
+        ButtonPress(4);
+    }

-	void b_1_0() {
-		ButtonPress(5);
-	}
+    void b_1_0() {
+        ButtonPress(5);
+    }

-	void b_1_1() {
-		ButtonPress(6);
-	}
+    void b_1_1() {
+        ButtonPress(6);
+    }

-	void b_1_2() {
-		ButtonPress(7);
-	}
+    void b_1_2() {
+        ButtonPress(7);
+    }

-	void b_1_3() {
-		ButtonPress(8);
-	}
+    void b_1_3() {
+        ButtonPress(8);
+    }

-	void b_1_4() {
-		ButtonPress(9);
-	}
+    void b_1_4() {
+        ButtonPress(9);
+    }

-	void b_2_0() {
-		ButtonPress(10);
-	}
+    void b_2_0() {
+        ButtonPress(10);
+    }

-	void b_2_1() {
-		ButtonPress(11);
-	}
+    void b_2_1() {
+        ButtonPress(11);
+    }

-	void b_2_2() {
-		ButtonPress(12);
-	}
+    void b_2_2() {
+        ButtonPress(12);
+    }

-	void b_2_3() {
-		ButtonPress(13);
-	}
+    void b_2_3() {
+        ButtonPress(13);
+    }

-	void b_2_4() {
-		ButtonPress(14);
-	}
+    void b_2_4() {
+        ButtonPress(14);
+    }

-	void b_3_0() {
-		ButtonPress(15);
-	}
+    void b_3_0() {
+        ButtonPress(15);
+    }

-	void b_3_1() {
-		ButtonPress(16);
-	}
+    void b_3_1() {
+        ButtonPress(16);
+    }

-	void b_3_2() {
-		ButtonPress(17);
-	}
+    void b_3_2() {
+        ButtonPress(17);
+    }

-	void b_3_3() {
-		ButtonPress(18);
-	}
+    void b_3_3() {
+        ButtonPress(18);
+    }

-	void b_3_4() {
-		ButtonPress(19);
-	}
+    void b_3_4() {
+        ButtonPress(19);
+    }

-	void b_4_0() {
-		ButtonPress(20);
-	}
+    void b_4_0() {
+        ButtonPress(20);
+    }

-	void b_4_1() {
-		ButtonPress(21);
-	}
+    void b_4_1() {
+        ButtonPress(21);
+    }

-	void b_4_2() {
-		ButtonPress(22);
-	}
+    void b_4_2() {
+        ButtonPress(22);
+    }

-	void b_4_3() {
-		ButtonPress(23);
-	}
+    void b_4_3() {
+        ButtonPress(23);
+    }

-	void b_4_4() {
-		ButtonPress(24);
-	}
+    void b_4_4() {
+        ButtonPress(24);
+    }
 }


set AbtractCamera.getWorldToViewTransform() and AbstractCamera.getViewToWorldTransform() forceUpdate argument to be false by default

--- src/aerys/minko/scene/node/camera/AbstractCamera.as
+++ src/aerys/minko/scene/node/camera/AbstractCamera.as
@@ -139,7 +139,7 @@
 		 * @return
 		 *
 		 */
-		public function getWorldToViewTransform(forceUpdate	: Boolean,
+		public function getWorldToViewTransform(forceUpdate	: Boolean	= false,
 												output 		: Matrix4x4 = null) : Matrix4x4
 		{
 			return getWorldToLocalTransform(forceUpdate, output);
@@ -153,7 +153,7 @@
 		 * @return
 		 *
 		 */
-		public function getViewToWorldTransform(forceUpdate : Boolean,
+		public function getViewToWorldTransform(forceUpdate : Boolean	= false,
 												output 		: Matrix4x4 = null) : Matrix4x4
 		{
 			return getLocalToWorldTransform(forceUpdate, output);


remove never use import

remove never use import

--- src/aerys/minko/type/loader/parser/ParserOptions.as
+++ src/aerys/minko/type/loader/parser/ParserOptions.as
@@ -7,8 +7,6 @@

 	import flash.net.URLRequest;

-	import spark.layouts.BasicLayout;
-
 	/**
 	 * ParserOptions objects provide properties and function references
 	 * to customize how a LoaderGroup object will load and interpret


Transferred from the Adobe Open Source Subversion Repository

Revision: 5099
Author:   gauravj@adobe.com
Date:     2009-02-27T03:43:02.639229Z

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

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

Modified Paths:
--------------
147 paths were modified

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

--- frameworks/projects/rpc/src/mx/messaging/SubscriptionInfo.as
+++ frameworks/projects/rpc/src/mx/messaging/SubscriptionInfo.as
@@ -15,17 +15,35 @@
 /**
  * This is the class used for elements of the ArrayCollection subscriptions property in the
  * MultiTopicConsumer property.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion BlazeDS 4
+ *  @productversion LCDS 3
  */
 public class SubscriptionInfo
 {
     /**
      * The subtopic. If null, represents a subscription for messages directed to the
      * destination with no subtopic.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public var subtopic:String;

     /**
      * The selector. If null, indicates all messages should be sent.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public var selector:String;

@@ -33,6 +51,12 @@
      * The maximum number of messages per second the subscription wants to receive.
      * Zero means the subscription has no preference for the number of messages
      * it receives.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public var maxFrequency:uint;

@@ -45,6 +69,12 @@
      *
      *  @param mi The maximum number of messages per second the subscription wants
      *  to receive. Zero means no preference.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function SubscriptionInfo(st:String, sel:String, mf:uint = 0)
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7644
Author:   hmuller@adobe.com
Date:     2009-06-08T20:49:37.003317Z

Log Message:
-----------
SkinnableDataContainerSkin's min size is now 0x0, same as SkinnableContainerSkin.
Added ScrollBar autoThumbVisibility style so that Catylyst developers can turn
thumb visibility on and off.

QE Notes: New ScrollBar API: new boolean autoThumbVisibility style
Doc Notes:
Bugs: sdk-21143, sdk21108
Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/SkinnableDataContainerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/SkinnableContainerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/PanelSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/HScrollBar.as
+++ frameworks/projects/spark/src/spark/components/HScrollBar.as
@@ -172,7 +172,8 @@
         var calculatedThumbSize:Number = (getStyle("fixedThumbSize")) ?
             super.calculateThumbSize() :
             thumbSize;
-        thumb.visible = calculatedThumbSize < trackSize;
+        if (getStyle("autoThumbVisibility"))
+            thumb.visible = calculatedThumbSize < trackSize;
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 4027
Author:   rvollmar@adobe.com
Date:     2008-11-06T16:35:22.275047Z

Log Message:
-----------
Adding an example for FxAnimateFilter.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateFilter.as

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

--- frameworks/projects/spark/src/spark/effects/AnimateFilter.as
+++ frameworks/projects/spark/src/spark/effects/AnimateFilter.as
@@ -29,16 +29,42 @@
  * by the propertyValuesList.
  *
  * Example usage is as follows:
+ * @example FxAnimateFilter example:
+ * <listing version="3.0">
+ * <?xml version="1.0" encoding="utf-8"?>
+ * <FxApplication xmlns="http://ns.adobe.com/mxml/2009" >
  *
- * @example Using the AnimateFilter effect to animate a hypothetical FishEye
- * shader's radius from 0 to 50.
+ * <Script>
+ * <![CDATA[
  *
- * <listing version="3.0">
- * var button:Button = new Button();
- * var shader:ShaderFilter = new ShaderFilter(new FishEyeLens());
- * var anim:AnimateFilter = new AnimateFilter(button, shader);
- * anim.propertyValuesList = [new PropertyValuesHolder("radius", [0,50])];
- * anim.play();
+ * import mx.effects.*;
+ * import mx.filters.DropShadowFilter;
+ *
+ * // Use FxAnimateFilter to animate the color, distance, and angle
+ * // of a DropShadowFilter.
+ *
+ * private function doDropShadowFilterSample():void{
+ *     var df:DropShadowFilter = new DropShadowFilter();
+ *     var anim:FxAnimateFilter = new FxAnimateFilter(btn1, df);
+ *
+ *     anim.propertyValuesList = [
+ *         new PropertyValuesHolder("color", [0,0x0000FF]),
+ *         new PropertyValuesHolder("distance", [0,10]),
+ *         new PropertyValuesHolder("angle", [270,360])
+ *     ];
+ *
+ *     anim.repeatCount = 0;
+ *     anim.duration = 500;
+ *     anim.repeatBehavior = Animation.REVERSE;
+ *     anim.play();
+ * }
+ *
+ * ]]>
+ * </Script>
+ *
+ * <Button id="btn1" x="50" y="50" label="Animate a DropShadowFilter" click="doDropShadowFilterSample()" />
+ *
+ * </FxApplication>
  * </listing>
  */
 public class FxAnimateFilter extends FxAnimate


Updated PenMouse. The penTool is now added to the container that is right clicked on and the tool is added as a child.

--- WeaveUI/src/weave/ui/PenMouse.as
+++ WeaveUI/src/weave/ui/PenMouse.as
@@ -35,8 +35,10 @@
 	import weave.Weave;
 	import weave.api.WeaveAPI;
 	import weave.api.core.IDisposableObject;
+	import weave.api.core.ILinkableContainer;
 	import weave.api.core.ILinkableObject;
 	import weave.api.newLinkableChild;
+	import weave.api.registerLinkableChild;
 	import weave.core.LinkableNumber;
 	import weave.core.LinkableString;
 	import weave.core.StageUtils;
@@ -44,6 +46,7 @@
 	import weave.utils.CustomCursorManager;
 	import weave.utils.EventUtils;
 	import weave.utils.VectorUtils;
+	import weave.visualization.layers.PlotLayer;

 	/**
@@ -137,6 +140,7 @@
 		 */
 		public function handleMouseMove(event:MouseEvent):void
 		{
+			CustomCursorManager.showCursor(CustomCursorManager.PEN_CURSOR, CursorManagerPriority.HIGH, -3, -22); //This is a temporary fix, should be changed if there is another way.
 			if( drawing ){
 				_coordsArrays[_coordsArrays.length - 1].push(mouseX, mouseY);
 				coords.value += '' + mouseX + "," + mouseY + ",";
@@ -225,7 +229,7 @@
 				return;
 			CustomCursorManager.removeCurrentCursor();
 			//If session state is imported need to detect if there already is drawings.
-			if( Weave.root.getObject( PEN_OBJECT_NAME ) )
+			if( ( getLinkableContainer(e.mouseTarget) as ILinkableContainer).getLinkableChildren().getObject( PEN_OBJECT_NAME ) )
 				_removeDrawingsMenuItem.enabled = true;
 		}

@@ -237,7 +241,10 @@
 		 */
 		public static function drawFunction(e:ContextMenuEvent):void
 		{
-			var penTool:PenMouse = Weave.root.requestObject(PEN_OBJECT_NAME, PenMouse, false ) as PenMouse;
+			var linkableContainer:ILinkableContainer = getLinkableContainer(e.mouseTarget);
+
+			if ( linkableContainer )
+				var penTool:PenMouse = linkableContainer.getLinkableChildren().requestObject(PEN_OBJECT_NAME, PenMouse,false);
 			if( _penToolMenuItem.caption == ENABLE_PEN )
 			{
 				// enable pen
@@ -245,6 +252,7 @@
 				penTool.editMode = true;
 				_penToolMenuItem.caption = DISABLE_PEN;
 				_removeDrawingsMenuItem.enabled = true;
+				CustomCursorManager.showCursor(CustomCursorManager.PEN_CURSOR, CursorManagerPriority.HIGH, -3, -22);
 			}
 			else
 			{
@@ -253,6 +261,25 @@

 				_penToolMenuItem.caption = ENABLE_PEN;
 			}
+		}
+
+		/**
+		 * This function is passed a target and checks to see if the target is an ILinkableContainer.
+		 * Either a ILinkableContainer or null will be returned.
+		 */
+		private static function getLinkableContainer(target:*):*
+		{
+			var targetComponent:* = target;
+
+			while(targetComponent)
+			{
+				if(targetComponent is ILinkableContainer)
+					return targetComponent as ILinkableContainer;
+
+				targetComponent = targetComponent.parent;
+			}
+
+			return targetComponent;
 		}

 		/**
@@ -261,7 +288,10 @@
 		 */
 		public static function eraseDrawings(e:ContextMenuEvent):void
 		{
-			Weave.root.removeObject(PEN_OBJECT_NAME);
+			var linkableContainer:ILinkableContainer = getLinkableContainer(e.mouseTarget);
+
+			if ( linkableContainer )
+				linkableContainer.getLinkableChildren().removeObject( PEN_OBJECT_NAME );
 			_penToolMenuItem.caption = ENABLE_PEN;
 			_removeDrawingsMenuItem.enabled = false;
 		}


Autoplay FLVs, for now, like the old player did.

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

--- src/as/com/threerings/flash/video/FlvVideoPlayer.as
+++ src/as/com/threerings/flash/video/FlvVideoPlayer.as
@@ -30,8 +30,9 @@
 public class FlvVideoPlayer extends EventDispatcher
     implements VideoPlayer
 {
-    public function FlvVideoPlayer ()
-    {
+    public function FlvVideoPlayer (autoPlay :Boolean = true)
+    {
+        _autoPlay = autoPlay;
         _sizeChecker = new Timer(100);
         _sizeChecker.addEventListener(TimerEvent.TIMER, handleSizeCheck);

@@ -65,8 +66,13 @@
         _sizeChecker.start();

         _netStream.play(url);
-        _netStream.pause(); // TODO Does this work?
-        updateState(VideoPlayerCodes.STATE_READY);
+        if (_autoPlay) {
+            updateState(VideoPlayerCodes.STATE_PLAYING);
+
+        } else {
+            _netStream.pause();
+            updateState(VideoPlayerCodes.STATE_READY);
+        }
     }

     // from VideoPlayer
@@ -293,6 +299,8 @@
     }

     protected const log :Log = Log.getLog(this);
+
+    protected var _autoPlay :Boolean;

     protected var _vid :Video = new Video();


In order to facilitate the most common form of moving around the scene relatively quickly, we'll prefetch the blocks within half a screen of visible.

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

--- src/as/com/threerings/miso/client/MisoScenePanel.as
+++ src/as/com/threerings/miso/client/MisoScenePanel.as
@@ -161,7 +161,7 @@
             _masks);
     }

-    protected function getBaseBlocks () :Set
+    protected function getBaseBlocks (buffer :Boolean) :Set
     {
         var blocks :Set = Sets.newSetOf(int);

@@ -170,10 +170,10 @@
         var xMove :int = (_pendingMoveBy == null ? 0 : _pendingMoveBy.x);
         var yMove :int = (_pendingMoveBy == null ? 0 : _pendingMoveBy.y);

-        var minX :int = xMove;
-        var maxX :int = size.x + xMove;
-        var minY :int = yMove;
-        var maxY :int = BOTTOM_BUFFER + size.y + yMove;
+        var minX :int = xMove - (buffer ? size.x/2 : 0);
+        var maxX :int = size.x + xMove + (buffer ? size.x/2 : 0);
+        var minY :int = yMove - (buffer ? size.x/2 : 0);
+        var maxY :int = BOTTOM_BUFFER + size.y + yMove + (buffer ? size.x/2 : 0);

         var topLeft :Point = _isoView.localToIso(new Point(minX, minY));
         var topRight :Point = _isoView.localToIso(new Point(maxX, minY));
@@ -213,20 +213,26 @@
     {
         _resStartTime = getTimer();

-        var blocks :Set = getBaseBlocks();
+        // Clear em til we're done resolving.
+        _pendingPrefetchBlocks = [];
+
+        var blocks :Set = getBaseBlocks(false);

         // Keep this to use in our function...
         var thisRef :MisoScenePanel = this;

-
         // Postpone calling complete til they're all queued up.
         _skipComplete = true;

         blocks.forEach(function(blockKey :int) :void {
             if (!_blocks.containsKey(blockKey)) {
-                var sceneBlock :SceneBlock = createSceneBlock(blockKey);
-                _pendingBlocks.add(sceneBlock);
-                sceneBlock.resolve(_ctx, _model, thisRef, blockResolved);
+                if (_prefetchedBlocks.containsKey(blockKey)) {
+                    _readyBlocks.add(_prefetchedBlocks.remove(blockKey));
+                } else {
+                    var sceneBlock :SceneBlock = createSceneBlock(blockKey);
+                    _pendingBlocks.add(sceneBlock);
+                    sceneBlock.resolve(_ctx, _model, thisRef, blockResolved);
+                }
             }
         });

@@ -274,14 +280,49 @@
         }

         // Now, take out any old blocks no longer in our valid blocks.
-        var blocks :Set = getBaseBlocks();
+        var blocks :Set = getBaseBlocks(true);
         for each (var baseKey :int in _blocks.keys()) {
             if (!blocks.contains(baseKey)) {
                 _blocks.remove(baseKey).release();
             }
         }
+        // And any prefetch blocks that are bogus can go away too.
+        for each (var preKey :int in _prefetchedBlocks.keys()) {
+            if (!blocks.contains(preKey)) {
+                _prefetchedBlocks.remove(preKey);
+            }
+        }

         trace("Scene Block Resolution took: " + (getTimer() - _resStartTime) + "ms");
+
+        // Let's setup some prefetching...
+        blocks.forEach(function(blockKey :int) :void {
+            if (!_blocks.containsKey(blockKey)) {
+                var sceneBlock :SceneBlock = createSceneBlock(blockKey);
+                _pendingPrefetchBlocks.push(sceneBlock);
+            }
+        });
+
+        maybePrefetchABlock();
+    }
+
+    protected function maybePrefetchABlock () :void
+    {
+        if (_pendingPrefetchBlocks.length != 0) {
+            _pendingPrefetchBlocks.shift().resolve(_ctx, _model, this, prefetchBlockResolved);
+        }
+    }
+
+    protected function prefetchBlockResolved (resolved :SceneBlock) :void
+    {
+        _prefetchedBlocks.put(resolved.getKey(), resolved);
+
+        // If we haven't moved on to resolve a new region, let's try another block.
+        if (_pendingBlocks.size() == 0) {
+            DelayUtil.delayFrame(function() :void {
+                maybePrefetchABlock();
+            });
+        }
     }

     protected function refreshScene () :void
@@ -320,18 +361,31 @@

     protected var _objScene :IsoScene;

+    /** All of the active blocks that are part of the scene. */
     protected var _blocks :Map = Maps.newMapOf(int);

+    /** If we're resolving in preparation for moving, this is how much we'll move by when ready. */
     protected var _pendingMoveBy :Point;

+    /** Required blocks we're working on resolving. */
     protected var _pendingBlocks :Set = Sets.newSetOf(SceneBlock);
+
+    /** Blocks that are resolved and ready for adding to the scene. */
     protected var _readyBlocks :Set = Sets.newSetOf(SceneBlock);
+
+    /** The queue of blocks we'd like to prefetch when we have a chance. */
+    protected var _pendingPrefetchBlocks :Array = [];
+
+    /** The blocks already prefetched and ready to go if we need them. */
+    protected var _prefetchedBlocks :Map = Maps.newMapOf(int);

     protected var _masks :Map = Maps.newMapOf(int);
     protected var _fringes :Map = new WeakValueMap(Maps.newMapOf(FringeTile));

+    /** What time did we start the current scene resolution. */
     protected var _resStartTime :int;

+    /** If any block happens to resolve should we currently skip calling completion. */
     protected var _skipComplete :Boolean

     protected const DEF_WIDTH :int = 985;


Linkable objects with no explicit session state and no linkable children no longer appear in the session state.

--- WeaveCore/src/weave/core/SessionManager.as
+++ WeaveCore/src/weave/core/SessionManager.as
@@ -360,24 +360,26 @@
 			// use ignore list to prevent infinite recursion
 			ignoreList[sessionedObject] = true;

-			// special cases:
+			// special cases (explicit session state)
 			if (sessionedObject is ILinkableVariable)
 				return (sessionedObject as ILinkableVariable).getSessionState();
 			if (sessionedObject is ILinkableCompositeObject)
 				return (sessionedObject as ILinkableCompositeObject).getSessionState();
-
+
+			// implicit session state
 			// first pass: get property names
 			var propertyNames:Array = getLinkablePropertyNames(sessionedObject);
 			var resultNames:Array = [];
 			var resultProperties:Array = [];
+			var property:ILinkableObject = null;
 			var i:int;
 			//trace("getting session state for "+getQualifiedClassName(sessionedObject),"propertyNames="+propertyNames);
 			for (i = 0; i < propertyNames.length; i++)
-			{
+			{
 				var name:String = propertyNames[i];
-				var property:ILinkableObject = null;
 				try
 				{
+					property = null; // must set this to null first because accessing the property may fail
 					property = sessionedObject[name] as ILinkableObject;
 				}
 				catch (e:Error)
@@ -399,12 +401,20 @@
 				{
 					//trace("skipped property",name,property,ignoreList[property]);
 				}
-			}
+			}
+			// special case if there are no child objects
+			if (resultNames.length == 0)
+				return null;
 			// second pass: get values from property names
 			var result:Object = new Object();
 			for (i = 0; i < resultNames.length; i++)
-			{
-				result[resultNames[i]] = internalGetSessionState(resultProperties[i], ignoreList);
+			{
+				var value:Object = internalGetSessionState(resultProperties[i], ignoreList);
+				property = resultProperties[i] as ILinkableObject;
+				// do not include objects that have a null implicit session state (no child objects)
+				if (value == null && !(property is ILinkableVariable) && !(property is ILinkableCompositeObject))
+					continue;
+				result[resultNames[i]] = value;
 				//trace("getState",getQualifiedClassName(sessionedObject),resultNames[i],result[resultNames[i]]);
 			}
 			return result;


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

--- frameworks/projects/framework/src/mx/collections/errors/SortError.as
+++ frameworks/projects/framework/src/mx/collections/errors/SortError.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2006 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.collections.errors
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8447
Author:   smgilson@adobe.com
Date:     2009-07-08T14:43:53.695916Z

Log Message:
-----------
Add ASDoc version info to IToggleButton.as and ITransientDeferredInstance.as.

Update ASDoc comments for IVisualElement.as and IVisualElementContainer.as

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITransientDeferredInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElementContainer.as</path>

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

--- frameworks/projects/framework/src/mx/core/IVisualElementContainer.as
+++ frameworks/projects/framework/src/mx/core/IVisualElementContainer.as
@@ -14,7 +14,15 @@

 /**
- *  Documentation is not currently available.
+ *  The IVisualElementContainer interface defines the minimum properties and methods
+ *  required for a container to manage Spark components for display.
+ *
+ *
Note that the Spark SkinnableDataContainer and DataGroup containers
+ *  do not implement this interface.
+ *  Those containers manage their
+ *  children through the dataProvider property.

+ *
+ *  @see mx.core.IVisualElement
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -28,10 +36,11 @@
     //----------------------------------

     /**
-     *  The number of visual elements in this visual container.
-     *
-     *  @return The number of elements in this visual container
-     *
+     *  The number of visual elements in this container.
+     *  Visual elements include classes that implement
+     *  the IVisualElement interface, such as subclasses of
+     *  UIComponent and GraphicElement.
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
@@ -40,7 +49,7 @@
     function get numElements():int;

     /**
-     *  Returns the visual element that exists at the specified index.
+     *  Returns the visual element at the specified index.
      *
      *  @param index The index of the element to retrieve.
      *
@@ -60,55 +69,54 @@
     //----------------------------------

     /**
-     *  Adds a visual element to this visual container. The element is
-     *  added after all other elements.  It will sit on top of all other
-     *  elements unless the layer property is set.
-     *  (To add a visual element to a specific index position, use
-     *  the addElementAt() method.)
-     *
-     *
If you add a visual element object that already has a different
-     *  container as a parent, the element is removed from the child
-     *  list of the other container.

+     *  Adds a visual element to this container.
+     *  The element is  added after all other elements
+     *  and appears top of all other elements.
+     *  To add a visual element to a specific index position, use
+     *  the addElementAt() method.
+     *
+     *
If you add a visual element that already has a different
+     *  container as a parent, the element is removed from
+     *  the other container.

+     *
+     *  @param element The visual element to add as a child of this container.
+     *
+     *  @return The element that was added.
+     *
+     *  @event elementAdd ElementExistenceEvent Dispatched when
+     *  the element is added to the child list.
+     *
+     *  @throws ArgumentError If the element is the same as the visual container.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    function addElement(element:IVisualElement):IVisualElement;
+
+    /**
+     *  Adds a visual element to this container.
+     *  The element is added at the index position specified.
+     *  An index of 0 represents  the first element in the display list.
+     *
+     *
If you add a visual element that already has a different
+     *  container as a parent, the element is removed from
+     *  the other container.

      *
      *  @param element The element to add as a child of this visual container.
-     *
-     *  @return The element that was added to the visual container.
+     *
+     *  @param index The index position to which the element is added. If
+     *  you specify a currently occupied index position, the child
+     *  that exists at that position and all higher positions are moved
+     *  up one position in the child list.
+     *
+     *  @return The element that was added.
      *
      *  @event elementAdded ElementExistenceChangedEvent Dispatched when
      *  the element is added to the child list.
      *
-     *  @throws ArgumentError If the element is the same as the visual container.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    function addElement(element:IVisualElement):IVisualElement;
-
-    /**
-     *  Adds a visual element to this visual container. The element is
-     *  added at the index position specified.  An index of 0 represents
-     *  the first element and the back (bottom) of the display list, unless
-     *  layer is specified.
-     *
-     *
If you add a visual element object that already has a different
-     *  container as a parent, the element is removed from the child
-     *  list of the other container.

-     *
-     *  @param element The element to add as a child of this visual container.
-     *
-     *  @param index The index position to which the element is added. If
-     *  you specify a currently occupied index position, the child object
-     *  that exists at that position and all higher positions are moved
-     *  up one position in the child list.
-     *
-     *  @return The element that was added to the visual container.
-     *
-     *  @event elementAdded ElementExistenceChangedEvent Dispatched when
-     *  the element is added to the child list.
-     *
-     *  @throws ArgumentError If the element is the same as the visual container.
+     *  @throws ArgumentError If the element is the same as the container.
      *
      *  @throws RangeError If the index position does not exist in the child list.
      *
@@ -125,12 +133,13 @@

     /**
      *  Removes the specified visual element from the child list of
-     *  this visual container.  The index positions of any elements
+     *  this container.
+     *  The index positions of any elements
      *  above the element in this visual container are decreased by 1.
      *
-     *  @param element The element to be removed from the visual container.
-     *
-     *  @return The element removed from the visual container.
+     *  @param element The element to be removed from the container.
+     *
+     *  @return The element removed.
      *
      *  @throws ArgumentError If the element parameter is not a child of
      *  this visual container.
@@ -144,11 +153,13 @@

     /**
      *  Removes a visual element from the specified index position
-     *  in the visual container.
+     *  in the container.
+     *  The index positions of any elements
+     *  above the element in this visual container are decreased by 1.
      *
      *  @param index The index of the element to remove.
      *
-     *  @return The element removed from the visual container.
+     *  @return The element removed.
      *
      *  @throws RangeError If the index does not exist in the child list.
      *
@@ -160,7 +171,7 @@
     function removeElementAt(index:int):IVisualElement;

     /**
-     *  Removes all visual elements from the visual container.
+     *  Removes all visual elements from the container.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -176,9 +187,9 @@
     /**
      *  Returns the index position of a visual element.
      *
-     *  @param element The element to identify.
-     *
-     *  @return The index position of the element to identify.
+     *  @param element The visual element.
+     *
+     *  @return The index position of the element in the container.
      *
      *  @throws ArgumentError If the element is not a child of this visual container.
      *
@@ -195,7 +206,7 @@
      *
When you call the setElementIndex() method and specify an
      *  index position that is already occupied, the only positions
      *  that change are those in between the elements's former and new position.
-     *  All others will stay the same.

+     *  All others stay the same.

      *
      *
If a visual element is moved to an index
      *  lower than its current index, the index of all elements in between increases
@@ -207,9 +218,9 @@
      *
      *  @param index The resulting index number for the element.
      *
-     *  @throws RangeError - If the index does not exist in the child list.
-     *
-     *  @throws ArgumentError - If the element parameter is not a child
+     *  @throws RangeError If the index does not exist in the child list.
+     *
+     *  @throws ArgumentError If the element parameter is not a child
      *  of this visual container.
      *
      *  @langversion 3.0
@@ -228,6 +239,7 @@
      *  remain in the same index position.
      *
      *  @param element1 The first visual element.
+     *
      *  @param element2 The second visual element.
      *
      *  @langversion 3.0
@@ -239,8 +251,8 @@

     /**
      *  Swaps the visual elements at the two specified index
-     *  positions in the visual container.  All other visual
-     *  elements remain in the same index position.
+     *  positions in the  container.
+     *  All other visual elements remain in the same index position.
      *
      *  @param index1 The index of the first element.
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 12457
Author:   smgilson@adobe.com
Date:     2009-12-03T18:13:50.586970Z

Log Message:
-----------
asdoc updates 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/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/AnchorStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/IEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.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/spark/src/spark/effects/AnimateTransform.as</path>

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

--- frameworks/projects/framework/src/mx/styles/metadata/AnchorStyles.as
+++ frameworks/projects/framework/src/mx/styles/metadata/AnchorStyles.as
@@ -52,7 +52,7 @@
 /**
  *  The horizontal distance in pixels from the center of the component's
  *  content area to the center of the component.
- *  If this style is set, the center of the component will be
+ *  If this style is set, the center of the component is
  *  anchored to the center of its content area; when its container
  *  is resized, the two centers maintain their horizontal separation.
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 6609
Author:   gruehle@adobe.com
Date:     2009-05-04T22:47:31.285324Z

Log Message:
-----------
Add theme attribute to theme-specific style metadata.

Example of a halo-specific style:
[Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="halo")]

Example of a spark-specific style:
[Style(name="baseColor", type="uint", format="Color", inherit="yes", theme="spark")]

Style metadata without a theme attribute is theme-agnostic, and works with either spark or halo.

Bugs: SDK-20606

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/FillStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SkinStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.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/styles/metadata/BarColorStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/IconColorStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RadioButton.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/scrollClasses/ScrollBar.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/styles/metadata/SelectedFillColorsStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.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/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as
+++ frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as
@@ -23,7 +23,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="backgroundAlpha", type="Number", inherit="no")]
+[Style(name="backgroundAlpha", type="Number", inherit="no", theme="halo")]

 /**
  *  Background color of a component.
@@ -54,7 +54,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="backgroundColor", type="uint", format="Color", inherit="no")]
+[Style(name="backgroundColor", type="uint", format="Color", inherit="no", theme="halo")]

 /**
  *  Background color of the component when it is disabled.
@@ -68,7 +68,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="backgroundDisabledColor", type="uint", format="Color", inherit="yes")]
+[Style(name="backgroundDisabledColor", type="uint", format="Color", inherit="yes", theme="halo")]

 /**
  *  Background image of a component.  This can be an absolute or relative
@@ -93,7 +93,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="backgroundImage", type="Object", format="File", inherit="no")]
+[Style(name="backgroundImage", type="Object", format="File", inherit="no", theme="halo")]

 /**
  *  Scales the image specified by backgroundImage
@@ -110,7 +110,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="backgroundSize", type="String", inherit="no")]
+[Style(name="backgroundSize", type="String", inherit="no", theme="halo")]

 /**
  *  Color of the border.
@@ -122,7 +122,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="borderColor", type="uint", format="Color", inherit="no")]
+[Style(name="borderColor", type="uint", format="Color", inherit="no", theme="halo")]

 /**
  *  Bounding box sides.
@@ -139,7 +139,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="borderSides", type="String", inherit="no")]
+[Style(name="borderSides", type="String", inherit="no", theme="halo")]

 /**
  *  The border skin class of the component.
@@ -183,7 +183,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="borderThickness", type="Number", format="Length", inherit="no")]
+[Style(name="borderThickness", type="Number", format="Length", inherit="no", theme="halo")]

 /**
  *  Radius of component corners.
@@ -196,7 +196,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="cornerRadius", type="Number", format="Length", inherit="no")]
+[Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="halo")]

 /**
  *  Boolean property that specifies whether the component has a visible
@@ -214,7 +214,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="dropShadowEnabled", type="Boolean", inherit="no")]
+[Style(name="dropShadowEnabled", type="Boolean", inherit="no", theme="halo")]

 /**
  *  Color of the drop shadow.
@@ -226,7 +226,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="dropShadowColor", type="uint", format="Color", inherit="yes")]
+[Style(name="dropShadowColor", type="uint", format="Color", inherit="yes", theme="halo")]

 /**
  *  Direction of the drop shadow.
@@ -240,7 +240,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="shadowDirection", type="String", enumeration="left,center,right", inherit="no")]
+[Style(name="shadowDirection", type="String", enumeration="left,center,right", inherit="no", theme="halo")]

 /**
  *  Distance of the drop shadow.
@@ -253,7 +253,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="shadowDistance", type="Number", format="Length", inherit="no")]
-
-
-
+[Style(name="shadowDistance", type="Number", format="Length", inherit="no", theme="halo")]
+
+
+


ADDED conditional to handle null access token

--- actionscript/src/com/marpies/ane/facebook/accountkit/AccountKit.as
+++ actionscript/src/com/marpies/ane/facebook/accountkit/AccountKit.as
@@ -179,6 +179,7 @@

             CONFIG::ane {
                 var json:String = mContext.call( "getAccessToken" ) as String;
+                if( json === null ) return null;
                 return AKAccessToken.fromJSON( JSON.parse( json ) );
             }
             return null;


Improved target label rendering.

Improved target label rendering.

--- src/com/cenix/louice/shared/model/vos/MoleculeDesignPoolMember.as
+++ src/com/cenix/louice/shared/model/vos/MoleculeDesignPoolMember.as
@@ -26,12 +26,21 @@

         public function get targetsLabel():String
         {
+            var label:String = "";
             var labels:Array = new Array();
             for each (var gene:GeneMember in genes)
             {
                 labels.push(gene.geneIdLabel);
             }
-            return labels.join('\n');
+            if (labels.length > 5)
+            {
+                label = labels.slice(0, 5).join(', ') + ", [..." + (labels.length-5) + " more...]";
+            }
+            else
+            {
+                label = labels.join(', ');
+            }
+            return label
         }

     }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/olap/IOLAPAxisPosition.as
+++ frameworks/projects/advancedgrids/src/mx/olap/IOLAPAxisPosition.as
@@ -0,0 +1,49 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.olap
+{
+import mx.collections.IList;
+
+/**
+ *  The IOLAPAxisPosition interface represents a position on an OLAP axis.
+ *.
+ *  @see mx.olap.OLAPQueryAxis
+ *  @see mx.olap.OLAPResultAxis
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public interface IOLAPAxisPosition
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  members
+	//----------------------------------
+
+    /**
+     * The members for this position, as a list of IOLAPMember instances.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get members():IList; //(of IOLAPMemeber)
+}
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as
+++ frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as
@@ -77,6 +77,11 @@
  *
  *  @see mx.core.UIComponent
  *  @see mx.styles.StyleManager
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class CSSStyleDeclaration extends EventDispatcher
 {
@@ -114,6 +119,11 @@
      *  class selector, otherwise it represents a simple type selector.
      *  @param selector The selector chain used to match IAdvancedStyleClient
      *  components to this style declaration.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function CSSStyleDeclaration(subject:String=null, selector:CSSSelector=null)
     {
@@ -204,6 +214,11 @@
      *
      *
If the UIComponent was written in ActionScript,
      *  this property is null.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var defaultFactory:Function;

@@ -224,6 +239,11 @@
      *
If this CSSStyleDeclaration is owned by a UIComponent,
      *  this function encodes the style attributes that were specified in MXML
      *  for an instance of that component.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var factory:Function;

@@ -237,6 +257,11 @@
      *  they override the name/value pairs in the objects produced by
      *  the  methods specified by the defaultFactory and
      *  factory properties.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected var overrides:Object;

@@ -249,6 +274,11 @@
     /**
      *  A potential chain of rules used to match components to this style
      *  declaration.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     mx_internal function get selector():CSSSelector
     {
@@ -263,6 +293,11 @@

     /**
      *  A String representation of the selector.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     mx_internal function get selectorString():String
     {
@@ -277,6 +312,11 @@
      *  the construction of a style declaration. Only global class selectors or
      *  simple type selectors are supported. Note that this style declaration is
      *  not automatically registered with the StyleManager when using this API.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     mx_internal function set selectorString(value:String):void
     {
@@ -308,6 +348,11 @@
      *  Determines the order of precedence when applying multiple style
      *  declarations to a component. If style declarations are of equal
      *  precedence, the last one wins.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get specificity():uint
     {
@@ -324,6 +369,11 @@
      *  The subject describes the name of a component that may be a potential
      *  match for this style declaration. The subject is determined as right
      *  most simple type selector in a potential chain of selectors.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get subject():String
     {
@@ -376,6 +426,11 @@
      *
      *  @return true if this style declaration applies to the component, or
      *  false if not.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function isMatch(object:IAdvancedStyleClient):Boolean
     {
@@ -412,6 +467,11 @@
      *
      *  @return The value of the specified style property if set,
      *  or undefined if not.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getStyle(styleProp:String):*
     {
@@ -477,6 +537,11 @@
      *  but the value undefined is not.
      *  Setting a style property to the value undefined
      *  is the same as calling the clearStyle() method.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function setStyle(styleProp:String, newValue:*):void
     {
@@ -635,6 +700,11 @@
      *  This is the same as setting the style value to undefined.
      *
      *  @param styleProp The name of the style property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function clearStyle(styleProp:String):void
     {


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

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

 package mx.messaging.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8606
Author:   cframpto@adobe.com
Date:     2009-07-15T22:54:55.226016Z

Log Message:
-----------
SDK-22250.  Rework ENTER key management so that TLF processes the key except in the case of multiline.  We no longer set the textFlow configuration manageEnterKey property to false since once it is set in the textFlow it can't be changed.  This was particularly problematic when the textFlow setter was used when multiline was false but it was also problematic if multiline was changed after the textFlow was created.

SDK-22207 and SDK-22210. Work around a scroller measurement issue in ScrollerLayout.measure().  It has heuristics for figuring out whether to use the actual content size or the preferred size when there are automatic scroll bars.  Force it to use the preferredSizes until the content sizes have been updated to accurate values.  This comes into play when remeasuring to reduce either the width/height.

Fix some it's in comments which should have been its.

QA Notes:
Doc Notes: SDK-22207, SDK-22210, SDK-22250
Reviewers: Gordon

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RichEditableText.as

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -255,17 +255,8 @@
         staticTextLayoutFormat.paddingBottom = FormatValue.INHERIT;
         staticTextLayoutFormat.verticalAlign = FormatValue.INHERIT;

-        // Create a single Configuration used by all TextContainerManager
-        // instances.  It tells the TextContainerManager that we don't want it
-        // to handle the ENTER key, because we need the ENTER key to behave
-        // differently based on the 'multiline' property.
-        staticTextContainerManagerConfiguration =
-            Configuration(TextContainerManager.defaultConfiguration).clone();
-        staticTextContainerManagerConfiguration.manageEnterKey = false;
-
         staticPlainTextImporter =
-            TextConverter.getImporter(TextConverter.PLAIN_TEXT_FORMAT,
-            staticTextContainerManagerConfiguration);
+            TextConverter.getImporter(TextConverter.PLAIN_TEXT_FORMAT);

         // Throw import errors rather than return a null textFlow.
         // Alternatively, the error strings are in the Vector, importer.errors.
@@ -290,12 +281,6 @@
      *  @private
      */
     private static var classInitialized:Boolean = false;
-
-    /**
-     *  @private
-     *  Used for telling TextContainerManager not to process the Enter key.
-     */
-    private static var staticTextContainerManagerConfiguration:Configuration;

     /**
      *  @private
@@ -1846,6 +1831,14 @@
     {
         super.measure();

+        // ScrollerLayout.measure() has heuristics for figuring out whether to
+        // use the actual content size or the preferred size when there are
+        // automatic scroll bars.  Force it to use the preferredSizes until
+        // the content sizes have been updated to accurate values.  This
+        // comes into play when remeasuring to reduce either the width/height.
+        _contentWidth = 0;
+        _contentHeight = 0;
+
         // percentWidth and/or percentHeight will come back in as constraints
         // on the remeasure if we're autoSizing.

@@ -2252,8 +2245,8 @@
      */
     mx_internal function createTextContainerManager():TextContainerManager
     {
-        return new RichEditableTextContainerManager(
-            this, staticTextContainerManagerConfiguration);
+        // Use the default configuration.
+        return new RichEditableTextContainerManager(this, null);
     }

     /**
@@ -3119,7 +3112,7 @@
     /**
      *  @private
      *  RichEditableTextContainerManager overrides focusInHandler and calls
-     *  this before executing it's own focusInHandler.
+     *  this before executing its own focusInHandler.
      *
      *  NOTE: In some cases TCM calls the focusInHandler twice during one
      *  focusIn event.  Ensure that this code works correctly if it is
@@ -3170,7 +3163,7 @@
     /**
      *  @private
      *  RichEditableTextContainerManager overrides focusOutHandler and calls
-     *  this before executing it's own focusOutHandler.
+     *  this before executing its own focusOutHandler.
      */
     mx_internal function focusOutHandler(event:FocusEvent):void
     {
@@ -3189,7 +3182,7 @@
     /**
      *  @private
      *  RichEditableTextContainerManager overrides keyDownHandler and calls
-     *  this before executing it's own keyDownHandler.
+     *  this before executing its own keyDownHandler.
      */
     mx_internal function keyDownHandler(event:KeyboardEvent):void
     {
@@ -3198,17 +3191,10 @@

         if (event.keyCode == Keyboard.ENTER)
         {
-            if (multiline)
+            // Do not let TLF handle the ENTER key if only one line.
+            if (!multiline)
             {
-                // This is the same code that is in the EditManager for handling
-                // the enter key.
-                getEditManager().splitParagraph();
-                releaseEditManager();
                 event.preventDefault();
-                //event.stopImmediatePropagation();
-            }
-            else
-            {
                 dispatchEvent(new FlexEvent(FlexEvent.ENTER));
             }
          }


Transferred from the Adobe Open Source Subversion Repository

Revision: 5687
Author:   jszeto@adobe.com
Date:     2009-03-27T23:27:38.124077Z

Log Message:
-----------
Flex Framework Bug Fix

SDK-14684 Un-hardcode the 10 digit limit in PhoneNumberValidator

Added a minDigits property to PhoneNumberValidator. Added new resource string to Validator.properties.

SDK-16679 NumberValidator.domain should use constants instead of strings

Added new class NumberValidatorDomainType. Updated the ASDoc and one of the equality checks in NumberValidator.

QE Notes: add tests for the new minDigits property
Doc Notes: add documentation for the new minDigits property and NumberValidatorDomainType class
Bugs: SDK-14684, SDK-16679
Reviewer: Hans

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/branches/3.x/frameworks/projects/framework/bundles/en_US/src/validators.properties</path>
<path kind="file" action="M">/flex/sdk/branches/3.x/frameworks/projects/framework/src/mx/validators/NumberValidator.as</path>
<path kind="file" action="A">/flex/sdk/branches/3.x/frameworks/projects/framework/src/mx/validators/NumberValidatorDomainType.as</path>
<path kind="file" action="M">/flex/sdk/branches/3.x/frameworks/projects/framework/src/mx/validators/PhoneNumberValidator.as</path>

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

--- frameworks/projects/framework/src/mx/validators/NumberValidatorDomainType.as
+++ frameworks/projects/framework/src/mx/validators/NumberValidatorDomainType.as
@@ -0,0 +1,57 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.validators
+{
+
+/**
+ *  The NumberValidatorDomainType class defines the values
+ *  for the domain property of the NumberValidator class.
+ *
+ *  @see mx.validators.NumberValidator
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class NumberValidatorDomainType
+{
+
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Specifies to validate an integer number.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static const INT:String = "int";
+
+	/**
+	 *  Specifies to validate a real number.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static const REAL:String = "real";
+}
+}