removing trace

removing trace

--- actionscript/NumberUtils.as
+++ actionscript/NumberUtils.as
@@ -26,7 +26,7 @@
 		else
 			var num:Array = String(i).split('.');

-		trace ("a: " + num[0] + ":" + num[1]);
+		//trace ("a: " + num[0] + ":" + num[1]);
 		var x:String = num[0];
 		var pos:Number=0;
 		var c:Number=0;


UPDATED doc comment

UPDATED doc comment

--- actionscript/src/com/marpies/ane/vk/VK.as
+++ actionscript/src/com/marpies/ane/vk/VK.as
@@ -231,7 +231,7 @@
         }

         /**
-         * Getter for internal request builder used for creating and sending requests to VK network.
+         * Getter for internal sharing builder used for creating and showing native UI share dialog.
          */
         public static function get share():VKShareBuilder {
             if( !isSupported ) return null;


Stick button shows target fully inside the circle

--- tests/KeyActionBinderTester/src/src/com/zehfernando/keyactionbindertester/display/gamepad/StickButtonView.as
+++ tests/KeyActionBinderTester/src/src/com/zehfernando/keyactionbindertester/display/gamepad/StickButtonView.as
@@ -61,8 +61,8 @@
 			// Re-apply the current state
 			fillView.scaleX = fillView.scaleY = _value;
 			strokeView.alpha = _pressed ? 1 : 0.25;
-			stickView.x = radius * _valueX;
-			stickView.y = radius * _valueY;
+			stickView.x = radius * 0.75 * _valueX;
+			stickView.y = radius * 0.75 * _valueY;
 		}


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

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

 package spark.automation.delegates.components
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19859
Author:   deeptika@adobe.com
Date:     2011-01-21T05:08:25.901634Z

Log Message:
-----------
Fixing NPE in case of null contentGroup

QE notes:
Doc notes:
Bugs: FLEXENT-1337 (SkinnableContainerSkin with optional contentGroup causes Automation Exception)
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkApplicationAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSkinnableContainerAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkPanelAutomationImpl.as</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkApplicationAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkApplicationAutomationImpl.as
@@ -11,198 +11,199 @@

 package spark.automation.delegates.components
 {
-    import flash.display.DisplayObject;
-    import flash.display.DisplayObjectContainer;
-
-    import mx.automation.Automation;
-    import mx.automation.IAutomationManager2;
-    import mx.automation.IAutomationObject;
-    import mx.core.mx_internal;
-
-    import spark.components.Application;
-    import spark.core.IViewport;
-
-    use namespace mx_internal;
-
-    [Mixin]
-    /**
-     *
-     *  Defines the methods and properties required to perform instrumentation for the
-     *  Application class.
-     *
-     *  @see spark.components.Application
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public class SparkApplicationAutomationImpl extends SparkSkinnableContainerAutomationImpl
-    {
-
-        include "../../../core/Version.as";
-
-        //--------------------------------------------------------------------------
-        //
-        //  Class methods
-        //
-        //--------------------------------------------------------------------------
-
-        /**
-         *  Registers the delegate class for a component class with automation manager.
-         *
-         *  @param root The SystemManger of the application.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        public static function init(root:DisplayObject):void
-        {
-            Automation.registerDelegateClass(spark.components.Application, SparkApplicationAutomationImpl);
-        }
-
-        //--------------------------------------------------------------------------
-        //
-        //  Constructor
-        //
-        //--------------------------------------------------------------------------
-
-        /**
-         *  Constructor.
-         *
-         * @param obj Application object to be automated.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        public function SparkApplicationAutomationImpl(obj:spark.components.Application)
-        {
-            super(obj);
-            recordClick = true;
-            var am:IAutomationManager2 = Automation.automationManager2;
-            am.registerNewApplication(obj);
-        }
-
-        /**
-         *  @private
-         */
-        override public function get automationName():String
-        {
-            var am:IAutomationManager2 = Automation.automationManager2;
-            return am.getUniqueApplicationID();
-        }
-
-        /**
-         *  @private
-         */
-        protected function get application():spark.components.Application
-        {
-            return uiComponent as spark.components.Application;
-        }
-
-        /**
-         *  @private
-         */
-        override protected function componentInitialized():void
-        {
-            super.componentInitialized();
-            // Override for situations where an app is loaded into another
-            // application. Find the Flex loader that contains us.
-            var owner:IAutomationObject = application.owner as IAutomationObject;
-
-            if ((!owner)  && application.systemManager.isTopLevel() == false)
-            {
-                try
-                {
-                    var findAP:DisplayObject = application.parent;
-
-                    owner = findAP as IAutomationObject;
-                    while (findAP && !(owner))
-                    {
-                        findAP = findAP.parent;
-                        owner = findAP as IAutomationObject;
-                    }
-
-                    application.owner = owner as DisplayObjectContainer;
-                }
-                catch (e:Error)
-                {
-                }
-            }
-        }
-
-
-        /**
-         *  @private
-         */
-        override public function getAutomationChildren():Array
-        {
-            var childList:Array = new Array();
-
-            var am:IAutomationManager2 = Automation.automationManager2;
-
-            // Add the children in Control Bar first
-            // For Halo application, control bar used to be an object of type
-            // ApplicationControlBar which used to contain all the controls
-            // that are intended to appear in control bar. It had a property to dock.
-            // But in spark application, all the contents of control bar are added as
-            // direct children of a group which inturn is a child of Application.
-            // Group doesn't have a property to dock. So we assume we need not handle
-            // that case for spark applications. Also the controls in controlBarGroup
-            // are added as direct children of application as in the case of the controls
-            // in contentGroup
-            var tempChildren:Array  = getControlBarChildren();
-            if(tempChildren)
-            {
-                n = tempChildren.length;
-                for ( i = 0; i < n ; i++)
-                {
-                    childList.push(tempChildren[i] as IAutomationObject);
-                }
-            }
-
-            n = application.contentGroup.numChildren;
-            for (i = 0; i < n ; i++)
-            {
-                var obj:Object = application.contentGroup.getChildAt(i);
-                // here if are getting scrollers, we need to add the viewport's children as the actual children
-                // instead of the scroller
-                if(obj is spark.components.Scroller)
-                {
-                    var scroller:spark.components.Scroller = obj as spark.components.Scroller;
-                    var viewPort:IViewport =  scroller.viewport;
-                    if(viewPort is IAutomationObject)
-                        childList.push(viewPort);
-                    if(scroller.horizontalScrollBar)
-                        childList.push(scroller.horizontalScrollBar);
-                    if(scroller.verticalScrollBar)
-                        childList.push(scroller.verticalScrollBar);
-                }
-                else
-                    childList.push(obj as IAutomationObject);
-            }
-
-            tempChildren =  application.repeaters;
-            if (tempChildren)
-            {
-                n = tempChildren.length;
-                for (i = 0; i < n ; i++)
-                {
-                    childList.push(tempChildren[i] as IAutomationObject);
-                }
-            }
-
-            var scrollBars:Array = getScrollBars(application, application.contentGroup);
-            n = scrollBars ? scrollBars.length :0;
-
-            for ( i=0; i<n ; i++)
-            {
-                childList.push(scrollBars[i]);
-            }
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+
+	import mx.automation.Automation;
+	import mx.automation.IAutomationManager2;
+	import mx.automation.IAutomationObject;
+	import mx.core.mx_internal;
+
+	import spark.components.Application;
+	import spark.core.IViewport;
+
+	use namespace mx_internal;
+
+	[Mixin]
+	/**
+	 *
+	 *  Defines the methods and properties required to perform instrumentation for the
+	 *  Application class.
+	 *
+	 *  @see spark.components.Application
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
+	 */
+	public class SparkApplicationAutomationImpl extends SparkSkinnableContainerAutomationImpl
+	{
+
+		include "../../../core/Version.as";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Class methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Registers the delegate class for a component class with automation manager.
+		 *
+		 *  @param root The SystemManger of the application.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public static function init(root:DisplayObject):void
+		{
+			Automation.registerDelegateClass(spark.components.Application, SparkApplicationAutomationImpl);
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor.
+		 *
+		 * @param obj Application object to be automated.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function SparkApplicationAutomationImpl(obj:spark.components.Application)
+		{
+			super(obj);
+			recordClick = true;
+			var am:IAutomationManager2 = Automation.automationManager2;
+			am.registerNewApplication(obj);
+		}
+
+		/**
+		 *  @private
+		 */
+		override public function get automationName():String
+		{
+			var am:IAutomationManager2 = Automation.automationManager2;
+			return am.getUniqueApplicationID();
+		}
+
+		/**
+		 *  @private
+		 */
+		protected function get application():spark.components.Application
+		{
+			return uiComponent as spark.components.Application;
+		}
+
+		/**
+		 *  @private
+		 */
+		override protected function componentInitialized():void
+		{
+			super.componentInitialized();
+			// Override for situations where an app is loaded into another
+			// application. Find the Flex loader that contains us.
+			var owner:IAutomationObject = application.owner as IAutomationObject;
+
+			if ((!owner)  && application.systemManager.isTopLevel() == false)
+			{
+				try
+				{
+					var findAP:DisplayObject = application.parent;
+
+					owner = findAP as IAutomationObject;
+					while (findAP && !(owner))
+					{
+						findAP = findAP.parent;
+						owner = findAP as IAutomationObject;
+					}
+
+					application.owner = owner as DisplayObjectContainer;
+				}
+				catch (e:Error)
+				{
+				}
+			}
+		}
+
+
+		/**
+		 *  @private
+		 */
+		override public function getAutomationChildren():Array
+		{
+			var childList:Array = new Array();
+
+			var am:IAutomationManager2 = Automation.automationManager2;
+
+			// Add the children in Control Bar first
+			// For Halo application, control bar used to be an object of type
+			// ApplicationControlBar which used to contain all the controls
+			// that are intended to appear in control bar. It had a property to dock.
+			// But in spark application, all the contents of control bar are added as
+			// direct children of a group which inturn is a child of Application.
+			// Group doesn't have a property to dock. So we assume we need not handle
+			// that case for spark applications. Also the controls in controlBarGroup
+			// are added as direct children of application as in the case of the controls
+			// in contentGroup
+			var tempChildren:Array  = getControlBarChildren();
+			if(tempChildren)
+			{
+				n = tempChildren.length;
+				for ( i = 0; i < n ; i++)
+				{
+					childList.push(tempChildren[i] as IAutomationObject);
+				}
+			}
+			if(application.contentGroup)
+			{
+				n = application.contentGroup.numChildren;
+				for (i = 0; i < n ; i++)
+				{
+					var obj:Object = application.contentGroup.getChildAt(i);
+					// here if are getting scrollers, we need to add the viewport's children as the actual children
+					// instead of the scroller
+					if(obj is spark.components.Scroller)
+					{
+						var scroller:spark.components.Scroller = obj as spark.components.Scroller;
+						var viewPort:IViewport =  scroller.viewport;
+						if(viewPort is IAutomationObject)
+							childList.push(viewPort);
+						if(scroller.horizontalScrollBar)
+							childList.push(scroller.horizontalScrollBar);
+						if(scroller.verticalScrollBar)
+							childList.push(scroller.verticalScrollBar);
+					}
+					else
+						childList.push(obj as IAutomationObject);
+				}
+			}
+			tempChildren =  application.repeaters;
+			if (tempChildren)
+			{
+				n = tempChildren.length;
+				for (i = 0; i < n ; i++)
+				{
+					childList.push(tempChildren[i] as IAutomationObject);
+				}
+			}
+
+			var scrollBars:Array = getScrollBars(application, application.contentGroup);
+			n = scrollBars ? scrollBars.length :0;
+
+			for ( i=0; i<n ; i++)
+			{
+				childList.push(scrollBars[i]);
+			}
 			// we need to add popup children

 			var tempChildren1:Array  = am.getPopUpChildren();
@@ -215,50 +216,50 @@
 				for (i = 0; i < n ; i++)
 					childList.push(tempChildren1[i] as IAutomationObject);
 			}
-            return childList;
-        }
-
-        /**
-         *  @private
-         */
-        private function getControlBarChildren():Array
-        {
-            var childrenList:Array = new Array();
-            if(application.controlBarGroup != null)
-            {
-                var n:int = application.controlBarGroup.numChildren;
-                for (var i:int = 0; i < n ; i++)
-                {
-                    var obj:Object = application.controlBarGroup.getChildAt(i);
-                    childrenList.push(obj);
-                }
-            }
-            return childrenList;
-        }
-
-        /**
-         *  @private
-         */
-        override public function getAutomationChildAt(index:int):IAutomationObject
-        {
-            var controlBarChildren:Array = getControlBarChildren();
-            if(index < controlBarChildren.length)
-                return  controlBarChildren[index] as IAutomationObject;
-
-            var numChildren:int = application.contentGroup.numChildren;
-            numChildren += controlBarChildren;
-            if(index < numChildren )
-                return   application.contentGroup.getChildAt(index) as IAutomationObject;
-            else
-            {
-                index = index - numChildren;
-                var scrollBars:Array = getScrollBars(application,application.contentGroup);
-                if(scrollBars && index < scrollBars.length)
-                    return scrollBars[index];
-            }
-            return null;
-        }
-
-    }
-
+			return childList;
+		}
+
+		/**
+		 *  @private
+		 */
+		private function getControlBarChildren():Array
+		{
+			var childrenList:Array = new Array();
+			if(application.controlBarGroup != null)
+			{
+				var n:int = application.controlBarGroup.numChildren;
+				for (var i:int = 0; i < n ; i++)
+				{
+					var obj:Object = application.controlBarGroup.getChildAt(i);
+					childrenList.push(obj);
+				}
+			}
+			return childrenList;
+		}
+
+		/**
+		 *  @private
+		 */
+		override public function getAutomationChildAt(index:int):IAutomationObject
+		{
+			var controlBarChildren:Array = getControlBarChildren();
+			if(index < controlBarChildren.length)
+				return  controlBarChildren[index] as IAutomationObject;
+
+			var numChildren:int = application.contentGroup.numChildren;
+			numChildren += controlBarChildren;
+			if(index < numChildren )
+				return   application.contentGroup.getChildAt(index) as IAutomationObject;
+			else
+			{
+				index = index - numChildren;
+				var scrollBars:Array = getScrollBars(application,application.contentGroup);
+				if(scrollBars && index < scrollBars.length)
+					return scrollBars[index];
+			}
+			return null;
+		}
+
+	}
+
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3522
Author:   jimurphy@adobe.com
Date:     2008-10-08T19:35:01.705756Z

