clean up GA_FLASH

clean up GA_FLASH

--- src/GA_FLASH.as
+++ src/GA_FLASH.as
@@ -54,10 +54,10 @@
                by adding it to the display list
             */
             tracker = new FlashTracker();
-            tracker.trackPageview( "/test" );
+            tracker.trackPageview( "/test" ); //test cache
             tracker.addEventListener( AnalyticsEvent.READY, onAnalyticsReady );

-            tracker.account = "UA-4241494-2";
+            tracker.account = "UA-111-222";
             tracker.mode    = "AS3";
             tracker.visualDebug = true;
             addChild( tracker as DisplayObject );


Remove unneeded imports from the Flash renderer.

--- src/renderers/FlashCommon.as
+++ src/renderers/FlashCommon.as
@@ -15,30 +15,27 @@
  */
 package {

-  import flash.external.ExternalInterface;
+  import flash.display.Bitmap;
+  import flash.display.BitmapData;
+  import flash.display.BlendMode;
+  import flash.display.Loader;
   import flash.display.Sprite;
-  import flash.display.Bitmap;
-  import flash.display.BlendMode;
+  import flash.display.StageAlign;
   import flash.display.StageScaleMode;
-  import flash.display.StageAlign;
-  import flash.display.BitmapData;
-  import flash.display.Loader;
   import flash.events.ErrorEvent;
   import flash.events.Event;
   import flash.events.IOErrorEvent;
   import flash.events.UncaughtErrorEvent;
-  import flash.text.TextField;
-  import flash.system.Security;
+  import flash.external.ExternalInterface;
+  import flash.geom.Matrix;
+  import flash.geom.Matrix3D;
+  import flash.geom.PerspectiveProjection;
   import flash.geom.Point;
   import flash.geom.Rectangle;
-  import flash.geom.Matrix;
-  import flash.geom.Matrix3D;
   import flash.geom.Vector3D;
-  import flash.geom.PerspectiveProjection;
-  import flash.utils.ByteArray;
+  import flash.net.URLRequest;
+  import flash.system.Security;
   import flash.utils.Dictionary;
-  import flash.utils.setTimeout;
-  import flash.net.URLRequest;

   public class FlashCommon extends Sprite {

@@ -63,7 +60,7 @@
       ExternalInterface.addCallback('drawCubeTiles', drawCubeTiles);
       ExternalInterface.addCallback('drawFlatTiles', drawFlatTiles);

-      var callbacksObjName:String = root.loaderInfo.parameters.callbacksObjName as String;
+      var callbacksObjName:String = loaderInfo.parameters.callbacksObjName as String;
       imageLoadedCallback = callbacksObjName + '.imageLoaded';

       Security.allowDomain("*");


http://www.igniterealtime.org/community/thread/40921

git-svn-id: c197267f952b24206666de142881703007ca05d5@11561 b35dd754-fafc-0310-a699-88a17e54d16e

--- src/org/igniterealtime/xiff/vcard/VCard.as
+++ src/org/igniterealtime/xiff/vcard/VCard.as
@@ -60,188 +60,157 @@
 	public class VCard extends EventDispatcher
 	{
 		/**
-		 *
-		 * @default
+		 * VCard cache indexed by the jid or the user
 		 */
 		private static var cache:Object = {};

 		/**
 		 * Flush the vcard cache every 6 hours
-		 * @default
 		 */
 		private static var cacheFlushTimer:Timer = new Timer( 6 * 60 * 60 * 1000, 0 );

 		/**
-		 *
-		 * @default
+		 * Queue of the pending requests
 		 */
 		private static var requestQueue:Array = [];

 		/**
-		 *
-		 * @default
+		 * Timer to prosess the queue
 		 */
 		private static var requestTimer:Timer;

 		/**
 		 *
-		 * @default
 		 */
 		public var birthDay:Date;

 		/**
 		 *
-		 * @default
 		 */
 		public var company:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var department:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var email:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var firstName:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var fullName:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var gender:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var homeAddress:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var homeCellNumber:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var homeCity:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var homeCountry:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var homeFaxNumber:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var homePagerNumber:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var homePostalCode:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var homeStateProvince:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var homeVoiceNumber:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var jid:UnescapedJID;

 		/**
 		 *
-		 * @default
 		 */
 		public var lastName:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var loaded:Boolean = false;

 		/**
 		 *
-		 * @default
 		 */
 		public var maritalStatus:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var middleName:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var namePrefix:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var nameSuffix:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var nickname:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var otherName:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var title:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var url:String;

@@ -252,78 +221,66 @@

 		/**
 		 *
-		 * @default
 		 */
 		public var workAddress:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var workCellNumber:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var workCity:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var workCountry:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var workFaxNumber:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var workPagerNumber:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var workPostalCode:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var workStateProvince:String;

 		/**
 		 *
-		 * @default
 		 */
 		public var workVoiceNumber:String;

 		/**
 		 *
-		 * @default
 		 */
 		private var _avatar:DisplayObject;

 		/**
 		 *
-		 * @default
 		 */
 		private var _imageBytes:ByteArray;

 		/**
 		 *
-		 * @default
 		 */
 		private var contact:RosterItemVO;

 		/**
-		 * Don't call directly VCard, use a static method and add a callback.
+		 * Don't call directly VCard, use a static method (getVCard) and add a callback.
 		 */
 		public function VCard()
 		{
@@ -334,54 +291,57 @@
 		 * Seems to be the way a vcard is requested and then later referred to:
 		 * var vCard:VCard = VCard.getVCard(_connection, item);

 		 * vCard.addEventListener(VCardEvent.LOADED, onVCard);
-		 * @param con
+		 * @param connection
 		 * @param user
 		 * @return Reference to the VCard which will be filled once the loaded event occurs.
 		 */
-		public static function getVCard( con:XMPPConnection, user:RosterItemVO ):VCard
+		public static function getVCard( connection:XMPPConnection, user:RosterItemVO ):VCard
 		{
 			if ( !cacheFlushTimer.running )
 			{
 				cacheFlushTimer.start();
 				cacheFlushTimer.addEventListener( TimerEvent.TIMER, function( event:TimerEvent ):void
+				{
+					var tempCache:Object = cache;
+					cache = {};
+					for each ( var cachedCard:VCard in tempCache )
 					{
-						var tempCache:Object = cache;
-						cache = {};
-						for each ( var cachedCard:VCard in tempCache )
-						{
-							pushRequest( con, vcard );
-						}
-					} );
+						pushRequest( connection, vcard );
+					}
+				} );
 			}

 			var jidString:String = user.jid.toString();

 			var cachedCard:VCard = cache[ jidString ];
 			if ( cachedCard )
+			{
 				return cachedCard;
+			}

 			var vcard:VCard = new VCard();
 			vcard.contact = user;
+			vcard.jid = user.jid;
 			cache[ jidString ] = vcard;

-			pushRequest( con, vcard );
+			pushRequest( connection, vcard );

 			return vcard;
 		}

 		/**
 		 * Add the request to the stack of requests
-		 * @param con
+		 * @param connection
 		 * @param vcard
 		 */
-		private static function pushRequest( con:XMPPConnection, vcard:VCard ):void
+		private static function pushRequest( connection:XMPPConnection, vcard:VCard ):void
 		{
 			if ( !requestTimer )
 			{
 				requestTimer = new Timer( 1, 1 );
 				requestTimer.addEventListener( TimerEvent.TIMER_COMPLETE, sendRequest );
 			}
-			requestQueue.push( { connection: con, card: vcard } );
+			requestQueue.push( { connection: connection, card: vcard } );
 			requestTimer.reset();
 			requestTimer.start();
 		}
@@ -393,9 +353,11 @@
 		private static function sendRequest( event:TimerEvent ):void
 		{
 			if ( requestQueue.length == 0 )
+			{
 				return;
+			}
 			var req:Object = requestQueue.pop();
-			var con:XMPPConnection = req.connection;
+			var connection:XMPPConnection = req.connection;
 			var vcard:VCard = req.card;
 			var user:RosterItemVO = vcard.contact;

@@ -406,7 +368,7 @@
 			iq.callbackScope = vcard;
 			iq.addExtension( new VCardExtension() );

-			con.send( iq );
+			connection.send( iq );
 			requestTimer.reset();
 			requestTimer.start();
 		}
@@ -446,12 +408,14 @@
 			namespace ns = "vcard-temp";
 			use namespace ns;

-			var node:XML = XML(iq.getNode());
+			var node:XML = XML( iq.getNode() );
 			var vCardNode:XML = node.children()[ 0 ];

 			//var vCardNode:XML = iq.node.children()[ 0 ];
 			if ( !vCardNode )
+			{
 				return;
+			}

 			version = Number( vCardNode.@version );

@@ -621,10 +585,10 @@

 		/**
 		 *
-		 * @param con
+		 * @param connection
 		 * @param user
 		 */
-		public function saveVCard( con:XMPPConnection, user:RosterItemVO ):void
+		public function saveVCard( connection:XMPPConnection, user:RosterItemVO ):void
 		{
 			var iq:IQ = new IQ( null, IQ.TYPE_SET, XMPPStanza.generateID( "save_vcard_" ),
 								null, this, _vCardSent );
@@ -869,7 +833,7 @@
 			}

 			iq.addExtension( vcardExt );
-			con.send( iq );
+			connection.send( iq );
 		}
 	}
 }


