Transferred from the Adobe Open Source Subversion Repository

Revision: 6345
Author:   dsubrama@adobe.com
Date:     2009-04-28T18:49:50.634464Z

Log Message:
-----------
Code re-organization, updated ASDoc comments and a few PARB requested re-names (internal methods, shouldn't require updating on the QA side of things).

Reviewer: Me
Checkintests: Pass

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -72,16 +72,20 @@
     //--------------------------------------------------------------------------

     /**
-     *  @private
-     *  Constant representing the value "no selection".
-     */
-    protected static const NO_SELECTION:int = -1;
-
-    /**
-     *  @private
-     *  Constant representing no proposed selection.
-     */
-    protected static const NO_PROPOSED_SELECTION:int = -2;
+     *  Static constant representing the value "no selection".
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public static const NO_SELECTION:int = -1;
+
+    /**
+     *  @private
+     *  Static constant representing no proposed selection.
+     */
+    private static const NO_PROPOSED_SELECTION:int = -2;

     //--------------------------------------------------------------------------
     //
@@ -116,7 +120,6 @@
     //----------------------------------
     //  dataProvider
     //----------------------------------
-
     private var dataProviderChanged:Boolean;

     /**
@@ -152,8 +155,15 @@
     private var _labelField:String;

     /**
-     *  labelField
-     *
+     *  The name of the field in the data provider items to display
+     *  as the label.
+     *
+     *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get labelField():String
     {
@@ -180,8 +190,24 @@
     private var _labelFunction:Function;

     /**
-     *  labelFunction
-     *
+     *  A user-supplied function to run on each item to determine its label.
+     *
+     *
You can supply a labelFunction that finds the
+     *  appropriate fields and returns a displayable string. The
+     *  labelFunction is also good for handling formatting and
+     *  localization.

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

+     *

+     *  myLabelFunction(item:Object):String

+     *
+     *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get labelFunction():Function
     {
@@ -283,8 +309,8 @@
     [Bindable("selectionChanged")]
     /**
      *  The item that is currently selected.
-     *  Setting this property
-     *  deselects the currently selected item and selects the specified item.
+     *  Setting this property deselects the currently selected
+     *  item and selects the newly specified item.
      *
      *
Setting selectedItem to an item that is not
      *  in this component results in no selection,
@@ -346,7 +372,7 @@
     private var requiresSelectionChanged:Boolean = false;

     /**
-     *  Specifies whether an item must always be selected.
+     *  Specifies whether an item must always be selected in the dataProvider.
      *  If the value is true, the selectedIndex property
      *  is always set to a value between 0 and (dataProvider.length - 1),
      *  or -1 if there are no items.
@@ -381,6 +407,49 @@
             invalidateProperties();
         }
     }
+
+    //----------------------------------
+    //  selectUponNavigation
+    //----------------------------------
+    /**
+     *  @private
+     *  Storage for the selectUponNavigation property.
+     */
+    private var _selectUponNavigation:Boolean = true;
+
+    /**
+     *  Specifies whether an item must be selected when
+     *  navigated to or simply focused into. If true,
+     *  when an item is navigated to, it is selected and the
+     *  selection related properties update accordingly.
+     *  If false, when an item is navigated to, the itemFocusIn/Out
+     *  events are dispatched accordingly and the item's
+     *  associated item renderer is put into the focused state and
+     *  none of the selection related properties are updated.
+     *
+     *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get selectUponNavigation():Boolean
+    {
+        return _selectUponNavigation;
+    }
+
+    /**
+     *  @private
+     */
+    public function set selectUponNavigation(value:Boolean):void
+    {
+        if (value == _selectUponNavigation)
+            return;
+
+        _selectUponNavigation = value;
+    }
+

     //--------------------------------------------------------------------------
     //
@@ -717,12 +786,6 @@
         invalidateProperties();
     }

-    //--------------------------------------------------------------------------
-    //
-    //  Event Handlers
-    //
-    //--------------------------------------------------------------------------
-
     /**
      *  @private
      *  Called when an item has been added to this component.
@@ -752,20 +815,20 @@
         if (index == selectedIndex)
         {
             if (requiresSelection && dataProvider && dataProvider.length > 0)
-            {
-            	if (index == 0)
-            	{
-            		//We can't just set selectedIndex to 0 directly
-            		//since the previous value was 0 and the new value is
-            		//0, so the setter will return early.
-            		_proposedSelectedIndex = 0;
-            		invalidateProperties();
-            	}
-            	else
-            		selectedIndex = 0;
+            {
+                if (index == 0)
+                {
+                    //We can't just set selectedIndex to 0 directly
+                    //since the previous value was 0 and the new value is
+                    //0, so the setter will return early.
+                    _proposedSelectedIndex = 0;
+                    invalidateProperties();
+                }
+                else
+                    selectedIndex = 0;
             }
             else
-            	adjustSelectedIndex(-1);
+                adjustSelectedIndex(-1);
         }
         else if (index < selectedIndex)
         {
@@ -775,8 +838,21 @@
         }
     }

-    /**
-     *  @private
+    //--------------------------------------------------------------------------
+    //
+    //  Event Handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Called when contents within the dataProvider changes.
+     *
+     *  @param event The collection change event
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     protected function dataProvider_collectionChangeHandler(event:Event):void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 15266
Author:   cframpto@adobe.com
Date:     2010-04-07T22:55:04.588298Z

Log Message:
-----------
Cannot set Spark Label or Spark RichText showTruncationTip property at runtime using bindngs or ActionScript.

QE notes:
Doc notes: None
Bugs: partial fix for SDK-25980
Reviewed By: Gordon
Tests run: checkintests
Is noteworthy for integration: No

QE notes:
Doc notes: None
Bugs: partial fix for SDK-24980
Reviewed By: Gordon
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
@@ -468,7 +468,14 @@
      */
     public function set showTruncationTip(value:Boolean):void
     {
-		_showTruncationTip = value;
+        _showTruncationTip = value;
+
+        // Typically the toolTip gets set when the text is composed,
+        // based on showToolTip and isTruncated.
+        // But showToolTip can change at runtime
+        // without later recomposing the text,
+        // so we handle that by also setting toolTip here.
+        toolTip = _isTruncated && _showTruncationTip ? text : null;
     }

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


Log metaDataHandler info if debug enabled, possible duration metaData fix

--- src/SoundManager2_SMSound_AS3.as
+++ src/SoundManager2_SMSound_AS3.as
@@ -278,20 +278,20 @@
     }

     public function metaDataHandler(infoObject: Object) : void {
-      /*
-	  var data:String = new String();
-	  for (var prop:* in infoObject) {
-		data += prop+': '+infoObject[prop]+' ';
-	  }
-	  ExternalInterface.call('soundManager._writeDebug','Metadata: '+data);
-	  */
+      if (sm.debugEnabled) {
+        var data:String = new String();
+        for (var prop:* in infoObject) {
+          data += prop+': '+infoObject[prop]+' \n';
+        }
+        writeDebug('Metadata: '+data);
+      }
+      this.duration = infoObject.duration * 1000;
       if (!this.loaded) {
         // writeDebug('not loaded yet: '+this.ns.bytesLoaded+', '+this.ns.bytesTotal+', '+infoObject.duration*1000);
         // TODO: investigate loaded/total values
         // ExternalInterface.call(baseJSObject + "['" + this.sID + "']._whileloading", this.ns.bytesLoaded, this.ns.bytesTotal, infoObject.duration*1000);
         ExternalInterface.call(baseJSObject + "['" + this.sID + "']._whileloading", this.bytesLoaded, this.bytesTotal, (infoObject.duration || this.duration))
       }
-      this.duration = infoObject.duration * 1000;
       // null this out for the duration of this object's existence.
       // it may be called multiple times.
       this.cc.onMetaData = function(infoObject: Object) : void {}


Transferred from the Adobe Open Source Subversion Repository

Revision: 19737
Author:   jasonsj@adobe.com
Date:     2011-01-12T22:13:58.979077Z

Log Message:
-----------
SDK-28851 Symbol was added twice when changing enabled state
SDK-28159 Account for empty and null title in ActionBar

Removed unused textAlign code in ButtonSkinBase
Removed B-feature code for focusColor in MobileSkin

QE notes: None
Doc notes:
Bugs:
SDK-28851 CheckBox icon not properly updated when iconPlacement=right, checkbox is disabled and style changed
SDK-28159 ActionBar titleDisplay should measure the same for null and empty title
Reviewer: jszeto
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
@@ -348,14 +348,6 @@
             textDescent = metrics.descent;
         }

