FLEX-33524: Combined a few methods and reduced redundant code.

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as
@@ -515,10 +515,45 @@
     //--------------------------------------------------------------------------

     /**
-    *  Disable a ButtonBar's Button referencing it by the ButtonBarbutton's label.
+    *  Gets the index for several of a ButtonBar's Buttons, referencing them by the ButtonBarbutton's label.
     *
-    *
The function takes a single argument which is the ButtonBarButtons label.

-    *
myButtonBar.disableButton("My Button Label")

+    *
The method takes an array of ButtonBarButtons label and an optional field name.

+    *
myButtonBar.getButtonIndices(["My Button Label1", "My Label2"])

+    *
+    *  @param labelValues Are the ButtonBarButton labels to find.
+    *  @param fieldName Field used for comparing the label (optional)
+    *
+    *  @langversion 3.0
+    *  @playerversion Flash 11.1
+    *  @playerversion AIR 3.4
+    *  @productversion Flex 4.10
+    */
+    public function getButtonIndices(labelValues:Array, fieldName:String = ""):Array
+    {
+        var buttonIndices:Array;
+
+
+        if (!dataGroup || labelValues.length < 1 || labelValues == null)
+        {
+            return [];
+        }
+
+        if (fieldName == "" || fieldName == null)
+        {
+            return findRowIndices(labelField, labelValues);
+        }
+        else
+        {
+            return findRowIndices(fieldName, labelValues);
+        }
+    }
+
+
+    /**
+    *  Changes the enabled property of a ButtonBar's Button referencing it by the ButtonBarbutton's label.
+    *
+    *
The method takes a single ButtonBarButton label, a new enabled property value, and an optional field name to search for.

+    *
myButtonBar.setButtonEnabled("My Button Label", false)

     *
     *  @param labelValue Is the ButtonBarButton label
     *  @param fieldName Field used for comparing the label
@@ -528,42 +563,17 @@
     *  @playerversion AIR 3.4
     *  @productversion Flex 4.10
     */
