Transferred from the Adobe Open Source Subversion Repository

Revision: 10006
Author:   gruehle@adobe.com
Date:     2009-09-03T22:04:47.081899Z

Log Message:
-----------
Initial checkin of the "More styles for Spark skins" feature. Details here:
http://opensource.adobe.com/wiki/display/flexsdk/More+Styles+for+Spark+Skins

There are some known issues:
* Panel bottom corners not rounded correctly when the panel has a control bar
* cornerRadius on Tab and DateChooser non functional
* cornerRadius values > 4 have drawing artifacts in the "down" state of Button and button-like components
* TextInput/TextArea incorrectly list lineBreak and verticalAlign as valid styles

This checkin also includes a couple minor unrelated bug fixes:
* Remove MiniDebugTarget. This is a logging target that used MiniDebug, which hasn't worked since Flex 1.5
* Fix RTEs when setting focusSkin to null
* Optimization: don't measure skins if the host component has explicit sizes

QE notes: Yes, many baseline images will need to be regenerated
Doc notes: New ASDoc comments should be scrubbed
Bugs: SDK-22931, SDK-22798, SDK-22217, SDK-19358
Reviewer: Jason
Tests run: checkintests, cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/PopUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/WindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/logging/targets/MiniDebugTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SpinnerDecrementButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/INavigatorContent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDeferredContentOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/EditableComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/SparkSkinForHalo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/TextInputBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SpinnerIncrementButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/halo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/PanelBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DropDownListButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/SparkSkin.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/mxml-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/BorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/NumericStepperTextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/BorderTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ApplicationSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as
+++ frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as
@@ -480,10 +480,10 @@
             dropShadow.blurY = _blurY;
             dropShadow.alpha = _alpha;

-            dropShadow.tlRadius = _tlRadius;
-            dropShadow.trRadius = _trRadius;
-            dropShadow.blRadius = _blRadius;
-            dropShadow.brRadius = _brRadius;
+            dropShadow.tlRadius = isNaN(_tlRadius) ? 0 : _tlRadius;
+            dropShadow.trRadius = isNaN(_trRadius) ? 0 : _trRadius;
+            dropShadow.blRadius = isNaN(_blRadius) ? 0 : _blRadius;
+            dropShadow.brRadius = isNaN(_brRadius) ? 0 : _brRadius;

             dropShadow.drawShadow(graphics, 0, 0, unscaledWidth, unscaledHeight);
         }


added more cleanup code

added more cleanup code

--- WeaveUI/src/weave/visualization/tools/ExternalTool.as
+++ WeaveUI/src/weave/visualization/tools/ExternalTool.as
@@ -113,7 +113,8 @@
 					"windowName": windowName,
 					"catch": ignoreError
 				},
-				'window[WEAVE_EXTERNAL_TOOLS][windowName].window.close();'
+				'window[WEAVE_EXTERNAL_TOOLS][windowName].window.close();',
+				'delete window[WEAVE_EXTERNAL_TOOLS][windowName];'
 			);
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 4894
Author:   hmuller@adobe.com
Date:     2009-02-07T17:17:54.948626Z

Log Message:
-----------
I10 Bug fixes: FxScroller mouse wheel scrolling, FxScrollerSkin.

QE Notes: Mustella tests pass
Doc Notes: None
Bugs:
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScrollerLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollerLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</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/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxScrollBar.as</path>

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

--- frameworks/projects/spark/src/spark/components/HScrollBar.as
+++ frameworks/projects/spark/src/spark/components/HScrollBar.as
@@ -134,6 +134,7 @@
     override protected function sizeThumb(thumbSize:Number):void
     {
         thumb.width = thumbSize;
+        thumb.visible = thumbSize < trackSize;
     }

     /**


Repeat count zero should repeat indefinitely.

--- tamarin-central/thane/flash/utils/Timer.as
+++ tamarin-central/thane/flash/utils/Timer.as
@@ -74,7 +74,7 @@
         }
         _currentCount ++;
         dispatchEvent(new TimerEvent(TimerEvent.TIMER));
-        if (_currentCount < _repeatCount) {
+        if (repeatCount == 0 || _currentCount < _repeatCount) {
             buddy.expiration += _delay;
             enqueue(buddy);


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

--- frameworks/projects/framework/src/mx/logging/LogLogger.as
+++ frameworks/projects/framework/src/mx/logging/LogLogger.as
@@ -23,6 +23,11 @@
 /**
  *  The logger that is used within the logging framework.
  *  This class dispatches events for each message logged using the log() method.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class LogLogger extends EventDispatcher implements ILogger
 {
@@ -38,6 +43,11 @@
 	 *  Constructor.
          *
          *  @param category The category for which this log sends messages.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function LogLogger(category:String)
 	{
@@ -77,6 +87,11 @@

 	/**
 	 *  The category this logger send messages for.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function get category():String
 	{
@@ -91,6 +106,11 @@

 	/**
 	 *  @inheritDoc
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function log(level:int, msg:String, ... rest):void
 	{
@@ -117,6 +137,11 @@

 	/**
 	 *  @inheritDoc
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function debug(msg:String, ... rest):void
 	{
@@ -134,6 +159,11 @@

 	/**
 	 *  @inheritDoc
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function error(msg:String, ... rest):void
 	{
@@ -151,6 +181,11 @@

 	/**
 	 *  @inheritDoc
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function fatal(msg:String, ... rest):void
 	{
@@ -168,6 +203,11 @@

 	/**
 	 *  @inheritDoc
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function info(msg:String, ... rest):void
 	{
@@ -185,6 +225,11 @@

 	/**
 	 *  @inheritDoc
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function warn(msg:String, ... rest):void
 	{


Transferred from the Adobe Open Source Subversion Repository

Revision: 4073
Author:   rfrishbe@adobe.com
Date:     2008-11-11T22:09:40.130593Z

Log Message:
-----------
Add IViewport properties to FxContainer and FxDataContainer.  This is using a new property delegation pattern.  This pattern may be refined later on.  For part of it, we are doing bit manipulation to store a set of booleans efficiently.  I removed the Flags32 class and replaced it with static helpers because it's more efficient without the object overhead.  So I cleaned up Button and ToggleButton to use the new static helper class.

Ran checkintests and mustella tests for: List, FxContainer, FxDataContainer, Button, ToggleButton, CheckBox, RadioButton.

QE Notes: Need to test these new properties (how they facade, setting them explicitly, what happens when skins changed, bindability of these properties, etc...)
Doc Notes: None
Bugs: -
Reviewer: Hans, Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/utils/Flags32.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/BitFlagUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/framework/src/mx/utils/BitFlagUtil.as
+++ frameworks/projects/framework/src/mx/utils/BitFlagUtil.as
@@ -0,0 +1,63 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.utils
+{
+
+[ExcludeClass]
+
+/**
+ *  @private
+ *  BitFlagUtil is a framework internal class to help manipulate
+ *  bit flags for the purpose of storing booleans effeciently in
+ *  one integer.
+ */
+public class BitFlagUtil
+{
+    public function BitFlagUtil()
+    {
+        super();
+    }
+
+    /**
+     *  Returns true if all of the flags specified by flagMask are set.
+     */
+    public static function isSet(flags:uint, flagMask:uint):Boolean
+    {
+        return flagMask == (flags & flagMask);
+    }
+
+    /**
+     *  Sets the flags specified by flagMask according to value.
+     *  Returns the new bitflag.
+     *  flagMask can be a combination of multiple flags.
+     */
+    public static function update(flags:uint, flagMask:uint, value:Boolean):uint
+    {
+        if (value)
+        {
+            if ((flags & flagMask) == flagMask)
+                return flags; // Nothing to change
+            // Don't use ^ since flagMask could be a combination of multiple flags
+            flags |= flagMask;
+        }
+        else
+        {
+            if ((flags & flagMask) == 0)
+                return flags; // Nothing to change
+            // Don't use ^ since flagMask could be a combination of multiple flags
+            flags &= ~flagMask;
+        }
+        return flags;
+    }
+
+}
+}


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

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

 package mx.controls
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 11118
Author:   gosmith@adobe.com
Date:     2009-10-23T23:35:38.504561Z