Fixed tabs again.

Fixed tabs again.

--- Game/Resources/elevatorScene/Scripts/elevator_frontDoorCon.as
+++ Game/Resources/elevatorScene/Scripts/elevator_frontDoorCon.as
@@ -1,23 +1,23 @@
 class elevator_frontDoorCon {
     Hub @hub;
     Entity @doorWithX;
-	Entity @doorWithService;
-	Entity @puzzleBoard;
-	bool openDoor;
-	vec3 tempPosWithX;
-	vec3 tempPosWithService;
-	float boardPitch;
-	float speed;
+    Entity @doorWithService;
+    Entity @puzzleBoard;
+    bool openDoor;
+    vec3 tempPosWithX;
+    vec3 tempPosWithService;
+    float boardPitch;
+    float speed;
     float uniformScale;
-
+

     elevator_frontDoorCon(Entity @entity){
         @hub = Managers();
         @doorWithX = GetEntityByGUID(1511870049);
-		@doorWithService = GetEntityByGUID(1511870278);
-		@puzzleBoard = GetEntityByGUID(1512029307);
-		openDoor = false;
-		speed = 0.5f;
+        @doorWithService = GetEntityByGUID(1511870278);
+        @puzzleBoard = GetEntityByGUID(1512029307);
+        openDoor = false;
+        speed = 0.5f;
         uniformScale = 0;

         // Remove this if updates are not desired.
@@ -26,46 +26,44 @@

     // Called by the engine for each frame.
     void Update(float deltaTime) {
-		if(openDoor == true) {
-			if(tempPosWithX.z < 2.0f) {
-				tempPosWithX = doorWithX.GetWorldPosition();
-				tempPosWithService = doorWithService.GetWorldPosition();
-
-				tempPosWithX.z -= speed * deltaTime;
-				tempPosWithService.z += speed * deltaTime;
-
-				doorWithX.SetWorldPosition(tempPosWithX);
-				doorWithService.SetWorldPosition(tempPosWithService);
-			}
+        if(openDoor == true) {
+            if(tempPosWithX.z < 2.0f) {
+                tempPosWithX = doorWithX.GetWorldPosition();
+                tempPosWithService = doorWithService.GetWorldPosition();
+
+                tempPosWithX.z -= speed * deltaTime;
+                tempPosWithService.z += speed * deltaTime;
+
+                doorWithX.SetWorldPosition(tempPosWithX);
+                doorWithService.SetWorldPosition(tempPosWithService);
+            }

             uniformScale += (1.0f / 3.5f) * deltaTime;
             if (uniformScale > 1.0f) {
                 uniformScale = 1.0f;
             }
+            puzzleBoard.scale = vec3(uniformScale, uniformScale, uniformScale);
+        }

-            puzzleBoard.scale = vec3(uniformScale, uniformScale, uniformScale);
-
-		}
-
-		if(openDoor == false) {
-			if(tempPosWithX.z > 0.0f) {
-				tempPosWithX = doorWithX.GetWorldPosition();
-				tempPosWithService = doorWithService.GetWorldPosition();
-
-				tempPosWithX.z += speed * deltaTime;
-				tempPosWithService.z -= speed * deltaTime;
-
-				doorWithX.SetWorldPosition(tempPosWithX);
-				doorWithService.SetWorldPosition(tempPosWithService);
-			}
-		}
+        if(openDoor == false) {
+            if(tempPosWithX.z > 0.0f) {
+                tempPosWithX = doorWithX.GetWorldPosition();
+                tempPosWithService = doorWithService.GetWorldPosition();
+
+                tempPosWithX.z += speed * deltaTime;
+                tempPosWithService.z -= speed * deltaTime;
+
+                doorWithX.SetWorldPosition(tempPosWithX);
+                doorWithService.SetWorldPosition(tempPosWithService);
+            }
+        }
     }
-
-	void OpenDoor() {
-		openDoor = true;
-	}
-
-	void CloseDoor() {
-		openDoor = false;
-	}
+
+    void OpenDoor() {
+        openDoor = true;
+    }
+
+    void CloseDoor() {
+        openDoor = false;
+    }
 }


Remove unnecessary disposing of texture

Remove unnecessary disposing of texture

--- krew-framework/krewfw/core/KrewActor.as
+++ krew-framework/krewfw/core/KrewActor.as
@@ -233,7 +233,6 @@
         /** @private */
         protected function _disposeImageTextures():void {
             for (var i:uint=0;  i < _imageList.length;  ++i) {
-                _imageList[i].texture.dispose();
                 _imageList[i].dispose();
             }
         }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 import mx.core.mx_internal;


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

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


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

--- frameworks/projects/mx/src/mx/controls/HScrollBar.as
+++ frameworks/projects/mx/src/mx/controls/HScrollBar.as
@@ -0,0 +1,267 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.controls
+{
+
+import flash.ui.Keyboard;
+import mx.controls.scrollClasses.ScrollBar;
+import mx.controls.scrollClasses.ScrollBarDirection;
+import mx.core.mx_internal;
+import mx.events.ScrollEvent;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Events
+//--------------------------------------
+
+/**
+ *  Dispatched when the ScrollBar control scrolls through
+ *  user initiated action or programmatically.
+ *
+ *  @eventType mx.events.ScrollEvent.SCROLL
+ */
+[Event(name="scroll", type="mx.events.ScrollEvent")]
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+/**
+ *  Number of milliseconds to wait after the first buttonDown
+ *  event before repeating buttonDown events at the
+ *  repeatInterval.
+ *  The default value is 500.
+ */
+[Style(name="repeatDelay", type="Number", format="Time", inherit="no")]
+
+/**
+ *  Number of milliseconds between buttonDown events
+ *  if the user presses and holds the mouse on a button.
+ *  The default value is 35.
+ */
+[Style(name="repeatInterval", type="Number", format="Time", inherit="no")]
+
+//--------------------------------------
+//  Excluded APIs
+//--------------------------------------
+
+[Exclude(name="direction", kind="property")]
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[DefaultBindingProperty(source="scrollPosition", destination="scrollPosition")]
+
+[DefaultTriggerEvent("scroll")]
+
+[IconFile("HScrollBar.png")]
+
+/**
+ *  The HScrollBar (horizontal ScrollBar) control lets you control
+ *  the portion of data that is displayed when there is too much data
+ *  to fit in a display area.
+ *
+ *  This control extends the base ScrollBar control.
+ *
+ *
Although you can use the HScrollBar control as a stand-alone control,
+ *  you usually combine it as part of another group of components to
+ *  provide scrolling functionality.

+ *
+ *
A ScrollBar control consist of four parts: two arrow buttons,
+ *  a track, and a thumb.
+ *  The position of the thumb and the display of the buttons
+ *  depend on the current state of the control.
+ *  The ScrollBar control uses four parameters to calculate its
+ *  display state:

+ *
+ *

+ *
Minimum range value

+ *
Maximum range value

+ *
Current position - must be within the
+ *    minimum and maximum range values

+ *
Viewport size - represents the number of items
+ *    in the range that you can display at one time. The
+ *    number of items must be less than or equal to the
+ *    range, where the range is the set of values between
+ *    the minimum range value and the maximum range value.

+ *

+ *
+ *  @mxml
+ *
+ *
The <mx:HScrollBar> tag inherits all of the
+ *  tag attributes of its superclass, and adds the following tag attributes:

+ *
+ *

+ *  <mx:HScrollBar
+ *    Styles
+ *    repeatDelay="500"
+ *    repeatInterval="35"
+ *
+ *    Events
+ *    scroll="No default"
+ *  />
+ *

+ *
+ *  @includeExample examples/HScrollBarExample.mxml
+ *
+ *  @see mx.controls.scrollClasses.ScrollBar
+ */
+public class HScrollBar extends ScrollBar
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function HScrollBar()
+    {
+        super();
+
+        // ScrollBar variables.
+        super.direction = ScrollBarDirection.HORIZONTAL;
+
+        // Scroll bar does some tricky things based on its orientation.
+        // Most components won't need to do this.
+        scaleX = -1.0;
+        rotation = -90;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  direction
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  @private
+     *  Don't allow user to change the direction.
+     */
+    override public function set direction(value:String):void
+    {
+    }
+
+    //----------------------------------
+    //  minWidth
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    override public function get minWidth():Number
+    {
+        return _minHeight;
+    }
+
+    //----------------------------------
+    //  minHeight
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    override public function get minHeight():Number
+    {
+        return _minWidth;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  virtualHeight
+    //----------------------------------
+
+    /**
+     *  @private
+     *  For internal use only.
+     */
+    override mx_internal function get virtualHeight():Number
+    {
+        return unscaledWidth;
+    }
+
+    //----------------------------------
+    //  virtualWidth
+    //----------------------------------
+
+    /**
+     *  @private
+     *  For internal use only.
+     */
+    override mx_internal function get virtualWidth():Number
+    {
+        return unscaledHeight;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: UIComponent
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function measure():void
+    {
+        super.measure();
+
+        measuredWidth = _minHeight;
+        measuredHeight = _minWidth;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: ScrollBar
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  map keys to scroll events
+     */
+    override mx_internal function isScrollBarKey(key:uint):Boolean
+    {
+        if (key == Keyboard.LEFT)
+        {
+            lineScroll(-1);
+            return true;
+        }
+
+        else if (key == Keyboard.RIGHT)
+        {
+            lineScroll(1);
+            return true;
+        }
+
+        return super.isScrollBarKey(key);
+    }
+}
+
+}


Fixed possible error when trying to add new agent to DTCrowd.

--- as3_lib/src/recastnavigation/detour/crowd/DTCrowd.as
+++ as3_lib/src/recastnavigation/detour/crowd/DTCrowd.as
@@ -136,7 +136,10 @@
             CModule.writeFloat(pos_ptr + 8, posZ);
             var result:int = internal_dtCrowd_addAgent(ptr, pos_ptr, params.ptr);
             CModule.free(pos_ptr);
-            handleUserData(result, params);
+            if (result != -1)
+            {
+                handleUserData(result, params);
+            }
             return result;
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 6260
Author:   rfrishbe@adobe.com
Date:     2009-04-24T22:08:41.005574Z

Log Message:
-----------
Automation assumed that a component implemented both IUIComponent and IAutomationObject; however, we'd like to automate FlexNativeMenu and FNM doesn't implement IUIComponent.  The properties automation needed from IUIComponent, were enabled, parent, owner, and visible.  We now have properties on IAutomationObject called automationEnabled, automationParent, automationOwner, and automationVisible for this purpose.  Now automation only needs to rely on IAutomationObject.

QE Notes: -
Doc Notes: -
Bugs: SDK-20488
Reviewer: Evtim
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/automation/IAutomationObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.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/airframework/src/mx/controls/FlexNativeMenu.as</path>

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

--- frameworks/projects/airframework/src/mx/core/Window.as
+++ frameworks/projects/airframework/src/mx/core/Window.as
@@ -1400,8 +1400,20 @@
      */
     public function set menu(value:FlexNativeMenu):void
     {
+        if (_menu)
+        {
+            _menu.automationOwner = null;
+            _menu.automationParent = null;
+        }
+
         _menu = value;
         menuChanged = true;
+
+        if (_menu)
+        {
+            menu.automationParent = this;
+            menu.automationOwner = this;
+        }
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 18870
Author:   hmuller@adobe.com
Date:     2010-11-30T20:06:22.844885Z

Log Message:
-----------
Grid, GridLayout Performance optimzation aimed at reducing the cost of hover and selection indicator changes, and the cost of vertical scrolls.

Added a new internal Grid API that tracks the "reasons" for invalidateDisplayList() calls.  GridLayout uses the list of reasons to economize layout work.

No longer invalidating the columnHeaderGroup skin part for vertical scrolls; correcting a problem introduced in SVN 18468.

QE notes: ..DataGrid/Performance/GridSelectionToggleRowSelect_test needs to be revised, has been excluded for now
Doc notes:
Bugs: SDK-28429
Reviewer:
Tests run: checkin, mustella
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/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -21,6 +21,7 @@
 import mx.collections.IList;
 import mx.containers.Grid;
 import mx.core.IFactory;
+import mx.core.IInvalidating;
 import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
 import mx.events.CollectionEvent;
@@ -475,7 +476,7 @@
             return;

         _caretIndicator = value;
-        invalidateDisplayList();
+        invalidateDisplayListFor("caretIndicator");
         dispatchChangeEvent("caretIndicatorChanged");
     }

@@ -531,7 +532,7 @@
         invalidateProperties();

         if (caretIndicator)
-            invalidateDisplayList();
+            invalidateDisplayListFor("caretIndicator");
         dispatchChangeEvent("caretColumnIndexChanged");
     }

@@ -586,7 +587,7 @@
         invalidateProperties();

         if (caretIndicator)
-            invalidateDisplayList();
+            invalidateDisplayListFor("caretIndicator");
         dispatchChangeEvent("caretRowIndexChanged");
     }

@@ -629,7 +630,7 @@
             return;

         _hoverIndicator = value;
-        invalidateDisplayList();
+        invalidateDisplayListFor("hoverIndicator");
         dispatchChangeEvent("hoverIndicatorChanged");
     }

@@ -676,7 +677,7 @@

         _hoverColumnIndex = value;
         if (hoverIndicator)
-            invalidateDisplayList();
+            invalidateDisplayListFor("hoverIndicator");
         dispatchChangeEvent("hoverColumnIndexChanged");
     }