-    public function disableButton(labelValue:String, fieldName:String = ""):void
-    {
-        var btnCurrent:ButtonBarButton = null;
-        var buttonIndex:int = -1;
-
-
-        if (!dataGroup || labelValue == "" || labelValue == null)
-        {
-            return;
-        }
-
-        if (fieldName == "" || fieldName == null)
-        {
-            buttonIndex = findRowIndex(labelField, labelValue);
-        }
-        else
-        {
-            buttonIndex = findRowIndex(fieldName, labelValue);
-        }
-
-        if (buttonIndex == -1)
-        {
-            return;
-        }
-
-
-        btnCurrent = dataGroup.getElementAt(buttonIndex) as ButtonBarButton;
-        btnCurrent.enabled = false;
+    public function setButtonEnabled(labelValue:String, enabledValue:Boolean, fieldName:String = ""):void
+    {
+        setButtonsEnabled([labelValue], enabledValue, fieldName);
     }

     /**
     *  Disables several of a ButtonBar's Buttons, referencing them by the ButtonBarbutton's label.
     *
-    *
The function takes a single argument which is the ButtonBarButtons label.

-    *
myButtonBar.disableButtons(["My Button Label1", "My Label2"])

+    *
The method takes an array of ButtonBarButton labels, a new enabled property value, and an optional field name to search for.

+    *
myButtonBar.setButtonsEnabled(["My Button Label1", "My Label2"], false)

     *
     *  @param labelValues Is an array of ButtonBarButton labels.
     *  @param fieldName Field used for comparing the label
@@ -573,7 +583,7 @@
     *  @playerversion AIR 3.4
     *  @productversion Flex 4.10
     */
-    public function disableButtons(labelValues:Array, fieldName:String = ""):void
+    public function setButtonsEnabled(labelValues:Array, enabledValue:Boolean, fieldName:String = ""):void
     {
         var btnCurrent:ButtonBarButton = null;
         var buttonIndices:Array;
@@ -581,22 +591,8 @@
         var loopingIndex:uint = 0;

-        if (!dataGroup || labelValues.length < 1 || labelValues == null)
-        {
-            return;
-        }
-
-        if (fieldName == "" || fieldName == null)
-        {
-            buttonIndices = findRowIndices(labelField, labelValues);
-        }
-        else
-        {
-            buttonIndices = findRowIndices(fieldName, labelValues);
-        }
-
-
-        indicesTotal = buttonIndices.length
+        buttonIndices = getButtonIndices(labelValues, fieldName);
+        indicesTotal = buttonIndices.length;

         if (indicesTotal == 0)
         {
@@ -607,105 +603,7 @@
         for (loopingIndex; loopingIndex < indicesTotal; loopingIndex++)
         {
             btnCurrent = dataGroup.getElementAt(buttonIndices[loopingIndex]) as ButtonBarButton;
-            btnCurrent.enabled = false;
-        }
-    }
-
-
-    /**
-    *  Enable a ButtonBar's Button referencing it by the ButtonBarbutton's label.
-    *
-    *
The function takes a single argument which is the ButtonBarButtons label.

-    *
myButtonBar.enableButton("My Button Label")

-    *
-    *  @param labelValue Is the ButtonBarButton label
-    *  @param fieldName Field used for comparing the label
-    *
-    *  @langversion 3.0
-    *  @playerversion Flash 11.1
-    *  @playerversion AIR 3.4
-    *  @productversion Flex 4.10
-    */
-    public function enableButton(labelValue:String, fieldName:String = ""):void
-    {
-        var btnCurrent:ButtonBarButton = null;
-        var buttonIndex:int = -1;
-
-
-        if (!dataGroup || labelValue == "" || labelValue == null)
-        {
-            return;
-        }
-
-        if (fieldName == "" || fieldName == null)
-        {
-            buttonIndex = findRowIndex(labelField, labelValue);
-        }
-        else
-        {
-            buttonIndex = findRowIndex(fieldName, labelValue);
-        }
-
-        if (buttonIndex == -1)
-        {
-            return;
-        }
-
-
-        btnCurrent = dataGroup.getElementAt(buttonIndex) as ButtonBarButton;
-        btnCurrent.enabled = true;
-    }
-
-
-    /**
-    *  Disables several of a ButtonBar's Buttons, referencing them by the ButtonBarbutton's label.
-    *
-    *
The function takes a single argument which is the ButtonBarButtons label.

-    *
myButtonBar.enableButtons(["My Button Label1", "My Label2"])

-    *
-    *  @param labelValues Is an array of ButtonBarButton labels.
-    *  @param fieldName Field used for comparing the label
-    *
-    *  @langversion 3.0
-    *  @playerversion Flash 11.1
-    *  @playerversion AIR 3.4
-    *  @productversion Flex 4.10
-    */
-    public function enableButtons(labelValues:Array, fieldName:String = ""):void
-    {
-        var btnCurrent:ButtonBarButton = null;
-        var buttonIndices:Array;
-        var indicesTotal:uint = 0;
-        var loopingIndex:uint = 0;
-
-
-        if (!dataGroup || labelValues.length < 1 || labelValues == null)
-        {
-            return;
-        }
-
-        if (fieldName == "" || fieldName == null)
-        {
-            buttonIndices = findRowIndices(labelField, labelValues);
-        }
-        else
-        {
-            buttonIndices = findRowIndices(fieldName, labelValues);
-        }
-
-
-        indicesTotal = buttonIndices.length
-
-        if (indicesTotal == 0)
-        {
-            return;
-        }
-
-
-        for (loopingIndex; loopingIndex < indicesTotal; loopingIndex++)
-        {
-            btnCurrent = dataGroup.getElementAt(buttonIndices[loopingIndex]) as ButtonBarButton;
-            btnCurrent.enabled = true;
+            btnCurrent.enabled = enabledValue;
         }
     }


Slight code cleanup

Slight code cleanup

--- src/org/swiftsuspenders/Injector.as
+++ src/org/swiftsuspenders/Injector.as
@@ -156,14 +156,6 @@
 			mapping.setResult(null);
 		}

-		private function getConfigurationForRequest(clazz : Class, named : String) : InjectionConfig
-		{
-			var requestName : String = getQualifiedClassName(clazz);
-			var mappings : Dictionary = getConfigurationsMapForRequest(requestName, named);
-			var mapping : InjectionConfig = mappings[requestName];
-			return mapping;
-		}
-
 		public function hasMapping(clazz : Class, named : String = '') : Boolean
 		{
 			var mapping : InjectionConfig = getConfigurationForRequest(clazz, named);
@@ -283,6 +275,14 @@
 			}

 			return injectionPoints;
+		}
+
+		private function getConfigurationForRequest(clazz : Class, named : String) : InjectionConfig
+		{
+			var requestName : String = getQualifiedClassName(clazz);
+			var mappings : Dictionary = getConfigurationsMapForRequest(requestName, named);
+			var mapping : InjectionConfig = mappings[requestName];
+			return mapping;
 		}

 		private function getConfigurationsMapForRequest(


Update idiomesAnimation.as

Update idiomesAnimation.as

--- com/segonquart/idiomesAnimation.as
+++ com/segonquart/idiomesAnimation.as
@@ -5,7 +5,7 @@
 class idiomesAnimation extends Movieclip
         {

-  private var arrayLang_arr:Array = new Array ("cat", "es", "en", "fr");
+  	private var arrayLang_arr:Array = new Array ("cat", "es", "en", "fr");

 			function idiomesAnimation():Void


refactor

refactor

--- com/segonquart/idiomesAnimation.as
+++ com/segonquart/idiomesAnimation.as
@@ -1,53 +1,39 @@
-import mx.transitions.easing.*;
+import mx.transitions.easing.*;
 import com.mosesSupposes.fuse.*;
-
-class com.segonquart.idiomesAnimation extends Movieclip
-        {
-
-  	private var arrayLang_arr:Array = new Array ("cat", "es", "en", "fr");
-
-
-	public function idiomesAnimation()
+class com.segonquart.idiomesAnimation extends MovieClip
+{
+	private var arrayLang_arr:Array = new Array ("cat", "es", "en", "fr");
+	public function idiomesAnimation ()
+	{
+		initApp ();
+	}
+	private function initApp (mc:MovieClip):MovieClip
+	{
+		this.stop ();
+		this.onEnterFrame = this.enterSlide;
+		return this;
+	}
+	private function enterSlide ():Void
+	{
+		arrayLang_arr[0].slideTo ('0', '-40', 0.6, 'easeInOutBack', 1);
+		arrayLang_arr[1].slideTo ('0', '-40', 0.8, 'easeInOutBack', 1.1);
+		arrayLang_arr[2].slideTo ('0', '-40', 0.9, 'easeInOutBack', 1.2);
+		arrayLang_arr[3].slideTo ('0', '-40', 1, 'easeInOutBack', 1.3);
+	}
+	public function IdiomesColour ()
+	{
+		var i:Number;
+		this.onRelease = this.arrayColour;
+		var target:Array = this.arrayLang_arr[i];
+		target._tint = 0x8DC60D;
+		return this;
+	}
+	private function arrayColour ()
+	{
+		for (var i:Number = 0; arrayLang_arr[i].length < 4; i++)
 		{
-			this.stop();
-			this.onEnterFrame = this.enterSlide;
-
+			this.colorTo ("#628D22", 0.3, "easeOutCirc");
+			_parent.colorTo ('#4b4b4b', 1, 'linear', .2);
 		}
-
-
-	private function enterSlide()
-                {
-			arrayLang_arr[0].slideTo('0', '-40', 0.6, 'easeInOutBack', 1);
-			arrayLang_arr[1].slideTo('0', '-40', 0.8, 'easeInOutBack', 1.1);
-			arrayLang_arr[2].slideTo('0', '-40', 0.9, 'easeInOutBack', 1.2);
-			arrayLang_arr[3].slideTo('0', '-40', 1, 'easeInOutBack', 1.3);
-
-		}
-
-	public function IdiomesColour()
-		{
-			this.onRelease = this.arrayColour;
-
-			target = this.arrayLang_arr[i];
-			target._tint = 0x8DC60D;
-
-			return this;
-
-		}
-
-	private function arrayColour()
-		{
-
-			for ( var:i:Number=0 ; arrayLang_arr[i].length <4; i++)
-			{
-				this.colorTo("#628D22", 0.3, "easeOutCirc");
-				_parent.colorTo('#4b4b4b', 1, 'linear', .2);
-
-			}
-
-		}
-
-
 	}
-
-
+}


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

--- frameworks/projects/framework/src/mx/core/IRawChildrenContainer.as
+++ frameworks/projects/framework/src/mx/core/IRawChildrenContainer.as
@@ -0,0 +1,47 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.core
+{
+
+/**
+ *  The IRawChildrenContainer interface defines the APIs for containers that
+ *  can return an IChildList that represents all their children.
+ *  This interface should be implemented by any container that has overridden
+ *  IChildList APIs such as numChildren and addChild()
+ *  method to manage only a subset of its actual children.
+ *  The mx.core.Container class, for example, has a set of content children
+ *  separate from the non-content children, such as borders, title bars,
+ *  and dividers.
+ *
+ *  @see mx.core.Container
+ */
+public interface IRawChildrenContainer
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  rawChildren
+	//----------------------------------
+
+	/**
+	 *  Returns an IChildList representing all children.
+	 *  This is used by FocusManager to find non-content children that may
+	 *  still receive focus (for example, components in ControlBars).
+	 */
+	function get rawChildren():IChildList;
+}
+
+}


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

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

 package mx.validators
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8217
Author:   srahim@adobe.com
Date:     2009-06-25T04:31:22.769262Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>

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

--- frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
+++ frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
@@ -75,7 +75,7 @@
  *  that act as a single mutually exclusive control; therefore,
  *  a user can select only one  control at a time.
  *  The id property is required when you use the
- *  <mx:RadioButtonGroup> tag to define the name
+ *  <s:RadioButtonGroup> tag to define the name
  *  of the group.
  *
  *
Notice that the RadioButtonGroup control is a subclass of EventDispatcher,
@@ -93,14 +93,15 @@
  *
  *  @mxml
  *
- *
The <mx:Group> tag inherits all of the
+ *
The <s:Group> tag inherits all of the
  *  tag attributes of its superclass, and adds the following tag attributes:

  *
  *

- *  <mx:RadioButtonGroup
+ *  <s:RadioButtonGroup
  *    Properties
- *    enabled="true|false"
- *    id="No default"
+ *    enabled="true"
+ *    selectedValue="null"
+ *    selection="null"
  *
  *    Events
  *    change="No default"
@@ -108,7 +109,7 @@
  *  />
  *

  *
- *  @see mx.components.RadioButton
+ *  @see spark.components.RadioButton
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -381,8 +382,8 @@
      *  @param index The index of the  control in the
      *  RadioButtonGroup control, where the index of the first control is 0.
      *
-     *  @return The specified RadioButton control if index between
-     *  0 and numRadioButtons, otherwise null.
+     *  @return The specified RadioButton control if index is between
+     *  0 and the value of numRadioButtons, otherwise, null.
      *
      *  @see numRadioButtons
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 3935
Author:   hmuller@adobe.com
Date:     2008-10-28T23:06:19.450100Z

Log Message:
-----------
Fix for 17281, 17751, 17765, and PARB changes: ClipContent now defaults to false, defined ScrollUnit enum and changed IViewport ScrollPositionDelta methods to use it.   Added "get" prefix to the ScrollPositionDelta methods.

Changed the default value of the clipContent property in GroupBase
and FxContainer from true to false.

Scroller now sets the clipContent of its viewport to true.

Removed clipContent="false" from spark skins, since false is
now the default.

Removed a clipContent="false" hack from CircularScrollbar test.

Removed calls to updateScrollRect from layout updateDisplayList()
methods, since the scrollRect is no longer contingent on
the value of the contentWidth,Height properties.  To keep
the scrollRect in sync with a component's size, we call
layout.updateScrollRect() in GroupBase::updateDisplayList()
and FxContainer::updateDisplayList().

Revised (simplified) the LayoutBase::updateScrollRect ASDoc.

Provisional change to make the FxContainer clipContent property work
correctly.

LayoutBase method renames per PARB feedback:
verticalScrollPositionDelta() => getVerticalScrollPositionDelta()
horizontalScrollPositionDelta() => getHorizontalScrollPositionDelta()

Defined a new mx.core.ScrollUnit enum per PARB feedback.  The
IViewport getHorizontal,VerticalScrollPositionDelta() methods now take
a ScrollUnit type argument, instead of a (character code) uint.

QE Notes: clipContent and ScrollUnit changes will break tests
Doc Notes: None
Bugs: sdk-17751, sdk-17257, sdk-17765
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/ScrollUnit.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxCheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxRadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -52,6 +52,7 @@

 import mx.core.IViewport;
 import mx.core.UIComponent;
+import mx.core.ScrollUnit;
 import mx.events.FlexEvent;
 import mx.events.TextOperationEvent;
 import mx.utils.TextUtil;
@@ -455,9 +456,9 @@
     //----------------------------------

     /**
-     *  @copy mx.layout.LayoutBase#horizontalScrollPositionDelta
-     */
-    public function horizontalScrollPositionDelta(unit:uint):Number
+     *  @copy mx.layout.LayoutBase#getHorizontalScrollPositionDelta
+     */
+    public function getHorizontalScrollPositionDelta(unit:ScrollUnit):Number
     {
         // TBD: replace provisional implementation
         var scrollR:Rectangle = scrollRect;
@@ -469,22 +470,22 @@

         switch (unit)
         {
-            case Keyboard.UP:
+            case ScrollUnit.UP:
                 return (scrollR.x <= 0) ? 0 : -1;

-            case Keyboard.DOWN:
+            case ScrollUnit.DOWN:
                 return (scrollR.x >= maxDelta) ? 0 : 1;

-            case Keyboard.PAGE_UP:
+            case ScrollUnit.PAGE_LEFT:
                 return Math.max(minDelta, -scrollR.width);

-            case Keyboard.PAGE_DOWN:
+            case ScrollUnit.PAGE_RIGHT:
                 return Math.min(maxDelta, scrollR.width);

-            case Keyboard.HOME:
+            case ScrollUnit.HOME:
                 return minDelta;

-            case Keyboard.END:
+            case ScrollUnit.END:
                 return maxDelta;

             default:
@@ -657,9 +658,9 @@
     //----------------------------------

     /**
-     *  @copy mx.layout.LayoutBase#horizontalScrollPositionDelta
-     */
-    public function verticalScrollPositionDelta(unit:uint):Number
+     *  @copy mx.layout.LayoutBase#getVerticalScrollPositionDelta
+     */
+    public function getVerticalScrollPositionDelta(unit:ScrollUnit):Number
     {
         // TBD: replace provisional implementation
         var scrollR:Rectangle = scrollRect;
@@ -671,22 +672,22 @@

         switch (unit)
         {
-            case Keyboard.UP:
+            case ScrollUnit.UP:
                 return (scrollR.y <= 0) ? 0 : -1;

-            case Keyboard.DOWN:
+            case ScrollUnit.DOWN:
                 return (scrollR.y >= maxDelta) ? 0 : 1;

-            case Keyboard.PAGE_UP:
+            case ScrollUnit.PAGE_UP:
                 return Math.max(minDelta, -scrollR.height);

-            case Keyboard.PAGE_DOWN:
+            case ScrollUnit.PAGE_DOWN:
                 return Math.min(maxDelta, scrollR.height);

-            case Keyboard.HOME:
+            case ScrollUnit.HOME:
                 return minDelta;

-            case Keyboard.END:
+            case ScrollUnit.END:
                 return maxDelta;

             default:


Transferred from the Adobe Open Source Subversion Repository

Revision: 17165
Author:   cframpto@adobe.com
Date:     2010-08-03T14:10:22.792682Z

Log Message:
-----------
Fix pile of bugs.

- ASdoc is not happy if there is a private variable/getter and a mx_internal variable/getter with the same name in the same class because of bug ASC-4110.  Fix instances of this in UICompoments and Grid.
- SDK-27169. Update the metadata for DG selectionMode.
- SDK-26840.  Turn off the column resize icon until the resize functionality is implemented.
- SDK-26548.  When TI is disabled, also disable RET.
- SDK-26858.  Fix off-by-1 bug in RET.adjustContentBoundsForScroller().  Comment in header was correct, code was not.
- SDK-26951 - For cell mode, preserve selection when REFRESH collection change event.  There is the restriction that if the collection if filtered, the preservedSelection becomes whatever is selected in the filtered collection.  If the filter is then removed, the original selection is not preserved.

QE notes: see restriction on SDK-26951 above
Doc notes:
Bugs: SDK-27169, SDK-26840, SDK-26548, SDK-26868, SDK-26951
Reviewer: Hans
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.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/ColumnHeaderBar.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/SkinnableTextBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -770,6 +770,15 @@
          */
         mx_internal var autoSize:Boolean = false;

+        /**
+         *  @private
+         */
+        private var lastUnscaledWidth:Number;
+        /**
+         *  @private
+         */
+        private var lastUnscaledHeight:Number;
+
         //--------------------------------------------------------------------------
         //
         //  Overridden properties: UIComponent
@@ -2632,6 +2641,9 @@
             }

             _textContainerManager.updateContainer();
+
+            lastUnscaledWidth = unscaledWidth;
+            lastUnscaledHeight = unscaledHeight;
          }

         /**
@@ -3986,8 +3998,8 @@
             // the text flow so we have to be careful to mantain consistency
             // for the scroller.
             if (_textFlow.generation == lastContentBoundsGeneration)
-            {
-                if (bounds.width < _contentWidth)
+            {
+                if (bounds.width <= _contentWidth)
                 {
                     if (_textContainerManager.hostFormat.lineBreak == "toFit")
                     {


Set constant of Folder ID to -1

Set constant of Folder ID to -1

--- flexEditor/src/org/arisgames/editor/util/AppConstants.as
+++ flexEditor/src/org/arisgames/editor/util/AppConstants.as
@@ -125,7 +125,7 @@

 	// Palette Tree Stuff
 	public static const PALETTE_TREE_SELF_FOLDER_ID:Number = 0;
-	public static const PLAYER_GENERATED_MEDIA_FOLDER_ID:Number = 99;
+	public static const PLAYER_GENERATED_MEDIA_FOLDER_ID:Number = -1;
 	public static const PLAYER_GENERATED_MEDIA_FOLDER_NAME:String = "Player Created Items";

     /**


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

--- frameworks/projects/framework/src/mx/events/FlexEvent.as
+++ frameworks/projects/framework/src/mx/events/FlexEvent.as
@@ -0,0 +1,725 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+
+import flash.events.Event;
+
+/**
+ *  The FlexEvent class represents the event object passed to
+ *  the event listener for many Flex events.
+ */
+public class FlexEvent extends Event
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The FlexEvent.ADD constant defines the value of the
+     *  type property of the event object for an add event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType add
+     */
+    public static const ADD:String = "add";
+
+    /**
+     *  The FlexEvent.APPLICATION_COMPLETE constant defines the value of the
+     *  type property of the event object for a applicationComplete event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType applicationComplete
+     */
+    public static const APPLICATION_COMPLETE:String = "applicationComplete";
+
+    /**
+     *  The FlexEvent.BUTTON_DOWN constant defines the value of the
+     *  type property of the event object for a buttonDown event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType buttonDown
+     */
+    public static const BUTTON_DOWN:String = "buttonDown";
+
+    /**
+     *  The FlexEvent.CREATION_COMPLETE constant defines the value of the
+     *  type property of the event object for a creationComplete event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType creationComplete
+     */
+    public static const CREATION_COMPLETE:String = "creationComplete";
+
+    /**
+     *  The FlexEvent.CURSOR_UPDATE constant defines the value of the
+     *  type property of the event object for a cursorUpdate event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType cursorUpdate
+     */
+    public static const CURSOR_UPDATE:String = "cursorUpdate";
+
+    /**
+     *  The FlexEvent.DATA_CHANGE constant defines the value of the
+     *  type property of the event object for a dataChange event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType dataChange
+     */
+    public static const DATA_CHANGE:String = "dataChange";
+
+    /**
+     *  The FlexEvent.ENTER constant defines the value of the
+     *  type property of the event object for a enter event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType enter
+     */
+    public static const ENTER:String = "enter";
+
+    /**
+     *  The FlexEvent.ENTER_STATE constant defines the value of the
+     *  type property of the event object for a enterState event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType enterState
+     */
+    public static const ENTER_STATE:String = "enterState";
+
+    /**
+     *  The FlexEvent.EXIT_STATE constant defines the value of the
+     *  type property of the event object for a exitState event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType exitState
+     */
+    public static const EXIT_STATE:String = "exitState";
+
+    /**
+     *  The FlexEvent.HIDE constant defines the value of the
+     *  type property of the event object for a hide event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType hide
+     */
+    public static const HIDE:String = "hide";
+
+    /**
+     *  The FlexEvent.IDLE constant defines the value of the
+     *  type property of the event object for a idle event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType idle
+     */
+    public static const IDLE:String = "idle";
+
+    /**
+     *  Dispatched when a Flex application finishes initialization.
+     *  You use this event when creating a custom download progress bar.
+     *
+     *
This event is always dispatched once by the Preloader class,
+     *  and is the last event that the Preloader dispatches.
+     *  When this event is dispatched, the event listener should
+     *  dispatch an Event.COMPLETE event.

+     *
+     *
A download progress bar must dispatch a complete
+     *  event after it has received an init_complete event.
+     *  The complete event informs the Preloader that the
+     *  download progress bar has completed all operations and can be dismissed.

+     *
+     *
A download progress bar can perform additional tasks,
+     *  such as playing an animation, after receiving
+     *  an init_complete event, and before dispatching
+     *  the complete event. Dispatching the complete
+     *  event should be the last action of the download progress bar.

+     *
+     *
The FlexEvent.INIT_COMPLETE constant defines the value of the
+     *  type property of the event object for a initComplete event.

+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @see mx.preloaders.DownloadProgressBar
+     *  @eventType initComplete
+     */
+    public static const INIT_COMPLETE:String = "initComplete";
+
+    /**
+     *  Dispatched when the Flex application completes an initialization phase,
+     *  as defined by calls to the measure(), commitProperties(),
+     *  or updateDisplayList() methods.
+     *  This event describes the progress of the application in the initialization phase.
+     *  You use this event when creating a custom download progress bar.
+     *
+     *
The FlexEvent.INIT_PROGRESS constant defines the value of the
+     *  type property of the event object for a initProgress event.

+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @see mx.preloaders.DownloadProgressBar
+     *  @eventType initProgress
+     */
+    public static const INIT_PROGRESS:String = "initProgress";
+
+    /**
+     *  The FlexEvent.INITIALIZE constant defines the value of the
+     *  type property of the event object for a initialize event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType initialize
+     */
+    public static const INITIALIZE:String = "initialize";
+
+    /**
+     *  The FlexEvent.INVALID constant defines the value of the
+     *  type property of the event object for a invalid event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType invalid
+     */
+    public static const INVALID:String = "invalid";
+
+    /**
+     *  The FlexEvent.LOADING constant defines the value of the
+     *  type property of the event object for a loading event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType loading
+     *  @see mx.modules.ModuleLoader
+     */
+    public static const LOADING:String = "loading";
+
+    /**
+     *  The FlexEvent.PREINITIALIZE constant defines the value of the
+     *  type property of the event object for a preinitialize event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType preinitialize
+     */
+    public static const PREINITIALIZE:String = "preinitialize";
+
+    /**
+     *  @private
+     */
+    public static const PRELOADER_DONE:String = "preloaderDone";
+
+    /**
+     *  The FlexEvent.REMOVE constant defines the value of the
+     *  type property of the event object for an remove event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType remove
+     */
+    public static const REMOVE:String = "remove";
+
+    /**
+     *  The FlexEvent.REPEAT constant defines the value of the
+     *  type property of the event object for a repeat event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType repeat
+     */
+    public static const REPEAT:String = "repeat";
+
+    /**
+     *  The FlexEvent.REPEAT_END constant defines the value of the
+     *  type property of the event object for a repeatEnd event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType repeatEnd
+     */
+    public static const REPEAT_END:String = "repeatEnd";
+
+    /**
+     *  The FlexEvent.REPEAT_START constant defines the value of the
+     *  type property of the event object for a repeatStart event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType repeatStart
+     */
+    public static const REPEAT_START:String = "repeatStart";
+
+    /**
+     *  The FlexEvent.SHOW constant defines the value of the
+     *  type property of the event object for a show event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType show
+     */
+    public static const SHOW:String = "show";
+
+    /**
+     *  The FlexEvent.TRANSFORM_CHANGE constant defines the value of the
+     *  type property of the event object for a transformChange event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType transformChange
+     */
+    public static const TRANSFORM_CHANGE:String = "transformChange";
+
+    /**
+     *  The FlexEvent.UPDATE_COMPLETE constant defines the value of the
+     *  type property of the event object for a updateComplete event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType updateComplete
+     */
+    public static const UPDATE_COMPLETE:String = "updateComplete";
+
+    /**
+     *  The FlexEvent.URL_CHANGED constant defines the value of the
+     *  type property of the event object for a urlChanged event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType urlChanged
+     *  @see mx.modules.ModuleLoader
+     */
+    public static const URL_CHANGED:String = "urlChanged";
+
+    /**
+     *  The FlexEvent.VALID constant defines the value of the
+     *  type property of the event object for a valid event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType valid
+     */
+    public static const VALID:String = "valid";
+
+    /**
+     *  The FlexEvent.VALUE_COMMIT constant defines the value of the
+     *  type property of the event object for a valueCommit
+     *  event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *

+     *
+     *  @eventType valueCommit
+     */
+    public static const VALUE_COMMIT:String = "valueCommit";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param type The event type; indicates the action that caused the event.
+     *
+     *  @param bubbles Specifies whether the event can bubble up
+     *  the display list hierarchy.
+     *
+     *  @param cancelable Specifies whether the behavior
+     *  associated with the event can be prevented.
+     */
+    public function FlexEvent(type:String, bubbles:Boolean = false,
+                              cancelable:Boolean = false)
+    {
+        super(type, bubbles, cancelable);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: Event
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function clone():Event
+    {
+        return new FlexEvent(type, bubbles, cancelable);
+    }
+}
+
+}


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

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


use 2 indices when looping through result to handle calls after a MR

git-svn-id: 8a2ccb88241e16c78017770bc38d91d6d5396a5a@58550 6b8eccd3-e8c5-4e7d-8186-e12b5326b719

--- generator/sources/as3/delegates/QueuedRequestDelegate.as
+++ generator/sources/as3/delegates/QueuedRequestDelegate.as
@@ -17,6 +17,7 @@
 		override public function parse( result : XML ) : *
 		{
 			var resArr : Array = new Array();
+			var resInd:int = 0;	// index for scanning result
 			for ( var i:int=0; i<(call as QueuedRequest).calls.length; i++ )
 			{
 				var callClassName : String = getQualifiedClassName( (call as QueuedRequest).calls[i] );
@@ -31,7 +32,8 @@
 				if (commandName == "MultiRequest") {
 					clsName = "com.kaltura.delegates.MultiRequestDelegate";
 					cls = getDefinitionByName( clsName ) as Class;
-					myInst = new cls(/*(call as QueuedRequest).calls[i]*/null , null);
+					myInst = new cls(null , null);
+					// set the call after the constructor, so we don't fire execute()
 					myInst.call = (call as QueuedRequest).calls[i];
 				}
 				else {
@@ -47,13 +49,14 @@
 					// add as many items as the multirequest had
 					var nActions:int = ((call as QueuedRequest).calls[i] as MultiRequest).actions.length;
 					for (var j:int = 0; j<nActions ; j++) {
-						xml += result.result.item[j + i].toString();
+						xml += result.result.item[j + resInd].toXMLString();
 					}
 					// skip to the result of the next call that wasn't part of the MR:
-					i+= nActions;
+					resInd+= nActions-1;
 				}
 				else {
-					xml += result.result.item[i].children().toString();
+					xml += result.result.item[resInd].children().toString();
+					resInd++;
 				}
 				xml +="</result></result>";


Deserialized objects now get the correct context.

--- src/Modi/ManagedObjectContext.as
+++ src/Modi/ManagedObjectContext.as
@@ -77,6 +77,7 @@
             if (base.contextId)
             {
                 _idCounter = Math.max(_idCounter, base.contextId.extractIndex() + 1);
+                base.contextReference = this;
                 addToContextWithId(base, base.contextId);
             }


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

--- frameworks/projects/framework/src/mx/core/FlexSimpleButton.as
+++ frameworks/projects/framework/src/mx/core/FlexSimpleButton.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 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.core
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 16357
Author:   dloverin@adobe.com
Date:     2010-05-28T15:17:23.553666Z

Log Message:
-----------
Fix getting the module parent of a module.

Don’t remove the listener for Request.GET_PARENT_FLEX_MODULE_FACTORY_REQUEST when the module is unloaded. We want to be able to traverse the parent chain and check which rsls have been loaded.

Changed the listener to a weak listener so we can leave it active.

QE notes: None.
Doc notes: None.
Bugs: SDK-26555
Reviewer: Alex
Tests run: checkintests
Is noteworthy for integration: No.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/ModuleManager.as

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

--- frameworks/projects/framework/src/mx/modules/ModuleManager.as
+++ frameworks/projects/framework/src/mx/modules/ModuleManager.as
@@ -579,8 +579,6 @@
                 {
                     loader.content.removeEventListener("ready", readyHandler);
                     loader.content.removeEventListener("error", moduleErrorHandler);
-                    loader.content.removeEventListener(Request.GET_PARENT_FLEX_MODULE_FACTORY_REQUEST,
-                                                       getFlexModuleFactoryRequestHandler);
                 }
             }
             catch(error:Error)
@@ -709,7 +707,7 @@
         loader.content.addEventListener("ready", readyHandler);
         loader.content.addEventListener("error", moduleErrorHandler);
         loader.content.addEventListener(Request.GET_PARENT_FLEX_MODULE_FACTORY_REQUEST,
-                                        getFlexModuleFactoryRequestHandler);
+                                        getFlexModuleFactoryRequestHandler, false, 0, true);

         try
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5086
Author:   cframpto@adobe.com
Date:     2009-02-26T16:16:46.009073Z

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

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

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

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

--- frameworks/projects/spark/src/spark/components/RadioButton.as
+++ frameworks/projects/spark/src/spark/components/RadioButton.as
@@ -374,16 +374,18 @@

     /**
      *  @private
-     *  The radio button was added or removed from a radio button group.  This
-     *  may change the value of the button's enable property.
-     */
-    mx_internal function invalidateRadioButtonState():void
+     *  The radio button was added or removed from a radio button group or the
+     *  radio button group was enabled/disabled.  All of these events can impact
+     *  the skin state.
+     */
+    mx_internal function invalidateRadioButtonState(always:Boolean = false):void
     {
-        // If the state of the button combined with the group state is different
+        // Either always do the invalidate or check if the state of the button
+        // combined with the group state is different.  If different,
         // invalidate the button which will cause the skin to be changed by
         // FxComponent.commitProperties() which uses skinStateIsDirty, enabled
         // and selected to determine if the skin should be changed.
-        if (super.enabled != enabled)
+        if (always || super.enabled != enabled)
             invalidateButtonState();
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 8311
Author:   aharui@adobe.com
Date:     2009-06-26T15:50:07.331174Z

Log Message:
-----------
Another mistake from the frame1 work.  When marshall events get modified, the marshaling method must handle all versions

QE Notes: None
Doc Notes: None
Bugs: SDK-21881
Reviewer: darrell
tests: checkintests

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/EventListenerRequest.as

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

--- frameworks/projects/framework/src/mx/events/EventListenerRequest.as
+++ frameworks/projects/framework/src/mx/events/EventListenerRequest.as
@@ -90,7 +90,7 @@

 		return new EventListenerRequest(eventObj.type, eventObj.bubbles,
 										eventObj.cancelable, eventObj.eventType,
-										eventObj.listener,
+                                        ("listener" in eventObj) ? eventObj.listener : null,
                                         eventObj.useCapture, eventObj.priority,
                                         eventObj.useWeakReference);
 	}


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

--- frameworks/projects/framework/src/mx/graphics/shaderClasses/SaturationShader.as
+++ frameworks/projects/framework/src/mx/graphics/shaderClasses/SaturationShader.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.graphics.shaderClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12664
Author:   mhorn@adobe.com
Date:     2009-12-08T20:39:06.119601Z

Log Message:
-----------
asdoc updates; new examples; updated examples; bug fixes

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/RectangularDropShadowExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/LineExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/IGraphicElement.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/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -256,7 +256,7 @@
     //--------------------------------------------------------------------------

     /**
-     *  @copy mx.core.ILayoutElement#postLayoutTransformOffsets
+     *  @copy mx.core.IVisualElement#postLayoutTransformOffsets
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -346,7 +346,9 @@
     [Inspectable(category="General", minValue="0.0", maxValue="1.0")]

     /**
-     *  @inheritDoc
+     *  The level of transparency of the graphic element. Valid values are decimal values between
+     *  0 (fully transparent) and 1 (fully opaque). For example, a value of .25 means that the
+     *  element has 25% opacity.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -867,11 +869,23 @@

     /**
      *  An indexed array that contains each filter object currently associated with the graphic element.
-     *  The mx.filters.* package contains several classes that define specific filters you can use.
-     *
-     *  The getter returns a copy of the filters array. The filters property value can only be changed
-     *  via the setter.
-     *
+     *  The mx.filters package contains classes that define specific filters you can use.
+     *
+     *
The getter returns a copy of the filters array. The filters property value can only be changed
+     *  via the setter.

+     *
+     *  @see spark.filters.BevelFilter
+     *  @see spark.filters.BlurFilter
+     *  @see spark.filters.ColorMatrixFilter
+     *  @see spark.filters.ConvolutionFilter
+     *  @see spark.filters.DisplacementMapFilter
+     *  @see spark.filters.DropShadowFilter
+     *  @see spark.filters.GlowFilter
+     *  @see spark.filters.GradientBevelFilter
+     *  @see spark.filters.GradientFilter
+     *  @see spark.filters.GradientGlowFilter
+     *  @see spark.filters.ShaderFilter
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
@@ -1157,12 +1171,12 @@
     [Inspectable(category="General", enumeration="clip,alpha,luminosity", defaultValue="clip")]

     /**
-     *
The maskType defines how the mask is applied to the GraphicElement.

-     *
-     *
The possible values are MaskType.CLIP, MaskType.ALPHA and
-     *  MaskType.LUMINOSITY.

-     *
-     *
Clip Masking

+     *
Defines how the mask is applied to the GraphicElement.

+     *
+     *
The possible values are MaskType.CLIP, MaskType.ALPHA, and
+     *  MaskType.LUMINOSITY.

+     *
+     *
Clip Masking

      *
      *
When masking in clip mode, a clipping masks is reduced to 1-bit.  This means that a mask will
      *  not affect the opacity of a pixel in the source content; it either leaves the value unmodified,
@@ -1180,7 +1194,7 @@
      *  result, the alpha channel of the source bitmap is irrelevant when part of a mask -- the bitmap
      *  affects the mask in the same manner as solid filled rectangle of equivalent dimensions.

      *
-     *
Alpha Masking

+     *
Alpha Masking

      *
      *
In alpha mode, the opacity of each pixel in the source content is multiplied by the opacity
      *  of the corresponding region of the mask.  i.e., a pixel in the source content with an opacity of
@@ -1197,7 +1211,7 @@
      *  alpha channel, and will affect the final rendered content. This holds true for both BitmapGraphics
      *  and bitmap filled shapes and paths.

      *
-     *
Luminosity Masking

+     *
Luminosity Masking

      *
      *
A luminosity mask, sometimes called a 'soft mask', works very similarly to an alpha mask
      *  except that both the opacity and RGB color value of a pixel in the source content is multiplied
@@ -1219,6 +1233,8 @@
      *  clipping of the mask. See the luminosityInvert and luminosityClip attributes.

      *
      *  @default MaskType.CLIP
+     *
+     *  @see spark.core.MarkType
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -2016,7 +2032,7 @@
     private var _transform:flash.geom.Transform;

     /**
-     *  @copy mx.core.UIComponent#transform
+     *  @copy mx.core.IFlexDisplayObject#transform
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -2151,7 +2167,7 @@
     }

     /**
-     * @copy mx.core.ILayoutElement#transformAround
+     *  @copy mx.core.ILayoutElement#transformAround()
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -2192,9 +2208,9 @@
      *
      * @param localPosition The point to be transformed, specified in the
      * local coordinates of the object.
-     * @position A Vector3D point that will hold the pre-layout
+     * @param position A Vector3D point that will hold the pre-layout
      * result. If null, the parameter is ignored.
-     * @postLayoutPosition A Vector3D point that will hold the post-layout
+     * @param postLayoutPosition A Vector3D point that will hold the post-layout
      * result. If null, the parameter is ignored.
      *
      *  @langversion 3.0
@@ -2802,12 +2818,7 @@
     private var _displayObjectSharingMode:String;

     /**
-     *  @inheritDoc
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+     *  @private
      */
     public function set displayObjectSharingMode(value:String):void
     {
@@ -2827,7 +2838,12 @@
     }

     /**
-     *  @private
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get displayObjectSharingMode():String
     {
@@ -3636,7 +3652,12 @@
     }

     /**
-     *  @copy mx.core.UIComponent#canSkipMeasurement
+     *  Determines if the call to the measure() method can be skipped.
+     *
+     *  @return Returns true when the measureSizes() method can skip the call to
+     *  the measure() method. For example this is usually true when both the explicitWidth and
+     *  explicitHeight properties are set. For paths, this is true when the bounds of the path
+     *  have not changed.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -4043,7 +4064,7 @@
     }

     /**
-     *  @inheirtDoc
+     *  @inheritDoc
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -4102,6 +4123,8 @@
      *  @param width The target pre-transform width.
      *
      *  @param height The target pre-transform height.
+     *
+     *  @param postLayoutTransform
      *
      *  @return Returns the transformed height. Transformation is this element's
      *  layout transformation matrix.


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

--- frameworks/projects/automation/src/mx/automation/delegates/containers/BoxAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/containers/BoxAutomationImpl.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.automation.delegates.containers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12380
Author:   smgilson@adobe.com
Date:     2009-12-02T18:37:15.838623Z

Log Message:
-----------
ASDoc edits in preparation for localization

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DisplayLayer.as</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/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarHorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListItemDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarHorizontalLayout.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarHorizontalLayout.as
@@ -17,23 +17,23 @@
 import spark.layouts.supportClasses.LayoutBase;

 /**
- *  The ButtonBarHorizontalLayout is a layout specifically designed for the
+ *  The ButtonBarHorizontalLayout class is a layout specifically designed for the
  *  Spark ButtonBar skins.
- *
  *  The layout lays out the children horizontally, left to right.
  *
- *  The layout measures such that all children are sized at their preferred size.
+ *
The layout attempts to size all children to their preferred size.
+ *  If there is enough space, each child is set to its preferred size, plus any
+ *  excess space evenly distributed among the children.

  *
- *  If there is enough space, each child is set to its preferred size, plus any
- *  excess space evenly distributed between the children.
+ *
If there is not enough space for all the children to be sized to their
+ *  preferred size, then the children that are smaller than the average width
+ *  are allocated their preferred size and the rest of the elements are
+ *  reduced equally.

  *
- *  If there is not enough space for all the children to be sized to their
- *  preferred size, then the children that are smaller than the average width
- *  will be allocated their preferred size and the rest of the elements will be
- *  reduced equally.
+ *
All children are set to the height of the parent.

  *
- *  All children are set to the height of the parent.
- *
+ *  @see spark.skins.spark.ButtonBarSkin
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5


ImageEditor, Flash: Support for synchronous flow (we use it to rotate and flip the image according to Orientation tag in Exif).

--- src/flash/src/com/ImageEditor.as
+++ src/flash/src/com/ImageEditor.as
@@ -49,7 +49,7 @@
 		private var _lastModifyIndex:int = 0;

 		private var _busy:Boolean = false;
-		private var _crop:Rectangle = null;
+		private var _sync:Boolean = false;

 		public function get bitmapData() : BitmapData {
@@ -95,10 +95,11 @@
 		 *
 		 * @param {Boolean} [sync=true] Whether to commit modifications synchronously
 		 */
-		public function commit(sync:Boolean = true) : void
-		{
+		public function commit(sync:Boolean = false) : void
+		{
 			if (!_busy) {
-				_busy = true;
+				_busy = true;
+				_sync = sync;
 				commitNext();
 			}
 		}
@@ -256,6 +257,20 @@
 					}
 					return steps;
 				}(_bd.width, scale));
+			}
+
+
+			function onJobComplete(tmpBd:BitmapData) : void {
+				_bd.dispose();
+				_bd = tmpBd;
+
+				if (scale < 1 && tmpBd.width <= dstWidth || scale > 1 && tmpBd.width >= dstWidth) {
+					onOperationComplete();
+					onDrawComplete();
+				} else {
+					dispatchEvent(new OProgressEvent(OProgressEvent.PROGRESS, step++, totalSteps));
+					scale2(dstWidth / tmpBd.width);
+				}
 			}

