Transferred from the Adobe Open Source Subversion Repository

Revision: 9709
Author:   hmuller@adobe.com
Date:     2009-08-27T20:29:32.574564Z

Log Message:
-----------
Added RemoteListView support for list modifications that occur while requests are pending.

QE Notes: No tests until the spec has been signed off
Doc Notes:
Bugs:
Reviewer: Alex

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/RemoteListView.as

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

--- frameworks/projects/framework/src/mx/collections/AsyncListView.as
+++ frameworks/projects/framework/src/mx/collections/AsyncListView.as
@@ -17,6 +17,7 @@
 import mx.collections.errors.ItemPendingError;
 import mx.core.mx_internal;
 import mx.events.CollectionEvent;
+import mx.events.CollectionEventKind;
 import mx.utils.OnDemandEventDispatcher;

 use namespace mx_internal;  // for mx_internal functions pendingItemSucceeded,Failed()
@@ -121,19 +122,189 @@
         if (_list == value)
             return;

-        pendingItems.length = 0;
-
+        deleteAllPendingResponders();
         if (_list)
-            _list.removeEventListener(CollectionEvent.COLLECTION_CHANGE, dispatchEvent);
+            _list.removeEventListener(CollectionEvent.COLLECTION_CHANGE, handleCollectionChangeEvent);
+        _list = value;
+        if (_list)
+            _list.addEventListener(CollectionEvent.COLLECTION_CHANGE, handleCollectionChangeEvent);
+
+        dispatchEvent(new Event("listChanged"));
+    }
+
+    /**
+     *  @private
+     */
+    private function deleteAllPendingResponders():void
+    {
+        for each (var responder:ListItemResponder in pendingResponders)
+            responder.index = -1;
+        pendingResponders.length = 0;
+    }
+
+    /**
+     *  @private
+     *  Fixup the pendingResponders array after a change to the list.  Generally speaking,
+     *  if a list[index] item changes, the pending responder for that index is no longer needed.
+     *
+     *  All "collectionChange" events are redispatched to the RemoteListView listeners.
+     */
+    private function handleCollectionChangeEvent(e:Event):void
+    {
+        const ce:CollectionEvent = CollectionEvent(e);
+        switch (ce.kind)
+        {
+            case CollectionEventKind.REPLACE:
+            case CollectionEventKind.UPDATE:
+                deletePendingResponders(ce);
+                break;
+
+            case CollectionEventKind.MOVE:
+                movePendingResponders(ce);
+                break;
+
+            case CollectionEventKind.ADD:
+                shiftPendingRespondersRight(ce);
+                break;
+
+            case CollectionEventKind.REMOVE:
+                shiftPendingRespondersLeft(ce);
+                break;
+
+            case CollectionEventKind.RESET:
+            case CollectionEventKind.REFRESH:
+                deleteAllPendingResponders();
+                break;
+        }

-        _list = value;
-
-        if (_list)
-            _list.addEventListener(CollectionEvent.COLLECTION_CHANGE, dispatchEvent);
-
-        dispatchEvent(new Event("listChanged"));
-    }
-
+        dispatchEvent(e);  // redispatch to CollectionEvent listeners on this
+    }
+
+
+    /**
+     *  @private
+     *  Delete the ListItemResponder at the specified index, if any.
+     *  This method assumes that the responder hasn't run yet, it sets
+     *  the ListItemResponder index to -1 to prevent it from updating
+     *  this RemoteListView later.
+     */
+    private function deletePendingResponder(index:int):void
+    {
+        if ((index < 0) || (index >= pendingResponders.length))
+            return;
+
+        const pendingResponder:ListItemResponder = pendingResponders[index];
+        if (pendingResponder)
+        {
+            delete pendingResponders[index];
+            ListItemResponder(pendingResponder).index = -1;
+        }
+    }
+
+    /**
+     *  @private
+     *  Handler for a CollectionEventKind.UPDATE or REPLACE event. In either
+     *  case a contiguous block of items (ce.items) beginning with index=ce.location
+     *  has been changed.  If there are any pending requests for these indices, we
+     *  assume they're no longer valid, i.e. we assume that getItemAt() should no longer
+     *  return the pending item.
+     *
+     *  Note that when a pending request succeeds, a REPLACE event is dispatched by
+     *  the underlying list.   When a pending request fails, we set the corresponding
+     *  list item, which also causes a REPLACE even to be dispatched.
+     */
+    private function deletePendingResponders(ce:CollectionEvent):void
+    {
+        var index:int = ce.location;
+        for each (var item:Object in ce.items)
+            deletePendingResponder(index++);
+    }
+
+    /**
+     *  @private
+     *  Handler for a CollectionEventKind.MOVE event.  The event indicates that a
+     *  contiguous block of items (ce.items), beginning with index=ce.oldLocation,
+     *  has been moved to ce.location.  If pendingRequests already exist at ce.location,
+     *  they're deleted first.
+     */
+    private function movePendingResponders(ce:CollectionEvent):void
+    {
+        var fromIndex:int = ce.oldLocation;
+        var toIndex:int = ce.location;
+        for each (var item:Object in ce.items)
+        {
+            const pendingResponder:ListItemResponder = pendingResponders[fromIndex];
+            if (pendingResponder)
+            {
+                delete pendingResponders[fromIndex];
+                ListItemResponder(pendingResponder).index = toIndex;
+                deletePendingResponder(toIndex); // in case we're copying over a pending request
+                pendingResponders[toIndex] = pendingResponder;
+            }
+            fromIndex += 1;
+            toIndex += 1;
+        }
+    }
+
+    /**
+     *  @private
+     *  Handler for a CollectionEventKind.ADD.  The event indicates
+     *  that a block of ce.items.length items starting at ce.location was inserted,
+     *  which implies that all of the pendingResponders whose index is greater than or
+     *  equal to ce.location, must be shifted right by ce.items.length.
+     */
+    private function shiftPendingRespondersRight(ce:CollectionEvent):void
+    {
+        const delta:int = ce.items.length;
+        const startIndex:int = ce.location;
+
+        const pendingRespondersCopy:Array = sparseCopy(pendingResponders);
+        pendingResponders.length = 0;
+        for each (var responder:ListItemResponder in pendingRespondersCopy)
+        {
+            if (responder.index >= startIndex)
+                responder.index += delta;
+            pendingResponders[responder.index] = responder;
+        }
+    }
+
+    /**
+     *  @private
+     *  Handler for a CollectionEventKind.REMOVE.  The event indicates
+     *  that a block of ce.items.length items starting at ce.location was removed,
+     *  which implies that all of the pendingResponders whose index is greater than or
+     *  equal to ce.location, must be shifted left by ce.items.length.
+     */
+    private function shiftPendingRespondersLeft(ce:CollectionEvent):void
+    {
+        const delta:int = ce.items.length;
+        const startIndex:int = ce.location + delta;
+
+        const pendingRespondersCopy:Array = sparseCopy(pendingResponders);
+        pendingResponders.length = 0;
+        for each (var responder:ListItemResponder in pendingRespondersCopy)
+        {
+            if (responder.index >= startIndex)
+                responder.index -= delta;
+            pendingResponders[responder.index] = responder;
+        }
+    }
+
+    /**
+     *  Applying concat() to a sparse array produces a new array that's
+     *  not sparse, nulls replace items that were undefined.  Although the
+     *  result of this method is not sparse, it only includes items that
+     *  were in the original array.
+     */
+    private function sparseCopy(a:Array):Array
+    {
+        const r:Array = new Array();
+        var index:int = 0;
+        for each (var item:* in a)
+            r[index++] = item;
+        return r;
+    }
+
     //----------------------------------
     //  createPendingItemFunction
     //----------------------------------
@@ -250,7 +421,7 @@
     //
     //--------------------------------------------------------------------------

-    private const pendingItems:Array = new Array();
+    private const pendingResponders:Array = new Array();

     /**
      *  @private
@@ -263,7 +434,7 @@
      */
     mx_internal function pendingRequestSucceeded(index:int, info:Object):void
     {
-        delete pendingItems[index];
+        delete pendingResponders[index];
     }

     /**
@@ -277,8 +448,8 @@
      */
     mx_internal function pendingRequestFailed(index:int, info:Object):void
     {
-        delete pendingItems[index];
-        // TBD if the dataProvider has changed or if it's null, then ignore this item
+        delete pendingResponders[index];
+
         var item:Object = null;
         if (createFailedItemFunction !== null)
         {
@@ -368,9 +539,9 @@
         if (!list)
             return null;

-        var pendingItem:* = pendingItems[index];
-        if (pendingItem !== undefined)
-            return pendingItem;
+        const pendingResponder:ListItemResponder = pendingResponders[index];
+        if (pendingResponder)
+            return pendingResponder.item;

         var item:Object = null;
         try
@@ -379,12 +550,13 @@
         }
         catch (ipe:ItemPendingError)
         {
-            var createPendingItem:Function = createPendingItemFunction;
+            const createPendingItem:Function = createPendingItemFunction;
             if (createPendingItem !== null)
                 item = createPendingItem(index, ipe);
-            ipe.addResponder(new ListItemResponder(this, index));
+            var responder:ListItemResponder = new ListItemResponder(this, index, item);
+            pendingResponders[index] = responder;
+            ipe.addResponder(responder);
         }
-        pendingItems[index] = item;
         return item;
     }