@@ -724,7 +725,7 @@

         _hoverRowIndex = value;
         if (hoverIndicator)
-            invalidateDisplayList();
+            invalidateDisplayListFor("hoverIndicator");
         dispatchChangeEvent("hoverRowIndexChanged");
     }

@@ -1385,7 +1386,7 @@
         gridSelection.requireSelection = value;

         if (value)
-            invalidateDisplayList();
+            invalidateDisplayListFor("selectionIndicator");
     }

     //----------------------------------
@@ -2043,7 +2044,7 @@
             return;

         _selectionIndicator = value;
-        invalidateDisplayList();
+        invalidateDisplayListFor("selectionIndicator");
         dispatchChangeEvent("selectionIndicatorChanged");
     }

@@ -2115,7 +2116,7 @@
         if (!requireSelection)
             initializeCaretPosition();

-        invalidateDisplayList();
+        invalidateDisplayListFor("selectionIndicator");

         dispatchChangeEvent("selectionModeChanged");
     }
@@ -2302,8 +2303,8 @@
         const selectionChanged:Boolean = gridSelection.selectAll();
         if (selectionChanged)
         {
-            initializeCaretPosition()
-            invalidateDisplayList()
+            initializeCaretPosition();
+            invalidateDisplayListFor("selectionIndicator");
             dispatchFlexEvent(FlexEvent.VALUE_COMMIT);
         }

@@ -2333,7 +2334,7 @@
         const selectionChanged:Boolean = gridSelection.removeAll();
         if (selectionChanged)
         {
-            invalidateDisplayList()
+            invalidateDisplayListFor("selectionIndicator");
             dispatchFlexEvent(FlexEvent.VALUE_COMMIT);
         }

@@ -2430,7 +2431,7 @@
             caretRowIndex = rowIndex;
             caretColumnIndex = -1;

-            invalidateDisplayList()
+            invalidateDisplayListFor("selectionIndicator");
             dispatchFlexEvent(FlexEvent.VALUE_COMMIT);
         }

@@ -2473,7 +2474,7 @@
             caretRowIndex = rowIndex;
             caretColumnIndex = -1;

-            invalidateDisplayList()
+            invalidateDisplayListFor("selectionIndicator");
             dispatchFlexEvent(FlexEvent.VALUE_COMMIT);
         }

@@ -2517,7 +2518,7 @@
             caretRowIndex = rowIndex;
             caretColumnIndex = -1;

-            invalidateDisplayList()
+            invalidateDisplayListFor("selectionIndicator");
             dispatchFlexEvent(FlexEvent.VALUE_COMMIT);
         }

@@ -2554,14 +2555,13 @@
         if (invalidatePropertiesFlag)
             UIComponentGlobals.layoutManager.validateClient(this, false);

-        const selectionChanged:Boolean =
-            gridSelection.setRows(rowIndex, rowCount);
+        const selectionChanged:Boolean = gridSelection.setRows(rowIndex, rowCount);
         if (selectionChanged)
         {
             caretRowIndex = rowIndex + rowCount - 1;
             caretColumnIndex = -1;

-            invalidateDisplayList()
+            invalidateDisplayListFor("selectionIndicator");
             dispatchFlexEvent(FlexEvent.VALUE_COMMIT);
         }

@@ -2680,7 +2680,7 @@
             caretRowIndex = rowIndex;
             caretColumnIndex = columnIndex;

-            invalidateDisplayList()
+            invalidateDisplayListFor("selectionIndicator");
             dispatchFlexEvent(FlexEvent.VALUE_COMMIT);
         }

@@ -2730,7 +2730,7 @@
             caretRowIndex = rowIndex;
             caretColumnIndex = columnIndex;

-            invalidateDisplayList()
+            invalidateDisplayListFor("selectionIndicator");
             dispatchFlexEvent(FlexEvent.VALUE_COMMIT);
         }

@@ -2780,7 +2780,7 @@
             caretRowIndex = rowIndex;
             caretColumnIndex = columnIndex;

-            invalidateDisplayList()
+            invalidateDisplayListFor("selectionIndicator");
             dispatchFlexEvent(FlexEvent.VALUE_COMMIT);
         }

@@ -2842,7 +2842,7 @@
             caretRowIndex = rowIndex + rowCount - 1;
             caretColumnIndex = columnIndex + columnCount - 1;

-            invalidateDisplayList()
+            invalidateDisplayListFor("selectionIndicator");
             dispatchFlexEvent(FlexEvent.VALUE_COMMIT);
         }

@@ -3165,6 +3165,60 @@

     //--------------------------------------------------------------------------
     //