Log Message:
-----------
rename of the rename:
-FxItemsComponent to FxContainer
-FxDataComponent to FxDataContainer
-FxItemsComponentSkin to FxContainerSkin
-FxDataComponentSkin to FxDataContainerSkin
-FxSelector to FxListBase

Modified Paths:
--------------
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxItemsComponentSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDataComponentSkin.mxml" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDataContainerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSelector.as" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/gumbo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxSelectorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxApplication.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxItemsComponentSkin.mxml" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxContainerSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxItemsComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/flex4/flex4test.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSelector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataComponent.as" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDataComponentSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxItemsComponent.as" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -26,13 +26,13 @@
 import mx.skins.spark.FxApplicationSkin; FxApplicationSkin;
 import mx.skins.spark.FxButtonSkin; FxButtonSkin;
 import mx.skins.spark.FxCheckBoxSkin; FxCheckBoxSkin;
-import mx.skins.spark.FxDataComponentSkin; FxDataComponentSkin;
+import mx.skins.spark.FxDataContainerSkin; FxDataContainerSkin;
 import mx.skins.spark.FxHScrollBarSkin; FxHScrollBarSkin;
 import mx.skins.spark.FxHScrollBarThumbSkin; FxHScrollBarThumbSkin;
 import mx.skins.spark.FxHSliderSkin; FxHSliderSkin;
 import mx.skins.spark.FxHSliderThumbSkin; FxHSliderThumbSkin;
 import mx.skins.spark.FxHSliderTrackSkin; FxHSliderTrackSkin;
-import mx.skins.spark.FxItemsComponentSkin; FxItemsComponentSkin;
+import mx.skins.spark.FxContainerSkin; FxContainerSkin;
 import mx.skins.spark.FxListSkin; FxListSkin;
 import mx.skins.spark.FxNumericStepperSkin; FxNumericStepperSkin;
 import mx.skins.spark.FxRadioButtonSkin; FxRadioButtonSkin;


added ASDoc for the Geometry constructor

--- src/aerys/minko/scene/node/mesh/geometry/Geometry.as
+++ src/aerys/minko/scene/node/mesh/geometry/Geometry.as
@@ -137,6 +137,21 @@
 			return _vertexStreams.length ? _vertexStreams[0].format : null;
 		}

