Uncomment out the Disjunctive Syllogism

Uncomment out the Disjunctive Syllogism

--- unittests/TestSuite1.as
+++ unittests/TestSuite1.as
@@ -7,7 +7,7 @@
 	public class TestSuite1
 	{
 		public var test1:unittests.TestArgumentSchemes;
-		//public var test2:unittests.TestDisjunctiveSyllogism;
+		public var test2:unittests.TestDisjunctiveSyllogism;
 		public var test3:unittests.TestEquivalence;
 	}
 }


Missed some stuff on categorypanel apparently

Should fix it.

--- Arguments/src/components/CategoryPanel.as
+++ Arguments/src/components/CategoryPanel.as
@@ -14,7 +14,7 @@
 	import classes.Language;

 	import components.AGORAMenu;
-	import components.TextWrapButton;
+

 	import flash.events.Event;
 	import flash.events.MouseEvent;
@@ -183,7 +183,11 @@

 		protected function onMapObjectClicked(event:MouseEvent):void{
-			ArgumentController.getInstance().loadMap(event.target.name);
+			ArgumentController.getInstance().loadMap(event.target.name);
+			FlexGlobals.topLevelApplication.rightSidePanel.mapOwner.text = "Feature Coming soon";
+			FlexGlobals.topLevelApplication.rightSidePanel.invalidateDisplayList();
+			ArgumentController.getInstance().loadMap(event.target.name);
+
 		}


joinColumns(): added option to specify an IKeyFilter instead of an Array

--- WeaveData/src/weave/utils/ColumnUtils.as
+++ WeaveData/src/weave/utils/ColumnUtils.as
@@ -349,30 +349,37 @@
 		 * @param columns A list of IAttributeColumns to compute a join table from.
 		 * @param dataType The dataType parameter to pass to IAttributeColumn.getValueFromKey().
 		 * @param allowMissingData If this is set to true, then all keys will be included in the join result.  Otherwise, only the keys that have associated values will be included.
-		 * @param keys A list of IQualifiedKey objects to use to filter the results.
+		 * @param keyFilter Either an IKeyFilter or an Array of IQualifiedKey objects used to filter the results.
 		 * @return An Array of Arrays, the first being IQualifiedKeys and the rest being Arrays data values from the given columns that correspond to the IQualifiedKeys.
 		 */