+    //  Tracking Grid invalidateDisplayList() "reasons", invalid cells
+    //
+    //--------------------------------------------------------------------------
+    /**
+     *  @private
+     *  Low cost "list" of invalidateDisplayList() reasons.
+     */
+    private var invalidateDisplayListReasonsMask:uint = 0;
+
+    /**
+     *  @private
+     *  Table that maps from reason names to bit fields.
+     */
+    private static const invalidateDisplayListReasonBits:Object = {
+        verticalScrollPosition: uint(1 << 0),
+        horizontalScrollPosition: uint(1 << 1),
+        bothScrollPositions: (uint(1 << 0) | uint(1 << 1)),
+        hoverIndicator: uint(1 << 2),
+        caretIndicator: uint(1 << 3),
+        selectionIndicator: uint(1 << 4),
+        editorIndicator:  uint(1 << 5),
+        none: uint(~0)
+    };
+
+    /**
+     *  @private
+     *  Set the bit that corresponds to reason.  Only used by invalidateDisplayListFor().
+     */
+    private function setInvalidateDisplayListReason(reason:String):void
+    {
+        invalidateDisplayListReasonsMask |= invalidateDisplayListReasonBits[reason];
+    }
+
+    /**
+     *  @private
+     *  Return true if invalidateDisplayListFor() was called with the specified reason
+     *  since the last updateDisplayList() pass.
+     */
+    mx_internal function isInvalidateDisplayListReason(reason:String):Boolean
+    {
+        const bit:uint = invalidateDisplayListReasonBits[reason];
+        return (invalidateDisplayListReasonsMask & bit) == bit;
+    }
+
+    /**
+     *  @private
+     */
+    mx_internal function clearInvalidateDisplayListReasons():void
+    {
+        invalidateDisplayListReasonsMask = 0;
+    }
+
+    //--------------------------------------------------------------------------
+    //
     //  Method Overrides
     //
     //--------------------------------------------------------------------------
@@ -3200,6 +3254,34 @@
     {
         if (!inUpdateDisplayList)
         {
+            setInvalidateDisplayListReason("none");
+            super.invalidateDisplayList();
+            dispatchChangeEvent("invalidateDisplayList");
+        }
+    }
+
+    /**
+     *  @private
+     *  This version of invlaidateDisplayList() stores the "reason" for the invalidate
+     *  request so that GridLayout/updateDisplayList() can do its job more efficiently.
+     *  GridLayout tests the accumulated invalidateDisplayList reasons with
+     *  isInvalidateDisplayListReason() and they're automatically cleared by
+     *  updateDisplayList() here.
+     *
+     *  Note that if invalidateDisplayList() is called directly, all possible
+     *  invalidateDispayList reasons are implicitly specified, in other words if
+     *  no reason is specified then they all are (see invalidateDisplayListReasonBits.none).
+     *  That way, callers need not be aware of this internal API.
+     *
+     *  Also: most reason="selectionIndicator" calls also change the caret index which
+     *  in turn adds reason="caretIndicator" to the invalidateDisplayList reasons, if the
+     *  caret index actually changed.
+     */
+    mx_internal function invalidateDisplayListFor(reason:String):void
+    {
+        if (!inUpdateDisplayList)
+        {
+            setInvalidateDisplayListReason(reason);
             super.invalidateDisplayList();
             dispatchChangeEvent("invalidateDisplayList");
         }
@@ -3362,6 +3444,7 @@
         inUpdateDisplayList = true;
         super.updateDisplayList(unscaledWidth, unscaledHeight);
         inUpdateDisplayList = false;
+        clearInvalidateDisplayListReasons();
     }

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


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

--- frameworks/projects/spark/src/spark/primitives/Line.as
+++ frameworks/projects/spark/src/spark/primitives/Line.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 spark.primitives
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/spark/src/spark/primitives/Rect.as
+++ frameworks/projects/spark/src/spark/primitives/Rect.as
@@ -36,8 +36,7 @@
  *
  *  @see flash.display.Graphics
  *
- *  @includeExamples examples/RectExample.mxml
- *
+ *  @includeExample examples/RectExample.mxml
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 4804
Author:   jvroom@adobe.com
Date:     2009-02-03T01:56:22.023978Z

Log Message:
-----------
Bugs: LCDS-548: add code to deal with contentType="application/xml" with one parameter (avoid
name/value encoding in that case)
      LCDS-405: baseURL on HTTPMultiService should accept URLs which start with "/"

      Added convertParametersHandler and convertResultsHandler function hooks to RemoteObject
      to support framework code which wants to modify the service behavior.

      Moved "properties" from rpc/http/AbstractOperation to rpc/AbstractOperation so we can use
      it for customizing the handling of remote object results

      Couple of minor ASDoc fixes and one tab -> spaces change

Doc: minor asdoc edits
QE: LCDS QE will verify the bugs in this one
Reviewers: Mete, Pete, Seth, Ed reviewed different parts of this checkin

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractInvoker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPMultiService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/Operation.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/AbstractOperation.as
+++ frameworks/projects/rpc/src/mx/rpc/AbstractOperation.as
@@ -91,6 +91,12 @@
     public var arguments:Object;

     /**
+     * This is a hook primarily for framework developers to register additional user
+     * specified properties for your operation.
+     */
+    public var properties:Object;
+
+    /**
      *  @private
      */
     private var resourceManager:IResourceManager =
@@ -199,8 +205,8 @@
             }
             else
             {
-            	if (_service != null)
-		    _service.dispatchEvent(event);
+                if (_service != null)
+                    _service.dispatchEvent(event);
             }
         }
     }


修复了在动作列表 Dropdown 按 ↑↓ 键翻阅动作时，列表内容切换不正确的 BUG

