swf9 textsprite size to height needs to use textHeight and textfield.height to measure correctly

git-svn-id: d62bde4b5aa582fdf07c8d403e53e0399a7ed285@9065 fa20e4f9-1d0a-0410-b5f3-dc9c16b8b17c

--- WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.as
+++ WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.as
@@ -72,7 +72,6 @@
         }

         override public function setHeight( h:* ):void {
-            Debug.write('setHeight ', h);
             super.setHeight(h);
             if (h) {
                 this.textfield.height = h;
@@ -268,7 +267,7 @@

             //multiline resizable fields adjust their height
             if (this.sizeToHeight) {
-                this.setHeight(this.textfield.textHeight);
+                this.setHeight(Math.max(this.textfield.textHeight, this.textfield.height));
             }
             //this.textfield.cacheAsBitmap = true;
         }


simplify logic for first/next fragment loading

--- src/org/mangui/HLS/streaming/FragmentLoader.as
+++ src/org/mangui/HLS/streaming/FragmentLoader.as
@@ -115,6 +115,8 @@
         private var _fragment_loading : Boolean;
         /** requested start position **/
         private var _seek_position_requested : Number;
+        /** first fragment loaded ? **/
+        private var _fragment_first_loaded : Boolean;

         /** Create the loader. **/
         public function FragmentLoader(hls : HLS) : void {
@@ -131,33 +133,33 @@
         private function _checkLoading(e : Event) : void {
             // check fragment loading status, try to load a new fragment if needed
             if (_fragment_loading == false || _need_reload == true) {
-                var maxbuflen : Number = _hls.maxBufferLength;
-                // check if buffer full
-                if (maxbuflen == 0 || _hls.stream.bufferLength < maxbuflen) {
-                    var loadstatus : Number;
-                    if (_hls.stream.time == 0 && _hls.stream.bufferLength == 0) {
-                        // just after seek, load first fragment
-                        loadstatus = _loadfirstfragment(_seek_position_requested);
-                    } else {
-                        loadstatus = _loadnextfragment();
-                    }
-                    if (loadstatus == 0) {
-                        // good, new fragment being loaded
-                        _fragment_loading = true;
-                    } else if (loadstatus < 0) {
-                        /* it means PTS requested is smaller than playlist start PTS.
-                        it could happen on live playlist :
-                        - if bandwidth available is lower than lowest quality needed bandwidth
-                        - after long pause
-                        seek to offset 0 to force a restart of the playback session  */
-                        Log.warn("long pause on live stream or bad network quality");
-                        _timer.stop();
-                        seek(0, _callback);
-                        return;
-                    } else if (loadstatus > 0) {
-                        // seqnum not available in playlist
-                        _fragment_loading = false;
-                    }
+                var loadstatus : Number;
+                if (_fragment_first_loaded == false) {
+                    // just after seek, load first fragment
+                    loadstatus = _loadfirstfragment(_seek_position_requested);
+                    // check if we need to load next fragment, check if buffer is full
+                } else if (_hls.maxBufferLength == 0 || _hls.stream.bufferLength < _hls.maxBufferLength) {
+                    loadstatus = _loadnextfragment();
+                } else {
+                    // no need to load any new fragment, buffer is full already
+                    return;
+                }
+                if (loadstatus == 0) {
+                    // good, new fragment being loaded
+                    _fragment_loading = true;
+                } else if (loadstatus < 0) {
+                    /* it means PTS requested is smaller than playlist start PTS.
+                    it could happen on live playlist :
+                    - if bandwidth available is lower than lowest quality needed bandwidth
+                    - after long pause
+                    seek to offset 0 to force a restart of the playback session  */
+                    Log.warn("long pause on live stream or bad network quality");
+                    _timer.stop();
+                    seek(0, _callback);
+                    return;
+                } else if (loadstatus > 0) {
+                    // seqnum not available in playlist
+                    _fragment_loading = false;
                 }
             }
         }
@@ -166,6 +168,7 @@
             _fragment_loading = false;
             _callback = callback;
             _seek_position_requested = position;
+            _fragment_first_loaded = false;
             _timer.start();
         }

@@ -882,6 +885,7 @@
                 _callback(tags, min_pts, max_pts, _hasDiscontinuity, start_offset);
                 _pts_loading_in_progress = false;
                 _hls.dispatchEvent(new HLSEvent(HLSEvent.FRAGMENT_LOADED, metrics));
+                _fragment_first_loaded = true;
             } catch (error : Error) {
                 _hls.dispatchEvent(new HLSEvent(HLSEvent.ERROR, error.toString()));
             }


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

--- frameworks/projects/charts/src/mx/charts/renderers/TriangleItemRenderer.as
+++ frameworks/projects/charts/src/mx/charts/renderers/TriangleItemRenderer.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.renderers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7087
Author:   rfrishbe@adobe.com
Date:     2009-05-19T20:44:50.609964Z

Log Message:
-----------
VideoPlayer bug fixes:

- Forgot to dispatch the ready event

- The properties on videoplayer that are proxied from videoelement now take into account the correct defaults

- We deal with null or empty string sources better by clearing the video and closing the connection to the net stream.  It looks like play() won’t take in any arguments—at that point, I’ll clean up this code around dealign with startTime and duration as well as refactoring some of this “close” the connection code.

- PopUpAnchor pushes the concatenated color matrix, similar to the concatenated transform matrix.  This will need to undergo any changes based on Chet’s findings.

- Adding enabling/disabling support.  This change is dependent on Jason’s SKinnableComponent change around enabling/disabling.

- Skin changes in VideoPlayerSkin and volume bar/volumebarmutebutton.

QE Notes: -
Doc Notes: -
Bugs: SDK-21185, SDK-21187, SDK-21015, SDK-20971, SDK-20969, SDK-20928, SDK-21098, SDK-20986, SDK-20947, SDK-20939, SDK-20934, SDK-21014
Reviewer: Deepa
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/VideoElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarMuteButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -128,8 +128,6 @@
  *  @productversion Flex 4
  */
 [Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark")]
-
-[Exclude(name="enabled", kind="property")]

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


Trying to identify a random failure.  Submitting better logging for the next time it happens.

Summary: Trying to identify a random failure.  Submitting better logging for the next time it happens.

Test Plan: Sparta

Reviewers: #devtools_in-progress, zac-playfab

Reviewed By: #devtools_in-progress, zac-playfab

Subscribers: zac-playfab

Differential Revision: https://phab.playfabdev.com/D1290

--- targets/actionscript/source/PlayFabApiTests.as
+++ targets/actionscript/source/PlayFabApiTests.as
@@ -313,7 +313,7 @@
             var now:Date = new Date();
             var testMin:Date = new Date(now.getTime() - (5*60*1000));
             var testMax:Date = new Date(now.getTime() + (5*60*1000));
-            ASyncAssert.AssertTrue(testMin <= timeUpdated && timeUpdated <= testMax);
+            ASyncAssert.AssertTrue(testMin <= timeUpdated && timeUpdated <= testMax, testMin.toString() + " !< " + timeUpdated.toString() + " !< " + testMax.toString());

             FinishTestHandler(new ASyncUnitTestEvent(ASyncUnitTestEvent.FINISH_TEST, ASyncUnitTestEvent.RESULT_PASSED, ""));
         }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/effects/effectClasses/RemoveItemActionInstance.as
+++ frameworks/projects/mx/src/mx/effects/effectClasses/RemoveItemActionInstance.as
@@ -24,6 +24,11 @@
  *  effect; you do not create one yourself.
  *
  *  @see mx.effects.RemoveItemAction
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class RemoveItemActionInstance extends ActionEffectInstance
 {
@@ -39,6 +44,11 @@
 	 *  Constructor.
 	 *
 	 *  @param target The Object to animate with this effect.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function RemoveItemActionInstance(target:Object)
 	{


Transferred from the Adobe Open Source Subversion Repository

Revision: 11627
Author:   dsubrama@adobe.com
Date:     2009-11-10T22:01:01.235934Z

Log Message:
-----------
Fix setting luminosity masks on graphic elements - missed an occurence where setting cacheAsBitmap to true was needed.

QE notes: Regress
Doc notes: No
Bugs: http://bugs.adobe.com/jira/browse/SDK-24089
Reviewer: Pete
Tests run: All FXG (static and runtime) tests
Is noteworthy for integration: No

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

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -3183,6 +3183,7 @@
             else if (_maskType == MaskType.LUMINOSITY)
             {
                 _mask.cacheAsBitmap = true;
+		drawnDisplayObject.cacheAsBitmap = true;

                 // Create the shader wrapper class which wraps the pixel bender filter
                 var luminosityMaskShader:LuminosityMaskShader = new LuminosityMaskShader();


Transferred from the Adobe Open Source Subversion Repository

Revision: 19741
Author:   mhorn@adobe.com
Date:     2011-01-13T15:38:18.894498Z

Log Message:
-----------
Doc notes: asdoc updates

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -4224,11 +4224,16 @@
     /**
      *  Transform the element's size.
      *
+     *
This method calculates the bounding box of the graphic element as if the element’s width/height properties were set to the passed in values.
+     *  The method returns the width of the bounding box.

+     *
+     *
In general, this method is not for use by developers. Instead, you should implement or override the methods defined by the ILayoutElement interface.

+     *
      *  @param width The target pre-transform width.
      *
      *  @param height The target pre-transform height.
      *
-     *  @param postLayoutTransform
+     *  @param postLayoutTransform When true, the returned bounding box is around the transformed element in its parent space (the element's transform is applied first).
      *
      *  @return Returns the transformed width. Transformation is this element's
      *  layout transformation matrix.
@@ -4253,12 +4258,17 @@

     /**
      *  Transform the element's size.
+     *
+     *
This method calculates the bounding box of the graphic element as if the element’s width/height properties were set to the passed in values.
+     *  The method returns the height of the bounding box.

+     *
+     *
In general, this method is not for use by developers. Instead, you should implement or override the methods defined by the ILayoutElement interface.

      *
      *  @param width The target pre-transform width.
      *
      *  @param height The target pre-transform height.
      *
-     *  @param postLayoutTransform
+     *  @param postLayoutTransform When true, the returned bounding box is around the transformed element in its parent space (the element's transform is applied first).
      *
      *  @return Returns the transformed height. Transformation is this element's
      *  layout transformation matrix.


adds a little breathing room for flex mediator initialization test

--- test/robotlegs/bender/extensions/mediatorMap/impl/DefaultMediatorManagerTest.as
+++ test/robotlegs/bender/extensions/mediatorMap/impl/DefaultMediatorManagerTest.as
@@ -113,7 +113,7 @@
 			container.addChild(view);
 			delayAssertion(function():void {
 				assertThat(mediator.initialized, isTrue());
-			}, 10)
+			}, 50)
 		}

 		/*============================================================================*/


Correct issue with late SPS/PPS tag on streams where video tag isn't first tag in segment.

--- HLSPlugin/src/com/kaltura/hls/m2ts/FLVTranscoder.as
+++ HLSPlugin/src/com/kaltura/hls/m2ts/FLVTranscoder.as
@@ -212,7 +212,16 @@
             if(avcc)
             {
                 //logger.debug("Wrote AVCC at " + convertFLVTimestamp(unit.pts));
-                sendFLVTag(bufferedTagTimestamp[0],
+
+                // First SPS/PPS must be lowest tag time, so scan for it.
+                var lowestTagTimestamp:Number = Number.MAX_VALUE;
+                for(var i:int=0; i<bufferedTagTimestamp.length; i++)
+                {
+                    if(bufferedTagTimestamp[i] < lowestTagTimestamp)
+                        lowestTagTimestamp = bufferedTagTimestamp[i];
+                }
+
+                sendFLVTag(lowestTagTimestamp,
                     FLVTags.TYPE_VIDEO, FLVTags.VIDEO_CODEC_AVC_KEYFRAME,
                     FLVTags.AVC_MODE_AVCC, avcc, 0, avcc.length, 0, false);
             }


ASU internals

ASU internals

--- src/Modules/ASU.as
+++ src/Modules/ASU.as
@@ -3,6 +3,9 @@
 	import Values.NumericValue;
 	import Values.OpcodeValue;
 	import Components.Port;
+
+	import Layouts.*;
+	import flash.geom.Point;
 	/**
 	 * ...
 	 * @author Nicholas "PleasingFungus" Feinberg
@@ -12,6 +15,32 @@
 		public function ASU(X:int, Y:int) {
 			super(X, Y, "+-", Module.CAT_ARITH, 2, 1, 1);
 			delay = 4;
+		}
+
+		override protected function generateLayout():ModuleLayout {
+			var layout:ModuleLayout = super.generateLayout();
+			layout.dim.x -= 2;
+			layout.dim.y -= 2;
+			layout.ports[3].offset.y += 2;
+			layout.ports[3].offset.x -= 2;
+			return layout;
+		}
+
+		override protected function generateInternalLayout():InternalLayout {
+			var controlport:PortLayout = layout.ports[2];
+			var outport:PortLayout = layout.ports[3];
+			return new InternalLayout([new InternalNode(this, new Point(outport.offset.x - layout.dim.x / 2 - 1 / 2, outport.offset.y),
+														[layout.ports[0], layout.ports[1], outport], [],
+														function getValue():Value { return drive(outputs[0]); } ),
+									   new InternalNode(this, new Point(controlport.offset.x, controlport.offset.y + 3),
+														[controlport], [],
+														function getValue():Value {
+															switch (controls[0].getValue().toNumber()) {
+																case OpcodeValue.OP_ADD.toNumber(): return OpcodeValue.OP_ADD;
+																case OpcodeValue.OP_SUB.toNumber(): return OpcodeValue.OP_SUB;
+																default: return U.V_UNKNOWN;
+															}
+														})]);
 		}

 		override public function drive(port:Port):Value {


added function getKeyLabel

added function getKeyLabel

--- collect-flex/collect-flex-client/src/generated/flex/org/openforis/collect/model/proxy/EntityProxy.as
+++ collect-flex/collect-flex-client/src/generated/flex/org/openforis/collect/model/proxy/EntityProxy.as
@@ -10,7 +10,10 @@
 	import mx.collections.ArrayList;
 	import mx.collections.IList;

+	import org.openforis.collect.metamodel.proxy.AttributeDefinitionProxy;
+	import org.openforis.collect.metamodel.proxy.EntityDefinitionProxy;
 	import org.openforis.collect.util.CollectionUtil;
+	import org.openforis.collect.util.StringUtil;

     [Bindable]
     [RemoteClass(alias="org.openforis.collect.model.proxy.EntityProxy")]
@@ -104,5 +107,27 @@
 			}
 			children.addItem(node);
 		}
+
+		public function getKeyLabel(entityDefinition:EntityDefinitionProxy):String {
+			var keyDefs:IList = entityDefinition.keyAttributeDefinitions;
+			var keyParts:Array = new Array();
+			for each (var def:AttributeDefinitionProxy in keyDefs) {
+				var key:AttributeProxy = getSingleAttribute(def.name);
+				if(key != null && key.value != null) {
+					var keyValue:Object = key.value;
+					var keyPart:String = null;
+					if(keyValue is CodeProxy) {
+						keyPart = CodeProxy(keyValue).toString();
+					} else if(keyValue is CoordinateProxy) {
+						//todo
+						keyPart = CoordinateProxy(keyValue).toString();
+					} else {
+						keyPart = String(keyValue);
+					}
+					keyParts.push(keyPart);
+				}
+			}
+			return StringUtil.concat(" - ", keyParts);
+		}
     }
 }


* 注释修正

* 注释修正

--- age/src/age/assets/SceneInfo.as
+++ age/src/age/assets/SceneInfo.as
@@ -74,7 +74,7 @@

 		/**
 		 * 网格

-		 * 储存形式是 [y][x]

+		 * 储存形式是 [z][x]

 		 * 默认值为一个网格
 		 */
 		public var grids:Array = [[ 0 ]];


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

--- frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateSpinnerItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateSpinnerItemRenderer.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.components.calendarClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20303
Author:   chiedozi@adobe.com
Date:     2011-02-11T23:30:19.588282Z

Log Message:
-----------
Added Inspectable metadata to the mode and direction properties of ZoomViewTransition and FlipViewTransition

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

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

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
@@ -159,6 +159,7 @@

     private var _mode:String = ZoomViewTransitionMode.OUT;

+    [Inspectable(category="General", enumeration="in,out", defaultValue="out")]
     /**
      *  Specifies the type of zoom transition to perform.
      *


Don't create infobox on load from string

--- src/LevelStates/LevelState.as
+++ src/LevelStates/LevelState.as
@@ -107,9 +107,23 @@
 			initialMemory = level.goal.genMem();

 			load(loadData);
-			loadData = null;
 			level.setLast();
 			recentModules = new Vector.<Class>;
+
+			makeUIInitial(loadData == null);
+			loadData = null;
+
+			FlxG.camera.scroll.x = (FlxG.width / 2) / 1 - (FlxG.width / 2) / U.zoom;
+			FlxG.camera.scroll.y = (FlxG.height / 2) / 1 - (FlxG.height / 2) / U.zoom;
+
+			FlxG.flash(0xff000000, MenuButton.FADE_TIME);
+		}
+
+		private function makeUIInitial(makeInfobox:Boolean):void {
+			if (!makeInfobox) {
+				makeUI();
+				return;
+			}

 			makeUI(false); //don't add UI actives yet...
 			if (level.startWithMemory)
@@ -118,16 +132,12 @@
 				infobox = new DGoal(level);
 			upperLayer.add(infobox); //because we won't be updating while the infobox is up...

-			FlxG.camera.scroll.x = (FlxG.width / 2) / 1 - (FlxG.width / 2) / U.zoom;
-			FlxG.camera.scroll.y = (FlxG.height / 2) / 1 - (FlxG.height / 2) / U.zoom;
 			upperLayer.update(); //and some UI members need a single-frame update to position themselves properly
 			var temp:Array = upperLayer.members; //but now we don't have the UI actives in the right place (first) in the upper layer, so...
 			upperLayer.members = []; //reset the list...
 			addUIActives(); //add the UI actives...
 			for each (var member:FlxBasic in temp)
 				upperLayer.add(member); //then add the other UI members back.
-
-			FlxG.flash(0xff000000, MenuButton.FADE_TIME);
 		}

 		private function initLayers():void {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3890
Author:   rfrishbe@adobe.com
Date:     2008-10-24T22:24:17.938205Z

Log Message:
-----------
Various renames for FxComponent, mostly based on PARB recommendations.  Most were just simple name changes or removal of methods.  Because commitSkinState() no longer exists, Button had to be modified pretty extensively so that it didn't key off of that method.

QE Notes: Joann's updated the tests and excluded them pending this checkin
Doc Notes: None
Bugs: SDK-17116
Reviewer: Hans, Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxContainerBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -154,7 +154,7 @@

         if (skinStateIsDirty)
         {
-            commitSkinState( getUpdatedSkinState() );
+            skin.currentState = getCurrentSkinState();
             skinStateIsDirty = false;
         }
     }
@@ -213,15 +213,14 @@
      *
      *  @return A string specifying the name of the state to apply to the skin.
      */
-    protected function getUpdatedSkinState():String
+    protected function getCurrentSkinState():String
     {
         return null;
     }

     /**
-     *  Marks the component so that its commitSkinState() method
-     *  gets called during a later screen update.
-     *  The commitSkinState() method sets the new state of the skin.
+     *  Marks the component so that the new state of the skin will get set
+     *  during a later screen update.
      */
     protected function invalidateSkinState():void
     {
@@ -230,21 +229,6 @@

         skinStateIsDirty = true;
         invalidateProperties();
-    }
-
-    /**
-     *  Sets the new state of the skin.
-     *  A subclass of FxComponent can override this method to add
-     *  extra validation logic.
-     *
-     *
You do not call this method directly.
-     *  Flex calls it in response to a call to the invalidateSkinState() method.

-     *
-     *  @param newState A string specifying the name of the state to set.
-     */
-    protected function commitSkinState(newState:String):void
-    {
-        skin.currentState = newState;
     }

     //--------------------------------------------------------------------------
@@ -261,8 +245,8 @@
      *  Typically, a subclass of FxComponent does not override this method.
      *
      *
This method instantiates the skin for the component,
-     *  adds the skin as a child of the component,
-     *  resolves all part associations for the skin, and calls the skinLoaded() method.

+     *  adds the skin as a child of the component, and
+     *  resolves all part associations for the skin

      */
     protected function loadSkin():void
     {
@@ -302,6 +286,8 @@
             }

             addChild(skin);
+
+            skin.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, skin_propertyChangeHandler);
         }
         else
         {
@@ -309,8 +295,6 @@
         }

         findSkinParts();
-
-        skinLoaded();

         invalidateSkinState();
     }
@@ -352,39 +336,6 @@
     }

     /**
-     *  Attach behaviors to the skin object.
-     *  You do not call this method directly.
-     *  Flex calls it automatically when it calls the loadSkin() method.
-     *
A subclass of FxComponent must override this method to
-     *  attach behaviors to the skin object.

-     *
-     *
Override the partAdded() method to attach behaviors to
-     *  an individual part of the skin.

-     */
-    protected function skinLoaded():void
-    {
-        skin.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, skin_propertyChangeHandler);
-
-        // Declarative behaviors to the skin get attached here.
-        // Use partAdded for individual part behaviors
-    }
-
-    /**
-     *  Remove behavior from the skin object.
-     *  You do not call this method directly.
-     *  Flex calls it automatically when it calls the unloadSkin() method.
-     *
-     *
This method should be overridden by subclasses of FxComponent.

-     */
-    protected function unloadingSkin():void
-    {
-        skin.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, skin_propertyChangeHandler);
-
-        // Declarative behaviors to the skin get removed here.
-        // Use partRemoved for individual part behaviors
-    }
-
-    /**
      *  Clear out references to skin parts.
      *  You do not call this method directly.
      *  Flex calls it automatically when it calls the unloadSkin() method.
@@ -411,7 +362,7 @@
                 {
                     var len:int = numDynamicParts(skinPartID);
                     for (var j:int = 0; j < len; j++)
-                        removePartInstance(skinPartID, getDynamicPartAt(skinPartID, j));
+                        removeDynamicPartInstance(skinPartID, getDynamicPartAt(skinPartID, j));
                 }

                 this[skinPartID] = null;
@@ -424,15 +375,14 @@
      *  You do not call this method directly.
      *  Flex calls it automatically when a skin is changed at runtime.
      *
-     *  This method calls the unloadingSkin() method, removes the skin,
-     *  and clears all part associations.
+     *  This method removes the skin and clears all part associations.
      *
      *
Typically, subclasses of FxComponent do not override this method.

      */
     protected function unloadSkin():void
     {
-
-        unloadingSkin();
+        skin.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, skin_propertyChangeHandler);
+
         clearSkinParts();
         removeChild(skin);
         setSkin(null);