-        var textAlign:String = "center"; // getStyle("textAlign");
-        // Map new Spark values that might be set in a selector
-        // affecting both Halo and Spark components.
-        /*if (textAlign == "start")
-        textAlign = TextFormatAlign.LEFT;
-        else if (textAlign == "end")
-        textAlign = TextFormatAlign.RIGHT;*/
-
         var viewWidth:Number = unscaledWidth;
         var viewHeight:Number = unscaledHeight;

@@ -395,21 +387,8 @@

             // button viewHeight may be smaller than the labelDisplay textHeight
             labelHeight = Math.min(viewHeight, textHeight);
-
-            if (textAlign == "left")
-            {
-                labelX += layoutPaddingLeft;
-            }
-            else if (textAlign == "right")
-            {
-                labelX += (viewWidth - labelWidth - iconWidth -
-                    horizontalGap - layoutPaddingRight);
-            }
-            else // "center" -- default value
-            {
-                labelX += ((viewWidth - labelWidth - iconWidth -
-                    horizontalGap - layoutPaddingLeft - layoutPaddingRight) / 2) + layoutPaddingLeft;
-            }
+            labelX += ((viewWidth - labelWidth - iconWidth -
+                horizontalGap - layoutPaddingLeft - layoutPaddingRight) / 2) + layoutPaddingLeft;

             if (iconPlacement == IconPlacement.LEFT)
             {
@@ -450,19 +429,7 @@
             }

             labelX = layoutPaddingLeft;
