Transferred from the Adobe Open Source Subversion Repository

Revision: 12000
Author:   dloverin@adobe.com
Date:     2009-11-19T19:46:14.559431Z

Log Message:
-----------
Load RSLs relative to a module.

Load RSLs relative to the module. Delay loading RSLs until the Event.INIT event because before that the loaderInfo.url is not ready. Without the loadInfo.url we can’t load RSLs relative to the module.

QE notes: None.
Doc notes: None.
Bugs: SDK-20632
Reviewer: Alex
Tests run: checkintests, Modules
Is noteworthy for integration: no

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as

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

--- frameworks/projects/framework/src/mx/core/FlexModuleFactory.as
+++ frameworks/projects/framework/src/mx/core/FlexModuleFactory.as
@@ -25,13 +25,14 @@
 import flash.utils.Dictionary;
 import flash.utils.Timer;
 import flash.utils.getDefinitionByName;
+
 import mx.core.RSLItem;
 import mx.core.RSLListLoader;
-
 import mx.events.ModuleEvent;
 import mx.managers.SystemManagerGlobals;
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;
+import mx.utils.LoaderUtil;

 [ExcludeClass]

@@ -98,49 +99,11 @@
     {
 		super();

-		var rsls:Array = info()["rsls"];
-		var cdRsls:Array = info()["cdRsls"];
-
-		// Put cross-domain RSL information in the RSL list.
-        var rslList:Array = [];
-        var n:int;
-        var i:int;
-		if (cdRsls && cdRsls.length > 0)
-		{
-			var crossDomainRSLItem:Class = Class(getDefinitionByName("mx.core::CrossDomainRSLItem"));
-			n = cdRsls.length;
-			for (i = 0; i < n; i++)
-			{
-				// If crossDomainRSLItem is null, then this is a compiler error. It should not be null.
-				var cdNode:Object = new crossDomainRSLItem(
-					cdRsls[i]["rsls"],
-					cdRsls[i]["policyFiles"],
-					cdRsls[i]["digests"],
-					cdRsls[i]["types"],
-					cdRsls[i]["isSigned"]);
-
-				rslList.push(cdNode);
-			}
-
-		}
-
-		// Append RSL information in the RSL list.
-		if (rsls != null && rsls.length > 0)
-		{
-			n = rsls.length;
-			for (i = 0; i < n; i++)
-			{
-			    var node:RSLItem = new RSLItem(rsls[i].url);
-				rslList.push(node);
-			}
-		}
-
-        rslListLoader = new RSLListLoader(rslList);
-
 		mixinList = info()["mixins"];

 		stop(); // Make sure to stop the playhead on the currentframe

+        loaderInfo.addEventListener(Event.INIT, moduleInitHandler);
 		loaderInfo.addEventListener(Event.COMPLETE, moduleCompleteHandler);

 	    var docFrame:int = totalFrames == 1 ? 0 : 1;
@@ -150,8 +113,6 @@
 		timer = new Timer(100);
 		timer.addEventListener(TimerEvent.TIMER, timerHandler);
 		timer.start();
-
-        update();
     }

     private function docFrameListener(event:Event):void
@@ -204,6 +165,11 @@
 	 *  @private
 	 */
 	private var appReady:Boolean = false;
+
+    /**
+     *  @private
+     */
+    private var appInitDone:Boolean = false;

     /**
 	 *  @private
@@ -396,6 +362,10 @@
         {
             case INIT_STATE:
 			{
+                if (!appInitDone)
+                    return;
+
+                getRSLInfo();
                 if (rslListLoader.isDone())
                     state = APP_LOAD_STATE;
                 else
@@ -418,6 +388,7 @@
             {
                 if (rslListLoader.isDone())
                 {
+                    rslListLoader = null;
                     state = APP_LOAD_STATE;
                 }
                 break;
@@ -492,6 +463,53 @@
     }

     /**
+     *  @private
+     *  Get the RSL URLs and add them to the RSLListLoader.
+     */
+    private function getRSLInfo():void
+    {
+        var rsls:Array = info()["rsls"];
+        var cdRsls:Array = info()["cdRsls"];
+
+        // Put cross-domain RSL information in the RSL list.
+        var rslList:Array = [];
+        var n:int;
+        var i:int;
+        if (cdRsls && cdRsls.length > 0)
+        {
+            var crossDomainRSLItem:Class = Class(getDefinitionByName("mx.core::CrossDomainRSLItem"));
+            n = cdRsls.length;
+            for (i = 0; i < n; i++)
+            {
+                // If crossDomainRSLItem is null, then this is a compiler error. It should not be null.
+                var cdNode:Object = new crossDomainRSLItem(
+                    cdRsls[i]["rsls"],
+                    cdRsls[i]["policyFiles"],
+                    cdRsls[i]["digests"],
+                    cdRsls[i]["types"],
+                    cdRsls[i]["isSigned"],
+                    LoaderUtil.normalizeURL(this.loaderInfo));
+
+                rslList.push(cdNode);
+            }
+
+        }
+
+        // Append RSL information in the RSL list.
+        if (rsls != null && rsls.length > 0)
+        {
+            n = rsls.length;
+            for (i = 0; i < n; i++)
+            {
+                var node:RSLItem = new RSLItem(rsls[i].url);
+                rslList.push(node);
+            }
+        }
+
+        rslListLoader = new RSLListLoader(rslList);
+    }
+
+    /**
 	 *  @private
 	 */
     public function autorun():Boolean
@@ -676,6 +694,16 @@
     }

     /**
+     *  @private
+     */
+    private function moduleInitHandler(event:Event):void
+    {
+        loaderInfo.removeEventListener(Event.INIT, moduleInitHandler);
+        appInitDone = true;
+        update();
+    }
+
+    /**
 	 *  @private
 	 */
     private function moduleCompleteHandler(event:Event):void