+		/**
+		 * Create a new Geometry object.
+		 *
+		 * @param vertexStreams A vector of IVertexStream object where each stream is a keyframe used
+		 * for hardware vertex-morphing animations. If the object does not use vertex-morphing, you should
+		 * provide a vector with only one element.
+		 *
+		 * @param indexStream The IndexStream objects containing the triangles to render.
+		 *
+		 * @param firstIndex The index of the first vertex index in the IndexStream. Default is 0.
+		 *
+		 * @param numTriangles The number of triangles to render, starting from 'firstIndex'. Use -1 to
+		 * draw all the triangles. Default is -1.
+		 *
+		 */
 		public function Geometry(vertexStreams	: Vector.<IVertexStream>	= null,
 								 indexStream	: IndexStream				= null,
 								 firstIndex		: uint						= 0,


arrayed BS, blend & discard icons by distance

--- bin/Data/Scripts/Editor/EditorViewDebugIcons.as
+++ bin/Data/Scripts/Editor/EditorViewDebugIcons.as
@@ -1,482 +1,282 @@
 // Editor debug icons
-
-BillboardSet@ debugIconsSetDirectionalLights;
-BillboardSet@ debugIconsSetSpotLights;
-BillboardSet@ debugIconsSetPointLights;
-BillboardSet@ debugIconsSetCameras;
-BillboardSet@ debugIconsSetSoundSources;
-BillboardSet@ debugIconsSetSoundSources3D;
-BillboardSet@ debugIconsSetSoundListeners;
-BillboardSet@ debugIconsSetZones;
-BillboardSet@ debugIconsSetSplinesPoints;
-BillboardSet@ debugIconsSetTriggers;
-BillboardSet@ debugIconsSetCustomGeometry;
-BillboardSet@ debugIconsSetParticleEmitters;
-
-
-
+// to add new std debug icons just add IconType, IconsTypesMaterials and ComponentTypes items
+
+enum IconsTypes
+{
+    ICON_POINT_LIGHT = 0,
+    ICON_SPOT_LIGHT,
+    ICON_DIRECTIONAL_LIGHT,
+    ICON_CAMERA,
+    ICON_SOUND_SOURCE,
+    ICON_SOUND_SOURCE_3D,
+    ICON_SOUND_LISTENERS,
+    ICON_ZONE,
+    ICON_SPLINE_PATH,
+    ICON_TRIGGER,
+    ICON_CUSTOM_GEOMETRY,
+    ICON_PARTICLE_EMITTER,
+    ICON_COUNT
+}
+
+enum IconsColorType
+{
+    ICON_COLOR_DEFAULT = 0,
+    ICON_COLOR_SPLINE_PATH_BEGIN,
+    ICON_COLOR_SPLINE_PATH_END
+}
+
+Array<Color> debugIconsColors = { Color(1,1,1) , Color(1,1,0), Color(0,1,0) };
+
+Array<String> IconsTypesMaterials = {"DebugIconPointLight.xml",
+                                     "DebugIconSpotLight.xml",
+                                     "DebugIconLight.xml",
+                                     "DebugIconCamera.xml",
+                                     "DebugIconSoundSource.xml",
+                                     "DebugIconSoundSource.xml",
+                                     "DebugIconSoundListener.xml",
+                                     "DebugIconZone.xml",
+                                     "DebugIconSplinePathPoint.xml",
+                                     "DebugIconCollisionTrigger.xml",
+                                     "DebugIconCustomGeometry.xml",
+                                     "DebugIconParticleEmitter.xml"};
+
+
+Array<String> ComponentTypes = {"Light",
+                                "Light",
+                                "Light",
+                                "Camera",
+                                "SoundSource",
+                                "SoundSource3D",
+                                "SoundListener",
+                                "Zone",
+                                "SplinePath",
+                                "RigidBody",
+                                "CustomGeometry",
+                                "ParticleEmitter"};
+
+Array<BillboardSet@> debugIconsSet(ICON_COUNT);

 Node@ debugIconsNode = null;
-int stepDebugIconsUpdate = 60; //ms
+int stepDebugIconsUpdate = 100; //ms
 int timeToNextDebugIconsUpdate = 0;
-int stepDebugIconsUpdateSplinePath = 500; //ms
+int stepDebugIconsUpdateSplinePath = 1000; //ms
 int timeToNextDebugIconsUpdateSplinePath = 0;
 const int splinePathResolution = 16;
+const float splineStep = 1.0f / splinePathResolution;
 bool debugIconsShow = true;
 bool supressDebugIconsShow = false;
 Vector2 debugIconsSize = Vector2(0.025, 0.025);
 Vector2 debugIconsSizeSmall = debugIconsSize / 1.5;
 Vector2 debugIconsSizeBig = debugIconsSize * 1.5;
-
+Vector2 debugIconsMaxSize = debugIconsSize * 50;
+VariantMap debugIconsPlacement;
+const int debugIconsPlacementIndent = 1.0;

 Vector2 Max(Vector2 a, Vector2 b)
 {
     return (a.length > b.length ? a : b);
 }

-void CreateDebugIcons()
+Vector2 Clamp(Vector2 a, Vector2 b)
+{
+    return Vector2((a.x > b.x ? b.x : a.x),(a.y > b.y ? b.y : a.y));
+}
+
+Vector2 ClampToIconMaxSize(Vector2 a)
+{
+    return Clamp(a, debugIconsMaxSize);
+}
+
+void CreateDebugIcons(Node@ tempNode)
 {
     if (editorScene is null) return;
-
-    debugIconsSetDirectionalLights = debugIconsNode.CreateComponent("BillboardSet");
-    debugIconsSetDirectionalLights.material = cache.GetResource("Material", "Materials/Editor/DebugIconLight.xml");
-    debugIconsSetDirectionalLights.material.renderOrder = 255;
-    debugIconsSetDirectionalLights.sorted = true;
-    debugIconsSetDirectionalLights.temporary = true;
-    debugIconsSetDirectionalLights.viewMask = 0x80000000;
-
-    debugIconsSetSpotLights = debugIconsNode.CreateComponent("BillboardSet");
-    debugIconsSetSpotLights.material = cache.GetResource("Material", "Materials/Editor/DebugIconSpotLight.xml");
-    debugIconsSetSpotLights.material.renderOrder = 255;
-    debugIconsSetSpotLights.sorted = true;
-    debugIconsSetSpotLights.temporary = true;
-    debugIconsSetSpotLights.viewMask = 0x80000000;
-
-    debugIconsSetPointLights = debugIconsNode.CreateComponent("BillboardSet");
-    debugIconsSetPointLights.material = cache.GetResource("Material", "Materials/Editor/DebugIconPointLight.xml");
-    debugIconsSetPointLights.material.renderOrder = 255;
-    debugIconsSetPointLights.sorted = true;
-    debugIconsSetPointLights.temporary = true;
-    debugIconsSetPointLights.viewMask = 0x80000000;
-
-    debugIconsSetCameras = debugIconsNode.CreateComponent("BillboardSet");
-    debugIconsSetCameras.material = cache.GetResource("Material", "Materials/Editor/DebugIconCamera.xml");
-    debugIconsSetCameras.material.renderOrder = 255;
-    debugIconsSetCameras.sorted = true;
-    debugIconsSetCameras.temporary = true;
-    debugIconsSetCameras.viewMask = 0x80000000;
-
-    debugIconsSetSoundSources = debugIconsNode.CreateComponent("BillboardSet");
-    debugIconsSetSoundSources.material = cache.GetResource("Material", "Materials/Editor/DebugIconSoundSource.xml");
-    debugIconsSetSoundSources.material.renderOrder = 255;
-    debugIconsSetSoundSources.sorted = true;
-    debugIconsSetSoundSources.temporary = true;
-    debugIconsSetSoundSources.viewMask = 0x80000000;
-
-    debugIconsSetSoundSources3D = debugIconsNode.CreateComponent("BillboardSet");
-    debugIconsSetSoundSources3D.material = cache.GetResource("Material", "Materials/Editor/DebugIconSoundSource.xml");
-    debugIconsSetSoundSources3D.material.renderOrder = 255;
-    debugIconsSetSoundSources3D.sorted = true;
-    debugIconsSetSoundSources3D.temporary = true;
-    debugIconsSetSoundSources3D.viewMask = 0x80000000;
-
-    debugIconsSetSoundListeners = debugIconsNode.CreateComponent("BillboardSet");
-    debugIconsSetSoundListeners.material = cache.GetResource("Material", "Materials/Editor/DebugIconSoundListener.xml");
-    debugIconsSetSoundListeners.material.renderOrder = 255;
-    debugIconsSetSoundListeners.sorted = true;
-    debugIconsSetSoundListeners.temporary = true;
-    debugIconsSetSoundListeners.viewMask = 0x80000000;
-
-    debugIconsSetZones = debugIconsNode.CreateComponent("BillboardSet");
-    debugIconsSetZones.material = cache.GetResource("Material", "Materials/Editor/DebugIconZone.xml");
-    debugIconsSetZones.material.renderOrder = 255;
-    debugIconsSetZones.sorted = true;
-    debugIconsSetZones.temporary = true;
-    debugIconsSetZones.viewMask = 0x80000000;
-
-    debugIconsSetSplinesPoints = debugIconsNode.CreateComponent("BillboardSet");
-    debugIconsSetSplinesPoints.material = cache.GetResource("Material", "Materials/Editor/DebugIconSplinePathPoint.xml");
-    debugIconsSetSplinesPoints.material.renderOrder = 255;
-    debugIconsSetSplinesPoints.sorted = true;
-    debugIconsSetSplinesPoints.temporary = true;
-    debugIconsSetSplinesPoints.viewMask = 0x80000000;
-
-    debugIconsSetTriggers = debugIconsNode.CreateComponent("BillboardSet");
-    debugIconsSetTriggers.material = cache.GetResource("Material", "Materials/Editor/DebugIconCollisionTrigger.xml");
-    debugIconsSetTriggers.material.renderOrder = 255;
-    debugIconsSetTriggers.sorted = true;
-    debugIconsSetTriggers.temporary = true;
-    debugIconsSetTriggers.viewMask = 0x80000000;
-
-    debugIconsSetCustomGeometry = debugIconsNode.CreateComponent("BillboardSet");
-    debugIconsSetCustomGeometry.material = cache.GetResource("Material", "Materials/Editor/DebugIconCustomGeometry.xml");
-    debugIconsSetCustomGeometry.material.renderOrder = 255;
-    debugIconsSetCustomGeometry.sorted = true;
-    debugIconsSetCustomGeometry.temporary = true;
-    debugIconsSetCustomGeometry.viewMask = 0x80000000;
-
-    debugIconsSetParticleEmitters = debugIconsNode.CreateComponent("BillboardSet");
-    debugIconsSetParticleEmitters.material = cache.GetResource("Material", "Materials/Editor/DebugIconParticleEmitter.xml");
-    debugIconsSetParticleEmitters.material.renderOrder = 255;
-    debugIconsSetParticleEmitters.sorted = true;
-    debugIconsSetParticleEmitters.temporary = true;
-    debugIconsSetParticleEmitters.viewMask = 0x80000000;
-
-
+    debugIconsSet.Resize(ICON_COUNT);
+    for (int i=0;i<ICON_COUNT;i++)
+    {
+        debugIconsSet[i] = tempNode.CreateComponent("BillboardSet");
+        debugIconsSet[i].material = cache.GetResource("Material", "Materials/Editor/" + IconsTypesMaterials[i]);
+        debugIconsSet[i].sorted = true;
+        debugIconsSet[i].temporary = true;
+        debugIconsSet[i].viewMask = 0x80000000;
+    }
 }

 void UpdateViewDebugIcons()
-{
-    if (editorScene is null) return;
-
-    if (timeToNextDebugIconsUpdate > time.systemTime) return;
+{
+    if (editorScene is null || timeToNextDebugIconsUpdate > time.systemTime) return;

     debugIconsNode = editorScene.GetChild("DebugIconsContainer", true);
-

     if (debugIconsNode is null)
     {
         debugIconsNode = editorScene.CreateChild("DebugIconsContainer", LOCAL);
         debugIconsNode.temporary = true;
-    }
-
-
-    // Checkout if debugIconsNode do not have any BBS component, add they at once
-    BillboardSet@ bbs = debugIconsNode.GetComponent("BillboardSet");
-
-    if (bbs is null)
-    {
-        CreateDebugIcons();
-    }
-
-    if (debugIconsSetPointLights !is null)
-    {
-        debugIconsSetDirectionalLights.enabled = debugIconsShow;
-        debugIconsSetSpotLights.enabled = debugIconsShow;
-        debugIconsSetPointLights.enabled = debugIconsShow;
-        debugIconsSetCameras.enabled = debugIconsShow;
-        debugIconsSetSoundSources.enabled = debugIconsShow;
-        debugIconsSetSoundSources3D.enabled = debugIconsShow;
-        debugIconsSetSoundListeners.enabled = debugIconsShow;
-        debugIconsSetZones.enabled = debugIconsShow;
-        debugIconsSetSplinesPoints.enabled = debugIconsShow;
-        debugIconsSetTriggers.enabled = debugIconsShow;
-        debugIconsSetCustomGeometry.enabled = debugIconsShow;
-        debugIconsSetParticleEmitters.enabled = debugIconsShow;
-
-    }
-
-    if (debugIconsShow == false) return;
+    }
+    // Checkout if debugIconsNode do not have any BBS component, add all at once
+    BillboardSet@ isBSExist = debugIconsNode.GetComponent("BillboardSet");
+    if (isBSExist is null) CreateDebugIcons(debugIconsNode);
+
+    if (debugIconsSet[ICON_POINT_LIGHT] !is null)
+    {
+        for(int i=0; i < ICON_COUNT; i++)
+            debugIconsSet[i].enabled = debugIconsShow;
+    }
+
+    if (debugIconsShow == false) return;

     Vector3 camPos = activeViewport.cameraNode.worldPosition;
-
-    if (debugIconsSetPointLights !is null)
-    {
-        Array<Node@> nodes = editorScene.GetChildrenWithComponent("Light", true);
-
-        if (nodes.length > 0)
+    debugIconsPlacement.Clear();
+
+    for(int iconType=0; iconType<ICON_COUNT; iconType++)
+    {
+        if(debugIconsSet[iconType] !is null)
         {
-            debugIconsSetDirectionalLights.numBillboards = 0;
-            debugIconsSetSpotLights.numBillboards = 0;
-            debugIconsSetPointLights.numBillboards = 0;
+            // SplinePath update resolution
+            if(iconType == ICON_SPLINE_PATH && timeToNextDebugIconsUpdateSplinePath > time.systemTime) continue;

-            debugIconsSetPointLights.Commit();
-            debugIconsSetSpotLights.Commit();
-            debugIconsSetDirectionalLights.Commit();
+            Array<Node@> nodes = editorScene.GetChildrenWithComponent(ComponentTypes[iconType], true);
+            if(nodes.length > 0)
+            {
+                // Clear old data
+                if(iconType == ICON_SPLINE_PATH)
+                    ClearCommit(ICON_SPLINE_PATH, ICON_SPLINE_PATH+1, nodes.length * splinePathResolution);
+                else if(iconType==ICON_POINT_LIGHT || iconType==ICON_SPOT_LIGHT || iconType==ICON_DIRECTIONAL_LIGHT)
+                    ClearCommit(ICON_POINT_LIGHT, ICON_DIRECTIONAL_LIGHT+1, nodes.length);
+                else if(iconType==ICON_SOUND_SOURCE || iconType==ICON_SOUND_SOURCE_3D)
+                    ClearCommit(ICON_SOUND_SOURCE, ICON_SOUND_SOURCE_3D+1, nodes.length);
+                else
+                    ClearCommit(iconType, iconType+1, nodes.length);

-            debugIconsSetDirectionalLights.numBillboards = nodes.length;
-            debugIconsSetSpotLights.numBillboards = nodes.length;
-            debugIconsSetPointLights.numBillboards = nodes.length;
-
-            for (int i=0;i<nodes.length; i++)
-            {
-                Light@ light = nodes[i].GetComponent("Light");
-
-                if (light.lightType == LIGHT_POINT)
-                {
-                    Billboard@ bb = debugIconsSetPointLights.billboards[i];
-                    bb.position = nodes[i].worldPosition;
-                    bb.color = light.effectiveColor;
+                // Fill with new data
+                for(int i=0;i<nodes.length; i++)
+                {
+                    Component@ component = nodes[i].GetComponent(ComponentTypes[iconType]);
+                    if (component is null) continue;
+
+                    Billboard@ bb = null;
+                    Color finalIconColor = debugIconsColors[ICON_COLOR_DEFAULT];
                     float distance = (camPos - nodes[i].worldPosition).length;
-                    bb.size = Max(debugIconsSize * distance, debugIconsSize);
-                    bb.enabled = true;
+                    int iconsOffset = debugIconsPlacement[StringHash(nodes[i].id)].GetInt();
+                    float iconsYPos = 0;
+
+                    if(iconType==ICON_SPLINE_PATH)
+                    {
+                        SplinePath@ sp = cast<SplinePath>(component);
+                        if(sp !is null)
+                        {
+                            for(int step=0; step < splinePathResolution; step++)
+                            {
+                                int index = (i * splinePathResolution) + step;
+                                Vector3 splinePoint = sp.GetPoint(splineStep * step);
+                                Billboard@ bb = debugIconsSet[ICON_SPLINE_PATH].billboards[index];
+                                float stepDistance = (camPos - splinePoint).length;
+
+                                if(step == 0) // SplinePath start
+                                {
+                                    bb.color = debugIconsColors[ICON_COLOR_SPLINE_PATH_BEGIN];
+                                    bb.size = ClampToIconMaxSize(Max(debugIconsSize * stepDistance, debugIconsSize));
+
+
+                                    bb.position = splinePoint;
+                                }
+                                else if((step+1) >= (splinePathResolution - splineStep)) // SplinePath end
+                                {
+                                    bb.color = debugIconsColors[ICON_COLOR_SPLINE_PATH_END];
+                                    bb.size = ClampToIconMaxSize(Max(debugIconsSize * stepDistance, debugIconsSize));
+
+
+                                    bb.position = splinePoint;
+                                }
+                                else // SplinePath middle points
+                                {
+                                    bb.color = finalIconColor;
+                                    bb.size = ClampToIconMaxSize(Max(debugIconsSizeSmall * stepDistance, debugIconsSizeSmall));
+                                    bb.position = splinePoint;
+                                }
+                                bb.enabled = sp.enabled;
+                                // Blend Icon relatively by distance to it
+                                bb.color = Color(bb.color.r, bb.color.g, bb.color.b, 1.2f - 1.0f / (debugIconsMaxSize.x / bb.size.x));
+                                if (bb.color.a < 0.25f) bb.enabled = false;
+                            }
+                            //IncrementIconPlacement(sp.enabled, nodes[i], bb.size.y);
+                        }
+                    }
+                    else
+                    {
+                        bb = debugIconsSet[iconType].billboards[i];
+                        bb.size = ClampToIconMaxSize(Max(debugIconsSize * distance, debugIconsSize));
+
+                        if(iconType==ICON_PARTICLE_EMITTER)
+                        {
+                            bb.size = ClampToIconMaxSize(Max(debugIconsSizeBig * distance, debugIconsSizeBig));
+                        }
+                        else if (iconType==ICON_TRIGGER)
+                        {
+                            RigidBody@ rigidbody = cast<RigidBody>(component);
+                            if (rigidbody !is null)
+                            {
+                                if (rigidbody.trigger == false) continue;
+                            }
+                        }
+                        else if (iconType==ICON_POINT_LIGHT || iconType==ICON_SPOT_LIGHT || iconType==ICON_DIRECTIONAL_LIGHT)
+                        {
+                            Light@ light = cast<Light>(component);
+                            if(light !is null)
+                            {
+                                if(light.lightType == LIGHT_POINT)
+                                    bb = debugIconsSet[ICON_POINT_LIGHT].billboards[i];
+                                else if(light.lightType == LIGHT_DIRECTIONAL)
+                                    bb = debugIconsSet[ICON_DIRECTIONAL_LIGHT].billboards[i];
+                                else if(light.lightType == LIGHT_SPOT)
+                                    bb = debugIconsSet[ICON_SPOT_LIGHT].billboards[i];
+
+                                bb.size = ClampToIconMaxSize(Max(debugIconsSize * distance, debugIconsSize));
+                                finalIconColor = light.effectiveColor;
+                            }
+                        }
+
+                        bb.position = nodes[i].worldPosition;
+
+                        // Blend Icon relatively by distance to it
+                        bb.color = Color(finalIconColor.r, finalIconColor.g, finalIconColor.b, 1.2f - 1.0f / (debugIconsMaxSize.x / bb.size.x));
+                        bb.enabled = component.enabled;
+                        // Discard billboard if it almost transparent
+                        if (bb.color.a < 0.25f) bb.enabled = false;
+                        IncrementIconPlacement(bb.enabled, nodes[i], 1 );
+                    }
                 }
-                else if (light.lightType == LIGHT_DIRECTIONAL)
-                {
-                    Billboard@ bb = debugIconsSetDirectionalLights.billboards[i];
-                    bb.position = nodes[i].worldPosition;
-                    bb.color = light.effectiveColor;
-                    float distance = (camPos - nodes[i].worldPosition).length;
-                    bb.size = Max(debugIconsSize * distance, debugIconsSize);
-                    bb.enabled = true;
-                }
-                else if (light.lightType == LIGHT_SPOT)
-                {
-                    Billboard@ bb = debugIconsSetSpotLights.billboards[i];
-                    bb.position = nodes[i].worldPosition;
-                    bb.color = light.effectiveColor;
-                    float distance = (camPos - nodes[i].worldPosition).length;
-                    bb.size = Max(debugIconsSize * distance, debugIconsSize);
-                    bb.enabled = true;
-                }
-            }
-
-            debugIconsSetPointLights.Commit();
-            debugIconsSetSpotLights.Commit();
-            debugIconsSetDirectionalLights.Commit();
-
-        }
-    }
-
-
-    if (debugIconsSetCameras !is null)
-    {
-        Array<Node@> nodes = editorScene.GetChildrenWithComponent("Camera", true);
-
-        if (nodes.length > 0)
-        {
-            debugIconsSetCameras.numBillboards = nodes.length;
-            for (int i=0;i<nodes.length; i++)
-            {
-                Camera@ camera = nodes[i].GetComponent("Camera");
-                Billboard@ bb = debugIconsSetCameras.billboards[i];
-                bb.position = nodes[i].worldPosition;
-
-                // if mainCamera enough closer to selected camera then make bb size relative to distance
-                float distance = (camPos - nodes[i].worldPosition).length;
-                bb.size = Max(debugIconsSize * distance, debugIconsSize);
-                bb.enabled = true;
-            }
-
-            debugIconsSetCameras.Commit();
-        }
-    }
-
-    if (debugIconsSetSoundSources !is null)
-    {
-        Array<Node@> nodes = editorScene.GetChildrenWithComponent("SoundSource", true);
-
-        if (nodes.length > 0)
-        {
-            debugIconsSetSoundSources.numBillboards = nodes.length;
-            for (int i=0;i<nodes.length; i++)
-            {
-                Component@ component = nodes[i].GetComponent("SoundSource");
-                Billboard@ bb = debugIconsSetSoundSources.billboards[i];
-                bb.position = nodes[i].worldPosition;
-                float distance = (camPos - nodes[i].worldPosition).length;
-                bb.size = Max(debugIconsSize * distance, debugIconsSize);
-                bb.enabled = component.enabled;
-            }
-
-            debugIconsSetSoundSources.Commit();
-        }
-    }
-
-    if (debugIconsSetSoundSources3D !is null)
-    {
-        Array<Node@> nodes = editorScene.GetChildrenWithComponent("SoundSource3D", true);
-
-        if (nodes.length > 0)
-        {
-            debugIconsSetSoundSources3D.numBillboards = nodes.length;
-            for (int i=0;i<nodes.length; i++)
-            {
-                Component@ component = nodes[i].GetComponent("SoundSource3D");
-                Billboard@ bb = debugIconsSetSoundSources3D.billboards[i];
-                bb.position = nodes[i].worldPosition;
-                float distance = (camPos - nodes[i].worldPosition).length;
-                bb.size = Max(debugIconsSize * distance, debugIconsSize);
-                bb.enabled = component.enabled;
-            }
-
-            debugIconsSetSoundSources3D.Commit();
-        }
-    }
-
-    if (debugIconsSetSoundListeners !is null)
-    {
-        Array<Node@> nodes = editorScene.GetChildrenWithComponent("SoundListener" , true);
-
-        if (nodes.length > 0)
-        {
-            debugIconsSetSoundListeners.numBillboards = nodes.length;
-            for (int i=0;i<nodes.length; i++)
-            {
-                Component@ component = nodes[i].GetComponent("SoundListener");
-                Billboard@ bb = debugIconsSetSoundListeners.billboards[i];
-                bb.position = nodes[i].worldPosition;
-                float distance = (camPos - nodes[i].worldPosition).length;
-                bb.size = Max(debugIconsSize * distance, debugIconsSize);
-                bb.enabled = component.enabled;
-            }
-
-            debugIconsSetSoundListeners.Commit();
-        }
-    }
-
-    if (debugIconsSetZones !is null)
-    {
-        // Collect all scene's Zones and add it
-        Array<Node@> nodes = editorScene.GetChildrenWithComponent("Zone", true);
-
-        Zone@ zone = editorScene.GetComponent("Zone");
-        if (zone !is null)
-        {
-            debugIconsSetZones.numBillboards = 1;
-            Billboard@ bb = debugIconsSetZones.billboards[0];
-            bb.position = Vector3(0,0,0);
-            float distance = (camPos - bb.position).length;
-            bb.size = Max(debugIconsSize * distance, debugIconsSize);
-            //bb.color = zone.ambientColor;
-            bb.enabled = zone.enabled;
-        }
-
-        if (nodes.length > 0)
-        {
-            debugIconsSetZones.numBillboards = 1 + nodes.length;
-            for (int i=0;i<nodes.length; i++)
-            {
-                Zone@ zone = nodes[i].GetComponent("Zone");
-                Billboard@ bb = debugIconsSetZones.billboards[i+1];
-                bb.position = nodes[i].worldPosition;
-                float distance = (camPos - nodes[i].worldPosition).length;
-                bb.size = Max(debugIconsSize * distance, debugIconsSize);
-                //bb.color = zone.ambientColor;
-                bb.enabled = zone.enabled;
-            }
-
-            debugIconsSetZones.Commit();
-        }
-    }
-
-    if (timeToNextDebugIconsUpdateSplinePath < time.systemTime)
-    {
-        if (debugIconsSetSplinesPoints !is null)
-        {
-            // Collect all scene's SplinePath and add it
-            Array<Node@> nodes = editorScene.GetChildrenWithComponent("SplinePath", true);
-
-            if (nodes.length > 0)
-            {
-                debugIconsSetSplinesPoints.numBillboards = nodes.length * splinePathResolution;
-
-                float splineStep = 1.0f / splinePathResolution;
-
-                for(int i=0; i < nodes.length; i++)
-                {
-
-                    SplinePath@ sp = nodes[i].GetComponent("SplinePath");
-                    if(sp !is null)
-                    {
-                        Vector3 splinePoint;
-                        // Create path
-                        for(int step=0; step < splinePathResolution; step++)
-                        {
-                            splinePoint = sp.GetPoint(splineStep * step);
-
-                            float distance = (camPos - splinePoint).length;
-                            int index = (i * splinePathResolution) + step;
-                            Billboard@ bb = debugIconsSetSplinesPoints.billboards[index];
-                            bb.position = splinePoint;
-
-                            if (step == 0)
-                            {
-                                bb.color = Color(1,1,0);
-                                bb.size = Max(debugIconsSize * distance, debugIconsSize);
-                            }
-                            else if ((step+1) >= (splinePathResolution - splineStep))
-                            {
-                                bb.color = Color(0,1,0);
-                                bb.size = Max(debugIconsSize * distance, debugIconsSize);
-                            }
-                            else
-                            {
-                                bb.color = Color(1,1,1);
-                                bb.size = Max(debugIconsSizeSmall * distance, debugIconsSizeSmall);
-                            }
-                            bb.enabled = sp.enabled;
-                        }
-                    }
-                }
-
-                debugIconsSetSplinesPoints.Commit();
+                Commit(iconType, iconType+1);
+                // SplinePath update resolution
+                if(iconType == ICON_SPLINE_PATH) timeToNextDebugIconsUpdateSplinePath = time.systemTime + stepDebugIconsUpdateSplinePath;
             }
         }
-
-        if (debugIconsSetTriggers !is null)
-        {
-            // Collect all scene's RigidBody and add it
-            Array<Node@> nodes = editorScene.GetChildrenWithComponent("RigidBody", true);
-
-            if (nodes.length > 0)
-            {
-                debugIconsSetTriggers.numBillboards = nodes.length;
-                for (int i=0;i<nodes.length; i++)
-                {
-                    RigidBody@ rigidbody = nodes[i].GetComponent("RigidBody");
-                    if (rigidbody.trigger)
-                    {
-                        Billboard@ bb = debugIconsSetTriggers.billboards[i];
-                        bb.position = nodes[i].worldPosition;
-                        float distance = (camPos - nodes[i].worldPosition).length;
-                        bb.size = Max(debugIconsSize * distance, debugIconsSize);
-                        bb.enabled = rigidbody.enabled;
-                    }
-                }
-
-                debugIconsSetTriggers.Commit();
-            }
-        }
-
-        if (debugIconsSetCustomGeometry !is null)
-        {
-            // Collect all scene's CustomGeometry and add it
-            Array<Node@> nodes = editorScene.GetChildrenWithComponent("CustomGeometry", true);
-
-            if (nodes.length > 0)
-            {
-                debugIconsSetCustomGeometry.numBillboards = nodes.length;
-                for (int i=0;i<nodes.length; i++)
-                {
-                    CustomGeometry@ customGeometry = nodes[i].GetComponent("CustomGeometry");
-
-                    Billboard@ bb = debugIconsSetCustomGeometry.billboards[i];
-                    bb.position = nodes[i].worldPosition;
-                    float distance = (camPos - nodes[i].worldPosition).length;
-                    bb.size = Max(debugIconsSize * distance, debugIconsSize);
-                    bb.enabled = customGeometry.enabled;
-                }
-
-                debugIconsSetCustomGeometry.Commit();
-            }
-        }
-
-        if (debugIconsSetParticleEmitters !is null)
-        {
-            // Collect all scene's ParticleEmitter and add it
-            Array<Node@> nodes = editorScene.GetChildrenWithComponent("ParticleEmitter", true);
-
-            if (nodes.length > 0)
-            {
-                debugIconsSetParticleEmitters.numBillboards = nodes.length;
-                for (int i=0;i<nodes.length; i++)
-                {
-                    ParticleEmitter@ particleEmitter = nodes[i].GetComponent("ParticleEmitter");
-
-                    Billboard@ bb = debugIconsSetParticleEmitters.billboards[i];
-                    bb.position = nodes[i].worldPosition;
-                    float distance = (camPos - nodes[i].worldPosition).length;
-                    bb.size = Max(debugIconsSizeBig * distance, debugIconsSizeBig);
-                    bb.enabled = particleEmitter.enabled;
-                }
-
-                debugIconsSetParticleEmitters.Commit();
-            }
-        }
-
-        timeToNextDebugIconsUpdateSplinePath = time.systemTime + stepDebugIconsUpdateSplinePath;
-    }
-
+    }
     timeToNextDebugIconsUpdate = time.systemTime + stepDebugIconsUpdate;
+}
+
+void ClearCommit(int begin, int end, int newlength)
+{
+    for(int i=begin;i<end;i++)
+    {
+        debugIconsSet[i].numBillboards = 0;
+        debugIconsSet[i].Commit();
+        debugIconsSet[i].numBillboards = newlength;
+    }
+}
+
+void Commit(int begin, int end)
+{
+    for(int i=begin;i<end;i++)
+    {
+        debugIconsSet[i].Commit();
+    }
+}
+
+void IncrementIconPlacement(bool componentEnabled, Node@ node, int offset)
+{
+    if(componentEnabled == true)
+    {
+        int oldPlacement = debugIconsPlacement[StringHash(node.id)].GetInt();
+        debugIconsPlacement[StringHash(node.id)] = Variant(oldPlacement + offset);
+    }
 }


don't need to override x,y getters

don't need to override x,y getters

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIButtonBase.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIButtonBase.as
@@ -83,83 +83,24 @@
 				dispatchEvent(new Event("click"));
 			}
 		}
-
-		private var _x:Number;
-
-		/**
-		 *  @copy org.apache.flex.core.UIBase#x
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function get x():Number
-		{
-			if (isNaN(_x))
-			{
-				var value:* = ValuesManager.valuesImpl.getValue(this, "x");
-				if (value === undefined)
-					return $x;
-				_x = Number(value);
-			}
-			return _x;
-		}
-
+
 		/**
 		 *  @private
 		 */
 		override public function set x(value:Number):void
 		{
-			if (_x != value) {
-				_x = value;
+			if (super.x != value) {
 				super.x = value;
 				dispatchEvent(new Event("xChanged"));
 			}
 		}

 		/**
-		 *  Retrieve the low-level bounding box x.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		protected function get $x():Number
-		{
-			return super.x;
-		}
-
-		private var _y:Number;
-
-		/**
-		 *  @copy org.apache.flex.core.UIBase#y
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function get y():Number
-		{
-			if (isNaN(_y))
-			{
-				var value:* = ValuesManager.valuesImpl.getValue(this, "y");
-				if (value === undefined)
-					return $y;
-				_y = Number(value);
-			}
-			return _y;
-		}
-
-		/**
 		 *  @private
 		 */
 		override public function set y(value:Number):void
 		{
-			if (_y != value) {
-				_y = value;
+			if (super.y != value) {
 				super.y = value;
 				dispatchEvent(new Event("yChanged"));
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20292
Author:   smgilson@adobe.com
Date:     2011-02-11T16:53:14.813687Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/components/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/airspark/src/spark/components/WindowedApplication.as
+++ frameworks/projects/airspark/src/spark/components/WindowedApplication.as
@@ -2009,7 +2009,7 @@

             // activate makes the native window visible so this
             // component should become visible as well.
-            visible = true;
+            visible = true;
         }
     }

@@ -2364,9 +2364,9 @@
      */
     private function enterFrameHandler(e:Event):void
     {
-		if (!stage)
-			return;
-
+        if (!stage)
+            return;
+
         removeEventListener(Event.ENTER_FRAME, enterFrameHandler);

         // If nativeApplication.nativeApplication.exit() has been called,
@@ -2488,6 +2488,7 @@
     }

     /**
+     *  @private
      *  Manages mouse down events on the window border.
      *
      *  @langversion 3.0


Transferred from the Adobe Open Source Subversion Repository

Revision: 21974
Author:   jszeto@adobe.com
Date:     2011-08-13T04:39:10.916633Z

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

SDK-31149 - SpinnerListSkin should split updateDisplayList into layoutContents and drawBackground

SDK-31148 - SpinnerListContainer layout should have verticalAlign="center" by default

SDK-31075 - Date spinner in DATE_TIME mode is sluggish

Optimize VerticalSpinnerLayout to move the scrollRect and only update when a new item is needed

SDK-31053 - SpinnerList does not dispatch change event when user taps on item to have it snap into selection

Added dispatchChangeEvent parameter to animateToSelectedIndex and set it to true on item click

SDK-31001 - NumericDataProvider only supports sequences of increasing values

StepSize now supports negative values. If stepSize is negative, then the maximum is the first value

SDK-30892 - SpinnerListContainer doesn't respect the backgroundColor/backgroundAlpha styles

Exclude these two styles

QE notes: none
Doc notes: none
Bugs:
Reviewer: Tom Kraikit, Evtim, Kyu
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/bundles/en_US/collections.properties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/layouts/VerticalSpinnerLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/NumericDataProvider.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as
+++ frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as
@@ -90,6 +90,7 @@

 	private var scrollToSelection:Boolean = false;
 	private var numElementsChanged:Boolean = false;
+    private var dispatchChangeEventOnAnimate:Boolean = false;

 	private function get spinnerLayout():VerticalSpinnerLayout
 	{
@@ -303,14 +304,17 @@
 	/**
 	 *   Animate a spin from the current position to the new index
 	 */
-	mx_internal function animateToSelectedIndex(index:int):void
+	mx_internal function animateToSelectedIndex(index:int, dispatchChangeEvent:Boolean = false):void
 	{
 		if (scroller)
 		{
 			var animate:Animate = scroller.snapElement(
 				spinnerLayout.getUnwrappedElementIndex(index), true);
 			if (animate)
+            {
 				animate.addEventListener(EffectEvent.EFFECT_END, animateToIndex_effectEndHandler);
+                dispatchChangeEventOnAnimate = dispatchChangeEvent;
+            }
 		}
 	}

@@ -320,7 +324,10 @@
 		{
 			// Commit the center item as the selectedItem
 			var centerElementIndex:int = spinnerLayout.getIndexAtVerticalCenter();
-			selectedIndex = centerElementIndex;
+            if (dispatchChangeEventOnAnimate)
+                setSelectedIndex(centerElementIndex, true);
+            else
+			    selectedIndex = centerElementIndex;
 		}

 		Animate(event.currentTarget).removeEventListener(EffectEvent.EFFECT_END, animateToIndex_effectEndHandler);
@@ -407,7 +414,7 @@
 		// If an item is disabled, then don't animate to that item
 		if (event.currentTarget["enabled"] == undefined ||
 			event.currentTarget["enabled"] == true)
-			animateToSelectedIndex(newIndex);
+			animateToSelectedIndex(newIndex, true);
 	}

 	/**


Transferred from the Adobe Open Source Subversion Repository

Revision: 18987
Author:   rfrishbe@adobe.com
Date:     2010-12-03T01:08:34.503999Z

Log Message:
-----------
PARB changes for sizeElement/positionElement.  MobileSkin and MobileItemRenderer's methods have been renamed: resizeElement() -> setElementSize(), positionElement() -> setElementPosition().

Also, cleaning up text reflow for TextAreaSkin

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileIconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as
@@ -94,7 +94,7 @@

     override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
     {
-        resizeElement(track, unscaledWidth, unscaledHeight);
+        setElementSize(track, unscaledWidth, unscaledHeight);
     }
 }
 }


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

--- frameworks/projects/mx/src/mx/styles/metadata/ModalTransparencyStyles.as
+++ frameworks/projects/mx/src/mx/styles/metadata/ModalTransparencyStyles.as
@@ -1,32 +1,4 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2006 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.
-//
-////////////////////////////////////////////////////////////////////////////////

-/**
- *  Modality of components launched by the PopUp Manager is simulated by
- *  creating a large translucent overlay underneath the component.
- *  Because of the way translucent objects are rendered, you may notice a slight
- *  dimming of the objects under the overlay.
- *  The effective transparency can be set by changing the
- *  modalTransparency value from 0.0 (fully transparent)
- *  to 1.0 (fully opaque).
- *  You can also set the color of the overlay by changing the
- *  modalTransparencyColor style.
- *
- *  @default 0.5
- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
- */
 [Style(name="modalTransparency", type="Number", inherit="yes")]

 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 6609
Author:   gruehle@adobe.com
Date:     2009-05-04T22:47:31.285324Z

Log Message:
-----------
Add theme attribute to theme-specific style metadata.

Example of a halo-specific style:
[Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="halo")]

Example of a spark-specific style:
[Style(name="baseColor", type="uint", format="Color", inherit="yes", theme="spark")]

Style metadata without a theme attribute is theme-agnostic, and works with either spark or halo.

Bugs: SDK-20606

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/FillStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SkinStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BarColorStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/IconColorStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SelectedFillColorsStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/mx/src/mx/styles/metadata/SelectedFillColorsStyle.as
+++ frameworks/projects/mx/src/mx/styles/metadata/SelectedFillColorsStyle.as
@@ -21,4 +21,4 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="selectedFillColors", type="Array", arrayType="uint", format="Color", inherit="no")]
+[Style(name="selectedFillColors", type="Array", arrayType="uint", format="Color", inherit="no", theme="halo")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 17370
Author:   klin@adobe.com
Date:     2010-08-18T22:37:24.607666Z

Log Message:
-----------
Fix for two DataGrid bugs.

-Use preferredHeight/Width for column and row separators instead of 1. This fixes the separators being crooked when the stroke's weight is greater than one.
-Added clearGridLayoutCache() method to Grid which is used by Grid and GridColumn to clear the layout's renderers and grid dimensions cache.

QE notes: No
Doc notes: No
Bugs: SDK-27421, SDK-27446
Reviewer: Hans
Tests run: checkintests, DataGrid
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/supportClasses/GridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as
@@ -158,7 +158,8 @@
             dataFieldPath = [value];

         invalidateGrid();
-        clearGridLayoutCache();
+        if (grid)
+            grid.clearGridLayoutCache(true);

         dispatchChangeEvent("dataFieldChanged");
     }
