Transferred from the Adobe Open Source Subversion Repository

Revision: 20414
Author:   cframpto@adobe.com
Date:     2011-02-23T01:41:31.201672Z

Log Message:
-----------
When auto-sized text in an itemRenderer is remeasured, need to update the container if the size didn't change, since validateSize won't do it for us and there isn't another pass of the layout manager to do it.

QE notes: the example programs need to be put into mustella
Doc notes:
Bugs: SDK-29582
Reviewer: Alex
Tests run: cyclone
Is noteworthy for integration:

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -734,6 +734,11 @@
         /**
          *  @private
          */
+        private var remeasuringText:Boolean = false;
+
+        /**
+         *  @private
+         */
         mx_internal var passwordChar:String = "*";

         /**
@@ -808,6 +813,16 @@
          *  contents.
          */
         mx_internal var autoSize:Boolean = false;
+
+        /**
+         *  @private
+         */
+        private var lastMeasuredWidth:Number = NaN;
+
+        /**
+         *  @private
+         */
+        private var lastMeasuredHeight:Number = NaN;

         /**
          *  @private
@@ -2643,6 +2658,9 @@
             // the text lines are damaged and the display needs to be updated.
             // This flag tells the handler to invalidate just the display list.
             inMeasureMethod = true;
+
+            lastMeasuredWidth = measuredWidth;
+            lastMeasuredHeight = measuredHeight;

             super.measure();

@@ -2826,8 +2844,19 @@
                     _textContainerManager.horizontalScrollPosition = 0;
                     _textContainerManager.verticalScrollPosition = 0;
                 }
-            }
-
+
+                // If we remeasured, we composed and cleared the display.  We need to update the
+                // display if the size didn't change, since validateSize will not do it for us.
+                // This code path can be used by itemRenderer's since setLayoutBounds(), which is
+                // where the constraints are set, is not always called.
+                if (remeasuringText &&
+                    lastMeasuredWidth == measuredWidth && lastMeasuredHeight == measuredHeight)
+                {
+                    _textContainerManager.updateContainer();
+                }
+            }
+
+            remeasuringText = false;
             inMeasureMethod = false;

             //trace("measure", measuredWidth, measuredHeight, "autoSize", autoSize);
@@ -3811,6 +3840,10 @@
             // correct amount of space for the component.
             invalidateSize();

+            // Need to make sure the container is updated after the text is re-composed
+            // to measure it.
+            remeasuringText = true;
+
             return true;
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 18147
Author:   cframpto@adobe.com
Date:     2010-10-14T12:22:33.142015Z

Log Message:
-----------
When displayAsPassword is changed, TLF's text is reset which reinitializes TLF's textFlow.  Make sure to reinitialize our version of the textFlow and the textFlow generation numbers so that changes to the textFlow will not be dropped in the damageHandler.

QE notes:
Doc notes:
Bugs: SDK-28157
Reviewer: Alex
Tests run: cyclone
Is noteworthy for integration:

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -2517,6 +2517,12 @@
                     _textContainerManager.setText(_text);
                 }

+                // When TLF text is set above, TLF's textFlow is recreated so reset
+                // our copy of the textFlow and the generation.
+                _textFlow = null;
+                lastGeneration = 0;
+                lastContentBoundsGeneration = 0;
+
                 if (editingMode != EditingMode.READ_ONLY)
                 {
                     // Must preserve the selection, if there was one.


Transferred from the Adobe Open Source Subversion Repository

Revision: 3925
Author:   jimurphy@adobe.com
Date:     2008-10-28T15:28:25.006190Z

Log Message:
-----------
Merged gumbo_alpha revisions 3857-3860,3870,3872,3874-3876,3881,3884,3886,3889,3891,3893,3895,3908,3912 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxRotateEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxFadeEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/CubicBezierSegment.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/gumbo_alpha/frameworks/projects/flex4/src/mx/skins/spark/FxFocusSkin.as" copyfrom-rev="3895" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxFocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxVSliderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StylesContainer.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxFadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxListExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxMoveEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/PathSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_conversion.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxAnimateColorEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_core.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxAnimateEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxCheckBoxExample.mxml</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/gumbo_alpha/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/DataGroupExample.mxml" copyfrom-rev="3895" action="A">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/DataGroupExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flash/css/StyleDeclaration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/gumbo_alpha/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/GroupExample.mxml" copyfrom-rev="3895" action="A">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/GroupExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/QuadraticBezierSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxNumericStepperExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxResizeEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxButtonExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxResize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxToggleButtonExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxSpinnerExample.mxml</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/mx/effects/PropertyValuesHolder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_edit.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/TextViewExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxMove.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxHSliderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -26,11 +26,13 @@
 import flashx.textLayout.compose.StandardFlowComposer;
 import flashx.textLayout.container.DisplayObjectContainerController;
 import flashx.textLayout.container.IContainerController;
+import flashx.textLayout.conversion.ImportExportConfiguration;
 import flashx.textLayout.conversion.ITextImporter;
 import flashx.textLayout.conversion.TextFilter;
 import flashx.textLayout.conversion.ConversionType;
 import flashx.textLayout.edit.EditManager;
 import flashx.textLayout.edit.ISelectionManager;
+import flashx.textLayout.elements.Configuration;
 import flashx.textLayout.elements.FlowElement;
 import flashx.textLayout.elements.ParagraphElement;
 import flashx.textLayout.elements.SpanElement;
@@ -126,6 +128,32 @@

     //--------------------------------------------------------------------------
     //
+    //  Class variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Used for determining whitespace processing during import.
+     */
+    private static var staticCharacterFormat:CharacterFormat =
+        new CharacterFormat();
+
+    /**
+     *  @private
+     *  Used for determining whitespace processing during import.
+     */
+    private static var staticConfiguration:Configuration =
+        new Configuration();
+
+    /**
+     *  @private
+     *  Used for determining whitespace processing during import.
+     */
+    private static var staticImportExportConfiguration:ImportExportConfiguration;
+
+    //--------------------------------------------------------------------------
+    //
     //  Constructor
     //
     //--------------------------------------------------------------------------
