Transferred from the Adobe Open Source Subversion Repository

Revision: 18072
Author:   chiedozi@adobe.com
Date:     2010-10-07T21:09:04.099363Z

Log Message:
-----------
PARB Changes to ViewNavigator feature set.  Changes summarized below:

View
active getter renamed to isActive
Removed context property from View and moved it to ViewNavigator

ViewNavigator
context property is now typed Object
navigationStack property now mx_internal in ViewNavigatorBase
factory parameter for push operations renamed to  viewClass
NavigationStack push and pop api names changed to match ViewNavigator methods
active getter renamed isActive
viewNavigator no longer dispatches a COMPLETE event
defaultTransitions are no longer skin parts.  They are now  mx_internal vars.

TabbedViewNavigator
No longer dispatches complete, instead dispatches IndexChangeEvent.CHANGE

ViewProxy
ViewProxy renamed to ViewDescriptor
persistedData renamed to persistenceData

QE notes:
Doc notes:
Bugs:
Reviewer: Ryan
Tests run:
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/core/ContainerDestructionPolicy.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/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewReturnObject.as</path>
<path kind="dir" action="M">/private/flex/sdk/branches/hero_private</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewProxy.as" copyfrom-rev="18044" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewDescriptor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewProxy.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as
@@ -16,7 +16,7 @@
 import flash.utils.IDataOutput;
 import flash.utils.IExternalizable;

-import spark.components.supportClasses.ViewProxy;
+import spark.components.supportClasses.ViewDescriptor;

 import mx.core.mx_internal;
 use namespace mx_internal;
@@ -52,7 +52,7 @@
     {
         super();

-        _source = new Vector.<ViewProxy>();
+        _source = new Vector.<ViewDescriptor>();
     }

     //--------------------------------------------------------------------------
@@ -64,7 +64,7 @@
     /**
      *  @private
      */
-    private var _source:Vector.<ViewProxy>;
+    private var _source:Vector.<ViewDescriptor>;

     /**
      *  @private
@@ -74,7 +74,7 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    mx_internal function get source():Vector.<ViewProxy>
+    mx_internal function get source():Vector.<ViewDescriptor>
     {
         return _source;
     }
@@ -117,7 +117,7 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    mx_internal function get topView():ViewProxy
+    mx_internal function get topView():ViewDescriptor
     {
         return _source.length == 0 ? null : _source[_source.length - 1];
     }
@@ -140,11 +140,12 @@
     {
         _source.length = 0;
     }
-
+
+    // FIXME (chiedozi): Should return things...
     /**
      *  Adds a view to the top of the navigation stack.
      *
-     *  @param factory The class of the View to create.
+     *  @param viewClass The class of the View to create.
      *  @param data The data object to pass to the view when it is created
      *  @param context The context identifier to pass to the view when created
      *
@@ -155,12 +156,10 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    public function push(factory:Class, data:Object, context:String = null):ViewProxy
-    {
-        var viewData:ViewProxy = new ViewProxy(factory, data, context);
+    public function pushView(viewClass:Class, data:Object, context:Object = null):void
+    {
+        var viewData:ViewDescriptor = new ViewDescriptor(viewClass, data, context);
         _source.push(viewData);
-
-        return viewData;
     }

     /**
@@ -173,9 +172,9 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    public function pop():ViewProxy
-    {
-        return _source.pop();
+    public function popView():void
+    {
+        _source.pop();
     }

     /**
@@ -227,7 +226,7 @@
      */
     public function readExternal(input:IDataInput):void
     {
-        _source = input.readObject() as Vector.<ViewProxy>;
+        _source = input.readObject() as Vector.<ViewDescriptor>;
     }
 }
 }


added UIConfiguration and UITab class import

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/util/ModelClassInitializer.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/util/ModelClassInitializer.as
@@ -20,6 +20,8 @@
 	import org.openforis.collect.metamodel.proxy.SchemaProxy;
 	import org.openforis.collect.metamodel.proxy.SpatialReferenceSystemProxy;
 	import org.openforis.collect.metamodel.proxy.SurveyProxy;
+	import org.openforis.collect.metamodel.proxy.UIConfiguration;
+	import org.openforis.collect.metamodel.proxy.UITab;
 	import org.openforis.collect.metamodel.proxy.UnitProxy;

 	public class ModelClassInitializer {
@@ -48,7 +50,10 @@
 				SchemaProxy,
 				SpatialReferenceSystemProxy,
 				SurveyProxy,
-				UnitProxy
+				UnitProxy,
+
+				UIConfiguration,
+				UITab

 			];
 		}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/airframework/src/mx/controls/fileSystemClasses/FileSystemTreeDataDescriptor.as
+++ frameworks/projects/airframework/src/mx/controls/fileSystemClasses/FileSystemTreeDataDescriptor.as
@@ -0,0 +1,138 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.controls.fileSystemClasses
+{
+
+import flash.filesystem.File;
+import mx.controls.treeClasses.DefaultDataDescriptor;
+import mx.collections.ArrayCollection;
+import mx.collections.ICollectionView;
+import mx.controls.fileSystemClasses.FileSystemControlHelper;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+[ExcludeClass]
+
+/**
+ *  @private
+ *
+ *  The FileSystemTreeDataDescriptor implements the
+ *  dataDescriptor used by a FileSystemTree.
+ *  This data descriptor enables it to display a hierarchical
+ *  view of File instances representing directories and files
+ *  despite the fact that a File instance doesn't have a property
+ *  such as children that can be used to tie
+ *  such instances together into a hierarchical data structure.
+ *
+ *
We could have chosen to create a subclass of File,
+ *  or a wrapper class, which adds such a property;
+ *  but every time a directory was enumerated
+ *  we would have to turn the File instances
+ *  we get into instances of this other class.
+ *  Instead, each time a node in FileSystemTree is opened,
+ *  we enumerate that subdirectory and
+ *  store the resulting child collection in a map
+ *  that maps parents to their immediate children.
+ *  This descriptor class makes the resulting multiple
+ *  linear ArrayCollections displaying by a tree control.
+ */
+public class FileSystemTreeDataDescriptor extends DefaultDataDescriptor
+{
+    include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function FileSystemTreeDataDescriptor()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *
+	 *  Maps nativePath (String) -> childItems (ArrayCollection).
+	 */
+	mx_internal var parentToChildrenMap:Object = {};
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+    override public function getChildren(node:Object,
+                                         model:Object = null):ICollectionView
+    {
+        return parentToChildrenMap[node.nativePath];
+    }
+
+	/**
+	 *  @private
+	 */
+    override public function isBranch(node:Object, model:Object = null):Boolean
+    {
+        return File(node).isDirectory;
+    }
+
+	/**
+	 *  @private
+	 */
+    override public function hasChildren(node:Object,
+    									 model:Object = null):Boolean
+    {
+        var childCollection:ArrayCollection =
+        	parentToChildrenMap[node.nativePath];
+
+        return childCollection != null && childCollection.length > 0;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    public function reset():void
+    {
+    	parentToChildrenMap = {};
+    }
+
+    /**
+     *  @private
+     */
+    public function setChildren(node:Object, children:ArrayCollection):void
+    {
+    	parentToChildrenMap[node.nativePath] = children;
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 18358
Author:   chiedozi@adobe.com
Date:     2010-10-28T23:32:38.861173Z

Log Message:
-----------
MobileApplication's persistence manager is now created on demand and can be used when session caching is not enabled

QE notes:
Doc notes:
Bugs: SDK-28216
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorApplicationBase.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorApplicationBase.as
@@ -179,23 +179,16 @@
     /**
      *
      */
+    // FIXME (chiedozi): PARB whether this should be a method or a getter because of side effect
     public function get persistenceManager():IPersistenceManager
     {
+        if (!_persistenceManager)
+        {
+            registerPersistenceClassAliases();
+            _persistenceManager = createPersistenceManager();
+        }
+
         return _persistenceManager;
-    }
-
-    /**
-     *  @private
-     */
-    public function set persistenceManager(value:IPersistenceManager):void
-    {
-        if (value == _persistenceManager)
-            return;
-
-        if (_persistenceManager)
-            _persistenceManager.flush();
-
-        _persistenceManager = value;
     }

     //----------------------------------
@@ -286,23 +279,28 @@
      */
     protected function nativeApplication_deactivateHandler(event:Event):void
     {
+        // Check if the application state should be persisted
         if (sessionCachingEnabled)
         {
             // Dispatch event for saving persistence data
-            var eventDispatched:Boolean = true;
+            var eventCanceled:Boolean = false;
             if (hasEventListener(FlexEvent.APPLICATION_PERSISTING))
-                eventDispatched = dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_PERSISTING,
+                eventCanceled = !dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_PERSISTING,
                                                                 false, true));

-            // TODO (chiedozi): Rename eventDispatched
-            if (eventDispatched)
+            if (!eventCanceled)
             {
                 persistApplicationState();
-                persistenceManager.flush();

                 if (hasEventListener(FlexEvent.APPLICATION_PERSIST))
                     dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_PERSIST));
             }
+        }
+
+        // Always flush the persistence manager to disk if it exists
+        if (_persistenceManager)
+        {
+            persistenceManager.flush();
         }
     }