@@ -336,7 +337,8 @@
         _itemRenderer = value;

         invalidateGrid();
-        clearGridLayoutCache();
+        if (grid)
+            grid.clearGridLayoutCache(true);

         dispatchChangeEvent("itemRendererChanged");
     }
@@ -382,7 +384,8 @@
         _itemRendererFunction = value;

         invalidateGrid();
-        clearGridLayoutCache();
+        if (grid)
+            grid.clearGridLayoutCache(true);

         dispatchChangeEvent("itemRendererFunctionChanged");
     }
@@ -436,7 +439,8 @@
         _labelFunction = value;

         invalidateGrid();
-        clearGridLayoutCache();
+        if (grid)
+            grid.clearGridLayoutCache(true);

         dispatchChangeEvent("labelFunctionChanged");
     }
@@ -764,21 +768,6 @@

     /**
      *  @private
-     *  Clears the layout's cache and the typical item's measurements.
-     */
-    private function clearGridLayoutCache():void
-    {
-        if (grid && grid.layout)
-        {
-            var gridLayout:GridLayout = grid.layout as GridLayout;
-            if (gridLayout)
-                gridLayout.gridDimensions.clearTypicalCellWidthsAndHeights();
-            grid.layout.clearVirtualLayoutCache();
-        }
-    }
-
-    /**
-     *  @private
      */
     private function dispatchChangeEvent(type:String):void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18468
