Transferred from the Adobe Open Source Subversion Repository

Revision: 19789
Author:   rfrishbe@adobe.com
Date:     2011-01-18T02:37:11.699975Z

Log Message:
-----------
LabelItemRenderer and IconItemRenderer changes:

1) Refactor creating components in Label/IconItemRenderer into protected methods: createLabelDisplay(), destroyLabelDisplay(), createMessageDisplay(), destroyMessageDisplay(), createIconDisplay(), destroyIconDisplay(), createDecoratorDisplay(), destroyDecoratorDisplay()

2) Glenn's suggestion which yields a pretty big performance boost: Turn on cacheAsBitmap=true for labelDisplay and messageDisplay

3) Fix up code in IconItemRenderer related to graphicelement sharing by moving the code into the validateXXX() methods

4) Property renames: decoratorClass -> decorator, loadingIconClass -> iconPlaceholder

5) Bump frameRate back down on RadioStations tests now that Timers are independent of frameRate.

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

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
@@ -89,13 +89,14 @@
  *  list-based control:
  *
  *

- *
An icon on the left defined by the iconField property.

+ *
An icon on the left defined by the iconField or
+ *      iconFunction property.

  *
A single-line text label next to the icon defined by the
  *      labelField or labelFunction property.

  *
A multi-line message below the text label defined by the
  *      messageField or messageFunction property.

  *
A decorator icon on the right defined by the
- *      decoratorClass property.

+ *      decorator property.

  *

  *
  *
To apply CSS styles to the single-line text label, such as font size and color,
@@ -120,7 +121,7 @@
  *                 <s:IconItemRenderer messageStyleName="myFontStyle" fontSize="25"
  *                     labelField="firstName"
  *                     messageField="lastName"
- *                     decoratorClass="@Embed(source='assets/logo_small.jpg')"/>
+ *                     decorator="@Embed(source='assets/logo_small.jpg')"/>
  *             </fx:Component>
  *         </s:itemRenderer>
  *         <s:ArrayCollection>
@@ -140,19 +141,19 @@
  *

  *  <s:IconItemRenderer
  *   Properties
- *    decoratorClass=""
+ *    decorator=""
  *    decoratorDisplay="null"
  *    iconContentLoader="See property description"
  *    iconField="null"
  *    iconFillMode=""scale
  *    iconFunction="null"
  *    iconHeight="NaN"
+ *    iconPlaceholder="null"
  *    iconScaleMode="stretch"
  *    iconWidth="NaN"
  *    label=""
  *    labelField="null"
  *    labelFunction="null"
- *    loadingIconClass="null"
  *    messageDisplay="StyleableTextField"
  *    messageField="null"
  *    messageFunction="null"
@@ -431,18 +432,18 @@
     }

     //----------------------------------
-    //  decoratorClass
+    //  decorator
     //----------------------------------

     /**
      *  @private
      */
-    private var _decoratorClass:Object;
+    private var _decorator:Object;

     /**
      *  @private
      */
-    private var decoratorClassChanged:Boolean;
+    private var decoratorChanged:Boolean;

     /**
      *  @private
@@ -483,22 +484,22 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    public function get decoratorClass():Object
-    {
-        return _decoratorClass;
-    }
-
-    /**
-     *  @private
-     */
-    public function set decoratorClass(value:Object):void
-    {
-        if (value == _decoratorClass)
+    public function get decorator():Object
+    {
+        return _decorator;
+    }
+
+    /**
+     *  @private
+     */
+    public function set decorator(value:Object):void
+    {
+        if (value == _decorator)
             return;

-        _decoratorClass = value;
-
-        decoratorClassChanged = true;
+        _decorator = value;
+
+        decoratorChanged = true;
         invalidateProperties();
     }

@@ -837,6 +838,52 @@
     }

     //----------------------------------
+    //  iconPlaceholder
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _iconPlaceholder:Object;
+
+    /**
+     *  The icon asset to use while an externally loaded asset is
+     *  being downloaded.
+     *
+     *
This asset should be an embedded image and not an externally
+     *  loaded image.

+     *
+     *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function get iconPlaceholder():Object
+    {
+        return _iconPlaceholder;
+    }
+
+    /**
+     *  @private
+     */
+    public function set iconPlaceholder(value:Object):void
+    {
+        if (value == _iconPlaceholder)
+            return;
+
+        _iconPlaceholder = value;
+
+        iconChanged = true;
+        invalidateProperties();
+
+        // clear clearOnLoad if necessary
+        if (iconDisplay)
+            iconDisplay.clearOnLoad = (iconPlaceholder == null);
+    }
+
+    //----------------------------------
     //  iconScaleMode
     //----------------------------------

@@ -918,49 +965,6 @@

         invalidateSize();
         invalidateDisplayList();
-    }
-
-    //----------------------------------
-    //  loadingIconClass
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _loadingIconClass:Object;
-
-    /**
-     *  The icon asset to use while an externally loaded asset is
-     *  being downloaded.
-     *
-     *  @default null
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    public function get loadingIconClass():Object
-    {
-        return _loadingIconClass;
-    }
-
-    /**
-     *  @private
-     */
-    public function set loadingIconClass(value:Object):void
-    {
-        if (value == _loadingIconClass)
-            return;
-
-        _loadingIconClass = value;
-
-        iconChanged = true;
-        invalidateProperties();
-
-        // clear clearOnLoad if necessary
-        if (iconDisplay)
-            iconDisplay.clearOnLoad = (loadingIconClass == null);
     }

     //----------------------------------
