Transferred from the Adobe Open Source Subversion Repository

Revision: 10877
Author:   egeorgie@adobe.com
Date:     2009-10-05T22:23:37.431913Z

Log Message:
-----------
Fix a small syntax error in Path bounds calculations that could result in wrong bounds for edge cases involving MoveSegments.
Thanks go to Min for noticing the bug!

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

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

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -674,7 +674,7 @@
         while (true)
         {
             // Find a segment with a valid tangent or stop at a MoveSegment
-            while (start < count && (!segments[start] is MoveSegment))
+            while (start < count && !(segments[start] is MoveSegment))
             {
                 var prevSegment:PathSegment = start > 0 ? segments[start - 1] : null;
                 if (tangentIsValid(prevSegment, segments[start], sx, sy, m))


added getOverlappingKeysAccrossLayers(). This function return the overlapping keys in the destination layer given a source Keys and source layer.

--- WeaveUISpark/src/weave/visualization/layers/PlotManager.as
+++ WeaveUISpark/src/weave/visualization/layers/PlotManager.as
@@ -46,6 +46,7 @@
 	import weave.api.registerLinkableChild;
 	import weave.api.setSessionState;
 	import weave.api.ui.IPlotter;
+	import weave.api.ui.IPlotterWithGeometries;
 	import weave.api.ui.ITextPlotter;
 	import weave.compiler.StandardLib;
 	import weave.core.LinkableBoolean;
@@ -54,11 +55,13 @@
 	import weave.core.LinkableString;
 	import weave.core.SessionManager;
 	import weave.primitives.Bounds2D;
+	import weave.primitives.GeneralizedGeometry;
 	import weave.primitives.ZoomBounds;
+	import weave.utils.ColumnUtils;
 	import weave.utils.NumberUtils;
 	import weave.utils.PlotterUtils;
 	import weave.utils.SpatialIndex;
-	import weave.utils.ZoomUtils;
+	import weave.utils.ZoomUtils;

 	/**
 	 * This is a container for a list of PlotLayers
@@ -370,22 +373,37 @@
 		 * This function will get all the unique keys that overlap each geometry specified by
 		 * simpleGeometries.
 		 * @param simpleGeometries
+		 * @param LayerName optional parameter, when specified, will only return the overlapping geometries for the given layer.
 		 * @return An array of keys.
 		 */
-		public function getKeysOverlappingGeometry(simpleGeometries:Array):Array
+		public function getKeysOverlappingGeometry(simpleGeometries:Array, layerName:String = null):Array
 		{
 			var key:IQualifiedKey;
 			var keys:Dictionary = new Dictionary();
-			var simpleGeometry:ISimpleGeometry;
-			var names:Array = plotters.getNames();
+			var geometry:Object;
+
+			var names:Array = layerName ? [layerName] : plotters.getNames();
+

 			// Go through the layers and make a query for each layer
 			for each (var name:String in names)
 			{
 				var spatialIndex:SpatialIndex = _name_to_SpatialIndex[name] as SpatialIndex;
-				for each (simpleGeometry in simpleGeometries)
-				{
-					var queriedKeys:Array = spatialIndex.getKeysGeometryOverlapGeometry(simpleGeometry);
+				for each (geometry in simpleGeometries)
+				{
+					var simpleGeometry:ISimpleGeometry = geometry as ISimpleGeometry;
+					var queriedKeys:Array;
+
+					if ( geometry is GeneralizedGeometry )
+					{
+						var geometryAsSimpleGeometries:Array = (geometry as GeneralizedGeometry).getSimpleGeometries();
+						queriedKeys = spatialIndex.getKeysGeometryOverlapGeometries(geometryAsSimpleGeometries);
+					}
+					else if (simpleGeometry)
+					{
+						queriedKeys = spatialIndex.getKeysGeometryOverlapGeometry(simpleGeometry);
+					}
+
 					// use the dictionary to handle duplicates
 					for each (key in queriedKeys)
 					{
@@ -399,6 +417,49 @@
 				result.push(keyObj as IQualifiedKey);

 			return result;
+		}
+
+
+		/**
+		 * This function will return the overlapping in the destination layer overlapping keys
+		 *
+		 * @author fkamayou
+		 * @param SourceKeys Array of IQualifiedKey objects which overlap the geometries of the the source layer
+		 * @param SourceLayer The source layer specified by LayerName
+		 * @param destinationLayer The destination layer specified by LayerName
+		 *
+		 * @return An array of IQualifiedKey objects which overlap the geometries of the destination layer.
+		 **/
+		public function getOverlappingKeysAcrossLayers(sourceKeys:Array, sourceLayer:String, destinationLayer:String):Array
+		{
+			sourceKeys = ColumnUtils.getQKeys(sourceKeys);
+			var simpleGeometriesInSourceLayer:Array = [];
+			var simpleGeometry:ISimpleGeometry;
+			var queriedKeys:Array = [];
+			var keys:Dictionary = new Dictionary();
+
+			// get plotter from sourceLayer
+			var plotterFromSourceLayer:IPlotterWithGeometries = plotters.getObject(sourceLayer) as IPlotterWithGeometries;
+
+
+			// use the source keys to get a list of overlapping geometries on the destination layer.
+			// Iterate over all the keys
+			for each ( var key:IQualifiedKey in sourceKeys)
+			{
+				simpleGeometriesInSourceLayer = plotterFromSourceLayer.getGeometriesFromRecordKey(key);
+
+				// use the dictionary to handle duplicates
+				for each (key in getKeysOverlappingGeometry(simpleGeometriesInSourceLayer, destinationLayer))
+				{
+					keys[key] = true;
+				}
+			}
+			var result:Array = [];
+			for (var keyObj:* in keys)
+				result.push(keyObj as IQualifiedKey);
+
+			return result;
+
 		}

 		private function handleSettingsList():void


now drawing single grid line when offset is specified without interval

--- WeaveUISpark/src/weave/visualization/plotters/GridLinePlotter.as
+++ WeaveUISpark/src/weave/visualization/plotters/GridLinePlotter.as
@@ -90,6 +90,8 @@
 					for (var ix:int = 0, x:Number = xStart; x < xMax; x = xStart + dx * ++ix)
 						drawLine(x, yMin, x, yMax, graphics, dataBounds, screenBounds);
 				}
+				else if (isFinite(xOffset.value) && xMin < x0 && x0 < xMax)
+					drawLine(x0, yMin, x0, yMax, graphics, dataBounds, screenBounds);

 				if (xMin <= xMax && ((xMax - x0) % dx == 0 || dx == 0))
 					drawLine(xMax, yMin, xMax, yMax, graphics, dataBounds, screenBounds);
@@ -113,6 +115,8 @@
 					for (var iy:int = 0, y:Number = yStart; y < yMax; y = yStart + dy * ++iy)
 						drawLine(xMin, y, xMax, y, graphics, dataBounds, screenBounds);
 				}
+				else if (isFinite(yOffset.value) && yMin < y0 && y0 < yMax)
+					drawLine(xMin, y0, xMax, y0, graphics, dataBounds, screenBounds);

 				if (yMin <= yMax && ((yMax - y0) % dy == 0 || dy == 0))
 					drawLine(xMin, yMax, xMax, yMax, graphics, dataBounds, screenBounds);


ADDED API to allow manual registration for push notifications

--- actionscript/src/com/marpies/ane/onesignal/OneSignal.as
+++ actionscript/src/com/marpies/ane/onesignal/OneSignal.as
@@ -86,6 +86,20 @@

             mInitialized = true;
             return true;
+        }
+
+        /**
+         * (iOS only) - Call this method when you want to prompt the user to accept push notifications.
+         * Android devices automatically register silently during initialization.
+         *
+         *
Extension must be initialized using OneSignal.init() with autoRegister
+         * parameter set to false before calling this method.

+         */
+        public static function register():void {
+            if( !isSupported ) return;
+            validateExtensionContext();
+
+            mContext.call( "register" );
         }

         /**


Don't check for stderr output on APIWrapper startup.

If there's any non-essential libraries in LD_PRELOAD that can't
be preloaded (e.g. wrong arch), the dynamic linker will generate
some error output, even though the wrapper runs just fine.

--- lib/src_linux/com/amanitadesign/steam/FRESteamWorks.as
+++ lib/src_linux/com/amanitadesign/steam/FRESteamWorks.as
@@ -179,7 +179,6 @@
 				// no-op
 			}
 			if(!_process.running) return false;
-			if(_process.standardError.bytesAvailable > 0) return false;

 			// initialization seems to be successful
 			_init = true;


Transferred from the Adobe Open Source Subversion Repository

Revision: 21557
Author:   jasonsj@adobe.com
Date:     2011-07-12T22:11:43.595367Z

Log Message:
-----------
Initial checkin for Callout/CalloutButton and mobile check-in tests. (Attempt #2 to address dependency checker issue from 21536)

* Refactored pop up transformations from PopUpAnchor.applyPopUpTransform() to mx.utils.PopUpUtil.applyPopUpTransform()
* CalloutPosition.AUTO not yet implemented
* Visuals are not the final XD design.

QE notes:
Doc notes:
Bugs:
Reviewer: chiedozi, jszeto
Tests run: checkintests, checkintests-mobile
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/.flexLibProperties</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutPosition.as" copyfrom-rev="21541" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutPosition.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ArrowDirection.as" copyfrom-rev="21541" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ArrowDirection.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/views/TestCalloutButton.mxml" copyfrom-rev="21541" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/views/TestCalloutButton.mxml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as" copyfrom-rev="21541" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/.actionScriptProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/.flexLibProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/utils/PopUpUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/.actionScriptProperties</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as" copyfrom-rev="21541" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/airMobileBasicTests-config.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutButtonSkin.as" copyfrom-rev="21541" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutButtonSkin.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/scripts/CalloutButtonTestScript.mxml" copyfrom-rev="21541" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/scripts/CalloutButtonTestScript.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/.actionScriptProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as" copyfrom-rev="21541" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/.flexLibProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/airMobileBasicTests-app.xml</path>

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

--- frameworks/projects/framework/src/mx/utils/PopUpUtil.as
+++ frameworks/projects/framework/src/mx/utils/PopUpUtil.as
@@ -12,12 +12,20 @@
 package mx.utils
 {
 import flash.display.DisplayObject;
+import flash.display.DisplayObjectContainer;
+import flash.display.Stage;
+import flash.display.StageDisplayState;
+import flash.geom.ColorTransform;
+import flash.geom.Matrix;
 import flash.geom.Point;
 import flash.geom.Rectangle;

 import mx.core.IFlexDisplayObject;
-import mx.core.UIComponent;
+import mx.core.ILayoutElement;
+import mx.core.mx_internal;
 import mx.managers.ISystemManager;
+
+use namespace mx_internal;

 [ExcludeClass]

@@ -160,6 +168,58 @@

         return new Point(x, y);
     }
+
+    /**
+     *  Apply transforms from a popUp owner to the popUp.
+     *
+     *  @param owner Pop-up owner
+     *  @param systemManager The systemManager that defines the SandboxRoot. Typically component.systemManager.
+     *  @param popUp The pop-up to apply the owner's transform to.
+     *  @param popUpPoint Absolute position of the pop-up in the global coordinate space.
+     *  @param colorTransform The owner's color transform
+     */
+    public static function applyPopUpTransform(owner:DisplayObjectContainer,
+                                               colorTransform:ColorTransform,
+                                               systemManager:ISystemManager,
+                                               popUp:IFlexDisplayObject,
+                                               popUpPoint:Point):void
+    {
+        var m:Matrix = MatrixUtil.getConcatenatedMatrix(owner, systemManager.getSandboxRoot());
+
+        // the transformation doesn't take the fullScreenRect in to account
+        // if we are in fulLScreen mode. This code will throw a RTE if run from inside of a sandbox.
+        try
+        {
+            var smStage:Stage = systemManager.stage;
+            if (smStage && smStage.displayState != StageDisplayState.NORMAL && smStage.fullScreenSourceRect)
+            {
+                popUpPoint.x += smStage.fullScreenSourceRect.x;
+                popUpPoint.y += smStage.fullScreenSourceRect.y;
+            }
+        }
+        catch (e:Error)
+        {
+            // Ignore the RTE
+        }
+
+        // Position the popUp.
+        m.tx = Math.round(popUpPoint.x);
+        m.ty = Math.round(popUpPoint.y);
+        if (popUp is ILayoutElement)
+            ILayoutElement(popUp).setLayoutMatrix(m,false);
+        else if (popUp is DisplayObject)
+            DisplayObject(popUp).transform.matrix = m;
+
+        // apply the color transformation, but restore alpha value of popup
+        var oldAlpha:Number = DisplayObject(popUp).alpha;
+        var tmpColorTransform:ColorTransform = colorTransform;
+        if (tmpColorTransform != null)
+        {
+            tmpColorTransform.alphaMultiplier = oldAlpha;
+            tmpColorTransform.alphaOffset = 0;
+        }
+        DisplayObject(popUp).transform.colorTransform = tmpColorTransform;
+    }
 }
 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/mx/src/mx/core/ScrollControlBase.as
+++ frameworks/projects/mx/src/mx/core/ScrollControlBase.as
@@ -57,6 +57,16 @@
  *  @productversion Flex 4
  */
 [Style(name="baseColor", type="uint", format="Color", inherit="yes", theme="spark")]
+
+/**
+ *  The alpha of the content background for this component.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="contentBackgroundAlpha", type="Number", inherit="yes", theme="spark")]

 /**
  *  Color of the content area of the component.


Transferred from the Adobe Open Source Subversion Repository

Revision: 16709
Author:   clucier@adobe.com
Date:     2010-06-29T00:18:43.782826Z

Log Message:
-----------
Added a READY event to BitmapImage that is fired for both Loader and non-Loader based source types. This provides a consisent event that implies 'ready' regardless of source type.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Image.as</path>

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

--- frameworks/projects/spark/src/spark/components/Image.as
+++ frameworks/projects/spark/src/spark/components/Image.as
@@ -19,6 +19,7 @@
 import flash.events.SecurityErrorEvent;

 import mx.core.mx_internal;
+import mx.events.FlexEvent;
 import mx.graphics.BitmapScaleMode;
 import mx.utils.BitFlagUtil;

@@ -61,7 +62,7 @@
  *  Ready state of the Image.
  *
  *  @langversion 3.0
- *  @playerversion Flash 10
+ *  @playerversion Flash 10.1
  *  @playerversion AIR 1.5
  *  @productversion Flex 4.5
  */
@@ -93,7 +94,14 @@
 //--------------------------------------

 /**
- *  Dispatched when content loading is complete.
+ *  Dispatched when content loading is complete. This
+ *  event is only dispatched for url and ByteArray based
+ *  sources (those sources requiring a Loader).
+ *
+ *
Note that for content loaded via Loader, both
+ *  ready and complete events
+ *  are dispatched.
  For other source types such as
+ *  embeds, only ready is dispatched.
  *
  *  @eventType flash.events.Event.COMPLETE
  *
@@ -147,6 +155,25 @@
  *  @productversion Flex 4.5
  */
 [Event(name="progress", type="flash.events.ProgressEvent")]
+
+/**
+ *  Dispatched when content loading is complete.  Unlike the
+ *  complete event, this event is dispatched for
+ *  all source types.
+ *
+ *
Note that for content loaded via Loader, both
+ *  ready and complete events
+ *  are dispatched.
  For other source types such as
+ *  embeds, only ready is dispatched.
+ *
+ *  @eventType mx.events.FlexEvent.READY
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Event(name="ready", type="mx.events.FlexEvent")]

 /**
  *  Dispatched when a security error occurs.
@@ -291,6 +318,11 @@
     /**
      *  @private
      */
+    protected var _ready:Boolean = false;
+
+    /**
+     *  @private
+     */
     protected var _invalid:Boolean = false;

     /**
@@ -652,6 +684,7 @@

         _loading = false;
         _invalid = false;
+        _ready = false;

         if (imageDisplay)
         {
@@ -764,7 +797,8 @@
         {
             imageDisplay.addEventListener(IOErrorEvent.IO_ERROR, imageDisplay_ioErrorHandler, false, 0, true);
             imageDisplay.addEventListener(ProgressEvent.PROGRESS, imageDisplay_progressHandler, false, 0, true);
-            imageDisplay.addEventListener(Event.COMPLETE, imageDisplay_completeHandler, false, 0, true);
+            imageDisplay.addEventListener(FlexEvent.READY, imageDisplay_readyHandler, false, 0, true);
+            imageDisplay.addEventListener(Event.COMPLETE, dispatchEvent, false, 0, true);
             imageDisplay.addEventListener(SecurityErrorEvent.SECURITY_ERROR, dispatchEvent, false, 0, true);
             imageDisplay.addEventListener(HTTPStatusEvent.HTTP_STATUS, dispatchEvent, false, 0, true);

@@ -874,7 +908,8 @@
         {
             imageDisplay.removeEventListener(IOErrorEvent.IO_ERROR, imageDisplay_ioErrorHandler);
             imageDisplay.removeEventListener(ProgressEvent.PROGRESS, imageDisplay_progressHandler);
-            imageDisplay.removeEventListener(Event.COMPLETE, imageDisplay_completeHandler);
+            imageDisplay.removeEventListener(FlexEvent.READY, imageDisplay_readyHandler);
+            imageDisplay.removeEventListener(Event.COMPLETE, dispatchEvent);
             imageDisplay.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, dispatchEvent);
             imageDisplay.removeEventListener(HTTPStatusEvent.HTTP_STATUS, dispatchEvent);

@@ -937,7 +972,7 @@
             return "disabled";
         else if (_loading && enableLoadingState)
             return "loading";
-        else if (imageDisplay && imageDisplay.source)
+        else if (imageDisplay && imageDisplay.source && _ready)
             return "ready";
         else
             return "uninitialized";
@@ -1032,10 +1067,11 @@
     /**
      *  @private
      */
-    private function imageDisplay_completeHandler(event:Event):void
+    private function imageDisplay_readyHandler(event:Event):void
     {
         invalidateSkinState();
         _loading = false;
+        _ready = true;
         dispatchEvent(event);
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17305
Author:   gruehle@adobe.com
Date:     2010-08-12T21:18:50.910120Z

Log Message:
-----------
This revision includes the following changes:
* Text skin parts for Spark components changed from TextBase and RichEditableText to IDisplayText and IEditableText
* TextBase implements IDisplayText
* RichEditableText implements IEditableText
* New mobile skins for TextInput and TextArea (TextArea appearance is placeholder for now)
* Add a TOUCH_SCROLL_STARTING handler to SkinnableTextBase. This handler prevents the touch scroll from happening if the text is selectable or editable.
* Change global contentBackgroundColor to #3F3F3F and mobile application backgroundColor to #484848

Now that text skin parts are interfaces they need to be cast to concrete types in a bunch of places. There are two general approaches taken here:
* For required functionality, cast to a known type like InteractiveObject
* For optional functionality, cast to the desired type using “as” and wrap the code with a null check.

QE notes: Mobile TextInput is ready for testing. TextArea has some issues with resizing, so testing should wait for now.
Doc notes: -
Bugs: -
Reviewer: Jason Szeto, Corey L.
Tests run: full mustella pass (thank you cyclone server!), checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInput_border.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DefaultColumnHeaderRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableTextBaseAutomationImpl.as</path>

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

--- frameworks/projects/spark/src/spark/components/Panel.as
+++ frameworks/projects/spark/src/spark/components/Panel.as
@@ -12,10 +12,11 @@
 package spark.components
 {

+import mx.core.IVisualElement;
 import mx.core.mx_internal;
 import mx.utils.BitFlagUtil;

-import spark.components.supportClasses.TextBase;
+import spark.core.IDisplayText;
 import spark.layouts.supportClasses.LayoutBase;

 use namespace mx_internal;
@@ -269,7 +270,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public var titleDisplay:TextBase;
+    public var titleDisplay:IDisplayText;

     //--------------------------------------------------------------------------
     //
@@ -286,7 +287,7 @@
      */
     override public function get baselinePosition():Number
     {
-        return getBaselinePositionForPart(titleDisplay);
+        return getBaselinePositionForPart(titleDisplay as IVisualElement);
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 19309
Author:   cframpto@adobe.com
Date:     2010-12-13T15:39:28.043535Z

Log Message:
-----------
Per bug, reordered params for GridEvent so super classes' parameters come first.

QE notes: made same change to DataGrid/EVents/DataGrid_Events_basic01.mxml
Doc notes:
Bugs: SDK-28839
Reviewer: Kevin
Tests run: cyclone and local
Is noteworthy for integration: yes - order of params for GridEvent changed

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/GridEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/GridColumnHeaderGroup.as</path>

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

--- frameworks/projects/spark/src/spark/events/GridEvent.as
+++ frameworks/projects/spark/src/spark/events/GridEvent.as
@@ -684,19 +684,20 @@
         cancelable:Boolean = false,
         localX:Number = NaN,
         localY:Number = NaN,
-        rowIndex:int = -1,
-        columnIndex:int = -1,
-        column:GridColumn = null,
-        item:Object = null,
-        itemRenderer:IGridItemRenderer = null,
         relatedObject:InteractiveObject = null,
         ctrlKey:Boolean = false,
         altKey:Boolean = false,
         shiftKey:Boolean = false,
         buttonDown:Boolean = false,
-        delta:int = 0)
+        delta:int = 0,
+        rowIndex:int = -1,
+        columnIndex:int = -1,
+        column:GridColumn = null,
+        item:Object = null,
+        itemRenderer:IGridItemRenderer = null)
     {
-        super(type, bubbles, cancelable, localX, localY, relatedObject, ctrlKey, altKey, shiftKey, buttonDown, delta);
+        super(type, bubbles, cancelable, localX, localY,
+              relatedObject, ctrlKey, altKey, shiftKey, buttonDown, delta);

         this.rowIndex = rowIndex;
         this.columnIndex = columnIndex;
@@ -825,9 +826,11 @@
      */
     override public function clone():Event
     {
-        var cloneEvent:GridEvent = new GridEvent(type, bubbles, cancelable,
-            localX, localY, rowIndex, columnIndex, column, item, itemRenderer,
-            relatedObject, ctrlKey, altKey, shiftKey, buttonDown, delta);
+        var cloneEvent:GridEvent = new GridEvent(
+            type, bubbles, cancelable,
+            localX, localY,
+            relatedObject, ctrlKey, altKey, shiftKey, buttonDown, delta,
+            rowIndex, columnIndex, column, item, itemRenderer);

         cloneEvent.relatedObject = this.relatedObject;


Add an RTMFPSocket.close method.

Add an RTMFPSocket.close method.

--- com/rtmfpcat/rtmfp/RTMFPSocket.as
+++ com/rtmfpcat/rtmfp/RTMFPSocket.as
@@ -67,6 +67,11 @@
 			    connectionTimeout = setInterval(fail, DEFAULT_CONNECT_TIMEOUT);
         }

+        public function close():void
+        {
+          connection.close();
+        }
+
         public function get id():String
         {
           if (connection != null && connection.connected) {


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

--- frameworks/projects/automation/src/mx/automation/codec/ColorPropertyCodec.as
+++ frameworks/projects/automation/src/mx/automation/codec/ColorPropertyCodec.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.
 //
 ////////////////////////////////////////////////////////////////////////////////


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 18150
Author:   dloverin@adobe.com
Date:     2010-10-14T13:11:14.955602Z

Log Message:
-----------
Fix scrolling issues with item editors and add editorIndicator skin part.

The editorIndicator is a skin part that provides a background for an item renderer when it is being edited. It will cover the selection indicator for that cell which will allow the focus rectangle to be easily seen.

QE notes: Close, but still not ready for testing.
Doc notes: None.
Bugs:
Reviewer: Hans
Tests run: cyclone server
Is noteworthy for integration: No.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/DataGridEditor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/TextGridItemEditor.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridItemEditor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DataGridSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/ComboBoxGridItemEditor.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/DataGridEditor.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/DataGridEditor.as
@@ -445,7 +445,7 @@
             removeEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, sandBoxRoot_mouseDownHandler);
         grid.systemManager.removeEventListener(Event.RESIZE, editorAncestorResizeHandler);
         dataGrid.removeEventListener(Event.RESIZE, editorAncestorResizeHandler);
-
+
         if (itemEditorInstance || editedItemRenderer)
         {
             if (itemEditorInstance)
@@ -455,7 +455,7 @@
                                   itemEditorInstance : editedItemRenderer) as DisplayObject;

             o.removeEventListener(KeyboardEvent.KEY_DOWN, itemEditorInstance_keyDownHandler);
-            o.removeEventListener(FocusEvent.FOCUS_OUT, itemEditorInstance_FocusOutHandler);
+            o.removeEventListener(FocusEvent.FOCUS_OUT, itemEditorInstance_focusOutHandler);
             o.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);

             if (grid.focusManager)
@@ -467,11 +467,15 @@
             // defer focus can cause focusOutHandler to destroy the editor
             // and make itemEditorInstance null
             if (itemEditorInstance)
-                dataGrid.itemEditorLayer.removeElement(itemEditorInstance);
-
+                grid.removeElement(itemEditorInstance);
+            else
+                grid.invalidateDisplayList();   // force the editorIndicator to be redrawn
+
             dataGrid.hasFocusableChildren = saveDataGridHasFocusableChildren;
-            if (dataGrid.grid)
-                dataGrid.grid.hasFocusableChildren = saveDataGridHasFocusableChildren;
+            //dataGrid.grid.hasFocusableChildren = saveGridHasFocusableChildren;
+
+            if (dataGrid.scroller)
+                dataGrid.scroller.hasFocusableChildren = saveScrollerHasFocusableChildren;

             itemEditorInstance = null;
             _editedItemRenderer = null;
@@ -516,9 +520,23 @@

         // convert the row origin from the grid to the editor layer.
         var globalCellOrigin:Point = grid.localToGlobal(new Point(cellBounds.x, cellBounds.y));
-        var localCellOrigin:Point = DisplayObject(dataGrid.itemEditorLayer).globalToLocal(globalCellOrigin);
+        var localCellOrigin:Point = cellBounds.topLeft; //DisplayObject(dataGrid.itemEditorLayer).globalToLocal(globalCellOrigin);

         _editedItemRenderer = item;
+
+        // Need to turn on focusable children flag so focus manager will
+        // allow focus into the data grid's children.
+        saveDataGridHasFocusableChildren = dataGrid.hasFocusableChildren;
+        dataGrid.hasFocusableChildren = true;
+
+//        saveGridHasFocusableChildren = grid.hasFocusableChildren;
+//        grid.hasFocusableChildren = true;
+
+        if (dataGrid.scroller)
+        {
+            saveScrollerHasFocusableChildren = dataGrid.scroller.hasFocusableChildren;
+            dataGrid.scroller.hasFocusableChildren = true;
+        }

         if (!col.rendererIsEditable)
         {
@@ -572,15 +590,7 @@
                 itemEditorInstance.hasFocusableChildren = true;

                 UIComponent(itemEditorInstance).styleName = item;
-                if (dataGrid.itemEditorLayer)
-                {
-                    dataGrid.itemEditorLayer.addElement(itemEditorInstance);
-
-                    // Need to turn on focusable children flag so focus manager will
-                    // allow focus into the data grid's children.
-                    saveDataGridHasFocusableChildren = dataGrid.hasFocusableChildren;
-                    dataGrid.hasFocusableChildren = true;
-                }
+                grid.addElement(itemEditorInstance);
             }

             // position the editor over the cell with the same size as the cell.
@@ -593,10 +603,9 @@

             // Allow the user code to make any final adjustments and make the editor visible.
             itemEditorInstance.prepare();
-            DisplayObject(dataGrid.itemEditorLayer).visible = true;
             itemEditorInstance.visible = true;

-            itemEditorInstance.addEventListener(FocusEvent.FOCUS_OUT, itemEditorInstance_FocusOutHandler);
+            itemEditorInstance.addEventListener(FocusEvent.FOCUS_OUT, itemEditorInstance_focusOutHandler);

             // listen for keyStrokes on the itemEditorInstance (which lets the grid supervise for ESC/ENTER)
             itemEditorInstance.addEventListener(KeyboardEvent.KEY_DOWN, itemEditorInstance_keyDownHandler);
@@ -611,18 +620,6 @@
             if (grid.focusManager && grid.focusManager is FocusManager)
             {
                 var fm:FocusManager = grid.focusManager as FocusManager;
-
-                // Need to turn on focusable children flag so focus manager will
-                // allow focus into the data grid's children.
-                saveDataGridHasFocusableChildren = dataGrid.hasFocusableChildren;
-                dataGrid.hasFocusableChildren = true;
-
-                if (dataGrid.scroller)
-                {
-                    saveScrollerHasFocusableChildren = dataGrid.scroller.hasFocusableChildren;
-                    dataGrid.scroller.hasFocusableChildren = true;
-                }
-
                 var o:DisplayObject = item as DisplayObject;
                 var found:Boolean = false;
                 do
@@ -659,7 +656,7 @@
                 if (found)
                     fm.setFocus(IFocusManagerComponent(o));

-                editedItemRenderer.addEventListener(FocusEvent.FOCUS_OUT, itemEditorInstance_FocusOutHandler);
+                editedItemRenderer.addEventListener(FocusEvent.FOCUS_OUT, itemEditorInstance_focusOutHandler);

                 // listen for keyStrokes on the itemEditorInstance (which lets the grid supervise for ESC/ENTER)
                 editedItemRenderer.addEventListener(KeyboardEvent.KEY_DOWN, itemEditorInstance_keyDownHandler);
@@ -675,6 +672,9 @@
         if (grid.focusManager)
             grid.focusManager.defaultButtonEnabled = false;

+        // Invalidate the grid so the editor indicator will be shown.
+        grid.invalidateDisplayList();
+
         if (grid.root)
             grid.systemManager.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);

@@ -685,7 +685,7 @@
             addEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, sandBoxRoot_mouseDownHandler, false, 0, true);
         // we disappear if stage or our grid is resized
         grid.systemManager.addEventListener(Event.RESIZE, editorAncestorResizeHandler);
-        grid.addEventListener(Event.RESIZE, editorAncestorResizeHandler);
+        grid.addEventListener(Event.RESIZE, editorAncestorResizeHandler);
     }

     /**
@@ -775,7 +775,7 @@
         else if (editedItemRenderer)
         {
             // cancel focus in an item editor by setting focus back to the grid.
-            dataGrid.setFocus();
+            destroyItemEditor();
         }

     }
@@ -899,29 +899,8 @@
             commitEditedItemPosition(null);
             return;
         }
-        //        if (!isItemEditable(item.data))
-        //        {
-        //            // assume that editing was cancelled
-        //            commitEditedItemPosition(null);
-        //            return;
-        //        }
-
-        //        if (needChangeEvent)
-        //        {
-        //            var evt:ListEvent = new ListEvent(ListEvent.CHANGE);
-        //            evt.columnIndex = coord.columnIndex;
-        //            evt.rowIndex = coord.rowIndex;;
-        //            evt.itemRenderer = item;
-        //            dataGrid.dispatchEvent(evt);
-        //        }
-
+
         createItemEditor(rowIndex, columnIndex);
-
-        // if rendererIsEditor, don't apply the data as the data may have already changed in some way.
-        // This can happen if clicking on a checkbox rendererIsEditor as the checkbox will try to change
-        // its value as we try to stuff in an old value here.
-        //if (!columns.getItemAt(event.columnIndex).rendererIsEditor)
-        //            itemEditorInstance = editedItemRenderer;

         if (itemEditorInstance is IInvalidating)
             IInvalidating(itemEditorInstance).validateNow();
@@ -1156,7 +1135,7 @@
      */
     private function grid_gridMouseDownHandler(event:GridEvent):void
     {
-        if (!dataGrid.editable)
+        if (!dataGrid.editable || editorOwnsClick(event))
             return;

         lastEvent = event;
@@ -1259,14 +1238,15 @@

    /**
      *  @private
-     *  Closes the itemEditorInstance.
-     */
-    private function itemEditorInstance_FocusOutHandler(event:FocusEvent):void
-    {
-        //trace("itemEditorInstance_FocusOutHandler " + event.relatedObject);
+     *  Closes the itemEditorInstance if the foucs is outside of the dataGrid.
+     */
+    private function itemEditorInstance_focusOutHandler(event:FocusEvent):void
+    {
+        //trace("itemEditorInstance_focusOutHandler " + event.relatedObject);
         if (event.relatedObject &&
            ((itemEditorInstance && DisplayObjectContainer(itemEditorInstance).contains(event.relatedObject)) ||
-           (editedItemRenderer && DisplayObjectContainer(editedItemRenderer).contains(event.relatedObject))) )
+           (editedItemRenderer && DisplayObjectContainer(editedItemRenderer).contains(event.relatedObject))) ||
+            dataGrid.contains(event.relatedObject))
             return;

         // ignore textfields losing focus on mousedowns
@@ -1334,12 +1314,12 @@
         }
         else if (event.charCode == Keyboard.ENTER && event.keyCode != 229)
         {
-            // multiline editors can take the enter key.
             if (!_editedItemPosition)
                 return;

-            //            if (columns.getItemAt(_editedItemPosition.columnIndex).editorUsesEnterKey)
-            //                return;
+            // multiline editors can take the enter key.
+            if (itemEditorInstance && itemEditorInstance.editorUsesEnterKey)
+                return;

             // Enter closes the editor.
             // The 229 keyCode is for IME compatability. When entering an IME expression,
@@ -1360,11 +1340,15 @@
                     else
                         lastRow += 1;

-                    var nextCell:Point = getNextEditableCell(lastRow,
-                                                             lastColumn - 1,
-                                                             false);
-                    if (nextCell)
-                        startItemEditorSession(nextCell.x, nextCell.y);
+                    // If we have a valid next row, then start another editor.
+                    if (lastRow >= 0 && lastRow < dataGrid.dataProvider.length)
+                    {
+                        var nextCell:Point = getNextEditableCell(lastRow,
+                                                                 lastColumn - 1,
+                                                                 false);
+                        if (nextCell)
+                            startItemEditorSession(nextCell.x, nextCell.y);
+                    }
                 }
             }
         }
