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

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


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

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


Transferred from the Adobe Open Source Subversion Repository

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

--- frameworks/projects/rpc/src/mx/rpc/xml/SchemaLoader.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/SchemaLoader.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2006-2007 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//  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
+//
+//      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.
 //
 ////////////////////////////////////////////////////////////////////////////////


FLEX-33992 fix zero division issue

FLEX-33992 fix zero division issue

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -735,9 +735,9 @@
         {
             const gridViewLayout:GridViewLayout = centerGridView.gridViewLayout;
             const gridMaxHSP:Number = contentWidth - width;
-            const centerContentWidth:Number = Math.ceil(gridViewLayout.gridDimensionsView.getContentWidth());
-            const centerMaxHSP:Number = centerContentWidth - centerGridView.width;
-            const hsp:Number = (centerMaxHSP / gridMaxHSP) * value;
+	        const centerContentWidth:Number = Math.ceil(gridViewLayout.gridDimensionsView.getContentWidth());
+	        const centerMaxHSP:Number = centerContentWidth - centerGridView.width;
+			const hsp:Number = (gridMaxHSP > 0) ? (centerMaxHSP / gridMaxHSP) * value : 0;

             centerGridView.horizontalScrollPosition = hsp;

@@ -853,7 +853,7 @@
             const gridMaxVSP:Number = contentHeight - height;
             const centerContentHeight:Number = Math.ceil(gridViewLayout.gridDimensionsView.getContentHeight());
             const centerMaxVSP:Number = centerContentHeight - centerGridView.height;
-            const vsp:Number = gridMaxVSP == 0 ? 0 :  (centerMaxVSP / gridMaxVSP) * value;
+            const vsp:Number = (gridMaxVSP > 0) ? (centerMaxVSP / gridMaxVSP) * value : 0;

             centerGridView.verticalScrollPosition = vsp;


Transferred from the Adobe Open Source Subversion Repository

Revision: 7065
Author:   smgilson@adobe.com
Date:     2009-05-19T12:27:36.799816Z

Log Message:
-----------
ASDoc updates for styles

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<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/CheckBox.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/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.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/components/supportClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -32,7 +32,7 @@
 use namespace mx_internal;  //ListBase and List share selection properties that are mx_internal

 /**
- *  @copy spark.components.supportClasses.GroupBase#alternatingItemColors
+ *  @copy spark.components.supportClasses.GroupBase#style:alternatingItemColors
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -42,7 +42,7 @@
 [Style(name="alternatingItemColors", type="Array", arrayType="uint", format="Color", inherit="yes", theme="spark")]

 /**
- *  @copy spark.components.supportClasses.GroupBase#contentBackgroundColor
+ *  @copy spark.components.supportClasses.GroupBase#style:contentBackgroundColor
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -52,7 +52,7 @@
 [Style(name="contentBackgroundColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
- *  @copy spark.components.supportClasses.GroupBase#rollOverColor
+ *  @copy spark.components.supportClasses.GroupBase#style:rollOverColor
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -62,7 +62,7 @@
 [Style(name="rollOverColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
- *  @copy spark.components.supportClasses.GroupBase#selectionColor
+ *  @copy spark.components.supportClasses.GroupBase#style:selectionColor
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -72,7 +72,7 @@
 [Style(name="selectionColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
- *  @copy spark.components.supportClasses.GroupBase#symbolColor
+ *  @copy spark.components.supportClasses.GroupBase#style:symbolColor
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -338,13 +338,13 @@
      */
     override protected function commitProperties():void
     {
-    	super.commitProperties();
-
-    	if (multipleSelectionChanged)
-    	{
-    		commitSelection();
-    		multipleSelectionChanged = false;
-    	}
+        super.commitProperties();
+
+        if (multipleSelectionChanged)
+        {
+            commitSelection();
+            multipleSelectionChanged = false;
+        }
     }

     /**
@@ -355,22 +355,22 @@
      */
     override protected function commitSelection(dispatchSelectionChanged:Boolean = true):Boolean
     {
-    	var oldIndex:Number = _selectedIndex;
-
-    	// Ensure that multiple selection is allowed and that proposed
+        var oldIndex:Number = _selectedIndex;
+
+        // Ensure that multiple selection is allowed and that proposed
         // selected indices honors it. For example, in the single
         // selection case, proposedSelectedIndices should only be an
         // array of 1 entry. If its not, we pare it down and select the
         // first item.
         if (!allowMultipleSelection && !isEmpty(_proposedSelectedIndices))
             _proposedSelectedIndices = [_proposedSelectedIndices[0]];
-
-    	// Keep _proposedSelectedIndex in-sync with multiple selection properties.
-    	if (!isEmpty(_proposedSelectedIndices))
-    	   _proposedSelectedIndex = getLastItemValue(_proposedSelectedIndices);
-
-    	// Let ListBase handle the validating and commiting of the single-selection
-    	// properties.
+
+        // Keep _proposedSelectedIndex in-sync with multiple selection properties.
+        if (!isEmpty(_proposedSelectedIndices))
+           _proposedSelectedIndex = getLastItemValue(_proposedSelectedIndices);
+
+        // Let ListBase handle the validating and commiting of the single-selection
+        // properties.
         var retVal:Boolean = super.commitSelection(false);

         // If super.commitSelection returns a value of false,
@@ -383,7 +383,7 @@
         // comitted.
         if (selectedIndex > NO_SELECTION)
         {
-        	if (_proposedSelectedIndices && _proposedSelectedIndices.indexOf(selectedIndex) == -1)
+            if (_proposedSelectedIndices && _proposedSelectedIndices.indexOf(selectedIndex) == -1)
                 _proposedSelectedIndices.push(selectedIndex);
         }

@@ -730,8 +730,8 @@

         if (renderer)
         {
-        	renderer.addEventListener("click", item_clickHandler);
-        	updateRenderer(IVisualElement(renderer));
+            renderer.addEventListener("click", item_clickHandler);
+            updateRenderer(IVisualElement(renderer));
         }
     }

@@ -756,7 +756,7 @@
      */
     protected function item_clickHandler(event:MouseEvent):void
     {
-    	// TODO (jszeto) Clear the caret
+        // TODO (jszeto) Clear the caret
         var newIndex:Number;
         if (!allowMultipleSelection)
         {
@@ -849,7 +849,7 @@
         if ((!selectedIndices && selectedIndex > NO_SELECTION) ||
             (selectedIndex > NO_SELECTION && selectedIndices.indexOf(selectedIndex) == -1))
         {
-        	commitSelection();
+            commitSelection();
         }

         // Handle the add or remove and adjust selection accordingly.
@@ -916,7 +916,7 @@
         // fired to update any bindings to selection properties.
         if (_selectedIndices != oldIndices)
         {
-        	selectedIndexAdjusted = true;
+            selectedIndexAdjusted = true;
             invalidateProperties();
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12164
Author:   smgilson@adobe.com
Date:     2009-11-24T16:39:27.857519Z

Log Message:
-----------
add note about square corners to Rect.as and BorderContainer.as for SDK-23964

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

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

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

--- frameworks/projects/spark/src/spark/primitives/Rect.as
+++ frameworks/projects/spark/src/spark/primitives/Rect.as
@@ -29,6 +29,10 @@
  *  The corners of the rectangle can be rounded. The drawElementent() method
  *  calls the Graphics.drawRect() and Graphics.drawRoundRect()
  *  methods.
+ *
+ *
Note: By default, the stroke of the border is rounded.
+ *  If you do not want rounded corners, set the joints property of
+ *  the stroke to JointStyle.MITER.

  *
  *  @see flash.display.Graphics
  *


fixed bug handling case where LinkablePromise task triggers promise callbacks.

--- WeaveCore/src/weave/core/LinkablePromise.as
+++ WeaveCore/src/weave/core/LinkablePromise.as
@@ -174,14 +174,21 @@

 		private function _groupedCallback():void
 		{
-			if (_lazy || !_invalidated)
-				return;
-
-			_invalidated = false;
-
 			try
 			{
+				if (_lazy || !_invalidated)
+					return;
+
+				// _invalidated is true prior to invoking the task
 				var invokeResult:* = _task.apply(null);
+
+				// if _invalidated has been set to false, it means _immediateCallback() was triggered from the task and it's telling us we should stop now.
+				if (!_invalidated)
+					return;
+
+				// set _invalidated to false now since we invoked the task
+				_invalidated = false;
+
 				if (invokeResult is WeavePromise)
 					_asyncToken = (invokeResult as WeavePromise).getAsyncToken();
 				else
@@ -198,6 +205,7 @@
 			}
 			catch (invokeError:Error)
 			{
+				_invalidated = false;
 				_asyncToken = null;
 				_error = invokeError;
 				WeaveAPI.StageUtils.callLater(this, _handleFault);


Implemented squashHistory().

Implemented squashHistory().

--- WeaveCore/src/weave/core/SessionStateLog.as
+++ WeaveCore/src/weave/core/SessionStateLog.as
@@ -31,6 +31,7 @@
 	import weave.api.getCallbackCollection;
 	import weave.api.registerDisposableChild;
 	import weave.api.registerLinkableChild;
+	import weave.compiler.StandardLib;

 	/**
 	 * This class saves the session history of an ILinkableObject.
@@ -85,6 +86,56 @@
 		 * When this is set to true, changes in the session state of the subject will be automatically logged.
 		 */
 		public const enableLogging:LinkableBoolean = registerLinkableChild(this, new LinkableBoolean(true), synchronizeNow);
+
+		/**
+		 * This will squash a sequence of undos or redos into a single undo or redo.
+		 * @param directionalSquashCount Number of undos (negative) or redos (positive) to squash.
+		 */
+		public function squashHistory(directionalSquashCount:int):void
+		{
+			var cc:ICallbackCollection = getCallbackCollection(this);
+			cc.delayCallbacks();
+
+			synchronizeNow();
+
+			var count:int = StandardLib.constrain(directionalSquashCount, -_undoHistory.length, _redoHistory.length);
+			if (count < -1 || count > 1)
+			{
+				cc.triggerCallbacks();
+
+				var entries:Array;
+				if (count < 0)
+					entries = _undoHistory.splice(_undoHistory.length + count, -count);
+				else
+					entries = _redoHistory.splice(0, count);
+
+				var entry:LogEntry;
+				var squashBackward:Object = null;
+				var squashForward:Object = null;
+				var totalDuration:int = 0;
+				var totalDelay:int = 0;
+				var last:int = entries.length - 1;
+				for (var i:int = 0; i <= last; i++)
+				{
+					entry = entries[last - i] as LogEntry;
+					squashBackward = WeaveAPI.SessionManager.combineDiff(squashBackward, entry.backward);
+
+					entry = entries[i] as LogEntry;
+					squashForward = WeaveAPI.SessionManager.combineDiff(squashForward, entry.forward);
+
+					totalDuration += entry.diffDuration;
+					totalDelay += entry.triggerDelay;
+				}
+
+				entry = new LogEntry(_nextId++, squashForward, squashBackward, totalDelay, totalDuration);
+				if (count < 0)
+					_undoHistory.push(entry);
+				else
+					_redoHistory.unshift(entry);
+			}
+
+			cc.resumeCallbacks();
+		}

 		/**
 		 * This will clear all undo and redo history.


revision 03

revision 03

--- as/main/frame4.as
+++ as/main/frame4.as
@@ -1,4 +1,6 @@
-var historia_txt:String = "";
+
+
+var historia_txt:String = "";
 var baixa_mc:MovieClip;
 var puja_mc:MovieClip;
 var buttonsUI:Array = new Array ("puja_mc", "baixa_mc");
@@ -19,7 +21,9 @@
 	{
 		pressing = true;
 		movement = -1;
+		this.updateAfterEvent;
 	}
+
 }
 function oOut ():Void
 {
@@ -27,6 +31,7 @@
 	for (var i = 0; i < buttonsUI.length; i++)
 	{
 		pressing = false;
+		this.updateAfterEvent;
 	}
 }


fix wrong reference to meshBindingsUsageCount instead of _sceneBindingsUsageCount in RenderingController.unwatchSignature()

--- src/aerys/minko/scene/controller/scene/RenderingController.as
+++ src/aerys/minko/scene/controller/scene/RenderingController.as
@@ -877,7 +877,7 @@
 				else
 				{
 					_sceneBindingsUsageCount[key]--;
-					if (meshBindingsUsageCount[key] == 0)
+					if (_sceneBindingsUsageCount[key] == 0)
 					{
 						sceneBindings.removeCallback(key, bindingsPropertyChangedHandler);
 						delete _sceneBindingsUsageCount[key];


sync up ViewDataBinding to fix error in examples

--- frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ViewDataBinding.as
+++ frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ViewDataBinding.as
@@ -264,7 +264,10 @@
             var n:int = bindingData.length;
             var index:int = 0;
             var watcherData:Object;
-            while (index < n)
+            // FalconJX adds an extra null to the data so make sure
+            // we have enough data for a complete watcher otherwise
+            // say we are done
+            while (index < n - 2)
             {
                 var watcherIndex:int = bindingData[index++];
                 var type:int = bindingData[index++];


use pre-allocated Vector4 in MeshVisibilityController.meshLocalToWorldChangedHandler()

--- src/aerys/minko/scene/controller/mesh/MeshVisibilityController.as
+++ src/aerys/minko/scene/controller/mesh/MeshVisibilityController.as
@@ -34,6 +34,7 @@
 		use namespace minko_math;

 		private static const TMP_VECTOR4		: Vector4	= new Vector4();
+        private static const TMP_VECTOR4_2		: Vector4	= new Vector4();

 		private static const STATE_UNDEFINED	: uint		= 0;
 		private static const STATE_INSIDE		: uint		= 1;
@@ -199,8 +200,8 @@

 			if (culling & FrustumCulling.SPHERE)
 			{
-				var center 	: Vector4 	= transform.transformVector(geom.boundingSphere.center);
-				var scale 	: Vector4 	= transform.deltaTransformVector(Vector4.ONE);
+				var center 	: Vector4 	= transform.transformVector(geom.boundingSphere.center, TMP_VECTOR4);
+				var scale 	: Vector4 	= transform.deltaTransformVector(Vector4.ONE, TMP_VECTOR4_2);
 				var radius	: Number	= geom.boundingSphere.radius * Math.max(
 					Math.abs(scale.x), Math.abs(scale.y), Math.abs(scale.z)
 				);


little refactoring

little refactoring

--- src/com/merlinds/miracle_tool/controllers/CreateProjectCommand.as
+++ src/com/merlinds/miracle_tool/controllers/CreateProjectCommand.as
@@ -32,8 +32,6 @@
 		public var fileSystemService:FileSystemService;
 		[Inject]
 		public var event:EditorEvent;
-
-		private var _projectModel:ProjectModel;
 		//==============================================================================
 		//{region							PUBLIC METHODS
 		public function CreateProjectCommand() {
@@ -45,15 +43,15 @@
 			var projectName:String = this.event.body.projectName;
 			var sceneSize:Point = this.event.body.sceneSize;

-			_projectModel = new ProjectModel(projectName, sceneSize);
-			_projectModel.boundsOffset = this.event.body.boundsOffset;
-			if(this.event.body.hasOwnProperty("sheetSize")){
-				_projectModel.outputSize = this.event.body.sheetSize.x;
+			var projectModel:ProjectModel = new ProjectModel(projectName, sceneSize);
+			projectModel.boundsOffset = this.event.body.boundsOffset;
+			if (this.event.body.hasOwnProperty("sheetSize")) {
+				projectModel.outputSize = this.event.body.sheetSize.x;
 			}
-			this.injector.mapValue(ProjectModel, _projectModel);
-			this.resizeController.addInstance( new ProjectWidgets( this.contextView ));
+			this.injector.mapValue(ProjectModel, projectModel);
+			this.resizeController.addInstance(new ProjectWidgets(this.contextView));
 			//create view for project
-			var view:ProjectView = new ProjectView(_projectModel.name, this.appView);
+			var view:ProjectView = new ProjectView(projectModel.name, this.appView);
 			this.resizeController.addInstance(view);
 			this.actionService.done();
 			this.fileSystemService.readProjectSources(this.event.body.sources);


Instantiate the MessageAdapter in the constructor rather than as an initializer. The old way compiled fine, but couldn't find sceneUpdated() during runtime. Flash compiler bug?

git-svn-id: a3e1eb16dde062992de22c830ed8045c8013209a@1100 c613c5cb-e716-0410-b11b-feb51c14d237

--- src/main/as/com/threerings/whirled/client/SceneController.as
+++ src/main/as/com/threerings/whirled/client/SceneController.as
@@ -46,6 +46,14 @@
     {
         super.init(ctx, config);
         _wctx = WhirledContext(ctx);
+
+        _updateListener = new MessageAdapter(
+            function (event :MessageEvent) :void {
+                if (event.getName() == SceneCodes.SCENE_UPDATE) {
+                    sceneUpdated(event.getArgs()[0] as SceneUpdate);
+                }
+            }
+        );
     }

     // documentation inherited
@@ -75,13 +83,7 @@
     }

     /** Used to listen for scene updates. */
-    protected var _updateListener :MessageListener = new MessageAdapter(
-        function (event :MessageEvent) :void {
-            if (event.getName() == SceneCodes.SCENE_UPDATE) {
-                sceneUpdated(event.getArgs()[0] as SceneUpdate);
-            }
-        }
-    );
+    protected var _updateListener :MessageListener;

     protected var _wctx :WhirledContext;
 }


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

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

 package mx.core
 {


FLEX-33516 fixed parsing dates so that it support DD/MM/YYYY format in non eu_US locales

--- frameworks/projects/framework/src/mx/formatters/DateFormatter.as
+++ frameworks/projects/framework/src/mx/formatters/DateFormatter.as
@@ -106,6 +106,10 @@
      *
      *  <pre>
      *  var myDate:Date = DateFormatter.parseDateString("2009-12-02 23:45:30"); </pre>
+	 *
+	 *  The optional format property is use to work out which is likly to be encountered
+	 *  first a month or a date of the month for date where it may not be obvious which
+	 *  comes first.
      *
      *  @see mx.formatters.DateBase
      *
@@ -118,7 +122,7 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public static function parseDateString (str:String):Date
+    public static function parseDateString (str:String, format:String = null):Date
     {
         if (!str || str == "")
             return null;
@@ -297,12 +301,17 @@
                 // assign num to year or month or day or sec.
                 else if (punctuation.hasOwnProperty(letter) && punctuation[letter].date)
                 {
-					// FIXME assumes month come before day ie US style
-					// dates MM/DD/YYYY or year first dates YYYY/MM/DD
-					if (mon < 0)
+					var monthFirst:Boolean = year != -1;
+
+					if (format)
+						monthFirst = monthFirst || format.search("M") < format.search("D");
+
+					if (monthFirst && mon < 0)
                         mon = (num - 1);
 					else if (day < 0)
 						day = num;
+					else if (!monthFirst && mon < 0)
+						mon = (num -1);
 					else if (sec < 0)
 						sec = num;
 					else if (milli < 0)
@@ -670,7 +679,7 @@

         if (value is String)
         {
-            value = DateFormatter.parseDateString(String(value));
+            value = DateFormatter.parseDateString(String(value), formatString);
             if (!value)
             {
                 error = defaultInvalidValueError;


Transferred from the Adobe Open Source Subversion Repository

Revision: 8574
Author:   aharui@adobe.com
Date:     2009-07-15T05:33:44.225721Z

Log Message:
-----------
Bugs related to TLF and focus.  Also TLF Marshall Plan adjustments, and some IME fixes

QE Notes: None
Doc Notes: None
Bugs: SDK-21278, SDK-21686, SDK-21375, SDK-18516, SDK-15093, SDK-21335
Reviewer: darrell, carol
tests: checkintests mustella/gumbo mustella/components

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManagerComponent.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/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IIMESupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.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/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/alertClasses/AlertForm.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/RichEditableTextContainerManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.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/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.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/framework/src/mx/containers/Accordion.as</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/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.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/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.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/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as</path>

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

--- frameworks/projects/mx/src/mx/controls/alertClasses/AlertForm.as
+++ frameworks/projects/mx/src/mx/controls/alertClasses/AlertForm.as
@@ -69,8 +69,6 @@
 	public function AlertForm()
 	{
 		super();
-
-		tabChildren = true;
 	}

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/spark/src/spark/components/NumericStepper.as
+++ frameworks/projects/spark/src/spark/components/NumericStepper.as
@@ -9,7 +9,7 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-package mx.components
+package spark.components
 {

 import flash.display.DisplayObject;
@@ -34,35 +34,35 @@
 [Style(name="contentBackgroundColor", type="uint", format="Color", inherit="yes")]

-[IconFile("FxNumericStepper.png")]
+[IconFile("NumericStepper.png")]
 /**
- *  The FxNumericStepper control lets you select
+ *  The NumericStepper control lets you select
  *  a number from an ordered set.
- *  The FxNumericStepper provides the same functionality as
- *  the FxSpinner component, but adds a TextInput control
+ *  The NumericStepper provides the same functionality as
+ *  the Spinner component, but adds a TextInput control
  *  so that you can directly edit the value of the component,
  *  rather than modifying it by using the control's arrow buttons.
  *
- *
The FxNumericStepper control consists of a single-line
+ *
The NumericStepper control consists of a single-line
  *  input text field and a pair of arrow buttons
  *  for stepping through the possible values.
  *  The Up Arrow and Down Arrow keys also cycle through
  *  the values.
  *  An input value is committed when
  *  the user presses the Enter key, removes focus from the
- *  component, or steps the FxNumericStepper by pressing an arrow button
+ *  component, or steps the NumericStepper by pressing an arrow button
  *  or by calling the step() method.

  *
- *  @see mx.components.FxSpinner
+ *  @see mx.components.Spinner
  *
- *  @includeExample examples/FxNumericStepperExample.mxml
+ *  @includeExample examples/NumericStepperExample.mxml
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class FxNumericStepper extends FxSpinner implements IFocusManagerComponent
+public class NumericStepper extends Spinner implements IFocusManagerComponent
 {
     include "../core/Version.as";

@@ -80,7 +80,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function FxNumericStepper()
+    public function NumericStepper()
     {
         super();
     }
@@ -96,17 +96,17 @@
     /**
      *  A skin part that defines a TextInput control
      *  which allows a user to edit the value of
-     *  the FxNumericStepper component.
+     *  the NumericStepper component.
      *  The value is rounded and committed
      *  when the user presses enter, focuses out of
-     *  the FxNumericStepper, or steps the FxNumericStepper.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public var textInput:FxTextInput;
+     *  the NumericStepper, or steps the NumericStepper.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var textInput:TextInput;

     //--------------------------------------------------------------------------
     //
@@ -261,7 +261,7 @@

     //--------------------------------------------------------------------------
     //
-    //  Overridden Properties: FxRange
+    //  Overridden Properties: Range
     //
     //--------------------------------------------------------------------------


Улучшения

Улучшения

--- flash/src/main/actionscript/org/shypl/sna/impl/VkAdapter.as
+++ flash/src/main/actionscript/org/shypl/sna/impl/VkAdapter.as
@@ -64,7 +64,7 @@
 		}

 		override protected function doGetUsers(ids:Vector.<String>, receiver:SnUserListReceiver):void {
-			callApi("users.gets", {uids: ids.join(","), fields: USER_FIELDS}, receiver);
+			callApi("users.get", {uids: ids.join(","), fields: USER_FIELDS}, receiver);
 		}

 		override protected function doGetFriends(limit:int, offset:int, receiver:SnUserListReceiver):void {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3565
Author:   mhorn@adobe.com
Date:     2008-10-10T14:44:40.295870Z

Log Message:
-----------

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/CubicBezierSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/MoveSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutItem.as</path>

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

--- frameworks/projects/framework/src/mx/core/ILayoutElement.as
+++ frameworks/projects/framework/src/mx/core/ILayoutElement.as
@@ -17,30 +17,36 @@
 /**
  *  TERMINOLOGY
  *
- *  TBounds - bounds of an object in object's parent coordinate space, i.e.
- *            bounts of the transformed object.
+ *
TBounds - bounds of an object in object's parent coordinate space, i.e.
+ *            bounds of the transformed object.

  *
- *  UBounds - bounds of an object in object's own coordinate space, i.e.
- *            bounds of the untransformed object (object's dimensions).
+ *
UBounds - bounds of an object in object's own coordinate space, i.e.
+ *            bounds of the untransformed object (object's dimensions).

  *
- *  Example: Consider a rectangle width=3, height=1 with rotation=90
+ *
Example: Consider a rectangle width=3, height=1 with rotation=90.

  *
- *  Ubounds (before transform) are (3,1):
+ *
Ubounds (before transform) are (3,1):
+ *

  *       +--------+
  *       |        |
  *       +--------+
- *
- *  TBounds (after transform) are (1,3):
+ *

+ *

+ *
+ *
TBounds (after transform) are (1,3):
+ *

  *       +----+
  *       |    |
  *       |    |
  *       |    |
  *       +----+
+ *

+ *

  */
 public interface ILayoutItem
 {
     /**
-     *  @return Returns a reference to the object in the layout tree
+     *  A reference to the object in the layout tree
      *  represented by this interface.
      */
     function get target():Object;
@@ -51,42 +57,42 @@
     function get includeInLayout():Boolean;

     /**
-     *  @return Returns TBounds of the preferred
+     *  The TBounds of the preferred
      *  item size. The preferred size is usually based on the default
      *  item size and any explicit size overrides.
      */
     function get preferredSize():Point;

     /**
-     *  @return Returns TBounds of the minimum item size.
+     *  The TBounds of the minimum item size.
      *  minSize <= preferredSize must be true.
      */
     function get minSize():Point;

     /**
-     *  @return Returns TBounds of the maximum item size.
+     *  The TBounds of the maximum item size.
      *  preferredSize <= maxSize must be true.
      */
     function get maxSize():Point;

     /**
-     *  @return Returns the desired item TBounds size
+     *  The desired item TBounds size
      *  as a percentage of parent UBounds. Could be NaN.
      */
     function get percentSize():Point;

     /**
-     *  @return Returns the item TBounds size.
+     *  The item TBounds size.
      */
     function get actualSize():Point;

     /**
-     *  @return Returns the item TBounds top left corner coordinates.
+     *  The item TBounds top left corner coordinates.
      */
     function get actualPosition():Point;

     /**
-     *  setActualPosition moves the item such that the item TBounds
+     *  Moves the item such that the item TBounds
      *  top left corner has the specified coordinates.
      */
     function setActualPosition( x:Number, y:Number ):void;
@@ -110,6 +116,10 @@
      *  setActualSize must preserve the item's TBounds position,
      *  which means that in some cases it will move the item in addition to
      *  changing its size.
+     *
+     *  @param width The target width. The path is scaled to fit the specified dimensions.
+     *
+     *  @param height the target height. The path is scaled to fit the specified dimensions.
      *
      *  @return Returns the TBounds of the new item size.
      */


Transferred from the Adobe Open Source Subversion Repository

Revision: 20839
Author:   mhorn@adobe.com
Date:     2011-03-14T14:04:15.007456Z

Log Message:
-----------
merge 20790 and 20805

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>

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


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

--- frameworks/projects/framework/src/mx/modules/IModuleInfo.as
+++ frameworks/projects/framework/src/mx/modules/IModuleInfo.as
@@ -0,0 +1,221 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.modules
+{
+
+import flash.events.IEventDispatcher;
+import flash.system.ApplicationDomain;
+import flash.system.SecurityDomain;
+import mx.core.IFlexModuleFactory;
+
+//--------------------------------------
+//  Events
+//--------------------------------------
+
+/**
+ *  Dispatched by the backing ModuleInfo if there was an error during
+ *  module loading.
+ *
+ *  @eventType mx.events.ModuleEvent.ERROR
+ */
+[Event(name="error", type="mx.events.ModuleEvent")]
+
+/**
+ *  Dispatched by the backing ModuleInfo at regular intervals
+ *  while the module is being loaded.
+ *
+ *  @eventType mx.events.ModuleEvent.PROGRESS
+ */
+[Event(name="progress", type="mx.events.ModuleEvent")]
+
+/**
+ *  Dispatched by the backing ModuleInfo once the module is sufficiently
+ *  loaded to call the IModuleInfo.factory() method and the
+ *  IFlexModuleFactory.create() method.
+ *
+ *  @eventType mx.events.ModuleEvent.READY
+ */
+[Event(name="ready", type="mx.events.ModuleEvent")]
+
+/**
+ *  Dispatched by the backing ModuleInfo once the module is sufficiently
+ *  loaded to call the IModuleInfo.factory() method and
+ *  the IFlexModuleFactory.info() method.
+ *
+ *  @eventType mx.events.ModuleEvent.SETUP
+ */
+[Event(name="setup", type="mx.events.ModuleEvent")]
+
+/**
+ *  Dispatched by the backing ModuleInfo when the module data is unloaded.
+ *
+ *  @eventType mx.events.ModuleEvent.UNLOAD
+ */
+[Event(name="unload", type="mx.events.ModuleEvent")]
+
+/**
+ *  An interface that acts as a handle for a particular module.
+ *  From this interface, the module status can be queried,
+ *  its inner factory can be obtained, and it can be loaded or unloaded.
+ */
+public interface IModuleInfo extends IEventDispatcher
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  data
+    //----------------------------------
+
+    /**
+     *  User data that can be associated with the singleton IModuleInfo
+     *  for a given URL.
+     */
+    function get data():Object;
+
+    /**
+     *  @private
+     */
+    function set data(value:Object):void;
+
+    //----------------------------------
+    //  error
+    //----------------------------------
+
+    /**
+     *  A flag that is true if there was an error
+     *  during module loading.
+     *
+     *
This flag is true when the ModuleManager dispatches the
+     *  ModuleEvent.ERROR event.

+     */
+    function get error():Boolean;
+
+    //----------------------------------
+    //  factory
+    //----------------------------------
+
+    /**
+     *  The IFlexModuleFactory implementation defined in the module.
+     *  This will only be non-null after the
+     *  ModuleEvent.SETUP event has been dispatched
+     *  (or the IModuleInfo.setup() method returns true).
+     *  At this point, the IFlexModuleFactory.info() method can be called.
+     *  Once a ModuleEvent.READY event is dispatched
+     *  (or the IModuleInfo.ready() method returns true),
+     *  it is possible to call the IFlexModuleFactory.create() method.
+     */
+    function get factory():IFlexModuleFactory;
+
+    //----------------------------------
+    //  loaded
+    //----------------------------------
+
+    /**
+     *  A flag that is true if the load()
+     *  method has been called on this module.
+     */
+    function get loaded():Boolean;
+
+    //----------------------------------
+    //  ready
+    //----------------------------------
+
+    /**
+     *  A flag that is true if the module is sufficiently loaded
+     *  to get a handle to its associated IFlexModuleFactory implementation
+     *  and call its create() method.
+     *
+     *
This flag is true when the ModuleManager dispatches the
+     *  ModuleEvent.READY event.

+     */
+    function get ready():Boolean;
+
+    //----------------------------------
+    //  setup
+    //----------------------------------
+
+    /**
+     *  A flag that is true if the module is sufficiently loaded
+     *  to get a handle to its associated IFlexModuleFactory implementation
+     *  and call its info() method.
+     *
+     *
This flag is true when the ModuleManager dispatches the
+     *  ModuleEvent.SETUP event.

+     */
+    function get setup():Boolean;
+
+    //----------------------------------
+    //  url
+    //----------------------------------
+
+    /**
+     *  The URL associated with this module (for example, "MyImageModule.swf" or
+     *  "http://somedomain.com/modules/MyImageModule.swf". The URL can be local or remote, but
+     *  if it is remote, you must establish a trust between the module's domain and the
+     *  application that loads it.
+     */
+    function get url():String;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Requests that the module be loaded. If the module is already loaded,
+     *  the call does nothing. Otherwise, the module begins loading and dispatches
+     *  progress events as loading proceeds.
+     *
+     *  @param applicationDomain The current application domain in which your code is executing.
+     *
+     *  @param securityDomain The current security "sandbox".
+     */
+    function load(applicationDomain:ApplicationDomain = null,
+                  securityDomain:SecurityDomain = null):void;
+
+    /**
+     *  Releases the current reference to the module.
+     *  This does not unload the module unless there are no other
+     *  open references to it and the ModuleManager is set up
+     *  to have only a limited number of loaded modules.
+     *
+     *  @see mx.modules.ModuleManager
+     */
+    function release():void;
+
+    /**
+     *  Unloads the module.
+     *  Flash Player and AIR will not fully unload and garbage collect this module if
+     *  there are any outstanding references to definitions inside the
+     *  module.
+     */
+    function unload():void;
+
+    /**
+     *  Publishes an interface to the ModuleManager. This allows late (or decoupled)
+     *  subscriptions to factories with a String handle. Use a URL that starts with
+     *  publish:// to reference factories that are published in this manner.
+     *
+     *  @param factory The class that implements the module's IFlexModuleFactory interface.
+     *
+     *  @see mx.modules.ModuleManager
+     */
+    function publish(factory:IFlexModuleFactory):void;
+
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 3595
Author:   pfarland@adobe.com
Date:     2008-10-13T18:11:37.234422Z

Log Message:
-----------
Adding missing file (thanks Corey).

Cleaning up top level build.xml to remove old manifests no longer included in flex (thanks Brian).

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OrderedObject.as</path>

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 16904
Author:   smgilson@adobe.com
Date:     2010-07-13T17:25:46.841130Z

Log Message:
-----------
Add ASDoc comment about using the component as an item renderer

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>

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

--- frameworks/projects/spark/src/spark/components/ButtonBar.as
+++ frameworks/projects/spark/src/spark/components/ButtonBar.as
@@ -55,6 +55,12 @@
  *  to manipulate the dataProvider property to add and remove data items.
  *  The ButtonBar control automatically adds or removes the necessary children based on
  *  changes to the dataProvider property.

+ *
+ *
An item renderer lets you customize the display of a list-based component,
+ *  such as a List or DataGrid control.
+ *  For information about using this component in an item renderer, see
+ *
+ *  Custom Spark item renderers.

  *
  *
You can use the ButtonBar control to set the active child of a ViewStack container,
  *  as the following example shows:


Transferred from the Adobe Open Source Subversion Repository

Revision: 22022
Author:   cframpto@adobe.com
Date:     2011-08-16T18:38:02.995174Z

Log Message:
-----------
More ASdoc edits/corrections for mobile text.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextInput.as
+++ frameworks/projects/spark/src/spark/components/TextInput.as
@@ -73,8 +73,9 @@
  *
The TextInput skin for the mobile theme uses the StyleableStageText class instead
  *  of RichEditableText.
  *  Since StyleableStageText uses native text fields it allows for better text entry and
- *  manipulation experiences on mobile devices however there are some
- *  limitations that you should consider.
+ *  manipulation experiences on mobile devices however there are
+ *  limitations and differences that you should
+ *  consider.
  *  The native text controls used by StageText apply different paddings around text.
  *  In order to avoid vertical scrolling, the StageText-based TextInput skin attempts to estimate
  *  this padding and compensate for that.
@@ -91,18 +92,17 @@
  *
The text is formatted using CSS styles such as fontFamily
  *  and fontSize.

  *
- *
The widthInChars property provides a convenient way
- *  to specify the width in a way that scales with the font size.
- *  You can use the typicalText property as well.
- *  Note that if you use typicalText, the
- *  widthInChars and heightInLines
- *  are ignored.
- *  Of course, you can also specify an explicit width in pixels,
+ *
For the Spark theme you can specify the width of the control using the
+ *  widthInChars property which provides a convenient way to specify the width in a
+ *  way that scales with the font size or you can use the typicalText property.
+ *  Note that if you use typicalText, the widthInChars property is ignored.
+ *  For all themes, you can also specify an explicit width in pixels,
  *  a percent width, or use constraints such as left
  *  and right.
  *  You do not normally do anything to specify the height;
  *  the control's default height is sufficient to display
- *  one line of text.

+ *  one line of text.
+ *

  *
  *
You can use the maxChars property to limit the number
  *  of character that the user can enter, and the restrict
@@ -110,9 +110,9 @@
  *  To use this control for password input, set the
  *  displayAsPassword property to true.

  *
- *
The soft-keyboard-specific properties, autoCapitalize
+ *
For the mobile theme, the soft-keyboard-specific properties, autoCapitalize,
  *  autoCorrect, returnKeyLabel and softKeyboardType
- *  are keybostf hints supported in the mobile theme.
+ *  properties specify keyboard hints.
  *  If a soft-keyboard is present but does not support a feature represented by the
  *  hint, the hint is ignored.
  *  In mobile environments with only hardware keyboards, these hints are ignored.
@@ -128,10 +128,12 @@
  *  Mobile theme. It handles displaying and editing the text.
  *  (The skin also handles drawing the border and background.)
  *  This RichEditableText or StyleableStageText instance can be accessed as the textDisplay
- *  object.

- *
- *
As a result of its RichEditableText using TLF, the Spark TextInput control
- *  supports displaying left-to-right (LTR) text, such as French,
+ *  object.  For the mobile theme, if you wish to use the TextField-based skin, rather than the
+ *  StageText-based skin, set the skinClass property to
+ *  "spark.skins.mobile.TextInputSkin".

+ *
+ *
For the Spark theme, as a result of its RichEditableText using TLF,
+ *  the Spark TextInput control supports displaying left-to-right (LTR) text, such as French,
  *  right-to-left (RTL) text, such as Arabic, and bidirectional text
  *  such as a French phrase inside of an Arabic one.
  *  If the predominant text direction is right-to-left,
@@ -154,7 +156,7 @@
  *
  *  Custom Spark item renderers.

  *
- *
The TextInput control has the following default characteristics:

+ *
For the Spark theme, the TextInput control has the following default characteristics:

  *

  *

  *           Characteristic
@@ -174,6 +176,18 @@
  *

  *

  *
+ *
For the Mobile theme, the TextInput control has the following default characteristics:

+ *

+ *

+ *           Characteristic
+ *           Description
+ *

+ *

+ *           Default skin class
+ *           spark.skins.mobile.StageTextInputSkin
+ *

+ *

+ *
  *  @includeExample examples/TextInputExample.mxml
  *
  *  @mxml
@@ -183,9 +197,8 @@
  *
  *

  *  <s:TextInput
- *    Properties
- *    typicalText=null
- *    widthInChars="Calculated default"
+    Properties
+ *    widthInChars="Calculated default"  [applies to Spark theme]
  *
  *    Events
  *    enter="No default"


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.charts.series.items
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 21937
Author:   jasonsj@adobe.com
Date:     2011-08-11T16:00:02.732242Z

Log Message:
-----------
SDK-30852 Relocate removedFromStage handling from Callout to CalloutButton
SDK-30926 Enable transition interruption in CalloutSkin

QE notes:
Doc notes:
Bugs:
SDK-30852 android : callout stays visible when the view changes via device's back button
SDK-30926 multiple execution of openDropDown() set to click event puts the button into a strange state
Reviewer: cheidozi
Tests run: checkintests, mustella-mobile
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as
+++ frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as
@@ -11,12 +11,13 @@

 package spark.components
 {
+import flash.events.Event;
+
 import mx.core.ClassFactory;
 import mx.core.IFactory;
 import mx.core.mx_internal;
 import mx.utils.BitFlagUtil;

-import spark.components.supportClasses.ButtonBase;
 import spark.components.supportClasses.DropDownController;
 import spark.core.ContainerDestructionPolicy;
 import spark.events.DropDownEvent;
@@ -689,7 +690,12 @@
             setCallout(createDynamicPartInstance("dropDown") as Callout);

         if (callout)
+        {
+            // close the callout if the CalloutButton is removed
+            addEventListener(Event.REMOVED_FROM_STAGE, button_removedFromStage);
+
             callout.open(this, false);
+        }
     }

     /**
@@ -703,8 +709,9 @@
         // destroyed by calloutDestructionPolicy
         if (callout)
         {
+            removeEventListener(Event.REMOVED_FROM_STAGE, button_removedFromStage);
+
             // TODO (jasonsj): close params?
-
             // Dispatch the close event after the callout's PopUpEvent.CLOSE fires
             callout.close();
         }
@@ -728,5 +735,20 @@

         dispatchEvent(new DropDownEvent(DropDownEvent.CLOSE));
     }
+
+    /**
+     *  @private
+     */
+    private function button_removedFromStage(event:Event):void
+    {
+        if (!isDropDownOpen)
+            return;
+
+        // Hide the callout immediately instead of waiting for the skin
+        // state to transition to "closed"
+        callout.visible = false;
+
+        closeDropDown();
+    }
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 21632
Author:   betravis@adobe.com
Date:     2011-07-19T23:14:11.603303Z

Log Message:
-----------
Initial checkin of ToggleSwitch component to mobilecomponents project.
Initial checkin of ToggleSwitchSkin to mobiletheme.

QE notes: None
Doc notes: None
Bugs: None
Reviewer: Kevin Lin (component), Jason San Jose (skin)
Tests run: checkintests, mustella
Is noteworthy for integration: Yes. Introduces the ToggleSwitch component.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/bundles/en_US/components.properties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/ToggleSwitchSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/ToggleSwitch_contentShadow.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/ToggleSwitch_contentShadow.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ToggleSwitch.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/ToggleSwitch_contentShadow.fxg</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ToggleSwitchSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ToggleSwitchSkin.as
@@ -0,0 +1,662 @@
+////////////////////////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+package spark.skins.mobile
+{
+import flash.display.DisplayObject;
+import flash.display.GradientType;
+import flash.display.Graphics;
+import flash.display.Sprite;
+import flash.events.Event;
+
+import mx.core.DPIClassification;
+import mx.core.IVisualElement;
+import mx.core.mx_internal;
+import mx.graphics.GradientEntry;
+import mx.graphics.LinearGradient;
+import mx.graphics.SolidColor;
+import mx.utils.ColorUtil;
+
+import spark.components.Group;
+import spark.components.ToggleSwitch;
+import spark.components.supportClasses.StyleableTextField;
+import spark.core.IDisplayText;
+import spark.core.SpriteVisualElement;
+import spark.primitives.Rect;
+import spark.skins.mobile.supportClasses.MobileSkin;
+import spark.skins.mobile160.assets.ToggleSwitch_contentShadow;
+import spark.skins.mobile240.assets.ToggleSwitch_contentShadow;
+import spark.skins.mobile320.assets.ToggleSwitch_contentShadow;
+
+use namespace mx_internal;
+
+/**
+ *  ActionScript-based skin for ToggleSwitch. The colors of the component can
+ *  be customized using styles. This class is responsible for most of the
+ *  graphics drawing, with some additional fxg assets.
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 3
+ *  @productversion Flex 4.5.2
+ */
+public class ToggleSwitchSkin extends MobileSkin
+{
+    //----------------------------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //----------------------------------------------------------------------------------------------
+    /**
+     *  Constructor
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     **/
+    public function ToggleSwitchSkin()
+    {
+        super();
+
+        switch(applicationDPI)
+        {
+            case DPIClassification.DPI_320:
+            {
+                layoutThumbWidth = 94;
+                layoutThumbHeight = 56;
+                layoutStrokeWeight = 2;
+                layoutTextShadowOffset = -2;
+                layoutInnerPadding = 14;
+                layoutOuterPadding = 22;
+                slidingContentOverlayClass = spark.skins.mobile320.assets.ToggleSwitch_contentShadow;
+                break;
+            }
+            case DPIClassification.DPI_240:
+            {
+                layoutThumbWidth = 70;
+                layoutThumbHeight = 42;
+                layoutStrokeWeight = 2;
+                layoutTextShadowOffset = -1;
+                layoutInnerPadding = 10;
+                layoutOuterPadding = 17;
+                slidingContentOverlayClass = spark.skins.mobile240.assets.ToggleSwitch_contentShadow;
+                break;
+            }
+            case DPIClassification.DPI_160:
+            default:
+            {
+                layoutThumbWidth = 47;
+                layoutThumbHeight = 28;
+                layoutStrokeWeight = 1;
+                layoutTextShadowOffset = -1;
+                layoutInnerPadding = 7;
+                layoutOuterPadding = 11;
+                slidingContentOverlayClass = spark.skins.mobile160.assets.ToggleSwitch_contentShadow;
+                break;
+            }
+        }
+
+        layoutCornerRadius = layoutThumbHeight / 2;
+    }
+
+    //----------------------------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //----------------------------------------------------------------------------------------------
+
+    /**
+     *  The width used to draw the thumb skin part
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    protected var layoutThumbWidth:Number;
+
+    /**
+     *  The height used to draw the thumb skin part
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    protected var layoutThumbHeight:Number;
+
+    /**
+     *  The corner radius of the thumb and track
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    protected var layoutCornerRadius:Number;
+
+    /**
+     * The stroke weight outlining the graphics of the skin
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    protected var layoutStrokeWeight:Number;
+
+    /**
+     * The padding between the labels and the thumb
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    protected var layoutInnerPadding:Number;
+
+    /**
+     * The padding between the labels and the edge of the track
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    protected var layoutOuterPadding:Number;
+
+    /**
+     * The offset between a label and its shadow
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    protected var layoutTextShadowOffset:Number;
+
+    /**
+     *  The label and its shadow for the selected side of the component
+     */
+    private var selectedLabel:StyleableTextField;
+    private var selectedLabelShadow:StyleableTextField;
+
+    /**
+     *  The label and its shadow for the unselected side of the component
+     */
+    private var unselectedLabel:StyleableTextField;
+    private var unselectedLabelShadow:StyleableTextField;
+
+    /**
+     *  The content clipped by the track that slides to match the thumb's
+     *  position. Contents include a background and the (un)selected labels.
+     */
+    private var slidingContent:SpriteVisualElement;
+    private var slidingContentOverlayClass:Class;
+    private var slidingContentOverlay:DisplayObject;
+
+    //----------------------------------------------------------------------------------------------
+    //
+    //  Skin parts
+    //
+    //----------------------------------------------------------------------------------------------
+
+    /**
+     *  The thumb skin part
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public var thumb:IVisualElement;
+
+    /**
+     *  The track skin part
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public var track:IVisualElement;
+
+    //----------------------------------------------------------------------------------------------
+    //
+    //  Overridden properties
+    //
+    //----------------------------------------------------------------------------------------------
+
+    //----------------------------------
+    //  currentState
+    //----------------------------------
+    /**
+     *  @private
+     */
+    override public function set currentState(value:String):void
+    {
+        var isDown:Boolean = currentState && currentState.indexOf("down") >=0;
+
+        super.currentState = value;
+
+        if (isDown != currentState.indexOf("down") >= 0)
+        {
+            invalidateDisplayList();
+        }
+    }
+
+    //----------------------------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //----------------------------------------------------------------------------------------------
+
+    //----------------------------------
+    //  hostComponent
+    //----------------------------------
+
+    private var _hostComponent:ToggleSwitch;
+
+    /**
+     * @copy spark.skins.spark.ApplicationSkin#hostComponent
+     */
+    public function get hostComponent():ToggleSwitch
+    {
+        return _hostComponent;
+    }
+
+    /**
+     *  @private
+     */
+    public function set hostComponent(value:ToggleSwitch):void
+    {
+        if (_hostComponent)
+            _hostComponent.removeEventListener("thumbPositionChanged", thumbPositionChanged_handler);
+        _hostComponent = value;
+        if (_hostComponent)
+            _hostComponent.addEventListener("thumbPositionChanged", thumbPositionChanged_handler);
+    }
+
+    //----------------------------------
+    //  selectedLabelText
+    //----------------------------------
+
+    /**
+     *  The text of the label showing when the component is selected
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    private function get selectedLabelText():String
+    {
+        return resourceManager.getString("components","toggleSwitchSelectedLabel");
+    }
+
+    //----------------------------------
+    //  unselectedLabelText
+    //----------------------------------
+
+    /**
+     *  The text of the label showing when the component is not selected
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    private function get unselectedLabelText():String
+    {
+        return resourceManager.getString("components", "toggleSwitchUnselectedLabel");
+    }
+
+    //----------------------------------------------------------------------------------------------
+    //
+    //  Overridden Methods
+    //
+    //----------------------------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Redraw the graphics of the skin as necessary
+     */
+    override protected function drawBackground(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        super.drawBackground(unscaledWidth, unscaledHeight);
+
+        // calculate skin dimensions
+        var calculatedSkinWidth:Number = Math.max(unscaledWidth, getElementPreferredWidth(thumb));
+        var calculatedSkinHeight:Number = Math.max(unscaledHeight, getElementPreferredHeight(thumb));
+
+        drawSlidingContent(calculatedSkinWidth, calculatedSkinHeight);
+        drawTrack(calculatedSkinWidth, calculatedSkinHeight);
+        drawThumb(calculatedSkinWidth, calculatedSkinHeight);
+        drawMask(calculatedSkinWidth, calculatedSkinHeight);
+    }
+
+    /**
+     *  @private
+     *  Resize and reposition as necessary
+     */
+    override protected function layoutContents(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        super.layoutContents(unscaledWidth, unscaledHeight);
+
+        // calculate skin dimensions
+        var calculatedSkinWidth:Number = Math.max(unscaledWidth, getElementPreferredWidth(thumb));
+        var calculatedSkinHeight:Number = Math.max(unscaledHeight, getElementPreferredHeight(thumb));
+
+        layoutSlidingContent(calculatedSkinWidth, calculatedSkinHeight);
+        layoutTrack(calculatedSkinWidth, calculatedSkinHeight);
+        layoutThumb(calculatedSkinWidth, calculatedSkinHeight);
+        layoutMask(calculatedSkinWidth, calculatedSkinHeight);
+    }
+
+    /**
+     *  @private
+     */
+    override protected function measure():void
+    {
+        if (selectedLabel.isTruncated || unselectedLabel.isTruncated)
+        {
+            selectedLabel.text = selectedLabelText;
+            unselectedLabel.text = unselectedLabelText;
+        }
+
+        // The skin must be at least as large as the thumb
+        measuredMinWidth = layoutThumbWidth;
+        measuredMinHeight = layoutThumbWidth;
+
+        // The preferred size will display all label text
+        var labelWidth:Number = Math.max(getElementPreferredWidth(selectedLabel),
+            getElementPreferredWidth(unselectedLabel));
+
+        measuredWidth = layoutThumbWidth + labelWidth + layoutInnerPadding + layoutOuterPadding;
+        measuredHeight = layoutThumbHeight;
+    }
+
+    /**
+     *  @private
+     */
+    override protected function commitCurrentState():void {
+        if (currentState && currentState.indexOf("disabled") >= 0)
+            alpha = 0.5;
+        else
+            alpha = 1.0;
+    }
+
+    /**
+     *  @private
+     */
+    override protected function createChildren():void
+    {
+        super.createChildren();
+
+        // SlidingContent: background, overlay, labels
+        slidingContent = new SpriteVisualElement();
+        slidingContentOverlay = new slidingContentOverlayClass();
+        slidingContent.addChild(slidingContentOverlay);
+
+        selectedLabelShadow = StyleableTextField(createInFontContext(StyleableTextField));
+        selectedLabelShadow.styleName = this;
+        selectedLabelShadow.colorName = "textShadowColor";
+        selectedLabelShadow.text = selectedLabelText;
+        slidingContent.addChild(selectedLabelShadow);
+
+        selectedLabel = StyleableTextField(createInFontContext(StyleableTextField));
+        selectedLabel.styleName = this;
+        selectedLabel.text = selectedLabelText;
+        slidingContent.addChild(selectedLabel);
+
+        unselectedLabelShadow = StyleableTextField(createInFontContext(StyleableTextField));
+        unselectedLabelShadow.styleName = this;
+        unselectedLabelShadow.colorName = "textShadowColor";
+        unselectedLabelShadow.text = unselectedLabelText;
+        slidingContent.addChild(unselectedLabelShadow);
+
+        unselectedLabel = StyleableTextField(createInFontContext(StyleableTextField));
+        unselectedLabel.styleName = this;
+        unselectedLabel.text = unselectedLabelText;
+        slidingContent.addChild(unselectedLabel);
+
+        addChild(slidingContent);
+
+        // Track
+        track = new SpriteVisualElement();
+        addChild(SpriteVisualElement(track));
+
+        // Thumb
+        thumb = new SpriteVisualElement();
+        addChild(SpriteVisualElement(thumb));
+
+        // Clipping Mask
+        mask = new SpriteVisualElement();
+        addChild(mask);
+    }
+
+    //----------------------------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //----------------------------------------------------------------------------------------------
+
+    /**
+     *  Draw the sliding content background
+     *  SlidingContent's x origin matches the thumb's x origin, meaning some of
+     *  the background is drawn to the left, and some to the right.
+     */
+    private function drawSlidingContent(skinWidth:Number, skinHeight:Number):void
+    {
+        slidingContent.graphics.clear();
+
+        // selected side of the sliding content
+        slidingContent.graphics.beginFill(getStyle("accentColor"));
+        slidingContent.graphics.drawRect(layoutThumbWidth - skinWidth, 0, skinWidth - layoutThumbWidth / 2,
+            layoutThumbHeight);
+        slidingContent.graphics.endFill();
+
+        // unselected side of the sliding content
+        slidingContent.graphics.beginFill(ColorUtil.adjustBrightness2(getStyle("chromeColor"), -25));
+        slidingContent.graphics.drawRect(layoutThumbWidth / 2, 0, skinWidth - layoutThumbWidth / 2,
+            layoutThumbHeight);
+        slidingContent.graphics.endFill();
+
+        // clear the thumb area
+        slidingContent.graphics.beginFill(getStyle("chromeColor"));
+        slidingContent.graphics.drawRoundRect(0, 0, layoutThumbWidth, layoutThumbHeight,
+            layoutCornerRadius * 2);
+        slidingContent.graphics.endFill();
+    }
+
+    /**
+     *  Lay out SlidingContent and its children. Because we only need the x,y
+     *  coordinate of SlidingContent, we can ignore its size.
+     *  The origin of SlidingContent overlaps the origin of the thumb, and the
+     *  positioning is handled by thumbPositionChanged_handler.
+     */
+    private function layoutSlidingContent(skinWidth:Number, skinHeight:Number):void {
+        var visibleTrackArea:Number = skinWidth - layoutThumbWidth;
+
+        layoutLabels(selectedLabel, selectedLabelShadow, (-visibleTrackArea + layoutOuterPadding), 0,
+            (visibleTrackArea - layoutInnerPadding - layoutOuterPadding), layoutThumbHeight,
+            layoutTextShadowOffset);
+        layoutLabels(unselectedLabel, unselectedLabelShadow, (layoutThumbWidth + layoutInnerPadding), 0,
+            (visibleTrackArea - layoutInnerPadding - layoutOuterPadding), layoutThumbHeight,
+            layoutTextShadowOffset);
+
+        setElementSize(slidingContentOverlay, 2 * skinWidth - layoutThumbWidth, layoutThumbHeight);
+        setElementPosition(slidingContentOverlay, layoutThumbWidth - skinWidth,
+            (skinHeight - layoutThumbHeight) / 2);
+    }
+
+    /**
+     *  Position a label and its shadow within the given rectangle
+     */
+    private function layoutLabels(label:StyleableTextField, labelShadow:StyleableTextField,
+                                  x:Number, y:Number, width:Number, height:Number,
+                                  shadowYOffset:Number):void
+    {
+        var textWidth:Number = getElementPreferredWidth(label);
+        var textHeight:Number = getElementPreferredHeight(label);
+
+        var labelWidth:Number = Math.max(Math.min(textWidth, width), 0);
+        var labelHeight:Number = textHeight;
+
+        labelShadow.alpha = getStyle("textShadowAlpha");
+
+        setElementSize(label, labelWidth, labelHeight);
+        setElementSize(labelShadow, labelWidth, labelHeight);
+        if (textWidth > labelWidth) {
+            label.truncateToFit();
+            labelShadow.truncateToFit();
+        }
+
+        var labelX:Number = x + (width - labelWidth) / 2;
+        var labelY:Number = y + (height - labelHeight) / 2;
+
+        setElementPosition(label, labelX, labelY);
+        setElementPosition(labelShadow, labelX, labelY + shadowYOffset);
+    }
+
+    /**
+     *  Draw the track and its shadow
+     */
+    private function drawTrack(skinWidth:Number, skinHeight:Number):void {
+        var graphics:Graphics = SpriteVisualElement(track).graphics;
+        graphics.clear();
+        graphics.lineStyle(layoutStrokeWeight, 0, .3);
+        graphics.drawRoundRect(layoutStrokeWeight / 2, layoutStrokeWeight / 2,
+            skinWidth - layoutStrokeWeight,
+            (layoutThumbHeight - layoutStrokeWeight), (layoutCornerRadius * 2 - layoutStrokeWeight / 2));
+        graphics.lineStyle();
+    }
+
+    /**
+     * Resize and reposition the track
+     */
+    private function layoutTrack(skinWidth:Number, skinHeight:Number):void
+    {
+        setElementSize(track, skinWidth, layoutThumbHeight);
+        setElementPosition(track, 0, (skinHeight - layoutThumbHeight) / 2);
+    }
+
+    /**
+     * Draw the thumb. The thumb has an outer border, inner gradient, and
+     * inner highlight stroke.
+     */
+    private function drawThumb(skinWidth:Number, skinHeight:Number):void {
+        var graphics:Graphics = SpriteVisualElement(thumb).graphics;
+        var colors:Array = [];
+        var alphas:Array = [];
+        var ratios:Array = [];
+        var baseColor:Number = getStyle("chromeColor");
+
+        if (currentState && currentState.indexOf("down") >= 0)
+            baseColor = ColorUtil.adjustBrightness(baseColor, -60);
+
+        graphics.clear();
+
+        // Thumb outline
+        colors[0] = ColorUtil.adjustBrightness2(baseColor, -70);
+        colors[1] = ColorUtil.adjustBrightness2(baseColor, -55);
+
+        alphas[0] = 1;
+        alphas[1] = 1;
+
+        ratios[0] = 0;
+        ratios[1] = 255;
+
+        colorMatrix.createGradientBox(layoutThumbWidth, layoutThumbHeight, Math.PI / 2);
+        graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, colorMatrix);
+        graphics.drawRoundRect(0, 0, layoutThumbWidth, layoutThumbHeight, layoutCornerRadius * 2);
+        graphics.endFill();
+
+        // Base gradient fill, one stroke weight inside outline
+        colors[0] = ColorUtil.adjustBrightness2(baseColor, -30);
+        colors[1] = baseColor;
+        colors[2] = ColorUtil.adjustBrightness2(baseColor, 20);
+
+        alphas[2] = 1;
+
+        ratios[0] = 0;
+        ratios[1] = .7 * 255;
+        ratios[2] = 255;
+
+        colorMatrix.createGradientBox(layoutThumbWidth - layoutStrokeWeight * 2,
+            layoutThumbHeight - layoutStrokeWeight * 2, Math.PI / 2);
+        graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, colorMatrix);
+        graphics.drawRoundRect(layoutStrokeWeight, layoutStrokeWeight,
+            layoutThumbWidth - layoutStrokeWeight * 2,
+            layoutThumbHeight - layoutStrokeWeight * 2, layoutCornerRadius * 2 - layoutStrokeWeight * 2);
+        graphics.endFill();
+
+        // Thumb highlight, one stroke weight inside outline
+        colors[0] = 0xffffff;
+        colors[1] = 0xffffff;
+        colors[2] = 0x0;
+
+        alphas[0] = 1;
+        alphas[1] = 0;
+        alphas[2] = .2;
+
+        ratios[0] = .33 * 255;
+        ratios[1] = .5 * 255;
+        ratios[2] = 255;
+
+        colorMatrix.createGradientBox(layoutThumbWidth - layoutStrokeWeight * 3,
+            layoutThumbHeight - layoutStrokeWeight * 3, Math.PI / 2);
+        graphics.lineStyle(layoutStrokeWeight);
+        graphics.lineGradientStyle(GradientType.LINEAR, colors, alphas, ratios, colorMatrix);
+        graphics.drawRoundRect(layoutStrokeWeight * 1.5, layoutStrokeWeight * 1.5,
+            layoutThumbWidth - layoutStrokeWeight * 3, layoutThumbHeight - layoutStrokeWeight * 3,
+            layoutCornerRadius * 2 - layoutStrokeWeight * 3);
+        graphics.lineStyle();
+    }
+
+    /**
+     *  Resize the thumb. Its position is handled by the component.
+     */
+    private function layoutThumb(skinWidth:Number, skinHeight:Number):void
+    {
+        setElementSize(thumb, layoutThumbWidth, layoutThumbHeight);
+    }
+
+    /**
+     *  Draw the clipping mask for the component. This is roughly the
+     *  same as the track area.
+     */
+    private function drawMask(skinWidth:Number, skinHeight:Number):void
+    {
+            var graphics:Graphics = SpriteVisualElement(mask).graphics;
+            graphics.clear();
+            graphics.beginFill(0x0);
+            graphics.drawRoundRect(0, 0, skinWidth, layoutThumbHeight, layoutCornerRadius * 2);
+            graphics.endFill();
+    }
+
+    /**
+     *  Resize and reposition the clipping mask
+     */
+    private function layoutMask(skinWidth:Number, skinHeight:Number):void
+    {
+        setElementSize(mask, skinWidth, layoutThumbHeight);
+        setElementPosition(mask, 0, (skinHeight - layoutThumbHeight) / 2);
+    }
+
+    //----------------------------------------------------------------------------------------------
+    //
+    //  Event handlers
+    //
+    //----------------------------------------------------------------------------------------------
+
+    /**
+     *  When the thumb position changes, reposition the sliding content. The
+     *  version here assumes the thumb and track share the same coordinate system.
+     */
+    private function thumbPositionChanged_handler(event:Event):void
+    {
+        if (!hostComponent)
+            return;
+        var x:Number = (track.getLayoutBoundsWidth() - thumb.getLayoutBoundsWidth()) *
+            hostComponent.thumbPosition;
+        setElementPosition(slidingContent, x, thumb.getLayoutBoundsY());
+    }
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 4170
Author:   egeorgie@adobe.com
Date:     2008-11-23T21:12:27.092823Z

Log Message:
-----------
1.	mx.layout.ILayoutItem gets renamed to mx.layout.ILayoutElement
2.	get actualPosition() -> getLayoutPositionX(postTransform:Boolean=true):Number, getLayoutPositionY(postTransform:Boolean=true):Number
3.	get actualSize() -> getLayoutWidth(postTransform:Boolean=true):Number, getLayoutHeight(postTransform:Boolean=true):Number
4.	get preferredSize() -> getPreferredWidth(postTransform:Boolean=true):Number, getPreferredHeight(postTransform:Boolean=true):Number
5.	get minSize() -> getMinWidth(postTransform:Boolean=true):Number, getMinHeight(postTransform:Boolean=true):Number
6.	get maxSize() -> getMaxWidth(postTransform:Boolean=true):Number, getMaxHeight(postTransform:Boolean=true):Number
7.	setActualSize() -> setlayoutSize(width:Number=NaN, height:Number=NaN, postTransform:Boolean=true):void
8.	setActualPosition() -> setLayoutPosition(width:Number=NaN, height:Number=NaN, postTransform:Boolean=true):void
10.     Add support for custom 3D layouts by exposing access to transform matrices through the ILayoutElement interface.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Hans
tests: checkintests, mustella (gumbo/components)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/layout/layout_tester.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemHelper.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutItem.as" copyfrom-rev="4137" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutElement.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/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/graphics/GraphicTags_checkintests.mxml</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/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemFactory.as" copyfrom-rev="4137" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemFactory.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemFDO.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/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemHelper.as" copyfrom-rev="4137" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemUIC.as" copyfrom-rev="4137" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementUIC.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -16,12 +16,11 @@
 import mx.utils.MatrixUtil;
 import mx.graphics.graphicsClasses.GraphicElement;
 import mx.graphics.IGraphicElement;
-import mx.layout.ILayoutItem;
+import mx.layout.ILayoutElement;
 import mx.core.IViewport;
 import mx.core.ScrollUnit;
 import mx.layout.LayoutBase;
 import mx.layout.BasicLayout;
-import mx.layout.LayoutItemFactory;

 import mx.collections.ICollectionView;
 import mx.collections.IList;
@@ -793,24 +792,24 @@
     //--------------------------------------------------------------------------

     /**
-     *  The number of layout items in this container. Typically this is the same
+     *  The number of layout elements in this container. Typically this is the same
      *  as the number of items in the container.
      */
-    public function get numLayoutItems():int
+    public function get numLayoutElements():int
     {
         return -1;
     }

     /**
-     *  Gets the nth layout item in the container. For visual items, the
-     *  layout item is the item itself. For data items, the layout item is the
-     *  item renderer instance that is associated with the item.
+     *  Gets the nth layout item in the container. For visual elements, the
+     *  layout element is the element itself. For data items, the layout element is the
+     *  item renderer instance that is associated with the data item.
      *
      *  @param index The index of the layout item to retrieve.
      *
      *  @return The layout item at the specified index.
      */
-    public function getLayoutItemAt(index:int):ILayoutItem
+    public function getLayoutElementAt(index:int):ILayoutElement
     {
         return null;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 7287
Author:   chaase@adobe.com
Date:     2009-05-26T21:29:39.221182Z

Log Message:
-----------
Changed fixedThumbSize and smoothScrolling properties on ScrollBar to be styles instead, per a recent ARB decision.

QE Notes: None
Doc Notes: None
Bugs: sdk-21031
Reviewer: Glenn
tests: checkintests mustella gumbo/ScrollBar gumbo/Scroller

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/SkinnableContainer.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/HScrollBar.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/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -128,6 +128,34 @@
  *  @productversion Flex 4
  */
 [Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark")]
+
+/**
+ *  If true, any scrollbars inside this container will have thumbs with
+ *  fixed size.
+ *
+ *  @default false
+ *  @see spark.components.supportClasses.ScrollBar#style:fixedThumbSize
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="fixedThumbSize", type="Boolean", inherit="yes")]
+
+/**
+ *  This style determines whether scrollbars inside this
+ *  container will animate smoothly when paging and stepping.
+ *
+ *  @default true
+ *  @see spark.components.supportClasses.ScrollBar#style:smoothScrolling
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="smoothScrolling", type="Boolean", inherit="yes")]

 /**
  *  The GroupBase class defines the base class for components that display visual elements.


Transferred from the Adobe Open Source Subversion Repository

Revision: 18699
Author:   smgilson@adobe.com
Date:     2010-11-18T15:27:25.899689Z

Log Message:
-----------
ASDoc updates for DataGrid

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

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

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

--- frameworks/projects/spark/src/spark/components/gridClasses/IGridItemEditor.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/IGridItemEditor.as
@@ -163,7 +163,7 @@
      *  To save and close the editor, call the endItemEditorSession()
      *  method of the item renderer owner.

      *
-     *  @save return true if the save operation succeeded,
+     *  @return true if the save operation succeeded,
      *  and false if not.
      *
      *  @see spark.components.DataGrid