@@ -307,20 +322,15 @@
 				job.target = tmpBd;
 				job.shader = shader;

-				job.addEventListener(ShaderEvent.COMPLETE, function onJobComplete() : void {
-					_bd.dispose();
-					_bd = tmpBd;
-
-					if (scale < 1 && tmpBd.width <= dstWidth || scale > 1 && tmpBd.width >= dstWidth) {
-						onOperationComplete();
-						onDrawComplete();
-					} else {
-						dispatchEvent(new OProgressEvent(OProgressEvent.PROGRESS, step++, totalSteps));
-						scale2(dstWidth / tmpBd.width);
-					}
-				}, false, 0, true);
-
-				job.start();
+				if (_sync) {
+					job.start(true);
+					onJobComplete(job.target);
+				} else {
+					job.addEventListener(ShaderEvent.COMPLETE, function(e:ShaderEvent) : void {
+						onJobComplete(e.target.target);
+					}, false, 0, true);
+					job.start();
+				}
 			}

 			scale2(scale);


simplified SessionStateLog code

simplified SessionStateLog code

Change-Id: Ib98fb52f690b15ee0e2e26817e12763d3aeb5538

--- WeaveCore/src/weave/core/SessionStateLog.as
+++ WeaveCore/src/weave/core/SessionStateLog.as
@@ -22,6 +22,7 @@
 	import mx.utils.ObjectUtil;

 	import weave.api.WeaveAPI;