@@ -1382,25 +1366,43 @@
      *  @private
      */
     private function sandBoxRoot_mouseDownHandler(event:Event):void
+    {
+        if (editorOwnsClick(event))
+        {
+            return;
+        }
+
+        // If clicked on the scroll bars then keep the editor up
+        if (dataGrid.scroller &&
+            dataGrid.scroller.contains(DisplayObject(event.target)) &&
+            !grid.contains(DisplayObject(event.target)))
+        {
+            return;
+        }
+
+        dataGrid.endItemEditorSession();
+        // set focus back to the grid so grid logic will deal if focus doesn't
+        // end up somewhere else
+        deferFocus();
+    }
+
+    private function editorOwnsClick(event:Event):Boolean
     {
         // check if the mouse was clicked outside of the editor. If it was
         // then end the editing session.
         if (event is MouseEvent &&
             (itemEditorInstance &&
-            (itemEditorInstance == event.target ||
-            IUIComponent(itemEditorInstance).owns(DisplayObject(event.target)))) ||
-            (editedItemRenderer == event.target ||
-                IUIComponent(editedItemRenderer).owns(DisplayObject(event.target))))
-        {
-            return;
-        }
-
-        dataGrid.endItemEditorSession();
-        // set focus back to the grid so grid logic will deal if focus doesn't
-        // end up somewhere else
-        deferFocus();
-    }
-
+                (itemEditorInstance == event.target ||
+                IUIComponent(itemEditorInstance).owns(DisplayObject(event.target)))) ||
+            (editedItemRenderer &&
+                (editedItemRenderer == event.target ||
+                IUIComponent(editedItemRenderer).owns(DisplayObject(event.target)))))
+        {
+            return true;
+        }
+
+        return false;
+    }

     /**
      *  @private


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

--- frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as
+++ frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as
@@ -20,6 +20,11 @@
  *
  *  For security reasons, some fields of a MouseEvent are not sent
  *  in a SandboxMouseEvent.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class SandboxMouseEvent extends Event
 {
@@ -33,31 +38,61 @@

 	/**
 	 *  Mouse was clicked somewhere outside your sandbox.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
     public static const CLICK_SOMEWHERE:String = "clickSomewhere";

 	/**
 	 *  Mouse was double-clicked somewhere outside your sandbox.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
     public static const DOUBLE_CLICK_SOMEWHERE:String = "coubleClickSomewhere";

 	/**
 	 *  Mouse button was pressed down somewhere outside your sandbox.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
     public static const MOUSE_DOWN_SOMEWHERE:String = "mouseDownSomewhere";

 	/**
 	 *  Mouse was moved somewhere outside your sandbox.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
     public static const MOUSE_MOVE_SOMEWHERE:String = "mouseMoveSomewhere";

 	/**
 	 *  Mouse button was released somewhere outside your sandbox.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
     public static const MOUSE_UP_SOMEWHERE:String = "mouseUpSomewhere";

 	/**
 	 *  Mouse wheel was spun somewhere outside your sandbox.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
     public static const MOUSE_WHEEL_SOMEWHERE:String = "mouseWheelSomewhere";

@@ -74,6 +109,11 @@
      *  @param event A SWFBridgeRequest that might have been created in a different ApplicationDomain.
      *
      *  @return A SandboxMouseEvent created in the caller's ApplicationDomain.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function marshal(event:Event):SandboxMouseEvent
 	{
@@ -108,6 +148,11 @@
 	 *
 	 *  @param buttonDown Indicates whether the primary mouse button is pressed (true) or not (false).
 	 *
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function SandboxMouseEvent(type:String, bubbles:Boolean = false,
                                       cancelable:Boolean = false,
@@ -138,6 +183,11 @@
 	 *  Indicates whether the Alt key was pressed.
 	 *
 	 *  @see flash.events.MouseEvent#altkey
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var altKey:Boolean;

@@ -149,6 +199,11 @@
 	 *  Indicates whether the primary mouse button is pressed (true) or not (false).
 	 *
 	 *  @see flash.events.MouseEvent#buttonDown
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var buttonDown:Boolean;

@@ -160,6 +215,11 @@
 	 *  Indicates whether the Ctrl key was pressed.
 	 *
 	 *  @see flash.events.MouseEvent#ctrlKey
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var ctrlKey:Boolean;

@@ -171,6 +231,11 @@
 	 *  Indicates whether the Shift key was pressed.
 	 *
 	 *  @see flash.events.MouseEvent#shiftKey
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var shiftKey:Boolean;


Transferred from the Adobe Open Source Subversion Repository

Revision: 7799
Author:   cframpto@adobe.com
Date:     2009-06-12T20:48:31.644129Z

Log Message:
-----------
- Reproduced and fixed the ENTER key issue that Gordon found a few weeks ago that neither Peter or I could reproduce at the time.  I believe there is a bug in TLF that it doesn't always observe the manageEnter configuration setting.  My fix will work whether or not TLF is fixed since the ENTER key never gets to TLF.
- Moved the keyDownHandler and the focusOutHandler from RET to RETCM so it would be symmetric with the focusInHandler already there.
- Can't select in the numeric stepper if not editable or selectable.  The text APIs ignore the visual selectable and editable properties so the caller must check these first.

QA Notes: test enter in multiline TextArea single line TextInput/NumericStepper components
Doc Notes:SDK-21783
Reviewers: Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/RichEditableTextContainerManager.as</path>

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

--- frameworks/projects/spark/src/spark/components/NumericStepper.as
+++ frameworks/projects/spark/src/spark/components/NumericStepper.as
@@ -471,7 +471,14 @@
         if (stage)
         {
             stage.focus = textInput.textView;
-            textInput.textView.setSelection();
+
+            // Since the API ignores the visual editable and selectable
+            // properties make sure the selection should be set first.
+            if (textInput.textView &&
+               (textInput.textView.editable || textInput.textView.selectable))
+            {
+                textInput.textView.setSelection();
+            }
         }
     }


Move FPS calculation from update to render because update can be called multiple times per frame.

--- net/flashpunk/Engine.as
+++ net/flashpunk/Engine.as
@@ -68,18 +68,30 @@
 		 */
 		public function update():void
 		{
+			if (FP._world.active)
+			{
+				if (FP._world._tween) FP._world.updateTweens();
+				FP._world.update();
+			}
+			FP._world.updateLists();
+			if (FP._goto) checkWorld();
+		}
+
+		/**
+		 * Renders the game, rendering the World and Entities.
+		 */
+		public function render():void
+		{
 			// timing stuff
 			var t:Number = getTimer();
 			if (!_frameLast) _frameLast = t;

-			// update loop
-			if (FP._world.active)
-			{
-				if (FP._world._tween) FP._world.updateTweens();
-				FP._world.update();
-			}
-			FP._world.updateLists();
-			if (FP._goto) checkWorld();
+			// render loop
+			FP.screen.swap();
+			Draw.resetTarget();
+			FP.screen.refresh();
+			if (FP._world.visible) FP._world.render();
+			FP.screen.redraw();

 			// more timing stuff
 			t = getTimer();
@@ -87,18 +99,6 @@
 			if (_frameList.length > 10) _frameListSum -= _frameList.shift();
 			FP.frameRate = 1000 / (_frameListSum / _frameList.length);
 			_frameLast = t;
-		}
-
-		/**
-		 * Renders the game, rendering the World and Entities.
-		 */
-		public function render():void
-		{
-			FP.screen.swap();
-			Draw.resetTarget();
-			FP.screen.refresh();
-			if (FP._world.visible) FP._world.render();
-			FP.screen.redraw();
 		}

 		/**


added error checking/reporting

added error checking/reporting

--- WeaveCore/src/weave/core/StageUtils.as
+++ WeaveCore/src/weave/core/StageUtils.as
@@ -295,6 +295,11 @@
 		private function handleCallLater():void
 		{
 			var maxComputationTime:uint = _deactivatedFrameRate ? _deactivatedMaxComputationTimePerFrame : maxComputationTimePerFrame;
+			if (!_event)
+			{
+				reportError("StageUtils.handleCallLater(): _event is null. This should never happen.");
+				return;
+			}
 			if (_event.type == Event.ENTER_FRAME)
 			{
 				resetDebugTime();
@@ -321,7 +326,8 @@
 			// The variables countdown and lastPriority are used to avoid running newly-added tasks immediately.
 			// This avoids wasting time on async tasks that do nothing and return early, adding themselves back to the queue.

-			var args:Array, args2:Array;
+			var args:Array;
+			var args2:Array; // this is set to args[2]
 			var stackTrace:String;
 			var now:int;
 			var allStop:int = _currentFrameStartTime + maxComputationTime;
@@ -450,6 +456,12 @@
 		 */
 		public function callLater(relevantContext:Object, method:Function, parameters:Array = null, priority:uint = 2):void
 		{
+			if (method == null)
+			{
+				reportError('StageUtils.callLater(): received null "method" parameter');
+				return;
+			}
+
 //			WeaveAPI.SessionManager.assignBusyTask(arguments, relevantContext as ILinkableObject);

 			if (priority >= _priorityCallLaterQueues.length)
@@ -706,6 +718,14 @@
 				}

 				// set event variables