--- ageb/src/ageb/modules/avatar/timelineClasses/TimelinePanel.as
+++ ageb/src/ageb/modules/avatar/timelineClasses/TimelinePanel.as
@@ -166,7 +166,7 @@
 		 */
 		protected function actionsField_onChange(event:IndexChangeEvent):void
 		{
-			new SelectAction(doc, ActionInfoEditable(actionsField.selectedItem).name).execute();
+			callLater(new SelectAction(doc, ActionInfoEditable(actionsField.selectedItem).name).execute);
 		}

 		/**


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

--- frameworks/projects/mx/src/mx/controls/PopUpButton.as
+++ frameworks/projects/mx/src/mx/controls/PopUpButton.as
@@ -53,6 +53,11 @@
  *  Dispatched when the specified UIComponent closes.
  *
  *  @eventType mx.events.DropdownEvent.CLOSE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="close", type="mx.events.DropdownEvent")]

@@ -60,6 +65,11 @@
  *  Dispatched when the specified UIComponent opens.
  *
  *  @eventType mx.events.DropdownEvent.OPEN
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="open", type="mx.events.DropdownEvent")]

@@ -73,17 +83,32 @@
  *  Number of pixels between the divider line and the right
  *  edge of the component.
  *  The default value is 16.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="arrowButtonWidth", type="Number", format="Length", inherit="no")]

 /**
  *  Length of a close transition, in milliseconds.
  *  The default value is 250.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="closeDuration", type="Number", format="Time", inherit="no")]

 /**
  *  Easing function to control component closing tween.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="closeEasingFunction", type="Function", inherit="no")]

@@ -91,17 +116,32 @@
  *  The default icon class for the main button.
  *
  *  @default null
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="icon", type="Class", inherit="no", states="up, over, down, disabled")]

 /**
  *  Length of an open transition, in milliseconds.
  *  The default value is 250.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="openDuration", type="Number", format="Time", inherit="no")]

 /**
  *  Easing function to control component opening tween.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="openEasingFunction", type="Function", inherit="no")]

@@ -111,6 +151,11 @@
  *  UIComponent object popped up by this control.
  *
  *  @default undefined
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="popUpStyleName", type="String", inherit="no")]

@@ -118,6 +163,11 @@
  *  Skin class for the popUpDown state (when arrowButton is in down
  *  state) of the background and border.
  *  @default mx.skins.halo.PopUpButtonSkin
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="popUpDownSkin", type="Class", inherit="no")]

@@ -125,6 +175,11 @@
  *  Number of vertical pixels between the PopUpButton and the
  *  specified popup UIComponent.
  *  The default value is 0.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="popUpGap", type="Number", format="Length", inherit="no")]

@@ -133,6 +188,11 @@
  *  Supported classes are mx.skins.halo.PopUpIcon
  *  and mx.skins.halo.PopUpMenuIcon.
  *  @default mx.skins.halo.PopUpIcon
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="popUpIcon", type="Class", inherit="no")]

@@ -140,12 +200,22 @@
  *  Skin class for the popUpOver state (over arrowButton) of
  *  the background and border.
  *  @default mx.skins.halo.PopUpButtonSkin
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="popUpOverSkin", type="Class", inherit="no")]

 /**
  *  Default stateful skin class for the control.
  *  @default mx.skins.halo.PopUpButtonSkin
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="skin", type="Class", inherit="no", states="up, over, down, disabled, popUpOver, popUpDown")]

@@ -239,6 +309,11 @@
  *
  *  @includeExample examples/PopUpButtonExample.mxml
  *
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class PopUpButton extends Button
 {
@@ -252,6 +327,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function PopUpButton()
     {
@@ -401,6 +481,11 @@
      *  the openAlways property.
      *
      *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get openAlways():Boolean
     {
@@ -435,6 +520,11 @@
      *  For example, you can specify a Menu, TileList, or Tree control.
      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get popUp():IUIComponent
     {
@@ -671,6 +761,11 @@

     /**
      *  Opens the UIComponent object specified by the popUp property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function open():void
     {
@@ -694,6 +789,11 @@

     /**
      *  Closes the UIComponent object opened by the PopUpButton control.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function close():void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20376
Author:   smgilson@adobe.com
Date:     2011-02-18T16:15:32.721122Z

Log Message:
-----------
Update ASdoc on DataItem.as

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

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/utils/DataItem.as

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

--- frameworks/projects/spark/src/spark/utils/DataItem.as
+++ frameworks/projects/spark/src/spark/utils/DataItem.as
@@ -27,15 +27,22 @@

 /**
- *  A dynamic object with bindable properties.
+ *  The DataItem class represents a dynamic object with bindable properties.
+ *  That means the Flex data binding mechanism recognizes when properties
+ *  of a DataItem change at runtime.
+ *  For example, a Spark DataGrid item renderer relies on data binding
+ *  to a property of the items in the control's data provider.
+ *  Because of data binding, when the property changes at runtime,
+ *  the item renderer updates automatically.
  *
  *
This class is intended to be used in MXML to define object literals
- *  whose properties must be bindable.   It's typically used to define List or
- *  DataGrid dataProvider items within an MXML file for small applications or examples
- *  with item renderers that bind to their data.  Non-trival applications or
- *  any application for which performance is a concern, should define a
- *  [Bindable] class with a fixed set of strongly typed properties
- *  and define dataProvider items with that.

+ *  whose properties must be bindable.
+ *  It's typically used to define List or
+ *  DataGrid data provider items within an MXML file for small applications or examples
+ *  with item renderers that bind to their data.
+ *  Non-trival applications, or any application for which performance is a concern,
+ *  should define a [Bindable] class with a fixed set of
+ *  strongly typed properties and use that class to define data provider items.

  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -44,6 +51,14 @@
  */
 public dynamic class DataItem extends ObjectProxy
 {
+    /**
+     *  Constructor
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
     public function DataItem()
     {
         super();


Transferred from the Adobe Open Source Subversion Repository

Revision: 3710
Author:   gruehle@adobe.com
Date:     2008-10-17T17:46:28.980760Z

Log Message:
-----------
Moved the wireframe skins into a "Wireframe" theme. A subsequent checkin is required to include the theme in the SDK builds.

Spiffed up the wireframe skins a bit to make them look better.

QA: Yes, please add tests that include the wireframe theme. This theme only applies to Gumbo components.
Bugs: SDK-17342, SDK-15855

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxSpinnerSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxHSliderTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxHScrollBarTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/defaults.css</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/wireframe</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxScrollBarLeftButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxRadioButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxHSliderSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxVSliderTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxVScrollBarTrackSkin.mxml</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxNumericStepperSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxDefaultItemRenderer.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxScrollBarDownButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxVSliderSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxScrollBarRightButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxTextAreaSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxToggleButtonSkin.mxml</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/bundles.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/WireframeClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxCheckBoxSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxSpinnerIncrButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxHSliderThumbSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxHScrollBarThumbSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxHScrollBarSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxDefaultComplexItemRenderer.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxTextInputSkin.mxml</path>
<path kind="dir" action="M">/flex/sdk/trunk/frameworks/themes</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxSpinnerDecrButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxVSliderThumbSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxVScrollBarSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxVScrollBarThumbSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/wireframe/FxListSkin.mxml</path>

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

--- frameworks/projects/wireframe/src/WireframeClasses.as
+++ frameworks/projects/wireframe/src/WireframeClasses.as
@@ -0,0 +1,58 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package
+{
+
+/**
+ *  @private
+ *  In some projects, this class is used to link additional classes
+ *  into the SWC beyond those that are found by dependency analysis
+ *  starting from the classes specified in manifest.xml.
+ *  This project has no manifest file (because there are no MXML tags
+ *  corresponding to any classes in it) so all the classes linked into
+ *  the SWC are found by a dependency analysis starting from the classes
+ *  listed here.
+ */
+internal class WireframeClasses
+{
+	import wireframe.FxButtonSkin; FxButtonSkin;
+	import wireframe.FxCheckBoxSkin; FxCheckBoxSkin;
+	import wireframe.FxDefaultComplexItemRenderer; FxDefaultComplexItemRenderer;
+	import wireframe.FxDefaultItemRenderer; FxDefaultItemRenderer;
+	import wireframe.FxHScrollBarSkin; FxHScrollBarSkin;
+	import wireframe.FxHScrollBarThumbSkin; FxHScrollBarThumbSkin;
+	import wireframe.FxHScrollBarTrackSkin; FxHScrollBarTrackSkin;
+	import wireframe.FxHSliderSkin; FxHSliderSkin;
+	import wireframe.FxHSliderThumbSkin; FxHSliderThumbSkin;
+	import wireframe.FxHSliderTrackSkin; FxHSliderTrackSkin;
+	import wireframe.FxListSkin; FxListSkin;
+	import wireframe.FxNumericStepperSkin; FxNumericStepperSkin;
+	import wireframe.FxRadioButtonSkin; FxRadioButtonSkin;
+	import wireframe.FxScrollBarDownButtonSkin; FxScrollBarDownButtonSkin;
+	import wireframe.FxScrollBarLeftButtonSkin; FxScrollBarLeftButtonSkin;
+	import wireframe.FxScrollBarRightButtonSkin; FxScrollBarRightButtonSkin;
+	import wireframe.FxScrollBarUpButtonSkin; FxScrollBarUpButtonSkin;
+	import wireframe.FxSpinnerDecrButtonSkin; FxSpinnerDecrButtonSkin;
+	import wireframe.FxSpinnerIncrButtonSkin; FxSpinnerIncrButtonSkin;
+	import wireframe.FxSpinnerSkin; FxSpinnerSkin;
+	import wireframe.FxTextAreaSkin; FxTextAreaSkin;
+	import wireframe.FxTextInputSkin; FxTextInputSkin;
+	import wireframe.FxToggleButtonSkin; FxToggleButtonSkin;
+	import wireframe.FxVScrollBarSkin; FxVScrollBarSkin;
+	import wireframe.FxVScrollBarThumbSkin; FxVScrollBarThumbSkin;
+	import wireframe.FxVScrollBarTrackSkin; FxVScrollBarTrackSkin;
+	import wireframe.FxVSliderSkin; FxVSliderSkin;
+	import wireframe.FxVSliderThumbSkin; FxVSliderThumbSkin;
+	import wireframe.FxVSliderTrackSkin; FxVSliderTrackSkin;
+}
+
+}


placemarker updates qr code correctly on drag/drop

--- flexEditor/src/org/arisgames/editor/components/PlaceMarker.as
+++ flexEditor/src/org/arisgames/editor/components/PlaceMarker.as
@@ -72,8 +72,7 @@

     public function handleDragEndEvent(event:MapMouseEvent):void
     {
-        trace("Handle Drag End Event called...");
-        trace("Original Latitude: " + placemark.latitude + "; Original Longitude: " + placemark.longitude);
+        trace("PlaceMarker: Handle Drag End Event called...");
         placemark.latitude = event.latLng.lat();
         placemark.longitude = event.latLng.lng();
         trace("Updated Latitude: " + placemark.latitude + "; Updated Longitude: " + placemark.longitude);
@@ -91,6 +90,7 @@
         loc.forceView = placemark.forcedView;
 		loc.quickTravel = placemark.quickTravel;
         loc.error = placemark.errorRange;
+		loc.qrCode = placemark.qrCode;
         trace("location type looked up = '" + loc.type + "'");

         AppServices.getInstance().saveLocation(GameModel.getInstance().game.gameId, loc, new Responder(handleUpdateLocation, handleFault));


- bugfix: To avoid sandbox problems, the ComboBox now only closes on clicks outside of itself but, critically, _inside_ the DocumentView it is contained in. This removes the need for access to the stage.

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@752 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/controls/ComboBox.as
+++ src/reprise/controls/ComboBox.as
@@ -7,6 +7,7 @@

 package reprise.controls
 {
+	import reprise.ui.DocumentView;
 	import reprise.ui.AbstractInput;
 	import reprise.ui.UIComponent;

@@ -151,13 +152,13 @@
 		protected function showList():void
 		{
 			removeEventListener(MouseEvent.MOUSE_DOWN, self_mouseDown);
-			stage.addEventListener(MouseEvent.MOUSE_DOWN, stage_mouseDown);
+			m_rootElement.addEventListener(MouseEvent.MOUSE_DOWN, document_mouseDown);
 			m_list.removeCSSClass('hidden');
 		}

 		protected function hideList():void
 		{
-			stage.removeEventListener(MouseEvent.MOUSE_DOWN, stage_mouseDown);
+			m_rootElement.removeEventListener(MouseEvent.MOUSE_DOWN, document_mouseDown);
 			addEventListener(MouseEvent.MOUSE_DOWN, self_mouseDown);
 			m_list.addCSSClass('hidden');
 		}
@@ -167,7 +168,7 @@
 			showList();
 		}

-		protected function stage_mouseDown(e:MouseEvent):void
+		protected function document_mouseDown(e:MouseEvent):void
 		{
 			if (contains(DisplayObject(e.target)))
 			{


Transferred from the Adobe Open Source Subversion Repository

Revision: 20687
Author:   smgilson@adobe.com
Date:     2011-03-08T20:09:56.755277Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ArrayCollection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/SortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Label.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/PopUpMenuButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/MovieClipSWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionView.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ComboBase.as</path>

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

--- frameworks/projects/framework/src/mx/collections/SortField.as
+++ frameworks/projects/framework/src/mx/collections/SortField.as
@@ -439,6 +439,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function initializeDefaultCompareFunction(obj:Object):void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 21120
Author:   chiedozi@adobe.com
Date:     2011-04-21T23:00:52.918331Z

Log Message:
-----------
SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVE events are now attached to the text component that activates the softkeyboard instead of the application.

QE notes:
Doc notes:
Bugs: SDK-29973
Reviewer: Jason Szeto
Tests run: checkintests-mobile
Is noteworthy for integration:

Modified Paths:
--------------
/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as

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

--- frameworks/projects/spark/src/spark/components/Application.as
+++ frameworks/projects/spark/src/spark/components/Application.as
@@ -1280,9 +1280,6 @@
             addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATE,
                 softKeyboardActivateHandler, true,
                 EventPriority.DEFAULT, true);
-            addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE,
-                softKeyboardDeactivateHandler, true,
-                EventPriority.DEFAULT, true);
         }
     }

