Transferred from the Adobe Open Source Subversion Repository

Revision: 17524
Author:   rfrishbe@adobe.com
Date:     2010-08-30T22:47:42.494372Z

Log Message:
-----------
A bunch of beta fixes for MobileIconItemRenderer.

Renamed headerField/headerFunction to labelField/labelFunction.  There is now no headerStyleName -- only a messageStyleName.  By default if labelField and labelFunction aren't set, then the label property is used (which is what List pushes in to the item renderer based on its own labelField/labelFunction).  To get no label to show up, set labelField to "" (the empty string).

Fixed an issue when dynamically setting/resetting the decoratorClass.

Fixed some icon measurement issues and some other issues where width/height were getting set to NaN at one point.

QE notes: None
Doc notes: None
Bugs: SDK-27603, SDK-27622, SDK-27597, SDK-27596
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/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileIconItemRenderer.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
@@ -54,17 +54,6 @@

 /**
  *  Name of the CSS Style declaration to use for the styles for the
- *  header component.
- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
- */
-[Style(name="headerStyleName", type="String", inherit="no")]
-
-/**
- *  Name of the CSS Style declaration to use for the styles for the
  *  message component.
  *
  *  @langversion 3.0
@@ -77,8 +66,8 @@
 /**
  *  The MobileIconItemRenderer class is a performant item
  *  renderer optimized for mobile devices.  It contains
- *  four optional parts: 1) an icon on the left, 2) header
- *  on top next to the icon, 3) message below header and
+ *  four optional parts: 1) an icon on the left, 2) label
+ *  on top next to the icon, 3) message below label and
  *  next to the icon, and 4) a decorator on the right.
  *
  *  @see spark.components.List
@@ -139,37 +128,25 @@

     /**
      *  @private
-     *  Holds the styles specific to the header object based on headerStyleName
-     */
-    private var headerStyles:CSSStyleDeclaration;
-
-    /**
-     *  @private
-     *  Cached UITextFormat object used for measurement purposes for header
-     */
-    private var cachedHeaderFormat:UITextFormat;
-
-    /**
-     *  @private
-     *  Stores the text of the header component.  This is calculated in
-     *  commitProperties() based on headerField and headerFunction.
+     *  Holds the styles specific to the message object based on messageStyleName
+     */
+    private var messageStyles:CSSStyleDeclaration;
+
+    /**
+     *  @private
+     *  Cached UITextFormat object used for measurement purposes for message
+     */
+    private var cachedMessageTextFormat:UITextFormat;
+
+    /**
+     *  @private
+     *  Stores the text of the label component.  This is calculated in
+     *  commitProperties() based on labelFunction, labelField, and label.
      *
      *
We can't just use labelDisplay.text because it may contain
      *  a truncated value.

      */
-    private var headerText:String = "";
-
-    /**
-     *  @private
-     *  Holds the styles specific to the message object based on messageStyleName
-     */
-    private var messageStyles:CSSStyleDeclaration;
-
-    /**
-     *  @private
-     *  Cached UITextFormat object used for measurement purposes for message
-     */
-    private var cachedSubTextFormat:UITextFormat;
+    private var labelText:String = "";

     /**
      *  @private
@@ -180,8 +157,8 @@
      *  a truncated value (Technically we don't truncate message's text
      *  at the moment because it's multi-line text, but in the future
      *  we may not do that, and this feels more consistent with
-     *  how we deal with headers, so we still keep this "extra"
-     *  variable around even though technically it's not needed.

+     *  how we deal with labels, so we still keep this "extra"
+     *  variable around even though technically it's not needed).

      */
     private var messageText:String = "";

@@ -194,27 +171,42 @@
     /**
      *  @private
      */