+				if (_event != null)
+					reportError(StandardLib.substitute(
+						'StageUtils: Upon handling an event, the _event variable was non-null.'
+						+ ' (event.type == "{0}", _event.type == "{1}").'
+						+ ' This should not happen unless the previous event callback threw an error.',
+						event.type,
+						_event.type
+					));
 				_event = event;
 				_eventTime = getTimer();


Transferred from the Adobe Open Source Subversion Repository

Revision: 3563
Author:   jimurphy@adobe.com
Date:     2008-10-10T13:41:29.904903Z

Log Message:
-----------
Merged 3.0.x revisions 3421,3427,3442,3455,3457,3474,3477,3493,3500,3503,3513,3520,3531,3544 -> trunk
Integrate:
player 10.0.r12.036
lcds: 4.0.0.3542
coretech: 1.360354

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/DLocation.java</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/LoaderUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/rideau.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/RSLItem.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/libs/tcal_conversion.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/tcal_edit.swc</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/framework/src/mx/core/CrossDomainRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/player/10/playerglobal.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase.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/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/tcal_core.swc</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/flashplayer.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/install_flash_player_10_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/libflashplayer.so.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/FlashPlayer.exe</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/in/player/10/mac/Flash Player.app.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/afe.jar</path>

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

--- frameworks/projects/framework/src/mx/controls/SWFLoader.as
+++ frameworks/projects/framework/src/mx/controls/SWFLoader.as
@@ -1310,11 +1310,10 @@
                          _swfBridge.dispatchEvent(request);
                     }