@@ -135,6 +163,17 @@
      */
     public function TextView()
     {
+        // Initialize staticImportExportConfiguration at instance-creation
+        // time rather than at static initialization time, to avoid
+        // any class-initialization-order problems.
+        if (!staticImportExportConfiguration)
+        {
+            staticImportExportConfiguration =
+                ImportExportConfiguration.defaultConfiguration;
+
+            ImportExportConfiguration.restoreDefaults();
+        }
+
         super();

         _content = textFlow = createEmptyTextFlow();
@@ -712,9 +751,9 @@
         super.commitProperties();

         var flowComposer:IFlowComposer = textFlow.flowComposer;
-        if (!flowComposer)
+        if (!flowComposer || flowComposer.numControllers == 0)
             return;
-
+
         var containerController:IContainerController =
             flowComposer.getControllerAt(0);

@@ -785,8 +824,11 @@
         if (textChanged || contentChanged || stylesChanged)
         {
             // Eliminate detritus from the previous TextFlow.
-            if (textFlow && textFlow.flowComposer)
+            if (textFlow && textFlow.flowComposer &&
+                textFlow.flowComposer.numControllers)
+            {
                 textFlow.flowComposer.removeControllerAt(0);
+            }

             // If the text was changed, clear the selection.
             if (textChanged || contentChanged)
@@ -935,21 +977,44 @@
     /**
      *  @private
      */
-    private function importStringMarkup(markup:String):TextFlow
-    {
-        markup = '<TextFlow xmlns="http://ns.adobe.com/textLayout/2008">' +
-                 markup +
-                 '</TextFlow>';
-
-        return TextFilter.importToFlow(markup, TextFilter.TEXT_LAYOUT_FORMAT);
-    }
-
-	/**
-     *  @private
-     */
-    private function importXMLMarkup(markup:XML):TextFlow
-    {
-        return TextFilter.importToFlow(markup, TextFilter.TEXT_LAYOUT_FORMAT);
+    private function createTextFlowFromMarkup(markup:Object):TextFlow
+    {
+        // The whiteSpaceCollapse format determines how whitespace
+        // is processed when markup is imported.
+		staticCharacterFormat.whiteSpaceCollapse =
+            getStyle("whiteSpaceCollapse");
+		staticConfiguration.textFlowInitialCharacterFormat =
+            staticCharacterFormat;
+		staticImportExportConfiguration.textFlowConfiguration =
+            staticConfiguration;
+
+        if (markup is String)
+        {
+            markup = '<TextFlow xmlns="http://ns.adobe.com/textLayout/2008">' +
+                     markup +
+                     '</TextFlow>';
+        }
+
+        return TextFilter.importToFlow(markup, TextFilter.TEXT_LAYOUT_FORMAT,
+                                       staticImportExportConfiguration);
+    }
+
+    /**
+     *  @private
+     */
+    private function createTextFlowFromChildren(children:Array):TextFlow
+    {
+        var textFlow:TextFlow = new TextFlow();
+
+        // The whiteSpaceCollapse format determines how whitespace
+        // is processed when the children are set.
+        staticCharacterFormat.whiteSpaceCollapse =
+            getStyle("whiteSpaceCollapse");
+        textFlow.hostCharacterFormat = staticCharacterFormat;
+
+        textFlow.mxmlChildren = children;
+
+        return textFlow;
     }

     /**
@@ -966,21 +1031,15 @@
             }
             else if (_content is Array)
             {
-                textFlow = new TextFlow();
-                textFlow.mxmlChildren = _content as Array;
+                textFlow = createTextFlowFromChildren(_content as Array);
             }
             else if (_content is FlowElement)
             {
-                textFlow = new TextFlow();
-                textFlow.mxmlChildren = [ _content ];
+                textFlow = createTextFlowFromChildren([ _content ]);
             }
-            else if (_content is XML)
+	        else if (_content is String || _content is XML)
             {
-                textFlow = importXMLMarkup(XML(_content));
-            }
-            else if (_content is String)
-            {
-                textFlow = importStringMarkup(String(_content));
+                textFlow = createTextFlowFromMarkup(_content);
             }
             else if (_content == null)
             {


Remove useless import.

Remove useless import.

--- src/aerys/minko/render/shader/Shader.as
+++ src/aerys/minko/render/shader/Shader.as
@@ -21,7 +21,6 @@
 	import flash.geom.Vector3D;
 	import flash.utils.ByteArray;
 	import flash.utils.Dictionary;
-	import flash.utils.getTimer;

 	public class Shader
 	{


Transferred from the Adobe Open Source Subversion Repository

Revision: 20845
Author:   mhorn@adobe.com
Date:     2011-03-14T15:29:23.391952Z

Log Message:
-----------
merge 20756,20790,20712,20805

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/StringUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/GradientStroke.as
+++ frameworks/projects/framework/src/mx/graphics/GradientStroke.as
@@ -450,6 +450,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 4
      */
     public function createGraphicsStroke(targetBounds:Rectangle, targetOrigin:Point):GraphicsStroke
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 15875
Author:   klin@adobe.com
Date:     2010-05-03T23:51:16.882950Z

Log Message:
-----------
Form feature work - ConstraintLayout.

Fixed baseline bug where it would have the wrong bottom boundary during updateDisplayList. Also, cleaned up and simplified some code and added some docs.

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

Modified Paths:
--------------
/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as

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

--- frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as
+++ frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as
@@ -35,6 +35,11 @@
         return !isNaN(elementInfo.left) && !isNaN(elementInfo.right);
     }

+    /**
+     *  @private
+     *
+     *  @return true if the constraints determine the element's height;
+     */
     private static function constraintsDetermineHeight(elementInfo:ElementConstraintInfo):Boolean
     {
         return !isNaN(elementInfo.top) && !isNaN(elementInfo.bottom);
@@ -79,6 +84,14 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
     public function ConstraintLayout()
     {
         super();
@@ -95,13 +108,13 @@
         ResourceManager.getInstance();

     // Arrays that keep track of children spanning
-    // content size columns or rows or whether the elements don't
-    // use columns or rows at all
+    // content size columns or rows or whether the
+    // elements don't use columns or rows at all.
     private var colSpanElements:Vector.<ElementConstraintInfo> = null;
     private var rowSpanElements:Vector.<ElementConstraintInfo> = null;
     private var otherElements:Vector.<ElementConstraintInfo> = null;

-    private var constraintCache:Dictionary = new Dictionary(true);
+    private var constraintCache:Dictionary = null;

     //--------------------------------------------------------------------------
     //
@@ -115,12 +128,20 @@

     private var _constraintColumns:Vector.<ConstraintColumn> = new Vector.<ConstraintColumn>(0, true);

+    /**
+     *  A Vector of ConstraintColumn instances that partition the target container.
+     *  The ConstraintColumn instance at index 0 is the left-most column;
+     *  indices increase from left to right.
+     */
     public function get constraintColumns():Vector.<ConstraintColumn>
     {
         // make defensive copy
         return Vector.<ConstraintColumn>(_constraintColumns);
     }

+    /**
+     *  @private
+     */
     public function set constraintColumns(value:Vector.<ConstraintColumn>):void
     {
         // clear constraintColumns
@@ -153,11 +174,19 @@

     private var _constraintRows:Vector.<ConstraintRow> = new Vector.<ConstraintRow>(0, true);

+    /**
+     *  A Vector of ConstraintRow instances that partition the target container.
+     *  The ConstraintRow instance at index 0 is the top-most column;
+     *  indices increase from top to bottom.
+     */
     public function get constraintRows():Vector.<ConstraintRow>
     {
         return Vector.<ConstraintRow>(_constraintRows);
     }

+    /**
+     *  @private
+     */
     public function set constraintRows(value:Vector.<ConstraintRow>):void
     {
         // clear constraintRows
@@ -186,8 +215,7 @@

     /**
      *  @private
-     *
-     *  resets the columns'/rows' targets.
+     *  Resets the target on the constraintColumns and constraintRows.
      */
     override public function set target(value:GroupBase):void
     {
@@ -210,10 +238,14 @@
         }
     }

+    /**
+     *  @private
+     *  Used by FormItemLayout to implement its updateDisplayList.
+     */
     mx_internal function checkUseVirtualLayout():void
     {
         if (useVirtualLayout)
-            throw new Error(ResourceManager.getInstance().getString("layout", "basicLayoutNotVirtualized"));
+            throw new Error(ResourceManager.getInstance().getString("layout", "constraintLayoutNotVirtualized"));
     }

     /**
@@ -251,8 +283,10 @@
         layoutTarget.measuredWidth = Math.ceil(width);
         layoutTarget.measuredHeight = Math.ceil(height);

-        // FIXME (klin): measuredMinWidth/Height?
-
+        // FIXME (klin): measuredMinWidth/Height? I think we only have to do this for other content,
+        // since the columns and rows are fixed at this point.
+
+        // clear out cache
         colSpanElements = null;
         rowSpanElements = null;
         otherElements = null;
@@ -262,9 +296,9 @@
     /**
      *  @private
      *
-     *  1) Reparse element constraints because they may have changed.
-     *  2) Resize the columns and rows based on this information
-     *  3) Size and position the elements based on the available space.
+     *  1) Re-parse element constraints because they may have changed.
+     *  2) Resize and reposition the columns and rows based on new constraints.
+     *  3) Size and position the elements in the available space.
      */
     override public function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
     {
@@ -338,7 +372,8 @@
     }

     /**
-     *  wrapper for parsing all the element constraints
+     *  @private
+     *  Iterates over elements and calls parseElementConstraints on each.
      */
     private function parseConstraints():void
     {
@@ -365,21 +400,20 @@
      *  @private
      *  This function parses the constraints of a single element, creates an
      *  ElementConstraintInfo object for the element, and throws errors if the
-     *  columns or rows are not found.
+     *  columns or rows are not found for each constraint.
      */
     private function parseElementConstraints(layoutElement:ILayoutElement):void
     {
-        // parse constraint values
-        //Variables to track the offsets
+        // Variables to track the offsets
         var left:Number;
         var right:Number;
         var top:Number;
         var bottom:Number;
         var baseline:Number;

-        //Variables to track the boundaries from which
-        //the offsets are calculated from. If null, the
-        //boundary is the parent container edge.
+        // Variables to track the boundaries from which
+        // the offsets are calculated from. If null, the
+        // boundary is the parent container edge.
         var leftBoundary:String;
         var rightBoundary:String;
         var topBoundary:String;
@@ -451,7 +485,9 @@
             topBoundary, bottomBoundary, baselineBoundary);
         constraintCache[layoutElement] = elementInfo;

-        // put into either column/row buckets or no column/row constraints buckets.
+        // If some pair of boundaries don't exist, we will need to measure
+        // the container size based on the element's other properties like
+        // x, y, width, height.
         var i:Number;
         if (!(leftBoundary || rightBoundary) ||
             !(topBoundary || bottomBoundary) ||
@@ -462,7 +498,8 @@

             otherElements.push(elementInfo);
         }
-
+
+        // match columns
         if (leftBoundary || rightBoundary)
         {
             var numColumns:Number = _constraintColumns.length;
@@ -495,7 +532,6 @@
                 }
             }

-
             // can we assume rightIndex >= leftIndex?
             if (rightBoundary)
             {
@@ -520,8 +556,8 @@
             }
         }

+        // match rows.
         var numRows:Number = _constraintRows.length;
-
         if (topBoundary || bottomBoundary || baselineBoundary)
         {
             var rowid:String;
@@ -601,12 +637,10 @@

     /**
      *  @private
-     *  This function measures the ConstraintColumns and
-     *  and ConstraintRows partitioning the target and
-     *  sets their x/y positions.
+     *  This function measures the ConstraintColumns partitioning
+     *  the target and sets their x positions.
      *
-     *  The algorithm works like this (in the horizontal
-     *  direction):
+     *  The algorithm works like this:
      *  1. Fixed columns honor their pixel values.
      *
      *  2. Content sized columns whose children span
@@ -713,19 +747,14 @@
                     for (j = rightIndex; j >= 0; j--)
                     {
                         col = _constraintColumns[j];
-                        if (col.contentSize)
+
+                        if (!isNaN(col.explicitWidth))
+                            maxExtent -= col.width;
+
+                        if (col.contentSize || maxExtent < 0)
                         {
                             leftIndex = j;
                             break;
-                        }
-                        else if (!isNaN(col.explicitWidth))
-                        {
-                            maxExtent -= col.width;
-                            if (maxExtent < 0)
-                            {
-                                leftIndex = j;
-                                break;
-                            }
                         }
                     }
                 }
@@ -737,19 +766,14 @@
                     for (j = leftIndex; j < numCols; j++)
                     {
                         col = _constraintColumns[j];
-                        if (col.contentSize)
+
+                        if (!isNaN(col.explicitWidth))
+                            maxExtent -= col.width;
+
+                        if (col.contentSize || maxExtent < 0)
                         {
                             rightIndex = j;
                             break;
-                        }
-                        else if (!isNaN(col.explicitWidth))
-                        {
-                            maxExtent -= col.width;
-                            if (maxExtent < 0)
-                            {
-                                rightIndex = j;
-                                break;
-                            }
                         }
                     }
                 }
@@ -794,7 +818,9 @@

     /**
      *  @private
-     *  synonymous to measureAndPositionColumns(), but with added baseline constraint.
+     *  Synonymous to measureAndPositionColumns(), but with added baseline constraint.
+     *  Baseline is only included in the measurement if at least one of the element's
+     *  top or bottom constraint doesn't exist.
      */
     private function measureAndPositionRows():Number
     {
@@ -865,13 +891,15 @@
                         bottomIndex = numRows - 1; // constrained to parent
                 }

-                // baseline could win if either are less than 0
+                // Only include baseline if at least one of top or bottom don't
+                // exist.
                 if (!isNaN(elementInfo.baseline) && (topIndex < 0 || bottomIndex < 0))
                 {
                     extY += elementInfo.baseline - layoutElement.baselinePosition;

                     if (!isNaN(elementInfo.top))
                         extY -= elementInfo.top;
+
                     if (elementInfo.baselineBoundary)
                         topIndex = elementInfo.baselineIndex;
                     else
@@ -892,19 +920,14 @@
                     for (j = bottomIndex; j >= 0; j--)
                     {
                         row = _constraintRows[j];
-                        if (row.contentSize)
+
+                        if (!isNaN(row.explicitHeight))
+                            maxExtent -= row.height;
+
+                        if (row.contentSize || maxExtent < 0)
                         {
                             topIndex = j;
                             break;
-                        }
-                        else if (!isNaN(row.explicitHeight))
-                        {
-                            maxExtent -= row.height;
-                            if (maxExtent < 0)
-                            {
-                                topIndex = j;
-                                break;
-                            }
                         }
                     }
                 }
@@ -916,19 +939,14 @@
                     for (j = topIndex; j < numRows; j++)
                     {
                         row = _constraintRows[j];
-                        if (row.contentSize)
+
+                        if (!isNaN(row.explicitHeight))
+                            maxExtent -= row.height;
+
+                        if (row.contentSize || maxExtent < 0)
                         {
                             bottomIndex = j;
                             break;
-                        }
-                        else if (!isNaN(row.explicitHeight))
-                        {
-                            maxExtent -= row.height;
-                            if (maxExtent < 0)
-                            {
-                                bottomIndex = j;
-                                break;
-                            }
                         }
                     }
                 }
@@ -972,6 +990,7 @@
     }

     /**
+     *  @private
      *  Measures the size of target based on content not included in the columns and rows.
      *  Basically, applies BasicLayout to other content to determine measured size.
      */
@@ -988,11 +1007,11 @@
             var elementInfo:ElementConstraintInfo = otherElements[i];
             var layoutElement:ILayoutElement = elementInfo.layoutElement;

-            // Only measure if not constrained to columns
+            // Only measure width if not constrained to columns.
             if (!(elementInfo.leftBoundary || elementInfo.rightBoundary))
             {
-                var left:Number      = elementInfo.left;
-                var right:Number     = elementInfo.right;
+                var left:Number = elementInfo.left;
+                var right:Number = elementInfo.right;
                 var extX:Number;

                 if (!isNaN(left) && !isNaN(right))
@@ -1023,7 +1042,7 @@
                 minWidth = Math.max(minWidth, extX + elementMinWidth);
             }

-            // only measure if not constrained to rows.
+            // only measure height if not constrained to rows.
             var hasTopOrBottom:Boolean = !(elementInfo.topBoundary || elementInfo.bottomBoundary);
             var hasBaseline:Boolean = !elementInfo.baselineBoundary;

@@ -1080,19 +1099,24 @@
         return new Point(Math.max(width, minWidth), Math.max(height, minHeight));
     }

+    /**
+     *  @private
+     *  Sizes and positions the element based on the given size of the container
+     *  and the element's constraints.
+     *
+     *  1) Retrieves element constraints from the constraint cache.
+     *  2) Determines the x and y boundaries of each side.
+     *  3) Sizes the element based on constraints and its preferred
+     *     size. The precedence for sizing is as follows: percent,
+     *     top and bottom constraints, preferred size.
+     *  4) Positions the element based on its constraints. The precedence
+     *     for positioning is as follows: baseline, left and top, right and bottom,
+     *     x and y.
+     */
     private function applyConstraintsToElement(unscaledWidth:Number,
                                                unscaledHeight:Number,
                                                layoutElement:ILayoutElement):void
     {
-        //-------------------
-        // Fixed Width
-        //
-        // To layout children:
-        //        grab constraints from filled out cache
-        //         Assuming constraints are good...
-        //        Size the child based on constraints.
-        //         Position the child based on left and top constraint
-        //-------------------
         var elementInfo:ElementConstraintInfo = constraintCache[layoutElement];

         var left:Number = elementInfo.left;
@@ -1159,6 +1183,11 @@
         {
             row = _constraintRows[elementInfo.baselineIndex];
             baselineHolder = row.y;
+
+            // If bottom doesn't exist, then the bottom should be restricted to the
+            // baseline row.
+            if (isNaN(bottom))
+                bottomHolder = row.y + row.height;
         }

         // available width
@@ -1166,7 +1195,6 @@

         // cases are baseline with top and bottom,
         // baseline with top, baseline with bottom, no baseline
-
         if (!isNaN(baseline) && (isNaN(top) || isNaN(bottom)))
             availableHeight = Math.round(bottomHolder - baselineHolder);
         else


Code clean

Code clean

--- collect-client/src/main/flex/org/openforis/collect/ui/UIBuilder.as
+++ collect-client/src/main/flex/org/openforis/collect/ui/UIBuilder.as
@@ -598,15 +598,13 @@
 		public static function getUITab(nodeDefn:NodeDefinitionProxy):UITab {
 			var survey:SurveyProxy = nodeDefn.survey;
 			var rootEntity:EntityDefinitionProxy = nodeDefn.rootEntity;
-			var uiConfig:UIConfiguration = survey.uiConfiguration;
-			if ( uiConfig != null ) {
-				var tabDefn:UITabDefinition = uiConfig.getTabDefinition(rootEntity.name);
-				if ( tabDefn != null ) {
-					var tab:UITab = tabDefn.getTab(nodeDefn.uiTabName);
-					return tab;
-				}
-			}
-			return null;
+			var tabDefn:UITabDefinition = getRootEntityTabDefinition(rootEntity);
+			if ( tabDefn != null ) {
+				var tab:UITab = tabDefn.getTab(nodeDefn.uiTabName);
+				return tab;
+			} else {
+				return null;
+			}
 		}

 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 19242
Author:   aharui@adobe.com
Date:     2010-12-09T22:27:31.442236Z

Log Message:
-----------
Disable MEASURED_SIZE_PRELIMINARY if icon not used.  All fix up propagation of estimatedSizes

QE notes: none
Doc notes: none
Bugs: SDK-28658
Reviewer: Evtim
Tests run: checkintests mustella full run
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/core/Window.as</path>
<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/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SkinnableContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/components/Window.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/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/mx/src/mx/core/Application.as
+++ frameworks/projects/mx/src/mx/core/Application.as
@@ -991,7 +991,11 @@
     override public function setActualSize(w:Number, h:Number):void
     {
         if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_4_5)
+        {
             setEstimatedSize(w, h, false);
+            invalidateEstimatedSizesOfChildren();
+            validateEstimatedSizesOfChildren();
+        }

         super.setActualSize(w, h);
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 7081
Author:   gruehle@adobe.com
Date:     2009-05-19T19:16:37.126487Z

Log Message:
-----------
Fix bug SDK-21190: Flex chrome on mac: maximize button retains mouseOver appearance after clicking it when already maximized.

Fixed both the Halo and Spark skins.

Reviewer: Darrell
QA/Doc: None

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/TitleBar.as</path>

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

--- frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as
+++ frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as
@@ -891,9 +891,10 @@
         else
         {
             window.maximize();
-            // work around bug  Bug SDK-9547
-            maximizeButton.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT));
-        }
+        }
+
+        // work around for bugs SDK-9547 & SDK-21190
+        maximizeButton.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT));
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 12068
Author:   jszeto@adobe.com
Date:     2009-11-20T23:12:16.551186Z

