Transferred from the Adobe Open Source Subversion Repository

Revision: 6843
Author:   jimurphy@adobe.com
Date:     2009-05-12T13:58:34.182467Z

Log Message:
-----------
Merged beta1 revisions 6793,6796-6797,6802,6805,6808-6809,6831 -> trunk

Modified Paths:
--------------
<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/skins/default/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/MouseShieldUtil.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/supportClasses/SkinnableContainerBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileLayout.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</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/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
@@ -14,7 +14,6 @@

 import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
-import flash.display.Shape;
 import flash.events.Event;
 import flash.geom.Matrix;
 import flash.geom.Rectangle;
@@ -23,6 +22,7 @@
 import flashx.textLayout.compose.TextLineRecycler;

 import mx.core.IVisualElementContainer;
+import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
 import mx.resources.IResourceManager;
@@ -35,7 +35,8 @@

 import spark.components.Group;
 import spark.core.IGraphicElement;
-import spark.layouts.BasicLayout;
+
+use namespace mx_internal;

 /**
  *  The base class for GraphicElements such as TextBox and TextGraphic
@@ -87,9 +88,9 @@

 		var resourceManager:IResourceManager = ResourceManager.getInstance();

-		if (!mx_internal::truncationIndicatorResource)
-        {
-            mx_internal::truncationIndicatorResource = resourceManager.getString(
+		if (!truncationIndicatorResource)
+        {
+            truncationIndicatorResource = resourceManager.getString(
                 "core", "truncationIndicator");
         }

@@ -186,6 +187,11 @@
      */
     private var _measuredOneTextLine:Boolean = false;

+    /**
+     *  @private
+     */
+    private var displayObjectChanged:Boolean;
+
     //--------------------------------------------------------------------------
     //
     //  Overridden properties: GraphicElement
@@ -203,42 +209,32 @@
      */
     override public function get baselinePosition():Number
     {
-        mx_internal::validateBaselinePosition();
+        validateBaselinePosition();

         // Return the baseline of the first line of composed text.
-        return mx_internal::textLines.length > 0 ?
-			   mx_internal::textLines[0].y : 0;
-    }
-
-    /**
-     *  @private
-     */
-    private var displayObjectChanged:Boolean;
-
-    /**
-     *  @private
-     */
-    override protected function setDisplayObject(value:DisplayObject):void
+        return textLines.length > 0 ? textLines[0].y : 0;
+    }
+
+    //----------------------------------
+    //  visible
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var visibleChanged:Boolean = false;
+
+    /**
+     *  @private
+     */
+    override public function set visible(value:Boolean):void
     {
-        if (displayObject == value)
-            return;
-
-        // There is an exisiting d.o. so this element is either being moved
-        // to a different container (value != null) or it is being removed
-        // (value == null).
-        if (displayObject)
-        {
-            // If there was a scroll rect remove it before we lose the reference
-            // to the display object.
-            mx_internal::clip(false, 0, 0);
-
-            displayObjectChanged = true;
-            invalidateProperties();
+    	super.visible = value;
+    	visibleChanged = true;
+
+    	invalidateDisplayList();
         }

-        super.setDisplayObject(value);
-    }
-
     //--------------------------------------------------------------------------
     //
     //  Properties: ISimpleStyleClient