@@ -1277,41 +1281,20 @@
      */
     override protected function commitProperties():void
     {
-        var oldDisplayObject:DisplayObject;
-
         super.commitProperties();

-        if (decoratorClassChanged)
-        {
-            decoratorClassChanged = false;
+        if (decoratorChanged)
+        {
+            decoratorChanged = false;

             // let's see if we need to create or remove it
-            if (decoratorClass && !decoratorDisplay)
-            {
-                // need to create it
-
-                decoratorDisplay = new decoratorDisplayClass();
-                decoratorDisplay.parentChanged(this);
-                decoratorDisplay.source = decoratorClass;
-
-                decoratorNeedsDisplayObjectAssignment = true;
-            }
-            else if (!decoratorClass && decoratorDisplay)
-            {
-                // need to remove the display object
-                oldDisplayObject = decoratorDisplay.displayObject;
-                if (oldDisplayObject)
-                {
-                    // If the element created the display object
-                    if (iconDisplay.displayObjectSharingMode != DisplayObjectSharingMode.USES_SHARED_OBJECT &&
-                        oldDisplayObject.parent == this)
-                    {
-                        removeChild(oldDisplayObject);
-                    }
-                }
-
-                decoratorDisplay.parentChanged(null);
-                decoratorDisplay = null;
+            if (decorator && !decoratorDisplay)
+            {
+                createDecoratorDisplay();
+            }
+            else if (!decorator && decoratorDisplay)
+            {
+                destroyDecoratorDisplay();
             }

             invalidateSize();
@@ -1325,39 +1308,11 @@
             // let's see if we need to create or remove it
             if ((iconField || (iconFunction != null)) && !iconDisplay)
             {
-                // need to create it
-
-                iconDisplay = new iconDisplayClass();
-
-                iconDisplay.contentLoader = iconContentLoader;
-                iconDisplay.fillMode = iconFillMode;
-                iconDisplay.scaleMode = iconScaleMode;
-
-				if (!isNaN(iconWidth))
-					iconDisplay.explicitWidth = iconWidth;
-				if (!isNaN(iconHeight))
-					iconDisplay.explicitHeight = iconHeight;
-
-                iconDisplay.parentChanged(this);
-
-                iconNeedsDisplayObjectAssignment = true;
+                createIconDisplay();
             }
             else if (!(iconField || (iconFunction != null)) && iconDisplay)
             {
-                // need to remove the display object
-                oldDisplayObject = iconDisplay.displayObject;
-                if (oldDisplayObject)
-                {
-                    // If the element created the display object
-                    if (iconDisplay.displayObjectSharingMode != DisplayObjectSharingMode.USES_SHARED_OBJECT &&
-                        oldDisplayObject.parent == this)
-                    {
-                        removeChild(oldDisplayObject);
-                    }
-                }
-
-                iconDisplay.parentChanged(null);
-                iconDisplay = null;
+                destroyIconDisplay();
             }

             invalidateSize();
@@ -1371,33 +1326,11 @@
             // let's see if we need to create or remove it
             if ((messageField || (messageFunction != null)) && !messageDisplay)
             {
-                // get styles for this text component
-
-                // need to create it
-                messageDisplay = StyleableTextField(createInFontContext(StyleableTextField));
-                messageDisplay.styleName = this;
-                messageDisplay.editable = false;
-                messageDisplay.selectable = false;
-                messageDisplay.multiline = true;
-                messageDisplay.wordWrap = true;
-
-                var messageStyleName:String = getStyle("messageStyleName");
-                if (messageStyleName)
-                {
-                    var styleDecl:CSSStyleDeclaration =
-                        styleManager.getMergedStyleDeclaration("." + messageStyleName);
-
-                    if (styleDecl)
-                        messageDisplay.styleDeclaration = styleDecl;
-                }
-
-                addChild(messageDisplay);
+                createMessageDisplay();
             }
             else if (!(messageField || (messageFunction != null)) && messageDisplay)
             {
-                // need to remove it
-                removeChild(messageDisplay);
-                messageDisplay = null;
+                destroyMessageDisplay();
             }

             invalidateSize();
@@ -1518,7 +1451,7 @@
             {
                 // get rid of labelDisplay if present
                 if (labelDisplay)
-                    removeLabelDisplay();
+                    destroyLabelDisplay();
             }

             invalidateSize();
@@ -1536,9 +1469,17 @@
             decoratorNeedsDisplayObjectAssignment = false;
             assignDisplayObject(decoratorDisplay);
         }
-
-        // FIXME (rfrishbe): Move the graphic element validations from commitProperties()
-        // and udl() in to the validateXXX() methods.
+    }
+
+    /**
+     *  @private
+     */
+    override public function validateProperties():void
+    {
+        super.validateProperties();
+
+        // Since IGraphicElement is not ILayoutManagerClient, we need to make sure we
+        // validate properties of the elements
         if (iconNeedsValidateProperties)
         {
             iconNeedsValidateProperties = false;
@@ -1590,44 +1531,160 @@
     }

     /**
-     *  @private
-     */
-    private function createLabelDisplay():void
-    {
-        // need to create it
-        labelDisplay = StyleableTextField(createInFontContext(StyleableTextField));
-        labelDisplay.styleName = this;
-        labelDisplay.editable = false;
-        labelDisplay.selectable = false;
-        labelDisplay.multiline = false;
-        labelDisplay.wordWrap = false;
-
-        addChild(labelDisplay);
-    }
-
-    /**
-     *  @private
-     */
-    private function removeLabelDisplay():void
-    {
-        removeChild(labelDisplay);
-        labelDisplay = null;
-    }
+     *  Creates the messageDisplay component
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    protected function createMessageDisplay():void
+    {
+        messageDisplay = StyleableTextField(createInFontContext(StyleableTextField));
+        messageDisplay.styleName = this;
+        messageDisplay.editable = false;
+        messageDisplay.selectable = false;
+        messageDisplay.multiline = true;
+        messageDisplay.wordWrap = true;
+        messageDisplay.cacheAsBitmap = true;
+
+        var messageStyleName:String = getStyle("messageStyleName");
+        if (messageStyleName)
+        {
+            var styleDecl:CSSStyleDeclaration =
+                styleManager.getMergedStyleDeclaration("." + messageStyleName);
+
+            if (styleDecl)
+                messageDisplay.styleDeclaration = styleDecl;
+        }
+
+        addChild(messageDisplay);
+    }
+
+    /**
+     *  Destorys the messageDisplay component
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    protected function destroyMessageDisplay():void
+    {
+        removeChild(messageDisplay);
+        messageDisplay = null;
+    }
+
+    /**
+     *  Creates the iconDisplay component
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    protected function createIconDisplay():void
+    {
+        iconDisplay = new iconDisplayClass();
+
+        iconDisplay.contentLoader = iconContentLoader;
+        iconDisplay.fillMode = iconFillMode;
+        iconDisplay.scaleMode = iconScaleMode;
+
+        if (!isNaN(iconWidth))
+            iconDisplay.explicitWidth = iconWidth;
+        if (!isNaN(iconHeight))
+            iconDisplay.explicitHeight = iconHeight;
+
+        iconDisplay.parentChanged(this);
+
+        iconNeedsDisplayObjectAssignment = true;
+    }
+
+    /**
+     *  Destorys the iconDisplay component
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    protected function destroyIconDisplay():void
+    {
+        // need to remove the display object
+        var oldDisplayObject:DisplayObject = iconDisplay.displayObject;
+        if (oldDisplayObject)
+        {
+            // If the element created the display object
+            if (iconDisplay.displayObjectSharingMode != DisplayObjectSharingMode.USES_SHARED_OBJECT &&
+                oldDisplayObject.parent == this)
+            {
+                removeChild(oldDisplayObject);
+            }
+        }
+
+        iconDisplay.parentChanged(null);
+        iconDisplay = null;
+    }
+
+    /**
+     *  Creates the decoratorDisplay component
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    protected function createDecoratorDisplay():void
+    {
+        decoratorDisplay = new decoratorDisplayClass();
+        decoratorDisplay.parentChanged(this);
+        decoratorDisplay.source = decorator;
+
+        decoratorNeedsDisplayObjectAssignment = true;
+    }
+
+    /**
+     *  Destorys the decoratorDisplay component
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    protected function destroyDecoratorDisplay():void
+    {
+        // need to remove the display object
+        var oldDisplayObject:DisplayObject = decoratorDisplay.displayObject;
+        if (oldDisplayObject)
+        {
+            // If the element created the display object
+            if (iconDisplay.displayObjectSharingMode != DisplayObjectSharingMode.USES_SHARED_OBJECT &&
+                oldDisplayObject.parent == this)
+            {
+                removeChild(oldDisplayObject);
+            }
+        }
+
+        decoratorDisplay.parentChanged(null);
+        decoratorDisplay = null;
+    }
+

     /**
      *  @private
      */
     private function loadExternalImage(source:Object, iconDelay:Number):void
     {
-        // set iconDisplay's source now to either loadingIconClass
-        // or null (if no loadingIconClass).  this is so we don't display the old
+        // set iconDisplay's source now to either iconPlaceholder
+        // or null (if no iconPlaceholder).  this is so we don't display the old
         // data while we're loading.
-        iconDisplay.source = loadingIconClass;
-
-        // while we're loading,if loadingIconClass is set,
+        iconDisplay.source = iconPlaceholder;
+
+        // while we're loading,if iconPlaceholder is set,
         // we'll keep that image up while we're loading
         // the external content
-        iconDisplay.clearOnLoad = (loadingIconClass == null);
+        iconDisplay.clearOnLoad = (iconPlaceholder == null);

         if (iconDelay > 0)
         {
@@ -1646,7 +1703,7 @@
         {
             // load up the image immediately

-            // need to call validateProperties because we need this loadingIconClass
+            // need to call validateProperties because we need this iconPlaceholder
             // to actually get loaded up since we set iconDisplay.source to a remote
             // image on the next line.  BitmapImage doesn't actually attempt to load
             // up the image (even if it's a locally embedded asset) until commitProperties()
@@ -1904,6 +1961,39 @@
         super.invalidateDisplayList();
     }

+    override public function validateDisplayList():void
+    {
+        super.validateDisplayList();
+
+        // Since IGraphicElement is not ILayoutManagerClient, we need to make sure we
+        // validate properties of the elements
+
+        // see if we have an icon that needs to be validated
+        if (iconDisplay &&
+            iconDisplay.displayObject is ISharedDisplayObject &&
+            ISharedDisplayObject(iconDisplay.displayObject).redrawRequested)
+        {
+            ISharedDisplayObject(iconDisplay.displayObject).redrawRequested = false;
+            iconDisplay.validateDisplayList();
+            // if decoratorDisplay is also using this displayObject than validate
+            // decoratorDisplay as well
+            if (decoratorDisplay &&
+                decoratorDisplay.displayObject is ISharedDisplayObject &&
+                decoratorDisplay.displayObject == iconDisplay.displayObject)
+                decoratorDisplay.validateDisplayList();
+        }
+
+        // check just for decoratorDisplay in case it has a different displayObject
+        // than iconDisplay
+        if (decoratorDisplay &&
+            decoratorDisplay.displayObject is ISharedDisplayObject &&
+            ISharedDisplayObject(decoratorDisplay.displayObject).redrawRequested)
+        {
+            ISharedDisplayObject(decoratorDisplay.displayObject).redrawRequested = false;
+            decoratorDisplay.validateDisplayList();
+        }
+    }
+
     /**
      *  @private
      */
@@ -2027,7 +2117,10 @@
             labelWidth = Math.max(labelComponentsViewWidth, 0);
 			labelHeight = labelTextHeight;

-            setElementSize(labelDisplay, labelWidth, labelHeight);
+            if (labelWidth == 0)
+                setElementSize(labelDisplay, NaN, 0);
+            else
+                setElementSize(labelDisplay, labelWidth, labelHeight);

             // attempt to truncate text
             labelDisplay.truncateToFit();
@@ -2042,7 +2135,7 @@
             // We get called with unscaledWidth = 0 a few times...
             // rather than deal with this case normally,
             // we can just special-case it later to do something smarter
-            if (unscaledWidth == 0)
+            if (messageWidth == 0)
             {
                 // if unscaledWidth is 0, we want to make sure messageDisplay is invisible.
                 // we could set messageDisplay's width to 0, but that would cause an extra
@@ -2105,31 +2198,6 @@
 			var messageY:Number = labelComponentsY + labelAlignmentHeight + verticalGap;
 			setElementPosition(messageDisplay, labelComponentsX, messageY);
 		}
-
-        // see if we have an icon that needs to be validated
-        if (iconDisplay &&
-            iconDisplay.displayObject is ISharedDisplayObject &&
-            ISharedDisplayObject(iconDisplay.displayObject).redrawRequested)
-        {
-            ISharedDisplayObject(iconDisplay.displayObject).redrawRequested = false;
-            iconDisplay.validateDisplayList();
-            // if decoratorDisplay is also using this displayObject than validate
-            // decoratorDisplay as well
-            if (decoratorDisplay &&
-                decoratorDisplay.displayObject is ISharedDisplayObject &&
-                decoratorDisplay.displayObject == iconDisplay.displayObject)
-                decoratorDisplay.validateDisplayList();
-        }
-
-        // check just for decoratorDisplay in case it has a different displayObject
-        // than iconDisplay
-        if (decoratorDisplay &&
-            decoratorDisplay.displayObject is ISharedDisplayObject &&
-            ISharedDisplayObject(decoratorDisplay.displayObject).redrawRequested)
-        {
-            ISharedDisplayObject(decoratorDisplay.displayObject).redrawRequested = false;
-            decoratorDisplay.validateDisplayList();
-        }
     }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20292
Author:   smgilson@adobe.com
Date:     2011-02-11T16:53:14.813687Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.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/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/components/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
@@ -63,7 +63,6 @@
  *  @default 500
  *
  *  @langversion 3.0
- *  @playerversion Flash 10
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
@@ -76,7 +75,6 @@
  *  @default iconItemRendererMessageStyle
  *
  *  @langversion 3.0
- *  @playerversion Flash 10
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
@@ -174,7 +172,6 @@
  *  @includeExample examples/IconItemRendererExample.mxml -noswf
  *
  *  @langversion 3.0
- *  @playerversion Flash 10
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
@@ -204,7 +201,6 @@
      *  Constructor.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -370,7 +366,6 @@
      *  @see spark.components.IItemRenderer#label
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -409,7 +404,6 @@
      *  that allows up to 100 entries.

      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -462,7 +456,6 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -481,7 +474,6 @@
      *  @default ""
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -541,7 +533,6 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -602,7 +593,6 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -659,7 +649,6 @@
      *  display the icon data of the item renderer.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -673,7 +662,6 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -716,7 +704,6 @@
      *  @see mx.graphics.BitmapFillMode
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -772,7 +759,6 @@
      *  @see spark.primitives.BitmapImage#source
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -812,7 +798,6 @@
      *  @default NaN
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -830,9 +815,9 @@
             return;

         _iconHeight = value;
-
-		if (iconDisplay)
-			iconDisplay.explicitHeight = _iconHeight;
+
+        if (iconDisplay)
+            iconDisplay.explicitHeight = _iconHeight;

         invalidateSize();
         invalidateDisplayList();
@@ -857,7 +842,6 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -903,7 +887,6 @@
      *  @see mx.graphics.BitmapScaleMode
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -942,7 +925,6 @@
      *  @default NaN
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -960,9 +942,9 @@
             return;

         _iconWidth = value;
-
-		if (iconDisplay)
-			iconDisplay.explicitWidth = _iconWidth;
+
+        if (iconDisplay)
+            iconDisplay.explicitWidth = _iconWidth;

         invalidateSize();
         invalidateDisplayList();
@@ -982,7 +964,6 @@
      *  display the message data of the item renderer.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -1009,7 +990,6 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -1060,7 +1040,6 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -1100,7 +1079,6 @@
      *  can share our display object.

      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
@@ -1136,7 +1114,6 @@
      *  @param element The element that has changed size.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.0
      *  @productversion Flex 4.5
      */
@@ -1163,7 +1140,6 @@
      *  @param element The element that has changed.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.0
      *  @productversion Flex 4.5
      */
@@ -1188,7 +1164,6 @@
      *  @param element The element that has changed size.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.0
      *  @productversion Flex 4.5
      */
@@ -1213,7 +1188,6 @@
      *  @param element The element that has changed.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.0
      *  @productversion Flex 4.5
      */
@@ -1360,8 +1334,8 @@
                 {
                     if (iconField in data && data[iconField] != null)
                         setIconDisplaySource(data[iconField]);
-					else
-						setIconDisplaySource(null);
+                    else
+                        setIconDisplaySource(null);
                 }
                 catch(e:Error)
                 {
@@ -1532,10 +1506,10 @@
     }

     /**
-     *  Creates the messageDisplay component
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
+     *  @private
+     *  Creates the messageDisplay component.
+     *
+     *  @langversion 3.0
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -1563,10 +1537,10 @@
     }

     /**
-     *  Destroys the messageDisplay component
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
+     *  @private
+     *  Destroys the messageDisplay component.
+     *
+     *  @langversion 3.0
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -1577,10 +1551,10 @@
     }

     /**
-     *  Creates the iconDisplay component
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
+     *  @private
+     *  Creates the iconDisplay component.
+     *
+     *  @langversion 3.0
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -1603,10 +1577,10 @@
     }

     /**
-     *  Destroys the iconDisplay component
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
+     *  @private
+     *  Destroys the iconDisplay component.
+     *
+     *  @langversion 3.0
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -1629,10 +1603,10 @@
     }

     /**
-     *  Creates the decoratorDisplay component
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
+     *  @private
+     *  Creates the decoratorDisplay component.
+     *
+     *  @langversion 3.0
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -1646,10 +1620,10 @@
     }

     /**
-     *  Destroys the decoratorDisplay component
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
+     *  @private
+     *  Destroys the decoratorDisplay component.
+     *
+     *  @langversion 3.0
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -1865,8 +1839,8 @@
         if (numHorizontalSections > 0)
             paddingAndGapWidth += (getStyle("horizontalGap") * (numHorizontalSections - 1));

-		var hasLabel:Boolean = labelDisplay && labelDisplay.text != "";
-		var hasMessage:Boolean = messageDisplay && messageDisplay.text != "";
+        var hasLabel:Boolean = labelDisplay && labelDisplay.text != "";
+        var hasMessage:Boolean = messageDisplay && messageDisplay.text != "";

         var verticalGap:Number = (hasLabel && hasMessage) ? getStyle("verticalGap") : 0;
         var paddingHeight:Number = getStyle("paddingTop") + getStyle("paddingBottom");
@@ -1905,7 +1879,7 @@
         var labelHeight:Number = 0;
         var messageWidth:Number = 0;
         var messageHeight:Number = 0;
-
+
         if (hasLabel)
         {
             // reset text if it was truncated before.
@@ -1960,6 +1934,9 @@
         super.invalidateDisplayList();
     }

+    /**
+     *  @private
+     */
     override public function validateDisplayList():void
     {
         super.validateDisplayList();
@@ -2007,8 +1984,8 @@
         var decoratorWidth:Number = 0;
         var decoratorHeight:Number = 0;

-		var hasLabel:Boolean = labelDisplay && labelDisplay.text != "";
-		var hasMessage:Boolean = messageDisplay && messageDisplay.text != "";
+        var hasLabel:Boolean = labelDisplay && labelDisplay.text != "";
+        var hasMessage:Boolean = messageDisplay && messageDisplay.text != "";

         var paddingLeft:Number   = getStyle("paddingLeft");
         var paddingRight:Number  = getStyle("paddingRight");
@@ -2041,7 +2018,7 @@
             iconHeight = iconDisplay.getLayoutBoundsHeight();

             // use vAlign to position the icon.
-			var iconDisplayY:Number = Math.round(vAlign * (viewHeight - iconHeight)) + paddingTop;
+            var iconDisplayY:Number = Math.round(vAlign * (viewHeight - iconHeight)) + paddingTop;
             setElementPosition(iconDisplay, paddingLeft, iconDisplayY);
         }

@@ -2114,7 +2091,7 @@
             // height only takes up what it needs so we can properly place the message
             // and make sure verticalAlign is operating on a correct value.
             labelWidth = Math.max(labelComponentsViewWidth, 0);
-			labelHeight = labelTextHeight;
+            labelHeight = labelTextHeight;

             if (labelWidth == 0)
                 setElementSize(labelDisplay, NaN, 0);
@@ -2164,7 +2141,7 @@
                 if (oldPreferredMessageHeight != newPreferredMessageHeight)
                     invalidateSize();

-    			messageHeight = newPreferredMessageHeight;
+                messageHeight = newPreferredMessageHeight;
             }

             // since it's multi-line, no need to truncate
@@ -2174,29 +2151,29 @@
         }

         // Position the text components now that we know all heights so we can respect verticalAlign style
-		var totalHeight:Number = 0;
-		var labelComponentsY:Number = 0;
-
-		// Heights used in our alignment calculations.  We only care about the "real" ascent
-		var labelAlignmentHeight:Number = 0;
-		var messageAlignmentHeight:Number = 0;
-
-		if (hasLabel)
-			labelAlignmentHeight = getElementPreferredHeight(labelDisplay);
-		if (hasMessage)
-			messageAlignmentHeight = getElementPreferredHeight(messageDisplay);
-
-		totalHeight = labelAlignmentHeight + messageAlignmentHeight + verticalGap;
-		labelComponentsY = Math.round(vAlign * (viewHeight - totalHeight)) + paddingTop;
-
-		if (labelDisplay)
-			setElementPosition(labelDisplay, labelComponentsX, labelComponentsY);
-
-		if (messageDisplay)
-		{
-			var messageY:Number = labelComponentsY + labelAlignmentHeight + verticalGap;
-			setElementPosition(messageDisplay, labelComponentsX, messageY);
-		}
+        var totalHeight:Number = 0;
+        var labelComponentsY:Number = 0;
+
+        // Heights used in our alignment calculations.  We only care about the "real" ascent
+        var labelAlignmentHeight:Number = 0;
+        var messageAlignmentHeight:Number = 0;
+
+        if (hasLabel)
+            labelAlignmentHeight = getElementPreferredHeight(labelDisplay);
+        if (hasMessage)
+            messageAlignmentHeight = getElementPreferredHeight(messageDisplay);
+
+        totalHeight = labelAlignmentHeight + messageAlignmentHeight + verticalGap;
+        labelComponentsY = Math.round(vAlign * (viewHeight - totalHeight)) + paddingTop;
+
+        if (labelDisplay)
+            setElementPosition(labelDisplay, labelComponentsX, labelComponentsY);
+
+        if (messageDisplay)
+        {
+            var messageY:Number = labelComponentsY + labelAlignmentHeight + verticalGap;
+            setElementPosition(messageDisplay, labelComponentsX, messageY);
+        }
     }

 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.skins.mobile
 {


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

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

 package mx.messaging
 {


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 8031
Author:   egeorgie@adobe.com
Date:     2009-06-20T01:10:03.288554Z

Log Message:
-----------
Scrub the TODOs in the framework, convert to FIXMEs in the new convention and assigning an owner.

Doc Notes: N/A
Bugs: N/A
Reviewer: Deepa
tests: build, checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Timeline.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ModifiedCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ErrorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/StreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RemoveActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/LineSegment.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/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
@@ -229,7 +229,7 @@
         }
     }

-    // TODO (chaase): This function appears in multiple places. Maybe
+    // FIXME (chaase): This function appears in multiple places. Maybe
     // put it in some util class instead?
     /**
      * @private
@@ -335,7 +335,7 @@
         else
         {
             motionPaths = new Vector.<MotionPath>();
-            // TODO (chaase): too early to reset instanceStartTime - might use
+            // FIXME (chaase): too early to reset instanceStartTime - might use
             // it below
             instanceStartTime = newEffectStartTime;
         }
@@ -361,7 +361,7 @@
     {
         if(applyLocalProjection)
         {
-            // TODO (rfrishbe): need to check for IUIComponent?
+            // FIXME (rfrishbe): need to check for IUIComponent?
             var parent:UIComponent = target.parent;

             if(parent != null)
@@ -402,7 +402,7 @@
     {
         if(applyLocalProjection && removeLocalProjectionWhenComplete)
         {
-            // TODO (rfrishbe): need to check for IUIComponent?
+            // FIXME (rfrishbe): need to check for IUIComponent?
             // as well if checking for IVisualElement?
             var parent:DisplayObject= target.parent as DisplayObject;

@@ -418,7 +418,7 @@
     }

-    // TODO (chaase): This probably belongs at the AnimateTransform level,
+    // FIXME (chaase): This probably belongs at the AnimateTransform level,
     // and make sure that it only kicks in when AnimateTransform is used
     // explicitly; Someone performing a Move may not also want to
     // automatically animate the rotation properties.
@@ -480,7 +480,7 @@
                 motionPaths = new Vector.<MotionPath>();
             motionPaths.push(mp);
         }
-        // TODO (chaase): We probably need to advertise percentWidth/Height
+        // FIXME (chaase): We probably need to advertise percentWidth/Height
         // in the affected properties/styles arrays; we don't pick these up
         // in the transition propertyChanges automatically otherwise
         if (propertyChanges && !disableLayout)
@@ -493,7 +493,7 @@
             setupConstraintAnimation("percentHeight");
             setupConstraintAnimation("horizontalCenter");
             setupConstraintAnimation("verticalCenter");
-            // TODO (chaase): also deal with baseline when it works in BasicLayout
+            // FIXME (chaase): also deal with baseline when it works in BasicLayout
         }
         super.play();
     }
@@ -532,7 +532,7 @@
      */
     override protected function getCurrentValue(property:String):*
     {
-        // TODO (chaase): we're recalculating the transform for every
+        // FIXME (chaase): we're recalculating the transform for every
         // component of the translation. We should store/retrieve the
         // translation property as a structure instead of separate values
 		switch(property)


Transferred from the Adobe Open Source Subversion Repository

Revision: 9309
Author:   jimurphy@adobe.com
Date:     2009-08-14T12:57:06.648526Z

Log Message:
-----------
Merged 3.x revisions 8758,8762-8763,8765,8844-8845,8906,8970,9030,9049,9055,9096-9097,9191,9208,9221,9228,9242,9278 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/DateBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/RSLEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/DateFormatter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/LocaleSorter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLSchemaInstance.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -6152,6 +6152,18 @@

     /**
      *  @private
+     *  Individual error messages from validators
+     */
+    private var errorArray:Array;
+
+    /**
+     *  @private
+     *  Array of validators who gave error messages
+     */
+    private var errorObjectArray:Array;
+
+    /**
+     *  @private
      *  Flag set when error string changes.
      */
     private var errorStringChanged:Boolean = false;
@@ -10987,13 +10999,23 @@
      */
     public function validationResultHandler(event:ValidationResultEvent):void
     {
+        if (errorObjectArray === null)
+        {
+            errorObjectArray = new Array();
+            errorArray = new Array();
+        }
+
+    	var validatorIndex:int = errorObjectArray.indexOf(event.target);
         // If we are valid, then clear the error string
         if (event.type == ValidationResultEvent.VALID)
         {
-            if (errorString != "")
+            if (validatorIndex != -1)
             {
-                errorString = "";
-                dispatchEvent(new FlexEvent(FlexEvent.VALID));
+            	errorObjectArray.splice(validatorIndex, 1);
+            	errorArray.splice(validatorIndex, 1);
+                errorString = errorArray.join("\n");
+            	if (errorArray.length == 0)
+                	dispatchEvent(new FlexEvent(FlexEvent.VALID));
             }
         }
         else // If we get an invalid event
@@ -11016,11 +11038,14 @@
                         }
                         else
                         {
-                            if (errorString != "")
-                            {
-                                errorString = "";
-                                dispatchEvent(new FlexEvent(FlexEvent.VALID));
-                            }
+				            if (validatorIndex != -1)
+				            {
+				            	errorObjectArray.splice(validatorIndex, 1);
+				            	errorArray.splice(validatorIndex, 1);
+				                errorString = errorArray.join("\n");
+				            	if (errorArray.length == 0)
+				                	dispatchEvent(new FlexEvent(FlexEvent.VALID));
+				            }
                         }
                         break;
                     }
@@ -11031,9 +11056,17 @@
                 msg = event.results[0].errorMessage;
             }