@@ -549,7 +547,6 @@
         {
             registerPersistenceClassAliases();

-            persistenceManager = createPersistenceManager();
             persistenceManager.initialize();

             // Dispatch event for loading persistence data


Transferred from the Adobe Open Source Subversion Repository

Revision: 20085
Author:   chiedozi@adobe.com
Date:     2011-02-03T01:43:58.198216Z

Log Message:
-----------
Moved Exclude metadata in ViewNavigatorApplicationBase

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

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorApplicationBase.as

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorApplicationBase.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorApplicationBase.as
@@ -40,14 +40,6 @@
 import spark.managers.IPersistenceManager;
 import spark.managers.PersistenceManager;

-[Exclude(name="controlBarContent", kind="property")]
-[Exclude(name="controlBarGroup", kind="property")]
-[Exclude(name="controlBarLayout", kind="property")]
-[Exclude(name="controlBarVisible", kind="property")]
-[Exclude(name="layout", kind="property")]
-[Exclude(name="preloaderChromeColor", kind="property")]
-[Exclude(name="backgroundAlpha", kind="style")]
-
 use namespace mx_internal;

 //--------------------------------------
@@ -82,6 +74,17 @@
  *  @productversion Flex 4.5
  */
 [Event(name="navigatorStateSaving", type="mx.events.FlexEvent")]
+
+//--------------------------------------
+//  Excluded APIs
+//--------------------------------------
+[Exclude(name="controlBarContent", kind="property")]
+[Exclude(name="controlBarGroup", kind="property")]
+[Exclude(name="controlBarLayout", kind="property")]
+[Exclude(name="controlBarVisible", kind="property")]
+[Exclude(name="layout", kind="property")]
+[Exclude(name="preloaderChromeColor", kind="property")]
+[Exclude(name="backgroundAlpha", kind="style")]

 /**
  *  The ViewNavigatorApplicationBase class is the base class used for all


Change failure to add 'className' to a test case from a sielent error to a traced warning

--- as25/src/asunit/framework/TestCase.as
+++ as25/src/asunit/framework/TestCase.as
@@ -112,8 +112,13 @@
 		} else {
 			setTestMethods(this);
 		}
-		setName(this.className);
-		// I don't think this is necessary for as2
+		try {
+		    setName(this.className);
+                }
+	        catch(e:ClassNameUndefinedError) {
+	            trace(">> WARNING: Concrete TestCase classes must have a 'className' parameter with the fully qualified class name in order for AsUnit to provide useful failures.");
+                }
+
 //		resolveLayoutManager();
 		asyncQueue = [];
 	}


Fixed wire connection algorithm

Fixed wire connection algorithm

--- src/Components/Wire.as
+++ src/Components/Wire.as
@@ -52,15 +52,18 @@
 		}

 		protected function validPosition():Boolean {
-			var sources:int = 0;
+			var source:Port = null;
 			for each (var carriers:Vector.<Carrier> in [U.state.carriersAtPoint(path[0]), U.state.carriersAtPoint(path[path.length - 1])])
 				if (carriers)
-					for each (var carrier:Carrier in carriers)
-						if (carrier.getSource()) {
-							sources += 1;
-							if (sources > 1)
+					for each (var carrier:Carrier in carriers) {
+						var carrierSource:Port = carrier.getSource();
+						if (carrierSource) {
+							if (!source)
+								source = carrierSource;
+							else if (source != carrierSource)
 								return false;
 						}
+					}
 			return true;
 		}


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

--- frameworks/projects/automation/src/mx/automation/delegates/controls/TileBaseAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/controls/TileBaseAutomationImpl.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.automation.delegates.controls
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20182
Author:   chiedozi@adobe.com
Date:     2011-02-07T23:51:31.661530Z

Log Message:
-----------
Fixed an issue where TabbedViewNavigator didn't properly update its navigators when the active view's overlayControls property was true.
Removed the overlayControls property from ViewNavigatorBase.

QE notes:
Doc notes:
Bugs:SDK-29425
Reviewer: Evtim
Tests run:
Is noteworthy for integration: Yes

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/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as
@@ -339,29 +339,22 @@
     private var _overlayControls:Boolean = false;

     /**
-     *  By default, the TabBar and ActionBar controls of a mobile application define
-     *  an area that cannot be used by the views of an application.
-     *  That means your content cannot use the full screen size of the mobile device.
-     *
-     *
If you set the overlayControls property to true,
-     *  the content area of the application spans the entire width and height of the screen.
-     *  The ActionBar and TabBar controls hover over the content area with an
-     *  alpha value of 0.5 so that they are partially transparent.

-     *
-     *
Changing this property results in a skin validation.

-     *
-     *  @default true
-     *
-     *  @langversion 3.0
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    public function get overlayControls():Boolean
+     *  @private
+     *  This property controls the overlay state of the navigator.  The
+     *  navigator will properly update this property in the
+     *  updateControlsForView() method with the View.overlayControls
+     *  property.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    mx_internal function get overlayControls():Boolean
     {
         return _overlayControls;
     }

-    public function set overlayControls(value:Boolean):void
+    mx_internal function set overlayControls(value:Boolean):void
     {
         if (value != _overlayControls)
         {
@@ -532,6 +525,8 @@
      */
     public function updateControlsForView(view:View):void
     {
+        if (parentNavigator)
+            parentNavigator.updateControlsForView(view);
     }

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


Return true if we succeeded.

Return true if we succeeded.

git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@4462 542714f4-19e9-0310-aa3c-eee0fc999fb1

--- src/as/com/threerings/util/NetUtil.as
+++ src/as/com/threerings/util/NetUtil.as
@@ -8,15 +8,17 @@
     /**
      * Convenience method to load a web page in the browser window without
      * having to worry about SecurityErrors in various conditions.
+     *
+     * @return true if the url was unable to be loaded.
      */
     public static function navigateToURL (
-            url :String, preferSameWindowOrTab :Boolean = true) :void
+            url :String, preferSameWindowOrTab :Boolean = true) :Boolean
     {
         var ureq :URLRequest = new URLRequest(url);
         if (preferSameWindowOrTab) {
             try {
                 flash.net.navigateToURL(ureq, "_self");
-                return;
+                return true;
             } catch (err :SecurityError) {
                 // ignore; fall back to using a blank window, below...
             }
@@ -25,12 +27,13 @@
         // open in a blank window
         try {
             flash.net.navigateToURL(ureq);
+            return true;
         } catch (err :SecurityError) {
             Log.getLog(NetUtil).warning(
                 "Unable to navigate to URL [e=" + err + "].");
         }
+
+        return false; // failure!
     }
-
-
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

--- frameworks/projects/advancedgrids/src/mx/controls/olapDataGridClasses/OLAPDataGridRendererProvider.as
+++ frameworks/projects/advancedgrids/src/mx/controls/olapDataGridClasses/OLAPDataGridRendererProvider.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 7943
Author:   hmuller@adobe.com
Date:     2009-06-18T00:50:32.894448Z

Log Message:
-----------
Range et al PARB changes, Opus #2.

Made the following protected Scrollbar functions mx_internal:
  viewportResizeHandler
  viewportContentWidthChangeHandler
  viewportContentHeightChangeHandler
  viewportHorizontalScrollPositionChangeHandler
  viewportVerticalScrollPositionChangeHandler

Made TrackBase/stage_mouseWheelHandler private

QE Notes: Shouldn't break anything
Doc Notes:
Bugs:
Reviewer: Glenn

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
@@ -517,7 +517,7 @@
      *  Handles the mouseWheel event when the component is in focus. The thumb is
      *  moved by the amount of the mouse event delta multiplied by the stepSize.
      */
-    protected function stage_mouseWheelHandler(event:MouseEvent):void
+    private function stage_mouseWheelHandler(event:MouseEvent):void
     {
     	if (event.target != stage)
             return;


Transferred from the Adobe Open Source Subversion Repository

Revision: 13208
Author:   chaase@adobe.com
Date:     2009-12-23T21:49:14.524642Z

Log Message:
-----------
Dealt with my FIXMEs in the code. Some went away (no longer issues), some became TODOs (still issues, but nothing that we have to solve in this release), a couple were actually resolved in this change (like the bug filed/fixed: 24848).

QE notes: 10 failures in Mustella of tests that need to be changed. They're excluded for now and QE has local fixes.
Doc notes: None
Bugs: SDK-24848
Reviewer: Jason
Tests run: checkintests, Mustella (spark/effects, mx/effects)
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</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/frameworks/projects/spark/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as</path>
<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/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Timeline.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/RemoveAction.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
@@ -174,12 +174,8 @@
             setupConstraintAnimation("percentHeight");
             setupConstraintAnimation("horizontalCenter");
             setupConstraintAnimation("verticalCenter");
-            // FIXME (chaase): also deal with baseline when it works in BasicLayout
+            setupConstraintAnimation("baseline");
         }
-        // FIXME (chaase): The Flex3 version of Move had logic for forcing clipping
-        // off during the effect. We probably 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: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
+++ frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
@@ -0,0 +1,862 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.controls.advancedDataGridClasses
+{
+
+import flash.display.DisplayObject;
+import flash.display.Sprite;
+import flash.events.Event;
+import flash.events.MouseEvent;
+import flash.geom.Point;
+import flash.geom.Rectangle;
+import flash.text.TextLineMetrics;
+
+import mx.controls.AdvancedDataGrid;
+import mx.controls.listClasses.BaseListData;
+import mx.controls.listClasses.IDropInListItemRenderer;
+import mx.controls.listClasses.IListItemRenderer;
+import mx.core.ClassFactory;
+import mx.core.IDataRenderer;
+import mx.core.IFactory;
+import mx.core.IInvalidating;
+import mx.core.IToolTip;
+import mx.core.IUITextField;
+import mx.core.UIComponent;
+import mx.core.UITextField;
+import mx.core.mx_internal;
+import mx.events.FlexEvent;
+import mx.events.ToolTipEvent;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Events
+//--------------------------------------
+
+/**
+ *  Dispatched when the data property changes.
+ *
+ *
When you use a component as an item renderer,
+ *  the data property contains the data to display.
+ *  You can listen for this event and update the component
+ *  when the data property changes.

+ *
+ *  @eventType mx.events.FlexEvent.DATA_CHANGE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Event(name="dataChange", type="mx.events.FlexEvent")]
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+/**
+ *  Text color of a component label.
+ *  @default 0x0B333C
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="color", type="uint", format="Color", inherit="yes")]
+
+/**
+ *  Color of the separator between the text part and icon part.
+ *  @default 0xCCCCCC
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="separatorColor", type="uint", format="Color", inherit="yes")]
+
+
+/**
+ *  Horizontal alignment of the header text.
+ *  Possible values are "left", "center",
+ *  and "right".
+ *
+ *  @default "center"
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="horizontalAlign", type="String", enumeration="left,center,right", inherit="no")]
+
+/**
+ *  Vertical alignment of the header text.
+ *  Possible values are "top", "middle",
+ *  and "bottom".
+ *
+ *  @default "middle"
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="verticalAlign", type="String", enumeration="top,middle,bottom", inherit="no")]
+
+/**
+ *  The AdvancedDataGridHeaderRenderer class defines the default header
+ *  renderer for a AdvancedDataGrid control.
+ *  By default, the header renderer
+ *  draws the text associated with each header in the list, and an optional
+ *  sort arrow (if sorted by that column).
+ *
+ *
 By default, the custom header renderer uses the default
+ *  sort item renderer defined by the AdvancedDataGridSortItemRenderer class.
+ *  The sort item renderer controls the display of the
+ *  sort icon and sort sequence number.
+ *  You can specify a custom sort item renderer by using
+ *  the sortItemRenderer property.

+ *
+ *
You can override the default header renderer by creating a custom
+ *  header renderer.
+ *  The only requirement for a custom header renderer is that it
+ *  must include the size of the sortItemRenderer
+ *  in any size calculations performed by an override of the
+ *  measure() and updateDisplayList() methods.

+ *
+ *
You can customize when the sorting gets triggered by
+ *  handling or dispatching the AdvancedDataGridEvent.SORT event.

+ *
+ *  @see mx.controls.AdvancedDataGrid
+ *  @see mx.controls.advancedDataGridClasses.AdvancedDataGridSortItemRenderer
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class AdvancedDataGridHeaderRenderer
+       extends UIComponent
+       implements IDataRenderer,
+                  IDropInListItemRenderer,
+                  IListItemRenderer
+{
+    include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function AdvancedDataGridHeaderRenderer()
+    {
+        super();
+
+        // InteractiveObject variables.
+        tabEnabled   = false;
+
+        addEventListener(ToolTipEvent.TOOL_TIP_SHOW, toolTipShowHandler);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var grid:AdvancedDataGrid;
+
+    /**
+     *  @private
+     *  The value of the unscaledWidth parameter during the most recent
+     *  call to updateDisplayList
+     */
+    private var oldUnscaledWidth:Number = -1;
+
+    /**
+     *  @private
+     *  header separator skin
+     */
+    private var partsSeparatorSkinClass:Class;
+    private var partsSeparatorSkin:DisplayObject;
+
+    /**
+     *  @private
+     *  Storage for the sortItemRenderer property
+     */
+    private var sortItemRendererInstance:UIComponent;
+    private var sortItemRendererChanged:Boolean = false;
+
+    /**
+     *  The internal UITextField that displays the text in this renderer.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    protected var label:IUITextField;
+
+    /**
+     *  This background is used as a mouseShield so that the mouse clicks do not pass
+     *  through to the parent component, but all mouse events within the header area
+     *  are handled by the header itself.
+     *
+     *  Inspired by mouseShield in mx/core/Container.as and mx/skins/halo/HaloBorder.as.
+     *
+     *  @private
+     */
+    protected var background:Sprite;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties: UIComponent
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  baselinePosition
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    override public function get baselinePosition():Number
+    {
+        return label.baselinePosition;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  data
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the data property.
+     */
+    private var _data:Object;
+
+    [Bindable("dataChange")]
+
+    /**
+     *  The implementation of the data property
+     *  as defined by the IDataRenderer interface.
+     *  When set, it stores the value and invalidates the component
+     *  to trigger a relayout of the component.
+     *
+     *  @see mx.core.IDataRenderer
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get data():Object
+    {
+        return _data;
+    }
+
+    /**
+     *  @private
+     */
+    public function set data(value:Object):void
+    {
+        _data = value;
+
+        invalidateProperties();
+
+        dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
+    }
+
+    //----------------------------------
+    //  sortItemRenderer
+    //----------------------------------
+
+    private var _sortItemRenderer:IFactory;
+
+    [Inspectable(category="Data")]
+    /**
+     *  Specifies a custom sort item renderer.
+     *  By default, the AdvancedDataGridHeaderRenderer class uses
+     *  AdvancedDataGridSortItemRenderer as the sort item renderer.
+     *
+     *
Note that the sort item renderer controls the display of the
+     *  sort icon and sort sequence number.
+     *  A custom header renderer must include code to display the
+     *  sort item renderer, regardless of whether it is the default or custom
+     *  sort item renderer.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get sortItemRenderer():IFactory
+    {
+            return _sortItemRenderer;
+    }
+
+    /**
+     *  @private
+     */
+    public function set sortItemRenderer(value:IFactory):void
+    {
+            _sortItemRenderer = value;
+
+            sortItemRendererChanged = true;
+            invalidateSize();
+            invalidateDisplayList();
+
+            dispatchEvent(new Event("sortItemRendererChanged"));
+    }
+
+    //----------------------------------
+    //  listData
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the listData property.
+     */
+    private var _listData:AdvancedDataGridListData;
+
+    [Bindable("dataChange")]
+
+    /**
+     *  The implementation of the listData property
+     *  as defined by the IDropInListItemRenderer interface.
+     *
+     *  @see mx.controls.listClasses.IDropInListItemRenderer
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get listData():BaseListData
+    {
+        return _listData;
+    }
+
+    /**
+     *  @private
+     */
+    public function set listData(value:BaseListData):void
+    {
+        _listData = AdvancedDataGridListData(value);
+        grid      = AdvancedDataGrid(_listData.owner);
+
+        invalidateProperties();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: UIComponent
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function createChildren():void
+    {
+        super.createChildren();
+
+        if (!label)
+        {
+            label = IUITextField(createInFontContext(UITextField));
+            addChild(DisplayObject(label));
+        }
+
+        if (!background)
+        {
+            background = new UIComponent();
+            addChild(background);
+        }
+    }
+
+    /**
+     *  @private
+     *  Apply the data and listData.
+     *  Create an instance of the sort item renderer if specified,
+     *  and set the text into the text field.
+     */
+    override protected function commitProperties():void
+    {
+        super.commitProperties();
+
+        if (!initialized)
+            label.styleName = this;
+
+        if (!sortItemRendererInstance || sortItemRendererChanged)
+        {
+            if (!sortItemRenderer)
+                sortItemRenderer = ClassFactory(grid.sortItemRenderer);
+
+            if (sortItemRenderer)
+            {
+                sortItemRendererInstance = sortItemRenderer.newInstance();
+
+                // TODO Ideally, we should be doing this, but commenting out
+                // now because of Bug 204187:
+                //
+                // sortItemRendererInstance.owner = grid;
+
+                addChild( DisplayObject(sortItemRendererInstance) );
+            }
+
+             sortItemRendererChanged = false;
+        }
+
+        // Handle skin for the separator between the text and icon parts
+        var oldPartsSeparatorSkinClass:Class = partsSeparatorSkinClass;
+        if (!partsSeparatorSkinClass
+                || partsSeparatorSkinClass != grid.getStyle("headerSortSeparatorSkin"))
+        {
+            partsSeparatorSkinClass = grid.getStyle("headerSortSeparatorSkin");
+        }
+        if (grid.sortExpertMode || partsSeparatorSkinClass != oldPartsSeparatorSkinClass)
+        {
+            if (partsSeparatorSkin)
+                removeChild(partsSeparatorSkin);
+            if (!grid.sortExpertMode)
+            {
+                partsSeparatorSkin = new partsSeparatorSkinClass();
+                addChild(partsSeparatorSkin);
+            }
+        }
+        if (partsSeparatorSkin)
+            partsSeparatorSkin.visible = !(_data is AdvancedDataGridColumnGroup);
+
+        if (_data != null)
+        {
+            label.text      = listData.label ? listData.label : " ";
+            label.multiline = grid.variableRowHeight;
+            if( _data is AdvancedDataGridColumn)
+                label.wordWrap = grid.columnHeaderWordWrap(_data as AdvancedDataGridColumn);
+
+
+//             if (listData.columnIndex > -1)
+//                 label.wordWrap = grid.columnHeaderWordWrap(grid.columns[listData.columnIndex]);
+            else
+                label.wordWrap = grid.wordWrap;
+
+            if (_data is AdvancedDataGridColumn)
+            {
+                var column:AdvancedDataGridColumn =
+                    _data as AdvancedDataGridColumn;
+
+                var dataTips:Boolean = grid.showDataTips;
+                if (column.showDataTips == true)
+                    dataTips = true;
+                if (column.showDataTips == false)
+                    dataTips = false;
+                if (dataTips)
+                {
+                    if (label.textWidth > label.width
+                        || column.dataTipFunction || column.dataTipField
+                        || grid.dataTipFunction || grid.dataTipField)
+                    {
+                        toolTip = column.itemToDataTip(_data);
+                    }
+                    else
+                    {
+                        toolTip = null;
+                    }
+                }
+                else
+                {
+                    toolTip = null;
+                }
+             }
+        }
+        else
+        {
+            label.text = " ";
+            toolTip = null;
+        }
+
+        if (sortItemRendererInstance is IInvalidating)
+            IInvalidating(sortItemRendererInstance).invalidateProperties();
+    }
+
+    /**
+     *  @private
+     */
+    override protected function measure():void
+    {
+        super.measure();
+
+        // Cache padding values
+        var paddingLeft:int   = getStyle("paddingLeft");
+        var paddingRight:int  = getStyle("paddingRight");
+        var paddingTop:int    = getStyle("paddingTop");
+        var paddingBottom:int = getStyle("paddingBottom");
+
+        // Measure sortItemRenderer
+        var sortItemRendererWidth:Number  = sortItemRendererInstance ?
+                                sortItemRendererInstance.getExplicitOrMeasuredWidth()  : 0;
+        var sortItemRendererHeight:Number = sortItemRendererInstance ?
+                                sortItemRendererInstance.getExplicitOrMeasuredHeight() : 0;
+        if (grid.sortExpertMode && getFieldSortInfo() == null)
+        {
+            sortItemRendererWidth  = 0;
+            sortItemRendererHeight = 0;
+        }
+
+        var horizontalGap:Number = getStyle("horizontalGap");
+        if (sortItemRendererWidth == 0)
+            horizontalGap = 0;
+
+        // Measure text
+        var labelWidth:Number  = 0;
+        var labelHeight:Number = 0;
+        var w:Number = 0;
+        var h:Number = 0;
+
+        // By default, we already get the column's width
+        if (!isNaN(explicitWidth))
+        {
+            w = explicitWidth;
+            labelWidth = w - sortItemRendererWidth
+                            - horizontalGap
+                            - (partsSeparatorSkin ? partsSeparatorSkin.width + 10 : 0)
+                            - paddingLeft - paddingRight;
+            label.width = labelWidth;
+            // Inspired by mx.controls.Label#measureTextFieldBounds():
+            // In order to display the text completely,
+            // a TextField must be 4-5 pixels larger.
+            labelHeight = label.textHeight + UITextField.TEXT_HEIGHT_PADDING;
+        }
+        else
+        {
+            var lineMetrics:TextLineMetrics = measureText(label.text);
+            labelWidth  = lineMetrics.width + UITextField.TEXT_WIDTH_PADDING;
+            labelHeight = lineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
+            w = labelWidth + horizontalGap
+                           + (partsSeparatorSkin ? partsSeparatorSkin.width : 0)
+                           + sortItemRendererWidth
+        }
+
+        h = Math.max(labelHeight, sortItemRendererHeight);
+        h = Math.max(h, (partsSeparatorSkin ? partsSeparatorSkin.height : 0));
+
+        // Add padding
+        w += paddingLeft + paddingRight;
+        h += paddingTop  + paddingBottom;
+
+        // Set required width and height
+        measuredMinWidth  = measuredWidth  = w;
+        measuredMinHeight = measuredHeight = h;
+    }
+
+    /**
+     *  @private
+     */
+    override protected function updateDisplayList(unscaledWidth:Number,
+                                                  unscaledHeight:Number):void
+    {
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+        if (unscaledWidth == 0)
+            return;
+
+        // Cache padding values
+        var paddingLeft:int   = getStyle("paddingLeft");
+        var paddingRight:int  = getStyle("paddingRight");
+        var paddingTop:int    = getStyle("paddingTop");
+        var paddingBottom:int = getStyle("paddingBottom");
+
+        // Size of sortItemRenderer
+        var sortItemRendererWidth:Number  = sortItemRendererInstance ?
+                                sortItemRendererInstance.getExplicitOrMeasuredWidth()  : 0;
+        var sortItemRendererHeight:Number = sortItemRendererInstance ?
+                                sortItemRendererInstance.getExplicitOrMeasuredHeight() : 0;
+        if (sortItemRendererInstance)
+            sortItemRendererInstance.setActualSize(sortItemRendererWidth,
+                                                    sortItemRendererHeight);
+        if (grid.sortExpertMode && getFieldSortInfo() == null)
+        {
+            sortItemRendererWidth  = 0;
+            sortItemRendererHeight = 0;
+        }
+
+        var horizontalGap:Number = getStyle("horizontalGap");
+        if (sortItemRendererWidth == 0)
+            horizontalGap = 0;
+
+        // Size of label
+        const MINIMUM_SIZE:TextLineMetrics = measureText("w");
+
+        // Adjust to given width
+        var lineMetrics:TextLineMetrics = measureText(label.text);
+        var labelWidth:Number  = lineMetrics.width + UITextField.TEXT_WIDTH_PADDING;
+        var maxLabelWidth:int = unscaledWidth - sortItemRendererWidth
+                                - horizontalGap - paddingLeft - paddingRight;
+        if (maxLabelWidth < 0)
+            maxLabelWidth = 0; // set the max width to 0, if its < 0
+
+        var truncate:Boolean = false;
+
+        if (maxLabelWidth < labelWidth)
+        {
+            truncate = true;
+            labelWidth = maxLabelWidth;
+        }
+
+        // Adjust to given height
+        var labelHeight:Number = label.textHeight + UITextField.TEXT_HEIGHT_PADDING;
+        var maxLabelHeight:int = unscaledHeight - paddingTop - paddingBottom;
+
+        if (maxLabelHeight < labelHeight)
+        {
+            truncate = true;
+            labelHeight = maxLabelHeight;
+        }
+
+        // Size of label
+        label.setActualSize(labelWidth, labelHeight);
+
+        // truncate only if the truncate flag is set
+        if (truncate && !label.multiline)
+            label.truncateToFit();
+
+        // Calculate position of label, by default center it
+        var labelX:Number;
+        var horizontalAlign:String = getStyle("horizontalAlign");
+        if (horizontalAlign == "left")
+        {
+            labelX = paddingLeft;
+        }
+        else if (horizontalAlign == "right")
+        {
+            labelX = unscaledWidth - paddingRight - sortItemRendererWidth
+                        - horizontalGap - labelWidth;
+        }
+        else // if (horizontalAlign == "center")
+        {
+            labelX = (unscaledWidth - labelWidth - paddingLeft
+                        - paddingRight - horizontalGap
+                        - sortItemRendererWidth)/2 + paddingLeft;
+        }
+        labelX = Math.max(labelX, 0);
+
+        var labelY:Number;
+        var verticalAlign:String = getStyle("verticalAlign");
+        if (verticalAlign == "top")
+        {
+            labelY = paddingTop;
+        }
+        else if (verticalAlign == "bottom")
+        {
+            labelY = unscaledHeight - labelHeight - paddingBottom + 2; // 2 for gutter
+        }
+        else // if (verticalAlign == "middle")
+        {
+            labelY = (unscaledHeight - labelHeight - paddingBottom - paddingTop)/2
+                     + paddingTop;
+        }
+        labelY = Math.max(labelY, 0);
+
+        // Set positions
+        label.x = Math.round(labelX);
+        label.y = Math.round(labelY);
+
+        if (sortItemRendererInstance)
+        {
+            // Calculate position of sortItemRenderer (to the right of the headerRenderer)
+            var sortItemRendererX:Number = unscaledWidth
+                                            - sortItemRendererWidth
+                                            - paddingRight
+                                            ;
+            var sortItemRendererY:Number = (unscaledHeight - sortItemRendererHeight
+                                            - paddingTop - paddingBottom
+                                            ) / 2
+                                            + paddingTop;
+
+            sortItemRendererInstance.x = Math.round(sortItemRendererX);
+            sortItemRendererInstance.y = Math.round(sortItemRendererY);
+        }
+
+        // Draw the separator
+        graphics.clear();
+        if (sortItemRendererInstance && !grid.sortExpertMode
+                &&  !(_data is AdvancedDataGridColumnGroup))
+        {
+            if (!partsSeparatorSkinClass)
+            {
+                graphics.lineStyle(1, getStyle("separatorColor") !== undefined
+                                        ? getStyle("separatorColor") : 0xCCCCCC);
+                graphics.moveTo(sortItemRendererInstance.x - 1, 1);
+                graphics.lineTo(sortItemRendererInstance.x - 1, unscaledHeight - 1);
+            }
+            else
+            {
+                partsSeparatorSkin.x = sortItemRendererInstance.x
+                                       - horizontalGap - partsSeparatorSkin.width;
+                partsSeparatorSkin.y = (unscaledHeight - partsSeparatorSkin.height) / 2;
+            }
+        }
+
+        // Set text color
+        var labelColor:Number;
+
+        if (data && parent)
+        {
+            if (!enabled)
+                labelColor = getStyle("disabledColor");
+            else if (grid.isItemHighlighted(listData.uid))
+                labelColor = getStyle("textRollOverColor");
+            else if (grid.isItemSelected(listData.uid))
+                labelColor = getStyle("textSelectedColor");
+            else
+                labelColor = getStyle("color");
+
+           label.setColor(labelColor);
+        }
+
+        // Set background size, position, color
+        if (background)
+        {
+            background.graphics.clear();
+            background.graphics.beginFill(0xFFFFFF, 0.0); // transparent
+            background.graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
+            background.graphics.endFill();
+            setChildIndex( DisplayObject(background), 0 );
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Indicates if the mouse pointer was over the text part or icon part
+     *  of the header when the mouse event occurred.
+     *
+     *
This method has to be implemented in custom header renderers for sorting
+     *  to work. Note that this implicitly means you will need to display both
+     *  text (which can be displayed any way the custom header renderer
+     *  wants; by default, Flex display text) and an icon (which is the
+     *  default or custom sort item renderer).

+     *
+     *  @param event The mouse event.
+     *
+     *  @return AdvancedDataGrid.HEADERTEXTPART if the mouse was over the header text,
+     *  and AdvancedDataGrid.HEADERICONPART if the mouse was over the header icon.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function mouseEventToHeaderPart(event:MouseEvent):String
+    {
+        var point:Point = new Point(event.stageX, event.stageY);
+        point = globalToLocal(point);
+
+        // Needs to be in sync with the logic in measure() and updateDisplayList()
+        return point.x < sortItemRendererInstance.x
+                         ? AdvancedDataGrid.HEADER_TEXT_PART
+                         : AdvancedDataGrid.HEADER_ICON_PART;
+    }
+
+    /**
+     *  Returns the sort information for this column from the AdvancedDataGrid control
+     *  so that the control can display the column's number in the sort sequence,
+     *  and whether the sort is ascending or descending.
+     *  The sorting information is represented by an instance of the SortInfo class,
+     *  where each column in the AdvancedDataGrid control has an associated
+     *  SortInfo instance.
+     *
+     *  @return A SortInfo instance.
+     *
+     *  @see mx.controls.advancedDataGridClasses.SortInfo
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    protected function getFieldSortInfo():SortInfo
+    {
+       	return grid.getFieldSortInfo(grid.columns[listData.columnIndex]);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Event handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Positions the tooltip in the header.
+     *
+     *  @param The Event object.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    protected function toolTipShowHandler(event:ToolTipEvent):void
+    {
+        var toolTip:IToolTip = event.toolTip;
+		var xPos:int = DisplayObject(systemManager).mouseX + 11;
+        var yPos:int = DisplayObject(systemManager).mouseY + 22;
+        // Calculate global position of label.
+        var pt:Point = new Point(xPos, yPos);
+        pt = DisplayObject(systemManager).localToGlobal(pt);
+        pt = DisplayObject(systemManager.getSandboxRoot()).globalToLocal(pt);
+
+        toolTip.move(pt.x, pt.y + (height - toolTip.height) / 2);
+
+        var screen:Rectangle = toolTip.screen;
+        var screenRight:Number = screen.x + screen.width;
+        if (toolTip.x + toolTip.width > screenRight)
+            toolTip.move(screenRight - toolTip.width, toolTip.y);
+
+    }
+
+    /**
+     *  @private
+     */
+    mx_internal function getLabel():IUITextField
+    {
+        return label;
+    }
+
+} // end class
+
+} // end package


Added support for different Context3D Profiles (in order to support BASELINE_EXTENDED for 4096*4096 textures)

--- src/aerys/minko/render/Viewport.as
+++ src/aerys/minko/render/Viewport.as
@@ -9,6 +9,7 @@
 	import flash.display.Stage3D;
 	import flash.display.StageAlign;
 	import flash.display.StageScaleMode;
+	import flash.display3D.Context3DProfile;
 	import flash.events.Event;
 	import flash.geom.Point;

@@ -48,6 +49,8 @@

 		private var _resized			: Signal			= new Signal('Viewport.resized');
 		private var _contextLost		: Signal			= new Signal('Viewport.contextLost');
+
+		private var _context3DProfile	: String			= Context3DProfile.BASELINE;

 		minko_render function get context3D() : Context3DResource
 		{
@@ -218,10 +221,11 @@
 				: null;
 		}

-		public function Viewport(antiAliasing	: uint	= 0,
-								 stage3dId		: uint	= 0,
-								 width			: uint 	= 0,
-								 height			: uint	= 0)
+		public function Viewport(antiAliasing		: uint		= 0,
+								 stage3dId			: uint		= 0,
+								 width				: uint 		= 0,
+								 height				: uint		= 0,
+								 context3DProfile	: String	= Context3DProfile.BASELINE_EXTENDED)
 		{
 			_stage3dId = stage3dId;
 			_antiAliasing = antiAliasing;
@@ -230,6 +234,8 @@
 			_width = width;
 			_height = height;

+			_context3DProfile = context3DProfile;
+
 			initialize();
 		}

@@ -280,7 +286,8 @@
 			{
 				_stage3d = stage.stage3Ds[_stage3dId];
 				_stage3d.addEventListener(Event.CONTEXT3D_CREATE, context3dCreatedHandler);
-				_stage3d.requestContext3D();
+
+				_stage3d.requestContext3D("auto", _context3DProfile);
 			}

 			_stage3d.visible = visible;


Removed dependencies on internal _bttn and stage references. So now ComboBoxes are closer to a pure "controller" implementation: with Buttons dynamically assigned.

--- src/org/openPyro/controls/ComboBox.as
+++ src/org/openPyro/controls/ComboBox.as
@@ -23,6 +23,16 @@

 	public class ComboBox extends UIControl
 	{
+
+		/**
+		 * Defines whether changes in selectedItem change the
+		 * label of the button defined. Note, even if this property
+		 * is set to true but the button does not
+		 * have a label property, nothing will
+		 * change on the button
+		 */
+		public var bindButtonLabelToSelectedItem:Boolean = true;
+
 		private var _bttn:UIControl;
 		private var listHolder:Sprite;
 		private var _list:List;
@@ -75,7 +85,7 @@
 		{
 			_dataProvider = data;
 			_selectedIndex = 0;
-			if(_bttn && _bttn.hasOwnProperty("label"))
+			if(_bttn && _bttn.hasOwnProperty("label") && bindButtonLabelToSelectedItem)
 			{
 				_bttn["label"] = _bttnLabelFunction(data[0]);
 			}
@@ -188,7 +198,7 @@
 				this.stage.addChild(sprite);
 				overlayManager.overlayContainer = sprite;
 			}
-			overlayManager.showOnOverlay(listHolder, this);
+			overlayManager.showOnOverlay(listHolder, this._bttn);
 			_list.width = this.width;

 			if(!isNaN(_maxDropDownHeight))
@@ -202,10 +212,10 @@
 			_list.validateSize();
 			_list.visible = false;

-			_list.y = this.height+2;
+			_list.y = _bttn.height+2;
 			_list.visible = true;
 			Effect.on(_list).slideDown(1).onComplete(function():void{
-					stage.addEventListener(MouseEvent.CLICK, onStageClick)
+					overlayManager.overlayContainer.stage.addEventListener(MouseEvent.CLICK, onStageClick)
 			});
 		}

@@ -220,7 +230,7 @@

 		protected function onListItemClick(event:ListEvent):void
 		{
-			if(_bttn.hasOwnProperty("label")){
+			if(_bttn.hasOwnProperty("label") && bindButtonLabelToSelectedItem){
 				this._bttn["label"] = _bttnLabelFunction(_list.selectedItem);
 			}
 			_selectedIndex = _list.selectedIndex;
@@ -248,9 +258,8 @@
 		public function close():void
 		{
 			if(!_isOpen) return;
-			stage.removeEventListener(MouseEvent.CLICK, onStageClick)
+			OverlayManager.getInstance().overlayContainer.stage.removeEventListener(MouseEvent.CLICK, onStageClick)
 			_isOpen = false;
-			//TweenMax.to(_list, .5, {y:this.height-_list.height})
 			Effect.on(_list).wipeUp(.5).onComplete(function():void{
 				_list.visible = false;
 			});


Renamed property

Renamed property

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

--- org.openwms/trunk/org.openwms.core/org.openwms.client.flex.lib/src/main/flex/org/openwms/web/flex/client/model/ModelLocator.as
+++ org.openwms/trunk/org.openwms.core/org.openwms.client.flex.lib/src/main/flex/org/openwms/web/flex/client/model/ModelLocator.as
@@ -158,9 +158,9 @@
         // Property Management
         // --------------------------------------------------------------------
         /**
-         * Collection of all Properties.
-         */
-        public var allProperties : ArrayCollection = new ArrayCollection();
+         * Collection of all Properties of type APPLICATION.
+         */
+        public var allApplicationProperties : ArrayCollection = new ArrayCollection();

         // --------------------------------------------------------------------
         // Security


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

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


Transferred from the Adobe Open Source Subversion Repository

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

--- frameworks/projects/automation_air/src/mx/automation/delegates/containers/WindowedApplicationAutomationImpl.as
+++ frameworks/projects/automation_air/src/mx/automation/delegates/containers/WindowedApplicationAutomationImpl.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.automation.delegates.containers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17699
Author:   clucier@adobe.com
Date:     2010-09-14T19:07:33.076891Z

Log Message:
-----------
State-specific property overrides now disable bindings for the base property if present when applied.  Bindings are re-enabled once the override is removed.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler/mxml/rep/StatesModel.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/states/OverrideBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/states/SetEventHandler.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/binding/BindingManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/states/SetStyle.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/states/SetProperty.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler/mxml/rep/Model.java</path>

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

--- frameworks/projects/framework/src/mx/binding/BindingManager.as
+++ frameworks/projects/framework/src/mx/binding/BindingManager.as
@@ -158,6 +158,52 @@
     }

     /**
+     *  Enable or disable all bindings that bind into the specified object
+     *  and match the input destStr.
+     *
+     *  @param document The document that this binding relates to.
+     *
+     *  @param destStr The destination field that needs to be refreshed.
+     *
+     *  @param enable If true enables the specified binding(s), otherwise
+     *  disables.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2/5
+     *  @productversion Flex 4.5
+     */
+    public static function enableBindings(document:Object,
+                                          destStr:String,
+                                          enable:Boolean = true):void
+    {
+        // See implementation comments above for executeBindings as this
+        // method follows the same logic.
+
+        if (!destStr || (destStr == ""))
+            return;
+
+        if (document &&
+            (document is IBindingClient || document.hasOwnProperty("_bindingsByDestination")) &&
+            document._bindingsByDestination &&
+            document._bindingsBeginWithWord[getFirstWord(destStr)])
+        {
+            for (var binding:String in document._bindingsByDestination)
+            {
+                if (binding.charAt(0) == destStr.charAt(0))
+                {
+                    if (binding.indexOf(destStr + ".") == 0 ||
+                        binding.indexOf(destStr + "[") == 0 ||
+                        binding == destStr)
+                    {
+                        document._bindingsByDestination[binding].isEnabled = enable;
+                    }
+                }
+            }
+        }
+    }
+
+    /**
 	 *  @private
 	 */
 	private static function getFirstWord(destStr:String):String


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/events/FlexChangeEvent.as
+++ frameworks/projects/framework/src/mx/events/FlexChangeEvent.as
@@ -58,6 +58,11 @@
      *  </table>
      *
      *  @eventType addChildBridge
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const ADD_CHILD_BRIDGE:String = "addChildBridge";

@@ -84,6 +89,11 @@
      *  </table>
      *
      *  @eventType removeChildBridge
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const REMOVE_CHILD_BRIDGE:String = "removeChildBridge";

@@ -104,6 +114,11 @@
      *  @param cancelable Specifies whether the behavior associated with the event can be prevented.
      *
      *  @param data Data related to the event.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function FlexChangeEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, data:Object = null)
     {
@@ -124,6 +139,11 @@

     /**
      *  Data related to the event. For more information on this object, see each event type.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var data:Object;


Transferred from the Adobe Open Source Subversion Repository

Revision: 18635
Author:   aharui@adobe.com
Date:     2010-11-17T00:18:36.469040Z

Log Message:
-----------
Add estimatedSizes to the layout infrastructure to better deal with text reflow.
Add new events to layout infrastructure to deal with caching of size information

QE notes: New APIs and Interfaces
Doc notes: New APIs and interfaces
Bugs: SDK-27226, SDK-26155, SDK-25483, SDK-23621, SDK-27225, SDK-26993, SDK-25535, SDK-25521
Reviewer: Evtim
Tests run: checkintests mustella full run
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/layoutClasses/PriorityQueue.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/IContainerInvalidating.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/scripts/FormTestScript.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ILayoutManagerContainerClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/IStyleManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/framework/src/mx/managers/LayoutManager.as
+++ frameworks/projects/framework/src/mx/managers/LayoutManager.as
@@ -21,6 +21,7 @@
 import mx.core.UIComponent;
 import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
+import mx.core.FlexVersion;
 import mx.events.DynamicEvent;
 import mx.events.FlexEvent;
 import mx.managers.layoutClasses.PriorityQueue;
@@ -625,6 +626,27 @@
     }

     /**
+     *  Validates the estimatedWidth and estimatedHeight on
+     *  components in the queue.  It goes top-down even though
+     *  it uses a copy of the invalidateSize queue which goes
+     *  bottom-up
+     */
+    private function validateEstimatedSizes(queue:PriorityQueue):void
+    {
+        var obj:ILayoutManagerClient = ILayoutManagerClient(queue.removeSmallest());
+        while (obj)
+        {
+            var client:ILayoutManagerContainerClient = obj as ILayoutManagerContainerClient;
+            if (client && client.nestLevel)
+            {
+                currentObject = obj;
+                client.validateEstimatedSizesOfChildren();
+            }
+            obj = ILayoutManagerClient(queue.removeSmallest());
+        }
+    }
+
+    /**
      *  Validates all components whose properties have changed and have called
      *  the invalidateSize() method.
      *  It calls the validateSize() method on those components
@@ -648,6 +670,9 @@
             perfUtil.markTime("validateSize().start");
         }

+        if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_4_5)
+            validateEstimatedSizes(invalidateSizeQueue.clone());
+
         var obj:ILayoutManagerClient = ILayoutManagerClient(invalidateSizeQueue.removeLargest());
         while (obj)
         {
@@ -973,7 +998,9 @@
                 invalidatePropertiesFlag = false;
                 invalidateClientPropertiesFlag = false;
             }
-
+
+            if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_4_5)
+                validateEstimatedSizes(invalidateSizeQueue.clone(target))
             // trace("--- LayoutManager: validateSize --->");

             obj = ILayoutManagerClient(invalidateSizeQueue.removeLargestChild(target));


Transferred from the Adobe Open Source Subversion Repository

Revision: 49
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-20T07:13:13.004813Z

Log Message:
-----------
Perforce Change 191601 by aharui@aharui-pc2 on 2007/12/20 02:11:57 use ISystemManager instead of SystemManager in a couple of other places Bugs: SDK-14044 QA: Doc:

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>

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

--- frameworks/projects/framework/src/mx/managers/SystemManager.as
+++ frameworks/projects/framework/src/mx/managers/SystemManager.as
@@ -2075,13 +2075,13 @@

 		for (var p:* in allSystemManagers)
 		{
-			var sm:SystemManager = p as SystemManager;
+			var sm:ISystemManager = p as ISystemManager;
 			var domain:ApplicationDomain = sm.loaderInfo.applicationDomain;
 			try
 			{
 				var cls:Class = Class(domain.getDefinition(className));
 				if (object is cls)
-					return sm;
+					return sm as DisplayObject;
 			}
 			catch(e:Error)
 			{


Transferred from the Adobe Open Source Subversion Repository

Revision: 4037
Author:   egeorgie@adobe.com
Date:     2008-11-07T01:36:44.934217Z

Log Message:
-----------
Fix bug http://bugs.adobe.com/jira/browse/FLEXDOCS-533 Gumbo Button lacks documentation and http://bugs.adobe.com/jira/browse/SDK-16487 Gumbo Button control has write-only enabled property and read-only isEnabled property

Update documentation, add onClick protected method and remove click event handler from toggle button, rename the FxButton state properties and make them protected.

QE Notes: Test clicking and click event handlers on FxButton and FxToggleButton
Doc Notes: None
Bugs: SDK-16487 FLEXDOCS-533
Reviewer: Ryan
tests: checkintests, Mustella (Button)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.as</path>

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

--- frameworks/projects/spark/src/spark/components/ToggleButton.as
+++ frameworks/projects/spark/src/spark/components/ToggleButton.as
@@ -66,8 +66,6 @@
     public function FxToggleButton()
     {
         super();
-
-        addEventListener(MouseEvent.CLICK, clickHandler);
     }

     // -----------------------------------------------------------------------
@@ -116,7 +114,7 @@
     //--------------------------------------------------------------------------

     /**
-     *  @inheritDoc
+     *  @private
      */
     protected override function getCurrentSkinState():String
     {
@@ -129,14 +127,10 @@
     /**
      *  @private
      */
-    protected function clickHandler(event:MouseEvent):void
+    override protected function onClick(event:MouseEvent):void
     {
-        // TODO EGeorgie: Currently we handle MouseEvent.CLICK in the base class
-        // where we call stopImmediatePropagation to prevent custom event listeners
-        // from being called when the button is disabled.
-        // Should we be using a second evnet handler and continue relying on that
-        // behavior in the subclasses, or should we have a single event hander
-        // in the base and override a method here instead?
+        super.onClick(event);
+
         selected = !selected;
         dispatchEvent(new Event(Event.CHANGE));
         event.updateAfterEvent();


tests

tests

--- testSrc/TestStream.as
+++ testSrc/TestStream.as
@@ -8,10 +8,16 @@
     import com.kemsky.impl.filters.eq;
     import com.kemsky.impl.filters.ge;
     import com.kemsky.impl.filters.gt;
+    import com.kemsky.impl.filters.le;
+    import com.kemsky.impl.filters.lt;
     import com.kemsky.impl.filters.prop;
     import com.kemsky.impl.filters.subtract;

+    import flash.utils.ByteArray;
+
     import flash.utils.Dictionary;
+
+    import flashx.textLayout.debug.assert;

     import mx.collections.ArrayCollection;
     import mx.logging.ILogger;
@@ -182,6 +188,42 @@
             var s:Stream = $("1", "2", "1").filter(eq("2"));
             assertEquals(s.first, "2");
             assertEquals(s.length, 1);
+
+            //todo
+        }
+
+        [Test]
+        public function testLe():void
+        {
+            var le1:Stream = $(1, 2, 3).filter(le(2));
+            assertEquals(le1.length, 2);
+            assertEquals(le1[0], 1);
+            assertEquals(le1[1], 2);
+        }
+
+        [Test]
+        public function testLt():void
+        {
+            var lt1:Stream = $(1, 2, 3).filter(lt(2));
+            assertEquals(lt1.length, 1);
+            assertEquals(lt1[1], 1);
+        }
+
+        [Test]
+        public function testGe():void
+        {
+            var ge1:Stream = $(1, 2, 3).filter(ge(2));
+            assertEquals(ge1.length, 2);
+            assertEquals(ge1[0], 2);
+            assertEquals(ge1[1], 3);
+        }
+
+        [Test]
+        public function testGt():void
+        {
+            var gt1:Stream = $(1, 2, 3).filter(gt(2));
+            assertEquals(gt1.length, 1);
+            assertEquals(gt1[1], 3);
         }

         [Test]
@@ -189,6 +231,16 @@
         {
             assertEquals($(1, 2).skip(1).first, 2);
             assertEquals($(1, 2).skip(1).length, 1);
+        }
+
+        [Test]
+        public function testTake():void
+        {
+            assertEquals($(1, 2).take(1, 1).first, 2);
+            assertEquals($(1, 2).take(1, 1).length, 1);
+
+            assertEquals($(1, 2).take(1).first, 1);
+            assertEquals($(1, 2).take(1).length, 1);
         }

         [Test]
@@ -368,5 +420,20 @@
                 index++;
             }
         }
+
+        [Test]
+        public function testSerialize():void
+        {
+            var s:Stream = $(1, 2, 3);
+            var b:ByteArray = new ByteArray();
+            b.writeObject(s);
+            b.position = 0;
+            var r:Stream = b.readObject();
+
+            for (var i:int = 0; i < s.length; i++)
+            {
+                assertEquals(s[i], r[i]);
+            }
+        }
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 18550
Author:   egeorgie@adobe.com
Date:     2010-11-12T00:59:06.859716Z

Log Message:
-----------
Add SkinnablePopUpContainer

- Add SkinnablePopUpContainer
- Add two new events on UIComponent - state transition complete & interrupted
- Switch ViewMenut to extend SkinnablePopUpContainer

QE notes: Testing can begin, do a pass on ViewMenu as well
Doc notes:
Bugs:
Reviewer: Corey, Jason
Tests run: manual
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/PopUpCloseEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewMenu.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuSkin.mxml</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorApplicationBase.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorApplicationBase.as
@@ -27,7 +27,6 @@
 import mx.events.FlexEvent;
 import mx.events.FlexMouseEvent;
 import mx.events.ResizeEvent;
-import mx.managers.PopUpManager;

 import spark.components.Application;
 import spark.components.View;
@@ -35,6 +34,7 @@
 import spark.components.ViewMenuItem;
 import spark.core.managers.IPersistenceManager;
 import spark.core.managers.PersistenceManager;
+import spark.events.PopUpCloseEvent;

 [Exclude(name="controlBarContent", kind="property")]
 [Exclude(name="controlBarGroup", kind="property")]
@@ -317,7 +317,6 @@
     //----------------------------------
     //  viewMenuOpen
     //----------------------------------
-    private var _viewMenuOpen:Boolean = false;

     /**
      *  Opens the view menu if set to true and closes it if set to false.
@@ -326,7 +325,7 @@
      */
     public function get viewMenuOpen():Boolean
     {
-        return _viewMenuOpen;
+        return currentViewMenu && currentViewMenu.opened;
     }

     /**
@@ -334,15 +333,13 @@
      */
     public function set viewMenuOpen(value:Boolean):void
     {
-        if (value == _viewMenuOpen)
+        if (value == viewMenuOpen)
             return;

         if (!viewMenu || !activeView.viewMenuItems || activeView.viewMenuItems.length == 0)
             return;

-        _viewMenuOpen = value;
-
-        if (_viewMenuOpen)
+        if (value)
             openViewMenu();
         else
             closeViewMenu();
@@ -593,31 +590,19 @@
             menuKeyHandler(event);
     }

-
-    /**
-     *  @private
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
+    /**
+     *  @private
      */
     private function orientationChangeHandler(event:StageOrientationEvent):void
     {
-        if (viewMenuOpen)
+        if (currentViewMenu)
         {
-            // Change the width
-            // Reposition
+            // Update size, the position stays at (0,0)
             currentViewMenu.width = getLayoutBoundsWidth();
-
-
-            currentViewMenu.validateNow();
-
-            currentViewMenu.x = 0;
-            currentViewMenu.y = Math.ceil(getLayoutBoundsHeight() - currentViewMenu.getLayoutBoundsHeight());
+            currentViewMenu.height = getLayoutBoundsHeight();
         }
     }
-
+
     /**
      *  @private
      */
@@ -638,62 +623,65 @@
     /**
      *  @private
      */
-    private function viewMenu_resizeHandler(event:ResizeEvent):void
-    {
-        // Reposition the view menu?
-        currentViewMenu.y = Math.ceil(getLayoutBoundsHeight() - currentViewMenu.getLayoutBoundsHeight());
-    }
-
-    /**
-     *  @private
-     */
     private function openViewMenu():void
     {
-        currentViewMenu = ViewMenu(viewMenu.newInstance());
-        currentViewMenu.items = activeView.viewMenuItems;
-        currentViewMenu.owner = this;
-        currentViewMenu.addEventListener(MouseEvent.CLICK, viewMenu_clickHandler);
-        currentViewMenu.width = getLayoutBoundsWidth();
-
-        PopUpManager.addPopUp(currentViewMenu, this, true);
-        // Force a layout pass so we can properly position the viewMenu
-        currentViewMenu.validateNow();
-
-        currentViewMenu.x = 0;
-        currentViewMenu.y = Math.ceil(getLayoutBoundsHeight() - currentViewMenu.getLayoutBoundsHeight());
-
-        lastFocus = getFocus();
-
-        currentViewMenu.setFocus();
-        currentViewMenu.addEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, viewMenu_mouseDownOutsideHandler);
-
-        // Listen for resize if the icon is loaded from disk or via URL
-        currentViewMenu.addEventListener(ResizeEvent.RESIZE, viewMenu_resizeHandler);
-
+        if (!currentViewMenu)
+        {
+            currentViewMenu = ViewMenu(viewMenu.newInstance());
+            currentViewMenu.items = activeView.viewMenuItems;
+
+            // Size the menu as big as the app
+            currentViewMenu.width = getLayoutBoundsWidth();
+            currentViewMenu.height = getLayoutBoundsHeight();
+
+            // Remember the focus, we'll restore it when the menu closes
+            lastFocus = getFocus();
+            currentViewMenu.setFocus();
+
+            currentViewMenu.addEventListener(MouseEvent.CLICK, viewMenu_clickHandler);
+            currentViewMenu.addEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, viewMenu_mouseDownOutsideHandler);
+            currentViewMenu.addEventListener(PopUpCloseEvent.CLOSE, viewMenuClose_handler);
+        }
+
+        currentViewMenu.open(this, false /*modal*/);
+
         // Private event for testing
         if (activeView.hasEventListener("viewMenuOpen"))
             activeView.dispatchEvent(new Event("viewMenuOpen"));
     }
-
+
     /**
      *  @private
      */
     private function closeViewMenu():void
     {
+        if (currentViewMenu)
+            currentViewMenu.close();
+    }
+
+    /**
+     *  @private
+     */
+    private function viewMenuClose_handler(event:PopUpCloseEvent):void
+    {
+        currentViewMenu.removeEventListener(PopUpCloseEvent.CLOSE, viewMenuClose_handler);
         currentViewMenu.removeEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, viewMenu_mouseDownOutsideHandler);
-        PopUpManager.removePopUp(currentViewMenu);
+        currentViewMenu.removeEventListener(MouseEvent.CLICK, viewMenu_clickHandler);

         // Private event for testing
         if (activeView.hasEventListener("viewMenuClose"))
             activeView.dispatchEvent(new Event("viewMenuClose"));

+        // Clear the caret and validate properties to put back the viewMenu items
+        // in their default state so that next time we open the menu we don't
+        // see an item in a stale "caret" state.
         currentViewMenu.caretIndex = -1;
         currentViewMenu.validateProperties();
-        currentViewMenu.removeEventListener(MouseEvent.CLICK, viewMenu_clickHandler);
-        currentViewMenu.removeEventListener(ResizeEvent.RESIZE, viewMenu_resizeHandler);
+
         currentViewMenu.items = null;
         currentViewMenu = null;

+        // Restore focus
         systemManager.stage.focus = lastFocus;
     }


Fixup.

Fixup.

git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@4067 542714f4-19e9-0310-aa3c-eee0fc999fb1