Transferred from the Adobe Open Source Subversion Repository

Revision: 1262
Author:   jimurphy@adobe.com
Date:     2008-04-16T18:53:40.899270Z

Log Message:
-----------
Merged revisions 1219,1241,1261 via svnmerge from
http://opensource.adobe.com/svn/opensource/flex/sdk/branches/3.0.x

........
  r1219 | gosmith@adobe.com | 2008-04-15 14:00:39 -0400 (Tue, 15 Apr 2008) | 1 line

  Fixed a problem with the bin/asdoc tool. asDocHelper and asDocHelper.linux in asdoc/templates need to have the svn:executable property set.
........
  r1241 | genovese@adobe.com | 2008-04-15 21:55:32 -0400 (Tue, 15 Apr 2008) | 1 line

  ASDoc updates, added missing parameter descriptions, etc.
........
  r1261 | mhorn@adobe.com | 2008-04-16 14:38:28 -0400 (Wed, 16 Apr 2008) | 1 line

  bug fix FlexDocs-420
........

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/asdoc/templates/asDocHelper.linux</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/asdoc/templates/asDocHelper</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Consumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/logging/AbstractTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ActionEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MultiTopicConsumer.as</path>

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

--- frameworks/projects/framework/src/mx/logging/AbstractTarget.as
+++ frameworks/projects/framework/src/mx/logging/AbstractTarget.as
@@ -111,12 +111,13 @@
      *  If null or [] is specified, the filters are set to the
      *  default of ["~~"].
      *

-     *  @example
+     *
For example:
      *

      *           var traceLogger:ILoggingTarget = new TraceTarget();
      *           traceLogger.filters = ["mx.rpc.~~", "mx.messaging.~~"];
      *           Log.addTarget(traceLogger);
      *

+     *

      */
     public function get filters():Array
     {
@@ -212,24 +213,24 @@
      *  Provides access to the level this target is currently set at.
      *  Value values are:
      *

-     *
LogEventLevel.FATAL designates events that are very
+     *
LogEventLevel.FATAL (1000) designates events that are very
      *      harmful and will eventually lead to application failure

      *
-     *
LogEventLevel.ERROR designates error events that might
+     *
LogEventLevel.ERROR (8) designates error events that might
      *      still allow the application to continue running.

      *
-     *
LogEventLevel.WARN designates events that could be
+     *
LogEventLevel.WARN (6) designates events that could be
      *      harmful to the application operation

      *
-     *
LogEventLevel.INFO designates informational messages
+     *
LogEventLevel.INFO (4) designates informational messages
      *      that highlight the progress of the application at
      *      coarse-grained level.

      *
-     *
LogEventLevel.DEBUG designates informational
+     *
LogEventLevel.DEBUG (2) designates informational
      *      level messages that are fine grained and most helpful when
      *      debugging an application.

      *
-     *
LogEventLevel.ALL intended to force a target to
+     *
LogEventLevel.ALL (0) intended to force a target to
      *      process all messages.

      *

      */


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/managers/CursorManager.as
+++ frameworks/projects/framework/src/mx/managers/CursorManager.as
@@ -24,6 +24,11 @@
  *  The skin for the busy cursor
  *
  *  @default mx.skins.halo.BusyCursor
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="busyCursor", type="Class", inherit="no")]