-            if (msg && errorString != msg)
+            if (msg && validatorIndex != -1 && errorArray[validatorIndex] != msg)
             {
-                errorString = msg;
+                errorArray[validatorIndex] = msg;
+                errorString = errorArray.join("\n");
+                dispatchEvent(new FlexEvent(FlexEvent.INVALID));
+            }
+            else if (msg && validatorIndex == -1)
+            {
+            	errorObjectArray.push(event.target);
+            	errorArray.push(msg);
+                errorString = errorArray.join("\n");
                 dispatchEvent(new FlexEvent(FlexEvent.INVALID));
             }
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20208
Author:   smgilson@adobe.com
Date:     2011-02-08T21:40:02.122057Z

Log Message:
-----------
Several ASDoc bug fixes

QE notes:
Doc notes:
Bugs: FLEXDOCS-1342, FLEXDOCS-1330, FLEXDOCS-1323
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/EmbeddedFont.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/examples/ScrollerExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/skins/spark/windowChrome/MacTitleBarSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/IFocusManagerComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/ObjectUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/DeferredInstanceFromClass.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/DeferredInstanceFromFunction.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -4981,7 +4981,7 @@
      *
      *  @see spark.components.Scroller
      *
-     *  @langversion 4.0
+     *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
@@ -5074,7 +5074,7 @@
      *
      *  @default true
      *