@@ -500,21 +672,25 @@
 {
     private var remoteListView:RemoteListView;
     public var index:int = -1;
-
-    public function ListItemResponder(remoteListView:RemoteListView, index:int)
+    public var item:Object = null;
+
+    public function ListItemResponder(remoteListView:RemoteListView, index:int, item:Object)
     {
         super();
         this.remoteListView = remoteListView;
         this.index = index;
+        this.item = item;
     }

     public function result(info:Object):void
     {
-        remoteListView.pendingRequestSucceeded(index, info);
+        if (index != -1)
+            remoteListView.pendingRequestSucceeded(index, info);
     }

     public function fault(info:Object):void
     {
-        remoteListView.pendingRequestFailed(index, info);
+        if (index != -1)
+            remoteListView.pendingRequestFailed(index, info);
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20667
Author:   chiedozi@adobe.com
Date:     2011-03-08T04:23:49.402096Z

Log Message:
-----------
Fixed a regression where the orientation state of a mobile application didn't properly update when an application is relaunched after being suspended.

QE notes:
Doc notes:
Bugs: SDK-29099
Reviewer: Ryan
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigatorApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigatorApplication.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/View.as
+++ frameworks/projects/mobilecomponents/src/spark/components/View.as
@@ -234,11 +234,7 @@

             // Switch orientation states if needed
             if (_active)
-            {
-                var viewState:String = getCurrentViewState();
-                if (currentState != viewState)
-                    setCurrentState(viewState, false);
-            }
+				updateOrientationState();

             var eventName:String = _active ?
                 ViewNavigatorEvent.VIEW_ACTIVATE :
@@ -968,10 +964,17 @@
     private function stage_orientationChangeHandler(event:StageOrientationEvent):void
     {
         if (isActive)
-            setCurrentState(getCurrentViewState(), false);
-    }
-
-
+			updateOrientationState();
+    }
+
+    /**
+	 *  @private
+	 */
+	mx_internal function updateOrientationState():void
+	{
+		setCurrentState(getCurrentViewState(), false);
+	}
+
     //--------------------------------------------------------------------------
     //
     //  Overridden methods: UIComponent
@@ -999,7 +1002,7 @@
         systemManager.stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE,
             stage_orientationChangeHandler, false, 0, true);

-        setCurrentState(getCurrentViewState(), false);
+		updateOrientationState();
     }

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


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

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

 package mx.controls.videoClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6006
Author:   dsubrama@adobe.com
Date:     2009-04-07T23:13:52.682149Z

Log Message:
-----------
-new property, labelText, added to IItemRenderer interface
-owning components always push the right text down to the renderer (ie: setting the labelText property)
-DataGroup, SkinnableDataContainer now implement IItemRendererOwner
-labelField/labelFunction work for ButtonBar

QA: Yes
Checkintests: Pass
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/DefaultItemRenderer.mxml</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/flex4/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/IItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.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/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/ButtonBarButton.as
+++ frameworks/projects/spark/src/spark/components/ButtonBarButton.as
@@ -114,6 +114,37 @@
          content = value;
     }

+    //----------------------------------
+    //  labelText
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _labelText:String = "";
+
+    /**
+     *  @inheritDoc
+     *
+     */
+    public function get labelText():String
+    {
+        return _labelText;
+    }
+
+    /**
+     *  @private
+     */
+    public function set labelText(value:String):void
+    {
+        if (value != _labelText)
+        {
+            _labelText = value;
+            if (labelElement)
+                labelElement.text = _labelText;
+        }
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Event handling


Use more intelligent video frame time rejection logic.

--- HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
+++ HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
@@ -2663,7 +2663,7 @@
 				// Skip totally implausible tags - we need to splice which means the splice must happen after
 				// tags we have fed into the flash decoder.
 				if(!scanningForIFrame &&
-					pendingTags.length > 0 && realTimestamp < wrapTagTimestampToFLVTimestamp(pendingTags[0].timestamp) - 64)
+					pendingTags.length > 0 && isBackInTime)
 				{
 					scanningForIFrame = true;


• Adding missing public properties for Stage.

--- Support/data/src/flash/display/Stage.as
+++ Support/data/src/flash/display/Stage.as
@@ -9,20 +9,24 @@
 	public class Stage extends DisplayObjectContainer
 	{
 		public var align:String;
-		public var focus:InteractiveObject;
-		public var frameRate:Number;
-		public var height:Number;
-		public var mouseChildren:Boolean;
-		public var numChildren:int;
-		public var quality:String;
-		public var scaleMode:String;
-		public var showDefaultContextMenu:Boolean;
-		public var stageFocusRect:Boolean;
-		public var stageHeight:int;
-		public var stageWidth:int;
-		public var tabChildren:Boolean;
-		public var textSnapshot:TextSnapshot;
-		public var width:Number;
+        public var displayState:String;
+        public var focus:InteractiveObject;
+        public var frameRate:Number;
+        public var fullScreenHeight:uint;
+        public var fullScreenSourceRect:Rectangle;
+        public var fullScreenWidth:uint;
+        public var height:Number;
+        public var mouseChildren:Boolean;
+        public var numChildren:int;
+        public var quality:String;
+        public var scaleMode:String;
+        public var showDefaultContextMenu:Boolean;
+        public var stageFocusRect:Boolean;
+        public var stageHeight:int;
+        public var stageWidth:int;
+        public var tabChildren:Boolean;
+        public var textSnapshot:TextSnapshot;
+        public var width:Number;
 		override function addChild(child:DisplayObject):DisplayObject;
 		override function addChildAt(child:DisplayObject, index:int):DisplayObject;
 		override function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void;


Made copying byte array more efficient

Made copying byte array more efficient

--- frameworks/projects/Core/src/main/flex/org/apache/flex/utils/BinaryData.as
+++ frameworks/projects/Core/src/main/flex/org/apache/flex/utils/BinaryData.as
@@ -320,11 +320,8 @@
         var n:int = ba.byteLength;
         var newBuffer:ArrayBuffer = new ArrayBuffer(newSize);
         var newView:Uint8Array = new Uint8Array(newBuffer, 0, n);
-        var view:Uint8Array = new Uint8Array(ba, 0, n);
-        for (var i:int = 0; i < n; i++)
-        {
-            newView[i] = view[i];
-        }
+        var view:Uint8Array = new Uint8Array(ba, 0, Math.min(newSize,n));
+        newView.set(view);
         ba = newBuffer;
     }
     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 13666
Author:   jimurphy@adobe.com
Date:     2010-01-20T19:05:30.983340Z

Log Message:
-----------
Merge /branches/4.0.0 revs 13595,13601,13613,13614,13615,13616,13619,13638,13644,13646,13647,13652,13653,13654,13665 -> trunk

checkintests pass

4.0.0 changes:
------------------------------------------------------------------------
r13665 | jimurphy@adobe.com

remove the call to clean-temp before the package staging starts.  Removing the temp directory before the copy was removing the config updates that happen before this target is called.
SDK-25160

------------------------------------------------------------------------
r13595 | jimurphy@adobe.com | 2010-01-18 18:24:33 -0500 (Mon, 18 Jan 2010) | 15 lines

split airframework from airspark docs
-delete airframework/bundles/[locale]/docs/spark xml's
-add airspark/bundles/[locale]/docs/spark xml's
-added airspark/bundles/en_US/ english properties
-modified airspark/build to:
  -use en_US properties for each of the locales until localized
  -use the localized spark doc files for each locale in the fat-swc target

SDK-25065
------------------------------------------------------------------------

------------------------------------------------------------------------
r13601 | preilly@adobe.com | 2010-01-18 19:54:16 -0500 (Mon, 18 Jan 2010) | 25 lines

* Fixed a regression caused by revision 13531.

SDK-25115 Code-level description of changes:

  StyleDef.java

    Modified extractImports() by adding a "null" value check for
    ClassReferences.

    Modified processReference() to use Reference's updated
    constructor.

  Reference.java

    Modified constructor by adding a isClassReference parameter.

    Removed setClassReference(), because it's no longer used.

------------------------------------------------------------------------

------------------------------------------------------------------------
r13613 | jimurphy@adobe.com | 2010-01-18 22:23:05 -0500 (Mon, 18 Jan 2010) | 14 lines

Integration:
from branch: releases/ct/yuki/sonoma/...
afe.jar: 62.418002
rideau.jar: 62.417355

https://bugs.adobe.com/jira/browse/SDK-25018
SDK-25018 https://bugs.adobe.com/jira/browse/SDK-25012
SDK-25012
------------------------------------------------------------------------

------------------------------------------------------------------------
r13614 | jimurphy@adobe.com | 2010-01-18 22:56:49 -0500 (Mon, 18 Jan 2010) | 9 lines

additional update for airspark, added packages.dita to svn and instead of unzipping properties from airspark_rb the locales will simply use the files from the en_US directory until the localized files are submitted.

SDK-25065
------------------------------------------------------------------------

------------------------------------------------------------------------
r13615 | jimurphy@adobe.com | 2010-01-18 23:59:14 -0500 (Mon, 18 Jan 2010) | 12 lines

fix airframework/build.xml so the en_US _rb does not become corrupt when the other.locales target is run.
-removed the redundant en_US call in the other.locales target
-added a clean for locales that will only remove the locale being built before rebuild - not all of the locales
-add updated dita that does not contain spark references

------------------------------------------------------------------------

------------------------------------------------------------------------
r13616 | rfrishbe@adobe.com | 2010-01-19 00:01:44 -0500 (Tue, 19 Jan 2010) | 10 lines

Fixing a VideoPlayer bug, SDK-25116 (When switching the video source while another video is loading, the switch doesn't always work).  It's similar to SDK-24933.  In the previous fix, we cleaned up the asynchronous load when we decided we wanted to just play the video.  However, we should also clean up this asynchronous load when the source changes.  This code could be refactored later, and I put a TODO in for that.
SDK-25116 SDK-24933
Also, I'm cleaning up some docs around some scenarios when the source is switched that explicitly won't work.  At some point, we could make these work, but I don't think it's worth the extra effort/code given how likely these are that a developer or user would run in to them.

SDK-25116
------------------------------------------------------------------------

------------------------------------------------------------------------
r13619 | egeorgie@adobe.com | 2010-01-19 01:23:05 -0500 (Tue, 19 Jan 2010) | 11 lines

Fix bug: Scaling a DateChooser inside a Canvas causes RTE http://bugs.adobe.com/jira/browse/SDK-25087
SDK-25087
The offending code was in the PostScaleAdapter - missing check for zero when dividing by the scale.

SDK-25087
------------------------------------------------------------------------

------------------------------------------------------------------------
r13638 | jimurphy@adobe.com | 2010-01-19 17:51:32 -0500 (Tue, 19 Jan 2010) | 14 lines

update to ensure fat-swcs contain a proper packages.dita file.
-removed all packages.dita files from all langs where it was checked in
-at the end of asdoc task we now copy the packages.dita out to the en_US project dir being built.  This is where the fat-swc task will pick up this file and place it in the docs directory of the _rb.swc
-had to change the order of the build process slightly - old order: ant clean main other.locales doc - new order: ant clean main doc other.locales
 - I removed other.locales from main in the root/build.xml and made it it's own task and also removed the property locales.  so to build other.locales, the doc target needs to run first (will add a depends at some point).
 -in the internal build.xml I have changed to use the new order

------------------------------------------------------------------------

------------------------------------------------------------------------
r13644 | jimurphy@adobe.com | 2010-01-19 18:55:59 -0500 (Tue, 19 Jan 2010) | 11 lines

fix the build.
-make sure the bundles do not get deleted before they are about to be updated, this holds especially true for swcs we are checking in
-make sure we don't try and rebuild osmf.swc as it should not change b/c it is in src

------------------------------------------------------------------------

------------------------------------------------------------------------
r13646 | jimurphy@adobe.com | 2010-01-19 19:29:21 -0500 (Tue, 19 Jan 2010) | 8 lines

fix the build take 2  Don't call other.locales for osmf since there aren't any other locales to build - I am hoping this is why the osmf_rb is losing the catalog

------------------------------------------------------------------------

------------------------------------------------------------------------
r13647 | jimurphy@adobe.com | 2010-01-19 20:04:22 -0500 (Tue, 19 Jan 2010) | 8 lines

this should actually fix the build - call the modified main target to call the bundle task for osmf and actually make the call from frameworks/build.xml

------------------------------------------------------------------------

------------------------------------------------------------------------
r13652 | rfrishbe@adobe.com | 2010-01-19 21:31:18 -0500 (Tue, 19 Jan 2010) | 8 lines

Fixing an MX TextArea bug.  It's caused by MX ScrollControlBase pushing the enabled property down in to the BorderSkin and also caused by some enabled/alpha issues in GroupBase.  For now, we're fixing the ScrollControlBase issue and no longer pushing the enabled property down in to the skin.

SDK-25109
------------------------------------------------------------------------

------------------------------------------------------------------------
r13653 | jimurphy@adobe.com | 2010-01-19 22:12:19 -0500 (Tue, 19 Jan 2010) | 11 lines

fix airspark_rb so it is localized properly.
-point to framework/bundles/[locale] localized files instead of using the english files we had in arispark
-remove en_US property files from airspark

------------------------------------------------------------------------

------------------------------------------------------------------------
r13654 | aharui@adobe.com | 2010-01-19 23:44:34 -0500 (Tue, 19 Jan 2010) | 8 lines

Replace an IPE defense I took out in svn 10058

SDK-25081
------------------------------------------------------------------------

Modified Paths:
--------------
104 paths were modified

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

--- frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as
+++ frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as
@@ -52,7 +52,7 @@
         {
             // We are already taking scale into account from the transform,
             // so adjust here since IUIComponent mixes it with width/height
-            result /= obj.scaleX;
+            result = (obj.scaleX == 0) ? 0 : result / obj.scaleX;
         }
         return result;
     }
@@ -76,7 +76,7 @@
         {
             // We are already taking scale into account from the transform,
             // so adjust here since IUIComponent mixes it with width/height
-            result /= obj.scaleY;
+            result = (obj.scaleY == 0) ? 0 : result / obj.scaleY;
         }
         return result;
     }