-    private var dataChanged:Boolean;
-
-    /**
-     *  @private
-     */
     override public function set data(value:Object):void
     {
         super.data = value;

-        dataChanged = true;
+        iconChanged = true;
+        labelChanged = true;
+        messageChanged = true;
+
         invalidateProperties();
     }

     /**
-     *  @private
+     *  @inheritDoc
+     *
+     *
If no labelFunction and labelField (labelField === null)
+     *  are defined on this item renderer,
+     *  then we will use the label property that gets
+     *  pushed in from the list via the IItemRenderer contract.
+     *  However if labelField is explicitly set to
+     *  "" (the empty string),
+     *  then no label will show up at all.

+     *
+     *  @see spark.components.MobileIconItemRenderer#labelField
+     *  @see spark.components.MobileIconitemRenderer#labelFunction
+     *  @see spark.components.IItemRenderer#label
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     override public function set label(value:String):void
     {
         super.label = value;

-        dataChanged = true;
+        labelChanged = true;
         invalidateProperties();
     }

@@ -318,23 +310,39 @@
     }

     //----------------------------------
-    //  headerField
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _headerField:String;
-
-    /**
-     *  @private
-     */
-    private var headerFieldOrFunctionChanged:Boolean;
+    //  labelField
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _labelField:String = null;
+
+    /**
+     *  @private
+     */
+    private var labelFieldOrFunctionChanged:Boolean;
+
+    /**
+     *  @private
+     */
+    private var labelChanged:Boolean;

     /**
      *  The name of the field in the data provider items to display
-     *  as the header.
-     *  The headerFunction property overrides this property.
+     *  as the label.
+     *  The labelFunction property overrides this property.
+     *
+     *
If no labelFunction and labelField (labelField === null)
+     *  are defined on this item renderer,
+     *  then we will use the label property that gets
+     *  pushed in from the list via the IItemRenderer contract.
+     *  However if labelField is explicitly set to
+     *  "" (the empty string),
+     *  then no label will show up at all.

+     *
+     *  @see spark.components.MobileIconItemRenderer#labelFunction
+     *  @see spark.components.IItemRenderer#label
      *
      *  @default null
      *
@@ -343,49 +351,60 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    public function get headerField():String
-    {
-        return _headerField;
-    }
-
-    /**
-     *  @private
-     */
-    public function set headerField(value:String):void
-    {
-        if (value == _headerField)
+    public function get labelField():String
+    {
+        return _labelField;
+    }
+
+    /**
+     *  @private
+     */
+    public function set labelField(value:String):void
+    {
+        if (value == _labelField)
             return;

-        _headerField = value;
-        headerFieldOrFunctionChanged = true;
-        dataChanged = true;
+        _labelField = value;
+        labelFieldOrFunctionChanged = true;
+        labelChanged = true;

         invalidateProperties();
     }

     //----------------------------------
-    //  headerFunction
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _headerFunction:Function;
-
-    /**
-     *  A user-supplied function to run on each item to determine its header.
-     *  The headerFunction property overrides
-     *  the headerField property.
+    //  labelFunction
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _labelFunction:Function;
+
+    /**
+     *  A user-supplied function to run on each item to determine its label.
+     *  The labelFunction property overrides
+     *  the labelField property.
      *
-     *
You can supply a headerFunction that finds the
+     *
You can supply a labelFunction that finds the
      *  appropriate fields and returns a displayable string. The
-     *  headerFunction is also good for handling formatting and
+     *  labelFunction is also good for handling formatting and
      *  localization.

      *
-     *
The header function takes a single argument which is the item in
+     *
The label function takes a single argument which is the item in
      *  the data provider and returns a String.

      *

-     *  myHeaderFunction(item:Object):String

+     *  myLabelFunction(item:Object):String

+     *
+     *
If no labelFunction and labelField (labelField === null)
+     *  are defined on this item renderer,
+     *  then we will use the label property that gets
+     *  pushed in from the list via the IItemRenderer contract.
+     *  However if labelField is explicitly set to
+     *  "" (the empty string),
+     *  then no label will show up at all.

+     *
+     *  @see spark.components.MobileIconItemRenderer#labelFunction
+     *  @see spark.components.IItemRenderer#label
      *
      *  @default null
      *
@@ -394,22 +413,22 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    public function get headerFunction():Function
-    {
-        return _headerFunction;
-    }
-
-    /**
-     *  @private
-     */
-    public function set headerFunction(value:Function):void
-    {
-        if (value == _headerFunction)
+    public function get labelFunction():Function
+    {
+        return _labelFunction;
+    }
+
+    /**
+     *  @private
+     */
+    public function set labelFunction(value:Function):void
+    {
+        if (value == _labelFunction)
             return;

-        _headerFunction = value;
-        headerFieldOrFunctionChanged = true;
-        dataChanged = true;
+        _labelFunction = value;
+        labelFieldOrFunctionChanged = true;
+        labelChanged = true;

         invalidateProperties();
     }
@@ -427,6 +446,11 @@
      *  @private
      */
     private var iconFieldOrFunctionChanged:Boolean;
+
+    /**
+     *  @private
+     */
+    private var iconChanged:Boolean;

     /**
      *  @private
@@ -468,7 +492,7 @@

         _iconField = value;
         iconFieldOrFunctionChanged = true;
-        dataChanged = true;
+        iconChanged = true;

         invalidateProperties();
     }
@@ -525,7 +549,7 @@

         _iconFunction = value;
         iconFieldOrFunctionChanged = true;
-        dataChanged = true;
+        iconChanged = true;

         invalidateProperties();
     }
@@ -625,7 +649,12 @@
     /**
      *  @private
      */
-    private var messageFieldOrFunctionChanged:Boolean;
+    private var messageFieldOrFunctionChanged:Boolean;
+
+    /**
+     *  @private
+     */
+    private var messageChanged:Boolean;

     /**
      *  The name of the field in the data provider items to display
@@ -654,7 +683,7 @@

         _messageField = value;
         messageFieldOrFunctionChanged = true;
-        dataChanged = true;
+        messageChanged = true;

         invalidateProperties();
     }
@@ -705,7 +734,7 @@

         _messageFunction = value;
         messageFieldOrFunctionChanged = true;
-        dataChanged = true;
+        messageChanged = true;

         invalidateProperties();
     }
@@ -725,16 +754,10 @@

         // create any children you need in here

-        // since labelDisplay gets created in super.createChildren(), lets make
-        // sure it's using the right styles
-        labelDisplay.getStyleFunction = headerGetStyleFunction;
-        headerFieldOrFunctionChanged = true;
-        invalidateProperties();
-
         // iconDisplay, messageDisplay, and decoratorDisplay are created in
         // commitProperties() since they are dependent on
         // other properties and we don't always create them
-        // headerText just uses labelElement to display its data
+        // labelText just uses labelElement to display its data
     }

     /**
@@ -744,8 +767,7 @@
     {
         super.notifyStyleChangeInChildren(styleProp, recursive);

-        cachedHeaderFormat = null;
-        cachedSubTextFormat = null;
+        cachedMessageTextFormat = null;
     }

     /**
@@ -756,15 +778,6 @@
         var allStyles:Boolean = !styleName || styleName == "styleName";

         super.styleChanged(styleName);
-
-        // if header styles may have changed, let's null out the old
-        // value and notify labelDisplay
-        if (allStyles || styleName == "headerStyleName")
-        {
-            headerStyles = null;
-            if (labelDisplay)
-                labelDisplay.styleChanged("styleName");
-        }

         // if message styles may have changed, let's null out the old
         // value and notify messageDisplay
@@ -798,6 +811,7 @@
             if (decoratorDisplay)
             {
                 removeChild(decoratorDisplay);
+                decoratorDisplay = null;
             }

             // if we need to create it, do it here
@@ -877,39 +891,11 @@
             invalidateDisplayList();
         }

-        if (headerFieldOrFunctionChanged)
-        {
-            headerFieldOrFunctionChanged = false;
-
-            // let's see if we need to create or remove it
-            if ((headerField || (headerFunction != null)) && !labelDisplay)
-            {
-                // get styles for this text component
-
-                // need to create it
-                labelDisplay = MobileTextField(createInFontContext(MobileTextField));
-                labelDisplay.getStyleFunction = headerGetStyleFunction;
-                labelDisplay.editable = false;
-                labelDisplay.selectable = false;
-                labelDisplay.multiline = false;
-                labelDisplay.wordWrap = true;
-
-                addChild(labelDisplay);
-            }
-            else if (!(headerField || (headerFunction != null)) && labelDisplay)
-            {
-                // need to remove it
-                removeChild(labelDisplay);
-                labelDisplay = null;
-            }
-
-            invalidateSize();
-            invalidateDisplayList();
-        }
-
-        if (dataChanged)
-        {
-            dataChanged = false;
+        // label is created in super.createChildren()
+
+        if (iconChanged)
+        {
+            iconChanged = false;

             // if icon, try setting that
             if (iconFunction != null)
@@ -929,8 +915,12 @@
                 {
                 }
             }
-
-            // if message, try setting that
+        }
+
+        if (messageChanged)
+        {
+            messageChanged = false;
+
             if (messageFunction != null)
             {
                 messageText = messageFunction(data);
@@ -950,31 +940,78 @@
                 {
                 }
             }
-
-            // if header, try setting that
-            if (headerFunction != null)
-            {
-                headerText = headerFunction(data)
-                labelDisplay.text = headerText;
-            }
-            else if (headerField)
+        }
+
+        if (labelChanged)
+        {
+            labelChanged = false;
+
+            // if label, try setting that
+            if (labelFunction != null)
+            {
+                labelText = labelFunction(data);
+                if (!labelDisplay)
+                    createLabelDisplay();
+                labelDisplay.text = labelText;
+            }
+            else if (labelField) // if labelField is not null or "", then this is a user-set value
             {
                 try
                 {
-                    if (headerField in data && data[headerField] != null)
+                    if (labelField in data && data[labelField] != null)
                     {
-                        headerText = data[headerField];
-                        labelDisplay.text = headerText;
+                        labelText = data[labelField];
+                        if (!labelDisplay)
+                            createLabelDisplay();
+                        labelDisplay.text = labelText;
                     }
                 }
                 catch(e:Error)
                 {
                 }
             }
+            else if (label && labelField === null) // if there's a label and labelField === null, then show label
+            {
+                labelText = label;
+                if (!labelDisplay)
+                    createLabelDisplay();
+                labelDisplay.text = labelText;
+            }
+            else // if labelField === ""
+            {
+                // get rid of labelDisplay if present
+                if (labelDisplay)
+                    removeLabelDisplay();
+            }

             invalidateSize();
             invalidateDisplayList();
         }
+    }
+
+    /**
+     *  @private
+     */
+    private function createLabelDisplay():void
+    {
+        // need to create it
+        labelDisplay = MobileTextField(createInFontContext(MobileTextField));
+        labelDisplay.styleProvider = this;
+        labelDisplay.editable = false;
+        labelDisplay.selectable = false;
+        labelDisplay.multiline = false;
+        labelDisplay.wordWrap = false;
+
+        addChild(labelDisplay);
+    }
+
+    /**
+     *  @private
+     */
+    private function removeLabelDisplay():void
+    {
+        removeChild(labelDisplay);
+        labelDisplay = null;
     }

     /**
@@ -997,54 +1034,40 @@
             var myIconWidth:Number = (isNaN(iconWidth) ? iconDisplay.getPreferredBoundsWidth() : iconWidth);
             var myIconHeight:Number = (isNaN(iconHeight) ? iconDisplay.getPreferredBoundsHeight() : iconHeight);

-            myMeasuredWidth += iconWidth;
+            myMeasuredWidth += myIconWidth;
             myMeasuredHeight = Math.max(myMeasuredHeight, myIconHeight);
-            myMeasuredMinWidth += iconWidth;
+            myMeasuredMinWidth += myIconWidth;
             myMeasuredMinHeight = Math.max(myMeasuredMinHeight, myIconHeight);
         }

         // Text is aligned next to icon
         var labelLineMetrics:TextLineMetrics;
-        var labelWidth:Number;
-        var labelHeight:Number;
+        var labelWidth:Number = 0;
+        var labelHeight:Number = 0;
         var messageLineMetrics:TextLineMetrics;
-        var messageWidth:Number;
-        var messageHeight:Number;
-        if (labelDisplay && messageDisplay)
-        {
-            labelLineMetrics = measureHeaderText(headerText);
+        var messageWidth:Number = 0;
+        var messageHeight:Number = 0;
+
+        if (labelDisplay)
+        {
+            labelLineMetrics = measureText(labelText);

             labelWidth = labelLineMetrics.width + UITextField.TEXT_WIDTH_PADDING;
             labelHeight = labelLineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
-
-            messageLineMetrics = measureSubTextText(messageText);
+        }
+
+        if (messageDisplay)
+        {
+            messageLineMetrics = measureMessageText(messageText);

             messageWidth = messageLineMetrics.width + UITextField.TEXT_WIDTH_PADDING;
             messageHeight = messageLineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
-
-            myMeasuredWidth += Math.max(labelWidth, messageWidth);
-            myMeasuredHeight = Math.max(myMeasuredHeight, labelHeight + messageHeight);
-        }
-        else if (labelDisplay && !messageDisplay)
-        {
-            labelLineMetrics = measureHeaderText(headerText);
-
-            labelWidth = labelLineMetrics.width + UITextField.TEXT_WIDTH_PADDING;
-            labelHeight = labelLineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
-
-            myMeasuredWidth += labelWidth;
-            myMeasuredHeight = Math.max(myMeasuredHeight, labelHeight);
-        }
-        else if (!labelDisplay && messageDisplay)
-        {
-            messageLineMetrics = measureSubTextText(messageText);
-
-            messageWidth = messageLineMetrics.width + UITextField.TEXT_WIDTH_PADDING;
-            messageHeight = messageLineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
-
-            myMeasuredWidth += messageWidth;
-            myMeasuredHeight = Math.max(myMeasuredHeight, messageHeight);
-        }
+        }
+
+        var verticalGap:Number = (labelDisplay && messageDisplay) ? getStyle("verticalGap") : 0;
+
+        myMeasuredWidth += Math.max(labelWidth, messageWidth);
+        myMeasuredHeight = Math.max(myMeasuredHeight, labelHeight + messageHeight + verticalGap);

         // Decorator is up next
         if (decoratorDisplay)
@@ -1066,35 +1089,22 @@
         }

         // now to add on padding and horizontal gap
+        // verticalGap is already handled above when there's a label
+        // and a message since that's the only place verticalGap matters
         var numHorizontalSections:int = 0;
-        var numVerticalSections:int = 0;
         if (iconDisplay)
             numHorizontalSections++;

         if (decoratorDisplay)
             numHorizontalSections++;

-        if (labelDisplay && messageDisplay)
-        {
+        if (labelDisplay || messageDisplay)
             numHorizontalSections++;
-            numVerticalSections = 2;
-        }
-        else if (labelDisplay || messageDisplay)
-        {
-            numHorizontalSections++;
-            numVerticalSections = 1;
-        }
-        else if (!labelDisplay && !messageDisplay)
-        {
-            numVerticalSections = 1;
-        }

         var extraWidth:Number = getStyle("paddingLeft") + getStyle("paddingRight");
         if (numHorizontalSections > 0)
             extraWidth += (getStyle("horizontalGap") * (numHorizontalSections - 1));
         var extraHeight:Number = getStyle("paddingTop") + getStyle("paddingBottom");
-        if (numVerticalSections == 2)
-            extraHeight += getStyle("verticalGap");

         myMeasuredWidth += extraWidth;
         myMeasuredMinWidth += extraWidth;
@@ -1138,8 +1148,8 @@
             // set the icon's position and size
             iconDisplayHolder.setLayoutBoundsSize(this.iconWidth, this.iconHeight);

-            iconWidth = iconDisplay.getLayoutBoundsWidth();
-            iconHeight = iconDisplay.getLayoutBoundsHeight();
+            iconWidth = iconDisplayHolder.getLayoutBoundsWidth();
+            iconHeight = iconDisplayHolder.getLayoutBoundsHeight();

             // paddingLeft for x, paddingTop for y
             iconDisplayHolder.setLayoutBoundsPosition(paddingLeft, paddingTop);
@@ -1171,7 +1181,7 @@
             }
         }

-        // Figure out how much space we have for header and message as well as the
+        // Figure out how much space we have for label and message as well as the
         // starting left position
         var labelComponentsViewWidth:Number = viewWidth - iconWidth - decoratorWidth;

@@ -1185,17 +1195,17 @@
         if (iconDisplay)
             labelComponentsX += iconWidth + getStyle("horizontalGap");

-        // calculte the natural sizes for header and message (if present)
-        var headerTextWidth:Number = 0;
-        var headerTextHeight:Number = 0;
-        var headerLineMetrics:TextLineMetrics;
+        // calculte the natural sizes for label and message (if present)
+        var labelTextWidth:Number = 0;
+        var labelTextHeight:Number = 0;
+        var labelLineMetrics:TextLineMetrics;

         if (labelDisplay && labelDisplay.text != "")
         {
             labelDisplay.commitStyles();
-            headerLineMetrics = measureHeaderText(headerText);
-            headerTextWidth = headerLineMetrics.width + UITextField.TEXT_WIDTH_PADDING;
-            headerTextHeight = headerLineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
+            labelLineMetrics = measureText(labelText);
+            labelTextWidth = labelLineMetrics.width + UITextField.TEXT_WIDTH_PADDING;
+            labelTextHeight = labelLineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
         }

         if (messageDisplay && messageDisplay.text != "")
@@ -1206,15 +1216,15 @@
         }

         // now size and position the elements, 3 different configurations we care about:
-        // 1) header and message
-        // 2) header only
+        // 1) label and message
+        // 2) label only
         // 3) message only

         // label display goes on top
-        // subtext display goes below
-
-        var headerWidth:Number = 0;
-        var headerHeight:Number = 0;
+        // message display goes below
+
+        var labelWidth:Number = 0;
+        var labelHeight:Number = 0;
         var messageWidth:Number = 0;
         var messageHeight:Number = 0;
         var verticalGap:Number = 0;
@@ -1225,18 +1235,18 @@

             // handle labelDisplay.  it can only be 1 line

-            headerWidth = Math.max(Math.min(labelComponentsViewWidth, headerTextWidth), 0);
-            headerHeight = Math.max(Math.min(viewHeight, headerTextHeight), 0);
-
-            labelDisplay.width = headerWidth;
-            labelDisplay.height = headerHeight;
+            labelWidth = Math.max(Math.min(labelComponentsViewWidth, labelTextWidth), 0);
+            labelHeight = Math.max(Math.min(viewHeight, labelTextHeight), 0);
+
+            labelDisplay.width = labelWidth;
+            labelDisplay.height = labelHeight;

             labelDisplay.x = Math.round(labelComponentsX);
             labelDisplay.y = Math.round(paddingTop);

             // reset text if it was truncated before.  then attempt to truncate it
             if (labelDisplay.isTruncated)
-                labelDisplay.text = headerText;
+                labelDisplay.text = labelText;
             labelDisplay.truncateToFit();
         }

@@ -1245,7 +1255,7 @@
             // handle message
             // don't use the measured text width or height because that only takes the first line in to account
             messageWidth = Math.max(labelComponentsViewWidth, 0);
-            messageHeight = Math.max(viewHeight - headerHeight - verticalGap, 0);
+            messageHeight = Math.max(viewHeight - labelHeight - verticalGap, 0);

             messageDisplay.width = messageWidth;
             messageDisplay.height = messageHeight;
@@ -1259,7 +1269,7 @@
             messageHeight = Math.min(messageHeight, messageDisplay.textHeight + UITextField.TEXT_HEIGHT_PADDING);

             messageDisplay.x = Math.round(labelComponentsX);
-            messageDisplay.y = Math.round(paddingTop + headerHeight + verticalGap);
+            messageDisplay.y = Math.round(paddingTop + labelHeight + verticalGap);

             // since it's multi-line, no need to truncate
             //if (messageDisplay.isTruncated)
@@ -1279,17 +1289,17 @@
             if (messageDisplay)
                 messageDisplay.y = unscaledHeight - paddingBottom - messageHeight;
             if (labelDisplay)
-                labelDisplay.y = unscaledHeight - paddingBottom - messageHeight - verticalGap - headerHeight;
+                labelDisplay.y = unscaledHeight - paddingBottom - messageHeight - verticalGap - labelHeight;
         }
         else //if (getStyle("verticalAlign") == "middle")
         {
             if (iconDisplay)
                 iconDisplayHolder.setLayoutBoundsPosition(paddingLeft, Math.round((unscaledHeight - iconHeight)/2));
-            var textTotalHeight:Number = headerHeight + messageHeight + verticalGap;
+            var textTotalHeight:Number = labelHeight + messageHeight + verticalGap;
             if (labelDisplay)
                 labelDisplay.y = Math.round((unscaledHeight - textTotalHeight)/2);
             if (messageDisplay)
-                messageDisplay.y = Math.round((unscaledHeight - textTotalHeight)/2 + verticalGap + headerHeight);
+                messageDisplay.y = Math.round((unscaledHeight - textTotalHeight)/2 + verticalGap + labelHeight);
         }
         // made "middle" last even though it's most likely so it is the default and if someone
         // types "center", then it will still vertically center itself.
@@ -1297,32 +1307,9 @@

     //--------------------------------------------------------------------------
     //
-    //  Methods: Helper functions for determining styles for header and message
+    //  Methods: Helper functions for determining styles for message
     //
     //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     *  Function we pass in to header for it to grab the styles and push
-     *  them in to the TextFormat object used by that MobileTextField.
-     */
-    private function headerGetStyleFunction(styleProp:String):*
-    {
-        // grab the header specific styles
-        if (!headerStyles)
-            headerStyles = styleManager.getStyleDeclaration("." + getStyle("headerStyleName"));
-
-        // see if they are in the header styles
-        var styleValue:*;
-        if (headerStyles)
-            styleValue = headerStyles.getStyle(styleProp);
-
-        // if they are not there, try grabbing it from this component directly
-        if (styleValue === undefined)
-            styleValue = getStyle(styleProp);
-
-        return styleValue;
-    }

     /**
      *  @private
@@ -1353,24 +1340,11 @@
      *  UIComponent.measureText() because we are adding a few additional styles
      *  to it based on headerStyleName and messageStyleName.
      */
-    private function measureHeaderText(text:String):TextLineMetrics
+    private function measureMessageText(text:String):TextLineMetrics
     {
         // Copied from UIComponent.measureText()
-        cachedHeaderFormat = determineTextFormatWithGetStyleFunction(headerGetStyleFunction, cachedHeaderFormat);
-        return cachedHeaderFormat.measureText(text);
-    }
-
-    /**
-     *  @private
-     *  Function to help figure out the sizes of the header and message.  We cannot use
-     *  UIComponent.measureText() because we are adding a few additional styles
-     *  to it based on headerStyleName and messageStyleName.
-     */
-    private function measureSubTextText(text:String):TextLineMetrics
-    {
-        // Copied from UIComponent.measureText()
-        cachedSubTextFormat = determineTextFormatWithGetStyleFunction(messageGetStyleFunction, cachedSubTextFormat);
-        return cachedSubTextFormat.measureText(text);
+        cachedMessageTextFormat = determineTextFormatWithGetStyleFunction(messageGetStyleFunction, cachedMessageTextFormat);
+        return cachedMessageTextFormat.measureText(text);
     }

     /**


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

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

 package mx.managers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19684
Author:   mcho@adobe.com
Date:     2011-01-10T23:28:35.118753Z

Log Message:
-----------
Allow the "alternatingItemColors" style accept a single color

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
@@ -827,8 +827,12 @@
 		}
 		else
 		{
-            var alternatingColors:Array = getStyle("alternatingItemColors");
-
+			var alternatingColors:Array;
+            var alternatingColorsStyle:Object = getStyle("alternatingItemColors");
+
+			if (alternatingColorsStyle)
+				alternatingColors = (alternatingColorsStyle is Array) ? (alternatingColorsStyle as Array) : [alternatingColorsStyle];
+
             if (alternatingColors && alternatingColors.length > 0)
             {
                 // translate these colors into uints
@@ -838,6 +842,8 @@
             }
 			else
 			{
+				// don't draw background if it is the contentBackgroundColor. The
+				// list skin handles the background drawing for us.
 				drawBackground = false;
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBaseSelectionPending.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBaseSelectionPending.as
@@ -0,0 +1,126 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.controls.listClasses
+{
+
+import mx.collections.CursorBookmark;
+
+[ExcludeClass]
+
+/**
+ *  @private
+ *  The object that we use to store seek data
+ *  that was interrupted by an ItemPendingError.
+ *  Used when trying to match a selectedIndex to a selectedItem
+ */
+public class ListBaseSelectionPending
+{
+	include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 */
+	public function ListBaseSelectionPending(incrementing:Boolean, index:int,
+											 stopData:Object,
+											 transition:Boolean,
+											 placeHolder:CursorBookmark,
+											 bookmark:CursorBookmark,
+											 offset:int)
+	{
+		super();
+
+		this.incrementing = incrementing;
+		this.index = index;
+		this.stopData = stopData;
+		this.transition = transition;
+		this.placeHolder = placeHolder;
+		this.bookmark = bookmark;
+		this.offset = offset;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  bookmark
+	//----------------------------------
+
+	/**
+	 *  The bookmark we have to seek to
+	 */
+	public var bookmark:CursorBookmark;
+
+	//----------------------------------
+	//  incrementing
+	//----------------------------------
+
+	/**
+	 *  True if we moveNext(), false if we movePrevious()
+	 */
+	public var incrementing:Boolean;
+
+	//----------------------------------
+	//  index
+	//----------------------------------
+
+	/**
+	 *  The index into the iterator when we hit the page fault
+	 */
+	public var index:int;
+
+	//----------------------------------
+	//  offset
+	//----------------------------------
+
+	/**
+	 *  The offset from the bookmark we have to seek to
+	 */
+	public var offset:int;
+
+	//----------------------------------
+	//  placeHolder
+	//----------------------------------
+
+	/**
+	 *  The bookmark we have to restore after we're done
+	 */
+	public var placeHolder:CursorBookmark;
+
+	//----------------------------------
+	//  stopData
+	//----------------------------------
+
+	/**
+	 *  The data of the current item, which is the thing we are looking for.
+	 */
+	public var stopData:Object;
+
+	//----------------------------------
+	//  transition
+	//----------------------------------
+
+	/**
+	 *  Whether to tween in the visuals
+	 */
+	public var transition:Boolean;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

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

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

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

 package spark.components.gridClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20149
Author:   klin@adobe.com
Date:     2011-02-04T21:39:31.000080Z

Log Message:
-----------
Add and update [Inspectable] metadata across spark components.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.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/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TileGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.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/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.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/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/modules/ModuleLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.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/spark/src/spark/components/mediaClasses/DynamicStreamingVideoItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.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@1282588 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as
@@ -363,6 +363,8 @@
     //
     //--------------------------------------------------------------------------

+    [Inspectable(category="General", defaultValue="0.0")]
+
     /**
      *  @private
      *  Invalidate the skin state when minimum is changed.
@@ -376,6 +378,8 @@
         invalidateSkinState();
     }

+    [Inspectable(category="General", defaultValue="100.0")]
+
     /**
      *  @private
      *  Invalidate the skin state when maximum is changed.
@@ -389,7 +393,7 @@
         invalidateSkinState();
     }

-    [Inspectable(minValue="0.0")]
+    [Inspectable(category="General", defaultValue="1.0", minValue="0.0")]

     /**
      *  @inheritDoc
@@ -435,7 +439,7 @@

     private var pageSizeChanged:Boolean = false;

-    [Inspectable(minValue="0.0")]
+    [Inspectable(category="General", defaultValue="20", minValue="0.0")]

     /**
      *  The change in the value of the value property


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

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

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

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

 package spark.components.supportClasses
 {


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

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

 package mx.events


Transferred from the Adobe Open Source Subversion Repository

Revision: 10633
Author:   dloverin@adobe.com
Date:     2009-09-28T13:24:30.559033Z

Log Message:
-----------
Use styleManager instance instead of StyleManager singleton (framework and compiler generated code)

Modified compiler generated style code for the FlexInit class. The style related changes are only available with the -keep option. AST generation is coming later.

Only the framework project is changed here. The other projects are will be changed soon.

QE notes: None.
Doc notes: None.
Bugs:
Reviewer: Alex and Paul
Tests run: checkintests, all Mustella tests(no new failures)
Is noteworthy for integration: no.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ButtonBarButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/accordionClasses/AccordionHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/CanvasLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.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/managers/dragClasses/DragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollArrowSkin.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/framework/src/mx/skins/halo/ButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/configuration_en.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressIndeterminateSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DateChooserMonthArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/SliderThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleModule.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/containers/Form.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleManager2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</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/framework/src/mx/controls/Label.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/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/TitleBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/NumericStepperDownSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/PopUpButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/ProgrammaticSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/TabSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/textClasses/TextRange.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/AccordionHeaderSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/CheckBoxIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/NumericStepperUpSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/RadioButtonIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/SetStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ComboBoxArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeaderBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/FormItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/MenuBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressBarSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/BusyCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/SliderTrackSkin.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/modules/compiler/src/java/flex2/compiler/css/StyleModule.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DataGridHeaderBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/ModuleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SetStyleActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.vm</path>

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

--- frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as
+++ frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as
@@ -39,7 +39,6 @@
 import mx.managers.ISystemManager;
 import mx.managers.SystemManager;
 import mx.styles.CSSStyleDeclaration;
-import mx.styles.StyleManager;

 use namespace mx_internal;

@@ -218,7 +217,7 @@
     {
         var newCursorClass:Class = cursorClass;
 		var styleSheet:CSSStyleDeclaration =
-						StyleManager.getStyleDeclaration("mx.managers.DragManager");
+						styleManager.getStyleDeclaration("mx.managers.DragManager");

         if (action == DragManager.COPY)
             newCursorClass = styleSheet.getStyle("copyCursor");


Transferred from the Adobe Open Source Subversion Repository

Revision: 16679
Author:   rfrishbe@adobe.com
Date:     2010-06-25T21:09:29.726791Z

Log Message:
-----------
Check-in for touch lists so that List item renderers don't highlight immediately, and they are cancellable after a scroll starts.  In addition, in touch mode, we don't get a select event until mouse up.

QE notes: None
Doc notes: None
Bugs: -
Reviewer: None - this will get reviewed later
Tests run: checkintests, full mustella run (some tests failed and were off by a few pixels)
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.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/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>

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

--- frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as
+++ frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as
@@ -519,6 +519,21 @@
         labelDisplay.setLayoutBoundsPosition(3, 5);
     }

+    /**
+     *  @private
+     */
+    override public function styleChanged(styleName:String):void
+    {
+        var allStyles:Boolean = !styleName || styleName == "styleName";
+
+        super.styleChanged(styleName);
+
+        if (allStyles || styleName == "inputMode")
+        {
+            addHandlers();
+        }
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Event handling
@@ -531,8 +546,16 @@
      */
     private function addHandlers():void
     {
-        addEventListener(MouseEvent.ROLL_OVER, itemRenderer_rollOverHandler);
-        addEventListener(MouseEvent.ROLL_OUT, itemRenderer_rollOutHandler);
+        if (getStyle("inputMode") == "mouse")
+        {
+            addEventListener(MouseEvent.ROLL_OVER, itemRenderer_rollOverHandler);
+            addEventListener(MouseEvent.ROLL_OUT, itemRenderer_rollOutHandler);
+        }
+        else
+        {
+            removeEventListener(MouseEvent.ROLL_OVER, itemRenderer_rollOverHandler);
+            removeEventListener(MouseEvent.ROLL_OUT, itemRenderer_rollOutHandler);
+        }
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 6949
Author:   smgilson@adobe.com
Date:     2009-05-15T13:36:05.030326Z

Log Message:
-----------
Add version info to ASDoc classes

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ButtonBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/SkinnableDataContainerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerPlayPauseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/DefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ScrollBarDownButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerScrubBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenVolumeBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/SkinnableContainerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenVolumeBarMuteButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/HSliderTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenVolumeBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ScrollerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/SpinnerIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarMuteButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenScrubBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenScrubBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/HScrollBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VSliderTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/TextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/NumericStepperSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerScrubBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/SpinnerDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VScrollBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ScrollBarRightButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/SpinnerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenScrubBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/HScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenVolumeBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/DropDownListButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenFullScreenButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenPlayPauseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ScrollBarLeftButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/RadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/NumericStepperTextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/HSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/HSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/HScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerScrubBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/DefaultComplexItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/PanelSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as
+++ frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as
@@ -11,7 +11,13 @@

 -->

-<!--- The default skin class for a Spark DefaultItemRenderer class. -->
+<!--- The default skin class for a Spark DefaultItemRenderer class.
+
+      @langversion 3.0
+      @playerversion Flash 10
+      @playerversion AIR 1.5
+      @productversion Flex 4
+-->
 <s:ItemRenderer focusEnabled="false" xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">

     <fx:Script>


Transferred from the Adobe Open Source Subversion Repository

Revision: 14583
Author:   smgilson@adobe.com
Date:     2010-03-04T18:19:35.174664Z

Log Message:
-----------
Fix ASDoc version tag that listed the class as part of Flex 3

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

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DataGridSortArrow.as

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


More checks in testRun()

More checks in testRun()

--- src/Testing/Tests/Test.as
+++ src/Testing/Tests/Test.as
@@ -486,9 +486,12 @@

 				for (var k:* in registers)
 					if (isNaN(k))
-						throw new Error("!");
+						throw new Error("NaN key into registers!");
 				if (stack.length > STACK_SIZE)
-					throw new Error("!!!");
+					throw new Error("Stack too large!");
+				for each (var v:int in stack)
+					if (isNaN(v))
+						throw new Error("NaN stack value!");
 			}
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 3219
Author:   deeptika@adobe.com
Date:     2008-09-16T08:33:39.937798Z

Log Message:
-----------
Checking in support for Network Monitor in rpc.swc

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractInvoker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/netmon</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPService.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/netmon/NetworkMonitor.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/soap/Operation.as
+++ frameworks/projects/rpc/src/mx/rpc/soap/Operation.as
@@ -22,6 +22,7 @@
 import mx.messaging.events.MessageEvent;
 import mx.messaging.messages.IMessage;
 import mx.messaging.messages.SOAPMessage;
+import mx.netmon.NetworkMonitor;
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;
 import mx.rpc.AbstractOperation;
@@ -792,6 +793,11 @@
             message.setSOAPAction(wsdlOperation.soapAction);
         message.body = soap.toXMLString();
         message.url = endpointURI;
+        if (NetworkMonitor.isMonitoring())
+        {
+            message.recordHeaders = true;
+        }
+
         invoke(message, pc.token);
     }


Adding notification response config to message stream for LISTEN/NOTIFY support.

--- driver/src/main/flex/org/postgresql/febe/MessageStream.as
+++ driver/src/main/flex/org/postgresql/febe/MessageStream.as
@@ -1,4 +1,5 @@
 package org.postgresql.febe {
+    import org.postgresql.febe.message.NotificationResponse;
     import flash.events.EventDispatcher;
     import org.postgresql.febe.message.AuthenticationRequest;
     import org.postgresql.febe.message.BackendKeyData;
@@ -51,6 +52,7 @@
           /*'V': FunctionCallResponse */
             'n': NoData,
             'N': NoticeResponse,
+            'A': NotificationResponse,
             't': ParameterDescription,
             'S': ParameterStatus,
             '1': ParseComplete,


Transferred from the Adobe Open Source Subversion Repository

Revision: 2464
Author:   jimurphy@adobe.com
Date:     2008-07-14T19:50:33.449468Z

Log Message:
-----------
add flex 4 to trunk

Modified Paths:
--------------
134 paths were modified

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AddActionInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AddActionInstance.as
@@ -0,0 +1,214 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package flex.effects.effectClasses
+{
+
+import flash.display.DisplayObject;
+import flash.display.DisplayObjectContainer;
+
+import mx.core.mx_internal;
+import mx.effects.effectClasses.ActionEffectInstance;
+
+/**
+ *  The AddChildActionInstance class implements the instance class
+ *  for the AddChildAction effect.
+ *  Flex creates an instance of this class when it plays
+ *  an AddChildAction effect; you do not create one yourself.
+ *
+ *  @see mx.effects.AddChildAction
+ */
+public class AddActionInstance extends ActionEffectInstance
+{
+    include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param target The Object to animate with this effect.
+	 */
+	public function AddActionInstance(target:Object)
+	{
+		super(target);
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	private var hasParent:Boolean;
+
+	//----------------------------------
+	//  index
+	//----------------------------------
+
+	/**
+	 *  The index of the child within the parent.
+	 */
+	public var index:int = -1;
+
+	//----------------------------------
+	//  relativeTo
+	//----------------------------------
+
+	/**
+	 *  The location where the child component is added.
+	 */
+	public var relativeTo:DisplayObjectContainer;
+
+	//----------------------------------
+	//  position
+	//----------------------------------
+
+	/**
+	 *  The position of the child component, relative to relativeTo, where it is added.
+	 */
+	public var position:String;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods
+	//
+	//--------------------------------------------------------------------------
+
+	private function getContainer(child:*):*
+	{
+	    if (hasParent)
+	       return child.parent;
+	    else
+	       return child.elementHost;
+	}
+
+    private function addChild(container:*, child:*):void
+    {
+        if (hasParent)
+           container.addChild(child);
+        else
+           container.addItem(child);
+    }
+
+    private function removeChild(container:*, child:*):void
+    {
+        if (hasParent)
+           container.removeChild(child);
+        else
+           container.removeItem(child);
+    }
+
+    private function addChildAt(container:*, child:*, index:int):void
+    {
+        if (hasParent)
+           container.addChildAt(child, index);
+        else
+           container.addItemAt(child, index);
+    }
+
+    private function getChildIndex(container:*, child:*):int
+    {
+        if (hasParent)
+           return container.getChildIndex(child);
+        else
+           return container.getItemIndex(child);
+    }
+
+	/**
+	 *  @private
+	 */
+	override public function play():void
+	{
+	    try {
+	        target.parent;
+	        hasParent = true;
+	    } catch (e:Error) {
+	        hasParent = false;
+	    }
+
+		var targetDisplayObject:DisplayObject = DisplayObject(target);
+
+		// Dispatch an effectStart event from the target.
+		super.play();
+
+		if (!relativeTo && propertyChanges)
+		{
+			if (getContainer(propertyChanges.start) == null &&
+				getContainer(propertyChanges.end) != null)
+			{
+				relativeTo = getContainer(propertyChanges.end);
+				position = "index";
+				index = propertyChanges.end.index;
+			}
+		}
+
+		if (!mx_internal::playReversed)
+		{
+			// Set the style property
+			if (target && getContainer(targetDisplayObject) == null && relativeTo)
+			{
+				switch (position)
+				{
+					case "index":
+					{
+						if (index == -1)
+							addChild(relativeTo, targetDisplayObject);
+						else
+							addChildAt(relativeTo, targetDisplayObject,
+												Math.min(index, relativeTo.numChildren));
+						break;
+					}
+
+					case "before":
+					{
+						addChildAt(getContainer(relativeTo), targetDisplayObject,
+							getChildIndex(getContainer(relativeTo), relativeTo));
+						break;
+					}
+
+					case "after":
+					{
+						addChildAt(getContainer(relativeTo), targetDisplayObject,
+							getChildIndex(getContainer(relativeTo), relativeTo) + 1);
+						break;
+					}
+
+					case "firstChild":
+					{
+						addChildAt(relativeTo, targetDisplayObject, 0);
+					}
+
+					case "lastChild":
+					{
+						addChild(relativeTo, targetDisplayObject);
+					}
+				}
+			}
+		}
+		else
+		{
+			if (target && relativeTo && getContainer(targetDisplayObject) == relativeTo)
+			{
+				removeChild(relativeTo, targetDisplayObject);
+			}
+		}
+
+		// We're done...
+		finishRepeat();
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -55,6 +55,7 @@
 import spark.components.supportClasses.InvalidatingSprite;
 import spark.core.IGraphicElement;
 import spark.core.MaskType;
+
 use namespace mx_internal;

 /**
@@ -3237,8 +3238,7 @@
                 //Shape(drawnDisplayObject).graphics.clear();
         }

-        if (visible || sharedIndex == -1)
-            updateDisplayList(_width, _height);
+        doUpdateDisplayList();

         // If we aren't doing any more invalidation, send out an UpdateComplete event
         if (!invalidatePropertiesFlag && !invalidateSizeFlag && !invalidateDisplayListFlag && wasInvalid)
@@ -3246,6 +3246,15 @@

         // LAYOUT_DEBUG
         //LayoutManager.debugHelper.addElement(ILayoutElement(this));
+    }
+
+    /**
+     *  @private
+     */
+    mx_internal function doUpdateDisplayList():void
+    {
+		if (visible || sharedIndex == -1)
+    		updateDisplayList(_width, _height);
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 4571
Author:   preilly@adobe.com
Date:     2009-01-16T21:42:47.451702Z

Log Message:
-----------
Fixed mxunit tests:

  E4XDataBinding/Expression/model/smoke_Test.mxml
  E4XDataBinding/Expression/var/smoke_Test.mxml
  Namespaces/MXML2006WithGumbo/NS_AS3BuiltInTypesOnGumbonents.mxml

tests Passed: checkintests

Needs QA: YES

Needs DOC: NO

Bug fixes:

API Change: NO

Reviewer: Carol

Code-level description of changes:

  frameworks/projects/framework/src/mx/utils/XMLNotifier.as

    Removed cast from watchXML() so XMLList can be passed in.

  modules/compiler/src/java/flex2/compiler/as3/binding/DataBindingFirstPassEvaluator.java

    Modified evaluate(Context, ArgumentListNode) to push the target's
    type onto the srcTypeStack before evaluating the args and popping
    it afterwards.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/XMLNotifier.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/DataBindingFirstPassEvaluator.java</path>

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

--- frameworks/projects/framework/src/mx/utils/XMLNotifier.as
+++ frameworks/projects/framework/src/mx/utils/XMLNotifier.as
@@ -121,14 +121,12 @@
      */
     public function watchXML(xml:Object, notifiable:IXMLNotifiable, uid:String = null):void
     {
-		var xitem:XML = XML(xml);
-
 		// First make sure the xml node has a notification function.
-    	var watcherFunction:Object = xitem.notification();
+    	var watcherFunction:Object = xml.notification();
     	if (!(watcherFunction is Function))
 		{
     		watcherFunction = initializeXMLForNotification();
-			xitem.setNotification(watcherFunction as Function);
+			xml.setNotification(watcherFunction as Function);
 			if (uid && watcherFunction["uid"] == null)
 				watcherFunction["uid"] = uid;
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

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

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

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

 package mx.effects
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8483
Author:   smgilson@adobe.com
Date:     2009-07-09T17:52:48.367800Z

Log Message:
-----------
Second checkin to update the namespace in ASDoc MXML syntax descriptions for Spark components

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/CallAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.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/primitives/Graphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GlowFilter.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/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/SetAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientFilter.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Graphic.as
+++ frameworks/projects/spark/src/spark/primitives/Graphic.as
@@ -70,7 +70,7 @@
  *  of its superclass, and adds the following tag attributes:

  *
  *

- *  <mx:Graphic
+ *  <s:Graphic
  *    Properties
  *    version
  *    viewHeight


added getTypedState()

added getTypedState()

--- WeaveJS/src/weavejs/path/WeavePath.as
+++ WeaveJS/src/weavejs/path/WeavePath.as
@@ -545,6 +545,12 @@
 			return null;
 		}

+		public function getTypedState(...relativePath):Object
+		{
+			relativePath = _A(relativePath, 1);
+			return (WeaveAPI.SessionManager as SessionManager).getTypedStateTree(getObject(relativePath));
+		}
+
 		public function getUntypedState(...relativePath):Object
 		{
 			relativePath = _A(relativePath, 1);


Transferred from the Adobe Open Source Subversion Repository

Revision: 18514
Author:   dthakkar@adobe.com
Date:     2010-11-10T00:38:39.528767Z

Log Message:
-----------
QE notes: Some testcases in spark formatters are failing because of behavior change. These testcases are excluded prior to submission. Globalization QE team has been informed about this.
Doc notes: Spark Formatters ASDocs are updated and also added samples for the spark formatters.
Bugs: SDK-28145, SDK-28345 ,SDK-28320 ,SDK-28287,SDK-28314
Reviewer: Gordon , Craig, Masa, Xie
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/globalization/MatchingCollatorExample.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/scripts/NumberValidatorTestScript.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/scripts/CurrencyValidatorTestScript.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/views/NumberValidatorTests.mxml</path>
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/formatters</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/views/CurrencyValidatorTests.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/supportClasses/CollatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/NumberFormatterExample1.mxml</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/supportClasses/NumberBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/BasicTests.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/CurrencyFormatterExample1.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/globalization</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/framework/bundles/en_US/validators.properties</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/SortingCollator.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/globalization/SortingCollatorExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/globalization/StringToolsExample.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/validators/IValidator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/BasicTests-config.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/NumberValidatorBase.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/spark-manifest.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/GlobalizationValidatorBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/NumberFormatterExample2.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/CurrencyFormatterExample2.mxml</path>
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/NumberValidator.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/CurrencyValidator.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/validators/Validator.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/GlobalizationUtils.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/supportClasses/GlobalizationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/formatters/IFormatter.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/DateTimeFormatterExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/LastOperationStatus.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/supportClasses/NumberFormatterBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/MatchingCollator.as</path>

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

--- frameworks/projects/framework/src/mx/validators/Validator.as
+++ frameworks/projects/framework/src/mx/validators/Validator.as
@@ -23,6 +23,7 @@
 import mx.managers.SystemManager;
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;
+import mx.validators.IValidator;

 //--------------------------------------
 //  Events
@@ -94,7 +95,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-public class Validator extends EventDispatcher implements IMXMLObject
+public class Validator extends EventDispatcher implements IMXMLObject,IValidator
 {
     include "../core/Version.as";

@@ -157,9 +158,8 @@
         var n:int = validators.length;
         for (var i:int = 0; i < n; i++)
         {
-            var v:Validator = Validator(validators[i]);
-
-            if (v.enabled)
+            var v:IValidator = validators[i] as IValidator;
+            if (v && v.enabled)
             {
 	            var resultEvent:ValidationResultEvent = v.validate();