-     *  @langversion 4.0
+     *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
@@ -7474,41 +7474,41 @@
      */
     mx_internal function childAdded(child:DisplayObject):void
     {
-		if (!UIComponentGlobals.designMode)
-		{
-	        if (child is UIComponent)
-	        {
-	            if (!UIComponent(child).initialized)
-	                UIComponent(child).initialize();
-	        }
-	        else if (child is IUIComponent)
-	        {
-	            IUIComponent(child).initialize();
-	        }
-		}
-		else
-		{
-			try
-			{
-				if (child is UIComponent)
-				{
-					if (!UIComponent(child).initialized)
-						UIComponent(child).initialize();
-				}
-				else if (child is IUIComponent)
-				{
-					IUIComponent(child).initialize();
-				}
-			}
-			catch (e:Error)
-			{
-				// Dispatch a initializeError dynamic event for tooling.
-				var initializeErrorEvent:DynamicEvent = new DynamicEvent("initializeError");
-				initializeErrorEvent.error = e;
-				initializeErrorEvent.source = child;
-				systemManager.dispatchEvent(initializeErrorEvent);
-			}
-		}
+        if (!UIComponentGlobals.designMode)
+        {
+            if (child is UIComponent)
+            {
+                if (!UIComponent(child).initialized)
+                    UIComponent(child).initialize();
+            }
+            else if (child is IUIComponent)
+            {
+                IUIComponent(child).initialize();
+            }
+        }
+        else
+        {
+            try
+            {
+                if (child is UIComponent)
+                {
+                    if (!UIComponent(child).initialized)
+                        UIComponent(child).initialize();
+                }
+                else if (child is IUIComponent)
+                {
+                    IUIComponent(child).initialize();
+                }
+            }
+            catch (e:Error)
+            {
+                // Dispatch a initializeError dynamic event for tooling.
+                var initializeErrorEvent:DynamicEvent = new DynamicEvent("initializeError");
+                initializeErrorEvent.error = e;
+                initializeErrorEvent.source = child;
+                systemManager.dispatchEvent(initializeErrorEvent);
+            }
+        }
     }

     /**
@@ -7600,7 +7600,7 @@
     {
         if (initialized)
             return;
-
+
         // The "preinitialize" event gets dispatched after everything about this
         // DisplayObject has been initialized, and it has been attached to
         // its parent, but before any of its children have been created.
@@ -7634,7 +7634,7 @@

         // This should always be the last thing that initialize() calls.
         initializationComplete();
-	}
+    }

     /**
      *  Finalizes the initialization of this component.


Transferred from the Adobe Open Source Subversion Repository

Revision: 4458
Author:   chaase@adobe.com
Date:     2009-01-09T00:52:28.712338Z

Log Message:
-----------
Fixed RTE problem resulting from deref'ing null effect when Transition was requested with no child effect

QE Notes: None
Doc Notes: None
Bugs: sdk-18419
Reviewer: Jason

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -8074,6 +8074,10 @@
                 break;
             }
         }
+        // If Transition does not contain an effect, then don't return it
+        // because there is no transition effect to run
+        if (result && !result.effect)
+            result = null;

         return result;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19690
Author:   klin@adobe.com
Date:     2011-01-11T06:04:52.811468Z

Log Message:
-----------
Fix for edge case in fitBounds(). The code was throwing out good solutions because of some precision loss when calling transformSize. The fix is to add a small tolerance to the checks for fitting width or height.

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

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/MatrixUtil.as

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

--- frameworks/projects/framework/src/mx/utils/MatrixUtil.as
+++ frameworks/projects/framework/src/mx/utils/MatrixUtil.as
@@ -581,7 +581,8 @@
     {
         if (isNaN(width) && isNaN(height))
             return new Point(preferredWidth, preferredHeight);
-
+
+        const tolerance:Number = .01;
         var actualSize:Point;

         if (!isNaN(width) && !isNaN(height))
@@ -601,9 +602,13 @@
                                               minWidth, minHeight,
                                               maxWidth, maxHeight);

-                // If we fit the width, but not the height
-                if (actualSize1 && transformSize(actualSize1.x, actualSize1.y, matrix).y > height)
-                     actualSize1 = null;
+                // If we fit the width, but not the height.
+                if (actualSize1)
+                {
+                    var fitHeight:Number = transformSize(actualSize1.x, actualSize1.y, matrix).y;
+                    if (fitHeight - tolerance > height)
+                        actualSize1 = null;
+                }

                 var actualSize2:Point
                 actualSize2 = fitTBoundsHeight(height, matrix,
@@ -613,8 +618,12 @@
                                                maxWidth, maxHeight);

                 // If we fit the height, but not the width
-                if (actualSize2 && transformSize(actualSize2.x, actualSize2.y, matrix).x > width)
-                   actualSize2 = null;
+                if (actualSize2)
+                {
+                    var fitWidth:Number = transformSize(actualSize2.x, actualSize2.y, matrix).x;
+                    if (fitWidth - tolerance > width)
+                        actualSize2 = null;
+                }

                 if (actualSize1 && actualSize2)
                 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5841
Author:   rfrishbe@adobe.com
Date:     2009-04-01T18:06:53.546424Z

Log Message:
-----------
Changing the lifecycle of the layout object in GroupBase.  Before, we’d always instantiate one in GroupBase’s constructor.  Now, we wait until createChildren() time to instantiate the default.  This means if people set the layout object, we won’t be creating this extra BasicLayout we don’t need.  There was an assumption in GroupBase around some of the proxied properties that the layout object was always going to be present.  These are cleaned up for when the layout object doesn’t always exist.  Also, now when the layout object is swapped at runtime, the verticalScrollPosition and horizontalScrollPosition don’t get pushed into the new layout object, as they may not translate correctly.  We discussed the possibility of sending in a “first item in view” for when the layout object is swapped, but for now, we don’t do anything like that.

Also fixing a bug in components.properties and some spelling errors in SkinnableDataContainer.

QE Notes: Fix the tests that were failing and re-include them
Doc Notes: -
Bugs: SDK-19769, SDK-20163
Reviewer: Hans
tests: checkintests, mustella core and layout tests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/bundles/en_US/components.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/HGroup.as
+++ frameworks/projects/spark/src/spark/components/HGroup.as
@@ -12,8 +12,8 @@
 package spark.components
 {
 import flash.events.Event;
-import spark.components.Group;
 import spark.layout.HorizontalLayout;
+import spark.layout.supportClasses.LayoutBase;

 [IconFile("HGroup.png")]

@@ -52,7 +52,8 @@
      */
     public function HGroup():void
     {
-        super(new HorizontalLayout());
+        super();
+        super.layout = new HorizontalLayout();
     }

     private function get horizontalLayout():HorizontalLayout