-                    // Use the new unloadAndStop method in FP10 if this object's
-                    // unloadAndStop method was called. Otherwise call unload
-                    // as usual.
-                    if (useUnloadAndStop)
-                        Loader(contentHolder).unloadAndStop(unloadAndStopGC);
+                    // try the new "unloadAndStop" in FP10. If not available
+                    // then call unload.
+                    if (useUnloadAndStop && "unloadAndStop" in contentHolder)
+                        contentHolder["unloadAndStop"](unloadAndStopGC);
                     else
                         Loader(contentHolder).unload();

@@ -1403,8 +1402,8 @@
      *
Movie clips are stopped.

      *

      *
-     *  @param invokeGarbageCollector
-     *  Provides a hint to the garbage collector to run
+     *  @param invokeGarbageCollector (default = true)
+     *   — Provides a hint to the garbage collector to run
      *  on the child SWF objects (true) or not (false).
      *  If you are unloading many objects asynchronously, setting the
      *  gc parameter to false might improve application


Transferred from the Adobe Open Source Subversion Repository

Revision: 3692
Author:   mhorn@adobe.com
Date:     2008-10-16T19:36:52.981967Z

Log Message:
-----------
fix asdoc validation errors

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/AdvancedCharacterFormatTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -267,6 +267,7 @@
      *           element can be implied. The
 element must have no children (it must be an empty tag).
      *

      *