Log Message:
-----------
Renaming Border to BorderContainer and BorderSkin to BorderContainerSkin

Updated the files, stylesheet, manifest file and the basicTest tests.

QE notes: tests need updating
Doc notes: Docs need updating
Bugs: SDK-24300
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: Yes. Tests and tools will be impacted.

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/BorderSkin.as" copyfrom-rev="12021" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/BorderContainerSkin.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/BorderTestScript.mxml" copyfrom-rev="12021" action="A">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/BorderContainerTestScript.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/tests/basicTests/spark/views/BorderTests.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/tests/basicTests/spark/views/BorderTests.mxml" copyfrom-rev="12021" action="A">/flex/sdk/trunk/frameworks/tests/basicTests/spark/views/BorderContainerTests.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/BorderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Border.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/BorderExample.mxml" copyfrom-rev="12021" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/BorderContainerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Border.as" copyfrom-rev="12021" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/BorderContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/BorderSkin.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/BorderTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests-config.xml</path>

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

--- frameworks/projects/spark/src/spark/skins/spark/BorderContainerSkin.as
+++ frameworks/projects/spark/src/spark/skins/spark/BorderContainerSkin.as
@@ -19,7 +19,7 @@
 import mx.states.SetProperty;
 import mx.states.State;

-import spark.components.Border;
+import spark.components.BorderContainer;
 import spark.components.Group;
 import spark.components.supportClasses.Skin;
 import spark.primitives.Path;