-		public static function joinColumns(columns:Array, dataType:Class = null, allowMissingData:Boolean = false, keys:Array = null):Array
-		{
+		public static function joinColumns(columns:Array, dataType:Class = null, allowMissingData:Boolean = false, keyFilter:Object = null):Array
+		{
+			var keys:Array;
 			var key:IQualifiedKey;
 			var column:IAttributeColumn;
-			// if no keys are specified, get the keys from the columns
-			if (keys == null)
-			{
-				// count the number of appearances of each key in each column
+			// if no keys are specified, get the keys from the columns
+			if (keyFilter is Array)
+			{
+				keys = (keyFilter as Array).concat(); // make a copy so we don't modify the original
+			}
+			else if (keyFilter is IKeySet)
+			{
+				keys = (keyFilter as IKeySet).keys.concat(); // make a copy so we don't modify the original
+			}
+			else
+			{
+				// count the number of appearances of each key in each column
 				var keyCounts:Dictionary = new Dictionary();
 				for each (column in columns)
 					for each (key in column.keys)
-						keyCounts[key] = int(keyCounts[key]) + 1;
-				// get a list of keys that appeared in every column
+						keyCounts[key] = int(keyCounts[key]) + 1;
+				// get a list of keys
 				keys = [];
-				for (var qkey:* in keyCounts)
-					if (allowMissingData || keyCounts[qkey] == columns.length)
-						keys.push(qkey);
-			}
-			else
-			{
-				keys = keys.concat(); // make a copy so we don't modify the original
+				var filter:IKeyFilter = keyFilter as IKeyFilter;
+				for (var qkey:* in keyCounts)
+					if (allowMissingData || keyCounts[qkey] == columns.length)
+						if (!filter || filter.containsKey(qkey))
+							keys.push(qkey);
 			}
 			// put the keys in the result
 			var result:Array = [keys];


Transferred from the Adobe Open Source Subversion Repository

Revision: 7163
Author:   aharui@adobe.com
Date:     2009-05-21T02:19:55.813792Z

Log Message:
-----------
Initial checkin of frame 1 cleanup.  In an RSL linkage, more classes will now come from the RSL because they are no longer needed in frame 1, and the size of the application SWF will be smaller.

QE Notes: None
Doc Notes: Maybe.  All new classes should be undocumented, but it might be worth checking that and any changes to interfaces
Bugs:
Reviewer: darrell
tests: checkintests mustella/MarshallPlan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/RSLEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/MarshalPopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IEmbeddedFontRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFont.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<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/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ResourceModuleRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeProvider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IMarshalSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/EventListenerRequest.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/ToolTipManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/mustella/MustellaResultsParser.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ChildManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallPlan.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/SWFBridgeGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/alertClasses/AlertForm.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/DragManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IActiveWindowManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/PopUpManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/messaging/config/LoaderConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManagerChildManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/CursorManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as</path>

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

--- frameworks/projects/mx/src/mx/controls/Menu.as
+++ frameworks/projects/mx/src/mx/controls/Menu.as
@@ -55,6 +55,7 @@
 import mx.events.ListEvent;
 import mx.events.SandboxMouseEvent;
 import mx.events.MenuEvent;
+import mx.managers.IActiveWindowManager;
 import mx.managers.IFocusManagerContainer;
 import mx.managers.ISystemManager;
 import mx.managers.PopUpManager;
@@ -1619,7 +1620,9 @@
         getRootMenu().dispatchEvent(menuEvent);

         // Activate the focus manager for that menu
-        systemManager.activate(this);
+		var awm:IActiveWindowManager =
+			IActiveWindowManager(systemManager.getImplementation("mx.managers::IActiveWindowManager"));
+        awm.activate(this);

         // Position it
         if (xShow !== null && !isNaN(Number(xShow)))
@@ -1637,16 +1640,7 @@
             var pt:Point = new Point(x, y);
             pt = sbRoot.localToGlobal(pt);

-            if (sm != sbRoot)
-            {
-                var request:InterManagerRequest = new InterManagerRequest(InterManagerRequest.SYSTEM_MANAGER_REQUEST,
-                                        false, false,
-                                        "getVisibleApplicationRect");
-                sbRoot.dispatchEvent(request);
-                screen = Rectangle(request.value);
-            }
-            else
-                screen = sm.getVisibleApplicationRect();
+            screen = sm.getVisibleApplicationRect();

             var shift:Number = pt.x + width - screen.right;
             if (shift > 0)


Transferred from the Adobe Open Source Subversion Repository

Revision: 18476
Author:   rfrishbe@adobe.com
Date:     2010-11-05T19:24:22.345498Z

Log Message:
-----------
Adding a "down" state for item renderers when in touch interaction mode.  This means item renderers don't go in to the "selected" state when someone presses down on them.  They first go in to the "down" state.  If the user later starts scrolling or moving around, the item renderer returns to the "normal" state.  If they press down and release up on the same item, the item renderer will go from the "down" state to the "selected" state.  This distinction is necessary on touch devices to distinguish between "down" and "selected".  There's also a new "selectedAndDown" state.

Adding ItemRendererInterationStateDetector as a helper class for item renderer to help detect when they are indeed hovered or pressed down.

QE notes:
Doc notes:
Bugs: SDK-27674, SDK-28110
Reviewer: Eric Day
Tests run: checkintests, full mustella run, QA cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRendererInteractionStateDetector.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/defaults.css</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -974,7 +974,7 @@
             if (renderer is ItemRenderer)
                 ItemRenderer(renderer).playTransitions = true;

-            itemSelected(itemIndex, shouldItemAppearSelected(itemIndex));
+            itemSelected(itemIndex, isItemIndexSelected(itemIndex));
         }
         else
         {
@@ -983,7 +983,7 @@
             if (renderer is ItemRenderer)
                 ItemRenderer(renderer).playTransitions = allowSelectionTransitions;

-            itemSelected(itemIndex, shouldItemAppearSelected(itemIndex));
+            itemSelected(itemIndex, isItemIndexSelected(itemIndex));

             // deal with transitions for caret appropriately
             if (renderer is ItemRenderer)
@@ -1100,19 +1100,6 @@
     mx_internal function isItemIndexSelected(index:int):Boolean
     {
         return index == selectedIndex;
-    }
-
-    /**
-     *  @private
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    mx_internal function shouldItemAppearSelected(index:int):Boolean
-    {
-        return isItemIndexSelected(index);
     }

     /**


function renaming for sake of clarity

function renaming for sake of clarity

--- src/org/mangui/HLS/streaming/ManifestLoader.as
+++ src/org/mangui/HLS/streaming/ManifestLoader.as
@@ -15,7 +15,7 @@

         /** Reference to the hls framework controller. **/
         private var _hls:HLS;
-        /** Array with levels. **/
+        /** levels vector. **/
         private var _levels:Vector.<Level>;
         /** Object that fetches the manifest. **/
         private var _urlloader:URLLoader;
@@ -55,7 +55,7 @@
                 txt = "Cannot load M3U8: crossdomain access denied:" + error.text;
             } else if (event is IOErrorEvent && _levels.length) {
                 Log.warn("I/O Error while trying to load Playlist, retry in 2s");
-                _timeoutID = setTimeout(_loadPlaylist,2000);
+                _timeoutID = setTimeout(_loadActiveLevelPlaylist,2000);
             } else {
                txt = "Cannot load M3U8: "+event.text;
             }
@@ -92,7 +92,7 @@
         };

         /** parse a playlist **/
-        private function _parsePlaylist(string:String,url:String,index:Number):void {
+        private function _parseLevelPlaylist(string:String,url:String,index:Number):void {
             if(string != null && string.length != 0) {
                Log.debug("level "+ index + " playlist:\n" + string);
                var frags:Vector.<Fragment> = Manifest.getFragments(string,url);
@@ -109,7 +109,7 @@
                 _type = HLSTypes.LIVE;
                 var timeout:Number = Math.max(100,_reload_playlists_timer + 1000*_levels[index].averageduration - getTimer());
                 Log.debug("Level " + index + " Live Playlist parsing finished: reload in " + timeout.toFixed(0) + " ms");
-                _timeoutID = setTimeout(_loadPlaylist,timeout);
+                _timeoutID = setTimeout(_loadActiveLevelPlaylist,timeout);
             }
             if (!_canStart) {
                _canStart = (_levels[index].fragments.length > 0);
@@ -132,12 +132,12 @@
                     level.url = _url;
                     _levels.push(level);
                     Log.debug("1 Level Playlist, load it");
-                    _parsePlaylist(string,_url,0);
+                    _parseLevelPlaylist(string,_url,0);
                 } else if(string.indexOf(Manifest.LEVEL) > 0) {
                   Log.debug("adaptive playlist:\n" + string);
                   //adaptative playlist, extract levels from playlist, get them and parse them
                   _levels = Manifest.extractLevels(string,_url);
-                  _loadPlaylist();
+                  _loadActiveLevelPlaylist();
                 }
             } else {
                 var message:String = "Manifest is not a valid M3U8 file" + _url;
@@ -146,11 +146,11 @@
         };

         /** load/reload active M3U8 playlist **/
-        private function _loadPlaylist():void {
+        private function _loadActiveLevelPlaylist():void {
             _load_in_progress = true;
             _reload_playlists_timer = getTimer();
             // load active M3U8 playlist only
-            new Manifest().loadPlaylist(_levels[_current_level].url,_parsePlaylist,_errorHandler,_current_level,_type);
+            new Manifest().loadPlaylist(_levels[_current_level].url,_parseLevelPlaylist,_errorHandler,_current_level,_type);
         };

         /** When level switch occurs, assess the need of (re)loading new level playlist **/
@@ -159,7 +159,7 @@
             if(_load_in_progress == false && (_type == HLSTypes.LIVE || _levels[_current_level].fragments.length == 0)) {
               Log.debug("switch to level "+ _current_level + ", load Playlist");
               clearTimeout(_timeoutID);
-              _timeoutID = setTimeout(_loadPlaylist,0);
+              _timeoutID = setTimeout(_loadActiveLevelPlaylist,0);
             }
         };


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

--- frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBase.as
+++ frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBase.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.controls.listClasses


Transferred from the Adobe Open Source Subversion Repository

Revision: 19582
Author:   cframpto@adobe.com
Date:     2011-01-04T18:54:36.337306Z

Log Message:
-----------
DropDownListBase: add override for isOurFocus to include openButton
EmphasizedButtonSkin.mxml: added missing states
Path.as: Objects drawn in shared display objects are drawn at x,y rather than 0,0 so need to move the strokeBounds if sharing.
DropDownController.as: minimal changes to check for openButton before accessing it

QE notes:
Doc notes:
Bugs: SDK-28373, SDK-27332, SDK-27050, SDK-22719
Reviewer: Jason
Tests run: cyclone
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/src/mx/skins/wireframe/EmphasizedButtonSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/Path.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as
@@ -494,6 +494,15 @@
         if (DropDownListBase.createAccessibilityImplementation != null)
             DropDownListBase.createAccessibilityImplementation(this);
     }
+
+	/**
+	 *  @private
+	 */
+	override protected function isOurFocus(target:DisplayObject):Boolean
+	{
+		return (openButton && target == openButton) || super.isOurFocus(target);
+	}
+
     /**
      *  @private
      */


Added todo regarding expression evaluation to parser

--- src/laml/xml/LAMLParser.as
+++ src/laml/xml/LAMLParser.as
@@ -101,9 +101,10 @@
 			}
 		}