+     *

      */
     public function get content():Object
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7414
Author:   cframpto@adobe.com
Date:     2009-05-29T13:46:40.017801Z

Log Message:
-----------
- Started work on scrolling issues.  Blocked on TLF bugs for now.
- Reworked logic in measureForAutoSize() for constrained width.  It has to be less than the actual maxWidth that the layout manager will check, not my chosen default of 160.
- Removed override of setText().  If focused, and text is set, set content with the text instead, since this will create a TextFlow and the underlying interaction manager which is needed to type without a mouse click or a mouse hover over the field first. Also if the text or content is changed while it has focus, set a selection, since the previous selection was wiped out.  (lines 1395 and 1567)
- TextArea content is no longer bindable because TextFlows can't be shared.  To clone content use TextFlow.deepCopy().
- Switched to constants for changing and change events.
- No insertion point if focused and the text is selectable but not editable.
- Remove trace message in inlineGraphicChangeHandler

QA Notes: TextArea content is no longer bindable
Doc Notes:
Bugs: SDK-21424, SDK-17797, SDK-21354, partial work on several scrolling bugs
Reviewers: Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.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/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/RichEditableTextContainerManager.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextArea.as
+++ frameworks/projects/spark/src/spark/components/TextArea.as
@@ -157,10 +157,6 @@
      */
     private var useTextFlowForContent:Boolean = false;