@@ -28,19 +28,19 @@
 /**
  * @copy spark.skins.spark.ApplicationSkin#hostComponent
  */
-[HostComponent("spark.components.Border")]
+[HostComponent("spark.components.BorderContainer")]

 [States("normal", "disabled")]

 /**
- *  The default skin class for a Spark Border container.
+ *  The default skin class for a Spark BorderContainer component.
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class BorderSkin extends Skin
+public class BorderContainerSkin extends Skin
 {

     //--------------------------------------------------------------------------
@@ -57,7 +57,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-	public function BorderSkin()
+	public function BorderContainerSkin()
 	{
 	    super();


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

--- frameworks/projects/advancedgrids/src/mx/collections/SummaryRow.as
+++ frameworks/projects/advancedgrids/src/mx/collections/SummaryRow.as
@@ -0,0 +1,212 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[DefaultProperty("fields")]
+
+/**
+ *  The SummaryRow class represents a summary row of the AdvancedDataGrid.
+ *  You create summary data about your data groups by using the summaries property
+ *  of the GroupingField or GroupingCollection class.
+ *  You display the summary data in an existing row of the AdvancedDataGrid control,
+ *  or display it in a separate row.
+ *
+ *
The summaries property of the GroupingField or GroupingCollection class takes an
+ *  instance of the SummaryRow class. You then use the fields property
+ *  of the SummaryRow class to specify an Array of one or more SummaryField/SummaryField2 instances
+ *  that define the fields of the data used to create the summary.
+ *  SummaryField2 needs to be used when using GroupingCollection2.

+ *
+ *
The following example creates summary rows based on two fields of the data provider
+ *  of the AdvancedDataGrid control:

+ *
+ *

+ *  <mx:AdvancedDataGrid id="myADG"
+ *    initialize="gc.refresh();">
+ *    <mx:dataProvider>
+ *      <mx:GroupingCollection id="gc" source="{dpFlat}">
+ *        <mx:Grouping>
+ *          <mx:GroupingField name="Region">
+ *            <mx:summaries>
+ *              <mx:SummaryRow summaryPlacement="group">
+ *                <mx:fields>
+ *                  <mx:SummaryField dataField="Actual"
+ *                    label="Min Actual" operation="MIN"/>
+ *                  <mx:SummaryField dataField="Actual"
+ *                    label="Max Actual" operation="MAX"/>
+ *                </mx:fields>
+ *              </mx:SummaryRow>
+ *            </mx:summaries>
+ *          </mx:GroupingField>
+ *          <mx:GroupingField name="Territory">
+ *            <mx:summaries>
+ *              <mx:SummaryRow summaryPlacement="group">
+ *                <mx:fields>
+ *                  <mx:SummaryField dataField="Actual"
+ *                    label="Min Actual" operation="MIN"/>
+ *                  <mx:SummaryField dataField="Actual"
+ *                    label="Max Actual" operation="MAX"/>
+ *                </mx:fields>
+ *              </mx:SummaryRow>
+ *            </mx:summaries>
+ *          </mx:GroupingField>
+ *        </mx:Grouping>
+ *      </mx:GroupingCollection>
+ *    </mx:dataProvider>
+ *
+ *    <mx:columns>
+ *      <mx:AdvancedDataGridColumn dataField="Region"/>
+ *      <mx:AdvancedDataGridColumn dataField="Territory_Rep"
+ *        headerText="Territory Rep"/>
+ *      <mx:AdvancedDataGridColumn dataField="Actual"/>
+ *      <mx:AdvancedDataGridColumn dataField="Estimate"/>
+ *      <mx:AdvancedDataGridColumn dataField="Min Actual"/>
+ *      <mx:AdvancedDataGridColumn dataField="Max Actual"/>
+ *    </mx:columns>
+ *  </mx:AdvancedDataGrid>
+ *

+ *
+ *  @mxml
+ *
+ *  The <mx.SummaryRow> tag defines the following tag attributes:

+ *
+ *

+ *  <mx:SummaryRow
+ *  Properties
+ *    fields="No default"
+ *    summaryObjectFunction="No default"
+ *    summaryPlacement="last"
+ *  />
+ *

+ *
+ *  @see mx.controls.AdvancedDataGrid
+ *  @see mx.collections.GroupingField
+ *  @see mx.collections.SummaryField
+ *  @see mx.collections.SummaryField2
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class SummaryRow
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function SummaryRow()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  fields
+    //----------------------------------
+
+    /**
+     *  Array of SummaryField/SummaryField2 instances that define the characteristics of the
+     *  data fields used to create the summary.
+     *
+     *  @see mx.collections.SummaryField
+	 *  @see mx.collections.SummaryField2
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var fields:Array;
+
+    //----------------------------------
+    //  summaryPlacement
+    //----------------------------------
+
+    /**
+     *  Specifies where the summary row appears in the AdvancedDataGrid control.
+     *  Possible values are:
+     *
+     *

+     *
"first" - Create a summary row as the first row in the group.

+     *
"last" - Create a summary row as the last row in the group.

+     *
"group" - Add the summary data to the row corresponding to the group.

+     *

+     *
+     *
You can specify multiple values, separated by a space.
+     *  For example, a value of "last group"  shows the same summary row
+     *  at the group level and in the last row of the children.

+     *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var summaryPlacement:String = "last";
+
+    //----------------------------------
+    //  summaryObjectFunction
+    //----------------------------------
+
+    /**
+     *  Specifies a callback function that defines the summary object,
+     *  which is an instance of the SummaryObject class.
+     *  The SummaryObject instance collects summary data for display in the
+     *  AdvancedDataGrid control.
+     *  The AdvancedDataGrid control adds the SummaryObject instance to the
+     *  data provider to display the summary data in the control.
+     *  Therefore, define within the SummaryObject instance the properties that you want to display.
+     *
+     *
You use this property with the SummaryField.summaryFunction property,
+     *  which defines a callback function to perform the summary calculation.

+     *
+     *
The GroupingCollection class adds a property called children to the Object.

+     *
+     *
The callback function must have the following signature:

+     *
+     *
function mySumObjFunc():SummaryObject {}

+     *
+     *  @see mx.collections.SummaryObject
+     *  @see mx.collections.SummaryField#summaryFunction
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var summaryObjectFunction:Function;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20028
Author:   deeptika@adobe.com
Date:     2011-02-01T09:14:44.133814Z

Log Message:
-----------
Adding delegate for Spark VideoDisplay
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/automation_spark/manifest_automation_spark.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/AutomationSparkClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkVideoDisplayAutomationImpl.as</path>

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

--- frameworks/projects/automation_spark/src/AutomationSparkClasses.as
+++ frameworks/projects/automation_spark/src/AutomationSparkClasses.as
@@ -48,6 +48,7 @@
 		import spark.automation.delegates.components.SparkTextInputAutomationImpl;SparkTextInputAutomationImpl;
 		import spark.automation.delegates.components.SparkTileGroupAutomationImpl;SparkTileGroupAutomationImpl;
 		import spark.automation.delegates.components.SparkTitleWindowAutomationImpl;SparkTitleWindowAutomationImpl;
+		import spark.automation.delegates.components.SparkVideoDisplayAutomationImpl;SparkVideoDisplayAutomationImpl;
 		import spark.automation.delegates.components.SparkVideoPlayerAutomationImpl;SparkVideoPlayerAutomationImpl;
 		import spark.automation.delegates.components.SparkRichEditableTextAutomationImpl;SparkRichEditableTextAutomationImpl;


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

--- frameworks/projects/spark/src/spark/components/NavigatorContent.as
+++ frameworks/projects/spark/src/spark/components/NavigatorContent.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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.
+//  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
+//
+//      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: 5086
Author:   cframpto@adobe.com
Date:     2009-02-26T16:16:46.009073Z

Log Message:
-----------
If the radio button group enabled changes, make sure every radio button in the group is invalidated since their skins are most likely dirty.  Before it only invalidated if the individual button enabled changed.

QE Notes:
Doc Notes:
Bugs: SDK-19409
Reviewers: Corey

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

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

--- frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
+++ frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
@@ -172,11 +172,10 @@

         _enabled = value;

-        // For each radio button, if the group is enabled then the button
-        // enable property determines if the button is enabled and if the
-        // group is disabled all the buttons are disabled.
+        // The group state changed.  Invalidate all the radio buttons.  The
+        // radio button skin most likely will change.
         for (var i:int = 0; i < numRadioButtons; i++)
-            getRadioButtonAt(i).mx_internal::invalidateRadioButtonState();
+            getRadioButtonAt(i).mx_internal::invalidateRadioButtonState(true);

         dispatchEvent(new Event("enabledChanged"));
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4604
Author:   cframpto@adobe.com
Date:     2009-01-21T13:16:30.896007Z

Log Message:
-----------
Implement paste operation which enforces restrict, maxChars and displayAsPassword for TextView, FxTextInput and FxTextArea.

QE Notes:
Doc Notes: ctrl-c/ctrl-v/ctrl-z work as expected, at least on Windows
Bugs: SDK-17896, SDK-17897
Reviewers: Robin Briggs, Gordan

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -39,6 +39,8 @@
 import flashx.textLayout.edit.IUndoManager;
 import flashx.textLayout.edit.SelectionFormat;
 import flashx.textLayout.edit.SelectionManager;
+import flashx.textLayout.edit.SelectionState;
+import flashx.textLayout.edit.TextScrap;
 import flashx.textLayout.edit.UndoManager;
 import flashx.textLayout.elements.Configuration;
 import flashx.textLayout.elements.FlowElement;
@@ -284,6 +286,13 @@
      */
     private var charWidth:Number;