@@ -250,7 +251,25 @@
     public function get lastIndexInView():int
     {
         return horizontalLayout.lastIndexInView;
-    }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  layout
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    override public function set layout(value:LayoutBase):void
+    {
+        throw(new Error(resourceManager.getString("components", "layoutReadOnly")));
+    }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 13359
Author:   smgilson@adobe.com
Date:     2010-01-08T01:12:34.344962Z

Log Message:
-----------
ASDoc updates for major axis changes

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/VGroup.as
+++ frameworks/projects/spark/src/spark/components/VGroup.as
@@ -51,6 +51,7 @@
  *    requestedRowCount"-1"
  *    rowHeight="no default"
  *    variableRowHeight="true"
+ *    verticalAlign="top"
  *  />
  *  </pre>
  *


Removed Tween updates in Tweener's update() function, and made updateTweens() public.

--- net/flashpunk/Tweener.as
+++ net/flashpunk/Tweener.as
@@ -29,7 +29,7 @@
 		 */
 		public function update():void
 		{
-			if (active) updateTweens();
+
 		}

 		/**
@@ -81,8 +81,10 @@
 			}
 		}

-		/** @private Updates all contained tweens. */
-		internal function updateTweens():void
+		/**
+		 * Updates all contained tweens.
+		 */
+		public function updateTweens():void
 		{
 			var t:Tween = _tween;
 			while (t)


OFC-485 SE form (HH income F.1) - Cash income column do not accept multiple values eg Agriculture,livestock & wage

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/RangeAttributePresenter.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/RangeAttributePresenter.as
@@ -74,7 +74,7 @@
 				result.parentEntityId = view.attribute.parentId;
 				result.nodeName = view.attributeDefinition.name;
 				result.nodeId = view.attribute.id;
-				result.fieldIndex = 1;
+				result.fieldIndex = 2;
 				result.value = attrDefn.defaultUnit.name;
 			}
 			return result;


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBaseSelectionPending.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBaseSelectionPending.as
@@ -34,6 +34,11 @@

 	/**
 	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function ListBaseSelectionPending(incrementing:Boolean, index:int,
 											 stopData:Object,
@@ -65,6 +70,11 @@

 	/**
 	 *  The bookmark we have to seek to
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var bookmark:CursorBookmark;

@@ -74,6 +84,11 @@

 	/**
 	 *  True if we moveNext(), false if we movePrevious()
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var incrementing:Boolean;

@@ -83,6 +98,11 @@

 	/**
 	 *  The index into the iterator when we hit the page fault
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var index:int;

@@ -92,6 +112,11 @@

 	/**
 	 *  The offset from the bookmark we have to seek to
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var offset:int;

@@ -101,6 +126,11 @@

 	/**
 	 *  The bookmark we have to restore after we're done
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var placeHolder:CursorBookmark;

@@ -110,6 +140,11 @@

 	/**
 	 *  The data of the current item, which is the thing we are looking for.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var stopData:Object;

@@ -119,6 +154,11 @@

 	/**
 	 *  Whether to tween in the visuals
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var transition:Boolean;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19697
Author:   hmuller@adobe.com
Date:     2011-01-11T17:02:53.756073Z

Log Message:
-----------
Enable accessibilitiy for DataGrid descendants that take the focus.

Initialize accessibilityEnabled=false for GridItemRenderers.

QE notes:
Doc notes:
Bugs:
Reviewer: Darrell
Tests run: checkin, mustella
Is noteworthy for integration: no

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

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as
@@ -176,9 +176,9 @@
         super();

         setCurrentStateNeeded = true;
-
-        addEventListener(ToolTipEvent.TOOL_TIP_SHOW,
-						 GridItemRenderer.toolTipShowHandler);
+        accessibilityEnabled = false;
+
+        addEventListener(ToolTipEvent.TOOL_TIP_SHOW, GridItemRenderer.toolTipShowHandler);
     }

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


fix comment

fix comment

--- vivified/compiler/test/hello-world.as
+++ vivified/compiler/test/hello-world.as
@@ -1,4 +1,4 @@
-// makeswf -v 7 -s 200x150 -r 1 -o movie23.swf movie23.as
+// makeswf -v 7 -s 200x150 -r 1 -o hello-world.swf hello-world.as

 trace ("Hello World!");


Updated method signature to satisfy Flex SDK compiler

git-svn-id: 6aa7ccb0a2048310a30f08a72aaff4ca39d980ed@157 91848ab2-c4ae-4e4f-8e6a-6a52ea0dccc3

--- flare.vis/flare/vis/scale/Scales.as
+++ flare.vis/flare/vis/scale/Scales.as
@@ -24,9 +24,10 @@
 		 *  or the number base for a logarithmic scale.
 		 */
 		public static function scale(stats:Stats,
-			scaleType:String=ScaleType.LINEAR, ...rest):Scale
+			scaleType:String=null, ...rest):Scale
 		{
 			var arg1:Number, arg2:Number;
+			if (!scaleType) scaleType = ScaleType.LINEAR;

 			switch (stats.dataType) {
 				case Stats.NUMBER:


need to set styleparent

need to set styleparent

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/ImageAndTextButtonView.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/ImageAndTextButtonView.as
@@ -103,6 +103,10 @@
 			setupBackground(upSprite, upTextField, 0xCCCCCC);
 			setupBackground(overSprite, overTextField, 0xFFCCCC, "hover");
 			setupBackground(downSprite, downTextField, 0x808080, "active");
+            upTextField.styleParent = value;
+            downTextField.styleParent = value;
+            overTextField.styleParent = value;
+
 		}

 		private var upSprite:Sprite;
@@ -138,7 +142,7 @@
 		/**
 		 * @private
 		 */
-		private function setupBackground(sprite:Sprite, textField:TextField, color:uint, state:String = null):void
+		private function setupBackground(sprite:Sprite, textField:CSSTextField, color:uint, state:String = null):void
 		{
 			var backgroundImage:Object = image;
 			if (backgroundImage)


Transferred from the Adobe Open Source Subversion Repository

Revision: 13756
Author:   hmuller@adobe.com
Date:     2010-01-25T19:42:14.082913Z

Log Message:
-----------
Mirroring changes, fixes.

- Removed ILayout interface, added mirroring API to IVisualElement.
- Moved layoutDirection="ltr" initialization from TextBase to defaults.css.   Removed similar initialization from DefaultItemRenderer (it wasn't needed).
- The 'get layoutDirection()' method for UIMovieClip, GraphicElement, and SpriteVisualElement now queries the parent if the local value is "inherit".
- Use @inheritDoc instead of explicitly @copying interface methods' ASDoc.   Don't call invalidateLayoutDirection() if FlexVersion.compatibilityVersion is < 4.0.
- Don't call invalidateLayout() for a child unless either its layoutDirection has changed, or its parent's layoutDirection has changed.

QE notes: These changes were cycloned.
Doc notes:
Bugs: sdk-25204, sdk-25209
Reviewer: Evtim
Tests run:
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutDirection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -33,7 +33,6 @@
 import mx.core.AdvancedLayoutFeatures;
 import mx.core.DesignLayer;
 import mx.core.IInvalidating;
-import mx.core.ILayoutDirection;
 import mx.core.ILayoutElement;
 import mx.core.IMXMLObject;
 import mx.core.IUIComponent;
@@ -94,7 +93,7 @@
  *  @productversion Flex 4
  */
 public class GraphicElement extends EventDispatcher
-    implements IGraphicElement, IInvalidating, ILayoutElement, ILayoutDirection, IVisualElement, IMXMLObject
+    implements IGraphicElement, IInvalidating, ILayoutElement, IVisualElement, IMXMLObject
 {
     include "../../core/Version.as";

@@ -2856,13 +2855,20 @@

 	private var _layoutDirection:String = "inherit";

-	public function get layoutDirection():String
+    /**
+     *  @inheritDoc
+     */
+    public function get layoutDirection():String
 	{
-		return _layoutDirection;
-	}
+        if (_layoutDirection != "inherit")
+            return _layoutDirection;
+
+        const parentElt:IVisualElement = parent as IVisualElement;
+        return (parentElt) ? parentElt.layoutDirection : "ltr";
+    }

 	/**
-	 *  @copy mx.core.IVisualElement#layoutDirection
+	 *  @private
 	 */
 	public function set layoutDirection(value:String):void
 	{
@@ -2874,11 +2880,11 @@
     }

     /**
-     * @copy mx.core.ILayoutDirection#invalidateLayoutDirection()
+     * @inheritDoc
      */
     public function invalidateLayoutDirection():void
     {
-        const parentElt:ILayoutDirection = parent as ILayoutDirection;
+        const parentElt:IVisualElement = parent as IVisualElement;
         if (!parentElt)
             return;


Transferred from the Adobe Open Source Subversion Repository

Revision: 4106
Author:   rfrishbe@adobe.com
Date:     2008-11-14T01:56:47.949068Z

Log Message:
-----------
Mostly rename changes.  IVisualItem -> IVisualElement.  IVisualContainer -> IVisualElementContainer.  Also changed the APIs so that it's addElement, removeElement, etc.. instead of addItem, removeItem, etc...  Moreover, all of these APIs have been added to IVisualElementContainer (not just the read-only ones).  Now there's a common interface for all containers (even Halo's Container class implements it).  There's no more need to do:

if (x is Group || x is FxContainer)

Just use the IVisualElementContainer interface.

Some classes, like FxScroller (and perhaps DataGroup/FxDataContainer), will only implement the "getter" part of the API.  For now, if you call the mutation methods, we will throw an exception.  Perhaps later we'll add a separate interface for the read-only portion and the mutator interface will extend that one.

There might be a few more places in the code that need to be updated to use the new names for the methods.  I know Mustella needs cleaning up so it doesn't use getItem and uses getElement instead.  I've left the old APIs in there exactly for this purpose, so we can gradually move over to the new names (esp. QA).

At some point soon, we will remove the old methods as well as type them more strictly to only accept IVisualElements, for example addElement(element:IVisualElement).  Part of this work is dependent on updating the Flash Component Kit so that it implements IVisualElement (and perhaps IVisualElementContainer for containers).

Ran checkintests and all gumbo mustella tests.

QE Notes: Please update your tests to use addElement, removeElement, etc... along with the new IVisualElementContainer interface.  The old APIs (addItem, removeItem, etc...) will be removed soon.
Doc Notes: None
Bugs: -
Reviewer: Hans (he patiently sat through all these files...)

Modified Paths:
--------------
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/IVisualContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/RemoveActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/RemoveAction.as</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/framework/src/mx/core/IUIComponent.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/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualItem.as" copyfrom-rev="4083" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.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/trunk/frameworks/projects/flex4/src/mx/core/IVisualContainer.as" copyfrom-rev="4083" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElementContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/AddActionInstance.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/src/mx/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -28,7 +28,7 @@
 import mx.components.baseClasses.GroupBase;
 import mx.core.AdvancedLayoutFeatures;
 import mx.core.IInvalidating;
-import mx.core.IVisualItem;
+import mx.core.IVisualElement;
 import mx.core.UIComponent;
 import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
@@ -66,7 +66,7 @@
  *  of an object in its own coordinate space.</p>
  */
 public class GraphicElement extends OnDemandEventDispatcher
-    implements IGraphicElement, IInvalidating, ILayoutItem, IVisualItem
+    implements IGraphicElement, IInvalidating, ILayoutItem, IVisualElement
 {
     include "../../core/Version.as";


Transferred from the Adobe Open Source Subversion Repository

Revision: 5155
Author:   jszeto@adobe.com
Date:     2009-03-03T22:50:34.041845Z

Log Message:
-----------
Fixed GraphicElement masking

SDK-19516 GraphicElement with mask does not draw

This was broken by Revision 4958 which changed the initialization order for Group.
- Added in a call to childAdded, which calls createChildren(). This call always should have been there, and it was luck that it worked for the various test cases.
- Added in a call to trigger a layout pass. This ensures that the initialized property is set to true.

QE Notes: Need to add a mustella test for GraphicElement mask
Doc Notes: None
Bugs: SDK-19516
Reviewer: Ryan

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

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -2892,14 +2892,18 @@
 		                	{
 		                		// Add the mask to the UIComponent document tree.
 		                		// This is required to properly render the mask.
-		                		UIComponent(parent).addingChild(maskComp);
+		                		UIComponent(parent).mx_internal::addingChild(maskComp);
+		                		UIComponent(parent).mx_internal::childAdded(maskComp);
 		                	}

 		                	// Size the mask so that it actually renders
-		                	maskComp.validateProperties();
+		                    maskComp.validateProperties();
 		                    maskComp.validateSize();
+		                    // Call this to force the mask to complete initialization
+		                    maskComp.invalidateDisplayList();
 		                    maskComp.setActualSize(maskComp.getExplicitOrMeasuredWidth(),
 		                                           maskComp.getExplicitOrMeasuredHeight());
+
 		                }

 		                if (!_drawnDisplayObject)


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

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