@@ -101,7 +101,7 @@
         {
             // We are already taking scale into account from the transform,
             // so adjust here since IUIComponent mixes it with width/height
-            minWidth /= obj.scaleX;
+            minWidth = (obj.scaleX == 0) ? 0 : minWidth / obj.scaleX;
         }
         return minWidth;
     }
@@ -126,7 +126,7 @@
         {
             // We are already taking scale into account from the transform,
             // so adjust here since IUIComponent mixes it with width/height
-            minHeight /= obj.scaleY;
+            minHeight = (obj.scaleY == 0) ? 0 : minHeight / obj.scaleY;
         }
         return minHeight;
     }
@@ -144,7 +144,7 @@
         {
             // We are already taking scale into account from the transform,
             // so adjust here since IUIComponent mixes it with width/height
-            maxWidth /= obj.scaleX;
+            maxWidth = (obj.scaleX == 0) ? 0 : maxWidth / obj.scaleX;
         }
         return maxWidth;
     }
@@ -162,7 +162,7 @@
         {
             // We are already taking scale into account from the transform,
             // so adjust here since IUIComponent mixes it with width/height
-            maxHeight /= obj.scaleY;
+            maxHeight = (obj.scaleY == 0) ? 0 : maxHeight / obj.scaleY;
         }
         return maxHeight;
     }
@@ -340,7 +340,7 @@
         {
             // We are already taking scale into account from the transform,
             // so adjust here since IUIComponent mixes it with width/height
-            width /= obj.scaleX;
+            width = (obj.scaleX == 0) ? 0 : width / obj.scaleX;
         }

         if (transformMatrix)
@@ -350,7 +350,7 @@
             {
                 // We are already taking scale into account from the transform,
                 // so adjust here since IUIComponent mixes it with width/height
-                height /= obj.scaleY;
+                height = (obj.scaleY == 0) ? 0 : height / obj.scaleY;
             }

             // By default the IUIComponent's registration point is the same
@@ -369,7 +369,7 @@
         {
             // We are already taking scale into account from the transform,
             // so adjust here since IUIComponent mixes it with width/height
-            height /= obj.scaleY;
+            height = (obj.scaleY == 0) ? 0 : height / obj.scaleY;
         }

         if (transformMatrix)
@@ -379,7 +379,7 @@
             {
                 // We are already taking scale into account from the transform,
                 // so adjust here since IUIComponent mixes it with width/height
-                width /= obj.scaleX;
+                width = (obj.scaleX == 0) ? 0 : width / obj.scaleX;
             }

             // By default the IUIComponent's registration point is the same
@@ -410,8 +410,8 @@

         if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
         {
-            width /= obj.scaleX;
-            height /= obj.scaleY;
+            width = (obj.scaleX == 0) ? 0 : width / obj.scaleX;
+            height = (obj.scaleY == 0) ? 0 : height / obj.scaleY;
         }

 		// We are already taking scale into account from the transform,
@@ -434,8 +434,8 @@

         if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
         {
-            width /= obj.scaleX;
-            height /= obj.scaleY;
+            width = (obj.scaleX == 0) ? 0 : width / obj.scaleX;
+            height = (obj.scaleY == 0) ? 0 : height / obj.scaleY;
         }

         // We are already taking scale into account from the transform,