+    /**
+     *  @private
+     *  True if TextOperationEvent.CHANGING should be dispatched at
+     *  operationEnd.
+     */
+    private var dispatchChangingEvent:Boolean = true;
+
     /**
      *  @private
      */
@@ -2071,7 +2080,7 @@
             // Note: Must process restrict first, then maxChars,
             // then displayAsPassword last.

-            if (restrict != null)
+            if (_restrict != null)
             {
                 textToInsert = StringUtil.restrict(textToInsert, restrict);
                 if (textToInsert.length == 0)
@@ -2089,7 +2098,7 @@
                     textToInsert = textToInsert.substr(0, maxChars - length1);
             }

-            if (displayAsPassword)
+            if (_displayAsPassword)
             {
                 _text = splice(_text, insertTextOperation.absoluteStart,
                                insertTextOperation.absoluteEnd, textToInsert);
@@ -2101,7 +2110,10 @@
         }
         else if (op is PasteOperation)
         {
-            // to be implemented
+            // Paste is implemented in operationEnd.  The basic idea is to allow
+            // the paste to go through unchanged, but group it together with a
+            // second operation that modifies text as part of the same
+            // transaction. This is vastly simpler for TLF to manage.
         }
         else if (op is DeleteTextOperation || op is CutOperation)
         {
@@ -2117,25 +2129,28 @@
                 return;
             }