+		// TODO: This should actually be done as a second/final pass - after all nodes have been otherwise resolved.
+		// currently, the text node ordering will prevent references to nodes that appear later in the document.
 		private function renderAttributeExpression(name:String, value:String, instance:Object):Object {
 			try {
-				trace("render attr:", name);
 				var parts:Array = value.split('.');
 				var tmp:Object = this.context;
 				while(parts.length > 0) {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12060
Author:   aharui@adobe.com
Date:     2009-11-20T20:12:21.522473Z

Log Message:
-----------
Fix dependency issues

QE Notes: None
Doc Notes: None
Bugs: SDK-24353, SDK-24354
Reviewer: Corey
API Change: No
Is noteworthy for integration: No
tests: checkintests mustella/gumbo/components/DropDownList

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -26,7 +26,7 @@
 import mx.core.UIComponent;
 import mx.events.PropertyChangeEvent;

-import spark.utils.TextUtil;
+import spark.utils.FTETextUtil;

 use namespace mx_internal;

@@ -255,7 +255,7 @@
         // At the crossover height, these two calculations
         // produce the same result.

-        return TextUtil.calculateFontBaseline(this, height, moduleFactory);
+        return FTETextUtil.calculateFontBaseline(this, height, moduleFactory);
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 22879
Author:   aaltman@adobe.com
Date:     2011-10-06T00:13:18.152268Z

Log Message:
-----------
Fixed leaked StageText when popups fade out
Leak introduced in revision 22872

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

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
@@ -2677,7 +2677,7 @@

     private function addedToStageHandler(event:Event):void
     {
-        if (numEffectsRunning > 0)
+        if (viewTransitionRunning)
         {
             removedDuringTransition = false;
             return;
@@ -2763,7 +2763,7 @@

     private function removedFromStageHandler(event:Event):void
     {
-        if (numEffectsRunning > 0)
+        if (viewTransitionRunning)
         {
             removedDuringTransition = true;
             return;


Fixed a bug in the JS snippet used to test wmode on Linux that was preventing custom cursors from ever being used.

--- WeaveUISpark/src/weave/utils/CustomCursorManager.as
+++ WeaveUISpark/src/weave/utils/CustomCursorManager.as
@@ -15,28 +15,28 @@

     You should have received a copy of the GNU General Public License
     along with Weave.  If not, see <http://www.gnu.org/licenses/>.
-*/
-package weave.utils
-{
-	import flash.display.BitmapData;
-	import flash.external.ExternalInterface;
-	import flash.geom.Point;
-	import flash.system.Capabilities;
-	import flash.ui.Mouse;
-	import flash.ui.MouseCursor;
-	import flash.ui.MouseCursorData;
-
-	import mx.core.BitmapAsset;
-
+*/
+package weave.utils
+{
+	import flash.display.BitmapData;
+	import flash.external.ExternalInterface;
+	import flash.geom.Point;
+	import flash.system.Capabilities;
+	import flash.ui.Mouse;
+	import flash.ui.MouseCursor;
+	import flash.ui.MouseCursorData;
+
+	import mx.core.BitmapAsset;
+
 	import weave.api.WeaveAPI;

-	/**
+	/**
 	 * Easy interface for using native cursors.
-	 *
+	 *
 	 * @author skolman
-	 * @author adufilie
-	 */
-	public class CustomCursorManager
+	 * @author adufilie
+	 */
+	public class CustomCursorManager
 	{
 		public static var debug:Boolean = false;

@@ -52,16 +52,16 @@
 						'function(){ try{' +
 							WeaveAPI.JS_var_weave +
 							'return weave.children.wmode.value != "transparent";' +
-						'} catch (e) { return true; }'
+						'} catch (e) { return true; }}'
 					);
 				}
 				_initialized = true;
 			}
 			return _customCursorsSupported;
 		}
-
-		/**
-		 * This will register an embedded cursor.
+
+		/**
+		 * This will register an embedded cursor.
 		 * To embed a cursor in your own class, follow this example:
 		 * <code>
 		 *    public static const MY_CURSOR:String = "myCursor";
@@ -69,11 +69,11 @@
 		 *    private static var myCursor:Class;
 		 *    CustomCursorManager.registerEmbeddedCursor(MY_CURSOR, myCursor, 0, 0);
 		 * </code>
-		 * @param cursorName A name for the cursor.
-		 * @param bitmapAsset The Class containing the embedded cursor image.
-		 * @param xHotSpot The X coordinate of the hot spot.  Set to NaN to use the center X coordinate.
-		 * @param yHotSpot The Y coordinate of the hot spot.  Set to NaN to use the center Y coordinate.
-		 */
+		 * @param cursorName A name for the cursor.
+		 * @param bitmapAsset The Class containing the embedded cursor image.
+		 * @param xHotSpot The X coordinate of the hot spot.  Set to NaN to use the center X coordinate.
+		 * @param yHotSpot The Y coordinate of the hot spot.  Set to NaN to use the center Y coordinate.
+		 */
         public static function registerEmbeddedCursor(name:String, bitmapAssetClass:Class, xHotSpot:Number, yHotSpot:Number):void
 		{
 			var asset:BitmapAsset = new bitmapAssetClass() as BitmapAsset;
@@ -98,7 +98,7 @@
 			cursorData.hotSpot = new Point(xHotSpot, yHotSpot);
 			Mouse.registerCursor(cursorName, cursorData);
 		}
-
+
         private static var idCounter:int = 0; // used to generate unique IDs for cursors
 		private static const cursorStack:Array = []; // keeps track of previously shown cursors

@@ -107,15 +107,15 @@
 		 * Look at the static String constants to get all the types of available cursors.
 		 * @param name The name of a registered cursor.
 		 * @return An id mapped to the cursor that can be passed to removeCursor() later.
-		 * */
-		public static function showCursor(name:String):int
+		 * */
+		public static function showCursor(name:String):int
 		{
 			if (!name)
-				throw new Error("cursor name cannot be null");
+				throw new Error("cursor name cannot be null");
 			cursorStack.push(new CursorEntry(idCounter, name));
 			updateCursor();
-			return idCounter++; // increment for next time
-		}
+			return idCounter++; // increment for next time
+		}

 		/**
 		 * Removes a cursor previously shown.
@@ -134,9 +134,9 @@
 			}
 		}

-		/**
-		 * This function should always be called after modifying the cursor stack.
-		 */
+		/**
+		 * This function should always be called after modifying the cursor stack.
+		 */
 		private static function updateCursor():void
 		{
 			if (cursorStack.length > 0)
@@ -161,30 +161,30 @@
 		///////////
 		// hacks //
 		///////////
-
-		/**
-		 * @private
-		 * @TODO Stop using this function and remove it.
-		 */
-		public static function hack_removeCurrentCursor():void
-		{
+
+		/**
+		 * @private
+		 * @TODO Stop using this function and remove it.
+		 */
+		public static function hack_removeCurrentCursor():void
+		{
 			if (cursorStack.length == 0)
 				return;

 			cursorStack.pop();
 			updateCursor();
 		}
-
-		/**
-		 * @private
-		 * @TODO Stop using this function and remove it.
-		 */
-		public static function hack_removeAllCursors():void
-		{
+
+		/**
+		 * @private
+		 * @TODO Stop using this function and remove it.
+		 */
+		public static function hack_removeAllCursors():void
+		{
 			cursorStack.length = 0;
 			updateCursor();
-		}
-	}
+		}
+	}
 }
 import flash.ui.MouseCursor;


Restricting decoding only to understood Oids.

--- driver/src/main/flex/org/postgresql/codec/decode/DateOut.as
+++ driver/src/main/flex/org/postgresql/codec/decode/DateOut.as
@@ -1,5 +1,6 @@
 package org.postgresql.codec.decode {

+    import org.postgresql.Oid;
     import org.postgresql.DateStyle;
     import org.postgresql.EncodingFormat;
     import org.postgresql.codec.IPGTypeDecoder;
@@ -14,22 +15,29 @@
         public function decode(bytes:ICDataInput, format:IFieldInfo, serverParams:Object):Object {
             switch (format.format) {
                 case EncodingFormat.TEXT:
-                    if (!('DateStyle' in serverParams)) {
-                        throw new ArgumentError("No DateStyle specified");
-                    }
-                    var outputStyle:String = DateStyle.getOutputFormat(serverParams['DateStyle']);
-                    if (outputStyle != DateStyle.OUTPUT_ISO) {
-                        throw new ArgumentError("Unsupported output DateStyle: " + outputStyle);
-                    }
-                    var dateStr:String = bytes.readUTFBytes(bytes.bytesAvailable);
-                    // Unfortunately, ActionScript does not have infinite dates: this is probably
-                    // a reasonable workaround for the moment
-                    if (dateStr == 'infinity') {
-                        return new Date(DateUtil.MAX_DATE_TICKS);
-                    } else if (dateStr == '-infinity') {
-                        return new Date(DateUtil.MIN_DATE_TICKS);
-                    } else {
-                        return parseISO(dateStr);
+                    switch (format.typeOid) {
+                        case Oid.TIMESTAMP:
+                        case Oid.TIMESTAMPTZ:
+                            if (!('DateStyle' in serverParams)) {
+                                throw new ArgumentError("No DateStyle specified");
+                            }
+                            var outputStyle:String = DateStyle.getOutputFormat(serverParams['DateStyle']);
+                            if (outputStyle != DateStyle.OUTPUT_ISO) {
+                                throw new ArgumentError("Unsupported output DateStyle: " + outputStyle);
+                            }
+                            var dateStr:String = bytes.readUTFBytes(bytes.bytesAvailable);
+                            // Unfortunately, ActionScript does not have infinite dates: this is probably
+                            // a reasonable workaround for the moment
+                            if (dateStr == 'infinity') {
+                                return new Date(DateUtil.MAX_DATE_TICKS);
+                            } else if (dateStr == '-infinity') {
+                                return new Date(DateUtil.MIN_DATE_TICKS);
+                            } else {
+                                return parseISO(dateStr);
+                            }
+                            break;
+                        default:
+                            throw new ArgumentError("Unable to decode oid: " + format.typeOid);
                     }
                 case EncodingFormat.BINARY:
                     // TODO: implement me. on the wire, the value here depends on


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

--- frameworks/projects/framework/src/mx/core/RSLData.as
+++ frameworks/projects/framework/src/mx/core/RSLData.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2010 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//  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: 5099
Author:   gauravj@adobe.com
Date:     2009-02-27T03:43:02.639229Z

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

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

Modified Paths:
--------------
147 paths were modified

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

--- frameworks/projects/rpc/src/mx/rpc/soap/LoadEvent.as
+++ frameworks/projects/rpc/src/mx/rpc/soap/LoadEvent.as
@@ -22,6 +22,11 @@

 /**
  * This event is dispatched when a WSDL XML document has loaded successfully.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class LoadEvent extends WSDLLoadEvent
 {
@@ -32,6 +37,11 @@
      * @param cancelable Specifies whether the behavior associated with the event can be prevented.
      * @param wsdl Object that contains the WSDL document.
      * @param location URL of the WSDL document.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function LoadEvent(type:String, bubbles:Boolean = false,
         cancelable:Boolean = true, wsdl:WSDL = null, location:String = null)
@@ -47,6 +57,11 @@
     /**
      * This getter is retained to provide legacy access to the loaded document
      * as an instance of flash.xml.XMLDocument.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get document():XMLDocument
     {
@@ -67,6 +82,11 @@
      * Returns a copy of this LoadEvent.
      *
      * @return Returns a copy of this LoadEvent.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function clone():Event
     {
@@ -77,6 +97,11 @@
      * Returns a String representation of this LoadEvent.
      *
      * @return Returns a String representation of this LoadEvent.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function toString():String
     {
@@ -108,6 +133,11 @@
     *  </table>
     *
     *  @eventType load
+    *
+    *  @langversion 3.0
+    *  @playerversion Flash 9
+    *  @playerversion AIR 1.1
+    *  @productversion Flex 3
     */
     public static const LOAD:String = "load";


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

--- frameworks/projects/advancedgrids/src/mx/olap/OLAPMember.as
+++ frameworks/projects/advancedgrids/src/mx/olap/OLAPMember.as
@@ -0,0 +1,365 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.olap
+{
+
+import flash.utils.Dictionary;
+
+import mx.collections.ArrayCollection;
+import mx.collections.IList;
+import mx.core.mx_internal;
+
+/**
+ *  The OLAPMember class represents a member of an OLAP dimension.
+ *
+ *  @mxml
+ *

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

+ *

+ *  <mx:OLAPMember
+ *    Properties
+ *  />
+ *
+ *  @see mx.olap.IOLAPMember
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class OLAPMember extends OLAPElement implements IOLAPMember
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor
+     *
+     *  @param name The name of the OLAP element that includes the OLAP schema hierarchy of the element.
+     *  For example, "Time_Year", where "Year" is a level of the "Time" dimension in an OLAP schema.
+     *
+     *  @param displayName The name of the OLAP member, as a String, which can be used for display.
+     *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function OLAPMember(name:String=null, displayName:String=null)
+    {
+        OLAPTrace.traceMsg("Creating member: " + name, OLAPTrace.TRACE_LEVEL_3);
+        super(name, displayName);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  A child members map based on their name
+	 */
+    private var _childrenMap:Dictionary = new Dictionary(true);
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    // dimension
+    //----------------------------------
+
+    /**
+     *  The dimension to which this member belongs.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    override public function get dimension():IOLAPDimension
+    {
+        if (level && level.hierarchy)
+            return level.hierarchy.dimension;
+        return null;
+    }
+
+    //----------------------------------
+    // uniqueName
+    //----------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    override public function get uniqueName():String
+    {
+        var list:Array = [];
+        list.push(this);
+
+        var parent:IOLAPMember = this.parent;
+
+        // if the member is from a OLAPAttribute then
+        // we only need to push the hierarchy name
+        if (hierarchy is OLAPAttribute)
+        {
+            list.push(hierarchy);
+        }
+        else
+        {
+            // if the member is from a OLAPHierarchy then we need to traverse
+            // its parents till we reach the top level.
+            while (parent && parent.parent)
+            {
+                list.push(parent);
+                parent = parent.parent;
+            }
+            list.push(hierarchy.levels.getItemAt(0));
+            list.push(hierarchy);
+        }
+
+        list.push(dimension);
+
+        var uName:String = "";
+        var n:int = list.length;
+        for (var i:int = n - 1; i > -1; --i)
+            uName += "[" + list[i].name + "].";
+        uName = uName.substring(0, uName.length-1);
+        return uName;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    // children
+    //----------------------------------
+
+    private var _children:IList = new ArrayCollection;
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get children():IList
+    {
+        return _children;
+    }
+
+    //----------------------------------
+    // dataField
+    //----------------------------------
+
+    private var _dataField:String;
+
+    /**
+     *  The field of the input data set that provides
+     *  the data for this OLAPMember instance.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get dataField():String
+    {
+        return _dataField;
+    }
+
+    /**
+     *  @private
+     */
+    public function set dataField(field:String):void
+    {
+        _dataField = field;
+    }
+
+    //----------------------------------
+    // hierarchy
+    //----------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get hierarchy():IOLAPHierarchy
+    {
+        return level.hierarchy;
+    }
+
+    //----------------------------------
+    // isAll
+    //----------------------------------
+
+    private var _all:Boolean = false;
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get isAll():Boolean
+    {
+        return _all;
+    }
+
+    //----------------------------------
+    // isMeasure
+    //----------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get isMeasure():Boolean
+    {
+        return false;
+    }
+
+    //----------------------------------
+    // level
+    //----------------------------------
+
+    private var _level:IOLAPLevel;
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get level():IOLAPLevel
+    {
+        return _level;
+    }
+
+    /**
+     *  @private
+     */
+    public function set level(level:IOLAPLevel):void
+    {
+        _level = level;
+    }
+
+    //----------------------------------
+    // parent
+    //----------------------------------
+
+    private var _parent:IOLAPMember;
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get parent():IOLAPMember
+    {
+        return _parent;
+    }
+
+    /**
+     *  @private
+     */
+    public function set parent(p:IOLAPMember):void
+    {
+        _parent = p;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function findChildMember(name:String):IOLAPMember
+    {
+        return _childrenMap[name];
+    }
+
+    /**
+     *  Sets this member as the all member.
+     *  By default, the member is not the all member.
+     *
+     *  @param value true to make this member the all member.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    mx_internal function setIsAll(value:Boolean):void
+    {
+        _all = value;
+    }
+
+    /**
+     *  @private
+     *
+     *  Adds a child member to this member.
+     *
+     *  @param m The child member to add.
+     */
+    mx_internal function addChild(m:IOLAPMember):void
+    {
+        _children.addItem(m);
+        _childrenMap[m.name] = m;
+    }
+}
+
+}


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

--- frameworks/projects/airframework/src/AIRFrameworkClasses.as
+++ frameworks/projects/airframework/src/AIRFrameworkClasses.as
@@ -0,0 +1,33 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package
+{
+
+/**
+ *  @private
+ *  This class is used to link additional classes into airframework.swc
+ *  beyond those that are found by dependecy analysis starting
+ *  from the classes specified in manifest.xml.
+ */
+internal class AIRFrameworkClasses
+{
+	import mx.managers.NativeDragManagerImpl; NativeDragManagerImpl;
+	import mx.skins.halo.StatusBarBackgroundSkin; StatusBarBackgroundSkin;
+	import mx.skins.halo.WindowBackground; WindowBackground
+	import mx.skins.halo.ApplicationTitleBarBackgroundSkin; ApplicationTitleBarBackgroundSkin;
+	import mx.skins.halo.WindowCloseButtonSkin; WindowCloseButtonSkin;
+	import mx.skins.halo.WindowMinimizeButtonSkin; WindowMinimizeButtonSkin;
+	import mx.skins.halo.WindowMaximizeButtonSkin; WindowMaximizeButtonSkin;
+	import mx.skins.halo.WindowRestoreButtonSkin; WindowRestoreButtonSkin;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 11675
Author:   hmuller@adobe.com
Date:     2009-11-12T00:25:39.300334Z

Log Message:
-----------
Added minValue,maxValue,etc Style/Inspectable metadata tags for tools.

QE notes:
Doc notes:
Bugs: sdk-24100
Reviewer: Glenn
Tests run:
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.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/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.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/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.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/spark/src/spark/primitives/VideoElement.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/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/BasicNonInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientEntry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextInput.as
+++ frameworks/projects/spark/src/spark/components/TextInput.as
@@ -271,6 +271,8 @@
     //----------------------------------
     //  widthInChars
     //----------------------------------
+
+    [Inspectable(minValue="0.0")]

     /**
      *  The default width of the control, measured in em units.


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/spark/src/spark/effects/AnimateColor.as
+++ frameworks/projects/spark/src/spark/effects/AnimateColor.as
@@ -18,6 +18,8 @@
 /**
  * This effect animates a change in color over time, interpolating
  * between given from/to color values on a per-channel basis.
+ *
+ *  @includeExample examples/FxAnimateColorEffectExample.mxml
  */
 public class FxAnimateColor extends FxAnimate
 {


Allow to be used without a command.
Alternatively, I could create a DataComboBox that just does the cool
'data' stuff, and have CommandComboBox extend that.
Comment cleanups.

git-svn-id: b675b909355d5cf946977f44a8ec5a6ceb3782e4@746 ed5b42cb-e716-0410-a449-f6a68f950b19

--- src/as/com/threerings/flex/CommandComboBox.as
+++ src/as/com/threerings/flex/CommandComboBox.as
@@ -30,16 +30,15 @@
 import com.threerings.util.Util;

 /**
- * A combo box that dispatches a command (or calls a function) when it is toggled. NOTE: Unlike the
- * other Command* controls, CommandComboBox does not guarantee that the CommandEvent is dispatched
- * after notifying all other listeners.
+ * A combo box that dispatches a command (or calls a callback) when an item is selected.
+ * The argument will be the 'data' value of the selected item.
+ * NOTE: Unlike the other Command* controls, CommandComboBox allows a null cmd/callback
+ * to be specified.
  */
 public class CommandComboBox extends ComboBox
 {
-    /**
-     * The field of the selectedItem object used as the argument to the
-     * command or function. If null, the entire selectedItem is passed as the argument.
-     */
+    /** The field of the selectedItem object used as the 'data'. If this property is null,
+     * then the item is the data. */
     public var dataField :String = "data";

     /**
@@ -103,12 +102,12 @@
      */
     protected function itemToData (item :Object) :Object
     {
-        return (dataField == null) ? item : ((item == null) ? null : item[dataField]);
+        return (item == null || dataField == null) ? item : item[dataField];
     }

     protected function handleChange (event :ListEvent) :void
     {
-        if (this.selectedIndex != -1) {
+        if (_cmdOrFn != null && this.selectedIndex != -1) {
             CommandEvent.dispatch(this, _cmdOrFn, selectedData);
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3563
Author:   jimurphy@adobe.com
Date:     2008-10-10T13:41:29.904903Z

Log Message:
-----------
Merged 3.0.x revisions 3421,3427,3442,3455,3457,3474,3477,3493,3500,3503,3513,3520,3531,3544 -> trunk
Integrate:
player 10.0.r12.036
lcds: 4.0.0.3542
coretech: 1.360354

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/DLocation.java</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/LoaderUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/rideau.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/RSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/tcal_conversion.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/tcal_edit.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/player/10/playerglobal.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/tcal_core.swc</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/flashplayer.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/install_flash_player_10_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/libflashplayer.so.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/FlashPlayer.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Flash Player.app.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/afe.jar</path>

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

--- frameworks/projects/mx/src/mx/controls/ComboBox.as
+++ frameworks/projects/mx/src/mx/controls/ComboBox.as
@@ -1707,7 +1707,8 @@
                 // Special case: Empty dataProvider.
                 if (!selectedIndexChanged && !selectedItemChanged)
                 {
-                    super.selectedIndex = -1;
+                	if (super.selectedIndex != -1)
+                    	super.selectedIndex = -1;
                     implicitSelectedIndex = true;
                     invalidateDisplayList();
                 }


Fix specular when normal map is set manually inside the shader

--- src/aerys/minko/render/shader/part/phong/PhongShaderPart.as
+++ src/aerys/minko/render/shader/part/phong/PhongShaderPart.as
@@ -43,6 +43,7 @@
 		private var _varianceShadowMapAttenuation	: VarianceShadowMapAttenuationShaderPart;
 		private var _exponentialShadowMapAttenuation: ExponentialShadowMapAttenuationShaderPart;

+
 		private function get infinitePart() : InfiniteShaderPart
 		{
 			_infinitePart ||= new InfiniteShaderPart(main);
@@ -509,7 +510,14 @@
 				);

 				if (normal)
-					return infinitePart.computeSpecularInWorldSpace(lightId, normal);
+				{
+					infinitePart.customNormal = normal;
+
+					return normalMappingType != NormalMappingType.NONE
+						? infinitePart.computeSpecularInTangentSpace(lightId)
+						: infinitePart.computeSpecularInWorldSpace(lightId, normal);
+
+				}
 				else
 					return normalMappingType != NormalMappingType.NONE
 						? infinitePart.computeSpecularInTangentSpace(lightId)


Add optional param to deactivate bindings on `stop()`.

--- src/com/zehfernando/input/binding/KeyActionBinder.as
+++ src/com/zehfernando/input/binding/KeyActionBinder.as
@@ -641,6 +641,9 @@
 		/**
 		 * Stops listening for input events.
 		 *
+		 * @param deactivateBindings	An optional flag to deactivate all bindings (i.e. release all controls)
+		 * 								without firing events.
+		 *
 		 *
Action bindings are not lost when a KeyActionBinder instance is stopped; it merely starts ignoring
 		 * all input events, until start() is called again.

 		 *
@@ -652,7 +655,7 @@
 		 * @see #isRunning
 		 * @see #start()
 		 */
-		public function stop():void {
+		public function stop(deactivateBindings:Boolean=false):void {
 			if (_isRunning) {
 				// Stops listening to keyboard events
 				stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyDown, false);
@@ -662,6 +665,14 @@
 				if (gameInput != null) {
 					gameInput.removeEventListener(GameInputEvent.DEVICE_ADDED, onGameInputDeviceAdded);
 					gameInput.removeEventListener(GameInputEvent.DEVICE_REMOVED, onGameInputDeviceRemoved);
+				}
+
+				if (deactivateBindings) {
+					for (var i:int = 0; i < bindings.length; i++) {
+						bindings[i].isActivated = false;
+						bindings[i].lastActivatedTime = 0;
+						(actionsActivations[bindings[i].action] as ActivationInfo).removeActivation(bindings[i]);
+					}
 				}

 				gameInputDevices.length = 0;


FLEX-16909 Flex-26073 FLEX-33504 Made date to string and string to date conversion more flexible

--- frameworks/projects/mx/src/mx/controls/DateField.as
+++ frameworks/projects/mx/src/mx/controls/DateField.as
@@ -432,7 +432,8 @@
      *  object corresponding to the String.
      *  The inputFormat argument contains the pattern
      *  in which the valueString String is formatted.
-     *  It can contain "M","D","Y",
+     *  It can contain "M","MM","D",
+	 *  "DD","YY","YYYY"
      *  and delimiter and punctuation characters.
      *
      *
The function does not check for the validity of the Date object.
@@ -456,56 +457,87 @@
      */
     public static function stringToDate(valueString:String, inputFormat:String):Date
     {
-        var mask:String
-        var temp:String;
-        var dateString:String = "";
-        var monthString:String = "";
-        var yearString:String = "";
-        var j:int = 0;
-
-        var n:int = inputFormat.length;
-        for (var i:int = 0; i < n; i++,j++)
-        {
-            temp = "" + valueString.charAt(j);
-            mask = "" + inputFormat.charAt(i);
-
-            if (mask == "M")
-            {
-                if (isNaN(Number(temp)) || temp == " ")
-                    j--;
-                else
-                    monthString += temp;
-            }
-            else if (mask == "D")
-            {
-                if (isNaN(Number(temp)) || temp == " ")
-                    j--;
-                else
-                    dateString += temp;
-            }
-            else if (mask == "Y")
-            {
-                yearString += temp;
-            }
-            else if (!isNaN(Number(temp)) && temp != " ")
-            {
-                return null;
-            }
-        }
-
-        temp = "" + valueString.charAt(inputFormat.length - i + j);
-        if (!(temp == "") && (temp != " "))
-            return null;
-
+        var maskChar:String
+		var dateChar:String;
+		var dateString:String;
+		var monthString:String;
+		var yearString:String;
+		var dateParts:Array = [];
+		var maskParts:Array = [];
+        var part:int = 0;
+		var length:int = valueString.length;
+
+		dateParts[part] = "";
+        for (var i:int = 0; i < length; i++)
+        {
+			dateChar = valueString.charAt(i);
+
+			if (isNaN(Number(dateChar)) || dateChar == " ")
+			{
+				part++;
+				dateParts[part] = dateChar;
+				part++;
+				dateParts[part] = "";
+			}
+			else {
+				dateParts[part] += dateChar;
+			}
+		}
+
+		length = inputFormat.length;
+		part = -1;
+		var lastChar:String;
+
+		for (i = 0; i < length; i++)
+		{
+			maskChar = inputFormat.charAt(i);
+
+			if (maskChar == "Y" || maskChar == "M" || maskChar == "D")
+			{
+				if (maskChar != lastChar)
+				{
+					part++;
+					maskParts[part] = "";
+				}
+				maskParts[part] += maskChar;
+			}
+			else {
+				part++;
+				maskParts[part] = maskChar;
+			}
+
+			lastChar = maskChar;
+		}
+
+		length = maskParts.length;
+		for (i = 0; i < length; i++) {
+			maskChar = maskParts[i].charAt(0);
+
+			if (maskChar == "D") {
+				dateString = dateParts[i];
+			}
+			else if (maskChar == "M") {
+				monthString = dateParts[i];
+			}
+			else if (maskChar == "Y") {
+				yearString = dateParts[i];
+			}
+		}
+
+		if (dateParts.length != maskParts.length)
+		{
+			return null;
+		}
+
+		var dayNum:Number = Number(dateString);
         var monthNum:Number = Number(monthString);
-        var dayNum:Number = Number(dateString);
         var yearNum:Number = Number(yearString);

         if (isNaN(yearNum) || isNaN(monthNum) || isNaN(dayNum))
             return null;

-        if (yearString.length == 2 && yearNum < 70)
-            yearNum+=2000;
+        if (yearString.length == 2)
+            yearNum += 2000;

         var newDate:Date = new Date(yearNum, monthNum - 1, dayNum);

@@ -519,7 +551,8 @@
      *  Formats a Date into a String according to the outputFormat argument.
      *  The outputFormat argument contains a pattern in which
      *  the value String is formatted.
-     *  It can contain "M","D","Y",
+     *  It can contain "M","MM","D",
+	 *  "DD","YY","YYYY"
      *  and delimiter and punctuation characters.
      *
      *  @param value Date value to format.
@@ -537,59 +570,75 @@
      */
     public static function dateToString(value:Date, outputFormat:String):String
     {
-        if (!value)
-            return "";
-
+		var maskChar:String;
+		var maskParts:Array = [];
+		var part:int = 0;
+		var length:int = outputFormat.length;
+
+		if (!value || isNaN(value.getTime()))
+			return "";
+
+		length = outputFormat.length;
+		part = -1;
+
+		var lastChar:String;
+
+		for (var i:int = 0; i < length; i++)
+		{
+			maskChar = outputFormat.charAt(i);
+
+			if (maskChar == "Y" || maskChar == "M" || maskChar == "D")
+			{
+				if (maskChar != lastChar)
+				{
+					part++;
+					maskParts[part] = "";
+				}
+				maskParts[part] += maskChar;
+			}
+			else {
+				part++;
+				maskParts[part] = maskChar;
+			}
+
+			lastChar = maskChar;
+		}
+
         var date:String = String(value.getDate());
-        if (date.length < 2)
-            date = "0" + date;
-
         var month:String = String(value.getMonth() + 1);
-        if (month.length < 2)
-            month = "0" + month;
-
         var year:String = String(value.getFullYear());

-        var output:String = "";
         var mask:String;
-
-        // outputFormat will be null if there are no resources.
-        var n:int = outputFormat != null ? outputFormat.length : 0;
-        for (var i:int = 0; i < n; i++)
-        {
-            mask = outputFormat.charAt(i);
-
-            if (mask == "M")
-            {
-                if ( outputFormat.charAt(i+1) == "/" && value.getMonth() < 9 ) {
-                    output += month.substring(1) + "/";
-                } else {
-                    output += month;
-                }
-                i++;
-            }
-            else if (mask == "D")
-            {
-                if ( outputFormat.charAt(i+1) == "/" && value.getDate() < 10 ) {
-                    output += date.substring(1) + "/";
-                } else {
-                    output += date;
-                }
-                i++;
-            }
-            else if (mask == "Y")
-            {
-                if (outputFormat.charAt(i+2) == "Y")
-                {
-                    output += year;
-                    i += 3;
-                }
-                else
-                {
-                    output += year.substring(2,4);
-                    i++;
-                }
-            }
+		var maskLength:int
+		var output:String = "";
+
+        length = maskParts.length;
+        for (i = 0; i < length; i++)
+        {
+            mask = maskParts[i].charAt(0);
+			maskLength = maskParts[i].length;
+
+			if (mask == "D")
+			{
+				if (maskLength > 1 && date.length == 1)
+					date = "0" + date;
+
+				output += date;
+			}
+			else if (mask == "M")
+			{
+				if (maskLength > 1 && month.length == 1)
+					month = "0" + month;
+
+				output += month;
+			}
+			else if (mask == "Y")
+			{
+				if (maskLength == 2)
+					output += year.substr(2,2);
+				else
+					output += year;
+			}
             else
             {
                 output += mask;


Transferred from the Adobe Open Source Subversion Repository

Revision: 11651
Author:   jimurphy@adobe.com
Date:     2009-11-11T14:06:01.837600Z

Log Message:
-----------
Merged 3.x revisions 11192,11237,11618 -> trunk

........
  r11192 | rfrishbe@adobe.com | 2009-10-27 15:54:37 -0400 (Tue, 27 Oct 2009) | 8 lines

  In AIR, you can drag'n drop text between text components like TextInput and TextArea.  There's an AIR bug where doing so doesn't result in a TEXT_INPUT or a CHANGE event.  This is a workaround for that bug so that we listen for a nativeDragDrop event.

  QE notes: -
  Doc notes: -
  Bugs: SDK-19816
  Reviewer: Gordon
  Tests run: checkintests, mustella TextInput, TextArea
  Is noteworthy for integration: no
........
  r11237 | smgilson@adobe.com | 2009-10-28 15:23:48 -0400 (Wed, 28 Oct 2009) | 9 lines

  Add ASDoc comment to the class. Please integrate into the 3.4.0 branch

........
  r11618 | aharui@adobe.com | 2009-11-10 13:12:56 -0500 (Tue, 10 Nov 2009) | 11 lines

  Allow extra parameters on itemToLabel so you can use DataGrid as the dropdown in a combobox.

  QE Notes: None
  Doc Notes: While we did change the signature on itemToLabel, I think we shouldn't document the change.  We are allowing extra params so we don't crash and we never use those params so the effective signature is the same
  Bugs: SDK-24027
  Reviewer: Corey
  API Change: No
  Is noteworthy for integration: No
  tests: checkintests mustella/components/ComboBox
........

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/src/com/adobe/viewsource/ViewSource.as</path>

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

--- frameworks/projects/mx/src/mx/controls/TextInput.as
+++ frameworks/projects/mx/src/mx/controls/TextInput.as
@@ -26,6 +26,7 @@
 import flash.text.TextFormat;
 import flash.text.TextLineMetrics;
 import flash.ui.Keyboard;
+
 import mx.controls.listClasses.BaseListData;
 import mx.controls.listClasses.IDropInListItemRenderer;
 import mx.controls.listClasses.IListItemRenderer;
@@ -2110,7 +2111,12 @@
             textField.addEventListener("textInsert",
                                        textField_textModifiedHandler);
             textField.addEventListener("textReplace",
-                                       textField_textModifiedHandler);
+                                       textField_textModifiedHandler);
+
+            // can't use NativeDragEvent.NATIVE_DRAG_DROP b/c we need AIR for that
+            // ideally we don't need to listen for this event as doing a dragDrop should
+            // dispatch a TEXT_INPUT and a CHANGE event for us (see SDK-19816)
+            textField.addEventListener("nativeDragDrop", textField_nativeDragDropHandler);

             if (childIndex == -1)
                 addChild(DisplayObject(textField));
@@ -2138,8 +2144,9 @@
             textField.removeEventListener("textInsert",
                                           textField_textModifiedHandler);
             textField.removeEventListener("textReplace",
-                                          textField_textModifiedHandler);
-
+                                          textField_textModifiedHandler);
+            textField.removeEventListener("nativeDragDrop", textField_nativeDragDropHandler);
+
             removeChild(DisplayObject(textField));
             textField = null;
         }
@@ -2477,6 +2484,15 @@
         event.stopImmediatePropagation();
         dispatchEvent(new Event(Event.CHANGE));
     }
+
+    /**
+     *  @private
+     */
+    private function textField_nativeDragDropHandler(event:Event):void
+    {
+        // just call the "change" handler
+        textField_changeHandler(event);
+    }

     /**
      *  @private
@@ -2495,7 +2511,7 @@
         // then stop the TextField from accepting the text.
         if (newEvent.isDefaultPrevented())
             event.preventDefault();
-    }
+    }

     /**
      *  @private


format points as "GG"

format points as "GG"

--- src/battlecode/client/viewer/render/DrawHUD.as
+++ src/battlecode/client/viewer/render/DrawHUD.as
@@ -12,6 +12,7 @@
     import mx.containers.VBox;
     import mx.controls.Label;
     import mx.events.ResizeEvent;
+    import mx.formatters.NumberFormatter;

     public class DrawHUD extends VBox {
         private var controller:MatchController;
@@ -24,6 +25,8 @@
         private var winMarkerCanvas:Canvas;

         private var lastRound:uint = 0;
+
+        private var formatter:NumberFormatter;

         public function DrawHUD(controller:MatchController, team:String) {
             this.controller = controller;
@@ -65,16 +68,20 @@
                 addChild(unitBox);
             }

+            formatter = new NumberFormatter();
+            formatter.rounding = "down";
+            formatter.precision = 2;
+
             addChild(winMarkerCanvas);

             repositionWinMarkers();
             resizeHQBox();
-            drawResearchBoxes();
             drawUnitCounts();
         }

         private function onRoundChange(e:MatchEvent):void {
-            pointLabel.text = String(controller.currentState.getPoints(team));
+            var points:Number = controller.currentState.getPoints(team);
+            pointLabel.text = formatter.format(points / 1000000) + "GG";

             if (e.currentRound <= lastRound) {
                 hqBox.removeRobot();
@@ -99,10 +106,9 @@
         }

         private function onMatchChange(e:MatchEvent):void {
-            pointLabel.text = "0";
+            pointLabel.text = "0GG";
             hqBox.removeRobot();
             drawWinMarkers();
-            drawResearchBoxes();
         }

         private function resizeHQBox():void {
@@ -110,12 +116,6 @@
             hqBox.resize(boxSize);
             hqBox.x = (180 - boxSize) / 2;
             hqBox.y = 50;
-        }
-
-        private function drawResearchBoxes():void {
-            var i:uint = 0;
-            var bottomUnitBox:DrawHUDUnit = unitBoxes[unitBoxes.length - 1];
-            var top:Number = bottomUnitBox.y + bottomUnitBox.height + 10;
         }

         private function drawUnitCounts():void {
@@ -157,7 +157,6 @@
         private function onResize(e:ResizeEvent):void {
             repositionWinMarkers();
             resizeHQBox();
-            drawResearchBoxes();
             drawUnitCounts();
         }


RTSPClient: Refactored requests

RTSPClient: Refactored requests

--- src/com/axis/rtspclient/RTSPClient.as
+++ src/com/axis/rtspclient/RTSPClient.as
@@ -12,6 +12,8 @@
   import com.axis.http.url;

   public class RTSPClient extends EventDispatcher {
+    private static var userAgent:String = "Slush";
+
     private static var STATE_INITIAL:int       = 1<<0;
     private static var STATE_DESCRIBE_SENT:int = 1<<1;
     private static var STATE_DESCRIBE_RCVD:int = 1<<2;
@@ -53,7 +55,7 @@

     public function start():void {
       handle.onData(onGetData);
-      sendRequest(describeReq());
+      handle.writeUTFBytes(describeReq());
       state = STATE_DESCRIBE_SENT;
     }

@@ -144,16 +146,16 @@
           session = matches[1];
         }

-
+        trace(tracks.length);
         if (0 !== tracks.length) {
           /* More tracks we must setup before playing */
           var block:Object = tracks.shift();
-          sendRequest(setupReq(block));
+          handle.writeUTFBytes(setupReq(block));
           return;
         }

         /* All tracks setup and ready to go! */
-        sendRequest(playReq());
+        handle.writeUTFBytes(playReq());
         state = STATE_PLAY_SENT;
         break;

@@ -208,9 +210,9 @@
     }

     private function describeReq():String {
-      return getCommandHeader("DESCRIBE", urlParsed.urlpath) +
-             getCSeqHeader() +
-             getUserAgentHeader() +
+      return "DESCRIBE " + urlParsed.urlpath + " RTSP/1.0\r\n" +
+             "CSeq: " + (++cSeq) + "\r\n" +
+             "User-Agent: " + userAgent + "\r\n" +
              "Accept: application/sdp\r\n" +
              "\r\n";
     }
@@ -219,50 +221,29 @@
       var interleavedChannels:String = interleaveChannelIndex++ + "-" + interleaveChannelIndex++;

       var p:String = url.isAbsolute(block.control) ? block.control : contentBase + block.control;
-      return getCommandHeader("SETUP", p) +
-             getCSeqHeader() +
-             getUserAgentHeader() +
-             getSessionHeader() +
+      return "SETUP " + p + " RTSP/1.0\r\n" +
+             "CSeq: " + (++cSeq) + "\r\n" +
+             "User-Agent: " + userAgent + "\r\n" +
+             (session ? ("Session: " + session + "\r\n") : "") +
              "Transport: RTP/AVP/TCP;unicast;interleaved=" + interleavedChannels + "\r\n" +
              "Date: " + new Date().toUTCString() + "\r\n" +
              "\r\n";
     }

-
     private function playReq():String {
-      return getCommandHeader("PLAY", contentBase) +
-             getCSeqHeader() +
-             getUserAgentHeader() +
-             getSessionHeader() +
+      return "PLAY " + contentBase + " RTSP/1.0\r\n" +
+             "CSeq: " + (++cSeq) + "\r\n" +
+             "User-Agent: " + userAgent + "\r\n" +
+             "Session: " + session + "\r\n" +
              "\r\n";
     }

     private function teardownReq():String {
-      return getCommandHeader("TEARDOWN", contentBase) +
-             getCSeqHeader() +
-             getUserAgentHeader() +
-             getSessionHeader() +
-             "\r\n";
-    }
-
-    private function getCommandHeader(command:String, url:String):String {
-      return command + " " + url + " RTSP/1.0\r\n";
-    }
-
-    private function getCSeqHeader():String {
-      return "CSeq: " + (++cSeq) + "\r\n";
-    }
-
-    private function getUserAgentHeader():String {
-      return "User-Agent: Slush\r\n";
-    }
-
-    private function getSessionHeader():String {
-      return (session ? ("Session: " + session + "\r\n") : "");
-    }
-
-    private function sendRequest(request:String):void {
-      handle.writeUTFBytes(request);
+      return "TEARDOWN" + contentBase + " RTSP/1.0\r\n"+
+             "CSeq: " + (++cSeq) + "\r\n" +
+             "User-Agent: " + userAgent + "\r\n" +
+             "Session: " + session + "\r\n" +
+             "\r\n";
     }
   }
 }


F Add a missing matrix transposition on Evaluator

--- src/aerys/minko/render/shader/compiler/Evaluator.as
+++ src/aerys/minko/render/shader/compiler/Evaluator.as
@@ -502,9 +502,9 @@
 			var result : Vector.<Number> = Vector.<Number>(VEC_FACTORY.create(true));
 			result.length = 3;

-			result[0] = arg1[0] * arg2[0] + arg1[1] * arg2[4] + arg1[2] * arg2[8];
-			result[1] = arg1[0] * arg2[1] + arg1[1] * arg2[5] + arg1[2] * arg2[9];
-			result[2] = arg1[0] * arg2[2] + arg1[1] * arg2[6] + arg1[2] * arg2[10];
+			result[0] = arg1[0] * arg2[0] + arg1[1] * arg2[1] + arg1[2] * arg2[2];
+			result[1] = arg1[0] * arg2[4] + arg1[1] * arg2[5] + arg1[2] * arg2[6];
+			result[2] = arg1[0] * arg2[8] + arg1[1] * arg2[9] + arg1[2] * arg2[10];

 			return result;
 		}
@@ -514,24 +514,24 @@
 		{
 			var result : Vector.<Number> = Vector.<Number>(VEC_FACTORY.create(true));
 			result.length = 4;
+
+			result[0] = arg1[0] * arg2[0] + arg1[1] * arg2[1] + arg1[2] * arg2[2] + arg1[3] * arg2[3];
+			result[1] = arg1[0] * arg2[4] + arg1[1] * arg2[5] + arg1[2] * arg2[6] + arg1[3] * arg2[7];
+			result[2] = arg1[0] * arg2[8] + arg1[1] * arg2[9] + arg1[2] * arg2[10] + arg1[3] * arg2[11];
+			result[3] = arg1[0] * arg2[12] + arg1[1] * arg2[13] + arg1[2] * arg2[14] + arg1[3] * arg2[15];
+
+			return result;
+		}
+
+		public static function evaluateM34(arg1 : Vector.<Number>,
+										   arg2 : Vector.<Number>) : Vector.<Number>
+		{
+			var result : Vector.<Number> = Vector.<Number>(VEC_FACTORY.create(true));
+			result.length = 3;

 			result[0] = arg1[0] * arg2[0] + arg1[1] * arg2[4] + arg1[2] * arg2[8] + arg1[3] * arg2[12];
 			result[1] = arg1[0] * arg2[1] + arg1[1] * arg2[5] + arg1[2] * arg2[9] + arg1[3] * arg2[13];
 			result[2] = arg1[0] * arg2[2] + arg1[1] * arg2[6] + arg1[2] * arg2[10] + arg1[3] * arg2[14];
-			result[3] = arg1[0] * arg2[3] + arg1[1] * arg2[7] + arg1[2] * arg2[11] + arg1[3] * arg2[15];
-
-			return result;
-		}
-
-		public static function evaluateM34(arg1 : Vector.<Number>,
-										   arg2 : Vector.<Number>) : Vector.<Number>
-		{
-			var result : Vector.<Number> = Vector.<Number>(VEC_FACTORY.create(true));
-			result.length = 3;
-
-			result[0] = arg1[0] * arg2[0] + arg1[1] * arg2[4] + arg1[2] * arg2[8] + arg1[3] * arg2[12];
-			result[1] = arg1[0] * arg2[1] + arg1[1] * arg2[5] + arg1[2] * arg2[9] + arg1[3] * arg2[13];
-			result[2] = arg1[0] * arg2[2] + arg1[1] * arg2[6] + arg1[2] * arg2[10] + arg1[3] * arg2[14];

 			return result;
 		}


ProbeTextUtils now sorts records by key

ProbeTextUtils now sorts records by key

Change-Id: I68c866eb4175b922a37ffe300f6dc265c872ed7a

--- WeaveUI/src/weave/utils/ProbeTextUtils.as
+++ WeaveUI/src/weave/utils/ProbeTextUtils.as
@@ -25,6 +25,7 @@
 	import mx.core.Application;
 	import mx.core.IToolTip;
 	import mx.managers.ToolTipManager;
+	import mx.utils.ObjectUtil;

 	import weave.Weave;
 	import weave.api.data.IAttributeColumn;
@@ -35,7 +36,7 @@
 	import weave.core.LinkableHashMap;
 	import weave.primitives.Bounds2D;
 	import weave.visualization.layers.InteractiveVisualization;
-	import weave.visualization.layers.SimpleInteractiveVisualization;
+	import weave.visualization.layers.SimpleInteractiveVisualization;

 	/**
 	 * ProbeTextManager
@@ -70,7 +71,7 @@
 			if (additionalColumns != null)
 				columns = columns.concat(additionalColumns);
 			var headers:Array = probeHeaderColumns.getObjects(IAttributeColumn);
-			var keys:Array = keySet.keys;
+			var keys:Array = keySet.keys.concat().sort(ObjectUtil.compare);
 			var key:IQualifiedKey;
 			var recordCount:int = 0;
 			var maxRecordsShown:Number = Weave.properties.maxTooltipRecordsShown.value;
@@ -171,7 +172,7 @@
 			// calculate y pos depending on toolTipAbove setting
 			if (toolTipAbove)
 			{
-				y = stageY - (probeToolTip.height +2* margin);
+				y = stageY - (probeToolTip.height + 2 * margin);
 				if(yAxisToolTip != null)
 					y = yAxisToolTip.y - margin - probeToolTip.height ;
 			}


fixed backwards compatibility class ref

fixed backwards compatibility class ref

Change-Id: I0c4d12135bfffada868d54887cf827e865e34396

--- WeaveUI/src/_InitializeWeaveUI.as
+++ WeaveUI/src/_InitializeWeaveUI.as
@@ -230,12 +230,12 @@
 				"weave.visualization.plotters.styles"
 			);

-			ClassUtils.registerDeprecatedClass("DataFilter", DataFilterTool);
 			ClassUtils.registerDeprecatedClass("EmptyTool", CustomTool);
 			ClassUtils.registerDeprecatedClass("WMSPlotter2", WMSPlotter);
 			ClassUtils.registerDeprecatedClass("SessionedTextArea", SessionedTextBox);
 			ClassUtils.registerDeprecatedClass("weave.visualization.tools.DataTableTool", AdvancedTableTool);
 			ClassUtils.registerDeprecatedClass("weave.api.ui.IObjectWithSelectableAttributes", ISelectableAttributes);
+			ClassUtils.registerDeprecatedClass("weave.ui.DataFilter", DataFilterTool);
 		}();
 	}
 }