@@ -56,6 +61,11 @@
  *
  *  @see mx.managers.CursorManagerPriority
  *  @see mx.core.Window
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class CursorManager
 {
@@ -71,6 +81,11 @@
      *  Constant that is the value of currentCursorID property
      *  when there is no cursor managed by the CursorManager and therefore
      *  the system cursor is being displayed.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const NO_CURSOR:int = 0;

@@ -116,6 +131,11 @@
      *  This method returns the CursorManager instance for the main Window instance.
      *
      *  @return The CursorManager instance for the main Window instance in an AIR application.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function getInstance():ICursorManager
     {
@@ -135,6 +155,11 @@
     /**
      *  ID of the current custom cursor,
      *  or NO_CURSOR if the system cursor is showing.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function get currentCursorID():int
     {
@@ -158,6 +183,11 @@
      *  relative to the mouse pointer.
      *
      *  @default 0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function get currentCursorXOffset():Number
     {
@@ -181,6 +211,11 @@
      *  relative to the mouse pointer.
      *
      *  @default 0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function get currentCursorYOffset():Number
     {
@@ -212,6 +247,11 @@
      *  Use the Mouse.show() and
      *  Mouse.hide() methods to directly
      *  control the system cursor.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function showCursor():void
     {
@@ -229,6 +269,11 @@
      *  Use the Mouse.show() and
      *  Mouse.hide() methods to directly
      *  control the system cursor.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function hideCursor():void
     {
@@ -258,6 +303,11 @@
      *  @return The ID of the cursor.
      *
      *  @see mx.managers.CursorManagerPriority
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function setCursor(cursorClass:Class, priority:int = 2,
                                      xOffset:Number = 0,
@@ -274,6 +324,11 @@
      *  the default system cursor.
      *
      *  @param cursorID ID of cursor to remove.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function removeCursor(cursorID:int):void
     {
@@ -283,6 +338,11 @@
     /**
      *  Removes all of the cursors from the cursor list
      *  and restores the system cursor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function removeAllCursors():void
     {
@@ -297,6 +357,11 @@
      *  until you remove the higher priority cursor.
      *  To create a busy cursor at a higher priority level,
      *  use the setCursor() method.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function setBusyCursor():void
     {
@@ -309,6 +374,11 @@
      *  which means you called the setBusyCursor() method more than once,
      *  a busy cursor does not disappear until you remove
      *  all busy cursors from the list.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function removeBusyCursor():void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4692
Author:   gosmith@adobe.com
Date:     2009-01-27T22:13:03.562851Z

Log Message:
-----------
Fixed missing or misplaced 'break' statements in the eventHandler() methods of the mx.accessibility classes. These have probably been causing some unintented MSAA events to be dispatched.

Also, each accessible component now dispatches OBJ_NAMECHANGE when its toolTip or errorString property changes, because the MSAA name includes the tooltip or error tip.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Deepa

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ColorPickerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DataGridAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateFieldAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/SliderAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ComboBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TabBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TreeAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateChooserAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/UIComponentAccProps.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AlertAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TitleWindowAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccordionHeaderAccImpl.as</path>

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

--- frameworks/projects/mx/src/mx/accessibility/ListBaseAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/ListBaseAccImpl.as
@@ -389,12 +389,16 @@
 	 */
 	override protected function eventHandler(event:Event):void
 	{
+		// Let AccImpl class handle the events
+		// that all accessible UIComponents understand.
+		$eventHandler(event);
+
 		switch (event.type)
 		{
 			case "change":
 			{
 				var index:uint = ListBase(master).selectedIndex;
-
+
 				if (index >= 0)
 				{
 					var childID:uint = index + 1;
@@ -405,8 +409,9 @@
 					Accessibility.sendEvent(master, childID,
 											EVENT_OBJECT_SELECTION);
 				}
+
+				break;
 			}
-			break;
 		}
 	}


Added support for boolean types

Added support for boolean types

--- protogeni/demo/shared/com/mattism/http/xmlrpc/MethodCallImpl.as
+++ protogeni/demo/shared/com/mattism/http/xmlrpc/MethodCallImpl.as
@@ -87,13 +87,11 @@
             var TypeNode:XML;

             if (parameter is String)
-            {
               parameter = {value:parameter};
-            }
+            else if(parameter is Boolean)
+             parameter = {value:parameter};
             else if (parameter && parameter.value == null)
-            {
-              parameter = {value:parameter};
-            }
+             parameter = {value:parameter};

             if ( typeof parameter == "object")
             {
@@ -104,6 +102,8 @@
                   parameter.type=XMLRPCDataTypes.ARRAY;
                 else if ( v is String )
                   parameter.type=XMLRPCDataTypes.STRING;
+                else if ( v is Boolean )
+                  parameter.type=XMLRPCDataTypes.BOOLEAN;
                 else if ( v is Object )
                   parameter.type=XMLRPCDataTypes.STRUCT;
                 else


Fix for UTC prepended short - respect endianness

--- frameworks/projects/Core/src/main/flex/org/apache/flex/utils/BinaryData.as
+++ frameworks/projects/Core/src/main/flex/org/apache/flex/utils/BinaryData.as
@@ -1110,7 +1110,11 @@
         if (prependLength) {
             var temp:Uint8Array = new Uint8Array(bytes.length + 2);
             temp.set(bytes , 2);
-            new Uint16Array(temp.buffer,0,2)[0] = bytes.length;
+            var len:uint = bytes.length;
+            //preconvert to alternate endian if needed
+            new Uint16Array(temp.buffer,0,2)[0] =
+                    (_endian == Endian.defaultEndian) ?
+                            len : ((len & 0xff) >> 8) | (len << 8);
             bytes = temp;
         }
         return bytes;


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 10070
Author:   hmuller@adobe.com
Date:     2009-09-08T22:16:45.074989Z

Log Message:
-----------
SkinnableDataContainer and SkinnableContainer no longer implement IViewport.

GroupBase/renderFillForMouseOpaque() now handles groups whose content size is larger than their actual size.

QE Notes: Cyclone passed
Doc Notes:
Bugs: sdk-20893, sdk-20741, sdk-21730
Reviewer: Ryan

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -730,7 +730,23 @@

         graphics.clear();
         graphics.beginFill(0xFFFFFF, 0);
-        graphics.drawRect(0, 0, w, h);
+
+        if (layout && layout.useVirtualLayout)
+            graphics.drawRect(horizontalScrollPosition, verticalScrollPosition, w, h);
+        else
+        {
+            const tileSize:int = 4096;
+            const maxX:int = Math.round(Math.max(w, contentWidth));
+            const maxY:int = Math.round(Math.max(h, contentHeight));
+            for (var x:int = 0; x < maxX; x += tileSize)
+                for (var y:int = 0; y < maxY; y += tileSize)
+                {
+                    var tileWidth:int = Math.min(maxX - x, tileSize);
+                    var tileHeight:int = Math.min(maxY - y, tileSize);
+                    graphics.drawRect(x, y, tileWidth, tileHeight);
+                }
+        }
+
         graphics.endFill();
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 15758
Author:   smgilson@adobe.com
Date:     2010-04-27T13:42:25.064163Z

Log Message:
-----------
merger: Remove ASDoc reference to mouseOpaque, the old name of the mouseEnabledWhereTransparent property

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

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -872,8 +872,8 @@
     [Inspectable(category="General", enumeration="true,false", defaultValue="true")]

     /**
-     *  When set to true, the mouseOpaque property
-     *  ensures that the entire bounds of the Group are opaque to all
+     *  When true, this property
+     *  ensures that the entire bounds of the Group respond to
      *  mouse events such as click and roll over.
      *
      *  @default true


Transferred from the Adobe Open Source Subversion Repository

Revision: 4106
Author:   rfrishbe@adobe.com
Date:     2008-11-14T01:56:47.949068Z

Log Message:
-----------
Mostly rename changes.  IVisualItem -> IVisualElement.  IVisualContainer -> IVisualElementContainer.  Also changed the APIs so that it's addElement, removeElement, etc.. instead of addItem, removeItem, etc...  Moreover, all of these APIs have been added to IVisualElementContainer (not just the read-only ones).  Now there's a common interface for all containers (even Halo's Container class implements it).  There's no more need to do:

if (x is Group || x is FxContainer)

Just use the IVisualElementContainer interface.

Some classes, like FxScroller (and perhaps DataGroup/FxDataContainer), will only implement the "getter" part of the API.  For now, if you call the mutation methods, we will throw an exception.  Perhaps later we'll add a separate interface for the read-only portion and the mutator interface will extend that one.

There might be a few more places in the code that need to be updated to use the new names for the methods.  I know Mustella needs cleaning up so it doesn't use getItem and uses getElement instead.  I've left the old APIs in there exactly for this purpose, so we can gradually move over to the new names (esp. QA).

At some point soon, we will remove the old methods as well as type them more strictly to only accept IVisualElements, for example addElement(element:IVisualElement).  Part of this work is dependent on updating the Flash Component Kit so that it implements IVisualElement (and perhaps IVisualElementContainer for containers).

Ran checkintests and all gumbo mustella tests.

QE Notes: Please update your tests to use addElement, removeElement, etc... along with the new IVisualElementContainer interface.  The old APIs (addItem, removeItem, etc...) will be removed soon.
Doc Notes: None
Bugs: -
Reviewer: Hans (he patiently sat through all these files...)

Modified Paths:
--------------
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/IVisualContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/RemoveActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxFadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IUIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualItem.as" copyfrom-rev="4083" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/IVisualContainer.as" copyfrom-rev="4083" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElementContainer.as</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" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/FadeInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/FadeInstance.as
@@ -102,6 +102,7 @@
                 if (alphaFrom == 0)
                 {
                     target.alpha = 0;
+                    // TODO: is Group or is UIComponent?
                     if (target.parent is Group)
                         target.parent.validateNow();
                 }


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

--- frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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.
 //
 ////////////////////////////////////////////////////////////////////////////////
 package spark.effects.supportClasses


Transferred from the Adobe Open Source Subversion Repository

Revision: 3925
Author:   jimurphy@adobe.com
Date:     2008-10-28T15:28:25.006190Z

Log Message:
-----------
Merged gumbo_alpha revisions 3857-3860,3870,3872,3874-3876,3881,3884,3886,3889,3891,3893,3895,3908,3912 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxRotateEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxFadeEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/CubicBezierSegment.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/gumbo_alpha/frameworks/projects/flex4/src/mx/skins/spark/FxFocusSkin.as" copyfrom-rev="3895" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxFocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxVSliderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StylesContainer.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxFadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxListExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxMoveEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/PathSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_conversion.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxAnimateColorEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_core.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxAnimateEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxCheckBoxExample.mxml</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/gumbo_alpha/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/DataGroupExample.mxml" copyfrom-rev="3895" action="A">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/DataGroupExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flash/css/StyleDeclaration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/gumbo_alpha/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/GroupExample.mxml" copyfrom-rev="3895" action="A">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/GroupExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/QuadraticBezierSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxNumericStepperExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxResizeEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxButtonExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxResize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxToggleButtonExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxSpinnerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/PropertyValuesHolder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_edit.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/TextViewExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxMove.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxHSliderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
@@ -12,13 +12,15 @@
 {
 import flash.events.Event;

-import mx.effects.PropertyValuesHolder;
-
 import mx.components.FxApplication;
 import mx.core.Container;
 import mx.core.IUIComponent;
+import mx.effects.Animation;
+import mx.effects.PropertyValuesHolder;
+import mx.events.AnimationEvent;
 import mx.events.EffectEvent;
 import mx.events.TweenEvent;
+import mx.graphics.IGraphicElement;
 import mx.styles.IStyleClient;

 public class FxMoveInstance extends FxAnimateInstance
@@ -122,8 +124,6 @@
                 xFrom = xTo - xBy;
             else if (propertyChanges && propertyChanges.start["x"] !== undefined)
                 xFrom = propertyChanges.start["x"];
-            else
-                xFrom = getCurrentValue("x");
         }
 		if (isNaN(xTo))
 		{
@@ -135,7 +135,8 @@
 			}
 			else
 			{
-				xTo = (!isNaN(xBy)) ? xFrom + xBy : getCurrentValue("x");
+				if (!isNaN(xBy) && !isNaN(xFrom))
+				    xTo= xFrom + xBy;
 			}
 		}

@@ -146,8 +147,6 @@
                 yFrom = yTo - yBy;
             else if (propertyChanges && propertyChanges.start["y"] !== undefined)
                 yFrom = propertyChanges.start["y"];
-            else
-                yFrom = getCurrentValue("y");
         }
 		if (isNaN(yTo))
 		{
@@ -159,13 +158,14 @@
 			}
 			else
 			{
-				yTo = (!isNaN(yBy)) ? yFrom + yBy : getCurrentValue("y");
+				if (!isNaN(yBy) && !isNaN(yFrom))
+				    yTo = yFrom + yBy;
 			}
 		}

         propertyValuesList =
-            [new PropertyValuesHolder("x", [xFrom, xTo]),
-             new PropertyValuesHolder("y", [yFrom, yTo])];
+            [new PropertyValuesHolder("x", [xFrom, xTo], xBy),
+             new PropertyValuesHolder("y", [yFrom, yTo], yBy)];

         // TODO (chaase): The Flex3 version of Move had logic for forcing clipping
         // off during the effect. We probably need something like this
@@ -175,6 +175,5 @@
         super.play();
     }

-
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17336
Author:   rfrishbe@adobe.com
Date:     2010-08-16T21:43:38.459173Z

Log Message:
-----------
Checking in MobileIconItemRenderer.  Had to change a few things in MobileItemRenderer and MobileTextField to get this to work.

The spec will be updated shortly to reflect some API changes from this.

QE notes: None
Doc notes: None
Bugs: -
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/mobilecomponents/src/spark/components/supportClasses/MobileTextField.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/mobilecomponents/src/spark/components/MobileIconItemRenderer.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
@@ -535,14 +535,17 @@
     {
         super.measure();

-        var labelLineMetrics:TextLineMetrics = measureText(labelDisplay.text);
-
-        // Text respects padding right, left, top, and bottom
-        measuredWidth = labelLineMetrics.width + UITextField.TEXT_WIDTH_PADDING;
-        measuredWidth += getStyle("paddingLeft") + getStyle("paddingRight");
-
-        measuredHeight = labelLineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
-        measuredHeight += getStyle("paddingTop") + getStyle("paddingBottom");
+        if (labelDisplay)
+        {
+            var labelLineMetrics:TextLineMetrics = measureText(labelDisplay.text);
+
+            // Text respects padding right, left, top, and bottom
+            measuredWidth = labelLineMetrics.width + UITextField.TEXT_WIDTH_PADDING;
+            measuredWidth += getStyle("paddingLeft") + getStyle("paddingRight");
+
+            measuredHeight = labelLineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
+            measuredHeight += getStyle("paddingTop") + getStyle("paddingBottom");
+        }

         // minimum height of 80 pixels
         measuredHeight = Math.max(measuredHeight, 80);
@@ -711,49 +714,44 @@
     protected function layoutContents(unscaledWidth:Number,
                                       unscaledHeight:Number):void
     {
-        // measure the label component
-        var textWidth:Number = 0;
-        var textHeight:Number = 0;
-        var labelLineMetrics:TextLineMetrics;
-
-        if (label != "")
-        {
-            labelLineMetrics = measureText(label);
-            textWidth = labelLineMetrics.width + UITextField.TEXT_WIDTH_PADDING;
-            textHeight = labelLineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
-        }
-        else
-        {
-            labelLineMetrics = measureText("Wj");
-            // don't measured textWidth because that's what we do in Button, and it
-            // causes bugs if we do measure it in this case.  We only measure "Wj" for
-            // height purposes.
-            textHeight = labelLineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
-        }
-
-        // text should take up the rest of the space
-        var viewWidth:Number = unscaledWidth - getStyle("paddingLeft") + getStyle("paddingRight");
-        var labelWidth:Number = Math.max(Math.min(viewWidth, textWidth), 0);
-
-        var viewHeight:Number =  unscaledHeight - getStyle("paddingTop") - getStyle("paddingBottom");
-        var labelHeight:Number = Math.max(Math.min(viewHeight, textHeight), 0);
-
-        // label is positioned after the padding on the left.  vertically aligned center
-        var labelX:Number = getStyle("paddingLeft");
-        var labelY:Number = getStyle("paddingTop") + (viewHeight - labelHeight)/2;
-
-        labelDisplay.commitStyles();
-
-        labelDisplay.width = labelWidth;
-        labelDisplay.height = labelHeight;
-
-        labelDisplay.x = Math.round(labelX);
-        labelDisplay.y = Math.round(labelY);
-
-        // reset text if it was truncated before.  then attempt to truncate it
-        if (labelDisplay.isTruncated)
-            labelDisplay.text = label;
-        labelDisplay.truncateToFit();
+        if (labelDisplay)
+        {
+            // measure the label component
+            var textWidth:Number = 0;
+            var textHeight:Number = 0;
+            var labelLineMetrics:TextLineMetrics;
+
+            if (label != "")
+            {
+                labelLineMetrics = measureText(label);
+                textWidth = labelLineMetrics.width + UITextField.TEXT_WIDTH_PADDING;
+                textHeight = labelLineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
+            }
+
+            // text should take up the rest of the space
+            var viewWidth:Number = unscaledWidth - getStyle("paddingLeft") + getStyle("paddingRight");
+            var labelWidth:Number = Math.max(Math.min(viewWidth, textWidth), 0);
+
+            var viewHeight:Number =  unscaledHeight - getStyle("paddingTop") - getStyle("paddingBottom");
+            var labelHeight:Number = Math.max(Math.min(viewHeight, textHeight), 0);
+
+            // label is positioned after the padding on the left.  vertically aligned center
+            var labelX:Number = getStyle("paddingLeft");
+            var labelY:Number = getStyle("paddingTop") + (viewHeight - labelHeight)/2;
+
+            labelDisplay.commitStyles();
+
+            labelDisplay.width = labelWidth;
+            labelDisplay.height = labelHeight;
+
+            labelDisplay.x = Math.round(labelX);
+            labelDisplay.y = Math.round(labelY);
+
+            // reset text if it was truncated before.  then attempt to truncate it
+            if (labelDisplay.isTruncated)
+                labelDisplay.text = label;
+            labelDisplay.truncateToFit();
+        }
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 18712
Author:   hmuller@adobe.com
Date:     2010-11-18T19:23:06.057683Z

Log Message:
-----------
Updated TBD items for GridLayout, GridColumnHeaderGroupLayout

API changes (most of *these were supposed have been included in SVN 18691):

- Added IGridItemRenderer/get columnIndex(), get grid()

- *Added DataGrid,Grid/invalidateCell()

- *Added GridItemRenderer/get columnIndex()

- *Renamed the following protected Grid methods:
grid_RollOverHandler() => grid_rollOverHandler()
grid_RollOutHandler() => grid_rollOutHandler()
grid_MouseUpHandler() => grid_mouseUpHandler()
grid_MouseDownHandler() => grid_mouseDownHandler()

QE notes:
Doc notes:
Bugs:
Reviewer: Kevin
Tests run: checkin, mustella
Is noteworthy for integration: yes

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/IGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as
@@ -671,7 +671,7 @@
         // set the renderer's tooltTip property to a placeholder.  The real tooltip
         // text is computed in the TOOL_TIP_SHOW handler below.

-        // TBD(hmuller) - this code should be common with DefaultGridItemRenderer
+        // TODO (hmuller) - this code should be common with DefaultGridItemRenderer

         const showDataTips:Boolean = rowIndex != -1 && column && column.getShowDataTips();
         const dataTip:String = toolTip;
@@ -711,7 +711,7 @@
     //
     //--------------------------------------------------------------------------

-    // TBD(hmuller) - this code should be common with DefaultGridItemRenderer
+    // TODO (hmuller) - this code should be common with DefaultGridItemRenderer
     private function toolTipShowHandler(event:ToolTipEvent):void
     {
         var toolTip:IToolTip = event.toolTip;


Transferred from the Adobe Open Source Subversion Repository

Revision: 12078
Author:   klin@adobe.com
Date:     2009-11-21T08:14:46.648391Z

Log Message:
-----------
Fix for change events in Slider and ScrollBar. They now dispatch change events as before, whenever the user alters the value. In addition, changeStart and changeEnd events will be dispatched at the start and end of a user interaction or animation.

TrackBase.as - Added metadata for changeStart/End events. Dispatch change, changeStart/End events when appropriate.

Slider.as - Dispatch change, changeStart/End events when appropriate.

ScrollBar.as - Dispatch the appropriate events. Note that changeStart/End will not dispatch when shift-clicking on a non-animating ScrollBar. Renamed animatingSinglePage to animatingOnce to better reflect its function. Refactored some method calls to the new private stopAnimation(), which is more consistent with Slider. Refactored the button handlers to make stepping more readable. Added a setValue call in animationEndHandler where we were ending up off the snapInterval when shift-clicking.

Updated FlexEvent, ScrollBarTestScript and VideoPlayer to handle the new events.

QE notes: Update Slider and ScrollBar tests
Doc notes: No
Bugs: SDK-24264
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/ScrollBarTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as
@@ -293,7 +293,12 @@
      */
     private var steppingDown:Boolean;
     private var steppingUp:Boolean;
-	private var isStepping:Boolean;
+
+    /**
+     * @private
+     * This variable tracks whether we are currently stepping the ScrollBar
+     */
+    private var isStepping:Boolean;

     /**
      * @private
@@ -301,7 +306,7 @@
      * do a single changeValueByPage() operation. This is used to end that operation properly
      * if another operation interrupts it.
      */
-    private var animatingSinglePage:Boolean;
+    private var animatingOnce:Boolean;

     /**
      * @private
@@ -665,9 +670,14 @@
         else
             val = Math.max(value - pageSize, minimum);
         if (getStyle("smoothScrolling"))
+        {
             startAnimation(getStyle("repeatInterval"), val, linearEaser);
+        }
         else
+        {
             setValue(val);
+            dispatchEvent(new Event(Event.CHANGE));
+        }
     }

     //--------------------------------------------------------------------------
@@ -742,26 +752,22 @@
     mx_internal function viewportVerticalScrollPositionChangeHandler(event:PropertyChangeEvent):void
     {
     }
-
-	//---------------------------------
-	// Thumb dragging handlers
-	//---------------------------------
-
-	/**
-	 *  @private
-	 */
-	override protected function thumb_mouseDownHandler(event:MouseEvent) : void
-	{
-		// Stop animation before thumb dragging
-		if (animatingSinglePage)
-		{
-			animationEndHandler(animator);
-			animator.stop();
-		}
-
-		super.thumb_mouseDownHandler(event);
-	}
-
+
+    //---------------------------------
+    // Thumb dragging handlers
+    //---------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function thumb_mouseDownHandler(event:MouseEvent) : void
+    {
+        // Stop animation before thumb dragging
+        stopAnimation();
+
+        super.thumb_mouseDownHandler(event);
+    }
+
     //---------------------------------
     // Mouse up/down handlers
     //---------------------------------
@@ -782,38 +788,35 @@
      */
     protected function button_buttonDownHandler(event:Event):void
     {
-		// Make sure we finish any running page animation before starting
-		// to step.
-		if (animatingSinglePage)
-		{
-			animationEndHandler(animator);
-			animator.stop();
-		}
-
+        // Make sure we finish any running page animation before starting
+        // to step.
+        if (!isStepping)
+            stopAnimation();
+
+        var increment:Boolean = (event.target == incrementButton);
+
+        // Dispatch changeStart for the first step if we can make a step.
+        if (!isStepping &&
+            ((increment && value < maximum) ||
+                (!increment && value > minimum)))
+        {
+            dispatchEvent(new FlexEvent(FlexEvent.CHANGE_START));
+            isStepping = true;
+            systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_UP,
+                button_buttonUpHandler, true);
+            systemManager.getSandboxRoot().addEventListener(
+                SandboxMouseEvent.MOUSE_UP_SOMEWHERE, button_buttonUpHandler);
+        }
+
         // Noop if we're currently running a stepping animation. We get
         // called repeatedly here due to the button's autoRepeat
         if (!steppingDown && !steppingUp)
         {
-            var increment:Boolean = (event.target == incrementButton);
-
-			if (!isStepping &&
-				((increment && value < maximum) ||
-				 (!increment && value > minimum)))
-			{
-				dispatchEvent(new FlexEvent(FlexEvent.CHANGING));
-				isStepping = true;
-			}
-
             // FIXME (chaase): first step is non-animated, just to simplify the delayed
             // start of the animated stepping. Seems okay, but worth thinking
             // about whether we should animate the first step too
             changeValueByStep(increment);

-			systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_UP,
-				button_buttonUpHandler, true);
-			systemManager.getSandboxRoot().addEventListener(
-				SandboxMouseEvent.MOUSE_UP_SOMEWHERE, button_buttonUpHandler);
-
             // Only animate if smoothScrolling enabled and we're not at the end already
             if (getStyle("smoothScrolling") &&
                 ((increment && value < maximum) ||
@@ -847,30 +850,25 @@
     {
         if (steppingDown || steppingUp)
         {
-            if (animator.isPlaying)
-            {
-                animationEndHandler(animator);
-            }
-            // stop even if !isPlaying - it might just be startDelayed
-            animator.stop();
-
-			// Dispatch change event after animation is finished or stopped
-			dispatchEvent(new Event(Event.CHANGE));
-
-			steppingUp = steppingDown = false;
-			isStepping = false;
-        }
-		else if (isStepping)
-		{
-			// Dispatch change event for no animation case
-			dispatchEvent(new Event(Event.CHANGE));
-			isStepping = false;
-		}
-
-		systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_UP,
-			button_buttonUpHandler, true);
-		systemManager.getSandboxRoot().removeEventListener(
-			SandboxMouseEvent.MOUSE_UP_SOMEWHERE, button_buttonUpHandler);
+        	// stopAnimation will not dispatch a changeEnd.
+            stopAnimation();
+
+            dispatchEvent(new FlexEvent(FlexEvent.CHANGE_END));
+
+            steppingUp = steppingDown = false;
+            isStepping = false;
+        }
+        else if (isStepping)
+        {
+            // Dispatch changeEnd event for no animation case
+            dispatchEvent(new FlexEvent(FlexEvent.CHANGE_END));
+            isStepping = false;
+        }
+
+        systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_UP,
+            button_buttonUpHandler, true);
+        systemManager.getSandboxRoot().removeEventListener(
+            SandboxMouseEvent.MOUSE_UP_SOMEWHERE, button_buttonUpHandler);
     }

     //---------------------------------
@@ -894,16 +892,11 @@

         // Make sure we finish any running page animation before starting
         // a new one.
-        if (animatingSinglePage)
-		{
-			animationEndHandler(animator);
-            animator.stop();
-		}
+        stopAnimation();
+
         // Cache original event location for use on later repeating events
         trackPosition = track.globalToLocal(new Point(event.stageX, event.stageY));
-
-		dispatchEvent(new FlexEvent(FlexEvent.CHANGING));
-
+
         // If the user shift-clicks on the track, then offset the event coordinates so
         // that the thumb ends up centered under the mouse.
         if (event.shiftKey)
@@ -927,11 +920,12 @@
                 slideDuration != 0 &&
                 (maximum - minimum) != 0)
             {
+                dispatchEvent(new FlexEvent(FlexEvent.CHANGE_START));
                 // Animate the shift-click operation
                 startAnimation(slideDuration *
                     (Math.abs(value - newScrollValue) / (maximum - minimum)),
                     adjustedValue, deceleratingSineEaser);
-				animatingSinglePage = true;
+                animatingOnce = true;
             }
             else
             {
@@ -940,6 +934,10 @@
             }
             return;
         }