-            if (displayAsPassword)
+            if (_displayAsPassword)
             {
                 _text = splice(_text, flowTextOperation.absoluteStart,
                                flowTextOperation.absoluteEnd, "");
             }
         }
-
+
         // Dispatch a 'changing' event from the TextView
         // as notification that an editing operation is about to occur.
-        var newEvent:TextOperationEvent =
-            new TextOperationEvent(TextOperationEvent.CHANGING);
-        newEvent.operation = op;
-        dispatchEvent(newEvent);
-
-        // If the event dispatched from this TextView is canceled,
-        // cancel the one from the EditManager, which will prevent
-        // the editing operation from being processed.
-        if (newEvent.isDefaultPrevented())
-            event.preventDefault();
+        if (dispatchChangingEvent)
+        {
+            var newEvent:TextOperationEvent =
+                new TextOperationEvent(TextOperationEvent.CHANGING);
+            newEvent.operation = op;
+            dispatchEvent(newEvent);
+
+            // If the event dispatched from this TextView is canceled,
+            // cancel the one from the EditManager, which will prevent
+            // the editing operation from being processed.
+            if (newEvent.isDefaultPrevented())
+                event.preventDefault();
+        }
     }

     /**
@@ -2147,6 +2162,11 @@
                         event:FlowOperationEvent):void
     {
         //trace("operationEnd");
+
+        // Paste is a special case.  Any mods have to be made to the text
+        // which includes what was pasted.
+        if (event.operation is PasteOperation)
+            handlePasteOperation(PasteOperation(event.operation));

         // Since the text may have changed, set a flag which will
         // cause the 'text' getter to call extractText() to extract
@@ -2161,6 +2181,37 @@
         newEvent.operation = event.operation;
         dispatchEvent(newEvent);
     }
+
+    private function handlePasteOperation(op:PasteOperation):void
+    {
+        if (!restrict && !maxChars && !displayAsPassword)
+            return;
+
+        var textScrap:TextScrap = op.scrapToPaste();
+        var pastedText:String = TextUtil.extractText(textScrap.textFlow);
+
+        // We know it's an EditManager or we wouldn't have gotten here.
+        var editManager:EditManager = EditManager(textFlow.interactionManager);
+
+        // Generate a CHANGING event for the PasteOperation but not for the
+        // DeleteTextOperation or the InsertTextOperation which are also part
+        // of the paste.
+        dispatchChangingEvent = false;
+
+        var selectionState:SelectionState =
+            new SelectionState(textFlow, op.absoluteStart,
+                    op.absoluteStart + pastedText.length);
+        editManager.deleteText(selectionState);
+
+        // Insert the same text, the same place where the paste was done.
+        // This will go thru the InsertPasteOperation and do the right
+        // things with restrict, maxChars and displayAsPassword.
+        selectionState =
+            new SelectionState(textFlow, op.absoluteStart, op.absoluteStart);
+        editManager.insertText(pastedText, selectionState);
+
+        dispatchChangingEvent = true;
+    }
 }

 }


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

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

 package mx.accessibility
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12793
Author:   mhorn@adobe.com
Date:     2009-12-10T17:16:45.824116Z

Log Message:
-----------
asdoc updates for l10n

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuArrow.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuRadio.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserTodayIndicatorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/PopUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/SliderTrackHighlightSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/TextInputBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserSelectionIndicatorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DataGridSortArrow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ProgressIndeterminateSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuCheckDisabled.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserNextMonthSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ContainerBorderSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/TabSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DataGridHeaderSeparatorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/AccordionHeaderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ProgressBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserNextYearSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/SliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserRollOverIndicatorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuArrowDisabled.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuRadioDisabled.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ProgressBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/LinkButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/RadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/PanelBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/EditableComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserPrevMonthSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ProgressMaskSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/SliderTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ScrollBarDownButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ColorPickerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/BorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuCheck.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserPrevYearSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/SparkSkinForHalo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ScrollBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuItemSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/MenuSeparatorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DataGridHeaderBackgroundSkin.mxml</path>

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

--- frameworks/projects/sparkskins/src/mx/skins/spark/SparkSkinForHalo.as
+++ frameworks/projects/sparkskins/src/mx/skins/spark/SparkSkinForHalo.as
@@ -14,7 +14,7 @@
 import spark.skins.SparkSkin;

 /**
- *  The SparkSkinForHalo class is the base class for Spark skins for Halo components.
+ *  The SparkSkinForHalo class is the base class for Spark skins for MX components.
  *  This class adds support for setting the color of the border with the
  *  value of the errorColor style when a validation error occurs.
  *


remove trace

remove trace

--- src/aerys/minko/scene/controller/scene/RenderingController.as
+++ src/aerys/minko/scene/controller/scene/RenderingController.as
@@ -718,7 +718,7 @@
 					var meshBindings		: DataBindings		= _drawCallToMeshBindings[drawCall];
 					var meshGeometry		: Geometry			= (meshBindings.owner as Mesh).geometry
 					var meshChanges			: Vector.<String>	= _stashedPropertyChanges[meshBindings];
-					trace(meshChanges);
+
 					var needUpdateFromMesh	: Boolean 			= meshChanges != null ?
 						passInstanceSignature.useProperties(meshChanges, false) :
 						false;


Transferred from the Adobe Open Source Subversion Repository

Revision: 22564
Author:   tkraikit@adobe.com
Date:     2011-09-14T19:50:07.656843Z

Log Message:
-----------
Update ASDoc "@productversion Flex 4.5.2" => "@productversion Flex 4.6"

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/OnDemandDataProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/graphics/BitmapScaleMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ContentBackgroundAppearance.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/FlexVersion.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ArrowDirection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/FormatPattern.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultTransparentNavigationButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/core/ISoftKeyboardHintClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/CalloutArrow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/YearProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/calendarClasses/DateSelectorDisplayMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ToggleSwitch.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledBackButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListScrollerSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ScrollSnappingMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/StageTextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultTransparentActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/ToggleSwitchSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateAndTimeProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutPosition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImageSource.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/NumericDataProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateSpinnerItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/CalendarDate.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/DateTimeFormatterEx.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/Callout.as
+++ frameworks/projects/mobilecomponents/src/spark/components/Callout.as
@@ -53,7 +53,7 @@
  *
  *  @langversion 3.0
  *  @playerversion AIR 3
- *  @productversion Flex 4.5.2
+ *  @productversion Flex 4.6
  */
 [Style(name="contentBackgroundAppearance", type="String", enumeration="inset,flat,none", inherit="no")]