Log Message:
-----------
Did some code cleanup on the Spark components to enforce the conventions about how to order stuff within an AS file.

QE notes: None
Doc notes: None
Bugs: None
Reviewer: None; no functional changes
Tests run: ant checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<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/spark/components/RadioButton.as</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/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.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/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/CheckBox.as</path>

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

--- frameworks/projects/spark/src/spark/components/Spinner.as
+++ frameworks/projects/spark/src/spark/components/Spinner.as
@@ -26,6 +26,54 @@

 use namespace mx_internal;

+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+/**
+ *  The radius of the corners of this component.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="spark")]
+
+/**
+ *  The alpha of the focus ring for this component.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="focusAlpha", type="Number", inherit="no", theme="spark")]
+
+/**
+ *  @copy spark.components.supportClasses.GroupBase#style:focusColor
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="focusColor", type="uint", format="Color", inherit="yes", theme="spark")]
+
+/**
+ *  @copy spark.components.supportClasses.GroupBase#style:symbolColor
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark")]
+
+//--------------------------------------
+//  Events
+//--------------------------------------
+
 /**
  *  Dispatched when the value of the Spinner control changes
  *  as a result of user interaction.
@@ -39,45 +87,9 @@
  */
 [Event(name="change", type="flash.events.Event")]

-/**
- *  The radius of the corners of this component.
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="spark")]
-
-/**
- *  The alpha of the focus ring for this component.
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="focusAlpha", type="Number", inherit="no", theme="spark")]
-
-/**
- *  @copy spark.components.supportClasses.GroupBase#style:focusColor
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="focusColor", type="uint", format="Color", inherit="yes", theme="spark")]
-
-/**
- *  @copy spark.components.supportClasses.GroupBase#style:symbolColor
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark")]
+//--------------------------------------
+//  Skin states
+//--------------------------------------

 /**
  *  Normal State
@@ -99,9 +111,14 @@
  */
 [SkinState("disabled")]

+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[AccessibilityClass(implementation="spark.accessibility.SpinnerAccImpl")]
+
 [IconFile("Spinner.png")]

-[AccessibilityClass(implementation="spark.accessibility.SpinnerAccImpl")]
 /**
  *  A Spinner component selects a value from an
  *  ordered set. It uses two buttons that increase or
@@ -228,6 +245,28 @@
     //
     //--------------------------------------------------------------------------

+	//----------------------------------
+	//  decrementButton
+	//----------------------------------
+
+    [SkinPart(required="false")]
+
+    /**
+     *  A skin part that defines the  button that,
+     *  when pressed, decrements the value property
+     *  by stepSize.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var decrementButton:Button;
+
+	//----------------------------------
+	//  incrementButton
+	//----------------------------------
+
     [SkinPart(required="false")]

     /**
@@ -241,20 +280,6 @@
      *  @productversion Flex 4
      */
     public var incrementButton:Button;