@@ -459,9 +459,9 @@
     {
         if (transformMatrix)
         {
-        	//race("Setting actual position to " + x + "," + y);
-        	//race("\tcurrent x/y is " + obj.x + "," + obj.y);
-        	//race("\tcurrent actual position is " + actualPosition.x + "," + actualPosition.y);
+            //race("Setting actual position to " + x + "," + y);
+            //race("\tcurrent x/y is " + obj.x + "," + obj.y);
+            //race("\tcurrent actual position is " + actualPosition.x + "," + actualPosition.y);
             x = x - getLayoutBoundsX(obj,transformMatrix) + obj.x;
             y = y - getLayoutBoundsY(obj,transformMatrix) + obj.y;
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20352
Author:   smgilson@adobe.com
Date:     2011-02-17T19:26:00.432539Z

Log Message:
-----------
Minor ASDoc cleanup

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/BusyIndicator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/BusyIndicator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/BusyIndicator.as
@@ -105,7 +105,6 @@
  *
  *

  *  <s:BusyIndicator
- *
  *    Common Styles
  *    rotationInterval=50
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 19353
Author:   egeorgie@adobe.com
Date:     2010-12-14T02:56:50.243442Z

Log Message:
-----------
Resolve indirect merge conflict between 19344  and 19349

QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run: build
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/ViewMenuItemSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuSkin.mxml</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuItemSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuItemSkin.as
@@ -3,16 +3,16 @@
 import flash.display.GradientType;
 import flash.display.Graphics;

-import mx.core.DeviceDensity;
+import mx.core.DPIClassification;
 import mx.core.mx_internal;

 import spark.skins.mobile.assets.ViewMenuItem_down;
 import spark.skins.mobile.assets.ViewMenuItem_showsCaret;
 import spark.skins.mobile.assets.ViewMenuItem_up;
+import spark.skins.mobile.supportClasses.ButtonSkinBase;
 import spark.skins.mobile320.assets.ViewMenuItem_down;
 import spark.skins.mobile320.assets.ViewMenuItem_showsCaret;
 import spark.skins.mobile320.assets.ViewMenuItem_up;
-import spark.skins.mobile.supportClasses.ButtonSkinBase;

 use namespace mx_internal;

@@ -25,9 +25,9 @@
     {
         super();

-        switch (authorDensity)
+        switch (applicationDPI)
         {
-            case DeviceDensity.PPI_320:
+            case DPIClassification.DPI_320:
             {

                 upBorderSkin = spark.skins.mobile320.assets.ViewMenuItem_up;
@@ -39,7 +39,7 @@

                 break;
             }
-            case DeviceDensity.PPI_240:
+            case DPIClassification.DPI_240:
             {
                 upBorderSkin = spark.skins.mobile.assets.ViewMenuItem_up;
                 downBorderSkin = spark.skins.mobile.assets.ViewMenuItem_down;


Transferred from the Adobe Open Source Subversion Repository

Revision: 2526
Author:   chaase@adobe.com
Date:     2008-07-18T21:42:56.518055Z

Log Message:
-----------
New Move effect, works with both UIComponent subclasses (halo and gumbo) and GraphicElement objects. Minor fixes needed in framework files (Effect, CompositeEffect) to make everything work properly.

Reviewer: Jason S
checkintests: PASS
Mustella Effects: PASS

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.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/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/NewEffects.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/effectClasses/MoveInstance.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</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/flex/effects/AnimateProperties.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
@@ -0,0 +1,253 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+package flex.effects.effectClasses
+{
+import flash.events.Event;
+
+import flex.component.Panel;
+import flex.effects.PropertyValuesHolder;
+import flex.graphics.IGraphicElement;
+
+import mx.core.Application;
+import mx.core.Container;
+import mx.core.IUIComponent;
+import mx.events.EffectEvent;
+import mx.events.TweenEvent;
+import mx.styles.IStyleClient;
+
+public class MoveInstance extends AnimatePropertiesInstance
+{
+    include "../../core/Version.as";
+
+    public function MoveInstance(target:Object)
+    {
+        super(target);
+        roundValues = true;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  yBy
+    //----------------------------------
+
+    /**
+     *  Number of pixels by which to modify the y of the component.
+     *  Values may be negative.
+     */
+    public var yBy:Number;
+
+    //----------------------------------
+    //  yFrom
+    //----------------------------------
+
+    /**
+     *  Initial y. If omitted, Flex uses the current size.
+     */
+    public var yFrom:Number;
+
+    //----------------------------------
+    //  yTo
+    //----------------------------------
+
+
+    /**
+     *  Final y, in pixels.
+     */
+    public var yTo:Number;
+
+    //----------------------------------
+    //  xBy
+    //----------------------------------
+
+    /**
+     *  Number of pixels by which to modify the width of the component.
+     *  Values may be negative.
+     */
+    public var xBy:Number;
+
+    //----------------------------------
+    //  xFrom
+    //----------------------------------
+
+    /**
+     *  Initial x. If omitted, Flex uses the current size.
+     */
+    public var xFrom:Number;
+
+    //----------------------------------
+    //  xTo
+    //----------------------------------
+
+    /**
+     *  Final x, in pixels.
+     */
+    public var xTo:Number;
+
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function play():void
+    {
+		// The user may have supplied some combination of xFrom, xTo, and xBy.
+		// If either xFrom or xTo is not explicitly defined, calculate its
+		// value based on the other two values.
+        if (isNaN(xFrom))
+        {
+            if (!isNaN(xTo) && !isNaN(xBy))
+                xFrom = xTo - xBy;
+            else if (propertyChanges && propertyChanges.start["x"] !== undefined)
+                xFrom = propertyChanges.start["x"];
+            else
+                xFrom = getCurrentValue("x");
+        }
+		if (isNaN(xTo))
+		{
+			if (isNaN(xBy) &&
+				propertyChanges &&
+				propertyChanges.end["x"] !== undefined)
+			{
+				xTo = propertyChanges.end["x"];
+			}
+			else
+			{
+				xTo = (!isNaN(xBy)) ? xFrom + xBy : getCurrentValue("x");
+			}
+		}
+
+		// Ditto for yFrom, yTo, and yBy.
+        if (isNaN(yFrom))
+        {
+            if (!isNaN(yTo) && !isNaN(yBy))
+                yFrom = yTo - yBy;
+            else if (propertyChanges && propertyChanges.start["y"] !== undefined)
+                yFrom = propertyChanges.start["y"];
+            else
+                yFrom = getCurrentValue("y");
+        }
+		if (isNaN(yTo))
+		{
+			if (isNaN(yBy) &&
+				propertyChanges &&
+				propertyChanges.end["y"] !== undefined)
+			{
+				yTo = propertyChanges.end["y"];
+			}
+			else
+			{
+				yTo = (!isNaN(yBy)) ? yFrom + yBy : getCurrentValue("y");
+			}
+		}
+
+        if (target is IStyleClient)
+        {
+            var left:* = target.getStyle("left");
+            if (left != undefined)
+                target.setStyle("left",undefined);
+
+            var right:* = target.getStyle("right");
+            if (right != undefined)
+                target.setStyle("right",undefined);
+
+            var top:* = target.getStyle("top");
+            if (top != undefined)
+                target.setStyle("top",undefined);
+
+            var bottom:* = target.getStyle("bottom");
+            if (bottom != undefined)
+                target.setStyle("bottom",undefined);
+
+            var hCenter:* = target.getStyle("horizontalCenter");
+            if (hCenter != undefined)
+                target.setStyle("horizontalCenter",undefined);
+
+            var vCenter:* = target.getStyle("verticalCenter");
+            if (vCenter != undefined)
+                target.setStyle("verticalCenter",undefined);
+        }
+
+        propertyValuesList =
+            [new PropertyValuesHolder("x", [xFrom, xTo]),
+             new PropertyValuesHolder("y", [yFrom, yTo])];
+
+        // TODO: These additional pvholder items are a workaround for the
+        // current difference between GraphicElement constraints and
+        // UIComponent constraints. For components, the constraints
+        // side-effect the width/height properties which we can then animate.
+        // For GraphicElements, this does not happen, so animations on
+        // width/height are ignored when constraints are set.
+        // Expect this to change with GraphicElement and UIComponent are
+        // more closely aligned in behavior.
+        if (target is IGraphicElement && propertyChanges)
+        {
+            if (propertyChanges.start["left"] !== undefined ||
+                propertyChanges.start["right"] !== undefined ||
+                propertyChanges.end["left"] !== undefined ||
+                propertyChanges.end["right"] !== undefined)
+            {
+                var lFrom:Number = (propertyChanges.start["left"] !== undefined) ?
+                    propertyChanges.start["left"] : getCurrentValue("left");
+                var rFrom:Number = (propertyChanges.start["right"] !== undefined) ?
+                    propertyChanges.start["right"] : getCurrentValue("right");
+                var lTo:Number = (propertyChanges.end["left"] !== undefined) ?
+                    propertyChanges.end["left"] : getCurrentValue("left");
+                var rTo:Number = (propertyChanges.end["right"] !== undefined) ?
+                    propertyChanges.end["right"] : getCurrentValue("right");
+                propertyValuesList.push(new PropertyValuesHolder("left", [lFrom, lTo]));
+                propertyValuesList.push(new PropertyValuesHolder("right", [rFrom, rTo]));
+            }
+            if (propertyChanges.start["top"] !== undefined ||
+                propertyChanges.start["bottom"] !== undefined ||
+                propertyChanges.end["top"] !== undefined ||
+                propertyChanges.end["bottom"] !== undefined)
+            {
+                var tFrom:Number = (propertyChanges.start["top"] !== undefined) ?
+                    propertyChanges.start["top"] : getCurrentValue("top");
+                var bFrom:Number = (propertyChanges.start["bottom"] !== undefined) ?
+                    propertyChanges.start["bottom"] : getCurrentValue("bottom");
+                var tTo:Number = (propertyChanges.end["top"] !== undefined) ?
+                    propertyChanges.end["top"] : getCurrentValue("top");
+                var bTo:Number = (propertyChanges.end["bottom"] !== undefined) ?
+                    propertyChanges.end["bottom"] : getCurrentValue("bottom");
+                propertyValuesList.push(new PropertyValuesHolder("top", [tFrom, tTo]));
+                propertyValuesList.push(new PropertyValuesHolder("bottom", [bFrom, bTo]));
+            }
+        }
+
+        // TODO (chaase): The Flex3 version of Move had logic for forcing clipping
+        // off during the effect. We probalyy need something like this
+        // in this version as well, but the implementation is TBD with the
+        // new container (Group) and layout management in Flex4
+
+        super.play();
+    }
+
+
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20730
Author:   cframpto@adobe.com
Date:     2011-03-09T20:27:26.668138Z

Log Message:
-----------
Merge 20714 and 20715 from hero_private to private trunk.

Revision: 20714
Exclude all text styles that do not have an effect on either UIFTETextField or FTETextField.  Some of the styles are hard-coded by FTETextField.  Some of the styles aren't suportted because, even though FTE supports them, they aren't in the TextField interface.

Revision: 20715
More changes to get these examples to layout correctly in ASdoc.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/DataGridMasterDetailExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/skins/spark/examples/DefaultGridItemRendererExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultGridItemRenderer.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>

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

--- frameworks/projects/spark/src/spark/skins/spark/DefaultGridItemRenderer.as
+++ frameworks/projects/spark/src/spark/skins/spark/DefaultGridItemRenderer.as
@@ -37,6 +37,17 @@
 include "../../styles/metadata/BasicNonInheritingTextStyles.as"
 include "../../styles/metadata/BasicInheritingTextStyles.as"

+// From AdvancedInheritingTextStyles.as
+/**
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#textIndent
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="textIndent", type="Number", format="Length", inherit="yes", minValue="0.0")]
+
 //--------------------------------------
 //  Events
 //--------------------------------------
@@ -57,10 +68,36 @@
 //  Excluded APIs
 //--------------------------------------

-[Exclude(name="verticalAlign", kind="style")]
+// From BasicInheritingTextStyles.as
+// If ignorePadding is false (default=true), paddingLeft/paddingRight are used to set
+// the FTE leftMargin/rightMargin.  FTE paddingLeft/paddingRight are hard-coded.
+[Exclude(name="paddingBottom", kind="style")]   // hard-coded in FTETextField
+[Exclude(name="paddingTop", kind="style")]      // hard-coded in FTETextField
+[Exclude(name="verticalAlign", kind="style")]   // not supported by renderer
+
+// From BasicNonInheritingTextStyles.as
+[Exclude(name="alignmentBaseline", kind="style")]
+[Exclude(name="baselineShift", kind="style")]
+[Exclude(name="cffHinting", kind="style")]
+[Exclude(name="digitCase", kind="style")]
+[Exclude(name="digitWidth", kind="style")]
+[Exclude(name="dominantBaseline", kind="style")]
+[Exclude(name="fontLookup", kind="style")]
+[Exclude(name="justificationRule", kind="style")]
+[Exclude(name="justificationStyle", kind="style")]
+[Exclude(name="leading", kind="style")]         // hard-coded in FTETextField
+[Exclude(name="ligatureLevel", kind="style")]
+[Exclude(name="lineHeight", kind="style")]
+[Exclude(name="lineThrough", kind="style")]
+[Exclude(name="renderingMode", kind="style")]
+[Exclude(name="textAlignLast", kind="style")]
+[Exclude(name="textAlpha", kind="style")]
+[Exclude(name="textJustify", kind="style")]
+[Exclude(name="trackingLeft", kind="style")]
+[Exclude(name="trackingRight", kind="style")]   // trackingRight in FTETextField set to letterSpacing
+[Exclude(name="typographicCase", kind="style")]

 // These must be inherited to work correctly.
-
 [Exclude(name="layoutDirection", kind="property")]
 [Exclude(name="layoutDirection", kind="style")]

@@ -77,11 +114,9 @@
  *  The UIFTETextField control is based on FTE, the FlashTextEngine,  which supports
  *  high-quality international typography and font embedding in the same way as other
  *  Spark controls.
- *  Since the UIFTETextField control implements the TextField API, you must use MX text syles
- *  rather than Spark text styles to configure the renderer.
+ *  Since the UIFTETextField control implements the TextField API, a subset of the
+ *  Spark text styles are supported.
  *  Please see the documentation for this class for the list of supported styles.
- *  These styles can be inherited from the renderer's parent even though the parent is a Spark
- *  control.
  *
  *
You can control the label text wrapping by using the lineBreak style.
  *  For example, setting  lineBreak="explicit" and variableRowHeight="false"
@@ -160,6 +195,20 @@
         setStyle("locale", value);
     }

+    /**
+     *  @private
+     */
+    override public function set enabled(value:Boolean):void
+    {
+        // Make this behave like a Spark Label which does not have a disabledColor style.
+        // ToDo(cframpto):  Should be moved to setStyle or getStyle so in the very remote
+        // chance the style is changed while the component is disabled the change will
+        // take effect.
+        if (!value && super.enabled)
+            setStyle("disabledColor", getStyle("color"));
+        super.enabled = value;
+    }
+
 include "TextFieldGridItemRendererInclude.as"

 }


Player stub functions

Player stub functions

Added stub functions for all api functions.

--- src/Player.as
+++ src/Player.as
@@ -53,6 +53,17 @@
       ExternalInterface.addCallback("pause", pause);
       ExternalInterface.addCallback("resume", resume);
       ExternalInterface.addCallback("stop", stop);
+      ExternalInterface.addCallback("seek", seek);
+      ExternalInterface.addCallback("playbackSpeed", playbackSpeed);
+      ExternalInterface.addCallback("streamStatus", streamStatus);
+      ExternalInterface.addCallback("playerStatus", playerStatus);
+      ExternalInterface.addCallback("speakerVolume", speakerVolume);
+      ExternalInterface.addCallback("muteSpeaker", muteSpeaker);
+      ExternalInterface.addCallback("unmuteSpeaker", unmuteSpeaker);
+      ExternalInterface.addCallback("microphoneVolume", microphoneVolume);
+      ExternalInterface.addCallback("muteMicrophone", muteMicrophone);
+      ExternalInterface.addCallback("unmuteMicrophone", unmuteMicrophone);
+      ExternalInterface.addCallback("setFullscreenAllowed", setFullscreenAllowed);

       /* Audio Transmission API */
       ExternalInterface.addCallback("startAudioTransmit", audioTransmitStartInterface);
@@ -167,6 +178,50 @@
       this.callAPI('streamStopped');
     }

+    public function seek(timestamp:String):void {
+      trace('seek, timestamp->' + timestamp);
+    }
+
+    public function playbackSpeed(speed:Number):void {
+      trace('playbackSpeed, speed->' + speed);
+    }
+
+    public function streamStatus():void {
+      trace('streamStatus');
+    }
+
+    public function playerStatus():void {
+      trace('playerStatus');
+    }
+
+    public function speakerVolume(volume:Number):void {
+      trace('speakerVolume, volume->' + volume);
+    }
+
+    public function muteSpeaker():void {
+      trace('muteSpeaker');
+    }
+
+    public function unmuteSpeaker():void {
+      trace('unmuteSpeaker');
+    }
+
+    public function microphoneVolume(volume:Number):void {
+      trace('microphoneVolume, volume->' + volume);
+    }
+
+    public function muteMicrophone():void {
+      trace('muteMicrophone');
+    }
+
+    public function unmuteMicrophone():void {
+      trace('unmuteMicrophone');
+    }
+
+    public function setFullscreenAllowed(state:Boolean):void {
+      trace('setFullscreenAllowed, state->' + state);
+    }
+
     public function audioTransmitStopInterface():void {
       audioTransmit.stop();
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 5067
Author:   smgilson@adobe.com
Date:     2009-02-25T16:21:22.849704Z

Log Message:
-----------
In preparation for adding ASDoc version tags for Flex, remove old tags from AIR files

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMaximizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/IWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemSizeDisplayMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/AIREvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/StatusBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FileEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/WindowExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowCloseButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>

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

--- frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as
+++ frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as
@@ -42,7 +42,6 @@
  *  @see mx.core.Window
  *  @see mx.core.WindowedApplication
  *
- *  @playerversion AIR 1.1
  */
 public class TitleBar extends UIComponent
 {
@@ -59,7 +58,7 @@
      */
     private static function isMac():Boolean
     {
-    	return Capabilities.os.substring(0, 3) == "Mac";
+        return Capabilities.os.substring(0, 3) == "Mac";
     }

     //--------------------------------------------------------------------------
@@ -68,19 +67,19 @@
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  Constructor.
-	 */
-	public function TitleBar():void
-	{
-		super();
+    /**
+     *  Constructor.
+     */
+    public function TitleBar():void
+    {
+        super();

         doubleClickEnabled = true;
-
-		addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
-		addEventListener(MouseEvent.DOUBLE_CLICK, doubleClickHandler);
-	}
-
+
+        addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
+        addEventListener(MouseEvent.DOUBLE_CLICK, doubleClickHandler);
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Variables
@@ -93,8 +92,8 @@
      *  This is a child of the titleBar.
      */
     mx_internal var titleBarBackground:IFlexDisplayObject;
-
-	/**
+
+    /**
      *  @private
      *  This is the actual object created from the _titleIcon class
      */
@@ -105,28 +104,28 @@
      */
     private var minimizeButtonSkin:Class;

-	/**
-     *  @private
-     */
-	private var maximizeButtonSkin:Class;
-
-    /**
-     *  @private
-     */
-	private var restoreButtonSkin:Class;
-
-	/**
-     *  @private
-     */
-  	private var closeButtonSkin:Class;
-
+    /**
+     *  @private
+     */
+    private var maximizeButtonSkin:Class;
+
+    /**
+     *  @private
+     */
+    private var restoreButtonSkin:Class;
+
+    /**
+     *  @private
+     */
+    private var closeButtonSkin:Class;
+
     //--------------------------------------------------------------------------
     //
     //  Properties
     //
     //--------------------------------------------------------------------------

-	//----------------------------------
+    //----------------------------------
     //  closeButton
     //----------------------------------

@@ -152,8 +151,8 @@
      *  The Button object that defines the minimize button.
      */
     public var minimizeButton:Button;
-
-	//----------------------------------
+
+    //----------------------------------
     //  title
     //----------------------------------

@@ -241,13 +240,13 @@
     //  window
     //----------------------------------

-	/**
-	 *  The IWindow that owns this TitleBar.
-	 */
-	private function get window():IWindow
-	{
-		return IWindow(parent);
-	}
+    /**
+     *  The IWindow that owns this TitleBar.
+     */
+    private function get window():IWindow
+    {
+        return IWindow(parent);
+    }

     //--------------------------------------------------------------------------
     //
@@ -260,28 +259,28 @@
      */
     override protected function createChildren():void
     {
-	 	super.createChildren();
-
-		var titleBarBackgroundClass:Class =
-        	getStyle("titleBarBackgroundSkin");
+        super.createChildren();
+
+        var titleBarBackgroundClass:Class =
+            getStyle("titleBarBackgroundSkin");
         if (titleBarBackgroundClass)
         {
             if (!titleBarBackground)
             {
-	            titleBarBackground = new titleBarBackgroundClass();
-	            var titleBackgroundUIComponent:IStyleClient =
-	                titleBarBackground as IStyleClient;
-	            if (titleBackgroundUIComponent)
-	            {
-	                titleBackgroundUIComponent.setStyle(
-						"backgroundImage", undefined);
-	            }
-	            var titleBackgroundStyleable:ISimpleStyleClient =
-	                titleBarBackground as ISimpleStyleClient;
-	            if (titleBackgroundStyleable)
-	                titleBackgroundStyleable.styleName = this;
-	            addChild(DisplayObject(titleBarBackground));
-	        }
+                titleBarBackground = new titleBarBackgroundClass();
+                var titleBackgroundUIComponent:IStyleClient =
+                    titleBarBackground as IStyleClient;
+                if (titleBackgroundUIComponent)
+                {
+                    titleBackgroundUIComponent.setStyle(
+                        "backgroundImage", undefined);
+                }
+                var titleBackgroundStyleable:ISimpleStyleClient =
+                    titleBarBackground as ISimpleStyleClient;
+                if (titleBackgroundStyleable)
+                    titleBackgroundStyleable.styleName = this;
+                addChild(DisplayObject(titleBarBackground));
+            }
         }

         if (!titleTextField)
@@ -304,13 +303,13 @@
             minimizeButton = new Button();
             minimizeButtonSkin = getStyle("minimizeButtonSkin");
             if (minimizeButtonSkin)
-            	 minimizeButton.setStyle("skin", minimizeButtonSkin);
+                 minimizeButton.setStyle("skin", minimizeButtonSkin);
             minimizeButton.focusEnabled = false;
             minimizeButton.enabled = window.minimizable;
-			minimizeButton.addEventListener(MouseEvent.MOUSE_DOWN,
-											button_mouseDownHandler);
-			minimizeButton.addEventListener(MouseEvent.CLICK,
-											minimizeButton_clickHandler);
+            minimizeButton.addEventListener(MouseEvent.MOUSE_DOWN,
+                                            button_mouseDownHandler);
+            minimizeButton.addEventListener(MouseEvent.CLICK,
+                                            minimizeButton_clickHandler);
             addChild(minimizeButton);
         }

@@ -322,10 +321,10 @@
                 maximizeButton.setStyle("skin", maximizeButtonSkin);
             maximizeButton.focusEnabled = false;
             maximizeButton.enabled = window.maximizable;
-			maximizeButton.addEventListener(MouseEvent.MOUSE_DOWN,
-											button_mouseDownHandler);
-			maximizeButton.addEventListener(MouseEvent.CLICK,
-											maximizeButton_clickHandler);
+            maximizeButton.addEventListener(MouseEvent.MOUSE_DOWN,
+                                            button_mouseDownHandler);
+            maximizeButton.addEventListener(MouseEvent.CLICK,
+                                            maximizeButton_clickHandler);
             addChild(maximizeButton);

             restoreButtonSkin = isMac() ? null : getStyle("restoreButtonSkin");
@@ -336,12 +335,12 @@
             closeButton = new Button();
             closeButtonSkin = getStyle("closeButtonSkin");
             if (closeButtonSkin)
-           		closeButton.setStyle("skin", closeButtonSkin);
+                closeButton.setStyle("skin", closeButtonSkin);
             closeButton.focusEnabled = false;
-			closeButton.addEventListener(MouseEvent.MOUSE_DOWN,
-										 button_mouseDownHandler);
-			closeButton.addEventListener(MouseEvent.CLICK,
-										 closeButton_clickHandler);
+            closeButton.addEventListener(MouseEvent.MOUSE_DOWN,
+                                         button_mouseDownHandler);
+            closeButton.addEventListener(MouseEvent.CLICK,
+                                         closeButton_clickHandler);
             addChild(closeButton);
         }
     }
@@ -351,17 +350,17 @@
      */
     override protected function commitProperties():void
     {
-		super.commitProperties();
-
-    	if (titleChanged)
-    	{
-    		titleTextField.text = _title;
-    		titleChanged = false;
-    	}
-
-    	if (titleIconChanged)
-    	{
-    		if (titleIconObject)
+        super.commitProperties();
+
+        if (titleChanged)
+        {
+            titleTextField.text = _title;
+            titleChanged = false;
+        }
+
+        if (titleIconChanged)
+        {
+            if (titleIconObject)
             {
                 removeChild(DisplayObject(titleIconObject));
                 titleIconObject = null;
@@ -372,65 +371,65 @@
                 addChild(DisplayObject(titleIconObject));
             }
             titleIconChanged = false;
-    	}
-    }
-
-    /**
-     *  @private
-     */
+        }
+    }
+
+    /**
+     *  @private
+     */
     override protected function measure():void
     {
-    	super.measure();
-
-		titleTextField.validateNow();
-		if (titleTextField.textHeight == 0)
-		{
-			titleTextField.text = " ";
-			titleTextField.validateNow();
-		}
-
-		measuredHeight = Math.max((titleTextField.textHeight +
-						 UITextField.TEXT_HEIGHT_PADDING),
-						 Math.max(maximizeButton.measuredHeight,
-						 minimizeButton.measuredHeight,
-						 closeButton.measuredHeight) + 12);
-		measuredWidth = titleTextField.width +
-						maximizeButton.measuredWidth +
-						minimizeButton.measuredWidth +
-						closeButton.measuredWidth;
-
-		if (titleIconObject)
-	 	{
-	 		measuredHeight = Math.max(measuredHeight,
-									  titleIconObject.height + 1);
-	 		measuredWidth += titleIconObject.width;
-	 	}
+        super.measure();
+
+        titleTextField.validateNow();
+        if (titleTextField.textHeight == 0)
+        {
+            titleTextField.text = " ";
+            titleTextField.validateNow();
+        }
+
+        measuredHeight = Math.max((titleTextField.textHeight +
+                         UITextField.TEXT_HEIGHT_PADDING),
+                         Math.max(maximizeButton.measuredHeight,
+                         minimizeButton.measuredHeight,
+                         closeButton.measuredHeight) + 12);
+        measuredWidth = titleTextField.width +
+                        maximizeButton.measuredWidth +
+                        minimizeButton.measuredWidth +
+                        closeButton.measuredWidth;
+
+        if (titleIconObject)
+        {
+            measuredHeight = Math.max(measuredHeight,
+                                      titleIconObject.height + 1);
+            measuredWidth += titleIconObject.width;
+        }
     }

     /**
      *  @private
      */
     override protected function updateDisplayList(unscaledWidth:Number,
-												  unscaledHeight:Number):void
-    {
-    	super.updateDisplayList(unscaledWidth, unscaledHeight);
-
-    	// If window is closed, we need to exit.
+                                                  unscaledHeight:Number):void
+    {
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+        // If window is closed, we need to exit.
         if (window.nativeWindow.closed)
-        	return;
-
+            return;
+
         var leftOffset:Number = 0;
         var rightOffset:Number = 5;

-		// Account for rounded corners.
+        // Account for rounded corners.
         var cornerOffset:int = getStyle("cornerRadius") / 2;
-
-		// Position the titleBarBackground within the titleBar.
+
+        // Position the titleBarBackground within the titleBar.
         if (titleBarBackground)
         {
             titleBarBackground.move(0, 0);
             IFlexDisplayObject(titleBarBackground).setActualSize(
-				unscaledWidth, unscaledHeight);
+                unscaledWidth, unscaledHeight);
         }

         // Position the titleIconObject
@@ -440,30 +439,30 @@
             var offset:int = (height - h) / 2;
             titleIconObject.move(cornerOffset, offset);
             leftOffset += cornerOffset + titleIconObject.width +
-						  getStyle("buttonPadding");
-        }
-
-		// If we're on Windows, check to see if we're maximized or not.
-		if (!isMac())
-		{
-			if (window.nativeWindow.displayState ==
-				NativeWindowDisplayState.MAXIMIZED)
-			{
-				if (restoreButtonSkin)
-					maximizeButton.setStyle("skin", restoreButtonSkin);
-			}
-			else
-			{
-				maximizeButton.setStyle("skin", maximizeButtonSkin);
-			}
-		}
+                          getStyle("buttonPadding");
+        }
+
+        // If we're on Windows, check to see if we're maximized or not.
+        if (!isMac())
+        {
+            if (window.nativeWindow.displayState ==
+                NativeWindowDisplayState.MAXIMIZED)
+            {
+                if (restoreButtonSkin)
+                    maximizeButton.setStyle("skin", restoreButtonSkin);
+            }
+            else
+            {
+                maximizeButton.setStyle("skin", maximizeButtonSkin);
+            }
+        }

         var buttonAlign:String = getStyle("buttonAlignment");
         if (buttonAlign == "right")
         {
             placeButtons(buttonAlign, width, height,
                          leftOffset, rightOffset, cornerOffset);
-       	}
+        }
         else if (buttonAlign == "left")
         {
             placeButtons(buttonAlign,width,
@@ -485,9 +484,9 @@
         }

         var titleAlign:String =
-			String(getStyle("titleAlignment"));
+            String(getStyle("titleAlignment"));
         if (titleAlign == "center" || titleAlign == "left")
- 			placeTitle(titleAlign, leftOffset, rightOffset, buttonAlign);
+            placeTitle(titleAlign, leftOffset, rightOffset, buttonAlign);
         else if (isMac())
             placeTitle("center",  leftOffset, rightOffset, buttonAlign);
         else
@@ -498,77 +497,77 @@
      *  Called by the StyleManager when a style changes.
      *
      *  @param styleProp the name of the style that's changed.
-	 *  In some cases, it can be null, usually when changing
-	 *  the global style or styleName.
+     *  In some cases, it can be null, usually when changing
+     *  the global style or styleName.
      */
     override public function styleChanged(styleProp:String):void
     {
         super.styleChanged(styleProp);
-
-		invalidateDisplayList();
-
+
+        invalidateDisplayList();
+
         var allStyles:Boolean = !styleProp || styleProp == "styleName";

-		if (allStyles || styleProp == "titleBarBackgroundSkin")
-		{
-			var titleBarBackgroundClass:Class =
-        		getStyle("titleBarBackgroundSkin");
-
-			if (titleBarBackgroundClass)
-	        {
-	            // Remove existing background
+        if (allStyles || styleProp == "titleBarBackgroundSkin")
+        {
+            var titleBarBackgroundClass:Class =
+                getStyle("titleBarBackgroundSkin");
+
+            if (titleBarBackgroundClass)
+            {
+                // Remove existing background
                 if (titleBarBackground)
                 {
                     removeChild(DisplayObject(titleBarBackground));
                     titleBarBackground = null;
                 }
-	            titleBarBackground = new titleBarBackgroundClass();
-	            var titleBackgroundUIComponent:IStyleClient =
-	                titleBarBackground as IStyleClient;
-	            if (titleBackgroundUIComponent)
-	            {
-	                titleBackgroundUIComponent.setStyle(
-	                	"backgroundImage", undefined);
-	            }
-	            var titleBackgroundStyleable:ISimpleStyleClient =
-	                titleBarBackground as ISimpleStyleClient;
-	            if (titleBackgroundStyleable)
-	                titleBackgroundStyleable.styleName = this;
-	            addChildAt(DisplayObject(titleBarBackground), 0);
-	        }
-		}
-
-		if (allStyles || styleProp == "titleTextStyleName")
-		{
-			if (titleTextField)
-				titleTextField.styleName = getStyle("titleTextStyleName");
-		}
-
-		if (allStyles || styleProp == "closeButtonSkin")
-		{
-			closeButtonSkin = getStyle("closeButtonSkin");
+                titleBarBackground = new titleBarBackgroundClass();
+                var titleBackgroundUIComponent:IStyleClient =
+                    titleBarBackground as IStyleClient;
+                if (titleBackgroundUIComponent)
+                {
+                    titleBackgroundUIComponent.setStyle(
+                        "backgroundImage", undefined);
+                }
+                var titleBackgroundStyleable:ISimpleStyleClient =
+                    titleBarBackground as ISimpleStyleClient;
+                if (titleBackgroundStyleable)
+                    titleBackgroundStyleable.styleName = this;
+                addChildAt(DisplayObject(titleBarBackground), 0);
+            }
+        }
+
+        if (allStyles || styleProp == "titleTextStyleName")
+        {
+            if (titleTextField)
+                titleTextField.styleName = getStyle("titleTextStyleName");
+        }
+
+        if (allStyles || styleProp == "closeButtonSkin")
+        {
+            closeButtonSkin = getStyle("closeButtonSkin");
             if (closeButtonSkin && closeButton)
-           		closeButton.setStyle("skin", closeButtonSkin);
-        }
-
-		if (allStyles || styleProp == "maximizeButtonSkin")
-        {
-         	maximizeButtonSkin = getStyle("maximizeButtonSkin");
+                closeButton.setStyle("skin", closeButtonSkin);
+        }
+
+        if (allStyles || styleProp == "maximizeButtonSkin")
+        {
+            maximizeButtonSkin = getStyle("maximizeButtonSkin");
             if (maximizeButtonSkin && maximizeButton)
                 maximizeButton.setStyle("skin", maximizeButtonSkin);
         }

-		if (allStyles || styleProp == "minimizeButtonSkin")
-        {
-         	minimizeButtonSkin = getStyle("minimizeButtonSkin");
+        if (allStyles || styleProp == "minimizeButtonSkin")
+        {
+            minimizeButtonSkin = getStyle("minimizeButtonSkin");
             if (minimizeButtonSkin && minimizeButton)
-            	 minimizeButton.setStyle("skin", minimizeButtonSkin);
-        }
-
-		if (allStyles || styleProp == "restoreButtonSkin")
-        {
-         	restoreButtonSkin = getStyle("restoreButtonSkin");
-		}
+                 minimizeButton.setStyle("skin", minimizeButtonSkin);
+        }
+
+        if (allStyles || styleProp == "restoreButtonSkin")
+        {
+            restoreButtonSkin = getStyle("restoreButtonSkin");
+        }
     }

     //--------------------------------------------------------------------------
@@ -581,67 +580,67 @@
      *  Determines the placement of the buttons in the title bar.
      *
      *  @param align button alignment
-	 *
+     *
      *  @param unscaledWidth width of the title bar
-	 *
+     *
      *  @param unscaledHeight height of the title bar
-	 *
+     *
      *  @param leftOffset how much space to allow on left for corners, etc.
-	 *
+     *
      *  @param rightOffset how much space to allow on right for corners, etc.
-	 *
+     *
      *  @param cornerOffset how much to indent things to take into account
-	 *  corner radius
+     *  corner radius
      */
     protected function placeButtons(align:String,
-									unscaledWidth:Number, unscaledHeight:Number,
-									leftOffset:Number, rightOffset:Number,
-									cornerOffset:Number):void
+                                    unscaledWidth:Number, unscaledHeight:Number,
+                                    leftOffset:Number, rightOffset:Number,
+                                    cornerOffset:Number):void
     {
         var pad:Number = getStyle("buttonPadding");
         var edgePad:Number = getStyle("titleBarButtonPadding");

-		minimizeButton.setActualSize(minimizeButton.measuredWidth,
-									 minimizeButton.measuredHeight);
+        minimizeButton.setActualSize(minimizeButton.measuredWidth,
+                                     minimizeButton.measuredHeight);
         maximizeButton.setActualSize(maximizeButton.measuredWidth,
-									 maximizeButton.measuredHeight);
+                                     maximizeButton.measuredHeight);
         closeButton.setActualSize(closeButton.measuredWidth,
-								  closeButton.measuredHeight);
-
-		if (align == "right")
+                                  closeButton.measuredHeight);
+
+        if (align == "right")
         {
             minimizeButton.move(
-				unscaledWidth - (minimizeButton.measuredWidth +
-            	maximizeButton.measuredWidth + closeButton.measuredWidth +
-				(2 * pad)) - cornerOffset - edgePad,
-				(unscaledHeight - minimizeButton.measuredHeight) / 2);
-
-			maximizeButton.move(
-				unscaledWidth - (maximizeButton.measuredWidth +
-            	closeButton.measuredWidth + pad) - cornerOffset - edgePad,
-				(unscaledHeight - maximizeButton.measuredHeight) / 2);
-
-			closeButton.move(
-				unscaledWidth - closeButton.measuredWidth -
-				cornerOffset - edgePad,
-            	(unscaledHeight - closeButton.measuredHeight) / 2);
+                unscaledWidth - (minimizeButton.measuredWidth +
+                maximizeButton.measuredWidth + closeButton.measuredWidth +
+                (2 * pad)) - cornerOffset - edgePad,
+                (unscaledHeight - minimizeButton.measuredHeight) / 2);
+
+            maximizeButton.move(
+                unscaledWidth - (maximizeButton.measuredWidth +
+                closeButton.measuredWidth + pad) - cornerOffset - edgePad,
+                (unscaledHeight - maximizeButton.measuredHeight) / 2);
+
+            closeButton.move(
+                unscaledWidth - closeButton.measuredWidth -
+                cornerOffset - edgePad,
+                (unscaledHeight - closeButton.measuredHeight) / 2);
         }
         else
         {
             edgePad = Math.max(edgePad, leftOffset);

-			closeButton.move(
-				edgePad,
-            	(unscaledHeight - closeButton.measuredHeight) / 2);
-
-			minimizeButton.move(
-				pad + edgePad + closeButton.measuredWidth,
-            	(unscaledHeight - minimizeButton.measuredHeight) / 2);
-
-			maximizeButton.move(
-				edgePad + (pad * 2) +
-            	closeButton.measuredWidth + minimizeButton.measuredWidth,
-            	(unscaledHeight - maximizeButton.measuredHeight) / 2);
+            closeButton.move(
+                edgePad,
+                (unscaledHeight - closeButton.measuredHeight) / 2);
+
+            minimizeButton.move(
+                pad + edgePad + closeButton.measuredWidth,
+                (unscaledHeight - minimizeButton.measuredHeight) / 2);
+
+            maximizeButton.move(
+                edgePad + (pad * 2) +
+                closeButton.measuredWidth + minimizeButton.measuredWidth,
+                (unscaledHeight - maximizeButton.measuredHeight) / 2);
         }
     }