@@ -148,7 +148,7 @@
  *
  *  @langversion 3.0
  *  @playerversion AIR 3
- *  @productversion Flex 4.5.2
+ *  @productversion Flex 4.6
  */
 public class Callout extends SkinnablePopUpContainer
 {
@@ -172,7 +172,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public function Callout()
     {
@@ -194,7 +194,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public var arrow:UIComponent;

@@ -232,7 +232,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public function get horizontalPosition():String
     {
@@ -271,7 +271,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     protected function get actualHorizontalPosition():String
     {
@@ -309,7 +309,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public function get verticalPosition():String
     {
@@ -348,7 +348,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     protected function get actualVerticalPosition():String
     {
@@ -394,7 +394,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public function get arrowDirection():String
     {
@@ -703,7 +703,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     protected function updateSkinDisplayList():void
     {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.components
 {


Tweaking test base to connect once per test class (rather than once per test method).

We make the assumption that the connection stays in a
valid state throughout all the test methods in the test
class. If there are some negative tests that require this
not to be true, the tests can create separate connections
through `createConnection()`. Note that this method is
asynchronous and should be given enough time to complete
with the `async` metadata parameter on the calling method.

--- test/src/org/postgresql/pegasus/functional/ConnectedTestBase.as
+++ test/src/org/postgresql/pegasus/functional/ConnectedTestBase.as
@@ -8,18 +8,39 @@
      * @author maciek
      */
     public /* abstract */ class ConnectedTestBase {
-
-        protected var connection:IConnection;
+
+        protected static var connectionFactory:ConnectionFactory;
+        protected static var connection:IConnection;
+        protected static var setupCount:int;
+
+        protected function createConnection():IConnection {
+        	// We can't really create the connection factory (or connection, for that matter)
+        	// in a [BeforeClass] method, because that does not play well with inheritance.
+            if (!connectionFactory) {
+            	connectionFactory = new ConnectionFactory();
+            }
+        	var conn:IConnection = new ConnectionFactory().createConnection(Credentials.url, Credentials.user, Credentials.password);
+        	// TODO: register failure event on Connection error, once we broadcast
+        	// connection errors.
+        	Async.proceedOnEvent(this, conn, ConnectionEvent.CONNECTED);
+        	return conn;
+        }

         [Before(async,timeout=1000)]
         public function setup():void {
-            var connFactory:ConnectionFactory = new ConnectionFactory();
-            connection = connFactory.createConnection(Credentials.url, Credentials.user, Credentials.password);
-            Async.proceedOnEvent(this, connection, ConnectionEvent.CONNECTED);
+            if (!connection) {
+            	connection = createConnection();
+            }
+            setupCount++;
         }
+
         [After(async,timeout=1000)]
         public function tearDown():void {
-            connection.close();
+        	setupCount--;
+        	if (setupCount == 0) {
+                connection.close();
+                connection = null;
+        	}
         }
     }
 }


removed the comment form ExpectAsync

removed the comment form ExpectAsync

--- FlexUnit4/src/org/flexunit/internals/runners/statements/ExpectAsync.as
+++ FlexUnit4/src/org/flexunit/internals/runners/statements/ExpectAsync.as
@@ -134,7 +134,6 @@
 				sendComplete( error );
 			}

-			//Adding this line
 			if ( hasPendingAsync ) {
 				startAsyncTimers();
 			}


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

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

 package mx.collections.errors
 {


Transferred from the Adobe Open Source Subversion Repository

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

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