-
-    [SkinPart(required="false")]
-
-    /**
-     *  A skin part that defines the  button that,
-     *  when pressed, decrements the value property
-     *  by stepSize.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public var decrementButton:Button;

     //--------------------------------------------------------------------------
     //
@@ -312,13 +337,45 @@
             Spinner.createAccessibilityImplementation(this);
     }

-
-    //--------------------------------------------------------------------------
-    //
-    // Methods
-    //
-    //--------------------------------------------------------------------------
-
+    /**
+     *  @private
+     */
+    override protected function partAdded(partName:String, instance:Object):void
+    {
+        // FIXME (hmuller): autoRepeat as a property on Spinner?
+        if (instance == incrementButton)
+        {
+            incrementButton.focusEnabled = false;
+            incrementButton.addEventListener(FlexEvent.BUTTON_DOWN,
+                                        incrementButton_buttonDownHandler);
+            incrementButton.autoRepeat = true;
+        }
+        else if (instance == decrementButton)
+        {
+            decrementButton.focusEnabled = false;
+            decrementButton.addEventListener(FlexEvent.BUTTON_DOWN,
+                                        decrementButton_buttonDownHandler);
+            decrementButton.autoRepeat = true;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function partRemoved(partName:String, instance:Object):void
+    {
+        if (instance == incrementButton)
+        {
+            incrementButton.removeEventListener(FlexEvent.BUTTON_DOWN,
+                                           incrementButton_buttonDownHandler);
+        }
+        else if (instance == decrementButton)
+        {
+            decrementButton.removeEventListener(FlexEvent.BUTTON_DOWN,
+                                           decrementButton_buttonDownHandler);
+        }
+    }
+
     /**
      *  @inheritDoc
      *
@@ -335,45 +392,6 @@
     /**
      *  @private
      */
-    override protected function partAdded(partName:String, instance:Object):void
-    {
-        // FIXME (hmuller): autoRepeat as a property on Spinner?
-        if (instance == incrementButton)
-        {
-            incrementButton.focusEnabled = false;
-            incrementButton.addEventListener(FlexEvent.BUTTON_DOWN,
-                                        incrementButton_buttonDownHandler);
-            incrementButton.autoRepeat = true;
-        }
-        else if (instance == decrementButton)
-        {
-            decrementButton.focusEnabled = false;
-            decrementButton.addEventListener(FlexEvent.BUTTON_DOWN,
-                                        decrementButton_buttonDownHandler);
-            decrementButton.autoRepeat = true;
-        }
-    }
-
-    /**
-     *  @private
-     */
-    override protected function partRemoved(partName:String, instance:Object):void
-    {
-        if (instance == incrementButton)
-        {
-            incrementButton.removeEventListener(FlexEvent.BUTTON_DOWN,
-                                           incrementButton_buttonDownHandler);
-        }
-        else if (instance == decrementButton)
-        {
-            decrementButton.removeEventListener(FlexEvent.BUTTON_DOWN,
-                                           decrementButton_buttonDownHandler);
-        }
-    }
-
-    /**
-     *  @private
-     */
     override public function changeValueByStep(increase:Boolean = true):void
     {
         if (allowValueWrap)
@@ -391,14 +409,10 @@

     //--------------------------------------------------------------------------
     //
-    // Event Handlers
-    //
-    //--------------------------------------------------------------------------
-
-    //---------------------------------
-    // Mouse handlers
-    //---------------------------------
-
+    //  Event handlers
+    //
+    //--------------------------------------------------------------------------
+
     /**
      *  @private
      *  Handle a click on the incrementButton. This should
@@ -488,13 +502,17 @@

     /**
      *  @private
-     *  If the component is in focus, then it should respond to mouseWheel events. We listen to these
-     *  events on systemManager in the capture phase because this behavior should have the highest priority.
+     *  If the component is in focus,
+	 *  then it should respond to mouseWheel events.
+	 *  We listen to these events on systemManager in the capture phase
+	 *  because this behavior should have the highest priority.
      */
     override protected function focusInHandler(event:FocusEvent):void
     {
         super.focusInHandler(event);
-        systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_WHEEL, system_mouseWheelHandler, true);
+
+        systemManager.getSandboxRoot().addEventListener(
+			MouseEvent.MOUSE_WHEEL, system_mouseWheelHandler, true);
     }

     /**
@@ -503,12 +521,16 @@
     override protected function focusOutHandler(event:FocusEvent):void
     {
         super.focusOutHandler(event);
-        systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_WHEEL, system_mouseWheelHandler, true);
-    }
-
-    /**
-     *  Handles the mouseWheel event when the component is in focus. The spinner is
-     *  moved by the amount of the mouse event delta multiplied by the stepSize.
+
+        systemManager.getSandboxRoot().removeEventListener(
+			MouseEvent.MOUSE_WHEEL, system_mouseWheelHandler, true);
+    }
+
+    /**
+     *  Handles the mouseWheel event
+	 *  when the component is in focus.
+	 *  The spinner is moved by the amount of the mouse event delta
+	 *  multiplied by the stepSize.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -525,8 +547,6 @@
             event.preventDefault();
         }
     }
-
-
 }

-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 7910
Author:   egeorgie@adobe.com
Date:     2009-06-17T01:41:55.138890Z

Log Message:
-----------
P-ARB changes:

* IGraphicElement sharedIndex -> DisplayObjectSharingMode
* ScrollUnit -> NavigationUnit
* LayoutBase.getDestinationIndex -> LayoutBase.getNavigationDestinationIndex, param order reversed!!!!
* mouseOpaque -> mouseEnabledWhereTransparent
* various other small renames and changes to non-public APIs

Doc Notes: None
Bugs: N/A
Reviewer: Deepa
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexFXG2SWFTranscoder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/InvalidatingSprite.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/ScrollUnit.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/NavigationUnit.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/DisplayObjectSharingMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/TileLayout.as
+++ frameworks/projects/spark/src/spark/layouts/TileLayout.as
@@ -711,7 +711,7 @@
     /**
      * @private
      */
-    override public function clearCachedVirtualLayoutState():void
+    override public function clearVirtualLayoutCache():void
     {
         _tileWidthCached = _tileHeightCached = NaN;
     }
@@ -1452,7 +1452,7 @@
     /**
      *  @private
      */
-    override public function getDestinationIndex(navigationUnit:uint, currentIndex:int):int
+    override public function getNavigationDestinationIndex(currentIndex:int, navigationUnit:uint):int
     {
         if (!target || target.numElements < 1)
             return -1;
@@ -1611,7 +1611,7 @@
                 }
                 break;
             }
-            default: return super.getDestinationIndex(navigationUnit, currentIndex);
+            default: return super.getNavigationDestinationIndex(currentIndex, navigationUnit);
         }

         // Make sure rows and columns are within range


Revert "tabs replaced with doublespaces near new regexp"

This reverts commit ccb26d6fafb3767756d5685770e1f4f79f3ddbb2.