@@ -1579,6 +1576,10 @@
      */
     private function softKeyboardActivateHandler(event:SoftKeyboardEvent):void
     {
+        // Add a listener for the softKeyboard deactivate event to the event target
+        event.target.addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE,
+                                      softKeyboardDeactivateHandler);
+
         if (this === FlexGlobals.topLevelApplication)
         {
             // Get the keyboard size
@@ -1614,6 +1615,9 @@
      */
     private function softKeyboardDeactivateHandler(event:SoftKeyboardEvent):void
     {
+        // Remove event listener
+        event.target.removeEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE, softKeyboardDeactivateHandler);
+
         if (this === FlexGlobals.topLevelApplication)
         {
             isSoftKeyboardActive = false;


Removed extra 'i' that crept into code

Removed extra 'i' that crept into code

--- frameworks/projects/framework/src/mx/formatters/DateFormatter.as
+++ frameworks/projects/framework/src/mx/formatters/DateFormatter.as
@@ -279,7 +279,7 @@
                 {
 					// FIXME assumes month come before day ie US style
 					// dates MM/DD/YYYY or year first dates YYYY/MM/DD
-i					if (mon < 0)
+					if (mon < 0)
                         mon = (num - 1);
 					else if (day < 0)
 						day = num;


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

--- frameworks/projects/framework/src/mx/resources/ResourceBundle.as
+++ frameworks/projects/framework/src/mx/resources/ResourceBundle.as
@@ -0,0 +1,454 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.resources
+{
+
+import flash.utils.describeType;
+import flash.system.ApplicationDomain;
+import mx.core.mx_internal;
+import mx.managers.ISystemManager;
+import mx.utils.StringUtil;
+
+/**
+ *  Provides an implementation of the IResourceBundle interface.
+ *  The IResourceManager and IResourceBundle interfaces work together
+ *  to provide internationalization support for Flex applications.
+ *
+ *
A Flex application typically has multiple instances of this class,
+ *  all managed by a single instance of the ResourceManager class.
+ *  It is possible to have ResourceBundle instances for multiple locales,
+ *  one for each locale. There can be multiple ResourceBundle instances with
+ *  different bundle names.

+ *
+ *  @see mx.resources.IResourceBundle
+ *  @see mx.resources.IResourceManager
+ */
+public class ResourceBundle implements IResourceBundle
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Set by SystemManager constructor in order to make the deprecated
+     *  getResourceBundle() method work with the new resource scheme
+     *  in the single-locale case.
+     */
+    mx_internal static var locale:String;
+
+    /**
+     *  @private
+     *  Set by bootstrap loaders
+     *  to allow for alternate search paths for resources
+     */
+    mx_internal static var backupApplicationDomain:ApplicationDomain;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    [Deprecated(replacement="ResourceManager.getResourceBundle()", since="3.0")]
+
+    /**
+     *  If you compiled your application for a single locale,
+     *  this method can return a ResourceBundle when provided
+     *  with a resource bundle name,
+     *
+     *
This method has been deprecated because the Flex framework
+     *  now supports having resource bundles for multiple locales
+     *  in the same application.
+     *  You can use the getResourceBundle() method
+     *  of IResourceManager to get a resource bundle if you know
+     *  its bundle name and locale.
+     *  However, yhou should no longer access resources
+     *  directly from a ResourceBundle.
+     *  All resources should now be accessed via methods
+     *  of the IResourceManager interface such as getString().
+     *  All classes that extend UIComponent, Formatter, or Validator
+     *  have a resourceManager property
+     *  which provides a reference to an object implementing this interface.
+     *  Other classes can call ResourceManager.getInstance()
+     *  to obtain this object.

+     *
+     *  @param baseName The name of the resource bundle to return.
+     *
+     *  @param currentDomain The ApplicationDomain that the resource bundle is in.
+     *
+     *  @return The resource bundle that matches the specified name and domain.
+     */
+    public static function getResourceBundle(
+                                baseName:String,
+                                currentDomain:ApplicationDomain = null):
+                                ResourceBundle
+    {
+        if (!currentDomain)
+            currentDomain = ApplicationDomain.currentDomain;
+
+        var className:String;
+        var bundleClass:Class;
+
+        className = mx_internal::locale + "$" + baseName + "_properties";
+        bundleClass = getClassByName(className, currentDomain);
+
+        if (!bundleClass)
+        {
+            className = baseName + "_properties";
+            bundleClass = getClassByName(className, currentDomain);
+        }
+
+        if (!bundleClass)
+        {
+            className = baseName;
+            bundleClass = getClassByName(className, currentDomain);
+        }
+
+        if (!bundleClass && mx_internal::backupApplicationDomain)
+        {
+            className = baseName + "_properties";
+            bundleClass = getClassByName(className, mx_internal::backupApplicationDomain);
+
+			if (!bundleClass)
+			{
+				className = baseName;
+				bundleClass = getClassByName(className, mx_internal::backupApplicationDomain);
+			}
+        }
+
+        if (bundleClass)
+        {
+            var bundleObj:Object = new bundleClass();
+            if (bundleObj is ResourceBundle)
+            {
+                var bundle:ResourceBundle = ResourceBundle(bundleObj);
+                return bundle;
+            }
+        }
+
+        throw new Error("Could not find resource bundle " + baseName);
+    }
+
+    /**
+     *  @private
+     */
+    private static function getClassByName(name:String,
+                                           domain:ApplicationDomain):Class
+    {
+        var c:Class;
+
+        if (domain.hasDefinition(name))
+            c = domain.getDefinition(name) as Class;
+
+        return c;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param locale A locale string, such as "en_US".
+     *
+     *  @param bundleName A name that identifies this bundle,
+     *  such as "MyResources".
+     */
+    public function ResourceBundle(locale:String = null,
+                                   bundleName:String = null)
+    {
+        // The only reason that the arguments are optional is so that
+        // Flex 3 applications can link against Flex 2 resource SWCs.
+        // In Flex 2, the constructor had no arguments at all
+        // and the autogenerated ResourceBundle subclasses
+        // therefore called super() with no arguments.
+        // If, in Flex 3, the constructor has required arguments,
+        // this causes a VerifyError.
+
+        super();
+
+        mx_internal::_locale = locale;
+        mx_internal::_bundleName = bundleName;
+
+        _content = getContent();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  bundleName
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the bundleName property.
+     */
+    mx_internal var _bundleName:String;
+
+    /**
+     *  @copy mx.resources.IResourceBundle#bundleName
+     */
+    public function get bundleName():String
+    {
+        return mx_internal::_bundleName;
+    }
+
+    //----------------------------------
+    //  content
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the content property.
+     */
+    private var _content:Object = {};
+
+    /**
+     *  @copy mx.resources.IResourceBundle#content
+     */
+    public function get content():Object
+    {
+        return _content;
+    }
+
+    //----------------------------------
+    //  locale
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the locale property.
+     */
+    mx_internal var _locale:String;
+
+    /**
+     *  @copy mx.resources.IResourceBundle#locale
+     */
+    public function get locale():String
+    {
+        return mx_internal::_locale;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  When a properties file is compiled into a resource bundle,
+     *  the MXML compiler autogenerates a subclass of ResourceBundle.
+     *  The subclass overrides this method to return an Object
+     *  that contains key-value pairs for the bundle's resources.
+     *
+     *
If you create your own ResourceBundle instances,
+     *  you can set the key-value pairs on the content object.

+     *
+     *  @return The Object that contains key-value pairs for the bundle's resources.
+     */
+    protected function getContent():Object
+    {
+        return {};
+    }
+
+    [Deprecated(replacement="ResourceManager.getBoolean()", since="3.0")]
+
+    /**
+     *  Gets a Boolean from a ResourceBundle.
+     *
+     *
If the resource specified by the key parameter
+     *  does not exist in this bundle, this method throws an error.

+     *
+     *
This method has been deprecated because all resources
+     *  should now be accessed via methods of the IResourceManager interface.
+     *  You should convert your code to instead call
+     *  the getBoolean()method of IResourceManager.
+     *  All classes that extend UIComponent, Formatter, or Validator
+     *  have a resourceManager property
+     *  that provides a reference to an object implementing this interface.
+     *  Other classes can call the ResourceManager.getInstance()
+     *  method to obtain this object.

+     *
+     *  @param key A String identifying a resource in this ResourceBundle.
+     *
+     *  @param defaultValue The value to return if the resource value,
+     *  after being converted to lowercase, is neither the String
+     *  "true" nor the String "false".
+     *  This parameter is optional; its default value is true.
+     *
+     *  @return The value of the specified resource, as a Boolean.
+     */
+    public function getBoolean(key:String, defaultValue:Boolean = true):Boolean
+    {
+        var temp:String = _getObject(key).toLowerCase();
+
+        if (temp == "false")
+            return false;
+        else if (temp == "true")
+            return true;
+        else
+            return defaultValue;
+    }
+
+    [Deprecated(replacement="ResourceManager.getNumber()", since="3.0")]
+
+    /**
+     *  Gets a Number from a ResourceBundle.
+     *
+     *
If the resource specified by the key parameter
+     *  does not exist in this bundle, this method throws an error.

+     *
+     *
This method has been deprecated because all resources
+     *  should now be accessed via methods of the IResourceManager interface.
+     *  You should convert your code to instead call
+     *  the getNumber(), getInt(),
+     *  or getUint() method of IResourceManager.
+     *  All classes that extend UIComponent, Formatter, or Validator
+     *  have a resourceManager property
+     *  that provides a reference to an object implementing this interface.
+     *  Other classes can call the ResourceManager.getInstance()
+     *  method to obtain this object.

+     *
+     *  @param key A String identifying a resource in this ResourceBundle.
+     *
+     *  @return The value of the specified resource, as a Number.
+     */
+    public function getNumber(key:String):Number
+    {
+        return Number(_getObject(key));
+    }
+
+    [Deprecated(replacement="ResourceManager.getString()", since="3.0")]
+
+    /**
+     *  Gets a String from a ResourceBundle.
+     *
+     *
If the resource specified by the key parameter
+     *  does not exist in this bundle, this method throws an error.

+     *
+     *
This method has been deprecated because all resources
+     *  should now be accessed via methods of the IResourceManager interface.
+     *  You should convert your code to instead call
+     *  the getString() method of IResourceManager.
+     *  All classes that extend UIComponent, Formatter, or Validator
+     *  have a resourceManager property
+     *  that provides a reference to an object implementing this interface.
+     *  Other classes can call the ResourceManager.getInstance()
+     *  method to obtain this object.

+     *
+     *  @param key A String identifying a resource in this ResourceBundle.
+     *
+     *  @return The value of the specified resource, as a String.
+     */
+    public function getString(key:String):String
+    {
+        return String(_getObject(key));
+    }
+
+    [Deprecated(replacement="ResourceManager.getStringArray()", since="3.0")]
+
+    /**
+     *  Gets an Array of Strings from a ResourceBundle.
+     *
+     *
The Array is produced by assuming that the actual value
+     *  of the resource is a String containing comma-separated items,
+     *  such as "India, China, Japan".
+     *  After splitting the String at the commas, any white space
+     *  before or after each item is trimmed.

+     *
+     *
If the resource specified by the key parameter
+     *  does not exist in this bundle, this method throws an error.

+     *
+     *
This method has been deprecated because all resources
+     *  should now be accessed via methods of the IResourceManager interface.
+     *  You should convert your code to instead call
+     *  the getStringArray() method of IResourceManager.
+     *  All classes that extend UIComponent, Formatter, or Validator
+     *  have a resourceManager property
+     *  which provides a reference to an object implementing this interface.
+     *  Other classes can call ResourceManager.getInstance()
+     *  to obtain this object.

+     *
+     *  @param key A String identifying a resource in this ResourceBundle.
+     *
+     *  @return The value of the specified resource,
+     *  as an Array of Strings.
+     */
+    public function getStringArray(key:String):Array
+    {
+        var array:Array = _getObject(key).split(",");
+
+        var n:int = array.length;
+        for (var i:int = 0; i < n; i++)
+        {
+             array[i] = StringUtil.trim(array[i]);
+        }
+
+        return array;
+    }
+
+    [Deprecated(replacement="ResourceManager.getObject()", since="3.0")]
+
+    /**
+     *  Gets an Object from a ResourceBundle.
+     *
+     *
If the resource specified by the key parameter
+     *  does not exist in this bundle, this method throws an error.

+     *
+     *
This method has been deprecated because all resources
+     *  should now be accessed via methods of the IResourceManager interface.
+     *  You should convert your code to instead call
+     *  the getObject() or getClass() method
+     *  of IResourceManager.
+     *  All classes that extend UIComponent, Formatter, or Validator
+     *  have a resourceManager property
+     *  that provides a reference to an object implementing this interface.
+     *  Other classes can call the ResourceManager.getInstance()
+     *  method to obtain this object.

+     *
+     *  @param key A String identifying a resource in this ResourceBundle.
+     *
+     *  @return An Object that is the value of the specified resource.
+     */
+    public function getObject(key:String):Object
+    {
+        return _getObject(key);
+    }
+
+    /**
+     *  @private
+     */
+    private function _getObject(key:String):Object
+    {
+        var value:Object = content[key];
+        if (!value)
+        {
+            throw new Error("Key " + key +
+                            " was not found in resource bundle " + bundleName);
+        }
+        return value;
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.skins.halo
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 16946
Author:   jimurphy@adobe.com
Date:     2010-07-15T19:35:19.689574Z

Log Message:
-----------
Commit for Tom Jordahl
Add a [Mixin] class that will register the required class aliases in the event the mxml compiler generation  [RemoteClass(alias="")] code is not called because an application does not use the Flex UI framework.

Add a reference to this class in the RPCClasses file so it always gets loaded.

QE notes: Need a remoting and messaging regression test that doesn't use Flex UI.
Bugs: Watson bug 2638788

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/rpc/src/mx/utils/RpcClassAliasInitializer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/rpc/src/RPCClasses.as</path>

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

--- frameworks/projects/rpc/src/mx/utils/RpcClassAliasInitializer.as
+++ frameworks/projects/rpc/src/mx/utils/RpcClassAliasInitializer.as
@@ -0,0 +1,100 @@
+/**************************************************************************
+ * ADOBE CONFIDENTIAL
+ *
+ * ___________________
+ *
+ *  Copyright 2010 Adobe Systems Incorporated
+ *  All Rights Reserved.
+ *
+ * NOTICE:  All information contained herein is, and remains
+ * the property of Adobe Systems Incorporated and its suppliers,
+ * if any.  The intellectual and technical concepts contained
+ * herein are proprietary to Adobe Systems Incorporated and its
+ * suppliers and may be covered by U.S. and Foreign Patents,
+ * patents in process, and are protected by trade secret or copyright law.
+ * Dissemination of this information or reproduction of this material
+ * is strictly forbidden unless prior written permission is obtained
+ * from Adobe Systems Incorporated.
+ **************************************************************************/
+
+package mx.utils
+{
+import flash.net.registerClassAlias;
+
+import mx.collections.ArrayCollection;
+import mx.collections.ArrayList;
+import mx.managers.ISystemManager;
+import mx.messaging.config.ConfigMap;
+import mx.messaging.management.MBeanAttributeInfo;
+import mx.messaging.management.MBeanConstructorInfo;
+import mx.messaging.management.MBeanFeatureInfo;
+import mx.messaging.management.MBeanInfo;
+import mx.messaging.management.MBeanOperationInfo;
+import mx.messaging.management.MBeanParameterInfo;
+import mx.messaging.management.ObjectInstance;
+import mx.messaging.management.ObjectName;
+import mx.messaging.messages.AcknowledgeMessage;
+import mx.messaging.messages.AcknowledgeMessageExt;
+import mx.messaging.messages.AsyncMessage;
+import mx.messaging.messages.AsyncMessageExt;
+import mx.messaging.messages.CommandMessage;
+import mx.messaging.messages.CommandMessageExt;
+import mx.messaging.messages.ErrorMessage;
+import mx.messaging.messages.HTTPRequestMessage;
+import mx.messaging.messages.MessagePerformanceInfo;
+import mx.messaging.messages.RemotingMessage;
+import mx.messaging.messages.SOAPMessage;
+
+[Mixin]
+public class RpcClassAliasInitializer
+{
+    public static function init(systemManager:ISystemManager):void
+    {
+        registerClassAliases();
+    }
+
+    /**
+     * In the event that an application does not use the Flex UI classes which processes
+     * the [RemoteClass(alias="")] bootstrap code, this function will register all the
+     * classes for AMF serialization needed by the flex rpc library.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public static function registerClassAliases():void
+    {
+        // Flex classes
+        registerClassAlias("flex.messaging.io.ArrayCollection", ArrayCollection);
+        registerClassAlias("flex.messaging.io.ArrayList", ArrayList);
+        registerClassAlias("flex.messaging.io.ObjectProxy", ObjectProxy);
+
+        // rpc classes
+        registerClassAlias("flex.messaging.messages.AcknowledgeMessage", AcknowledgeMessage);
+        registerClassAlias("DSK", AcknowledgeMessageExt);
+        registerClassAlias("flex.messaging.messages.AsyncMessage", AsyncMessage);
+        registerClassAlias("DSA", AsyncMessageExt);
+        registerClassAlias("flex.messaging.messages.CommandMessage", CommandMessage);
+        registerClassAlias("DSC", CommandMessageExt);
+        registerClassAlias("flex.messaging.config.ConfigMap", ConfigMap);
+        registerClassAlias("flex.messaging.messages.ErrorMessage", ErrorMessage);
+        registerClassAlias("flex.messaging.messages.HTTPMessage", HTTPRequestMessage);
+        registerClassAlias("flex.messaging.messages.MessagePerformanceInfo", MessagePerformanceInfo);
+        registerClassAlias("flex.messaging.io.ObjectProxy", ObjectProxy);
+        registerClassAlias("flex.messaging.messages.ObjectProxy", RemotingMessage);
+        registerClassAlias("flex.messaging.messages.SOAPMessage", SOAPMessage);
+
+        // management classes - these are used in the flexadmin UI program,
+        // so will get registered in the usual way, don't do them here
+        //registerClassAlias("flex.management.jmx.MBeanAttributeInfo", MBeanAttributeInfo);
+        //registerClassAlias("flex.management.jmx.MBeanConstructorInfo", MBeanConstructorInfo);
+        //registerClassAlias("flex.management.jmx.MBeanFeatureInfo", MBeanFeatureInfo);
+        //registerClassAlias("flex.management.jmx.MBeanInfo", MBeanInfo);
+        //registerClassAlias("flex.management.jmx.MBeanOperationInfo", MBeanOperationInfo);
+        //registerClassAlias("flex.management.jmx.MBeanParameterInfo", MBeanParameterInfo);
+        //registerClassAlias("flex.management.jmx.ObjectInstance", ObjectInstance);
+        //registerClassAlias("flex.management.jmx.ObjectName", ObjectName);
+    }
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 2464
Author:   jimurphy@adobe.com
Date:     2008-07-14T19:50:33.449468Z

Log Message:
-----------
add flex 4 to trunk

Modified Paths:
--------------
134 paths were modified

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

--- frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as
+++ frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as
@@ -0,0 +1,270 @@
+package flex.filters
+{
+import flash.filters.BitmapFilter;
+import flash.filters.ConvolutionFilter;
+
+public class ConvolutionFilter extends BaseFilter implements IBitmapFilter
+{
+	public function ConvolutionFilter(matrixX:Number = 0, matrixY:Number = 0,
+	                                  matrix:Array = null, divisor:Number = 1.0,
+	                                  bias:Number = 0.0,
+	                                  preserveAlpha:Boolean = true,
+	                                  clamp:Boolean = true, color:uint = 0,
+	                                  alpha:Number = 0.0)
+	{
+		this.matrixX = matrixX;
+		this.matrixY = matrixY;
+		this.matrix = matrix;
+		this.divisor = divisor;
+		this.bias = bias;
+		this.preserveAlpha = preserveAlpha;
+		this.clamp = clamp;
+		this.color = color;
+		this.alpha = alpha;
+	}
+
+	//----------------------------------
+    //  alpha
+    //----------------------------------
+
+	private var _alpha:Number = 1.0;
+
+	/**
+	 *  The alpha transparency value for the color. Valid values are 0 to 1.
+	 *  For example, .25 sets a transparency value of 25%.
+	 *
+	 *  @default 1
+	 */
+	public function get alpha():Number
+	{
+		return _alpha;
+	}
+
+	public function set alpha(value:Number):void
+	{
+		if (value != _alpha)
+		{
+			_alpha = value;
+			notifyFilterChanged();
+		}
+	}
+
+	//----------------------------------
+    //  bias
+    //----------------------------------
+
+	private var _bias:Number = 0;
+
+	/**
+	 *  The amount of bias to add to the result of the matrix transformation.
+	 *  The bias increases the color value of each channel, so that dark colors
+	 *  appear brighter.
+	 *
+	 *  @default 0
+	 */
+	public function get bias():Number
+	{
+		return _bias;
+	}
+
+	public function set bias(value:Number):void
+	{
+		if (value != _bias)
+		{
+			_bias = value;
+			notifyFilterChanged();
+		}
+	}
+
+	//----------------------------------
+    //  clamp
+    //----------------------------------
+
+	private var _clamp:Boolean = true;
+
+	/**
+	 *  Indicates whether the image should be clamped. For pixels off the source image,
+	 *  a value of true indicates that the input image is extended along each of its
+	 *  borders as necessary by duplicating the color values at each respective edge of
+	 *  the input image. A value of false indicates that another color should be used,
+	 *  as specified in the color and alpha properties.
+	 *
+	 *  @default true
+	 */
+	public function get clamp():Boolean
+	{
+		return _clamp;
+	}
+
+	public function set clamp(value:Boolean):void
+	{
+		if (value != _clamp)
+		{
+			_clamp = value;
+			notifyFilterChanged();
+		}
+	}
+
+	//----------------------------------
+    //  color
+    //----------------------------------
+
+	private var _color:uint = 0xFF0000;
+
+	/**
+	 *  The color of the glow. Valid values are in the hexadecimal format
+	 * 	0xRRGGBB.
+	 *  @default 0xFF0000
+	 */
+	public function get color():uint
+	{
+		return _color;
+	}
+
+	public function set color(value:uint):void
+	{
+		if (value != _color)
+		{
+			_color = value;
+			notifyFilterChanged();
+		}
+	}
+
+	//----------------------------------
+    //  divisor
+    //----------------------------------
+
+	private var _divisor:Number = 1.0;
+
+	/**
+	 * The divisor used during matrix transformation. The default value is 1.
+	 * A divisor that is the sum of all the matrix values smooths out the overall
+	 * color intensity of the result. A value of 0 is ignored and the default is
+	 * used instead.
+	 */
+	public function get divisor():Number
+	{
+		return _divisor;
+	}
+
+	public function set divisor(value:Number):void
+	{
+		if (value != _divisor)
+		{
+			_divisor = value;
+			notifyFilterChanged();
+		}
+	}
+
+	//----------------------------------
+    //  matrix
+    //----------------------------------
+
+	private var _matrix:Array = [];
+
+	/**
+	 *  The amount of horizontal blur. Valid values are 0 to 255. A blur of 1
+	 *  or less means that the original image is copied as is. The default
+	 *  value is 4. Values that are a power of 2 (such as 2, 4, 8, 16, and 32)
+	 *  are optimized to render more quickly than other values.
+	 */
+	public function get matrix():Array
+	{
+		return _matrix;
+	}
+
+	public function set matrix(value:Array):void
+	{
+		if (value != _matrix)
+		{
+			_matrix = value;
+			notifyFilterChanged();
+		}
+	}
+
+	//----------------------------------
+    //  matrixX
+    //----------------------------------
+
+	private var _matrixX:Number = 0;
+
+	/**
+	 * The x dimension of the matrix (the number of columns in the matrix).
+	 * @default 0
+	 */
+	public function get matrixX():Number
+	{
+		return _matrixX;
+	}
+
+	public function set matrixX(value:Number):void
+	{
+		if (value != _matrixX)
+		{
+			_matrixX = value;
+			notifyFilterChanged();
+		}
+	}
+
+	//----------------------------------
+    //  matrixY
+    //----------------------------------
+
+	private var _matrixY:Number = 0;
+
+	/**
+	 * The y dimension of the matrix (the number of columns in the matrix).
+	 * @default 0
+	 */
+	public function get matrixY():Number
+	{
+		return _matrixY;
+	}
+
+	public function set matrixY(value:Number):void
+	{
+		if (value != _matrixY)
+		{
+			_matrixY = value;
+			notifyFilterChanged();
+		}
+	}
+
+	//----------------------------------
+    //  preserveAlpha
+    //----------------------------------
+
+	private var _preserveAlpha:Boolean = true;
+
+	/**
+	 *  Indicates if the alpha channel is preserved without the filter effect or
+	 *  if the convolution filter is applied to the alpha channel as well as the
+	 *  color channels. A value of false indicates that the convolution applies to
+	 *  all channels, including the alpha channel. A value of true indicates that
+	 *  the convolution applies only to the color channels.
+	 *
+	 *  @default true
+	 */
+	public function get preserveAlpha():Boolean
+	{
+		return _preserveAlpha;
+	}
+
+	public function set preserveAlpha(value:Boolean):void
+	{
+		if (value != _preserveAlpha)
+		{
+			_preserveAlpha = value;
+			notifyFilterChanged();
+		}
+	}
+
+	public function clone():BitmapFilter
+	{
+		return new flash.filters.ConvolutionFilter(matrixX, matrixY, matrix, divisor,
+												   bias, preserveAlpha, clamp, color,
+												   alpha);
+	}
+
+}
+}


update version to 2.1.0

update version to 2.1.0

--- FlexUnit4/src/org/flexunit/runner/FlexUnitCore.as
+++ FlexUnit4/src/org/flexunit/runner/FlexUnitCore.as
@@ -46,7 +46,7 @@
 	[Event(type="testsStopped", type="flash.events.Event")]

 	/**
-	 * FlexUnit4 Version: 4.1.00

+	 * FlexUnit4 Version: 4.2.0

 	 *
 	 * The FlexUnitCore is responsible for executing objects that implement an IRequest
 	 * interface.  There are several ways that the IRequest can be provided to the
@@ -145,7 +145,7 @@
 		 * Returns the version number.
 		 */
 		public static function get version():String {
-			return "4.1.0";
+			return "4.2.0";
 		}

 		/**