-    [Bindable("change")]
-    [Bindable("contentChanged")]
-    [Bindable("textChanged")]
-
     /**
      *  @private
      *  This metadata tells the MXML compiler to disable some of its default
@@ -180,6 +176,9 @@

     /**
      *  Documentation is not currently available.
+     *
+     *  A TextFlow object is not shareable.  To clone a TextFlow use
+     *  TextFlow.deepCopy().
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -207,9 +206,6 @@
         setContent(value);

         useTextFlowForContent = false;
-
-        // Trigger bindings to contentChanged.
-        dispatchEvent(new Event("contentChanged"));
     }

     //----------------------------------
@@ -386,7 +382,17 @@
         // The scroller, between textView and this in the chain, should not
         // getFocus.
         if (instance == scroller)
+        {
             scroller.focusEnabled = false;
+
+            // TLF does scrolling in real numbers.  If the scroller doesn't
+            // round to ints then the sets of verticalScrollPosition and
+            // horizontalScrollPosition will be no-ops which is desirable.
+            if (scroller.horizontalScrollBar)
+                scroller.horizontalScrollBar.valueInterval = 0;
+            if (scroller.verticalScrollBar)
+                scroller.verticalScrollBar.valueInterval = 0;
+        }
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 16390
Author:   clucier@adobe.com
Date:     2010-06-02T00:31:33.544783Z

Log Message:
-----------
PARB changes and bug fixes for Image and BitmapImage.

QE notes:  None
Doc notes:  None
Bugs: SDK-26596, SDK-26594, SDK-26561, SDK-26562, SDK-26567, SDK-26568, SDK-26571, SDK-26572, SDK-26575, SDK-26583, SDK-26584
Reviewer:  Ryan
Tests run:  Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/LoaderInvalidationEvent.as" copyfrom-rev="16350" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/events/LoaderInvalidationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/IContentLoader.as" copyfrom-rev="16350" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/IContentLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/ContentCache.as" copyfrom-rev="16350" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/ContentCache.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ImageSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/ContentRequest.as" copyfrom-rev="16350" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/ContentRequest.as</path>

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

--- frameworks/projects/spark/src/spark/core/IContentLoader.as
+++ frameworks/projects/spark/src/spark/core/IContentLoader.as
@@ -9,11 +9,11 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-package spark.core.contentLoader
+package spark.core
 {

 import flash.events.IEventDispatcher;
-import spark.core.contentLoader.ContentRequest;
+import spark.core.ContentRequest;

 /**
  *  Provides custom image/content loader for BitmapImage instances.
@@ -29,13 +29,14 @@
      *  Initiates a content request for the resource identified
      *  by the key specified.
      *
-     *  @param source Unique key used to represent the requested content resource.
+     *  @param source Unique key used to represent the requested content resource.
+     *  This parameter is typically an URL or URLRequest.
      *
-     *  @param contentGrouping - (Optional) grouping identifier for the loaded resource.
+     *  @param contentLoaderGrouping - (Optional) grouping identifier for the loaded resource.
      *  ContentLoader instances supporting content groups generally allow for
      *  resources within the same named grouping to be addressed as a whole. For
      *  example the ContentCache's loader queue allows requests to be prioritized
-     *  by contentGrouping.
+     *  by contentLoaderGrouping.
      *
      *  @return A ContentRequest instance representing the requested resource.
      *
@@ -44,6 +45,6 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4.5
      */