--- src/com/axis/rtspclient/RTSPClient.as
+++ src/com/axis/rtspclient/RTSPClient.as
@@ -312,8 +312,8 @@
         if (state === STATE_SETUP) {
           /* this is not the case when falling through, e.g. SETUP of first track */
           if (!(/^RTP\/AVP\/TCP;/.test(parsed.headers["transport"]) &&
-	    /unicast/.test(parsed.headers["transport"]) &&
-            /interleaved=/.test(parsed.headers["transport"]) )){
+        	/unicast/.test(parsed.headers["transport"]) &&
+        	/interleaved=/.test(parsed.headers["transport"]) )){
             dispatchEvent(new ClientEvent(ClientEvent.STOPPED));
             connectionBroken = true;
             handle.disconnect();


RTSPClient: Wait for full interleaved header

If the interleaved header has been chunked, we generally
have to wait for the full header to arrive before we can
extract any useful information from it.

--- src/com/axis/rtspclient/RTSPClient.as
+++ src/com/axis/rtspclient/RTSPClient.as
@@ -321,6 +321,12 @@
     {
       handle.readBytes(data, data.length);

+      if (data.bytesAvailable < 4) {
+        /* Not enough data even for interleaved header. Try again when
+           more data is available */
+        return;
+      }
+
       if (-1 == rtpLength && 0x24 === data[0]) {
         /* This is the beginning of a new RTP package */
         data.readByte();


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

--- frameworks/projects/automation/src/mx/automation/delegates/containers/CanvasAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/containers/CanvasAutomationImpl.as
@@ -0,0 +1,83 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	import flash.display.DisplayObject;
+
+	import mx.automation.Automation;
+	import mx.automation.delegates.core.ContainerAutomationImpl;
+	import mx.containers.Canvas;
+
+	[Mixin]
+	/**
+	 *
+	 *  Defines the methods and properties required to perform instrumentation for the
+	 *  Canvas class.
+	 *
+	 *  @see mx.containers.Canvas
+	 *
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class CanvasAutomationImpl extends ContainerAutomationImpl
+	{
+		include "../../../core/Version.as";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Class methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Registers the delegate class for a component class with automation manager.
+		 *
+		 *  @param root The SystemManger of the application.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static function init(root:DisplayObject):void
+		{
+			Automation.registerDelegateClass(Canvas, CanvasAutomationImpl);
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor.
+		 * @param obj Canvas object to be automated.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function CanvasAutomationImpl(obj:Canvas)
+		{
+			super(obj);
+
+			recordClick = true;
+		}
+
+	}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 17654
Author:   clucier@adobe.com
Date:     2010-09-10T14:40:23.075630Z

Log Message:
-----------
Shader transitions now account for target's colorTransform.

QE notes: None
Doc notes: None
Bugs: SDK-27732
Reviewer: Carol
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/utils/BitmapUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as
@@ -341,7 +341,7 @@
             if (target is GraphicElement)
                 bmData = GraphicElement(target).captureBitmapData(true, 0, false);
             else
-                bmData = BitmapUtil.getSnapshot(IUIComponent(target));
+                bmData = BitmapUtil.getSnapshot(IUIComponent(target), null, true);
         }
         catch (e:SecurityError)
         {


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

--- frameworks/projects/mx/src/mx/styles/metadata/ModalTransparencyStyles.as
+++ frameworks/projects/mx/src/mx/styles/metadata/ModalTransparencyStyles.as
@@ -21,6 +21,11 @@
  *  modalTransparencyColor style.
  *
  *  @default 0.5
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="modalTransparency", type="Number", inherit="yes")]

@@ -31,6 +36,11 @@
  *  @see flash.filters.BlurFilter
  *
  *  @default 3
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="modalTransparencyBlur", type="Number", inherit="yes")]

@@ -40,6 +50,11 @@
  *  applied to the application when a modal window is open.
  *
  *  @default #DDDDDD
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="modalTransparencyColor", type="uint", format="Color", inherit="yes")]

@@ -48,5 +63,10 @@
  *  plays when a modal window opens or closes.
  *
  *  @default 100
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="modalTransparencyDuration", type="Number", format="Time", inherit="yes")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 6112
Author:   jszeto@adobe.com
Date:     2009-04-10T00:52:20.424522Z

Log Message:
-----------
DropDownList Bug Fixes

- Added functionality to keep the anchor button in the down state when the dropDown is open.
- Changed SkinnableDataContainer's dataGroup skin part from required to optional. Added some null check protection to List, and ListBase. Changed the DropDownListSkin to only include the dropDown in the open state.

Bug Fixes:

SDK-20534 - DropDownList does not gray out text when disabled

Updated the skin to set the alpha in the disabled state

SDK-20532 - When using scroll bar on the dropDown of a DropDownList the dropDown closes

Added dropDown skinPart that defines the area that doesn't automatically close DropDownList on a mouseDown

SDK-19868 - Gumbo DropDownList should support symbolColor style

Changed the down arrow in the DropDownListButtonSkin to use a radialGradient fill instead of a DropShadowFilter. Also, the PopUp component now passes its styles along to its content.

SDK-19572 - DropDownList popup doesnt close or move when resizing browser window

Added a systemManager resize handler that closes the dropDown

SDK-20535 - DropDownList text styles are not passed on to dropDown and no dropDown styles exist

The PopUp component now passes its styles along to its content.

SDK-20555 - Spark DropDownList should size itself a bit better so partial rows arent displayed if possible

Changed the default size of the dropDown from 140 to 134. This should handle this issue if the DropDownList is using the default item renderer

QE Notes:
Doc Notes: Added dropDown skin part to DropDownList
Bugs: SDK-20534, SDK-20532, SDK-19868, SDK-19572, SDK-20535, SDK-20555
Reviewer: Glenn

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/skins/default/DropDownListButtonSkin.mxml</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/skins/default/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUp.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
@@ -163,7 +163,7 @@
     //
     //--------------------------------------------------------------------------

-    [SkinPart(required="true")]
+    [SkinPart(required="false")]

     /**
      *  A required skin part that defines the DataGroup where the data


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/spark/src/spark/components/mediaClasses/VolumeBar.as
+++ frameworks/projects/spark/src/spark/components/mediaClasses/VolumeBar.as
@@ -509,7 +509,7 @@
     {
         invalidateSkinState();

-        // TODO!! Add logic to handle commitData
+        // FIXME (rfrishbe): Add logic to handle commitData
         //if (event.isDefaultPrevented())

         dispatchEvent(event);


Updated asdocs in ISignal (removed priority param).

--- src/org/osflash/signals/ISignal.as
+++ src/org/osflash/signals/ISignal.as
@@ -10,10 +10,6 @@

 		/**
 		 * Subscribes a listener for the signal.
-		 * After you successfully register an event listener,
-		 * you cannot change its priority through additional calls to add().
-		 * To change a listener's priority, you must first call remove().
-		 * Then you can register the listener again with the new priority level.
 		 * @param	listener A function with an argument
 		 * that matches the type of event dispatched by the signal.
 		 * If eventClass is not specified, the listener and dispatch() can be called without an argument.
@@ -27,10 +23,6 @@
 		 * @param	listener A function with an argument
 		 * that matches the type of event dispatched by the signal.
 		 * If eventClass is not specified, the listener and dispatch() can be called without an argument.
-		 * @param	priority The priority level of the event listener.
-		 * The priority is designated by a signed 32-bit integer.
-		 * The higher the number, the higher the priority.
-		 * All listeners with priority n are processed before listeners of priority n-1.
 		 */
 		function addOnce(listener:Function):void;


Minor fix

Minor fix

--- Arguments/src/Model/SimpleStatementModel.as
+++ Arguments/src/Model/SimpleStatementModel.as
@@ -239,9 +239,9 @@
 					}
 				}
 				else{
-					//var rex:RegExp = /[a-zA-Z0-9]/g;
+					var rex:RegExp = /[a-zA-Z0-9]/g;
 					if(simpleStatement.parent.firstReason == true && simpleStatement.parent.argumentTypeModel!=null)
-						if(simpleStatement.parent.statementFunction==StatementModel.STATEMENT && simpleStatement.parent.argumentTypeModel.logicClass==AGORAParameters.getInstance().COND_SYLL && simpleStatement.text == simpleStatement.parent.statement.text && (text == "" || text == " "))
+						if(simpleStatement.parent.statementFunction==StatementModel.STATEMENT && simpleStatement.parent.argumentTypeModel.logicClass==AGORAParameters.getInstance().COND_SYLL && simpleStatement.text == simpleStatement.parent.statement.text && text.search(rex) == -1)
 							if(simpleStatement.parent.argumentTypeModel.reasonModels.length<2)
 								continue;
 					simpleStatement.text = text;


Changed ImageResource to use the "attach://"-protocol infrastructure in AbstractResource

--- src/reprise/external/ImageResource.as
+++ src/reprise/external/ImageResource.as
@@ -19,8 +19,6 @@
 	import flash.system.Security;
 	import flash.utils.ByteArray;
 	import flash.utils.Timer;
-	import flash.utils.getDefinitionByName;
-	import flash.utils.getQualifiedClassName;

 	public class ImageResource extends AbstractResource
 	{
@@ -31,7 +29,6 @@

 		protected var m_loader : Loader;
 		protected var m_resource : DisplayObject;
-		protected var m_attachMode : Boolean;
 		private var m_policyFileLoadTimer:Timer;

@@ -105,39 +102,9 @@
 			// asset from library
 			if (m_url.indexOf('attach://') == 0)
 			{
-				//remove protocol
-				var symbolId:String = m_url.substr(9);
-				m_attachMode = true;
-
-				//get FQCN name of assets class that contains the requested symbol
-				var pieces:Array = symbolId.split('/');
-				var className : String = pieces.shift();
-	            try
-	            {
-	                var symbol : Object = getDefinitionByName(className);
-	            }
-				catch (e : Error)
-				{
-					log('w Unable to use attach:// procotol. Symbol ' + symbolId + ' not found or not of type Class');
-					onData(false);
-	            }
-
-				//iterate over remaining path parts, getting nested symbols from the assets class
-				for (var i:int = 0; i < pieces.length; i++)
-				{
-					symbol = symbol[pieces[i]];
-					if (!symbol)
-					{
-						log('w Unable to use attach:// procotol! Static property ' + pieces.join('/') +
-								' not found on Class ' + className);
-						onData(false);
-						return;
-					}
-				}
-				if (!(symbol is Class))
-				{
-					log('w Unable to use attach:// procotol. Static property ' + pieces.join('/') +
-							' on Class ' + className + ' is not of type Class.');
+				var symbol : Class = resolveAttachSymbol();
+				if (!symbol)
+				{
 					onData(false);
 					return;
 				}
@@ -149,10 +116,10 @@
 					useByteloader = true;
 					assetBytes = ByteArray(resource);
 				}
-				else if (resource.hasOwnProperty('bytes'))
+				else if (resource.hasOwnProperty('movieClipData'))
 				{
 					useByteloader = true;
-					assetBytes = resource['bytes'];
+					assetBytes = ByteArray(resource['movieClipData']);
 				}
 				else if (resource is DisplayObject)
 				{
@@ -163,9 +130,7 @@
 				}
 				else
 				{
-					var fqcn : String = getQualifiedClassName(symbol);
-					log('w Unable to use attach:// procotol. Static property ' + pieces.join('/') + ' on Class ' +
-							className + ' has type ' + fqcn + ', which is not supported by ImageResource');
+					logUnsupportedTypeMessage(symbol);
 					onData(false);
 					return;
 				}


Transferred from the Adobe Open Source Subversion Repository

Revision: 18126
Author:   gruehle@adobe.com
Date:     2010-10-11T18:03:16.346900Z

Log Message:
-----------
Change name MobileTextField to StyleableTextField.

QE notes: Tests using MobileTextField by name will need updating.
Doc notes: Docs mentioning MobileTextField will need updating.
Bugs: SDK-27849
Reviewer: Ryan
Tests run: checkintests, QE cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileTextField.as" copyfrom-rev="18115" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/MobileTextFieldTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileTextField.as</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/mobilecomponents/src/spark/components/MobileItemRenderer.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/mobilecomponents/src/spark/components/supportClasses/TextInputOperation.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileIconItemRenderer.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as
+++ frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as
@@ -0,0 +1,161 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2010 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  Color of text in the component, including the component label.
+ *
+ *  The default value for the Halo theme is 0x0B333C.
+ *  The default value for the Spark theme is 0x000000.
+ *  The default value for the Mobile theme is 0xFFFFFF.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="color", type="uint", format="Color", inherit="yes")]
+
+/**
+ *  Name of the font to use.
+ *  Unlike in a full CSS implementation,
+ *  comma-separated lists are not supported.
+ *  You can use any font family name.
+ *  If you specify a generic font name,
+ *  it is converted to an appropriate device font.
+ *
+ *  The default font for the Halo theme is "Verdana".
+ *  The default font for the Spark theme is "Arial".
+ *  The default font for the Mobile theme is "_sans".
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="fontFamily", type="String", inherit="yes")]
+
+/**
+ *  Height of the text, in pixels.
+ *
+ *  In the Halo theme, the default value is 10 for all controls except
+ *  the ColorPicker control. For the Halo themed ColorPicker control,
+ *  the default value is 11. In the Spark theme, the default value is
+ *  12 for all controls except the ColorPicker control. For the Spark
+ *  themed ColorPicker control, the default value is 11.
+ *  The default value for the Mobile theme is 24.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="fontSize", type="Number", format="Length", inherit="yes")]
+
+/**
+ *  Determines whether the text is italic font.
+ *  Recognized values are "normal" and "italic".
+ *
+ *  @default "normal"
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="fontStyle", type="String", enumeration="normal,italic", inherit="yes")]
+
+/**
+ *  Determines whether the text is boldface.
+ *  Recognized values are normal and bold.
+ *  The default value for Button controls is bold.
+ *  The default value for all other controls is normal.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="fontWeight", type="String", enumeration="normal,bold", inherit="yes")]
+
+/**
+ *  Additional vertical space between lines of text.
+ *
+ *
The default value is 2.

+ *
The default value for the ComboBox control is 0.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="leading", type="Number", format="Length", inherit="yes")]
+
+/**
+ *  The number of additional pixels to appear between each character.
+ *  A positive value increases the character spacing beyond the normal spacing,
+ *  while a negative value decreases it.
+ *
+ *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="letterSpacing", type="Number", inherit="yes")]
+
+/**
+ *  Alignment of text within a container.
+ *  Possible values are "left", "right",
+ *  or "center".
+ *
+ *
The default value for most components is "left".
+ *  For the FormItem component,
+ *  the default value is "right".
+ *  For the Button, LinkButton, and AccordionHeader components,
+ *  the default value is "center", and
+ *  this property is only recognized when the
+ *  labelPlacement property is set to "left" or
+ *  "right".
+ *  If labelPlacement is set to "top" or
+ *  "bottom", the text and any icon are centered.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="textAlign", type="String", enumeration="left,center,right", inherit="yes")]
+
+/**
+ *  Determines whether the text is underlined.
+ *  Possible values are "none" and "underline".
+ *
+ *  @default "none"
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="textDecoration", type="String", enumeration="none,underline", inherit="yes")]
+
+/**
+ *  Offset of first line of text from the left side of the container, in pixels.
+ *
+ *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="textIndent", type="Number", format="Length", inherit="yes")]


switching back to ActionScript base64 code temporarily until issues are
worked out with C code.

Change-Id: I5a93cfedefd27376c04121f06899bccaad0f5c8d

--- WeaveCore/src/weave/compiler/StandardLib.as
+++ WeaveCore/src/weave/compiler/StandardLib.as
@@ -829,6 +829,12 @@
 		 */
 		public static function btoa(input:ByteArray):String
 		{
+			var encoder:Base64Encoder = new Base64Encoder();
+			encoder.insertNewLines = false;
+			if (input)
+				encoder.encodeBytes(input);
+			return encoder.drain();
+
 			return FlasCC.call(weave.flascc.btoa, input);
 		}

@@ -839,6 +845,10 @@
 		 */
 		public static function atob(input:String):ByteArray
 		{
+			var decoder:Base64Decoder = new Base64Decoder();
+			decoder.decode(input);
+			return decoder.drain();
+
 			return FlasCC.call(weave.flascc.atob, input);
 		}


fixed bug where ColorRamp preset wasn't being parsed properly.

--- WeaveData/src/weave/primitives/ColorRamp.as
+++ WeaveData/src/weave/primitives/ColorRamp.as
@@ -73,26 +73,36 @@
 			var color:Number;
 			var positions:Array = [];
 			var reversed:Boolean = false;
-
+			var string:String = value;
 			var xml:XML = null;
-			if (value.charAt(0) == '<' && value.substr(-1) == '>')
+			if (string.charAt(0) == '<' && string.substr(-1) == '>')
 			{
 				try // try parsing as xml
 				{
-					xml = XML(value);
+					xml = XML(string);
 					reversed = String(xml.@reverse) == 'true';

-					var xmlNodes:XMLList = xml.children();
-					_colorNodes.length = xmlNodes.length();
-					for (i = 0; i < xmlNodes.length(); i++)
+					var text:String = xml.text();
+					if (text)
 					{
-						var position:String = xmlNodes[i].@position;
-						pos = position == '' ? i / (_colorNodes.length - 1) : Number(position);
-						color = Number(xmlNodes[i].@color);
-						_colorNodes[i] = new ColorNode(pos, color);
-						positions[i] = pos;
+						// treat a single text node as a list of color values
+						string = text;
+						xml = null;
+					}
+					else
+					{
+						// handle a list of colorNode tags containing position and color attributes
+						var xmlNodes:XMLList = xml.children();
+						_colorNodes.length = xmlNodes.length();
+						for (i = 0; i < xmlNodes.length(); i++)
+						{
+							var position:String = xmlNodes[i].@position;
+							pos = position == '' ? i / (_colorNodes.length - 1) : Number(position);
+							color = Number(xmlNodes[i].@color);
+							_colorNodes[i] = new ColorNode(pos, color);
+							positions[i] = pos;
+						}
 					}
-
 				}
 				catch (e:Error) { } // not an xml
 			}
@@ -100,7 +110,7 @@

 			if (!_isXML)
 			{
-				var colors:Array = VectorUtils.flatten(WeaveAPI.CSVParser.parseCSV(value));
+				var colors:Array = VectorUtils.flatten(WeaveAPI.CSVParser.parseCSV(string));
 				_colorNodes.length = colors.length;
 				for (i = 0; i < colors.length; i++)
 				{


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

--- frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as
+++ frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 88
Author:   open-source-svn-admin@adobe.com
Date:     2008-01-03T22:47:56.499469Z

Log Message:
-----------
Perforce Change 191925 by proberts@proberts-laptop-flex on 2008/01/03 16:47:12 Severity: ignore Details: doc additions/clean up for FlexNativeMenu. Also FLEXDOCS-320 (update documentation for FlexNativeMenuEvent.MENU_SHOW to explain that the index, label, and item properties are null) Affected files ...

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Consumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/NoChannelAvailableError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessagingError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidChannelError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXContext.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/PollingChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/Grammar.jj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ConsumerMessageDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidDestinationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractMessageStore.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as
+++ frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as
@@ -1,21 +1,14 @@
-/*************************************************************************
- *
- * ADOBE CONFIDENTIAL
- * __________________
- *
- *  [2002] - [2007] Adobe Systems Incorporated
- *  All Rights Reserved.
- *
- * NOTICE:  All information contained herein is, and remains
- * the property of Adobe Systems Incorporated and its suppliers,
- * if any.  The intellectual and technical concepts contained
- * herein are proprietary to Adobe Systems Incorporated
- * and its suppliers and may be covered by U.S. and Foreign Patents,
- * patents in process, and are protected by trade secret or copyright law.
- * Dissemination of this information or reproduction of this material
- * is strictly forbidden unless prior written permission is obtained
- * from Adobe Systems Incorporated.
- */
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
 package mx.messaging.channels
 {

@@ -45,7 +38,6 @@
 import mx.messaging.messages.MessagePerformanceInfo;
 import mx.messaging.messages.MessagePerformanceUtils;
 import mx.utils.StringUtil;
-

 use namespace mx_internal;

@@ -738,4 +730,4 @@
      *  @param event The Channel fault event.
      */
     override protected function channelFaultHandler(event:ChannelFaultEvent):void {}
-}+}


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

--- frameworks/projects/rpc/src/mx/messaging/management/MBeanOperationInfo.as
+++ frameworks/projects/rpc/src/mx/messaging/management/MBeanOperationInfo.as
@@ -0,0 +1,76 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.messaging.management
+{
+
+import mx.utils.ObjectUtil;
+
+[RemoteClass(alias='flex.management.jmx.MBeanOperationInfo')]
+
+/**
+ * Client representation of metadata for a MBean operation.
+ */
+public class MBeanOperationInfo extends MBeanFeatureInfo
+{
+    /**
+     *  Creates a new instance of an empty MBeanOperationInfo.
+     */
+	public function MBeanOperationInfo()
+	{
+		super();
+	}
+
+	/**
+	 * The parameter data types that make up the operation signature.
+	 */
+	public var signature:Array;
+
+	/**
+	 * The return data type for the operation.
+	 */
+	public var returnType:String;
+
+	/**
+	 * The impact of the operation. One of four possible values, defined as constants
+	 * for this class.
+	 *
+	 * @see #INFO
+	 * @see #ACTION
+	 * @see #ACTION_INFO
+	 * @see #UNKNOWN
+	 */
+	public var impact:int;
+
+	/**
+	 * The operation is purely informational with no side-effects, read-only.
+	 */
+	public const INFO:int = 0;
+
+	/**
+	 * The operation is write-like, updating the control in some way.
+	 */
+	public const ACTION:int = 1;
+
+	/**
+	 * The operation is both read-like and write-like, updating the control and returning
+	 * information.
+	 */
+	public const ACTION_INFO:int = 2;
+
+	/**
+	 * The side-effects for the operation are unknown.
+	 */
+	public const UNKNOWN:int = 3;
+
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 17547
Author:   rfrishbe@adobe.com
Date:     2010-09-01T21:04:52.456703Z

Log Message:
-----------
Fixing 2 List bugs for Beta.

SDK-27686: MobileIconItemRenderer needs to handle null items in the data for message, icon, and label better than it currently does, and it needs to make sure that when encountering a null that a recycled item renderer resets appropriately.

SDK-27371: ListBase now keeps track of when it should play transitions better.  This is a pretty large change in how we deal with transitions, but we are now keeping track of when caret or selection occurs and whether it occurred due to item recycling or not.

QE notes: None
Doc notes: None
Bugs: SDK-27686, SDK-27371
Reviewer: Glenn for MIIR change, Hans for ListBase change
Tests run: checkintests, mustella List, ButtonBar, spark/effects/Regression/test/CatalystMatrixTransitions_test, spark/effects/Regression/test/CatalystMatrixSequences_test
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileIconItemRenderer.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -213,6 +213,29 @@
      */
     mx_internal var dispatchChangeAfterSelection:Boolean = false;

+    /**
+     *  @private
+     *  Used to keep track of whether selection transitions should play
+     *  in the updateRenderer() code.  See turnOnSelectionTransitionsForOneFrame()
+     */
+    private var allowSelectionTransitions:Boolean = false;
+
+    /**
+     *  @private
+     *  Used to keep track of whether caret transitions should play
+     *  in the updateRenderer() code.  See turnOnCaretTransitionsForOneFrame()
+     */
+    private var allowCaretTransitions:Boolean = false;
+
+    /**
+     *  @private
+     *  Used to keep track of whether we are in updateRenderer().  This is
+     *  so we know that any calls to itemSelected() and itemShowingCaret(),
+     *  are called based on a user-action (either interaction or programattic)
+     *  and not through item renderer recycling.
+     */
+    private var inUpdateRenderer:Boolean;
+
     //--------------------------------------------------------------------------
     //
     //  Overridden properties
@@ -922,27 +945,48 @@
      */
     override public function updateRenderer(renderer:IVisualElement, itemIndex:int, data:Object):void
     {
-        // If there are transitions bound to the renderer, lets turn them
-        // off while we clear stale properties by setting ItemRenderer's
-        // mx_internal property, playTransitions, to false.
-        if (renderer is ItemRenderer)
-            ItemRenderer(renderer).playTransitions = false;
-
-        // First clean up any old, stale properties like selected and caret
-        if (renderer is IItemRenderer)
-        {
-            // TODO (dsubrama): - Go through helper methods to do this.
-            // Make itemSelected()/itemShowingCaret() pass around the renderer
-            // instead of index
-            IItemRenderer(renderer).showsCaret = false;
-        }
-
-        // Set any new properties on the renderer now that it's going to
-        // come back into use.
-        itemSelected(itemIndex, shouldItemAppearSelected(itemIndex));
-
-        if (isItemIndexShowingCaret(itemIndex))
-            itemShowingCaret(itemIndex, true);
+        // We keep track of whether we are in updateRenderer().  This is
+        // so we know that any calls to itemSelected() and itemShowingCaret(),
+        // are called based on a user-action (either interaction or programattic)
+        // and not through item renderer recycling.
+        inUpdateRenderer = true;
+
+        // We need to deal with transitions appropriately.  If selection transitions
+        // are on for updateRenderer() but caret transitions are not, then we want to
+        // set the caret first (with transitions off) and then set the selection.
+        // We do it in this order for this case because we want the last change
+        // we make to cause a transition (if it's on).
+        // Otherwise, we set selection first and then caret.
+        if (allowSelectionTransitions && !allowCaretTransitions)
+        {
+            // no transitions for caret, so turn them off since this is just
+            // due to item renderer recycling
+            if (renderer is ItemRenderer)
+                ItemRenderer(renderer).playTransitions = false;
+
+            itemShowingCaret(itemIndex, isItemIndexShowingCaret(itemIndex));
+
+            // turn on transitions for selection
+            if (renderer is ItemRenderer)
+                ItemRenderer(renderer).playTransitions = true;
+
+            itemSelected(itemIndex, shouldItemAppearSelected(itemIndex));
+        }
+        else
+        {
+            // if selection transitions are on, turn them on.  otherwise, turn them off,
+            // so we don't see them for item renderer recycling
+            if (renderer is ItemRenderer)
+                ItemRenderer(renderer).playTransitions = allowSelectionTransitions;
+
+            itemSelected(itemIndex, shouldItemAppearSelected(itemIndex));
+
+            // deal with transitions for caret appropriately
+            if (renderer is ItemRenderer)
+                ItemRenderer(renderer).playTransitions = allowCaretTransitions;
+
+            itemShowingCaret(itemIndex, isItemIndexShowingCaret(itemIndex));
+        }

         // Now turn the transitions back on by setting playTransitions
         // back to true
@@ -953,6 +997,9 @@
         // call super.updateRenderer() last because super.updateRenderer()
         // sets the data on the item renderer, and that should be done last.
         super.updateRenderer(renderer, itemIndex, data);
+
+        // let us know we're out of updateRenderer()
+        inUpdateRenderer = false;
     }

     /**
@@ -997,6 +1044,13 @@
      */
     protected function itemSelected(index:int, selected:Boolean):void
     {
+        // if this method is called from anywhere besides the updateRenderer(),
+        // then we want transitions for selection to play.  This way if it's called
+        // from the selectedIndex setter or through the keyDown handler or through
+        // commitProperties(), transitions will be enabled for it.
+        if (!inUpdateRenderer)
+            turnOnSelectionTransitionsForOneFrame();
+
         // Subclasses must override this method to display the selection.
     }

@@ -1016,6 +1070,13 @@
      */
     protected function itemShowingCaret(index:int, showsCaret:Boolean):void
     {
+        // if this method is called from anywhere besides the updateRenderer(),
+        // then we want transitions for caret to play.  This way if it's called
+        // from the keyDown handler or through
+        // commitProperties(), transitions will be enabled for it.
+        if (!inUpdateRenderer)
+            turnOnCaretTransitionsForOneFrame();
+
         // Subclasses must override this method to display the caret.
     }

@@ -1291,6 +1352,80 @@
             // the selected index backing variable.
             adjustSelection(selectedIndex - 1);
         }
+    }
+
+    /**
+     *  @private
+     *  Turns on selection transitions for one frame.  We turn it on for
+     *  one frame to make sure that no matter how the property gets set
+     *  (synchronously in the event handler or asynchronously during validation)
+     *  that we make sure selection transitions will play appropriately.
+     */
+    private function turnOnSelectionTransitionsForOneFrame():void
+    {
+        // if already on, no need to run this again
+        // or if there's no systemManager, then we're not really initialized, so let's
+        // just keep transitions off.
+        if (allowSelectionTransitions || !systemManager)
+            return;
+
+        allowSelectionTransitions = true;
+
+        // We want to wait one frame after validation has occured before turning off
+        // selection transitions again.  We tried using dataGroup's updateComplete event listener,
+        // but because some validateNows() occur (before all of the event handling code has finished),
+        // this was occuring too early.  We also tried just using callLater or ENTER_FRAME, but that
+        // occurs before the LayoutManager has run, so we add an ENTER_FRAME handler with a
+        // low priority to make sure it occurs after the LayoutManager pass.
+        systemManager.addEventListener(Event.ENTER_FRAME, allowSelectionTransitions_enterFrameHandler, false, -100);
+    }
+
+    /**
+     *  @private
+     *  After waiting a frame, we want to turn off selection transitions
+     */
+    private function allowSelectionTransitions_enterFrameHandler(event:Event):void
+    {
+        event.target.removeEventListener(Event.ENTER_FRAME, allowSelectionTransitions_enterFrameHandler);
+
+        allowSelectionTransitions = false;
+    }
+
+    /**
+     *  @private
+     *  Turns on caret transitions for one frame.  We turn it on for
+     *  one frame to make sure that no matter how the property gets set
+     *  (synchronously in the event handler or asynchronously during validation)
+     *  that we make sure caret transitions will play appropriately.
+     */
+    private function turnOnCaretTransitionsForOneFrame():void
+    {
+        // if already on, no need to run this again
+        // or if there's no systemManager, then we're not really initialized, so let's
+        // just keep transitions off.
+        if (allowCaretTransitions || !systemManager)
+            return;
+
+        allowCaretTransitions = true;
+
+        // We want to wait one frame after validation has occured before turning off
+        // selection transitions again.  We tried using dataGroup's updateComplete event listener,
+        // but because some validateNows() occur (before all of the event handling code has finished),
+        // this was occuring too early.  We also tried just using callLater or ENTER_FRAME, but that
+        // occurs before the LayoutManager has run, so we add an ENTER_FRAME handler with a
+        // low priority to make sure it occurs after the LayoutManager pass.
+        systemManager.addEventListener(Event.ENTER_FRAME, allowCaretTransitions_enterFrameHandler, false, -100);
+    }
+
+    /**
+     *  @private
+     *  After waiting a frame, we want to turn off caret transitions
+     */
+    private function allowCaretTransitions_enterFrameHandler(event:Event):void
+    {
+        event.target.removeEventListener(Event.ENTER_FRAME, allowCaretTransitions_enterFrameHandler);
+
+        allowCaretTransitions = false;
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 6120
Author:   egeorgie@adobe.com
Date:     2009-04-10T07:33:22.280129Z

Log Message:
-----------
Fix bug http://bugs.adobe.com/jira/browse/SDK-20586 DefaultItemRenderer doesn't work with virtualization

Fix: The problem was that whenever the DataGroup creates new item renderers, it validates them at their initial size (0,0) which was causing text to reflow at 0 width. We should not reflow text at width 0 anyway, so I added a check in the text reflow code.

QE Notes: None
Doc Notes: None
Bugs: SDK-20586
Reviewer: Hans
tests: checkintests, mustella (layout, group, datagroup)

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
@@ -706,7 +706,7 @@
         // constrained by the layout with "left" and "right", but the
         // container width itself may not be constrained and it would depend
         // on the element's measuredWidth.
-        var constrainedWidth:Boolean = !isNaN(width) && (width != measuredWidth);
+        var constrainedWidth:Boolean = !isNaN(width) && (width != measuredWidth) && (width != 0);
         if (!constrainedWidth)
             return;