@@ -478,7 +474,7 @@
      */
     public function get text():String
     {
-        return mx_internal::_text;
+        return _text;
     }

     /**
@@ -486,9 +482,9 @@
      */
     public function set text(value:String):void
     {
-        if (value != mx_internal::_text)
-        {
-            mx_internal::_text = value;
+        if (value != _text)
+        {
+            _text = value;

             invalidateTextLines("text");
             invalidateSize();
@@ -527,7 +523,7 @@
     	{
     		_truncation = value;

-            mx_internal::invalidateCompose = true;
+            invalidateCompose = true;

     		invalidateSize();
     		invalidateDisplayList();
@@ -562,11 +558,11 @@
         {
             // If there is a container, move any existing text to it, otherwise
             // remove the text from the previous container.
-            mx_internal::removeTextLines();
+            removeTextLines();
             if (drawnDisplayObject)
-                mx_internal::addTextLines(drawnDisplayObject);
+                addTextLines(DisplayObjectContainer(drawnDisplayObject));
             else
-                mx_internal::releaseTextLines();
+                releaseTextLines();

             displayObjectChanged = false;
         }
@@ -590,8 +586,8 @@
 		// In that case, the text lines must go away.
 	    if (!value)
         {
-        	mx_internal::removeTextLines();
-        	mx_internal::releaseTextLines();
+        	removeTextLines();
+        	releaseTextLines();
         }

         super.parentChanged(value);
@@ -608,7 +604,7 @@
         // The measure() method of a GraphicElement can get called
         // when its style chain hasn't been initialized.
         // In that case, composeTextLines() must not be called.
-        if (!mx_internal::styleChainInitialized)
+        if (!styleChainInitialized)
             return;

         // _widthConstraint trumps even explicitWidth as some layouts may choose
@@ -624,12 +620,12 @@
         invalidateDisplayList();

         // Put on next pixel boundary for crisp edges.
-        mx_internal::bounds.width = Math.ceil(mx_internal::bounds.width);
-        mx_internal::bounds.height = Math.ceil(mx_internal::bounds.height);
+        bounds.width = Math.ceil(bounds.width);
+        bounds.height = Math.ceil(bounds.height);

         // If the measured height is not affected, then constrained
         // width measurement is not neccessary.
-        if (!isNaN(_widthConstraint) && measuredHeight == mx_internal::bounds.height)
+        if (!isNaN(_widthConstraint) && measuredHeight == bounds.height)
             return;

         // Call super.measure() here insted of in the beginning of the method,
@@ -637,13 +633,13 @@
         // still be valid if we decided to do an early return above.
         super.measure();

-        measuredWidth = mx_internal::bounds.width;
-        measuredHeight = mx_internal::bounds.height;
+        measuredWidth = bounds.width;
+        measuredHeight = bounds.height;

         // Remember the number of text lines during measure. We can use this to
         // optimize the double measure scheme for text reflow.
         _measuredOneTextLine = allLinesComposed &&
-                               mx_internal::textLines.length == 1;
+                               textLines.length == 1;

         //trace(id, drawnDisplayObject.name, "measure", measuredWidth, measuredHeight);
     }
@@ -725,7 +721,7 @@
         // The updateDisplayList() method of a GraphicElement can get called
         // when its style chain hasn't been initialized.
         // In that case, composeTextLines() must not be called.
-        if (!mx_internal::styleChainInitialized)
+        if (!styleChainInitialized)
             return;

         // Figure out if a compose is needed or maybe just clip what is already
@@ -736,16 +732,16 @@

         // ToDo: optimize for right-to-left text so compose isn't always done
         // when height or width changes.
-        if (mx_internal::invalidateCompose ||
+        if (invalidateCompose ||
             composeForAlignStyles(unscaledWidth, unscaledHeight))
         {
             compose = true;
         }
-        else if (unscaledHeight != mx_internal::bounds.height)
+        else if (unscaledHeight != bounds.height)
         {
             // Height changed.
-            if ((unscaledHeight > mx_internal::bounds.height &&
-                mx_internal::isOverset) ||
+            if ((unscaledHeight > bounds.height &&
+                isOverset) ||
                 composeOnHeightChange(unscaledHeight) ||
                 getStyle("blockProgression") != "tb")
             {
@@ -754,7 +750,7 @@
                 // recompose if the height changes.
                 compose = true;
             }
-            else if (unscaledHeight < mx_internal::bounds.height)
+            else if (unscaledHeight < bounds.height)
             {
                 // Don't need to recompose but need to clip since not all the
                 // height is needed.
@@ -763,7 +759,7 @@
         }

         // Width changed.
-        if (!compose && unscaledWidth != mx_internal::bounds.width)
+        if (!compose && unscaledWidth != bounds.width)
         {
             if (getStyle("lineBreak") == "toFit" ||
                 getStyle("blockProgression") != "tb")
@@ -772,7 +768,7 @@
                 // require a recompose if the width changes.
                 compose = true;
             }
-            else if (unscaledWidth < mx_internal::bounds.width)
+            else if (unscaledWidth < bounds.width)
             {
                 // Explicit line breaks.  Don't need to recompose but need to
                 // clip since the not all the width is needed.
@@ -786,11 +782,11 @@
         if (compose)
             composeTextLines(unscaledWidth, unscaledHeight);
         else if (sharedIndex != -1)
-            mx_internal::adjustTextLines();
+            adjustTextLines();

         // If the text is overset it always has to be clipped (as well as if
         // it is being clipped to reduce the size to avoid a recomposition).
-        if (mx_internal::isOverset)
+        if (isOverset)
             clipText = true;

         // We need to clip this text and it is in a container with other
@@ -800,18 +796,61 @@
         // object.  Once it's in it's own display object leave it there.
         if (clipText)
         {
-            mx_internal::alwaysCreateDisplayObject = true;
+            alwaysCreateDisplayObject = true;
             if (sharedIndex > 0)
                 return;
         }

         //trace(id, drawnDisplayObject.name, "udl", "compose", compose, "clip",
-        //      clipText, "bounds", mx_internal::bounds);
+        //      clipText, "bounds", bounds);

         // Set the scrollRect used for clipping appropriately.
-        mx_internal::clip(clipText, unscaledWidth, unscaledHeight);
+        clip(clipText, unscaledWidth, unscaledHeight);
     }

+    /**
+     *  @private
+     */
+    override protected function setDisplayObject(value:DisplayObject):void
+    {
+        if (displayObject == value)
+            return;
+
+        // There is an exisiting d.o. so this element is either being moved
+        // to a different container (value != null) or it is being removed
+        // (value == null).
+        if (displayObject)
+        {
+            // If there was a scroll rect remove it before we lose the reference
+            // to the display object.
+            clip(false, 0, 0);
+
+            displayObjectChanged = true;
+            invalidateProperties();
+        }
+
+        super.setDisplayObject(value);
+    }
+
+    /**
+     *  @private
+     */
+    override mx_internal function doUpdateDisplayList():void
+    {
+		super.doUpdateDisplayList();
+
+		if (visibleChanged)
+		{
+			visibleChanged = false;
+
+			var n:int = textLines.length;
+			for (var i:int = 0; i < n; i++)
+			{
+				textLines[i].visible = visible;
+			}
+		}
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Methods: ISimpleStyleClient
@@ -830,7 +869,7 @@
     {
         StyleProtoChain.styleChanged(this, styleProp);

-        mx_internal::invalidateCompose = true;
+        invalidateCompose = true;
     }

     //--------------------------------------------------------------------------
@@ -916,7 +955,7 @@
      */
     public function regenerateStyleCache(recursive:Boolean):void
     {
-        mx_internal::initProtoChain();
+        initProtoChain();
     }

     /**
@@ -991,7 +1030,7 @@
      */
     public function stylesInitialized():void
     {
-        mx_internal::invalidateCompose = true;
+        invalidateCompose = true;
     }

     /**
@@ -1008,7 +1047,7 @@
     {
         // For some reason, the compiler needs an explicit cast to Boolean
         // to avoid a warning even though at runtime "is Boolean" is true.
-        return Boolean(mx_internal::isTextTruncated);
+        return Boolean(isTextTruncated);
     }

     /**
@@ -1021,18 +1060,16 @@

     /**
      *  @private
-     *  TODO This should be mx_internal, but that causes a compiler error.
-     */
-    protected function invalidateTextLines(cause:String):void
-    {
-        mx_internal::invalidateCompose = true;
-    }
-
-    /**
-     *  @private
-     *  TODO This should be mx_internal, but that causes a compiler error.
-     */
-    protected function composeForAlignStyles(unscaledWidth:Number,
+     */
+    mx_internal function invalidateTextLines(cause:String):void
+    {
+        invalidateCompose = true;
+    }
+
+    /**
+     *  @private
+     */
+    private function composeForAlignStyles(unscaledWidth:Number,
                                              unscaledHeight:Number):Boolean
     {
         // For textAlign, if the composeWidth isn't the same
@@ -1070,9 +1107,8 @@

     /**
      *  @private
-     *  TODO This should be mx_internal, but that causes a compiler error.
-     */
-    protected function composeOnHeightChange(unscaledHeight:Number):Boolean
+     */
+    private function composeOnHeightChange(unscaledHeight:Number):Boolean
     {
         if (truncation != 0 && getStyle("lineBreak") == "toFit")
         {
@@ -1085,8 +1121,8 @@
             // redo the truncation if we don't already have the number of
             // truncation lines needed.
             if (truncation > 0 &&
-               (unscaledHeight < mx_internal::bounds.height ||
-               mx_internal::textLines.length != truncation))
+               (unscaledHeight < bounds.height ||
+               textLines.length != truncation))
             {
                 return true;
             }
@@ -1098,16 +1134,14 @@
     /**
      *  @private
      *  Returns false to indicate no lines were composed.
-     *
-     *  TODO This should be mx_internal, but that causes a compiler error.
-     */
-    protected function composeTextLines(width:Number = NaN,
+     */
+    mx_internal function composeTextLines(width:Number = NaN,
 										height:Number = NaN):Boolean
 	{
 	    _composeWidth = width;
 	    _composeHeight = height;

-	    mx_internal::isTextTruncated = false;
+	    isTextTruncated = false;

 	    return false;
 	}
@@ -1120,23 +1154,24 @@
 	mx_internal function addTextLines(container:DisplayObjectContainer,
 								      index:int = 0):void
 	{
-		var n:int = mx_internal::textLines.length;
+		var n:int = textLines.length;
         if (n == 0)
             return;

+        var addChildAtMethod:Function = container is UIComponent ?
+        								UIComponent(container).$addChildAt :
+        								container.addChildAt;
+
         for (var i:int = n - 1; i >= 0; i--)
 		{
-			var textLine:DisplayObject = mx_internal::textLines[i];
+			var textLine:DisplayObject = textLines[i];

             //trace(container.name, "addTextLines", textLine.x, textLine.y, drawX, drawY);

             textLine.x += drawX;
             textLine.y += drawY;

-			if (container is IVisualElementContainer)
-                IVisualElementContainer(container).mx_internal::$addChildAt(textLine, index);
-			else
-                container.addChildAt(textLine, index);
+			addChildAtMethod(textLine, index);
 		}

 		// If these lines went into a shared container these need to be saved
@@ -1155,22 +1190,24 @@
 	 */
 	mx_internal function removeTextLines():void
 	{
-		var n:int = mx_internal::textLines.length;
+		var n:int = textLines.length;
 		if (n == 0)
 			return;

 		// The old TextLines might have been added to a different
 		// container than the one we'd use now to add new TextLines.
 		var container:DisplayObjectContainer =
-			mx_internal::textLines[0].parent;
-
+			textLines[0].parent;
+
+         var removeChildMethod:Function = container is UIComponent ?
+										 UIComponent(container).$removeChild :
+										 container.removeChild;
+
 		for (var i:int = 0; i < n; i++)
 		{
-			var textLine:DisplayObject = mx_internal::textLines[i];
-            if (container is IVisualElementContainer)
-                IVisualElementContainer(container).mx_internal::$removeChild(textLine);
-            else
-                container.removeChild(textLine);
+			var textLine:DisplayObject = textLines[i];
+
+            removeChildMethod(textLine);

             // Reset x and y to be relative to 0,0.
             textLine.x -= _lastDrawX;
@@ -1186,14 +1223,15 @@
      *  Adds the TextLines to the reuse cache, and clears the textLines array.
      */
     mx_internal function releaseTextLines(
-    	textLines:Vector.<DisplayObject> = null):void
-    {
-        if (!textLines)
-            textLines = mx_internal::textLines;
+    	textLinesVector:Vector.<DisplayObject> = null):void
+    {
+        if (!textLinesVector)
+            textLinesVector = textLines;

-        for (var i:int = 0; i < textLines.length; i++)
-        {
-            var textLine:DisplayObject = textLines[i];
+        var n:int = textLinesVector.length;
+        for (var i:int = 0; i < n; i++)
+        {
+            var textLine:DisplayObject = textLinesVector[i];

             // This method does the Flash Player version check so we don't
             // have to.
@@ -1201,7 +1239,7 @@
             	TextLineRecycler.addLineForReuse(TextLine(textLine));
         }

-        textLines.length = 0;
+        textLinesVector.length = 0;
    }

     /**
@@ -1213,7 +1251,7 @@
      */
     mx_internal function adjustTextLines():void
     {
-        var n:int = mx_internal::textLines.length;
+        var n:int = textLines.length;
         if (n == 0)
             return;

@@ -1223,7 +1261,7 @@

         for (var i:int = 0; i < n; i++)
         {
-            var textLine:DisplayObject = mx_internal::textLines[i];
+            var textLine:DisplayObject = textLines[i];

             textLine.x +=  drawX - _lastDrawX;
             textLine.y += drawY - _lastDrawY;
@@ -1246,13 +1284,13 @@
         	new Rectangle(0, 0, composeWidth, composeHeight);

         // Add in a half-pixel slop factor to the throw-away rectangle (do
-        // not modify mx_internal::bounds).  This covers the case where the
+        // not modify bounds).  This covers the case where the
         // y (textLine.y - textLine.ascent) is slightly less than 0 because of
         // rounding errors.
         compositionRect.inflate(0.25, 0.25);

         // The bounds of the composed text.
-        var contentRect:Rectangle = mx_internal::bounds;
+        var contentRect:Rectangle = bounds;

         // Does the text fit totally within the composition area?  This is
         // a Rectangle.contains but allows for composition width and/or height
@@ -1298,12 +1336,12 @@
             	r = new Rectangle(0, 0, w, h);
             }
             drawnDisplayObject.scrollRect = r;
-            mx_internal::hasScrollRect = true;
-        }
-        else if (mx_internal::hasScrollRect)
+            hasScrollRect = true;
+        }
+        else if (hasScrollRect)
         {
             drawnDisplayObject.scrollRect = null;
-            mx_internal::hasScrollRect = false;
+            hasScrollRect = false;
         }
     }

@@ -1319,9 +1357,9 @@
         var isEmpty:Boolean = (text == "");
         text = isEmpty ? "Wj" : text;

-        if (mx_internal::invalidatePropertiesFlag ||
-        	mx_internal::invalidateSizeFlag ||
-            mx_internal::invalidateDisplayListFlag ||
+        if (invalidatePropertiesFlag ||
+        	invalidateSizeFlag ||
+            invalidateDisplayListFlag ||
             isEmpty)
         {
             validateNow();
@@ -1342,13 +1380,13 @@
     {
 		var resourceManager:IResourceManager = ResourceManager.getInstance();

-        mx_internal::truncationIndicatorResource = resourceManager.getString(
+        truncationIndicatorResource = resourceManager.getString(
             "core", "truncationIndicator");

         // If we're truncating, recompose the text.
         if (truncation != 0)
         {
-            mx_internal::invalidateCompose = true;
+            invalidateCompose = true;

             invalidateSize();
             invalidateDisplayList();


Transferred from the Adobe Open Source Subversion Repository

Revision: 13082
Author:   jszeto@adobe.com
Date:     2009-12-18T00:02:56.908450Z

Log Message:
-----------
BaselinePosition bug fixes

SDK-23462 - When using embedded fonts with some components (DropDownList, HSlider, Border, DataGroup), the baselinePosition is a bad value

Added override of baselinePosition to Combobox. Removed override from DropDownListBase. Updated a few overrides to use getBaselinePositionForPart.

QE notes: none
Doc notes: none
Bugs: SDK-23462
Reviewer: Evtim
Tests run: checkintests, DropDownList, ComboBox
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
@@ -256,7 +256,8 @@
      */
     override public function get baselinePosition():Number
     {
-        validateBaselinePosition();
+        if (!validateBaselinePosition())
+            return NaN;

         // Return the baseline of the first line of composed text.
         return textLines.length > 0 ? textLines[0].y : 0;


Transferred from the Adobe Open Source Subversion Repository

Revision: 19328
Author:   mhorn@adobe.com
Date:     2010-12-13T20:45:00.405533Z

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationAngledButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderDataTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationButtonSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.as
@@ -46,6 +46,7 @@
     //--------------------------------------------------------------------------

     /**
+     *  Constructor.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -53,33 +54,33 @@
      *  @productversion Flex 4.5
      *
      */
-	public function HSliderThumbSkin()
-	{
-		super();
+    public function HSliderThumbSkin()
+    {
+        super();

         useChromeColor = true;

         // set the right assets and dimensions to use based on the screen density
         switch (authorDensity)
         {
-			case DeviceDensity.PPI_320:
-			{
-				thumbImageWidth = 58;
-				thumbImageHeight = 58;
-
-				thumbNormalClass = spark.skins.mobile320.assets.HSliderThumb_normal;
-				thumbPressedClass = spark.skins.mobile320.assets.HSliderThumb_pressed;
-
+            case DeviceDensity.PPI_320:
+            {
+                thumbImageWidth = 58;
+                thumbImageHeight = 58;
+
+                thumbNormalClass = spark.skins.mobile320.assets.HSliderThumb_normal;
+                thumbPressedClass = spark.skins.mobile320.assets.HSliderThumb_pressed;
+
                 hitZoneOffset = 10;
                 hitZoneSideLength = 80;

-				// chromeColor ellipse goes up to the thumb border
-				chromeColorEllipseWidth = chromeColorEllipseHeight = 56;
-				chromeColorEllipseX = 1;
-				chromeColorEllipseY = 1;
-
-				break;
-			}
+                // chromeColor ellipse goes up to the thumb border
+                chromeColorEllipseWidth = chromeColorEllipseHeight = 56;
+                chromeColorEllipseX = 1;
+                chromeColorEllipseY = 1;
+
+                break;
+            }
             case DeviceDensity.PPI_240:
             {
                 thumbImageWidth = 44;
@@ -109,7 +110,7 @@
                 hitZoneOffset = 5;
                 hitZoneSideLength = 40;

-				// chromeColor ellipse goes up to the thumb border
+                // chromeColor ellipse goes up to the thumb border
                 chromeColorEllipseWidth = chromeColorEllipseHeight = 29;
                 chromeColorEllipseX = chromeColorEllipseY = 0;

@@ -117,19 +118,19 @@
             }

         }
-	}
-
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Properties
     //
     //--------------------------------------------------------------------------
-
+
     /**
      * @copy spark.skins.spark.ApplicationSkin#hostComponent
      */
-	public var hostComponent:Button;
-
+    public var hostComponent:Button;
+
     //--------------------------------------------------------------------------
     //
     //  Variables
@@ -303,7 +304,7 @@
             // hide the pressed button
             if (thumbSkin_pressed)
                 thumbSkin_pressed.visible = false;
-		}
+        }
         else if (currentState == "down")
         {
             // show the pressed button
@@ -331,19 +332,19 @@
     /**
      *  @private
      */
-	override protected function measure():void
-	{
+    override protected function measure():void
+    {
         measuredWidth = thumbImageWidth;
         measuredHeight = thumbImageHeight;
-	}
-
+    }
+
     /**
      *  @private
      */
-	override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
-	{
-		setElementSize(currentThumbSkin, unscaledWidth, unscaledHeight);
-		setElementPosition(currentThumbSkin, 0, 0)
+    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        setElementSize(currentThumbSkin, unscaledWidth, unscaledHeight);
+        setElementPosition(currentThumbSkin, 0, 0)

         super.updateDisplayList(unscaledWidth, unscaledHeight);


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

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

 package spark.skins
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8721
Author:   aharui@adobe.com
Date:     2009-07-21T22:11:37.692397Z

Log Message:
-----------
Hopefully final implementation of IME support.

QE Notes: None
Doc Notes: new API in IIMESupport
Bugs: SDK-22267, SDK-18516
Reviewer: Gordon
API Change: Yes
Is noteworthy for integration: Yes, new API in IIMESupport
tests: checkintests mustella/gumbo/components/TextInput mustella/gumbo/components/TextArea

Modified Paths:
--------------
<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/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.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/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.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/framework/src/mx/managers/FocusManager.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/IIMESupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>

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

--- frameworks/projects/mx/src/mx/controls/List.as
+++ frameworks/projects/mx/src/mx/controls/List.as
@@ -743,6 +743,27 @@
     }

     //----------------------------------
+    //  enableIME
+    //----------------------------------
+
+    /**
+     *  A flag that indicates whether the IME should
+     *  be enabled when the component receives focus.
+     *
+     *  If there is an editor, it will set enableIME
+     *  accordingly.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get enableIME():Boolean
+    {
+        return false;
+    }
+
+    //----------------------------------
     //  lockedRowCount
     //----------------------------------


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

--- frameworks/projects/advancedgrids/src/mx/collections/ISummaryCalculator.as
+++ frameworks/projects/advancedgrids/src/mx/collections/ISummaryCalculator.as
@@ -0,0 +1,158 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.collections
+{
+
+/**
+ *  The ISummaryCalculator interface defines the interface
+ *  implemented by custom summary calculator classes.
+ *  An instance of a class that implements this interface can be passed
+ *  to the summaryOperation property of the SummaryField2 Class.
+ *
+ *
Implement the methods of this interface in two groups. The first group consists of the
+ *  summaryCalculationBegin(), calculateSummary(), and returnSummary() methods.
+ *  Use these methods to compute summary of the values.

+ *
+ *
The second group consists of the
+ *  summaryOfSummaryCalculationBegin(), calculateSummaryOfSummary(),
+ *  and returnSummaryOfSummary() methods.
+ *  Use these methods to compute summary of summary values.

+ *
+ *  @see mx.collections.SummaryField2
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+public interface ISummaryCalculator
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Flex calls this method to start the computation of a summary value.
+     *
+     *  @param field The SummaryField2 for which the summary needs to calculated.
+     *
+     *  @return An Object initialized for the summary calculation.
+     *  Use this Object to hold any information necessary to perform the calculation.
+     *  You pass this Object to subsequent calls to the calculateSummary()
+     *  and returnSummary() methods.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    function summaryCalculationBegin(field:SummaryField2):Object;
+
+    /**
+     *  Flex calls this method when a new value needs to be added to the summary value.
+     *
+     *  @param data The Object returned by the call to the summaryCalculationBegin() method,
+     *  or calculated by a previous call to the calculateSummary() method.
+     *  Use this Object to hold information necessary to perform the calculation.
+     *  This method modifies this Object; it does not return a value.
+     *
+     *  @param field The SummaryField2 for which the summary needs to calculated.
+     *
+     *  @param rowData The object representing the rows data that is being analyzed.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    function calculateSummary(data:Object, field:SummaryField2, rowData:Object):void;
+
+    /**
+     *  Flex calls this method to end the computation of the summary value.
+     *
+     *  @param data The Object returned by the call to the calculateSummary() method.
+     *  Use this Object to hold information necessary to perform the calculation.
+     *
+     *  @param field The SummaryField2 for which the summary needs to calculated.
+     *
+     *  @return The summary value.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    function returnSummary(data:Object, field:SummaryField2):Number;
+
+    /**
+     *  Flex calls this method to start calculation of summary out of summary values.
+     *  Calculating the average value of a group of averages is an example of
+     *  an calculation of summary out of summary values.
+     *
+     *  @param value The Object returned by the call to the calculateSummary() method
+     *  for a previous summary calculation.
+     *  Use this Object to hold the information necessary to perform the calculation.
+     *
+     *  @param field The SummaryField2 for which the summary needs to calculated.
+     *
+     *  @return An Object initialized for the summary calculation.
+     *  Use this Object to hold any information necessary to perform the calculation.
+     *  You pass this Object to subsequent calls to the calculateSummaryOfSummary()
+     *  and returnSummaryOfSummary() methods.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    function summaryOfSummaryCalculationBegin(value:Object, field:SummaryField2):Object;
+
+    /**
+     *  Flex calls this method when a new summary value needs to be added to the already computed summary.
+     *
+     *  @param value The Object returned by a call the summaryOfSummaryCalculationBegin() method,
+     *  or calculated by a previous call to the calculateSummaryOfSummary() method.
+     *  This method modifies this Object; it does not return a value.
+     *
+     *  @param newValue The Object returned by the call to the returnSummary() method
+     *  for a previous aggregation.
+     *
+     *  @param field The SummaryField2 for which the summary needs to calculated.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    function calculateSummaryOfSummary(value:Object, newValue:Object, field:SummaryField2):void;
+
+    /**
+     *  Flex calls this method to end the summary calculation.
+     *
+     *  @param value The Object returned by a call to the calculateSummaryOfSummary() method
+     *  that is used to store the summary calculation results.
+     *  This method modifies this Object; it does not return a value.
+     *
+     *  @param field The SummaryField2 for which the summary needs to calculated.
+     *
+     *  @return The summary value.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    function returnSummaryOfSummary(value:Object, field:SummaryField2):Number;
+}
+}


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 5545
Author:   jimurphy@adobe.com
Date:     2009-03-25T19:00:52.330680Z

Log Message:
-----------
1st pass of rename according to the spec http://opensource.adobe.com/wiki/display/flexsdk/Dropping+the+Fx+Prefix

Flex now requires CSS Style declarations to declare @namespace rules and disambiguate between halo and spark components using CSS 3 namespace prefixes on type selectors. At compile time, this namespace information will be used to map type names to qualified ActionScript class names. At runtime, type selectors are matched on qualified ActionScript class name (for example mx.controls.Button rather than just Button). Flex 3 applications must be compiled with -compatibility-version=3.0.0 to get unqualified CSS type selector behavior.

QE: Yes, this build may help in updating test cases to use the new namespaces and class names.
Dev: Not yet
Doc: Not yet

Modified Paths:
--------------
748 paths were modified

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

--- frameworks/projects/airspark/src/spark/components/windowClasses/TitleBar.as
+++ frameworks/projects/airspark/src/spark/components/windowClasses/TitleBar.as
@@ -0,0 +1,501 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 spark.components.windowClasses
+{
+
+import flash.display.DisplayObject;
+import flash.display.NativeWindowDisplayState;
+import flash.events.Event;
+import flash.events.MouseEvent;
+import flash.events.NativeWindowDisplayStateEvent;
+import flash.geom.Rectangle;
+import flash.system.Capabilities;
+import flash.text.TextFormat;
+import flash.text.TextFormatAlign;
+
+import mx.controls.Button;
+import spark.components.supportClasses.SkinnableComponent;
+import mx.core.IWindow;
+import spark.primitives.SimpleText;
+import mx.styles.StyleManager;
+
+/**
+ *  The default title bar for a WindowedApplication or a Window.
+ *
+ *  @see mx.core.Window
+ *  @see mx.core.WindowedApplication
+ *
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class TitleBar extends SkinnableComponent
+{
+    include "../../../mx/core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private static function isMac():Boolean
+    {
+        return Capabilities.os.substring(0, 3) == "Mac";
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function TitleBar():void
+    {
+        super();
+
+        doubleClickEnabled = true;
+
+        addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
+        addEventListener(MouseEvent.DOUBLE_CLICK, doubleClickHandler);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  This is the actual object created from the _titleIcon class
+     */
+    mx_internal var titleIconObject:Object;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Skin Parts
+    //
+    //--------------------------------------------------------------------------
+    //----------------------------------
+    //  closeButton
+    //----------------------------------
+
+    /**
+     *  The Button object that defines the close button.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    [SkinPart (required="true")]
+    public var closeButton:Button;
+
+    //----------------------------------
+    //  maximizeButton
+    //----------------------------------
+
+    /**
+     *  The Button object that defines the maximize button.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    [SkinPart (required="false")]
+    public var maximizeButton:Button;
+
+    //----------------------------------
+    //  minimizeButton
+    //----------------------------------
+
+    /**
+     *  The Button object that defines the minimize button.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    [SkinPart (required="false")]
+    public var minimizeButton:Button;
+
+    //----------------------------------
+    //  titleTextField
+    //----------------------------------
+
+    /**
+     *  The UITextField in the title bar that displays the application title.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    [SkinPart (required="false")]
+    public var titleText:SimpleText;
+
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  title
+    //----------------------------------
+
+    /**
+     *  Storage for the title property.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var _title:String = "";
+
+    /**
+     *  @private
+     */
+    private var titleChanged:Boolean = false;
+
+    /**
+     *  The title that appears in the window title bar and
+     *  the dock or taskbar.
+     *
+     *  @default ""
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get title():String
+    {
+        return _title;
+    }
+
+    /**
+     *  @private
+     */
+    public function set title(value:String):void
+    {
+        _title = value;
+        titleChanged = true;
+
+        invalidateProperties();
+        invalidateSize();
+        invalidateDisplayList();
+    }
+
+    //----------------------------------
+    //  titleIcon
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the titleIcon property.
+     */
+    private var _titleIcon:Class;
+
+    /**
+     *  @private
+     */
+    private var titleIconChanged:Boolean = false;
+
+    /**
+     *  The icon displayed in the title bar.
+     *
+     *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get titleIcon():Class
+    {
+        return _titleIcon;
+    }
+
+    /**
+     *  @private
+     */
+    public function set titleIcon(value:Class):void
+    {
+        _titleIcon = value;
+        titleIconChanged = true;
+
+        invalidateProperties();
+        invalidateSize();
+    }
+
+    //----------------------------------
+    //  window
+    //----------------------------------
+
+    /**
+     *  The IWindow that owns this TitleBar.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private function get window():IWindow
+    {
+        var p:DisplayObject = parent;
+
+        while (p && !(p is IWindow))
+            p = p.parent;
+
+        return IWindow(p);
+    }
+
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function partAdded(partName:String, instance:Object):void
+    {
+        super.partAdded(partName, instance);
+
+        if (instance == titleText)
+        {
+            titleText.text = title;
+        }
+        else if (instance == closeButton)
+        {
+            closeButton.focusEnabled = false;
+            closeButton.addEventListener(MouseEvent.MOUSE_DOWN, button_mouseDownHandler);
+            closeButton.addEventListener(MouseEvent.CLICK, closeButton_clickHandler);
+        }
+        else if (instance == minimizeButton)
+        {
+            minimizeButton.focusEnabled = false;
+            minimizeButton.enabled = window.minimizable;
+            minimizeButton.addEventListener(MouseEvent.MOUSE_DOWN,
+                                            button_mouseDownHandler);
+            minimizeButton.addEventListener(MouseEvent.CLICK,
+                                            minimizeButton_clickHandler);
+        }
+        else if (instance == maximizeButton)
+        {
+            maximizeButton.focusEnabled = false;
+            maximizeButton.enabled = window.maximizable;
+            maximizeButton.addEventListener(MouseEvent.MOUSE_DOWN,
+                                            button_mouseDownHandler);
+            maximizeButton.addEventListener(MouseEvent.CLICK,
+                                            maximizeButton_clickHandler);
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function partRemoved(partName:String, instance:Object):void
+    {
+        super.partRemoved(partName, instance);
+
+        if (instance == closeButton)
+        {
+            closeButton.removeEventListener(MouseEvent.CLICK, closeButton_clickHandler);
+        }
+        else if (instance == minimizeButton)
+        {
+            minimizeButton.removeEventListener(MouseEvent.MOUSE_DOWN,
+                                            button_mouseDownHandler);
+            minimizeButton.removeEventListener(MouseEvent.CLICK,
+                                            minimizeButton_clickHandler);
+        }
+        else if (instance == maximizeButton)
+        {
+            maximizeButton.removeEventListener(MouseEvent.MOUSE_DOWN,
+                                            button_mouseDownHandler);
+            maximizeButton.removeEventListener(MouseEvent.CLICK,
+                                            maximizeButton_clickHandler);
+        }
+
+    }
+
+    /**
+     *  @private
+     */
+    override protected function commitProperties():void
+    {
+        super.commitProperties();
+
+        if (titleChanged)
+        {
+            titleText.text = _title;
+            titleChanged = false;
+        }
+
+//        if (titleIconChanged)
+//        {
+//            if (titleIconObject)
+//            {
+//                removeChild(DisplayObject(titleIconObject));
+//                titleIconObject = null;
+//            }
+//            if (_titleIcon)
+//            {
+//                titleIconObject = new _titleIcon();
+//                addChild(DisplayObject(titleIconObject));
+//            }
+//            titleIconChanged = false;
+//        }
+    }
+
+
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    //--------------------------------------------------------------------------
+    //
+    // Skin states support
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Returns the name of the state to be applied to the skin. For example, a
+     *  Button component could return the String "up", "down", "over", or "disabled"
+     *  to specify the state.
+     *
+     *
A subclass of FxComponent must override this method to return a value.

+     *
+     *  @return A string specifying the name of the state to apply to the skin.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override protected function getCurrentSkinState():String
+    {
+        if (isMac())
+            return "mac";
+        else if (window.nativeWindow.displayState == NativeWindowDisplayState.MAXIMIZED)
+            return "maximized";
+
+        return "normal";
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Event handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private function mouseDownHandler(event:MouseEvent):void
+    {
+        window.nativeWindow.startMove();
+
+        event.stopPropagation();
+    }
+
+    /**
+     *  Handles a doubleClick event in a platform-appropriate manner.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    protected function doubleClickHandler(event:MouseEvent):void
+    {
+        if (isMac())
+        {
+            window.minimize();
+        }
+        else
+        {
+            if (window.nativeWindow.displayState ==
+                NativeWindowDisplayState.MAXIMIZED)
+            {
+                window.restore();
+            }
+            else
+            {
+                window.maximize();
+            }
+        }
+    }
+
+    /**
+     *  @private
+     *  Used to swallow mousedown so bar is not draggable from buttons
+     */
+    private function button_mouseDownHandler(event:MouseEvent):void
+    {
+        event.stopPropagation();
+    }
+
+    /**
+     *  @private
+     */
+    private function minimizeButton_clickHandler(event:Event):void
+    {
+        window.minimize();
+    }
+
+    /**
+     *  @private
+     */
+    private function maximizeButton_clickHandler(event:Event):void
+    {
+        if (window.nativeWindow.displayState ==
+            NativeWindowDisplayState.MAXIMIZED)
+        {
+            window.restore();
+        }
+        else
+        {
+            window.maximize();
+
+            // work around bug  Bug SDK-9547
+            maximizeButton.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT));
+        }
+
+        invalidateSkinState();
+
+    }
+
+    /**
+     *  @private
+     */
+    private function closeButton_clickHandler(event:Event):void
+    {
+        window.close();
+    }
+}
+
+}


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

--- frameworks/projects/spark/src/spark/globalization/supportClasses/FormatPattern.as
+++ frameworks/projects/spark/src/spark/globalization/supportClasses/FormatPattern.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2011 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


now preventing probe header data from being duplicated in probed
columns

Change-Id: Idcb6f3170130194b3f89cce0a67eb204b07f9dad

--- WeaveUI/src/weave/utils/ProbeTextUtils.as
+++ WeaveUI/src/weave/utils/ProbeTextUtils.as
@@ -66,10 +66,11 @@
 		public static function getProbeText(keySet:IKeySet, additionalColumns:Array = null):String
 		{
 			var result:String = '';
-			var columns:Array = probedColumns.getObjects(IAttributeColumn);
+			var headers:Array = probeHeaderColumns.getObjects(IAttributeColumn);
+			// include headers in list of columns so that those appearing in the headers won't be duplicated.
+			var columns:Array = headers.concat(probedColumns.getObjects(IAttributeColumn));
 			if (additionalColumns != null)
 				columns = columns.concat(additionalColumns);
-			var headers:Array = probeHeaderColumns.getObjects(IAttributeColumn);
 			var keys:Array = keySet.keys.concat().sort(ObjectUtil.compare);
 			var key:IQualifiedKey;
 			var recordCount:int = 0;
@@ -100,13 +101,16 @@
 					if (value == '' || value == 'NaN')
 						continue;
 					var title:String = ColumnUtils.getTitle(column);
-					var line:String = StandardLib.lpad(value, 8) + ' (' + title + ')\n';
-					if(lookup[line]  == undefined )
+					var line:String = StandardLib.lpad(value, 8) + ' (' + title + ')\n';
+					// prevent duplicate lines from being added
+					if (lookup[line] == undefined)
 					{
 						if (!(value.toLowerCase() == 'undefined' || title.toLowerCase() == 'undefined'))
-						{
-							record += line;
-							lookup[line] = true;
+						{
+							lookup[line] = true; // this prevents the line from being duplicated
+							// the headers are only included so that the information will not be duplicated
+							if (iColumn >= headers.length)
+								record += line;
 						}
 					}
 				}


Implement ImpetusSound::getPos()

Implement ImpetusSound::getPos()


Рефакторинг loader

Рефакторинг loader

--- src/main/org/shypl/common/loader/FileLoader.as
+++ src/main/org/shypl/common/loader/FileLoader.as
@@ -12,7 +12,7 @@

 		private static var _queue:Deque = new LinkedList();
 		private static var _currentProcesses:int = 0;
-		private static var _parallelProcesses:int = 5;
+		private static var _parallelProcesses:int = 10;

 		public static function get parallelProcesses():int {
 			return _parallelProcesses;


Increase wait time to help tests requiring qemu.

Pretty much harmless in other cases, as this timeout is only reached in
rare conditions.

	* build-aux/urbi.as: Wait for server.port for 20s.

--- build-aux/urbi.as
+++ build-aux/urbi.as
@@ -163,7 +163,7 @@
   # Wait for the port file to be completed: it must have one full line
   # (with \n to be sure it is complete).
   local t=0
-  local tmax=8
+  local tmax=20
   local dt=.5
   # 0 if we stop, 1 to continue sleeping.
   local cont


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

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

 package mx.utils
 {


Protected DynamicModel from repetitive updates

git-svn-id: 02605e11d3a461bc7e12f3f3880edf4b0c8dcfd0@3975 3e7533ad-8678-4d30-8e38-00a379d3f0d0

--- src/laml/display/DynamicModel.as
+++ src/laml/display/DynamicModel.as
@@ -1,4 +1,5 @@
 package laml.display {
+	import flash.errors.IllegalOperationError;
 	import flash.events.Event;
 	import flash.events.EventDispatcher;
 	import flash.events.IEventDispatcher;
@@ -93,6 +94,11 @@

 		override flash_proxy function setProperty(name:*, value:*):void {
 			if(value is Function) {
+				// TODO: Need to support a collection of callbacks instead
+				// of clobbering with the most recent....
+				if(callbacks[name]) {
+					throw new IllegalOperationError("DynamicModel does not yet support multiple callbacks on: " + name);
+				}
 				callbacks[name] = value;
 			}
 			else if(value != valueContainer[name]) {


fix computation of negative PTS/DTS value

--- src/org/mangui/HLS/muxing/PES.as
+++ src/org/mangui/HLS/muxing/PES.as
@@ -53,9 +53,8 @@
                 var _pts : Number = Number((data.readUnsignedByte() & 0x0e)) * Number(1 << 29) + Number((data.readUnsignedShort() >> 1) << 15) + Number((data.readUnsignedShort() >> 1));
                 // check if greater than 2^32 -1
                 if (_pts > 4294967295) {
-                    // if greater, it is a negative timestamp, compute 2 complement (XOR with 2^32 - 1), then add 1
-                    _pts ^= 4294967295;
-                    _pts = -(_pts+1);
+                    // decrement 2^33
+                    _pts -= 8589934592;
                 }
                 length -= 5;
                 var _dts : Number = _pts;
@@ -64,9 +63,8 @@
                     _dts = Number((data.readUnsignedByte() & 0x0e)) * Number(1 << 29) + Number((data.readUnsignedShort() >> 1) << 15) + Number((data.readUnsignedShort() >> 1));
                     // check if greater than 2^32 -1
                     if (_dts > 4294967295) {
-                        // if greater, it is a negative timestamp, compute 2 complement (XOR with 2^32 - 1), then add 1
-                        _dts ^= 4294967295;
-                        _dts = -(_dts+1);
+                        // decrement 2^33
+                        _dts -= 8589934592;
                     }
                     length -= 5;
                 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 5409
Author:   chaase@adobe.com
Date:     2009-03-19T04:48:06.909942Z

Log Message:
-----------
Fix to bug when binding to constraints. Setting real width/height values on ConstraintRow/Column should always register that object as being not content-sized.

QE Notes: None
Doc Notes: None
Bugs: SDK-19041
Reviewer: Deepa
Testing: checkintests, Mustella containers

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/ConstraintRow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/ConstraintColumn.as</path>

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

--- frameworks/projects/framework/src/mx/containers/utilityClasses/ConstraintColumn.as
+++ frameworks/projects/framework/src/mx/containers/utilityClasses/ConstraintColumn.as
@@ -261,6 +261,8 @@
     		if (_width != value)
     		{
     			_width = value;
+                if (!isNaN(_width))
+                    mx_internal::contentSize = false;
     			if (container)
     			{
     				container.invalidateSize();
@@ -358,6 +360,8 @@
             _explicitWidth = NaN;

         _percentWidth = value;
+        if (!isNaN(_percentWidth))
+            mx_internal::contentSize = false;

         if (container)
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19637
Author:   mcho@adobe.com
Date:     2011-01-07T02:07:50.084332Z

Log Message:
-----------
Move text positioning and sizing logic to:

setElementPosition
setElementSize
getElementPreferredWidth
getElementPreferredHeight

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

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
@@ -1286,7 +1286,7 @@
                 messageDisplay.selectable = false;
                 messageDisplay.multiline = true;
                 messageDisplay.wordWrap = true;
-
+
                 var messageStyleName:String = getStyle("messageStyleName");
                 if (messageStyleName)
                 {
@@ -1716,7 +1716,7 @@
                 labelDisplay.text = labelText;

             labelWidth = getElementPreferredWidth(labelDisplay);
-            labelHeight = labelDisplay.textTopToLastBaselineHeight;
+            labelHeight = getElementPreferredHeight(labelDisplay);
         }

         if (hasMessage)
@@ -1728,11 +1728,12 @@
             // if we have an explicit width, use it to calculate messageDisplay's width.
             // Otherwise, we'll keep it the same width as it was before
             if (!isNaN(estimatedWidth))
-                messageDisplay.width = estimatedWidth - paddingAndGapWidth - decoratorWidth - myIconWidth;
-
-			var metrics:TextLineMetrics = messageDisplay.getLineMetrics(0);
+			{
+				messageWidth = estimatedWidth - paddingAndGapWidth - decoratorWidth - myIconWidth;
+                setElementSize(messageDisplay, messageWidth, getElementPreferredHeight(messageDisplay));
+			}
             messageWidth = getElementPreferredWidth(messageDisplay);
-            messageHeight = messageDisplay.textTopToLastBaselineHeight;
+            messageHeight = getElementPreferredHeight(messageDisplay);
         }

         myMeasuredWidth += Math.max(labelWidth, messageWidth);
@@ -1840,7 +1841,7 @@
         if (decoratorDisplay)
             labelComponentsViewWidth -= horizontalGap;

-        var labelComponentsX:Number = paddingLeft - StyleableTextField.TEXT_WIDTH_PADDING/2;
+        var labelComponentsX:Number = paddingLeft;
         if (iconDisplay)
             labelComponentsX += iconWidth + horizontalGap;

@@ -1899,7 +1900,7 @@
             // handle message
             messageWidth = Math.max(labelComponentsViewWidth, 0);

-			messageHeight = messageDisplay.measuredTextSize.y;
+			messageHeight = getElementPreferredHeight(messageDisplay);
             setElementSize(messageDisplay, messageWidth, messageHeight);

             // since it's multi-line, no need to truncate
@@ -1915,10 +1916,6 @@
 		// Heights used in our alignment calculations.  We only care about the "real" ascent
 		var labelAlignmentHeight:Number = 0;
 		var messageAlignmentHeight:Number = 0;
-
-		// FIXME mcho:  add ascentShift style
-		var labelShift:Number = 3;
-		var messageShift:Number = 4;

 		if (hasLabel)
 			labelAlignmentHeight = labelDisplay.textTopToLastBaselineHeight;
@@ -1927,8 +1924,6 @@

 		totalHeight = labelAlignmentHeight + messageAlignmentHeight + verticalGap;
 		labelComponentsY = Math.round(vAlign * (viewHeight - totalHeight)) + paddingTop;
-		// Make sure to offset by distance to the text field's top edge
-		labelComponentsY -= (hasLabel ? labelDisplay.textTopOffset : messageDisplay.textTopOffset);

 		if (labelDisplay)
 			setElementPosition(labelDisplay, labelComponentsX, labelComponentsY);
@@ -1936,8 +1931,6 @@
 		if (messageDisplay)
 		{
 			var messageY:Number = labelComponentsY + labelAlignmentHeight + verticalGap;
-			if (hasLabel) // account for the differences in shifts
-				messageY += labelShift - messageShift;
 			setElementPosition(messageDisplay, labelComponentsX, messageY);
 		}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.managers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3478
Author:   gruehle@adobe.com
Date:     2008-10-03T20:34:49.967693Z

Log Message:
-----------
Remove prototype Gumbo Panel component. This will be reinstated in a future build.

Remove the "selected" property from SkinnableComponent. "selected" is only on ToggleButton (including CheckBox/RadioButton), and ItemRenderer.

Bugs: SDK-16349 SkinnableComponent shouldn't define "selected"
      SDK-16799 Gumbo Panel needs to be removed from build
QA: Tests using Panel need to be updated
Reviewer: Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/effectClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/flex4/flex4test.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/effectClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/MXMLComponent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/ComplexPanelSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -56,15 +56,18 @@
 	//  selected
 	//----------------------------------

-	/**
-	 *  @private
-	 *  Update the currentState when the selected flag is set.
-	 */
-	override public function set selected(value:Boolean):void
+    private var _selected:Boolean = false;
+
+    public function get selected():Boolean
+    {
+    	return _selected;
+    }
+
+	public function set selected(value:Boolean):void
 	{
-		if (value != super.selected)
+		if (value != _selected)
 		{
-			super.selected = value;
+			_selected = value;
 			currentState = getUpdatedSkinState();
 		}
 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5914
Author:   jimurphy@adobe.com
Date:     2009-04-03T19:51:17.243500Z

Log Message:
-----------
Merge i11.5 revisions 5871-5872,5883,5885,5902 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/build.xml</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/flex-config.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/states/statefulNodes.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/i11.5/frameworks/mxml-2009-manifest.xml" copyfrom-rev="5902" action="A">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/Grammar.jj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/air-config.xml</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/airframework/spark-air-manifest.xml</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/halo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/i11.5/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as" copyfrom-rev="5902" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Scale3D.as
+++ frameworks/projects/spark/src/spark/effects/Scale3D.as
@@ -13,7 +13,7 @@
 {
 import mx.effects.IEffectInstance;

-import spark.effects.effectClasses.AnimateTransformInstance;
+import spark.effects.supportClasses.AnimateTransformInstance;

 /**
  * This class is a utility wrapper around the AnimateTransform effect, exposing the


Transferred from the Adobe Open Source Subversion Repository

Revision: 7910
Author:   egeorgie@adobe.com
Date:     2009-06-17T01:41:55.138890Z

Log Message:
-----------
P-ARB changes:

* IGraphicElement sharedIndex -> DisplayObjectSharingMode
* ScrollUnit -> NavigationUnit
* LayoutBase.getDestinationIndex -> LayoutBase.getNavigationDestinationIndex, param order reversed!!!!
* mouseOpaque -> mouseEnabledWhereTransparent
* various other small renames and changes to non-public APIs

Doc Notes: None
Bugs: N/A
Reviewer: Deepa
tests: checkintests

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/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/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexFXG2SWFTranscoder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/InvalidatingSprite.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/core/IViewport.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="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/ScrollUnit.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/NavigationUnit.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IGraphicElement.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/flex4/src/spark/layouts/TileLayout.as</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/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/DisplayObjectSharingMode.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/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/InvalidatingSprite.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/InvalidatingSprite.as
@@ -14,7 +14,10 @@
 import flash.display.Sprite;
 import spark.core.ISharedDisplayObject;

+[ExcludeClass]
+
 /**
+ *  @private
  *  GraphicElement creates shared DsiplayObject of type
  *  InvalidatingSprite. This class does not support mouse interaction.
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 7115
Author:   jszeto@adobe.com
Date:     2009-05-20T05:39:23.225806Z

Log Message:
-----------
Changed how components are disabled

SDK-20196 Re-work disabled logic in Spark components
SDK-20197 Remove enableSkinParts() from TrackBase and Spinner

Changed the way that components, in particular, composite components, are disabled. Moved the enabled/disabled logic from SkinnableContainerBase down to SkinnableComponent. Disabled components now prevent mouse interaction with the component and its children. The skin handles the appearance of the component in the disabled state. The Spark skins currently set their alpha to .5.

Composite components like Spinner, and TrackBase no longer disabled their component skin parts.

QE Notes: None
Doc Notes: None
Bugs: SDK-20196, 20197
Reviewer: Ryan

Modified Paths:
--------------
<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/flex4/src/spark/components/DropDownList.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/supportClasses/TrackBase.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/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableContainerBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayerVolumeBar.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/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -157,6 +157,10 @@
         return null;
     }

+    //----------------------------------
+    //  skin
+    //----------------------------------
+
     /**
      * @private
      * Storage for skin instance
@@ -200,6 +204,10 @@
     //
     //--------------------------------------------------------------------------

+    //----------------------------------
+    //  currentCSSState
+    //----------------------------------
+
     /**
      *  The state to be used when matching CSS pseudo-selectors. This override
      *  returns the current skin state instead of the component state.
@@ -209,6 +217,28 @@
         return getCurrentSkinState();
     }

+    //----------------------------------
+    //  enabled
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    override public function set enabled(value:Boolean):void
+    {
+        super.enabled = value;
+        invalidateSkinState();
+
+        // If enabled, reset the mouseChildren, mouseEnabled to the previously
+        // set explicit value, otherwise disable mouse interaction.
+        super.mouseChildren = value ? _explicitMouseChildren : false;
+        super.mouseEnabled  = value ? _explicitMouseEnabled  : false;
+    }
+
+    //----------------------------------
+    //  errorString
+    //----------------------------------
+
     /**
      *  @private
      */
@@ -224,6 +254,38 @@

         errorStringChanged = true;
         invalidateProperties();
+    }
+
+    //----------------------------------
+    //  mouseEnabled
+    //----------------------------------
+
+    private var _explicitMouseEnabled:Boolean = true;
+
+    /**
+     *  @private
+     */
+    override public function set mouseEnabled(value:Boolean):void
+    {
+        if (enabled)
+            super.mouseEnabled = value;
+        _explicitMouseEnabled = value;
+    }
+
+    //----------------------------------
+    //  mouseChildren
+    //----------------------------------
+
+    private var _explicitMouseChildren:Boolean = true;
+
+    /**
+     *  @private
+     */
+    override public function set mouseChildren(value:Boolean):void
+    {
+        if (enabled)
+            super.mouseChildren = value;
+        _explicitMouseChildren = value;
     }

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


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

--- frameworks/projects/mx/src/mx/events/NumericStepperEvent.as
+++ frameworks/projects/mx/src/mx/events/NumericStepperEvent.as
@@ -18,6 +18,11 @@
  *  Represents events that are specific to the NumericStepper control.
  *
  *  @see mx.controls.NumericStepper
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class NumericStepperEvent extends Event
 {
@@ -51,6 +56,11 @@
 	 *

 	 *
      *  @eventType change
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const CHANGE:String = "change";

@@ -74,6 +84,11 @@
          *  @param triggerEvent If the value changed in response to a user action, contains a value
          *  indicating the type of input action, either InteractionInputType.MOUSE
          *  or InteractionInputType.KEYBOARD.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function NumericStepperEvent(type:String, bubbles:Boolean = false,
                                         cancelable:Boolean = false,
@@ -98,6 +113,11 @@

 	/**
 	 *	The value of the NumericStepper control when the event was dispatched.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var value:Number;

@@ -110,6 +130,11 @@
 	 *  this property contains a value indicating the type of input action.
 	 *  The value is either InteractionInputType.MOUSE
 	 *  or InteractionInputType.KEYBOARD.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var triggerEvent:Event;


Transferred from the Adobe Open Source Subversion Repository

Revision: 19394
Author:   clucier@adobe.com
Date:     2010-12-15T19:07:16.920424Z

Log Message:
-----------
Integration of NetConnection.httpIdleTimeout with our rpc library.

QE notes: None
Doc notes: None
Bugs: SDK-27523
Reviewer: Pete F.
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/rpc/src/mx/rpc/remoting/RemoteObject.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/remoting/RemoteObject.as
+++ frameworks/projects/rpc/src/mx/rpc/remoting/RemoteObject.as
@@ -283,6 +283,10 @@
             {
                 chan = new AMFChannel(null, endpoint);
             }
+
+            // Propagate requestTimeout.
+            chan.requestTimeout = requestTimeout;
+
             channelSet = new ChannelSet();
             channelSet.addChannel(chan);
         }