+
+        dispatchEvent(new FlexEvent(FlexEvent.CHANGE_START));
+        // Assume we're repeating unless user releases
+        animatingOnce = false;

         changeValueByPage(trackScrollDown);

@@ -998,7 +996,7 @@
      */
     protected function animatePaging(newValue:Number, pageSize:Number):void
     {
-        animatingSinglePage = false;
+        animatingOnce = false;
         // FIXME (chaase): hard-coding easing behavior, how to style it?
         startAnimation(
             getStyle("repeatInterval") * (Math.abs(newValue - value) / pageSize),
@@ -1047,6 +1045,7 @@
      */
     private function animationUpdateHandler(animation:Animation):void
     {
+        // TODO (klin): Add support to send change events at the right intervals.
         setValue(animation.currentValue["value"]);
     }

@@ -1062,20 +1061,44 @@
         if (trackScrolling)
             trackScrolling = false;

+        // End stepping animation
         if (steppingDown || steppingUp)
         {
             // If we're animating stepping, end on a final real step call in the
             // appropriate direction, ensuring that we stop on a content
             // item boundary
             changeValueByStep(steppingDown);
+
             animator.startDelay = 0;
-			return;
-        }
-
-		if (animatingSinglePage)
-			dispatchEvent(new Event(Event.CHANGE));
-
-        animatingSinglePage = false;
+            return;
+        }
+
+        // End paging or shift-click animation.
+        setValue(nearestValidValue(this.value, snapInterval));
+        dispatchEvent(new Event(Event.CHANGE));
+
+        // We only dispatch the changeEnd event in the endHandler
+        // for paging when we are not repeating.
+        if (animatingOnce)
+        {
+            dispatchEvent(new FlexEvent(FlexEvent.CHANGE_END));
+            animatingOnce = false;
+        }
+    }
+
+    /**
+     *  @private
+     *  Stops a running animation prematurely and calls the
+     *  animationEndHandler.
+     */
+    private function stopAnimation():void
+    {
+        if (animator.isPlaying)
+            animationEndHandler(animator);
+
+        // Stop it regardless, in case the animation is startDelayed and
+        // thus not 'playing', but still active
+        animator.stop();
     }

     /**
@@ -1194,49 +1217,41 @@
         systemManager.getSandboxRoot().removeEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE,
             track_mouseUpHandler);

-		// First, we check for smoothScrolling and also if we are
-		// not in a shift-click case.
+        // First, we check for smoothScrolling and also if we are
+        // in the non-repeating case.
         if (getStyle("smoothScrolling"))
         {
-			if (!animatingSinglePage)
-			{
-				// We check the timer to see if the user released the mouse
-				// before or after the repeat delay has expired. If not,
-				// we are currently repeating and we should end the animation
-				// as well as dispatch a change event.
-				if (trackScrollTimer && trackScrollTimer.running)
-				{
-					// If the animation has not yet finished before the repeat delay
-					// we set animatingSinglePage to true. Otherwise, the animation
-					// is done but repeating has not begun so we dispatch a change
-					// event.
-					if (animator.isPlaying)
-						animatingSinglePage = true;
-					else
-						dispatchEvent(new Event(Event.CHANGE));
-				}
-				else
-				{
-					if (animator.isPlaying)
-					{
-						animationEndHandler(animator);
-					}
-					// Stop it regardless, in case the animation is startDelayed and
-					// thus not 'playing', but still active
-					animator.stop();
-
-					dispatchEvent(new Event(Event.CHANGE));
-				}
-			}
-        }
-		else
-		{
-			// Dispatch change if there's no animation.
-			dispatchEvent(new Event(Event.CHANGE));
-		}
-
-		if (trackScrollTimer)
-			trackScrollTimer.reset();
+            if (!animatingOnce)
+            {
+                // We check the timer to see if the user released the mouse
+                // before the repeat delay has expired.
+                if (trackScrollTimer && trackScrollTimer.running)
+                {
+                    // If the animation has not yet finished before the repeat delay
+                    // we set animatingOnce to true. Otherwise, the animation
+                    // is done but repeating has not begun so we dispatch a changeEnd
+                    // event.
+                    if (animator.isPlaying)
+                        animatingOnce = true;
+                    else
+                        dispatchEvent(new FlexEvent(FlexEvent.CHANGE_END));
+                }
+                else
+                {
+                    // repeating case
+                    stopAnimation();
+                    dispatchEvent(new FlexEvent(FlexEvent.CHANGE_END));
+                }
+            }
+        }
+        else
+        {
+            // Dispatch changeEnd if there's no animation.
+            dispatchEvent(new FlexEvent(FlexEvent.CHANGE_END));
+        }
+
+        if (trackScrollTimer)
+            trackScrollTimer.reset();
     }

     /**
@@ -1246,6 +1261,8 @@
      */
     private function track_rollOverHandler(event:MouseEvent):void
     {
+        // TODO (klin): Fix up roll over/roll out handling so that
+        // it works with animation.
         if (trackScrolling && trackScrollTimer)
             trackScrollTimer.start();
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 8856
Author:   smgilson@adobe.com
Date:     2009-07-28T13:44:19.365479Z

Log Message:
-----------
- Fix broken ASDoc comment for inactive state in ScrollBar.as
- remove old hideChildrenTarget property from MXML syntax of Resize.as

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as
@@ -35,8 +35,9 @@
 use namespace mx_internal;

 /**
- *  Inactive State
- *  This is the state when there is no content to scroll through (maximum <= minimum).
+ *  The inactive state.
+ *  This is the state when there is no content to scroll,
+ *  which means maximum <= minimum.
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 21332
Author:   dloverin@adobe.com
Date:     2011-06-03T15:42:37.355062Z

Log Message:
-----------
Merge revision 21315: BusyIndicator fix from the 4.5.1 branch.

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

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/BusyIndicator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/BusyIndicator.as
@@ -653,8 +653,23 @@
         {
             if (!current.visible)
             {
-                effectiveVisibility = false;
-                break;
+                if (!(current is IUIComponent) || !IUIComponent(current).isPopUp)
+                {
+                    // Treat all pop ups as if they were visible. This is to
+                    // fix a bug where the BusyIndicator does not spin when it
+                    // is inside modal popup. The problem is in we do not get
+                    // an event when the modal window is made visible in
+                    // PopUpManagerImpl.fadeInEffectEndHandler(). When the modal
+                    // window is made visible, setVisible() is passed "true" so
+                    // as to not send an event. When do get events when the
+                    // non-modal windows are popped up. Only modal windows are
+                    // a problem.
+                    // The downside of this fix is BusyIndicator components that are
+                    // inside of hidden, non-modal, popup windows will paint themselves
+                    // on a timer.
+                    effectiveVisibility = false;
+                    break;
+                }
             }

             current = current.parent as IVisualElement;


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

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

 package mx.controls.treeClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8393
Author:   jszeto@adobe.com
Date:     2009-07-06T20:46:27.558863Z

Log Message:
-----------
Updated FIXME comments

Changed some to TODOs, removed some and filed bugs for the remainder

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Deepa

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -940,7 +940,7 @@

                 if (!_mask.parent)
                 {
-                    // FIXME (jszeto): This needs to be a sibling because alpha
+                    // TODO (jszeto): Does this need to be attached to a sibling?
                     super.addChild(_mask);
                     var maskComp:UIComponent = _mask as UIComponent;
                     if (maskComp)
@@ -1252,7 +1252,7 @@
         {
              super.removeChild(_focusPane);

-             // FIXME (jszeto): remove mask?  SDK-15310
+             // TODO (jszeto): remove mask?  SDK-15310
             _focusPane = null;
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 6957
Author:   jimurphy@adobe.com
Date:     2009-05-15T16:11:59.737851Z

Log Message:
-----------
Merged beta1 revisions 6898,6906,6913,6915,6917,6926,6930 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/ImageHelper.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VRule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/flash-integration/FlexComponentKit.mxp</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/swf/FXG2SWFTranscoder.java</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/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/ShapeHelper.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</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/HRule.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/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/filters/GlowFilterNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/FlexComponentKit.mxi</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/TypeHelper.java</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
@@ -754,7 +754,8 @@
     {
     	var newValue:Number = nearestValidValue(value + event.delta * stepSize, stepSize);
         positionThumb(valueToPosition(newValue));
-        setValue(newValue);
+        setValue(newValue);
+        event.preventDefault();
     }

     /**