+	import weave.api.core.ICallbackCollection;
 	import weave.api.core.IDisposableObject;
 	import weave.api.core.ILinkableObject;
 	import weave.api.getCallbackCollection;
@@ -39,9 +40,12 @@
 		public function SessionStateLog(subject:ILinkableObject)
 		{
 			_subject = subject;
-			_prevState = getSessionState(_subject);
-			registerDisposableChild(_subject, this);
-			getCallbackCollection(_subject).addGroupedCallback(this, handleDiff);
+			_prevState = getSessionState(_subject); // remember the initial state
+			registerDisposableChild(_subject, this); // make sure this is disposed when _subject is disposed
+
+			var cc:ICallbackCollection = getCallbackCollection(_subject);
+			cc.addImmediateCallback(this, immediateCallback);
+			cc.addGroupedCallback(this, groupedCallback);
 		}

 		public function dispose():void
@@ -56,46 +60,63 @@
 		private var _history:Array = [];
 		private var _future:Array = [];
 		private var _serial:int = 0;
-		private var _lastDiffID:Number = 0;
 		private var _undoActive:Boolean = false;

-		private function handleDiff(diffID:Number = Infinity):void
+		private var _recordLater:Boolean = false;
+		private var _pendingRecord:Boolean = false;
+
+		private function immediateCallback():void
 		{
-			if (diffID < _lastDiffID) // more than one diff per frame
+			// we have to wait until grouped callbacks are called before we record the diff
+			_recordLater = true;
+
+			// make sure only one call to recordDiff() is pending
+			if (!_pendingRecord)
 			{
-				return;
+				_pendingRecord = true;
+				recordDiff();
 			}
-			if (diffID == Infinity) // called as a grouped callback
+		}
+
+		private function groupedCallback():void
+		{
+			// It is ok to record a diff the frame after grouped callbacks are called.
+			// If callbacks are triggered again before the next frame, the immediateCallback will set this flag back to true.
+			_recordLater = false;
+		}
+
+		private function recordDiff():void
+		{
+			if (_recordLater)
 			{
-				StageUtils.callLater(this, handleDiff, [++_lastDiffID]);
-				return;
-			}
-			if (diffID == _lastDiffID) // called 1 frame after grouped callback
-			{
-				StageUtils.callLater(this, handleDiff, [++_lastDiffID + 1]);
+				// we have to wait until the next frame to record the diff because grouped callbacks haven't finished.
+				StageUtils.callLater(this, recordDiff, null, false);
 				return;
 			}

-			// diff > lastDiff means it is now 2 frames after the last diff
+			var cc:ICallbackCollection = getCallbackCollection(this);
+			cc.delayCallbacks();

 			var state:Object = getSessionState(_subject);
-
-			var diff:* = WeaveAPI.SessionManager.computeDiff(_prevState, state);
-			if (diff != undefined)
+			var forwardDiff:* = WeaveAPI.SessionManager.computeDiff(_prevState, state);
+			if (forwardDiff !== undefined)
 			{
-				var backDiff:* = WeaveAPI.SessionManager.computeDiff(state, _prevState);
+				var backwardDiff:* = WeaveAPI.SessionManager.computeDiff(state, _prevState);
 				if (_undoActive)
-					_future.unshift(new LogEntry(_serial++, backDiff, diff)); // reverse
+					_future.unshift(new LogEntry(_serial++, backwardDiff, forwardDiff)); // reverse
 				else
-					_history.push(new LogEntry(_serial++, diff, backDiff));
+					_history.push(new LogEntry(_serial++, forwardDiff, backwardDiff));

 				debugHistory(true);

-				getCallbackCollection(this).triggerCallbacks();
+				cc.triggerCallbacks();
 			}

 			_prevState = state;
 			_undoActive = false;
+			_pendingRecord = false;
+
+			cc.resumeCallbacks();
 		}

 		private function debugHistory(showLastDiff:Boolean):void


Transferred from the Adobe Open Source Subversion Repository

Revision: 19715
Author:   chiedozi@adobe.com
Date:     2011-01-11T22:21:58.489080Z

Log Message:
-----------
Fixed RTE in SlideViewTransition that occurred when an ActionBar wasn't in the skin

QE notes:
Doc notes:
Bugs: SDK-29080
Reviewer: Jason San Jose
Tests run:
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as
@@ -1226,7 +1226,7 @@
      */
     protected function getSnapshot(target:UIComponent, padding:int = 4):BitmapImage
     {
-        if (!target.visible || target.width == 0 || target.height == 0)
+        if (!target || !target.visible || target.width == 0 || target.height == 0)
             return null;

         var snapshot:BitmapImage = new BitmapImage();