Author:   hmuller@adobe.com
Date:     2010-11-05T16:37:07.571913Z

Log Message:
-----------
Removed GridLayout "hacks" that invalidated columnHeaderGroup during GridLayout/updateDisplayList().  Grid/partAdded() now resets (all IDataGridElements) columnHeaderGroup's nestLevel to force it to layout after the grid.

QE notes: Failing tests have been excluded
Doc notes:
Bugs: SDK-27862
Reviewer: Carol, Kevin
Tests run: checkin, mustella cyclone
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/IDataGridElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.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/skins/spark/DefaultGridHeaderRenderer.mxml</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@1281438 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as
@@ -239,19 +239,6 @@
             grid.clearGridLayoutCache(true);

         dispatchChangeEvent("dataFieldChanged");
-    }
-
-
-    //----------------------------------
-    //  dataGrid (private, read-only)
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private function get dataGrid():spark.components.DataGrid
-    {
-        return (grid) ? grid.dataGrid : null;
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 18674
Author:   cframpto@adobe.com
Date:     2010-11-17T20:45:54.108853Z

Log Message:
-----------
When selecting cell(s), don't allow a cell in a column which has visible=false be selected.  If a cell range is selected that spans columns that aren't visible, internally, the cell range will be broken up into regions that contain only the visible columns.  If a column becomes invisible, and either the anchorColumnIndex or the caretColumnIndex were set to that column, reinitialize to the first visible column, or -1 if there aren't any.  Fix up how the old caret position is saved so the CARET_CHANGE event will have the correct values.

QE notes: caret tests that were excluded need to be updated
Doc notes:
Bugs: SDK-28540
Reviewer: Hans, Kevin
Tests run: many cyclones
Is noteworthy for integration:

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/gridClasses/GridSelection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridDimensions.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/GridSelectionEventKind.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -1885,9 +1885,22 @@
      */
     public function columnsCollectionChanged(event:CollectionEvent):void
     {
-        clearVirtualLayoutCache();
-        if (grid)
-            grid.setContentSize(0, 0);
+        switch (event.kind)
+        {
+            case CollectionEventKind.UPDATE:
+            {
+                clearVirtualLayoutCache();
+                break;
+            }
+
+            default:
+            {
+                clearVirtualLayoutCache();
+                if (grid)
+                    grid.setContentSize(0, 0);
+                break;
+            }
+        }
     }

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


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

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

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5099
Author:   gauravj@adobe.com
Date:     2009-02-27T03:43:02.639229Z

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:
--------------
147 paths were modified

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

--- frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as
+++ frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as
@@ -45,6 +45,12 @@
  *  The AbstractProducer is the base class for the Producer and
  *  MultiTopicConsumer classes.
  *  You use these classes to push messages to the server.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion BlazeDS 4
+ *  @productversion LCDS 3
  */
 public class AbstractProducer extends MessageAgent
 {
@@ -124,6 +130,12 @@
      *  By default this property is true, but applications that need to operate
      *  in an offline mode may set this to false to prevent the send() method
      *  from connecting implicitly.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function get autoConnect():Boolean
     {
@@ -159,6 +171,12 @@
      *  Any default headers that do not exist in the message will be created.
      *  If the message already contains a matching header, the value in the
      *  message takes precedence and the default header value is ignored.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function get defaultHeaders():Object
     {
@@ -194,6 +212,12 @@
      *  valid values are 0 to 9 (0 being lowest) and -1 means that the Producer
      *  does not have a priority set. Note that if the message already has a
      *  priority defined, that takes precedence over Producer's priority.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function get priority():int
     {
@@ -240,6 +264,12 @@
      *  the outstanding channel connect attempt succeeds or fails.

      *
      *  @see mx.messaging.Producer#reconnectInterval
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function get reconnectAttempts():int
     {
@@ -290,6 +320,12 @@
      *  @see mx.messaging.Producer#reconnectInterval
      *
      *  @throws ArgumentError If the assigned value is negative.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function get reconnectInterval():int
     {
@@ -400,6 +436,12 @@
      *  After invoking disconnect(), the Producer will report that it is not
      *  connected and it will not receive any outstanding message acknowledgements or faults.
      *  Disconnecting stops automatic reconnect attempts if they are running.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     override public function disconnect():void
     {
@@ -434,6 +476,12 @@
      *     producer.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, handleConnect);
      *     producer.connect();
      *

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function connect():void
     {
@@ -473,6 +521,12 @@
      *     producer.send(msg);
      *

      *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function send(message:IMessage):void
     {
@@ -621,6 +675,12 @@
                  * Initially, the timeout is set to 1 so we try to
                  * reconnect immediately (perhaps to a different channel).
                  * after that, it will poll at the configured time interval.
+                 *
+                 *  @langversion 3.0
+                 *  @playerversion Flash 9
+                 *  @playerversion AIR 1.1
+                 *  @productversion BlazeDS 4
+                 *  @productversion LCDS 3
                  */
                 _reconnectTimer = new Timer(1);
                 _reconnectTimer.addEventListener(TimerEvent.TIMER, reconnect);


Transferred from the Adobe Open Source Subversion Repository

Revision: 11954
Author:   klin@adobe.com
Date:     2009-11-18T21:21:21.571419Z

Log Message:
-----------
Fix for https://bugs.adobe.com/jira/browse/SDK-24177. ScrollBar and Slider implementations were not taking into account the case of when the thumb and track had different parents. I've added logic to convert the position from the track's coordinates to global coordinates and then to the thumb's parent's coordinates.

QE notes: No
Doc notes: No
Bugs: SDK-24177
Reviewer: Glenn
Tests run: checkintests, ScrollBar, Slider
Is noteworthy for integration: Yes, ScrollBars should work correctly if thumb and track are in separate groups

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>

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

--- frameworks/projects/spark/src/spark/components/VScrollBar.as
+++ frameworks/projects/spark/src/spark/components/VScrollBar.as
@@ -11,6 +11,8 @@

 package spark.components
 {
+import flash.geom.Point;
+
 import mx.core.mx_internal;
 import mx.events.PropertyChangeEvent;
 import mx.events.ResizeEvent;
@@ -169,11 +171,12 @@
         if (!thumb || !track)
             return;

-        var trackPos:Number = track.getLayoutBoundsY();
         var trackSize:Number = track.getLayoutBoundsHeight();
         var range:Number = maximum - minimum;

-        var thumbPos:Number = 0;
+        var thumbPos:Point;
+        var thumbPosTrackY:Number = 0;
+        var thumbPosParentY:Number = 0;
         var thumbSize:Number = trackSize;
         if (range > 0)
         {
@@ -186,14 +189,21 @@
             {
                 thumbSize = thumb ? thumb.height : 0;
             }
-            thumbPos = (value - minimum) * ((trackSize - thumbSize) / range);
+
+            // calculate new thumb position.
+            thumbPosTrackY = (value - minimum) * ((trackSize - thumbSize) / range);
         }

         if (getStyle("fixedThumbSize") === false)
             thumb.setLayoutBoundsSize(NaN, thumbSize);
         if (getStyle("autoThumbVisibility") === true)
             thumb.visible = thumbSize < trackSize;
-        thumb.setLayoutBoundsPosition(thumb.getLayoutBoundsX(), Math.round(trackPos + thumbPos));
+
+        // convert thumb position to parent's coordinates.
+        thumbPos = track.localToGlobal(new Point(0, thumbPosTrackY));
+        thumbPosParentY = thumb.parent.globalToLocal(thumbPos).y;
+
+        thumb.setLayoutBoundsPosition(thumb.getLayoutBoundsX(), Math.round(thumbPosParentY));
     }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/spark/src/spark/layouts/VerticalAlign.as
+++ frameworks/projects/spark/src/spark/layouts/VerticalAlign.as
@@ -9,7 +9,7 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-package mx.layout
+package spark.layout
 {

 /**


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 17228
Author:   jszeto@adobe.com
Date:     2010-08-07T00:36:47.941230Z

Log Message:
-----------
CheckBox and RadioButton skins

- Added new ToggleButtonSkinBase which subclasses ButtonBase. It uses the iconDisplay to hold the check box or radio circle.
- Added RadioButtonSkin and CheckBoxSkin which subclass ToggleButtonSkinBase and specifies the icons for the different states.
- Improved FXG skin creation logic in ButtonSkin.

SDK-27296 - Setting iconClass using setStyle does not work

Added logic to styleChanged and moved the iconClass logic to commitProperties

SDK-27295 - Button skin on 'up' state not consistent after clicking a button

Fixed up FXG skin creation logic

QE notes: CheckBox and RadioButton still need some visual tweaks to the FXG skins
Doc notes: none
Bugs: SDK-27296, SDK-27295
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkinBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ToggleButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Button.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>

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

--- frameworks/projects/mx/src/mx/controls/Button.as
+++ frameworks/projects/mx/src/mx/controls/Button.as
@@ -2241,7 +2241,6 @@
         {
             lineMetrics = measureText("Wj");
             textHeight = lineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
-            // TODO (jszeto) Do we need to set textWidth?
         }

         var n:Number = offset ? buttonOffset : 0;