@@ -449,7 +399,7 @@
      *  You do not call this method directly.
      *  For static parts, Flex calls it automatically when it calls the loadSkin() method.
      *  For dynamic parts, Flex calls it automatically when it calls
-     *  the createPartInstance() method.
+     *  the createDynamicPartInstance() method.
      *
      *
Override this function to attach behavior to the part.
      *  If you want to override behavior on a skin part that is inherited from a base class,
@@ -465,11 +415,11 @@
     }

     /**
-     *  Called when an instance of a dynamic part is being removed.
+     *  Called when an instance of a skin part is being removed.
      *  You do not call this method directly.
      *  For static parts, Flex calls it automatically when it calls the unloadSkin() method.
      *  For dynamic parts, Flex calls it automatically when it calls
-     *  the removePartInstance() method.
+     *  the removeDynamicPartInstance() method.
      *
      *
Override this function to remove behavior from the part.

      *
@@ -503,7 +453,7 @@
      *
      *  @return The instance of the part, or null if it cannot create the part.
      */
-    protected function createPartInstance(partName:String):Object
+    protected function createDynamicPartInstance(partName:String):Object
     {
         var factory:IFactory = this[partName];

@@ -538,7 +488,7 @@
      *
      *  @param instance The part.
      */
-    protected function removePartInstance(partName:String, instance:Object):void
+    protected function removeDynamicPartInstance(partName:String, instance:Object):void
     {
         // Send notification
         partRemoved(partName, instance);


Transferred from the Adobe Open Source Subversion Repository

Revision: 4314
Author:   gruehle@adobe.com
Date:     2008-12-15T22:40:02.103600Z

Log Message:
-----------
Initial checkin of style support in the Spark skins. See the "Styling Gumbo Components" spec for details.

QE Notes: Bitmap compares will be different for many skins. Joan will update the bitmaps.
Doc Notes: See spec for details.
Bugs: -
Reviewer: Corey

Modified Paths:
--------------
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/assets</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxFocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollBarDownButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHSliderTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxSpinnerIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHScrollBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVSliderTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxTextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxNumericStepperSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxSpinnerDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVScrollBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollBarRightButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxTextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxSpinnerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHScrollBarTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/SparkColorStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxCheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollBarLeftButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxRadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -44,6 +44,7 @@
 include "../../styles/metadata/BasicCharacterFormatTextStyles.as"
 include "../../styles/metadata/AdvancedCharacterFormatTextStyles.as"
 include "../../styles/metadata/SelectionFormatTextStyles.as"
+include "../../styles/metadata/SparkColorStyles.as"

 /**
  *  Name of the skin class to use for this component. The skin must be a class that extends


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

--- frameworks/projects/advancedgrids/src/mx/styles/metadata/PaddingStyles.as
+++ frameworks/projects/advancedgrids/src/mx/styles/metadata/PaddingStyles.as
@@ -1,25 +1,4 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////

-/**
- *  Number of pixels between the control's left border
- *  and the left edge of its content area.
- *
- *  @default 2
- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
- */
 [Style(name="paddingLeft", type="Number", format="Length", inherit="no")]

 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 3242
Author:   smgilson@adobe.com
Date:     2008-09-17T15:53:42.181700Z

Log Message:
-----------
Remove "&" from ASDoc comment

Checkin Test Passed: Yes
QA: No
Bug:
Doc: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/UIComponentAccImpl.as

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

--- frameworks/projects/framework/src/mx/accessibility/UIComponentAccProps.as
+++ frameworks/projects/framework/src/mx/accessibility/UIComponentAccProps.as
@@ -31,7 +31,7 @@

 /**
  *  The UIComponentAccImpl class is the accessibility class for UIComponent.
- *  It is used to provide accessibility to FormView, ToolTip & Error ToolTip.
+ *  It is used to provide accessibility to FormView, ToolTip, and Error ToolTip.
  *
  *  @helpid 3030
  *  @tiptext This is the UIComponent Accessibility Class.
@@ -41,307 +41,307 @@
 {
     include "../core/Version.as";

-	//--------------------------------------------------------------------------
-	//
-	//  Class initialization
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 *  Static variable triggering the hookAccessibility() method.
-	 *  This is used for initializing UIComponentAccImpl class to hook its
-	 *  createAccessibilityImplementation() method to UIComponent class
-	 *  before it gets called from UIComponent.initialize().
-	 */
-	private static var accessibilityHooked:Boolean = hookAccessibility();
-
-	/**
-	 *  @private
-	 *  Static Method for swapping the
-	 *  createAccessibilityImplementation method of UIComponent with
-	 *  the UIComponentAccImpl class.
-	 */
-	private static function hookAccessibility():Boolean
-	{
-		UIComponent.createAccessibilityImplementation =
-			createAccessibilityImplementation;
-
-		return true;
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class methods
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 *  Method for creating the Accessibility class.
-	 *  This method is called from UIComponent.
-	 *  @review
-	 */
-	mx_internal static function createAccessibilityImplementation(
-											component:UIComponent):void
-	{
-		component.accessibilityProperties =
-			new UIComponentAccImpl(component);
-	}
-
-	/**
-	 *  Method call for enabling accessibility for a component.
-	 *  This method is required for the compiler to activate
-	 *  the accessibility classes for a component.
-	 */
-	public static function enableAccessibility():void
-	{
-	}
-
-	/**
-	 *  Method for supporting Form Accessibility.
-	 *  @review
-	 */
-	public static function getFormName(component:UIComponent):String
-	{
-		var formName:String = "";
-
-		// Return nothing if we are a container
-		if (component is Container)
-			return formName;
-
-		// keeping this DisplayObjectContainer since parent returns
-		// that as root is not a UIComponent.
-		var par:DisplayObjectContainer = component.parent;
-		// continue looking up the parent chain
-		// until root (or application) or FormItem is found.
-		while (par && !(par is FormItem) &&
-			   !(par is Application) && par != component.root)
-		{
-			par = par.parent;
-		}
-
-		if (par && par is FormItem)
-			formName = updateFormItemString(FormItem(par));
-
-		return formName;
-	}
-
-	/**
-	 *  @private
-	 *  Method for supporting Form Accessibility.
-	 */
-	private static function updateFormItemString(formItem:FormItem):String
-	{
-		var formName:String = "";
-
-		const itemLabel:Label = formItem.itemLabel;
-		const accProp:AccessibilityProperties = (itemLabel ? itemLabel.accessibilityProperties : null);
-		if (accProp && accProp.silent)
-			return accProp.name;
-
-		var form:UIComponent = UIComponent(formItem.parent);
-
-		// If we are located within a Form, then look for the first FormHeading
-		// that is a sibling that is above us in the parent's child hierarchy
-		if (form is Form)
-		{
-			var formItemIndex:int = form.getChildIndex(formItem);
-			for (var i:int = formItemIndex; i >= 0; i--)
-			{
-				var child:UIComponent = UIComponent(form.getChildAt(i));
-				if (child is FormHeading)
-				{
-					formName = FormHeading(child).label + " ";
-					break;
-				}
-			}
-		}
-
-		// Add in text if we are a required field
-		if (formItem.required)
-			formName += "Required Field ";
-
-		// Add in the label from the formItem
-		if (formItem.label != "")
-			formName += formItem.label + " ";
-
-		if (accProp && !accProp.silent)
-		{
-			accProp.silent = true;
-			accProp.name = formName;
-		}
-
-		return formName;
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 *
-	 *  @param master The UIComponent instance that this AccImpl instance
-	 *  is making accessible.
-	 */
-	public function UIComponentAccImpl(component:UIComponent)
-	{
-		super();
-
-		master = component;
-
-		if (component.accessibilityProperties)
-		{
-			silent = component.accessibilityProperties.silent;
-
-			forceSimple = component.accessibilityProperties.forceSimple;
-
-			noAutoLabeling = component.accessibilityProperties.noAutoLabeling;
-
-			if (component.accessibilityProperties.name)
-				name = component.accessibilityProperties.name;
-
-			if (component.accessibilityProperties.description)
-				description = component.accessibilityProperties.description;
-
-			if (component.accessibilityProperties.shortcut)
-				shortcut = component.accessibilityProperties.shortcut;
-		}
-
-		if (master is ScrollBar)
-		{
-			silent = true;
-		}
-		else if (master is FormItemLabel)
-		{
-			name = getFormName(master);
-			silent = true;
-		}
-		else
-		{
-			var formName:String = getFormName(master);
-
-			if (formName && formName.length != 0)
-				name = formName + name;
-
-			if (master.toolTip && master.toolTip.length != 0)
-			{
-				oldToolTip = " " + master.toolTip;
-				name += oldToolTip;
-			}
-
-			if (master.errorString && master.errorString.length != 0)
-			{
-				oldErrorString = " " + master.errorString;
-				name += oldErrorString;
-			}
-
-			master.addEventListener("toolTipChanged", eventHandler);
-			master.addEventListener("errorStringChanged", eventHandler);
-		}
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Variables
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	private var oldToolTip:String;
-
-	/**
-	 *  @private
-	 */
-	private var oldErrorString:String;
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  master
-	//----------------------------------
-
-	/**
-	 *  A reference to the UIComponent itself.
-	 */
-	protected var master:UIComponent;
-
-	//--------------------------------------------------------------------------
-	//
-	//  Event handlers
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Generic event handler.
-	 *  All UIComponentAccImpl subclasses must implement this
-	 *  to listen for events from its master component.
-	 */
-	protected function eventHandler(event:Event):void
-	{
-		var pos:int;
-		switch (event.type)
-		{
-			case "errorStringChanged":
-			{
-				if (name && name.length != 0 && oldErrorString)
-				{
-					pos = name.indexOf(oldErrorString);
-					if (pos != -1)
-					{
-						name = name.substring(0, pos) +
-							   name.substring(pos + oldErrorString.length);
-					}
-					oldErrorString = null;
-				}
-
-				if (master.errorString && master.errorString.length != 0)
-				{
-					if (!name)
-						name = "";
-
-					oldErrorString = " " + master.errorString;
-					name += oldErrorString;
-				}
-
-				Accessibility.updateProperties();
-			}
-
-			case "toolTipChanged":
-			{
-				if (name && name.length != 0 && oldToolTip)
-				{
-					pos = name.indexOf(oldToolTip);
-					if (pos != -1)
-					{
-						name = name.substring(0, pos) +
-							   name.substring(pos + oldToolTip.length);
-					}
-					oldToolTip = null;
-				}
-
-				if (master.toolTip && master.toolTip.length != 0)
-				{
-					if (!name)
-						name = "";
-
-					oldToolTip = " " + master.toolTip;
-					name += oldToolTip;
-				}
-
-				Accessibility.updateProperties();
-			}
-		}
-	}
+    //--------------------------------------------------------------------------
+    //
+    //  Class initialization
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Static variable triggering the hookAccessibility() method.
+     *  This is used for initializing UIComponentAccImpl class to hook its
+     *  createAccessibilityImplementation() method to UIComponent class
+     *  before it gets called from UIComponent.initialize().
+     */
+    private static var accessibilityHooked:Boolean = hookAccessibility();
+
+    /**
+     *  @private
+     *  Static Method for swapping the
+     *  createAccessibilityImplementation method of UIComponent with
+     *  the UIComponentAccImpl class.
+     */
+    private static function hookAccessibility():Boolean
+    {
+        UIComponent.createAccessibilityImplementation =
+            createAccessibilityImplementation;
+
+        return true;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Method for creating the Accessibility class.
+     *  This method is called from UIComponent.
+     *  @review
+     */
+    mx_internal static function createAccessibilityImplementation(
+                                            component:UIComponent):void
+    {
+        component.accessibilityProperties =
+            new UIComponentAccImpl(component);
+    }
+
+    /**
+     *  Method call for enabling accessibility for a component.
+     *  This method is required for the compiler to activate
+     *  the accessibility classes for a component.
+     */
+    public static function enableAccessibility():void
+    {
+    }
+
+    /**
+     *  Method for supporting Form Accessibility.
+     *  @review
+     */
+    public static function getFormName(component:UIComponent):String
+    {
+        var formName:String = "";
+
+        // Return nothing if we are a container
+        if (component is Container)
+            return formName;
+
+        // keeping this DisplayObjectContainer since parent returns
+        // that as root is not a UIComponent.
+        var par:DisplayObjectContainer = component.parent;
+        // continue looking up the parent chain
+        // until root (or application) or FormItem is found.
+        while (par && !(par is FormItem) &&
+               !(par is Application) && par != component.root)
+        {
+            par = par.parent;
+        }
+
+        if (par && par is FormItem)
+            formName = updateFormItemString(FormItem(par));
+
+        return formName;
+    }
+
+    /**
+     *  @private
+     *  Method for supporting Form Accessibility.
+     */
+    private static function updateFormItemString(formItem:FormItem):String
+    {
+        var formName:String = "";
+
+        const itemLabel:Label = formItem.itemLabel;
+        const accProp:AccessibilityProperties = (itemLabel ? itemLabel.accessibilityProperties : null);
+        if (accProp && accProp.silent)
+            return accProp.name;
+
+        var form:UIComponent = UIComponent(formItem.parent);
+
+        // If we are located within a Form, then look for the first FormHeading
+        // that is a sibling that is above us in the parent's child hierarchy
+        if (form is Form)
+        {
+            var formItemIndex:int = form.getChildIndex(formItem);
+            for (var i:int = formItemIndex; i >= 0; i--)
+            {
+                var child:UIComponent = UIComponent(form.getChildAt(i));
+                if (child is FormHeading)
+                {
+                    formName = FormHeading(child).label + " ";
+                    break;
+                }
+            }
+        }
+
+        // Add in text if we are a required field
+        if (formItem.required)
+            formName += "Required Field ";
+
+        // Add in the label from the formItem
+        if (formItem.label != "")
+            formName += formItem.label + " ";
+
+        if (accProp && !accProp.silent)
+        {
+            accProp.silent = true;
+            accProp.name = formName;
+        }
+
+        return formName;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param master The UIComponent instance that this AccImpl instance
+     *  is making accessible.
+     */
+    public function UIComponentAccImpl(component:UIComponent)
+    {
+        super();
+
+        master = component;
+
+        if (component.accessibilityProperties)
+        {
+            silent = component.accessibilityProperties.silent;
+
+            forceSimple = component.accessibilityProperties.forceSimple;
+
+            noAutoLabeling = component.accessibilityProperties.noAutoLabeling;
+
+            if (component.accessibilityProperties.name)
+                name = component.accessibilityProperties.name;
+
+            if (component.accessibilityProperties.description)
+                description = component.accessibilityProperties.description;
+
+            if (component.accessibilityProperties.shortcut)
+                shortcut = component.accessibilityProperties.shortcut;
+        }
+
+        if (master is ScrollBar)
+        {
+            silent = true;
+        }
+        else if (master is FormItemLabel)
+        {
+            name = getFormName(master);
+            silent = true;
+        }
+        else
+        {
+            var formName:String = getFormName(master);
+
+            if (formName && formName.length != 0)
+                name = formName + name;
+
+            if (master.toolTip && master.toolTip.length != 0)
+            {
+                oldToolTip = " " + master.toolTip;
+                name += oldToolTip;
+            }
+
+            if (master.errorString && master.errorString.length != 0)
+            {
+                oldErrorString = " " + master.errorString;
+                name += oldErrorString;
+            }
+
+            master.addEventListener("toolTipChanged", eventHandler);
+            master.addEventListener("errorStringChanged", eventHandler);
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var oldToolTip:String;
+
+    /**
+     *  @private
+     */
+    private var oldErrorString:String;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  master
+    //----------------------------------
+
+    /**
+     *  A reference to the UIComponent itself.
+     */
+    protected var master:UIComponent;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Event handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Generic event handler.
+     *  All UIComponentAccImpl subclasses must implement this
+     *  to listen for events from its master component.
+     */
+    protected function eventHandler(event:Event):void
+    {
+        var pos:int;
+        switch (event.type)
+        {
+            case "errorStringChanged":
+            {
+                if (name && name.length != 0 && oldErrorString)
+                {
+                    pos = name.indexOf(oldErrorString);
+                    if (pos != -1)
+                    {
+                        name = name.substring(0, pos) +
+                               name.substring(pos + oldErrorString.length);
+                    }
+                    oldErrorString = null;
+                }
+
+                if (master.errorString && master.errorString.length != 0)
+                {
+                    if (!name)
+                        name = "";
+
+                    oldErrorString = " " + master.errorString;
+                    name += oldErrorString;
+                }
+
+                Accessibility.updateProperties();
+            }
+
+            case "toolTipChanged":
+            {
+                if (name && name.length != 0 && oldToolTip)
+                {
+                    pos = name.indexOf(oldToolTip);
+                    if (pos != -1)
+                    {
+                        name = name.substring(0, pos) +
+                               name.substring(pos + oldToolTip.length);
+                    }
+                    oldToolTip = null;
+                }
+
+                if (master.toolTip && master.toolTip.length != 0)
+                {
+                    if (!name)
+                        name = "";
+
+                    oldToolTip = " " + master.toolTip;
+                    name += oldToolTip;
+                }
+
+                Accessibility.updateProperties();
+            }
+        }
+    }
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 8486
Author:   smgilson@adobe.com
Date:     2009-07-09T18:42:45.734868Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VGroup.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/spark/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.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/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -73,7 +73,7 @@
  *  The ListBase class is the base class for all components that support
  *  selection.
  *
- *  @mxml
The <ListBase> tag inherits all of the tag
+ *  @mxml
The <s:ListBase> tag inherits all of the tag
  *  attributes of its superclass and adds the following tag attributes:

  *
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 7163
Author:   aharui@adobe.com
Date:     2009-05-21T02:19:55.813792Z

Log Message:
-----------
Initial checkin of frame 1 cleanup.  In an RSL linkage, more classes will now come from the RSL because they are no longer needed in frame 1, and the size of the application SWF will be smaller.

QE Notes: None
Doc Notes: Maybe.  All new classes should be undocumented, but it might be worth checking that and any changes to interfaces
Bugs:
Reviewer: darrell
tests: checkintests mustella/MarshallPlan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/RSLEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/MarshalPopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IEmbeddedFontRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFont.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ResourceModuleRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeProvider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IMarshalSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/EventListenerRequest.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/ToolTipManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/mustella/MustellaResultsParser.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ChildManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallPlan.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/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/SWFBridgeGroup.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/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/DragManagerMarshalMixin.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/MenuBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IActiveWindowManager.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/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/PopUpManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/messaging/config/LoaderConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManagerChildManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/CursorManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as</path>

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

--- frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as
+++ frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as
@@ -18,6 +18,7 @@
 import flash.events.MouseEvent;
 import mx.events.SandboxMouseEvent;
 import mx.utils.EventUtil;
+import mx.managers.IMarshalSystemManager;
 import mx.managers.ISystemManager;

 [ExcludeClass]
@@ -28,6 +29,7 @@
  */
 public class EventProxy extends EventDispatcher
 {
+    private var marshalSystemManager:IMarshalSystemManager;
     private var systemManager:ISystemManager;

     public function EventProxy(systemManager:ISystemManager)
@@ -43,7 +45,10 @@
             var mme:SandboxMouseEvent= new SandboxMouseEvent(EventUtil.mouseEventMap[event.type],
                 false, false, me.ctrlKey, me.altKey, me.shiftKey, me.buttonDown);
             // trace(">>marshalListener", systemManager, mme.type);
-            systemManager.dispatchEventFromSWFBridges(mme, null, true, true);
+            if (!marshalSystemManager)
+                marshalSystemManager =
+			        IMarshalSystemManager(systemManager.getImplementation("mx.managers::IMarshalSystemManager"));
+            marshalSystemManager.dispatchEventFromSWFBridges(mme, null, true, true);
             // trace("<<marshalListener", systemManager);
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 18290
Author:   smgilson@adobe.com
Date:     2010-10-22T19:04:20.209908Z

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

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/mobilecomponents/src/spark/layouts/ViewMenuLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewMenuItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewMenu.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewMenuItem.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewMenuItem.as
@@ -17,14 +17,34 @@
 import spark.components.supportClasses.ButtonBase;

 /**
- *  Caret State of the Button
+ *  The caret state of the button representing the menu item.
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
  */
 [SkinState("showsCaret")]

 /**
- *  Displays a label and icon inside of an ViewMenu. Typically, you should
- *  listen for the itemClick event to perform some operation based on clicking
- *  this item.
+ *  The ViewMenuItem control displays a label and icon
+ *  for a menu item in the ViewMenu container.
+ *  Write an event handler for the click event
+ *  to perform an operation when the menu item is selected.
+ *
+ *  @mxml
The <s:ViewMenuItem> tag inherits all of the tag
+ *  attributes of its superclass and adds the following tag attributes:

+ *
+ *

+ *  <s:ViewMenuItem/>
+ *

+ *
+ *  @see spark.components.ViewMenu
+ *  @see spark.layouts.ViewMenuLayout
+ *  @see spark.components.supportClasses.MobileApplicationBase
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
  */
 public class ViewMenuItem extends ButtonBase
 {
@@ -34,7 +54,11 @@
     //
     //--------------------------------------------------------------------------
     /**
-     *  Constructor
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function ViewMenuItem()
     {
@@ -52,9 +76,14 @@
     private var _showsCaret:Boolean = false;

     /**
-     *  True if the ViewMenuItem is in the caret state.
+     *  Contains true if the ViewMenuItem control
+     *  is in the caret state.
      *
      *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get showsCaret():Boolean
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 21098
Author:   tkraikit@adobe.com
Date:     2011-04-19T00:45:15.365962Z

Log Message:
-----------
SDK-27397, SDK 30140: SplashScreen orientation should stay fixed to the device's default orientation regardless of orientation changes prior to or during splash screen display. Code revised to use the (more dependable) Stage.orientation to counteract orientation changes and keep the splash screen aligned correctly.

QE notes: SDK-30140's reproducibility is possibly device-dependent; this will need to be tested on as many devices as possible.
Doc notes: none
Bugs: SDK-27397, SDK-30140
Reviewer: Evtim
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
/private/flex/sdk/trunk/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as

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

--- frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as
+++ frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as
@@ -413,18 +413,18 @@

         // Rotate to keep aligned with StageOrientation.DEFAULT
         var rotation:Number = 0;
-        switch (stage.deviceOrientation)
+        switch (stage.orientation)
         {
             case StageOrientation.UNKNOWN:
             case StageOrientation.DEFAULT:
                 rotation = 0;
             break;

+            case StageOrientation.ROTATED_RIGHT:
+                rotation = Math.PI * 1.5; // 270
+            break;
+
             case StageOrientation.ROTATED_LEFT:
-                rotation = Math.PI * 1.5; // 270
-            break;
-
-            case StageOrientation.ROTATED_RIGHT:
                 rotation = Math.PI * 0.5; // 90
             break;


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

--- frameworks/projects/advancedgrids/src/mx/accessibility/AdvancedDataGridAccImpl.as
+++ frameworks/projects/advancedgrids/src/mx/accessibility/AdvancedDataGridAccImpl.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


FLEX-14773 jumping to a list item on key press should use charCode not keyCode

--- frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBase.as
+++ frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBase.as
@@ -8646,7 +8646,7 @@

             default:
             {
-                if (findKey(event.keyCode))
+                if (findKey(event.charCode))
                     event.stopPropagation();
             }
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11639
Author:   jszeto@adobe.com
Date:     2009-11-11T01:07:34.029444Z

Log Message:
-----------
ComboBox bug fix

SDK-24104 - ComboBox should scroll the matched item to the top of the list

Made an mx_internal version of LayoutBase.getScrollPositionDeltaToElementHelper that supports aligning the position to an edge. ComboBox and DropDownList scroll the highlighted item to the top except when using the navigation keys to navigate while the dropDown is open.

Removed a bunch of comments and trace statements from ComboBox.

QE notes: None
Doc notes: None
Bugs: SDK-24104
Reviewer: Evtim
Tests run: ComboBox, DropDownList
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as
@@ -18,6 +18,7 @@
 import flash.events.FocusEvent;
 import flash.events.KeyboardEvent;
 import flash.events.MouseEvent;
+import flash.geom.Point;

 import mx.collections.IList;
 import mx.core.mx_internal;
@@ -604,14 +605,15 @@
      *  Called whenever we need to change the highlighted selection while the dropDown is open
      *  ComboBox overrides this behavior
      */
-    mx_internal function changeHighlightedSelection(newIndex:int):void
+    mx_internal function changeHighlightedSelection(newIndex:int, scrollToTop:Boolean = false):void
     {
         // Store the selection in userProposedSelectedIndex because we
         // don't want to update selectedIndex until the dropdown closes
         itemSelected(userProposedSelectedIndex, false);
         userProposedSelectedIndex = newIndex;
         itemSelected(userProposedSelectedIndex, true);
-        ensureIndexIsVisible(userProposedSelectedIndex);
+
+        positionIndexInView(userProposedSelectedIndex, scrollToTop ? 0 : NaN);

         var e:IndexChangeEvent = new IndexChangeEvent(IndexChangeEvent.CARET_CHANGE);
         e.oldIndex = caretIndex;
@@ -619,7 +621,30 @@
         e.newIndex = caretIndex;
         dispatchEvent(e);
     }
+
+    /**
+     *  @private
+     */
+    mx_internal function positionIndexInView(index:int, topOffset:Number = NaN,
+                                             bottomOffset:Number = NaN,
+                                             leftOffset:Number = NaN,
+                                             rightOffset:Number = NaN):void
+    {
+        if (!layout)
+            return;
+
+        var spDelta:Point =
+            dataGroup.layout.getScrollPositionDeltaToElementHelper(index, topOffset, bottomOffset,
+                                                                   leftOffset, rightOffset);
+
+        if (spDelta)
+        {
+            dataGroup.horizontalScrollPosition += spDelta.x;
+            dataGroup.verticalScrollPosition += spDelta.y;
+        }
+    }

+

     //--------------------------------------------------------------------------
     //
@@ -658,7 +683,7 @@
     {
         if (!enabled)
             return;
-
+
         if (!dropDownController.processKeyDown(event))
         {
             var navigationUnit:uint = event.keyCode;
@@ -783,7 +808,7 @@
     mx_internal function open_updateCompleteHandler(event:FlexEvent):void
     {
         removeEventListener(FlexEvent.UPDATE_COMPLETE, open_updateCompleteHandler);
-        ensureIndexIsVisible(selectedIndex);
+        positionIndexInView(selectedIndex, 0);

         dispatchEvent(new DropDownEvent(DropDownEvent.OPEN));
     }


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

--- frameworks/projects/mobilecomponents/src/spark/components/SpinnerListItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/SpinnerListItemRenderer.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.components
 {


Hide graspy hand as appropriate

Hide graspy hand as appropriate

--- src/LevelStates/LevelState.as
+++ src/LevelStates/LevelState.as
@@ -588,11 +588,13 @@
 				checkModuleState();
 		}

-		protected var cursorGraphic:Class
+		protected var cursorGraphic:Class;
+		protected var wasHidden:Boolean;
 		protected function checkCursorState():void {
 			var newGraphic:Class = null;
 			var offsetX:int = 0;
 			var offsetY:int = 0;
+			var hide:Boolean;

 			//TODO: check to see if a button is moused
 			if (listOpen == LIST_NONE && !time.moment)
@@ -605,15 +607,28 @@
 						offsetX = offsetY = -14;
 						break;
 					case MODE_MODULE:
-						newGraphic = _grab_cursor;
-						offsetX = -4;
-						offsetY = -3;
+						if (currentModule) {
+							hide = true;
+							break;
+						}
+
+						var mousedModule:Module = findMousedModule();
+						if (mousedModule && !mousedModule.FIXED) {
+							newGraphic = _grab_cursor;
+							offsetX = -4;
+							offsetY = -3;
+						}
+
 						break;
 				}

-			if (cursorGraphic != newGraphic) {
-				FlxG.mouse.load(newGraphic, 1, offsetX, offsetY);
+			if (hide) {
+				FlxG.mouse.hide();
+				wasHidden = true;
+			} else if (cursorGraphic != newGraphic || wasHidden) {
+				FlxG.mouse.show(newGraphic, 1, offsetX, offsetY);
 				cursorGraphic = newGraphic;
+				wasHidden = false;
 			}
 		}


Fixed module tooltips displaying under sliders

--- src/LevelStates/LevelState.as
+++ src/LevelStates/LevelState.as
@@ -382,7 +382,6 @@
 				makeUI();
 			});
 			moduleList.setSpacing(4);
-			upperLayer.add(moduleList);

 			moduleSliders = new Vector.<ModuleSlider>;
 			for (i = 0; i < recentModules.length; i++ ) {
@@ -391,6 +390,8 @@
 				if (archetype.getConfiguration())
 					moduleSliders.push(upperLayer.add(new ModuleSlider(moduleList.x + moduleList.width, moduleButtons[i+ModuleCategory.ALL.length+1], archetype)));
 			}
+
+			upperLayer.add(moduleList);
 		}

 		private function makeModuleList():void {
@@ -430,7 +431,6 @@
 				makeUI();
 			});
 			moduleList.setSpacing(4);
-			upperLayer.add(moduleList);

 			//make some sliders
 			moduleSliders = new Vector.<ModuleSlider>;
@@ -440,6 +440,8 @@
 				if (archetype.getConfiguration())
 					moduleSliders.push(upperLayer.add(new ModuleSlider(moduleList.x + moduleList.width, moduleButtons[i+1], archetype)));
 			}
+
+			upperLayer.add(moduleList);
 		}

 		private function createNewModule(moduleType:Class):void {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionView.as
+++ frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionView.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.collections
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 21756
Author:   jszeto@adobe.com
Date:     2011-08-01T18:58:00.702387Z

Log Message:
-----------
SpinnerList Fixes

- Rewrote the LayoutIterator in VerticalSpinnerLayout
- Implemented a smarter algorithm for detecting the closest enabled item
- Lowered padding values
- Updated SelectionIndicator gradient to have less of a contrast between the top and bottom
- DateSpinner is no longer resizable
- Fixed right border bug
- Decreased the minimum width for SpinnerList

QE notes: none
Doc notes: none
Bugs: none
Reviewer: Tom K
Tests run: checkintests, cyclone
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/SpinnerListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/layouts/VerticalSpinnerLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/NumericDataProvider.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as
@@ -306,6 +306,7 @@
 		// SpinnerLists's left border nor the rightmost one's right border.
 		// We inset the mask on the left and right sides to accomplish this.
 		var g:Graphics = contentGroupMask.graphics;
+		g.clear();
 		g.beginFill(0x00FF00);
 		g.drawRoundRect(borderThickness * 2, borderThickness,
 						unscaledWidth - borderThickness * 4,


Transferred from the Adobe Open Source Subversion Repository

Revision: 11056
Author:   egeorgie@adobe.com
Date:     2009-10-21T18:57:18.687123Z

Log Message:
-----------
Drag and Drop - various small fixes

- TileLayout now reports the correct number of actual columns/rows along the minor axis
- Fix to List - the mouse down and drag on unselected item used to stop working after the first few times as I didn't clear a flag properly before.
- Make the ListItemDragProxy inherit styles from the drag initiator.

QE notes: None
Doc notes: None
Bugs: None
Reviewer: Deepa
Tests run: checkintests, mustella (ListDragDrop, List)
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListItemDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListItemDragProxy.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListItemDragProxy.as
@@ -69,6 +69,10 @@
         var dataGroup:DataGroup = list.dataGroup;
         if (!dataGroup)
             return;
+
+		// Make sure we inherit styles from the drag initiator, as those styles
+		// may be affecting the appearance of the item renderers.
+		this.styleName = list;

         // Generate a dragImage
         // FIXME (egeorgie): do we need to set the image size here?


Transferred from the Adobe Open Source Subversion Repository

Revision: 4365
Author:   cframpto@adobe.com
Date:     2008-12-19T19:28:31.780789Z

Log Message:
-----------
Implement enabled/selectable/editable text.

In FxTextArea, FxTextInput and TextGraphic, text is stripped of leading and trailing whitespace by the compiler by including [CollapseWhiteSpace] before the getters.  In contrast, content is only trimmed if the the whiteSpaceCollapse style is set to "collapse".  The default is "preserve".

QE Notes:
Doc Notes: None
Bugs: SDK-18424, SDK-15883, SDK-15884, SDK-18210, SDK-16330, SDK-17683
Reviewer: Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -104,12 +104,18 @@
     /**
      *  @private
      */
+    private var enabledChanged:Boolean = false;
+
+    /**
+     *  @private
+     */
     override public function set enabled(value:Boolean):void
     {
         if (value == enabled)
             return;

         super.enabled = value;
+        enabledChanged = true;

         invalidateSkinState();
     }
@@ -479,7 +485,10 @@

     [Bindable("change")]
     [Bindable("textChanged")]
-
+
+    // Compiler will strip leading and trailing whitespace from text string.
+    [CollapseWhiteSpace]
+
     /**
      *  The text String displayed by this component.
      */
@@ -536,6 +545,12 @@
             displayAsPasswordChanged = false;
         }

+        if (enabledChanged)
+        {
+            textView.enabled = super.enabled;
+            enabledChanged = false;
+        }
+
         if (editableChanged)
         {
             textView.editable = _editable;
@@ -733,13 +748,18 @@
         // represented by (-1, -1), even when the Sprite has focus.
         // But then no insertion point blinks and you can't enter any text.
         // So if this component is in that state when it takes focus,
-        // it changes the selection to (0, 0).
-        if (selectionAnchorPosition == -1 && selectionActivePosition == -1)
-            setSelection(int.MAX_VALUE, int.MAX_VALUE);
-
-        // Only editable text should have a focus ring.
-        if (focusManager && editable)
-            focusManager.showFocusIndicator = true;
+        // it changes the selection to the end of the text.
+        if (enabled && editable)
+        {
+            if (selectionAnchorPosition == -1 && selectionActivePosition == -1)
+            {
+                setSelection(int.MAX_VALUE, int.MAX_VALUE);
+            }
+
+            // Only editable text should have a focus ring.
+            if (focusManager)
+                focusManager.showFocusIndicator = true;
+        }

         super.focusInHandler(event);
     }