-
-            if (textAlign == "left")
-            {
-                iconX += layoutPaddingLeft;
-            }
-            else if (textAlign == "right")
-            {
-                iconX += Math.max(viewWidth - iconWidth - layoutPaddingRight, layoutPaddingLeft);
-            }
-            else
-            {
-                iconX += ((viewWidth - iconWidth - layoutPaddingLeft - layoutPaddingRight) / 2) + layoutPaddingLeft;
-            }
+            iconX += ((viewWidth - iconWidth - layoutPaddingLeft - layoutPaddingRight) / 2) + layoutPaddingLeft;

             if (iconPlacement == IconPlacement.BOTTOM)
             {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19583
Author:   jasonsj@adobe.com
Date:     2011-01-04T18:56:47.579177Z

Log Message:
-----------
Refactored ActionBar and TabbedViewNavigatorButtonBarSkin graphics to support overlayControls in ViewNavigators.

* border highlights removed from buttons (now defined by ActionBar background graphics)
* backgroundAlpha style used in ActionBar
* chromeColor and backgroundAlpha is now implemented in TabbedViewNavigatorButtonBarSkin. Tab buttons instead draw a transparent background.

Also, fixed icon-only mobile Button skin sizing to ignore fontSize (to match desktop behavior)

QE notes: Update icon-only button tests.
Doc notes:
Bugs:
Reviewer: gruehle, chiedozi
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/NavigationButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/ActionButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/NavigationButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorButtonBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TabbedViewNavigatorButtonBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ActionButton_up.fxg</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
@@ -29,18 +29,18 @@

 use namespace mx_internal;

-/*
+/*
 ISSUES:
-- should we support textAlign (if not, remove extra code)
+- should we support textAlign (if not, remove extra code)
 */
 /**
- *  ActionScript-based skin for mobile applications. The skin supports
- *  icon and iconPlacement. It uses FXG classes to
- *  implement the vector drawing.
- *
+ *  ActionScript-based skin for mobile applications. The skin supports
+ *  icon and iconPlacement. It uses FXG classes to
+ *  implement the vector drawing.
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.5
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 public class ButtonSkinBase extends MobileSkin
@@ -50,29 +50,29 @@
     //  Constructor
     //
     //--------------------------------------------------------------------------
-
+
     /**
      *  Constructor.
-     *
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
-     *
+     *
      */
     public function ButtonSkinBase()
     {
         super();
-
+
         setStyle("textAlign", "center");
     }
-
+
     //--------------------------------------------------------------------------
     //
     //  Variables
     //
     //--------------------------------------------------------------------------
-
+
     /**
      *  iconDisplay skin part.
      */
@@ -80,35 +80,35 @@
     private var iconInstance:Object;    // Can be either DisplayObject or BitmapImage
     private var iconHolder:Group;       // Needed when iconInstance is a BitmapImage
     private var _icon:Object;           // The currently set icon, can be Class, DisplayObject, URL
-
+
     /**
      *  @private
      *  Flag that is set when the currentState changes from enabled to disabled
      */
-    private var enabledChanged:Boolean = false;
-
+    private var enabledChanged:Boolean = false;
+
     /**
      *  labelDisplay skin part.
      */
     public var labelDisplay:StyleableTextField;
-
+
     /**
      *  If true, then create the iconDisplay using the icon style
-     *
-     *  @default true
-     */
+     *
+     *  @default true
+     */
     protected var useIconStyle:Boolean = true;
-
+
     private var _hostComponent:ButtonBase;
-
-    /**
+
+    /**
      * @copy spark.skins.spark.ApplicationSkin#hostComponent
      */
     public function get hostComponent():ButtonBase
     {
         return _hostComponent;
     }
-
+
     /**
      * @private
      */
@@ -116,107 +116,107 @@
     {
         _hostComponent = value;
     }
-
+
     //--------------------------------------------------------------------------
     //
     //  Layout variables
     //
     //--------------------------------------------------------------------------
-
+
     protected var layoutBorderSize:uint;
-
+
     protected var layoutGap:int;
-
+
     /**
      *  Left padding for icon or labelDisplay
      */
     protected var layoutPaddingLeft:int;
-
+
     /**
      *  Right padding for icon or labelDisplay
      */
     protected var layoutPaddingRight:int;
-
+
     /**
      *  Top padding for icon or labelDisplay
      */
     protected var layoutPaddingTop:int;
-
+
     /**
      *  Bottom padding for icon or labelDisplay
      */
     protected var layoutPaddingBottom:int;
-
+
     //--------------------------------------------------------------------------
     //
     //  Overridden methods
     //
     //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
+
+    /**
+     *  @private
+     */
     override public function set currentState(value:String):void
     {
         var isDisabled:Boolean = currentState && currentState.indexOf("disabled") >= 0;
-
+
         super.currentState = value;
-
+
         if (isDisabled != currentState.indexOf("disabled") >= 0)
         {
             enabledChanged = true;
             invalidateProperties();
         }
     }
-
-    /**
-     *  @private
-     */
+
+    /**
+     *  @private
+     */
     override protected function createChildren():void
     {
         labelDisplay = StyleableTextField(createInFontContext(StyleableTextField));
         labelDisplay.styleName = this;
-
+
         // update shadow when labelDisplay changes
         labelDisplay.addEventListener(FlexEvent.VALUE_COMMIT, labelDisplay_valueCommitHandler);
-
+
         addChild(labelDisplay);
     }
-
-    /**
-     *  @private
-     */
-    override public function styleChanged(styleProp:String):void
-    {
+
+    /**
+     *  @private
+     */
+    override public function styleChanged(styleProp:String):void
+    {
         var allStyles:Boolean = !styleProp || styleProp == "styleName";
-
+
         if (allStyles || styleProp == "iconPlacement")
         {
             invalidateSize();
             invalidateDisplayList();
         }
-
+
         if (useIconStyle && (allStyles || styleProp == "icon"))
         {
             iconChanged = true;
             invalidateProperties();
         }
-
+
         if (styleProp == "textShadowAlpha")
         {
             invalidateDisplayList();
         }
-
+
         super.styleChanged(styleProp);
     }
-
-    /**
-     *  @private
-     */
+
+    /**
+     *  @private
+     */
     override protected function commitProperties():void
     {
         super.commitProperties();
-
+
         if (useIconStyle && iconChanged)
         {
             // force enabled update when icon changes
@@ -224,115 +224,124 @@
             iconChanged = false;
             setIcon(getStyle("icon"));
         }
-
+
         if (enabledChanged)
         {
             commitDisabled();
             enabledChanged = false;
         }
     }
-
-    /**
-     *  @private
-     */
+
+    /**
+     *  @private
+     */
     override protected function measure():void
-    {
+    {
         super.measure();

-        var iconPlacement:String = getStyle("iconPlacement");
-
-        var textWidth:Number = 0;
-        var textHeight:Number = 0;
-
+        // FIXME (jasonsj): icon-only button should not change with font size
+        //                  changes. use LabelAndIconLayout#measure(). adjust
+        //                  for ascent height
+
+        var labelWidth:Number = 0;
+        var labelHeight:Number = 0;
+        var iconDisplay:DisplayObject = getIconDisplay();
+
         // reset text if it was truncated before.
         if (hostComponent && labelDisplay.isTruncated)
             labelDisplay.text = hostComponent.label;
         labelDisplay.commitStyles();
-
-        if (hostComponent && hostComponent.label != "")
+
+        if (labelDisplay.text)
         {
             // FIXME (jasonsj): was previously textWidth + UITextField.TEXT_WIDTH_PADDING + 1;
             //                  +1 originates from MX Button without explaination
             var textSize:Point = labelDisplay.measuredTextSize;
-            textWidth = textSize.x + 1;
-            textHeight = textSize.y;
-        }
-        else
-        {
-            textHeight = measureText("Wj").height + UITextField.TEXT_HEIGHT_PADDING;
+            labelWidth = textSize.x + 1;
+            labelHeight = textSize.y;
+        }
+        else if (!iconDisplay)
+        {
+            // only get empty label height when there no icon is present
+            labelHeight = measureText("Wj").height + UITextField.TEXT_HEIGHT_PADDING;
         }

-        var iconDisplay:DisplayObject = getIconDisplay();
-        var iconWidth:Number = iconDisplay ? iconDisplay.width : 0;
-        var iconHeight:Number = iconDisplay ? iconDisplay.height : 0;
-        var w:Number = 0;
-        var h:Number = 0;
+        var w:Number = layoutPaddingLeft + layoutPaddingRight;
+        var h:Number = layoutPaddingTop + layoutPaddingBottom;

+        var iconWidth:Number = 0;
+        var iconHeight:Number = 0;
+
         if (iconDisplay is ILayoutElement)
         {
+            // why postLayoutTransform=false vs. true in desktop skin?
             iconWidth = ILayoutElement(iconDisplay).getPreferredBoundsWidth(false);
             iconHeight = ILayoutElement(iconDisplay).getPreferredBoundsHeight(false);
         }
+        else if (iconDisplay)
+        {
+            iconWidth = iconDisplay.width;
+            iconHeight = iconDisplay.height;
+        }

+        var iconPlacement:String = getStyle("iconPlacement");
+
         if (iconPlacement == IconPlacement.LEFT ||
             iconPlacement == IconPlacement.RIGHT)
         {
-            w = textWidth + iconWidth;
-            if (textWidth && iconWidth)
+            w += labelWidth + iconWidth;
+            if (labelWidth && iconWidth)
                 w += layoutGap;
-            h = Math.max(textHeight, iconHeight);
+            h += Math.max(labelHeight, iconHeight);
         }
         else
         {
-            w = Math.max(textWidth, iconWidth);
-            h = textHeight + iconHeight;
-            if (textHeight && iconHeight)
+            w += Math.max(labelWidth, iconWidth);
+            h += labelHeight + iconHeight;
+            if (labelHeight && iconHeight)
                 h += layoutGap;
         }
-
+
         // minimums
         measuredMinWidth = w
         measuredMinHeight = h;
-
-        w += layoutPaddingLeft + layoutPaddingRight;
-        h += layoutPaddingTop + layoutPaddingBottom;
-
+
         // measured sizes are no smaller than spec for touch-based sizes
         measuredWidth = Math.max(w, layoutMeasuredWidth);
         measuredHeight = Math.max(h, layoutMeasuredHeight);
     }
-
-    /**
-     *  @private
-     */
+
+    /**
+     *  @private
+     */
     override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
     {
         var labelWidth:Number = 0;
         var labelHeight:Number = 0;
-
+
         var labelX:Number = 0;
         var labelY:Number = 0;
-
+
         var iconWidth:Number = 0;
         var iconHeight:Number = 0;
-
+
         var iconX:Number = 0;
         var iconY:Number = 0;
-
+
         var horizontalGap:Number = 0;
         var verticalGap:Number = 0;
-
+
         var iconPlacement:String = getStyle("iconPlacement");
-
+
         var textWidth:Number = 0;
         var textHeight:Number = 0;
         var textDescent:Number = 0;
-
+
         // reset text if it was truncated before.
         if (hostComponent && labelDisplay.isTruncated)
             labelDisplay.text = hostComponent.label;
         labelDisplay.commitStyles();
-
+
         if (hostComponent && hostComponent.label != "")
         {
             // FIXME (jasonsj): was previously textWidth + UITextField.TEXT_WIDTH_PADDING + 1;
@@ -348,18 +357,18 @@
             textHeight = metrics.height + UITextField.TEXT_HEIGHT_PADDING;
             textDescent = metrics.descent;
         }
-
+
         var textAlign:String = "center"; // getStyle("textAlign");
         // Map new Spark values that might be set in a selector
         // affecting both Halo and Spark components.
-        /*if (textAlign == "start")
+        /*if (textAlign == "start")
         textAlign = TextFormatAlign.LEFT;
         else if (textAlign == "end")
         textAlign = TextFormatAlign.RIGHT;*/
-
+
         var viewWidth:Number = unscaledWidth;
         var viewHeight:Number = unscaledHeight;
-
+
         var iconDisplay:DisplayObject = getIconDisplay();
         if (iconDisplay)
         {
@@ -374,18 +383,18 @@
                 iconHeight = iconDisplay.height;
             }
         }
-
+
         if (iconPlacement == IconPlacement.LEFT ||
             iconPlacement == IconPlacement.RIGHT)
         {
             horizontalGap = layoutGap;
-
+
             if (iconWidth == 0 || textWidth == 0)
                 horizontalGap = 0;
-
+
             if (textWidth > 0)
             {
-                labelWidth =
+                labelWidth =
                     Math.max(Math.min(viewWidth - iconWidth - horizontalGap -
                         layoutPaddingLeft - layoutPaddingRight, textWidth), 0);
             }
@@ -393,25 +402,25 @@
             {
                 labelWidth = 0;
             }
-
+
             // button viewHeight may be smaller than the labelDisplay textHeight
             labelHeight = Math.min(viewHeight, textHeight);
-
+
             if (textAlign == "left")
             {
                 labelX += layoutPaddingLeft;
             }
             else if (textAlign == "right")
             {
-                labelX += (viewWidth - labelWidth - iconWidth -
+                labelX += (viewWidth - labelWidth - iconWidth -
                     horizontalGap - layoutPaddingRight);
             }
             else // "center" -- default value
             {
-                labelX += ((viewWidth - labelWidth - iconWidth -
+                labelX += ((viewWidth - labelWidth - iconWidth -
                     horizontalGap - layoutPaddingLeft - layoutPaddingRight) / 2) + layoutPaddingLeft;
             }
-
+
             if (iconPlacement == IconPlacement.LEFT)
             {
                 labelX += iconWidth + horizontalGap;
@@ -419,11 +428,11 @@
             }
             else
             {
-                iconX  = labelX + labelWidth + horizontalGap;
-            }
-
+                iconX  = labelX + labelWidth + horizontalGap;
+            }
+
             iconY = ((viewHeight - iconHeight - layoutPaddingTop - layoutPaddingBottom) / 2) + layoutPaddingTop;
-
+
             // vertial center labelDisplay based on ascent
             // text "height" = min(measuredTextSize.y, viewHeight) - descent + gutter
             labelY = ((viewHeight - labelHeight + textDescent - StyleableTextField.TEXT_HEIGHT_PADDING) / 2);
@@ -431,15 +440,15 @@
         else
         {
             verticalGap = layoutGap;
-
+
             if (iconHeight == 0 || !hostComponent || hostComponent.label == "")
                 verticalGap = 0;
-
+
             if (textWidth > 0)
             {
                 // label width is constrained to left and right edges
                 labelWidth = Math.max(viewWidth - layoutPaddingLeft - layoutPaddingRight, 0);
-
+
                 // label height is constrained to available height after icon, padding and gap heights
                 labelHeight = Math.max(viewHeight - iconHeight - layoutPaddingTop - layoutPaddingBottom - verticalGap, 0);
                 labelHeight = Math.min(labelHeight, textHeight);
@@ -449,9 +458,9 @@
                 labelWidth = 0;
                 labelHeight = 0;
             }
-
+
             labelX = layoutPaddingLeft;
-
+
             if (textAlign == "left")
             {
                 iconX += layoutPaddingLeft;
@@ -464,10 +473,10 @@
             {
                 iconX += ((viewWidth - iconWidth - layoutPaddingLeft - layoutPaddingRight) / 2) + layoutPaddingLeft;
             }
-
+
             if (iconPlacement == IconPlacement.BOTTOM)
             {
-                labelY += ((viewHeight - labelHeight - iconHeight -
+                labelY += ((viewHeight - labelHeight - iconHeight -
                     layoutPaddingTop - layoutPaddingBottom - verticalGap) / 2) + layoutPaddingTop;
                 iconY += labelY + labelHeight + verticalGap;
             }
@@ -475,56 +484,56 @@
             {
                 // label bottom is constrained by layoutPaddingBottom
                 labelY = viewHeight - layoutPaddingBottom - labelHeight;
-
+
                 // icon is vertically centered in the space above the label
                 iconY = Math.max(((labelY - iconHeight - verticalGap) / 2), layoutPaddingTop);
             }
         }
-
+
         labelX = Math.max(0, Math.round(labelX));
         labelY = Math.max(0, Math.round(labelY));
-
+
         labelDisplay.commitStyles();
         setElementSize(labelDisplay, labelWidth, labelHeight);
-        setElementPosition(labelDisplay, labelX, labelY);
-
+        setElementPosition(labelDisplay, labelX, labelY);
+
         if (textWidth > labelWidth)
         {
             labelDisplay.truncateToFit();
         }
-
+
         if (iconDisplay)
         {
             setElementSize(iconDisplay, iconWidth, iconHeight);
-            setElementPosition(iconDisplay, Math.max(0, Math.round(iconX)), Math.max(0, Math.round(iconY)));
-        }
-
+            setElementPosition(iconDisplay, Math.max(0, Math.round(iconX)), Math.max(0, Math.round(iconY)));
+        }
+
         // draw chromeColor after parts have been positioned
         super.updateDisplayList(unscaledWidth, unscaledHeight);
     }
-
+
     //--------------------------------------------------------------------------
     //
     //  Class methods
     //
     //--------------------------------------------------------------------------
-
+
     /**
      *  Commit alpha values for the skin when in a disabled state.
-     *
+     *
      *  @see mx.core.UIComponent#enabled
      */
     protected function commitDisabled():void
     {
         alpha = hostComponent.enabled ? 1 : 0.5;
     }
-
+
     /**
      *  The current skin part that displays the icon.
      *  If the icon is a Class, then the iconDisplay is an instance of that class.
      *  If the icon is a DisplayObject instance, then the iconDisplay is that instance.
      *  If the icon is URL, then iconDisplay is the Group that holds the BitmapImage with that URL.
-     *
+     *
      *  @see #setIcon
      *  @see #useIconStyle
      */
@@ -532,7 +541,7 @@
     {
         return iconHolder ? iconHolder : iconInstance as DisplayObject;
     }
-
+
     /**
      *  Sets the current icon for the iconDisplay skin part.
      *  The iconDisplay skin part is created/set-up on demand.
@@ -545,7 +554,7 @@
         if (_icon == icon)
             return;
         _icon = icon;
-
+
         // Clean-up the iconInstance
         if (iconInstance)
         {
@@ -555,7 +564,7 @@
                 this.removeChild(iconInstance as DisplayObject);
         }
         iconInstance = null;
-
+
         // Set-up the iconHolder
         var needsHolder:Boolean = icon && !(icon is Class) && !(icon is DisplayObject);
         if (needsHolder && !iconHolder)
@@ -568,7 +577,7 @@
             this.removeChild(iconHolder);
             iconHolder = null;
         }
-
+
         // Set-up the icon
         if (icon)
         {
@@ -584,30 +593,30 @@
                     iconInstance = new (Class(icon))();
                 else
                     iconInstance = icon;
-
+
                 addChild(iconInstance as DisplayObject);
             }
         }
-
+
         // explicitly invalidate, since addChild/removeChild don't invalidate for us
         invalidateSize();
         invalidateDisplayList();
     }
-
+
     //--------------------------------------------------------------------------
     //
     //  Event Handlers
     //
     //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    protected function labelDisplay_valueCommitHandler(event:FlexEvent):void
+
+    /**
+     *  @private
+     */
+    protected function labelDisplay_valueCommitHandler(event:FlexEvent):void
     {
         invalidateSize();
         invalidateDisplayList();
     }
-
+
 }
 }


fix Mesh.initializeMesh() to stop using static reference to a default material to avoid memory leak: by default Mesh will now have a null material if none is provided

--- src/aerys/minko/scene/node/Mesh.as
+++ src/aerys/minko/scene/node/Mesh.as
@@ -29,8 +29,6 @@
 	 */
 	public class Mesh extends AbstractVisibleSceneNode implements ITaggable
 	{
-		public static const DEFAULT_MATERIAL	: Material	= new BasicMaterial();
-
 		private var _ctrl				: MeshController;
 		private var _properties			: DataProvider;
 		private var _material			: Material;
@@ -234,7 +232,7 @@
 				this.name = name;

 			this.geometry	= geometry;
-			this.material	= material || DEFAULT_MATERIAL;
+			this.material	= material;
 			_tag			= tag;
 		}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/styles/metadata/IconColorStyles.as
+++ frameworks/projects/advancedgrids/src/mx/styles/metadata/IconColorStyles.as
@@ -0,0 +1,46 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  The color for the icon in a skin.
+ *  For example, this style is used by the CheckBoxIcon skin class
+ *  to draw the check mark for a CheckBox control,
+ *  by the ComboBoxSkin class to draw the down arrow of the ComboBox control,
+ *  and by the DateChooserMonthArrowSkin skin class to draw the month arrow
+ *  for the DateChooser control.
+ *
+ *  The default value depends on the component class;
+ *  if it is not overridden by the class, the default value is 0x111111.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="iconColor", type="uint", format="Color", inherit="yes")]
+
+/**
+ *  The color for the icon in a disabled skin.
+ *  For example, this style is used by the CheckBoxIcon skin class
+ *  to draw the check mark for a disabled CheckBox control,
+ *  by the ComboBoxSkin class to draw the down arrow of a disabled ComboBox control,
+ *  and by the DateChooserMonthArrowSkin skin class to draw the month arrow
+ *  for a disabled DateChooser control.
+ *
+ *  The default value depends on the component class;
+ *  if it is not overridden by the class, the default value is 0x999999.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="disabledIconColor", type="uint", format="Color", inherit="yes")]


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridDragProxy.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridDragProxy.as
@@ -25,6 +25,11 @@
 /**
  *  The DataGridDragProxy class defines the default drag proxy
  *  used when dragging data from a DataGrid control.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class DataGridDragProxy extends UIComponent
 {
@@ -38,6 +43,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function DataGridDragProxy()
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 48
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-20T00:50:26.640141Z

Log Message:
-----------
Perforce Change 191576 by jszeto@JSZETO-XP on 2007/12/19 19:48:51 Flex SDK Bug Fix SDK-14062 - AIR: DragProxy does not show up in DataGrid when running in AIR. Added a measure function to DataGridDragProxy so that it will properly participate in measurement/layout validation. Bugs: SDK-14062 QA: Yes Doc: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridDragProxy.as

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridDragProxy.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridDragProxy.as
@@ -159,6 +159,29 @@

 		invalidateDisplayList();
 	}
+
+	override protected function measure():void
+	{
+		super.measure();
+
+		var w:Number = 0;
+		var h:Number = 0;
+		var child:UIComponent;
+
+		for (var i:int = 0; i < numChildren; i++)
+		{
+			child = getChildAt(i) as UIComponent;
+
+			if (child)
+			{
+				w = Math.max(w, child.x + child.width);
+				h = Math.max(h, child.y + child.height);
+			}
+		}
+
+		measuredWidth = measuredMinWidth = w;
+		measuredHeight = measuredMinHeight = h;
+	}
 }

 }


add more style props

add more style props

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleCSSStyles.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleCSSStyles.as
@@ -88,6 +88,7 @@
         public var fontFamily:*;
         public var fontSize:*;
         public var color:*;
+        public var backgroundAlpha:*;
         public var backgroundColor:*;
         public var backgroundImage:*;
         public var borderColor:*;


Transferred from the Adobe Open Source Subversion Repository

Revision: 19623
Author:   chiedozi@adobe.com
Date:     2011-01-06T18:18:13.089516Z

Log Message:
-----------
Fixed a small issue in the view navigator skins that allowed layout to run when includeInLayout was set to false on the contentGroup.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as
@@ -192,15 +192,18 @@
             actionBar.setStyle("backgroundAlpha", backgroundAlpha);
         }

-        // If the hostComponent is in overlay mode, the contentGroup extends
-        // the entire bounds of the navigator and the alpha for the action
-        // bar changes
-        // If this changes, also update validateEstimatedSizesOfChild
-        var contentGroupHeight:Number = (_isOverlay) ? unscaledHeight : Math.max(unscaledHeight - actionBarHeight, 0);
-        var contentGroupPosition:Number = (_isOverlay) ? 0 : actionBarHeight;
-
-        contentGroup.setLayoutBoundsSize(unscaledWidth, contentGroupHeight);
-        contentGroup.setLayoutBoundsPosition(0, contentGroupPosition);
+        if (contentGroup.includeInLayout)
+        {
+            // If the hostComponent is in overlay mode, the contentGroup extends
+            // the entire bounds of the navigator and the alpha for the action
+            // bar changes
+            // If this changes, also update validateEstimatedSizesOfChild
+            var contentGroupHeight:Number = (_isOverlay) ? unscaledHeight : Math.max(unscaledHeight - actionBarHeight, 0);
+            var contentGroupPosition:Number = (_isOverlay) ? 0 : actionBarHeight;
+
+            contentGroup.setLayoutBoundsSize(unscaledWidth, contentGroupHeight);
+            contentGroup.setLayoutBoundsPosition(0, contentGroupPosition);
+        }
     }
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 18474
Author:   aglosban@adobe.com
Date:     2010-11-05T18:50:24.896629Z

Log Message:
-----------
QE notes: Merge change 18471 from 3.x to hero_private. This is the bug fix for Watson # 2749575. The API -- mx.messaging.messages.MessagePerformanceUtils; associated attributes/properties like totalTime are returning negative values

Change adding set method for receive time to avoid it override the value set by detecting it is an OUT infoType

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

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceInfo.as

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

--- frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceInfo.as
+++ frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceInfo.as
@@ -79,7 +79,7 @@
 	 	 *  @productversion BlazeDS 4
 	 	 *  @productversion LCDS 3
 	 	 */
-		public var receiveTime:Number;
+		private var _receiveTime:Number;

 		/**
 	 	 * Amount of time in milliseconds that this message was being processed on the server
@@ -222,7 +222,7 @@
 			if (_infoType=="OUT")
 			{
 				var curDate:Date = new Date();
-				this.receiveTime = curDate.getTime();
+				this._receiveTime = curDate.getTime();
 			}
 		}

@@ -241,6 +241,34 @@
 		{
 			return this._infoType;
 		}
-
-	}
+
+        /**
+         *  Sets reveive time of this message.
+         *  When the infoType is "OUT", we should skip override the receive time
+         *  See the set infoType for details
+         *
+         * @param time - the receive time to set
+         */
+        public function set receiveTime(time:Number):void
+        {
+            // Check whether infoType is out and receiveTime would already set
+            // If it is the case, we should skip the reset the receive time of the message
+            if (_infoType == null || _infoType != "OUT")
+            {
+                //var curDate:Date = new Date();
+                this._receiveTime = time;
+            }
+        }
+
+        /**
+         *  Get the receive time of this message (IN or OUT).
+         *
+         * @return Number the receive time that the client receives the message
+         */
+        public function get receiveTime():Number
+        {
+            return this._receiveTime;
+        }
+
+    }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 18031
Author:   klin@adobe.com
Date:     2010-10-06T18:01:29.650399Z

Log Message:
-----------
Enable column visibility to change at runtime. When column.visible is changed, it will cause the columns IList to dispatch a CollectionEventKind.UPDATE event for the Grid to handle. The Grid then fixes up GridDimensions and clears the layout cache.

Grid.as - Added columns_visibleChangedHandler which is called when the Grid gets an UPDATE event from the columns IList. It clears the columns that are changing and sets their typical and actual width to the correct values in gridDimensions.

GridColumn.as - visible property now dispatches a CollectionEvent on the columns IList.

GridDimensions.as, GridLayout.as, GridSelection.as - various small fixes to make this all work.

QE notes: No
Doc notes: No
Bugs: SDK-26843
Reviewer: Hans
Tests run: cyclone server
Is noteworthy for integration: No

Modified Paths:
--------------
<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/GridSelection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridDimensions.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
@@ -889,8 +889,9 @@
     {
         // Find the index of the last isAdd=true cell region that contains
         // row,columnIndex.
+        const cellRegionsLength:int = cellRegions.length;
         var index:int = -1;
-        for (var i:int = 0; i < cellRegions.length; i++)
+        for (var i:int = 0; i < cellRegionsLength; i++)
         {
             var cr:CellRect = cellRegions[i];
             if (cr.isAdd && cr.containsCell(rowIndex, columnIndex))
@@ -903,7 +904,7 @@

         // Starting with index, if any subsequent isAdd=false cell region
         // contains row,columnIndex return false.
-        for (i = index + 1; i < cellRegions.length; i++)
+        for (i = index + 1; i < cellRegionsLength; i++)
         {
             cr = cellRegions[i];
             if (!cr.isAdd && cr.containsCell(rowIndex, columnIndex))


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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


Transferred from the Adobe Open Source Subversion Repository

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

--- frameworks/projects/spark/src/spark/accessibility/TitleWindowAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/TitleWindowAccImpl.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2004-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 spark.accessibility
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6257
Author:   smgilson@adobe.com
Date:     2009-04-24T21:28:52.430843Z

Log Message:
-----------
ASDoc edits for effects

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/IAnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/IEaser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/RepeatBehavior.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EasingFraction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/IInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/RGBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/ArrayInterpolator.as</path>

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

--- frameworks/projects/spark/src/spark/effects/animation/RepeatBehavior.as
+++ frameworks/projects/spark/src/spark/effects/animation/RepeatBehavior.as
@@ -11,11 +11,11 @@
 package spark.effects.animation
 {
 /**
- * Provides utility constants for use with repeatBehavior
- * property of Animate and Animation.
+ *  The RepeatBehavior class defines constants for use with repeatBehavior
+ *  property of the Animate and Animation classes.
  *
- * @see spark.effects.Animate#repeatBehavior
- * @see Animation#repeatBehavior
+ *  @see spark.effects.Animate#repeatBehavior
+ *  @see Animation#repeatBehavior
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -25,9 +25,7 @@
 public final class RepeatBehavior
 {
     /**
-     * A utility constant for use with the repeatBehavior
-     * property of the Animate and Animation classes. This value specifies
-     * that a repeating animation should progress in a forward direction on
+     * Specifies that a repeating animation should progress in a forward direction on
      * every iteration.
      *
      *  @langversion 3.0
@@ -38,9 +36,7 @@
     public static const LOOP:String = "loop";

     /**
-     * A utility constant for use with the repeatBehavior
-     * property of the Animate and Animation classes. This value specifies
-     * that a repeating animation should reverse direction on
+     * Specifies that a repeating animation should reverse direction on
      * every iteration.
      *
      *  @langversion 3.0


Added updated property set to true the first time the record is updated

--- collect-flex/collect-flex-client/src/generated/flex/org/openforis/collect/model/proxy/RecordProxy.as
+++ collect-flex/collect-flex-client/src/generated/flex/org/openforis/collect/model/proxy/RecordProxy.as
@@ -16,6 +16,8 @@
     [RemoteClass(alias="org.openforis.collect.model.proxy.RecordProxy")]
     public class RecordProxy extends RecordProxyBase {

+		private var _updated:Boolean = false;
+
 		private var validationResults:ValidationResultsProxy;

 		public function getNode(id:int):NodeProxy {
@@ -30,7 +32,7 @@
 			for each (var response:UpdateResponse in responses)	{
 				processResponse(response);
 			}
-
+			_updated = true;
 		}

 		private function processResponse(response:UpdateResponse):void {
@@ -76,9 +78,9 @@
 			}
 		}

-		private function updateMaxCountValidations(value:ValidationResultsProxy):void {
+		public function get updated():Boolean {
+			return _updated;
 		}
-
-
+
     }
 }


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

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

 package mx.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 10955
Author:   jszeto@adobe.com
Date:     2009-10-09T19:34:12.315199Z

Log Message:
-----------
ComboBox initial checkin

The ComboBox component is similar to a DropDownList but has a TextInput instead of a Label. A user can type into the TextInput and the dropDown will scroll to and highlight the closest match.

Users are allowed to type in an item not found in the dataProvider. With this behavior, a ComboBox acts as a list of suggested values, while a DropDownList acts as a list of possible values.

The full spec is located here:
http://opensource.adobe.com/wiki/display/flexsdk/Spark+ComboBox

This checkin includes the following:
- All public APIs implemented
- All styles implemented (except for cornerRadius)
- Basic keyboard and mouse interaction working
- Spark and Wireframe skins implemented
- Added custom selectedItem support to ListBase

What is missing:
- The keyboard and mouse interactions are partially implemented.
- The TextInput caret and selection behaviors are not implemented
- The changing event is not cancellable if setting a custom selected item
- Need to refactor DropDownList into DropDownList and DropDownListBase

QE notes: None
Doc notes: None
Bugs: None
Reviewer: Glenn
Tests run: List, DropDownList
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ComboBoxButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/WireframeClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ComboBoxTextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ComboBoxButtonSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -13,21 +13,21 @@
 {
 import flash.events.Event;

+import mx.collections.IList;
+import mx.core.IVisualElement;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+import mx.events.CollectionEvent;
+import mx.events.CollectionEventKind;
+import mx.events.FlexEvent;
+
+import spark.components.IItemRenderer;
+import spark.components.IItemRendererOwner;
 import spark.components.SkinnableDataContainer;
-import spark.components.IItemRendererOwner;
-import spark.components.IItemRenderer;
 import spark.events.IndexChangeEvent;
 import spark.events.RendererExistenceEvent;
 import spark.layouts.supportClasses.LayoutBase;
-import spark.utils.LabelUtil;
-
-import mx.collections.IList;
-import mx.core.IVisualElement;
-import mx.core.mx_internal;
-import mx.core.UIComponent;
-import mx.events.FlexEvent;
-import mx.events.CollectionEvent;
-import mx.events.CollectionEventKind;
+import spark.utils.LabelUtil;

 use namespace mx_internal;  //ListBase and List share selection properties that are mx_internal

@@ -125,7 +125,7 @@
      *  @private
      *  Static constant representing no proposed selection.
      */
-    private static const NO_PROPOSED_SELECTION:int = -2;
+    mx_internal static const NO_PROPOSED_SELECTION:int = -2;

     /**
      *  @private
@@ -151,6 +151,9 @@
     {
         super();
     }
+
+    mx_internal var allowCustomSelectedItem:Boolean = true;
+    mx_internal static var CUSTOM_SELECTED_ITEM:int = -3;

     //--------------------------------------------------------------------------
     //
@@ -400,7 +403,8 @@
     //  selectedItem
     //----------------------------------

-    private var _pendingSelectedItem:*;
+    mx_internal var _pendingSelectedItem:*;
+    private var _selectedItem:*;

     [Bindable("change")]
     /**
@@ -433,10 +437,13 @@
         if (_pendingSelectedItem !== undefined)
             return _pendingSelectedItem;

+        if (selectedIndex == CUSTOM_SELECTED_ITEM)
+            return _selectedItem;
+
         if (selectedIndex == NO_SELECTION || dataProvider == null)
            return undefined;

-        return dataProvider.getItemAt(selectedIndex);
+        return dataProvider.length > selectedIndex ? dataProvider.getItemAt(selectedIndex) : undefined;
     }

     /**
@@ -670,6 +677,13 @@
         {
             if (dataProvider)
                 _proposedSelectedIndex = dataProvider.getItemIndex(_pendingSelectedItem);
+
+            if (allowCustomSelectedItem && _proposedSelectedIndex == -1)
+            {
+				_proposedSelectedIndex = CUSTOM_SELECTED_ITEM;
+                _selectedItem = _pendingSelectedItem;
+            }
+
             _pendingSelectedItem = undefined;
         }

@@ -906,7 +920,8 @@

         _caretIndex = value;

-        itemShowingCaret(caretIndex, true);
+		if (caretIndex != CUSTOM_SELECTED_ITEM)
+        	itemShowingCaret(caretIndex, true);
     }

     /**
@@ -927,15 +942,18 @@
         var oldSelectedIndex:int = _selectedIndex;
         var oldCaretIndex:int = _caretIndex;

-        if (_proposedSelectedIndex < NO_SELECTION)
-            _proposedSelectedIndex = NO_SELECTION;
-        if (_proposedSelectedIndex > maxIndex)
-            _proposedSelectedIndex = maxIndex;
-        if (requireSelection && _proposedSelectedIndex == NO_SELECTION &&
-            dataProvider && dataProvider.length > 0)
-        {
-            _proposedSelectedIndex = NO_PROPOSED_SELECTION;
-            return false;
+        if (_proposedSelectedIndex != CUSTOM_SELECTED_ITEM)
+        {
+            if (_proposedSelectedIndex < NO_SELECTION)
+                _proposedSelectedIndex = NO_SELECTION;
+            if (_proposedSelectedIndex > maxIndex)
+                _proposedSelectedIndex = maxIndex;
+            if (requireSelection && _proposedSelectedIndex == NO_SELECTION &&
+                dataProvider && dataProvider.length > 0)
+            {
+                _proposedSelectedIndex = NO_PROPOSED_SELECTION;
+                return false;
+            }
         }

         // Step 2: dispatch the "changing" event. If preventDefault() is called
@@ -953,7 +971,7 @@
         // Step 3: commit the selection change and caret change
         if (_selectedIndex != NO_SELECTION)
             itemSelected(_selectedIndex, false);
-        if (_proposedSelectedIndex != NO_SELECTION)
+        if (_proposedSelectedIndex != NO_SELECTION && _proposedSelectedIndex != CUSTOM_SELECTED_ITEM)
             itemSelected(_proposedSelectedIndex, true);
         _selectedIndex = _proposedSelectedIndex;
         setCurrentCaretIndex(_proposedSelectedIndex);


Transferred from the Adobe Open Source Subversion Repository

Revision: 5098
Author:   gauravj@adobe.com
Date:     2009-02-27T02:21:27.489350Z

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

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

Modified Paths:
--------------
151 paths were modified

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -29,6 +29,11 @@
  *  on the event will prevent the selection from changing.
  *
  *  @eventType mx.events.IndexChangedEvent.SELECTION_CHANGING
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="selectionChanging", type="mx.events.IndexChangedEvent")]

@@ -36,12 +41,22 @@
  *  Dispatched after the selection has changed.
  *
  *  @eventType mx.events.IndexChangedEvent.SELECTION_CHANGED
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="selectionChanged", type="mx.events.IndexChangedEvent")]

 /**
  *  The FxListBase class is the base class for all components that support
  *  selection.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class FxListBase extends FxDataContainer
 {
@@ -73,6 +88,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function FxListBase()
     {
@@ -98,6 +118,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function set dataProvider(value:IList):void
     {
@@ -164,6 +189,11 @@
      *

      *
      *  @default -1
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get selectedIndex():int
     {
@@ -211,6 +241,11 @@
      *

      *
      *  @default undefined
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get selectedItem():*
     {
@@ -259,6 +294,11 @@
      *  or -1 if there are no items.
      *
      *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get requiresSelection():Boolean
     {
@@ -429,6 +469,11 @@
      *
      *  @param selected true if the item is selected,
      *  and false if it is deselected.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     protected function itemSelected(index:int, selected:Boolean):void
     {
@@ -447,6 +492,11 @@
      *  @param item The item whose selection status is being checked
      *
      *  @return true if the item is selected, false otherwise.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function isItemSelected(item:Object):Boolean
     {
@@ -461,6 +511,11 @@
      *  @param index The index of the item whose selection status is being checked
      *
      *  @return true if the item at that index is selected, false otherwise.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function isItemIndexSelected(index:int):Boolean
     {
@@ -546,6 +601,11 @@
      *  the selectedIndex is adjusted.

      *
      *  @param newIndex The new index.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     protected function adjustSelectedIndex(newIndex:int):void
     {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -9,22 +9,22 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-package mx.components.baseClasses
+package spark.components.supportClasses
 {
 import flash.events.Event;

 import mx.events.FlexEvent;
-import mx.events.RendererExistenceEvent;
+import spark.events.RendererExistenceEvent;

 import mx.collections.IList;
-import mx.components.FxDataContainer;
-import mx.components.ItemRenderer;
-import mx.components.IItemRendererOwner;
+import spark.components.SkinnableDataContainer;
+import spark.components.supportClasses.ItemRenderer;
+import spark.components.IItemRendererOwner;
 import mx.core.IVisualElement;
 import mx.events.IndexChangedEvent;
 import mx.events.CollectionEvent;
 import mx.events.CollectionEventKind;
-import mx.utils.LabelUtil;
+import spark.utils.LabelUtil;

 /**
  *  Dispatched when the selection is going to change.
@@ -53,7 +53,7 @@
 [Event(name="selectionChanged", type="mx.events.IndexChangedEvent")]

 /**
- *  The FxListBase class is the base class for all components that support
+ *  The ListBase class is the base class for all components that support
  *  selection.
  *
  *  @langversion 3.0
@@ -61,7 +61,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class FxListBase extends FxDataContainer implements IItemRendererOwner
+public class ListBase extends SkinnableDataContainer implements IItemRendererOwner
 {
     include "../../core/Version.as";

@@ -97,7 +97,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function FxListBase()
+    public function ListBase()
     {
         super();
     }


Remove 'removeAllCallback' function from signal file

--- src/aerys/minko/type/Signal.as
+++ src/aerys/minko/type/Signal.as
@@ -21,12 +21,6 @@
 		public function Signal(name : String)
 		{
 			_name = name;
-		}
-
-		public function removeAllCallback() : void
-		{
-			for (var callbackIndex : int = _numCallbacks - 1; callbackIndex >= 0; --callbackIndex)
-				remove(_callbacks[callbackIndex]);
 		}

 		public function add(callback : Function) : void


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/automation/src/mx/automation/delegates/controls/ToggleButtonBarAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/controls/ToggleButtonBarAutomationImpl.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.automation.delegates.controls
 {


Fixed migrate bloc not saving

Fixed migrate bloc not saving

--- src/Actions/MoveBlocAction.as
+++ src/Actions/MoveBlocAction.as
@@ -45,6 +45,7 @@

 			bloc.place(newLoc);
 			U.state.actionStack.push(new MigrateBlocAction(bloc, newLoc, oldLoc, cLastAction.history));
+			U.state.save();
 		}

 		override public function execute():Action {


Removed modes

Removed modes

--- src/LevelStates/LevelState.as
+++ src/LevelStates/LevelState.as
@@ -39,7 +39,6 @@

 		protected var displayWires:Vector.<DWire>;
 		protected var displayModules:Vector.<DModule>;
-		protected var mode:int = MODE_CONNECT;
 		public var viewMode:int = VIEW_MODE_NORMAL;
 		protected var listOpen:int;
 		protected var UIChanged:Boolean;
@@ -166,7 +165,7 @@
 			if (level.delay) {
 				if (!displayDelay)
 					midLayer.add(displayDelay = new DDelay(modules, displayModules));
-				displayDelay.interactive = MODE_DELAY == mode;
+				displayDelay.interactive = false; //TODO
 			}
 		}

@@ -198,8 +197,7 @@
 		}

 		protected function makeEditLists():void {
-			LIST_MODES == listOpen ? makeModeMenu() : makeModeButton();
-			if (mode == MODE_MODULE)
+			if (level.allowedModules.length)
 				switch (listOpen) {
 					case LIST_MODULES: makeModuleList(); break;
 					case LIST_CATEGORIES: makeModuleCatList(); break;
@@ -325,48 +323,6 @@
 			upperLayer.add(testButton);
 		}

-		protected function makeModeButton():void {
-			var modeButton:MenuButton = new GraphicButton(10, 10, MODE_SPRITES[mode], function openList():void {
-				listOpen = LIST_MODES;
-				makeUI();
-			}, "Display list of edit modes", new Key("TAB"));
-			upperLayer.add(modeButton);
-		}
-
-		protected function makeModeMenu():void {
-			if (currentModule) {
-				currentModule.exists = false;
-				currentModule = null;
-			}
-
-			var modes:Array = [MODE_CONNECT, MODE_REMOVE];
-			if (level.allowedModules.length)
-				modes.push(MODE_MODULE);
-			if (level.delay)
-				modes.push(MODE_DELAY);
-
-			var modeSelectButtons:Vector.<MenuButton> = new Vector.<MenuButton>;
-			for each (var newMode:int in modes) {
-				modeSelectButtons.push(new GraphicButton( -1, -1, MODE_SPRITES[newMode], function selectMode(newMode:int):void {
-					mode = newMode;
-					if (MODE_DELAY == mode)
-						viewMode = VIEW_MODE_DELAY;
-					if (listOpen == LIST_MODES) {
-						listOpen = LIST_NONE;
-						makeUI();
-					}
-				}, "Enter "+MODE_NAMES[newMode]+" mode. "+MODE_DESCRIPTIONS[newMode], ControlSet.NUMBER_HOTKEYS[modes.indexOf(newMode)+1]).setParam(newMode).setSelected(newMode == mode));
-			}
-
-			var modeList:ButtonList = new ButtonList(5, 5, modeSelectButtons, function onListClose():void {
-				if (listOpen == LIST_MODES)
-					listOpen = LIST_NONE;
-				makeUI();
-			});
-			modeList.setSpacing(4);
-			upperLayer.add(modeList);
-		}
-
 		protected function makeViewModeButton():void {
 			var modeButton:MenuButton = new GraphicButton(90, 10, VIEW_MODE_SPRITES[viewMode], function openList():void {
 				listOpen = LIST_VIEW_MODES;
@@ -385,8 +341,6 @@
 			for each (var newMode:int in [VIEW_MODE_NORMAL, VIEW_MODE_DELAY]) {
 				modeSelectButtons.push(new GraphicButton( -1, -1, VIEW_MODE_SPRITES[newMode], function selectMode(newMode:int):void {
 					viewMode = newMode;
-					if (MODE_DELAY == mode)
-						mode = MODE_CONNECT;
 					if (LIST_VIEW_MODES == listOpen ) {
 						listOpen = LIST_NONE;
 						makeUI();
@@ -404,7 +358,7 @@
 		}

 		protected function makeModuleCatButton():void {
-			var listButton:GraphicButton = new GraphicButton(130, 10, _list_sprite, function openList():void {
+			var listButton:GraphicButton = new GraphicButton(10, 10, _list_sprite, function openList():void {
 				if (currentModule) {
 					currentModule.exists = false;
 					currentModule = null;
@@ -461,7 +415,7 @@
 			}

 			//put 'em in a list
-			moduleList = new ButtonList(125, 5, moduleButtons, function onListClose():void {
+			moduleList = new ButtonList(5, 5, moduleButtons, function onListClose():void {
 				if (listOpen == LIST_CATEGORIES)
 					listOpen = LIST_NONE;
 				makeUI();
@@ -518,7 +472,7 @@
 			}

 			//put 'em in a list
-			moduleList = new ButtonList(125, 5, moduleButtons, function onListClose():void {
+			moduleList = new ButtonList(5, 5, moduleButtons, function onListClose():void {
 				if (listOpen == LIST_MODULES)
 					listOpen = LIST_NONE;
 				makeUI();
@@ -594,64 +548,57 @@
 			if (time.moment)
 				return; //no fucking around when shit is running!

-			switch (mode) {
-				case MODE_CONNECT:
-					checkConnectControls();
-					break;
-				case MODE_MODULE:
-					checkModuleControls();
-					break;
-				case MODE_REMOVE:
-					checkRemoveControls();
-					break;
-			}
-
-			if (ControlSet.DELETE_KEY.pressed() && !currentWire && !currentModule) {
-				destroyModules();
-				destroyWires();
-			}
-		}
-
-		protected function checkConnectControls():void {
-			if (currentWire) {
-				if (FlxG.mouse.pressed())
-					currentWire.attemptPathTo(U.pointToGrid(U.mouseLoc), true)
-				else {
-					new CustomAction(Wire.place, Wire.remove, currentWire).execute();
-					currentWire = null;
-				}
-			} else if (FlxG.mouse.justPressed() && !U.buttonManager.moused) {
-				currentWire = new Wire(U.pointToGrid(U.mouseLoc))
-				displayWires.push(midLayer.add(new DWire(currentWire)));
-			}
-
-
-			if (currentWire && ControlSet.CANCEL_KEY.justPressed()) {
-				currentWire.exists = false;
-				currentWire = null;
-			}
-		}
-
-		protected function checkModuleControls():void {
-			if (currentModule) {
-				var mousePoint:Point = U.pointToGrid(U.mouseLoc);
-				currentModule.x = mousePoint.x;
-				currentModule.y = mousePoint.y;
-
-				if (FlxG.mouse.justPressed() && !preserveModule) {
-					if (U.buttonManager.moused) {
-						currentModule.exists = false;
-						currentModule = null;
-					} else if (currentModule.validPosition)
-						placeModule();
-				}
-			} else {
-				if (FlxG.mouse.justPressed() && !U.buttonManager.moused) {
+			if (currentModule)
+				checkModuleControls();
+			else if (currentWire)
+				checkWireControls();
+			else if (FlxG.mouse.justPressed() && !U.buttonManager.moused) {
+				if (findMousedModule()) {
 					if (ControlSet.MODIFIER_KEY.pressed())
 						addEditSliderbar();
 					else
 						pickUpModule();
-				}
+				} else {
+					currentWire = new Wire(U.pointToGrid(U.mouseLoc))
+					displayWires.push(midLayer.add(new DWire(currentWire)));
+				}
+			}
+
+			if (ControlSet.DELETE_KEY.pressed() && !currentWire && !currentModule) {
+				destroyModules();
+				destroyWires();
+			}
+		}
+
+		protected function checkModuleControls():void {
+			if (ControlSet.CANCEL_KEY.justPressed()) {
+				currentModule.exists = false;
+				currentModule = null;
+				return;
+			}
+
+			var mousePoint:Point = U.pointToGrid(U.mouseLoc);
+			currentModule.x = mousePoint.x;
+			currentModule.y = mousePoint.y;
+
+			if (FlxG.mouse.justPressed() && !preserveModule) {
+				if (U.buttonManager.moused) {
+					currentModule.exists = false;
+					currentModule = null;
+				} else if (currentModule.validPosition)
+					placeModule();
+			}
+		}
+
+		protected function checkWireControls():void {
+			if (ControlSet.CANCEL_KEY.justPressed()) {
+				currentWire.exists = false;
+				currentWire = null;
+			} else if (FlxG.mouse.pressed())
+				currentWire.attemptPathTo(U.pointToGrid(U.mouseLoc), true)
+			else {
+				new CustomAction(Wire.place, Wire.remove, currentWire).execute();
+				currentWire = null;
 			}
 		}

@@ -697,12 +644,7 @@
 			return null;
 		}

-		protected function checkRemoveControls():void {
-			if (FlxG.mouse.pressed()) {
-				destroyModules();
-				destroyWires();
-			}
-		}
+

 		protected function checkMenuState():void {
 			undoButton.setExists(canUndo());
@@ -715,8 +657,7 @@

 			checkCursorState();

-			if (mode == MODE_MODULE)
-				checkModuleState();
+			checkModuleListState();
 		}

 		protected var cursorGraphic:Class;
@@ -727,45 +668,25 @@
 			var offsetY:int = 0;
 			var hide:Boolean;

-			if (listOpen == LIST_NONE && !time.moment)
-				switch (mode) {
-					case MODE_CONNECT:
-						if (!U.buttonManager.moused && !findMousedModule())
-							newGraphic = _pen_cursor;
-						break;
-					case MODE_REMOVE:
-						if (!U.buttonManager.moused) {
-							newGraphic = _remove_cursor;
-							offsetX = offsetY = -14;
+			if (listOpen == LIST_NONE && !time.moment && !U.buttonManager.moused) {
+				if (currentModule)
+					hide = true;
+				else {
+					var mousedModule:Module = findMousedModule();
+					if (!mousedModule)
+						newGraphic = _pen_cursor;
+					else if (!mousedModule.FIXED) {
+						if (ControlSet.MODIFIER_KEY.pressed() && mousedModule.configurableInPlace && mousedModule.getConfiguration()) {
+							newGraphic = _wrench_cursor;
+							offsetX = offsetY = -3;
+						} else {
+							newGraphic = _grab_cursor;
+							offsetX = -4;
+							offsetY = -3;
 						}
-						break;
-					case MODE_MODULE:
-						if (currentModule) {
-							hide = true;
-							break;
-						}
-
-						var mousedModule:Module = findMousedModule();
-						if (mousedModule && !mousedModule.FIXED) {
-							if (ControlSet.MODIFIER_KEY.pressed() && mousedModule.configurableInPlace && mousedModule.getConfiguration()) {
-								newGraphic = _wrench_cursor;
-								offsetX = offsetY = -3;
-							} else {
-								newGraphic = _grab_cursor;
-								offsetX = -4;
-								offsetY = -3;
-							}
-						}
-
-						break;
-					case MODE_DELAY:
-						if (findMousedModule()) {
-							newGraphic = _delay_cursor
-							offsetX = -9;
-							offsetY = -14;
-						}
-						break;
-				}
+					}
+				}
+			}

 			if (hide || !upperLayer.visible) {
 				FlxG.mouse.hide();
@@ -780,12 +701,7 @@
 			}
 		}

-		protected function checkModuleState():void {
-			if (currentModule && ControlSet.CANCEL_KEY.justPressed()) {
-				currentModule.exists = false;
-				currentModule = null;
-			}
-
+		protected function checkModuleListState():void {
 			var moduleSlider:ModuleSlider;
 			if (moduleList && !moduleList.exists) {
 				moduleList = null;
@@ -1138,16 +1054,10 @@
 			U.buttonManager.destroy();
 		}

-		protected const MODE_MODULE:int = 0;
-		protected const MODE_CONNECT:int = 1;
-		protected const MODE_REMOVE:int = 2;
-		protected const MODE_DELAY:int = 3;
-
 		public const VIEW_MODE_NORMAL:int = 0;
 		public const VIEW_MODE_DELAY:int = 1;

 		protected const LIST_NONE:int = 0;
-		protected const LIST_MODES:int = 1;
 		protected const LIST_CATEGORIES:int = 2;
 		protected const LIST_MODULES:int = 3;
 		protected const LIST_ZOOM:int = 4;
@@ -1155,17 +1065,6 @@

 		protected const SUCCESS_SUFFIX:String = '-succ';
 		protected const RESET_SAVE:String = U.SAVE_DELIM + U.SAVE_DELIM + U.SAVE_DELIM + U.SAVE_DELIM;
-
-		[Embed(source = "../../lib/art/ui/module.png")] private const _module_sprite:Class;
-		[Embed(source = "../../lib/art/ui/wire.png")] private const _connect_sprite:Class;
-		[Embed(source = "../../lib/art/ui/remove.png")] private const _remove_sprite:Class;
-		[Embed(source = "../../lib/art/ui/delay.png")] private const _delay_sprite:Class;
-		private const MODE_SPRITES:Array = [_module_sprite, _connect_sprite, _remove_sprite, _delay_sprite];
-		private const MODE_NAMES:Array = ["module", "wire", "delete", "delay"];
-		private const MODE_DESCRIPTIONS:Array = ["Select modules to place from the drop-down menu; click to move or press DELETE to delete.",
-												 "Click and drag to place wires; place DELETE to delete them.",
-												 "Click to delete modules and wires.",
-												 "Mouse to see delay starting from modules; click to see delays along paths."];

 		[Embed(source = "../../lib/art/ui/eye.png")] private const _view_normal_sprite:Class;
 		[Embed(source = "../../lib/art/ui/eye_delayb.png")] private const _view_delay_sprite:Class;


Removed DTime except when testing

Removed DTime except when testing

--- src/LevelStates/LevelState.as
+++ src/LevelStates/LevelState.as
@@ -174,12 +174,9 @@
 			makeDataButton();
 			makeInfoButton();
 			makeBackButton();
-			if (editEnabled)
-				upperLayer.add(displayTime = new DTime(FlxG.width / 2 - 50, 10))
-			else {
+			if (runningDisplayTest) {
 				upperLayer.add(displayTime);
-				if (runningDisplayTest)
-					makeEndTestButton();
+				makeEndTestButton();
 			}
 		}

@@ -234,7 +231,7 @@
 		private function makeDataButton():void {
 			var memoryButton:MenuButton = new GraphicButton(50, 90, _data_sprite, function _():void {
 				upperLayer.add(new DMemory(memory, level.goal.genExpectedMem()));
-			}, "View contents of memory", new Key("E"));
+			}, runningDisplayTest ? "View memory" : "View example memory", new Key("E"));
 			upperLayer.add(memoryButton);
 		}

@@ -290,12 +287,12 @@
 					initialMemory = level.goal.genMem();
 					memory = initialMemory.slice();
 					upperLayer.add(new DMemory(memory, level.goal.genExpectedMem()));
-				}, "Generate new memory", new Key("R"));
+				}, "Generate new example memory", new Key("R"));
 				upperLayer.add(randomButton);
 			}

 			if (level.goal.dynamicallyTested) {
-				var testButton:MenuButton = new GraphicButton(FlxG.width / 2 - 16, 40, _test_sprite, function _():void {
+				var testButton:MenuButton = new GraphicButton(FlxG.width / 2 - 16, 10, _test_sprite, function _():void {
 					level.goal.startRun();
 					lastRunTime = elapsed;
 				}, "Test your machine!", new Key("T"));
@@ -1146,6 +1143,7 @@

 		private function runDisplayTest():void {
 			time.reset();
+			upperLayer.add(displayTime = new DTime(FlxG.width / 2 - 50, 10))
 			displayTime.startPlaying();
 			runningDisplayTest = true;
 		}