@@ -649,11 +648,11 @@
      *  Determines the alignment of the title in the title bar.
      *
      *  @param titleAlign how to align the title.
-	 *
+     *
      *  @param leftOffset how much space to allow on left for corners, etc.
-	 *
+     *
      *  @param rightOffset how much space to allow on right for corners, etc.
-	 *
+     *
      *  @param buttonAlign the way the buttons are aligned
      */
     protected function placeTitle(titleAlign:String,
@@ -664,14 +663,14 @@
         titleTextField.validateNow();

         var charWidth:Number = titleTextField.getLineMetrics(0).width /
-                        	   titleTextField.length;
+                               titleTextField.length;

         if (titleAlign == "left")
         {
             if (buttonAlign == "left")
             {
                 titleTextField.setActualSize(
-                	width - leftOffset - rightOffset - 2 -
+                    width - leftOffset - rightOffset - 2 -
                     Math.max((closeButton.x + closeButton.measuredWidth),
                     (minimizeButton.x + minimizeButton.measuredWidth),
                     (maximizeButton.x + maximizeButton.measuredWidth)),
@@ -679,11 +678,11 @@
                     UITextField.TEXT_HEIGHT_PADDING);

                 titleTextField.move(
-					leftOffset +
-					Math.max((closeButton.x + closeButton.measuredWidth),
+                    leftOffset +
+                    Math.max((closeButton.x + closeButton.measuredWidth),
                     (minimizeButton.x + minimizeButton.measuredWidth),
-					(maximizeButton.x + maximizeButton.measuredWidth)),
-					(height - (measureChromeText(titleTextField).height +
+                    (maximizeButton.x + maximizeButton.measuredWidth)),
+                    (height - (measureChromeText(titleTextField).height +
                     UITextField.TEXT_HEIGHT_PADDING))/2);

                 titleTextField.truncateToFit();
@@ -691,18 +690,18 @@
             else
             {
                 titleTextField.setActualSize(
-                	Math.max(0, Math.min(
-                	width - leftOffset - rightOffset,
-                	minimizeButton.x )) - 2,
+                    Math.max(0, Math.min(
+                    width - leftOffset - rightOffset,
+                    minimizeButton.x )) - 2,
                     measureChromeText(titleTextField).height +
                     UITextField.TEXT_HEIGHT_PADDING);

-				titleTextField.move(
-					leftOffset,
-                 	(height - (measureChromeText(titleTextField).height +
+                titleTextField.move(
+                    leftOffset,
+                    (height - (measureChromeText(titleTextField).height +
                     UITextField.TEXT_HEIGHT_PADDING))/2);

-				titleTextField.truncateToFit();
+                titleTextField.truncateToFit();
             }
         }
         else // titleAlign is center
@@ -711,40 +710,40 @@
             tf.align = TextFormatAlign.CENTER;
             titleTextField.setTextFormat(tf);

-			if (buttonAlign == "left")
+            if (buttonAlign == "left")
             {
                 titleTextField.setActualSize(
-                	width - leftOffset - rightOffset -
+                    width - leftOffset - rightOffset -
                     Math.max((closeButton.x + closeButton.measuredWidth),
                     (minimizeButton.x + minimizeButton.measuredWidth),
                     (maximizeButton.x + maximizeButton.measuredWidth)) - 2,
                     measureChromeText(titleTextField).height +
                     UITextField.TEXT_HEIGHT_PADDING);

-				titleTextField.move(
-                	Math.max((closeButton.x + closeButton.measuredWidth),
+                titleTextField.move(
+                    Math.max((closeButton.x + closeButton.measuredWidth),
                     (minimizeButton.x + minimizeButton.measuredWidth),
                     (maximizeButton.x + maximizeButton.measuredWidth)),
                     (height - (measureChromeText(titleTextField).height +
                     UITextField.TEXT_HEIGHT_PADDING))/2);

-				titleTextField.truncateToFit();
+                titleTextField.truncateToFit();
             }
             else
             {
                 titleTextField.setActualSize(
-                	width - leftOffset - rightOffset -
-                	(width - Math.min(closeButton.x,
-                	minimizeButton.x, maximizeButton.x)) - 2,
+                    width - leftOffset - rightOffset -
+                    (width - Math.min(closeButton.x,
+                    minimizeButton.x, maximizeButton.x)) - 2,
                     measureChromeText(titleTextField).height +
                     UITextField.TEXT_HEIGHT_PADDING);

-				titleTextField.move(
-					leftOffset,
-					(height - (measureChromeText(titleTextField).height +
+                titleTextField.move(
+                    leftOffset,
+                    (height - (measureChromeText(titleTextField).height +
                     UITextField.TEXT_HEIGHT_PADDING))/2);

-				titleTextField.truncateToFit();
+                titleTextField.truncateToFit();
             }
         }
     }
@@ -772,82 +771,82 @@
     //  Event handlers
     //
     //--------------------------------------------------------------------------
-
-	/**
-     *  @private
-     */
-	private function mouseDownHandler(event:MouseEvent):void
-	{
-		window.nativeWindow.startMove();
-
-		event.stopPropagation();
-	}
-
-	/**
+
+    /**
+     *  @private
+     */
+    private function mouseDownHandler(event:MouseEvent):void
+    {
+        window.nativeWindow.startMove();
+
+        event.stopPropagation();
+    }
+
+    /**
      *  Handles a <code>doubleClick</code> event in a platform-appropriate manner.
      */
     protected function doubleClickHandler(event:MouseEvent):void
     {
-		if (isMac())
-		{
-			window.minimize();
-		}
-		else
-		{
-			if (window.nativeWindow.displayState ==
-				NativeWindowDisplayState.MAXIMIZED)
-			{
-	    		window.restore();
-			}
-	    	else
-			{
-	    		window.maximize();
-			}
-		}
-    }
-
-	/**
+        if (isMac())
+        {
+            window.minimize();
+        }
+        else
+        {
+            if (window.nativeWindow.displayState ==
+                NativeWindowDisplayState.MAXIMIZED)
+            {
+                window.restore();
+            }
+            else
+            {
+                window.maximize();
+            }
+        }
+    }
+
+    /**
      *  @private
      *  Used to swallow mousedown so bar is not draggable from buttons
      */
-	private function button_mouseDownHandler(event:MouseEvent):void
-	{
-		event.stopPropagation();
-	}
-
-	/**
-     *  @private
-     */
-	private function minimizeButton_clickHandler(event:Event):void
-	{
-		window.minimize();
-	}
-
-	/**
-     *  @private
-     */
-	private function maximizeButton_clickHandler(event:Event):void
-	{
-		if (window.nativeWindow.displayState ==
-			NativeWindowDisplayState.MAXIMIZED)
-		{
-    		window.restore();
-		}
-    	else
-    	{
-    		window.maximize();
-    		// work around bug  Bug SDK-9547
-    		maximizeButton.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT));
-    	}
-    }
-
-	/**
-     *  @private
-     */
-	private function closeButton_clickHandler(event:Event):void
-	{
-		window.close();
-	}
+    private function button_mouseDownHandler(event:MouseEvent):void
+    {
+        event.stopPropagation();
+    }
+
+    /**
+     *  @private
+     */
+    private function minimizeButton_clickHandler(event:Event):void
+    {
+        window.minimize();
+    }
+
+    /**
+     *  @private
+     */
+    private function maximizeButton_clickHandler(event:Event):void
+    {
+        if (window.nativeWindow.displayState ==
+            NativeWindowDisplayState.MAXIMIZED)
+        {
+            window.restore();
+        }
+        else
+        {
+            window.maximize();
+            // work around bug  Bug SDK-9547
+            maximizeButton.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT));
+        }
+    }
+
+    /**
+     *  @private
+     */
+    private function closeButton_clickHandler(event:Event):void
+    {
+        window.close();
+    }
 }

 }


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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.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.skins.mobile
 {


WeaveAPI.Scheduler.startTask() now uses context param as the 'this' argument.

--- WeaveASJS/src/weavejs/core/Scheduler.as
+++ WeaveASJS/src/weavejs/core/Scheduler.as
@@ -22,8 +22,9 @@
 	import weavejs.api.core.IScheduler;
 	import weavejs.util.DebugTimer;
 	import weavejs.util.DebugUtils;
+	import weavejs.util.Dictionary2D;
 	import weavejs.util.JS;
-	import weavejs.util.StandardLib;
+	import weavejs.util.StandardLib;

 	/**
 	 * This allows you to add callbacks that will be called when an event occurs on the stage.
@@ -473,12 +474,16 @@
 			}
 		}

-		private var map_task_time:Object = new JS.WeakMap();
+		private var map_task_time:Object = new JS.WeakMap();
+
+		private var d2d_context_task_token:Dictionary2D = new Dictionary2D(true, true, Object);

 		public function startTask(relevantContext:Object, iterativeTask:Function, priority:uint, finalCallback:Function = null, description:String = null):void
-		{
+		{
+			var taskToken:Object = d2d_context_task_token.get(relevantContext || JS.global, iterativeTask);
+
 			// do nothing if task already active
-			if (WeaveAPI.ProgressIndicator.hasTask(iterativeTask))
+			if (WeaveAPI.ProgressIndicator.hasTask(taskToken))
 				return;

 			if (debug_async_time)
@@ -487,7 +492,7 @@
 				{
 					var value:Array = map_task_time.get(iterativeTask);
 					map_task_time['delete'](iterativeTask);
-					JS.log('interrupted', JS.now()-map_task_time.get(iterativeTask)[0], priority, map_task_time.get(iterativeTask)[1], value);
+					JS.log('interrupted', JS.now() - map_task_time.get(iterativeTask)[0], priority, map_task_time.get(iterativeTask)[1], value);
 				}
 				map_task_time.set(iterativeTask, [JS.now(), new Error('Stack trace')]);
 			}
@@ -505,7 +510,7 @@
 				map_task_startTime.set(iterativeTask, JS.now());
 				map_task_elapsedTime.set(iterativeTask, 0);
 			}
-			WeaveAPI.ProgressIndicator.addTask(iterativeTask, relevantContext as ILinkableObject, description);
+			WeaveAPI.ProgressIndicator.addTask(taskToken, relevantContext as ILinkableObject, description);

 			var useTimeParameter:Boolean = iterativeTask.length > 0;

@@ -520,6 +525,8 @@
 		 */
 		private function _iterateTask(context:Object, task:Function, priority:int, finalCallback:Function, useTimeParameter:Boolean):void
 		{
+			var taskToken:Object = d2d_context_task_token.get(context || JS.global, task);
+
 			// remove the task if the context was disposed
 			if (WeaveAPI.SessionManager.objectWasDisposed(context))
 			{
@@ -529,7 +536,7 @@
 					map_task_time['delete'](task);
 					JS.log('disposed', JS.now()-map_task_time.get(task)[0], priority, map_task_time.get(task)[1], value);
 				}
-				WeaveAPI.ProgressIndicator.removeTask(task);
+				WeaveAPI.ProgressIndicator.removeTask(taskToken);
 				return;
 			}

@@ -543,9 +550,9 @@
 			{
 				// perform the next iteration of the task
 				if (useTimeParameter)
-					progress = task(_currentTaskStopTime) as Number;
+					progress = task.call(context, _currentTaskStopTime) as Number;
 				else
-					progress = task() as Number;
+					progress = task.call(context) as Number;

 				if (progress === null || isNaN(progress) || progress < 0 || progress > 1)
 				{
@@ -555,9 +562,9 @@
 						JS.log(stackTrace);
 						// this is incorrect behavior, but we can put a breakpoint here
 						if (useTimeParameter)
-							progress = task(_currentTaskStopTime) as Number;
+							progress = task.call(context, _currentTaskStopTime) as Number;
 						else
-							progress = task() as Number;
+							progress = task.call(context) as Number;
 					}
 					progress = 1;
 				}
@@ -566,9 +573,9 @@
 					JS.log(JS.now() - time, stackTrace);
 					// this is incorrect behavior, but we can put a breakpoint here
 					if (useTimeParameter)
-						progress = task(_currentTaskStopTime) as Number;
+						progress = task.call(context, _currentTaskStopTime) as Number;
 					else
-						progress = task() as Number;
+						progress = task.call(context) as Number;
 				}
 				if (progress == 1)
 				{
@@ -579,10 +586,10 @@
 						JS.log('completed', JS.now()-map_task_time.get(task)[0], priority, map_task_time.get(task)[1], value2);
 					}
 					// task is done, so remove the task
-					WeaveAPI.ProgressIndicator.removeTask(task);
+					WeaveAPI.ProgressIndicator.removeTask(taskToken);
 					// run final callback after task completes and is removed
 					if (finalCallback != null)
-						finalCallback();
+						finalCallback.call(context);
 					return;
 				}

@@ -603,7 +610,7 @@

 			// max computation time reached without finishing the task, so update the progress indicator and continue the task later
 			if (progress !== undefined)
-				WeaveAPI.ProgressIndicator.updateTask(task, progress);
+				WeaveAPI.ProgressIndicator.updateTask(taskToken, progress);

 			// Set relevantContext as null for callLater because we always want _iterateTask to be called later.
 			// This makes sure that the task is removed when the actual context is disposed.


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

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

 package mx.olap
 {


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

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

 package mx.core
 {