-    function load(source:Object, contentGrouping:String=null):ContentRequest;
+    function load(source:Object, contentLoaderGrouping:String=null):ContentRequest;
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

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

 package spark.automation.delegates.components.supportClasses
 {


Solved some bugs in roles and users views

git-svn-id: 27326a786375daad9d33dc990c6f272e4c8f567c@1591 fda5f131-174c-0410-8613-e0905860106b

--- org.openwms/trunk/org.openwms.core/org.openwms.client.flex.lib/src/main/flex/org/openwms/web/flex/client/model/PreferencesModel.as
+++ org.openwms/trunk/org.openwms.core/org.openwms.client.flex.lib/src/main/flex/org/openwms/web/flex/client/model/PreferencesModel.as
@@ -129,6 +129,7 @@
             } else if (preference is UserPreference) {
                 userPrefs[(preference as UserPreference).createCKey()] = preference;
             }
+            dispatchEvent(new PropertyEvent(PropertyEvent.PREFERENCE_MODEL_CHANGED));
         }

         /**


- optimize function call into Memory class when not using Apparat

--- as3/Apparat.Library.AS3/src/apparat/memory/Memory.as
+++ as3/Apparat.Library.AS3/src/apparat/memory/Memory.as
@@ -21,8 +21,6 @@

 package apparat.memory
 {
-	import apparat.inline.__bytecode;
-
 	import flash.system.ApplicationDomain;
 	import flash.utils.ByteArray;

@@ -43,6 +41,7 @@
 	 */
 	public final class Memory
 	{
+		private static var domainMemory:ByteArray=null;
 		/**
 		 * Selects a ByteArray object as the current memory.
 		 *
@@ -50,7 +49,7 @@
 		 */
 		public static function select( byteArray: ByteArray ): void
 		{
-			ApplicationDomain.currentDomain.domainMemory = byteArray;
+			ApplicationDomain.currentDomain.domainMemory = domainMemory = byteArray;
 		}

 		/**
@@ -61,22 +60,8 @@
 		 */
 		public static function writeByte( value: int, address: int ): void
 		{
-			__bytecode(
-				0xd1,	//GetLocal1
-				0xd2,	//GetLocal2
-				0x3a,	//SetByte
-				0x47	//ReturnVoid
-			);
-
-			//
-			// DCE will remove this parts since a ReturnVoid has happened
-			// before.
-			//
-			// This applies for all the following methods.
-			//
-
-			ApplicationDomain.currentDomain.domainMemory.position = address;
-			ApplicationDomain.currentDomain.domainMemory.writeByte( value );
+			domainMemory.position = address;
+			domainMemory.writeByte( value );
 		}

 		/**
@@ -87,10 +72,8 @@
 		 */
 		public static function writeShort( value: int, address: int ): void
 		{
-			__bytecode( 0xd1, 0xd2, 0x3b, 0x47 );
-
-			ApplicationDomain.currentDomain.domainMemory.position = address;
-			ApplicationDomain.currentDomain.domainMemory.writeShort( value );
+			domainMemory.position = address;
+			domainMemory.writeShort( value );
 		}

 		/**
@@ -101,10 +84,8 @@
 		 */
 		public static function writeInt(value: int, address: int): void
 		{
-			__bytecode( 0xd1, 0xd2, 0x3c, 0x47 );
-
-			ApplicationDomain.currentDomain.domainMemory.position = address;
-			ApplicationDomain.currentDomain.domainMemory.writeInt( value );
+			domainMemory.position = address;
+			domainMemory.writeInt( value );
 		}

 		/**
@@ -115,10 +96,8 @@
 		 */
 		public static function writeFloat(value: Number, address: int): void
 		{
-			__bytecode( 0xd1, 0xd2, 0x3d, 0x47 );
-
-			ApplicationDomain.currentDomain.domainMemory.position = address;
-			ApplicationDomain.currentDomain.domainMemory.writeFloat( value );
+			domainMemory.position = address;
+			domainMemory.writeFloat( value );
 		}

 		/**
@@ -129,10 +108,8 @@
 		 */
 		public static function writeDouble(value: Number, address: int): void
 		{
-			__bytecode( 0xd1, 0xd2, 0x3e, 0x47 );
-
-			ApplicationDomain.currentDomain.domainMemory.position = address;
-			ApplicationDomain.currentDomain.domainMemory.writeDouble( value );
+			domainMemory.position = address;
+			domainMemory.writeDouble( value );
 		}

 		/**
@@ -143,10 +120,8 @@
 		 */
 		public static function readUnsignedByte( address: int ): int
 		{
-			__bytecode( 0xd1, 0x35, 0x48 );
-
-			ApplicationDomain.currentDomain.domainMemory.position = address;
-			return ApplicationDomain.currentDomain.domainMemory.readUnsignedByte();
+			domainMemory.position = address;
+			return domainMemory.readUnsignedByte();
 		}

 		/**
@@ -157,10 +132,8 @@
 		 */
 		public static function readUnsignedShort(address: int): int
 		{
-			__bytecode(0xd1, 0x36, 0x48);
-
-			ApplicationDomain.currentDomain.domainMemory.position = address;
-			return ApplicationDomain.currentDomain.domainMemory.readUnsignedShort();
+			domainMemory.position = address;
+			return domainMemory.readUnsignedShort();
 		}

 		/**
@@ -171,10 +144,8 @@
 		 */
 		public static function readInt( address: int ): int
 		{
-			__bytecode( 0xd1, 0x37, 0x48 );
-
-			ApplicationDomain.currentDomain.domainMemory.position = address;
-			return ApplicationDomain.currentDomain.domainMemory.readInt();
+			domainMemory.position = address;
+			return domainMemory.readInt();
 		}

 		/**
@@ -185,10 +156,8 @@
 		 */
 		public static function readFloat( address: int ): Number
 		{
-			__bytecode( 0xd1, 0x38, 0x48 );
-
-			ApplicationDomain.currentDomain.domainMemory.position = address;
-			return ApplicationDomain.currentDomain.domainMemory.readFloat();
+			domainMemory.position = address;
+			return domainMemory.readFloat();
 		}

 		/**
@@ -199,10 +168,8 @@
 		 */
 		public static function readDouble( address: int ): Number
 		{
-			__bytecode( 0xd1, 0x39, 0x48 );
-
-			ApplicationDomain.currentDomain.domainMemory.position = address;
-			return ApplicationDomain.currentDomain.domainMemory.readDouble();
+			domainMemory.position = address;
+			return domainMemory.readDouble();
 		}

 		/**
@@ -213,8 +180,6 @@
 		 */
 		public static function signExtend1( value: int ): int
 		{
-			__bytecode( 0xd1, 0x50, 0x48 );
-
 			if( 0 != ( value & 0x1 ) )
 			{
 				value &= 0x0;
@@ -232,8 +197,6 @@
 		 */
 		public static function signExtend8( value: int ): int
 		{
-			__bytecode( 0xd1, 0x51, 0x48 );
-
 			if( 0 != ( value & 0x80 ) )
 			{
 				value &= 0x7f;
@@ -251,8 +214,6 @@
 		 */
 		public static function signExtend16( value: int ): int
 		{
-			__bytecode( 0xd1, 0x52, 0x48 );
-
 			if( 0 != ( value & 0x8000 ) )
 			{
 				value &= 0x7fff;


cleaning house

cleaning house

--- src/Mukik.as
+++ src/Mukik.as
@@ -21,7 +21,7 @@
 		public var symbol:SymRock;
 		private var symRocks:Array = new Array();

-		public var size:int = 4;//length of the snake
+		public var size:int = 10;//length of the snake
 		public var snakeBods:Array = new Array();
 		public var bod:SnakeBod;
 		private var tail:SnakeTail = new SnakeTail();
@@ -33,7 +33,7 @@
 		public var dir:String; //l,r,u,d for the direction the snake is going.
 		public var turn:Boolean = false;
 		public var bounce:Boolean = false;
-		private var path: Array = new Array(size+2);  //this three dimensional array holds the number of snake body segments (including the tail) of path[i][x,y,r] = [x position, y position, and rotation being 0,1,2,3] for 0=vertical 1=90 degrees clockwise 2=180 and 3=270!  This will be stored 10 times for each segment to follow the path of the snake head.
+		private var path: Array = new Array(size+1);  //this three dimensional array holds the number of snake body segments (including the tail) of path[i][x,y,r] = [x position, y position, and rotation being 0,1,2,3] for 0=vertical 1=90 degrees clockwise 2=180 and 3=270!  This will be stored 10 times for each segment to follow the path of the snake head.
 		private var pCount:int = 0; //path counter
 		private var pathMax:int = b/2;  // maximum paths needed to remember = the width of a body divided by the pixels moved per frame... or b/vx. if vx/y changes you must change 2 to match.
 		private var bodyCount:int = path.length-1;
@@ -100,7 +100,7 @@
 			}
 			for (var i:int = 0; i<path.length; i++) {
 				for (var j:int = 0; j<pathMax; j++) {
-					path[i][j] = [(200-(i+1)*b) + j*2, 50, 90];
+					path[i][j] = [(200-i*b) + j*2, 50, 90];
 				}
 			}
 			addObject(snake, 200, 50);
@@ -132,15 +132,15 @@
 				snakeBods.push(bod);

 			}
-
+			/*
 			addObject(tail,path[size][0][0], path[size][0][1]);
 			tail.rotation = path[size][0][2];
 			//tail.visible = false;
 			snakeBods.push(tail);
+			*/
 		}
 		//addPath is the soul of the snake body movement.
 		public function addPath(x:int, y:int, r:int):void {
-			var temp: Array = new Array()

 			if(bodyCount >= 0) {
 				if (pCount < pathMax) {
@@ -154,11 +154,7 @@
 				if (bodyCount == 0) {
 					bodyCount = path.length-1;
 				}
-				/*
-				for(var i:int = size+1; i > 0 ; i--) {
-					path[i] = path[i-1];
-				}
-				*/
+
 			}

 		}
@@ -182,7 +178,7 @@
 			addPath(snake.x, snake.y, snake.rotation);
 			//checking for collision type and direction
 			for (var i:int = 0; i<rocks.length; i++) {
-				if (Math.abs(snake.x-rocks[i].x) < 150 && Math.abs(snake.y-rocks[i].y) < 200) {
+				if (Math.abs(snake.x-rocks[i].x) < 100 && Math.abs(snake.y-rocks[i].y) < 100) {
 					symRocks[i].visible = true;
 				}
 				else {symRocks[i].visible = false;}
@@ -193,53 +189,25 @@
 					//rocks[i] = null;
 					//this.removeChild(symRocks[i]);
 				}
-				else if (snake.hitTestObject(rocks[i])) {
+				else if (snake.hitTestObject(rocks[i]) ) {

 						if (dir=="d") {
+
 							reverse("up", snake);
 						}
-						if (dir =="u") {
+						else if (dir =="u") {
 							reverse("down", snake);
 						}
-						if (dir=="r") {
+						else if (dir=="r") {
 							reverse("left", snake);
 						}
-						if (dir=="l") {
+						else if (dir=="l") {
 							reverse("right", snake);
 						}

 				}
-			}
-
-
-
-
-
-
-			/*
-			else {
-
-			}
-			*/
-
-				/*
-				if (snakeBods[i].x < 50){
-					snakeBods[i].x = 50;
-				}
-
-				if (snakeBods[i].x > stage.stageWidth - 50){
-					snakeBods[i].x = stage.stageWidth-50;
-				}
-				if (snakeBods[i].y > stage.stageHeight - 50){
-					snakeBods[i].y = stage.stageHeight - 50;
-				}
-				if (snakeBods[i].y < 50){
-					snakeBods[i].y = 50;
-				}
-				*/
-
-
-			//I need to redo turnSnake and put all these things that repeat in there.
+			}
+
 			if (snake.x<50) {

@@ -376,73 +344,10 @@
 			}

 		}
-		//all this needs to be fixed again to go along with being added to the stage instead of the snake.
-		//now I am cutting out the use of this method to turn the snake bodies a different way.
-		/*old turn snake
-		public function turnSnake(dir:String, snake:Sprite):void {  //input the direction of the turn with the keyboard event; "up" "down" "left" or "right" (right could actually be any other string.)
-
-			//var bods:Array = body;
-			var p:int = 0;
-			var x:int = snake.x;
-			var y:int = snake.y;
-			if (dir=="up") {
-				snake.rotation = -90;
-				for (var i: int = 0; i<size; i++) {
-					p += 45;
-					snakeBods[i].x = snake.x;
-					snakeBods[i].y = snake.y+p;
-					snakeBods[i].rotation = 0;
-				}
-				p+=45;
-				tail.x = snake.x;
-				tail.y = snake.y+p;
-				tail.rotation = 0;
-			}
-			else if (dir=="down") {
-				snake.rotation = 90;
-				for (var i: int = 0; i<size; i++) {
-					p += 45;
-					snakeBods[i].x = snake.x;
-					snakeBods[i].y = snake.y-p;
-					snakeBods[i].rotation = 180;
-				}
-				p+=45;
-				tail.x = snake.x;
-				tail.y = snake.y-p;
-				tail.rotation = 180;
-			}
-			else if (dir=="left") {
-				snake.rotation = 180;
-				for (var i: int = 0; i<size; i++) {
-					p += 45;
-					snakeBods[i].x = snake.x+p;
-					snakeBods[i].y = snake.y;
-					snakeBods[i].rotation = -90;
-				}
-				p += 45;
-				tail.x = snake.x+p;
-				tail.y = snake.y;
-				tail.rotation = -90;
-			}
-			else {
-				snake.rotation = 0;
-				for (var i: int = 0; i<size; i++) {
-					p += 45;
-					snakeBods[i].x = snake.x-p;
-					snakeBods[i].y = snake.y;
-					snakeBods[i].rotation = 90;
-				}
-				p += 45;
-				tail.x = snake.x-p;
-				tail.y = snake.y;
-				tail.rotation = 90;
-			}
-		}
 		public function removeBod():void {
 			snakeBods.pop();
-			this.removeChild(snakeBods[size-2]);
-		}
-		*/
+			path.pop();
+		}
 	}

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

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

--- frameworks/projects/framework/src/mx/core/IFlexAsset.as
+++ frameworks/projects/framework/src/mx/core/IFlexAsset.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+/**
+ *  IFlexAsset is a marker interface with the following meaning:
+ *  if a class declares that it implements IFlexAsset,
+ *  then that class represents an asset -- such as a bitmap, a font,
+ *  or a sound -- that has been embedded in a Flex application.
+ *  This interface does not define any properties or methods that the
+ *  class must actually implement.
+ *
+ *
The player uses ActionScript classes to represent
+ *  embedded assets as well as executable ActionScript code.
+ *  When you embed an asset in a Flex application, the MXML compiler
+ *  autogenerates a class to represent it, and all such classes
+ *  declare that they implement IFlexAsset so that they can be
+ *  distinguished from the code classes.

+ */
+public interface IFlexAsset
+{
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

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

 package mx.core
 {