Transferred from the Adobe Open Source Subversion Repository

Revision: 6215
Author:   smgilson@adobe.com
Date:     2009-04-23T17:12:57.259499Z

Log Message:
-----------
ASDoc updates for effect classes

Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/WipeDirection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CallAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CrossFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SetAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>

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

--- frameworks/projects/spark/src/spark/effects/AnimateFilter.as
+++ frameworks/projects/spark/src/spark/effects/AnimateFilter.as
@@ -72,6 +72,10 @@
      *  Constructor.
      *
      *  @param target The Object to animate with this effect.
+     *
+     *  @param filter The filter to apply to the target.
+     *  The filters that you can use with this effect are
+     *  defined in the spark.filters. package.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 22933
Author:   aharui@adobe.com
Date:     2011-10-10T18:17:25.276374Z

Log Message:
-----------
Fix corner case in Fade transitions

QE notes: None
Doc notes: None
Bugs: SDK-31684
Reviewer: JasonSz
Tests run: mustella cyclone
Is noteworthy for integration: No

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/effects/Fade.as

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

--- frameworks/projects/spark/src/spark/effects/Fade.as
+++ frameworks/projects/spark/src/spark/effects/Fade.as
@@ -238,5 +238,34 @@

         super.applyValueToTarget(target, property, value, props);
     }
+
+    /**
+     * @private
+     * Tell the propertyChanges array to keep all values, unchanged or not.
+     * This enables us to check later, when the effect is finished, whether
+     * we need to restore explicit height/width values.
+     */
+    override mx_internal function captureValues(propChanges:Array,
+                                                setStartValues:Boolean,
+                                                targetsToCapture:Array = null):Array
+    {
+        var propertyChanges:Array =
+            super.captureValues(propChanges, setStartValues, targetsToCapture);
+
+        var n:int = propertyChanges.length;
+        for (var i:int = 0; i < n; i++)
+        {
+            if (propertyChanges[i].stripUnchangedValues == false)
+                continue;
+
+            if (propertyChanges[i].start.hasOwnProperty("alpha"))
+            {
+                if (propertyChanges[i].start["alpha"] == propertyChanges[i].end["alpha"] &&
+                    alphaTo != propertyChanges[i].end["alpha"])
+                    propertyChanges[i].stripUnchangedValues = false;
+            }
+        }
+        return propertyChanges;
+    }
 }
 }


bug fixing

bug fixing

--- inappbillingaslib/src/com/sharky/Billing.as
+++ inappbillingaslib/src/com/sharky/Billing.as
@@ -36,9 +36,9 @@
 		}

-		public static function getInstance():InAppPurchase
+		public static function getInstance():Billing
 		{
-			return _instance != null ? _instance : new InAppPurchase();
+			return _instance != null ? _instance : new Billing();
 		}


add ..._

add ..._

--- WeaveCore/src/weave/utils/MethodChainProxy.as
+++ WeaveCore/src/weave/utils/MethodChainProxy.as
@@ -71,7 +71,7 @@

 			_objectsToCheck = moreObjects;

-			_classNames = _objectsToCheck.map(function(o:*):* { return getQualifiedClassName(o); });
+			_classNames = _objectsToCheck.map(function(o:*, ..._):* { return getQualifiedClassName(o); });

 			_thisQName = getQualifiedClassName(this);
 			var i:int = _classNames.indexOf('Object');


using StandardLib.sortOn() instead of missing Array.sortOn()

--- WeaveJS/src/weavejs/util/ColorRamp.as
+++ WeaveJS/src/weavejs/util/ColorRamp.as
@@ -83,7 +83,7 @@
 			for each (var node:ColorNode in _colorNodes)
 				node.position = StandardLib.normalize(node.position, minPos, maxPos);

-			_colorNodes.sortOn("position");
+			StandardLib.sortOn(_colorNodes, "position");
 		}

 		public function reverse():void


Made the door work on a timer, rather then on Z position.


Transferred from the Adobe Open Source Subversion Repository

Revision: 20013
Author:   harishs@adobe.com
Date:     2011-01-31T15:32:09.255609Z

Log Message:
-----------
QE notes: Globalization changes. Full cyclone run has been done. Default locale changes and sort bug fixes since Dec 14 2010
Doc notes: ASDOC comments for all classes have been updated.
Bugs: SDK-29132 SDK-29127 SDK-28163  SDK-29075 SDK-28600 SDK-28492 SDK-28856

Reviewer: Gordon Smith, Xie Fang, Zhigang Qi
Tests run: cyclone and checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/SortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/NumberValidatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ISort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/GlobalizationValidatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/supportClasses/CollatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/collections/Sort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/NumberValidator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/CurrencyValidator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/collections/SortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/supportClasses/GlobalizationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/GlobalizationUtils.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/SortingCollator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/LastOperationStatus.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/Sort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/supportClasses/NumberFormatterBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/MatchingCollator.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -41,6 +41,7 @@
 import flash.text.TextFormatAlign;
 import flash.text.TextLineMetrics;
 import flash.ui.Keyboard;
+import flash.utils.Dictionary;
 import flash.utils.getQualifiedClassName;

 import mx.automation.IAutomationObject;
@@ -4592,21 +4593,19 @@

         if (advanceStyleClientChildren != null)
         {
-            var nAdvanceStyleChildern:int = advanceStyleClientChildren.length;
-            for (var j:int = 0; j < nAdvanceStyleChildern; j++)
+            for (var styleClient:Object in advanceStyleClientChildren)
             {
-                var iAdvanceStyleClientChild:IFlexModule = advanceStyleClientChildren[j] as IFlexModule;
-                if (!iAdvanceStyleClientChild)
-                    continue;
-
-                if (iAdvanceStyleClientChild.moduleFactory == null
-                    || iAdvanceStyleClientChild.moduleFactory == _moduleFactory)
+                var iAdvanceStyleClientChild:IFlexModule = styleClient
+                    as IFlexModule;
+
+                if (iAdvanceStyleClientChild &&
+                    (iAdvanceStyleClientChild.moduleFactory == null
+                        || iAdvanceStyleClientChild.moduleFactory == _moduleFactory))
                 {
                     iAdvanceStyleClientChild.moduleFactory = factory;
                 }
             }
         }
-
         _moduleFactory = factory;

         setDeferredStyles();
@@ -10978,19 +10977,20 @@
         // Call this method on each non-visual StyleClient
         if (advanceStyleClientChildren != null)
         {
-            var nAdvanceStyleChildern:int = advanceStyleClientChildren.length;
-            for (var j:int = 0; j < nAdvanceStyleChildern; j++)
+            for (var styleClient:Object in advanceStyleClientChildren)
             {
-                if (advanceStyleClientChildren[j].inheritingStyles !=
+                var iAdvanceStyleClientChild:IAdvancedStyleClient = styleClient
+                    as IAdvancedStyleClient;
+
+                if (iAdvanceStyleClientChild &&
+                    iAdvanceStyleClientChild.inheritingStyles !=
                     StyleProtoChain.STYLE_UNINITIALIZED)
                 {
-                    advanceStyleClientChildren[j].regenerateStyleCache(recursive);
+                    iAdvanceStyleClientChild.regenerateStyleCache(recursive);
                 }
             }
         }
-
-    }
-
+    }
     /**
      *  This method is called when a state changes to check whether
      *  state-specific styles apply to this component. If there is a chance
@@ -11154,7 +11154,7 @@
     /**
      *  @private
      */
-    protected var advanceStyleClientChildren:Vector.<IAdvancedStyleClient> = null;
+    mx_internal var advanceStyleClientChildren:Dictionary = null;

     /**
      *  Adds a non-visual style client to this component instance. Once
@@ -11197,16 +11197,17 @@
                 var parentComponent:UIComponent = styleClient.styleParent as UIComponent;
                 if (parentComponent)
                     parentComponent.removeStyleClient(styleClient);
-               }
-
-                if (advanceStyleClientChildren == null)
-                advanceStyleClientChildren = new Vector.<IAdvancedStyleClient>();
-
-            advanceStyleClientChildren.push(styleClient);
+            }
+            // Create a dictionary with weak references to the key
+            if (advanceStyleClientChildren == null)
+                advanceStyleClientChildren = new Dictionary(true);
+            // Add the styleClient as a key in the dictionary.
+            // The value assigned to this key entry is currently not used.
+            advanceStyleClientChildren[styleClient] = true;
             styleClient.styleParent=this;
-
+
             styleClient.regenerateStyleCache(true);
-
+
             styleClient.styleChanged(null);
         }
         else
@@ -11245,17 +11246,16 @@
      */
     public function removeStyleClient(styleClient:IAdvancedStyleClient):void
     {
-        if(advanceStyleClientChildren && advanceStyleClientChildren.length != 0)
-        {
-            var i:int = advanceStyleClientChildren.indexOf(styleClient);
-            if(i!=-1) {
-                advanceStyleClientChildren.splice(i, 1);
-                styleClient.styleParent = null;
-
-                styleClient.regenerateStyleCache(true);
-
-                styleClient.styleChanged(null);
-            }
+        if(advanceStyleClientChildren &&
+            advanceStyleClientChildren[styleClient])
+        {
+            delete advanceStyleClientChildren[styleClient];
+
+            styleClient.styleParent = null;
+
+            styleClient.regenerateStyleCache(true);
+
+            styleClient.styleChanged(null);
         }
     }

@@ -11297,17 +11297,17 @@

         if (advanceStyleClientChildren != null)
         {
-            var nAdvanceStyleClientChildern:int = advanceStyleClientChildren.length;
-            for (var j:int = 0; j < nAdvanceStyleClientChildern; j++)
+            for (var styleClient:Object in advanceStyleClientChildren)
             {
-                var iAdvanceStyleClientChild:IAdvancedStyleClient = advanceStyleClientChildren[j];
-
+                var iAdvanceStyleClientChild:IAdvancedStyleClient = styleClient
+                    as IAdvancedStyleClient;
+
                 if (iAdvanceStyleClientChild)
                 {
                     iAdvanceStyleClientChild.styleChanged(styleProp);
                 }
             }
-        }
+        }
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 10776
Author:   smgilson@adobe.com
Date:     2009-10-01T15:13:17.678879Z

Log Message:
-----------
Minor ASDoc updates for UIComponent.as add/remove events, List.as seletectedIndices/selectedItems, LayoutBase.as useVirtualLayout

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.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/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -96,7 +96,8 @@

 /**
  *  Dispatched when the component is added to a container as a content child
- *  by using the addChild() or addChildAt() method.
+ *  by using the addChild(), addChildAt(),
+ *  addElement(), or addElementAt() method.
  *  If the component is added to the container as a noncontent child by
  *  using the rawChildren.addChild() or
  *  rawChildren.addChildAt() method, the event is not dispatched.
@@ -227,7 +228,8 @@

 /**
  *  Dispatched when the component is removed from a container as a content child
- *  by using the removeChild() or removeChildAt() method.
+ *  by using the removeChild(), removeChildAt(),
+ *  removeElement(), or removeElementAt() method.
  *  If the component is removed from the container as a noncontent child by
  *  using the rawChildren.removeChild() or
  *  rawChildren.removeChildAt() method, the event is not dispatched.
@@ -2118,8 +2120,8 @@
     {
         if (transformZ == value)
             return;
-		if (_layoutFeatures == null)
-			initAdvancedLayoutFeatures();
+        if (_layoutFeatures == null)
+            initAdvancedLayoutFeatures();

         _layoutFeatures.transformZ = value;
         invalidateTransform();
@@ -2205,8 +2207,8 @@
      * This property is ignored during calculation by any of Flex's 2D layouts.
      *
      *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
      *  @productversion Flex 3
      */
     override public function get rotationX():Number
@@ -2666,10 +2668,10 @@
             initAdvancedLayoutFeatures();

         _hasComplexLayoutMatrix = true;
-		_layoutFeatures.layoutScaleZ = value;
+        _layoutFeatures.layoutScaleZ = value;
         invalidateTransform();
         invalidateProperties();
-		invalidateParentSizeAndDisplayList();
+        invalidateParentSizeAndDisplayList();
         dispatchEvent(new Event("scaleZChanged"));
     }

@@ -10175,12 +10177,12 @@
                 getTextInputClassName() == "mx.controls::TLFTextInput";

             if (textFormat.useTLF)
-			{
-				textFormat.direction = _inheritingStyles.direction;
-				textFormat.locale = _inheritingStyles.locale;
-			}
-
-			cachedTextFormat = textFormat;
+            {
+                textFormat.direction = _inheritingStyles.direction;
+                textFormat.locale = _inheritingStyles.locale;
+            }
+
+            cachedTextFormat = textFormat;
         }

         return textFormat;
@@ -11185,17 +11187,17 @@
             errorArray = new Array();
         }

-    	var validatorIndex:int = errorObjectArray.indexOf(event.target);
+        var validatorIndex:int = errorObjectArray.indexOf(event.target);
         // If we are valid, then clear the error string
         if (event.type == ValidationResultEvent.VALID)
         {
             if (validatorIndex != -1)
             {
-            	errorObjectArray.splice(validatorIndex, 1);
-            	errorArray.splice(validatorIndex, 1);
+                errorObjectArray.splice(validatorIndex, 1);
+                errorArray.splice(validatorIndex, 1);
                 errorString = errorArray.join("\n");
-            	if (errorArray.length == 0)
-                	dispatchEvent(new FlexEvent(FlexEvent.VALID));
+                if (errorArray.length == 0)
+                    dispatchEvent(new FlexEvent(FlexEvent.VALID));
             }
         }
         else // If we get an invalid event
@@ -11218,14 +11220,14 @@
                         }
                         else
                         {
-				            if (validatorIndex != -1)
-				            {
-				            	errorObjectArray.splice(validatorIndex, 1);
-				            	errorArray.splice(validatorIndex, 1);
-				                errorString = errorArray.join("\n");
-				            	if (errorArray.length == 0)
-				                	dispatchEvent(new FlexEvent(FlexEvent.VALID));
-				            }
+                            if (validatorIndex != -1)
+                            {
+                                errorObjectArray.splice(validatorIndex, 1);
+                                errorArray.splice(validatorIndex, 1);
+                                errorString = errorArray.join("\n");
+                                if (errorArray.length == 0)
+                                    dispatchEvent(new FlexEvent(FlexEvent.VALID));
+                            }
                         }
                         break;
                     }
@@ -11244,8 +11246,8 @@
             }
             else if (msg && validatorIndex == -1)
             {
-            	errorObjectArray.push(event.target);
-            	errorArray.push(msg);
+                errorObjectArray.push(event.target);
+                errorArray.push(msg);
                 errorString = errorArray.join("\n");
                 dispatchEvent(new FlexEvent(FlexEvent.INVALID));
             }
@@ -11419,7 +11421,7 @@
         // If we just created a UITLFTextField, set its textLineCreator property
         // so that it knows what module to use for creating its TextLines.
         if (className == "mx.core::UITLFTextField")
-        	obj.textLineCreator = moduleContext;
+            obj.textLineCreator = moduleContext;

         if (obj == null)
             obj = new classObj();
@@ -12256,8 +12258,8 @@
     {
         if (value == depth)
             return;
-		if (_layoutFeatures == null)
-			initAdvancedLayoutFeatures();
+        if (_layoutFeatures == null)
+            initAdvancedLayoutFeatures();

         _layoutFeatures.depth = value;
         if (parent is UIComponent)


Transferred from the Adobe Open Source Subversion Repository

Revision: 20843
Author:   mhorn@adobe.com
Date:     2011-03-14T14:36:04.836183Z

Log Message:
-----------
merge

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/StringUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>

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

--- frameworks/projects/framework/src/mx/utils/StringUtil.as
+++ frameworks/projects/framework/src/mx/utils/StringUtil.as
@@ -211,7 +211,7 @@
      *  @langversion 3.0
      *  @playerversion Flash 9
      *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @productversion Flex 4
      */
     public static function repeat(str:String, n:int):String
     {
@@ -243,34 +243,34 @@
      *  @langversion 3.0
      *  @playerversion Flash 9
      *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @productversion Flex 4
      */
     public static function restrict(str:String, restrict:String):String
-	{
-		// A null 'restrict' string means all characters are allowed.
+    {
+        // A null 'restrict' string means all characters are allowed.
         if (restrict == null)
-			return str;
-
-		// An empty 'restrict' string means no characters are allowed.
+            return str;
+
+        // An empty 'restrict' string means no characters are allowed.
         if (restrict == "")
-			return "";
-
-		// Otherwise, we need to test each character in 'str'
+            return "";
+
+        // Otherwise, we need to test each character in 'str'
         // to determine whether the 'restrict' string allows it.
         var charCodes:Array = [];
-
-		var n:int = str.length;
-		for (var i:int = 0; i < n; i++)
-		{
-			var charCode:uint = str.charCodeAt(i);
-			if (testCharacter(charCode, restrict))
-				charCodes.push(charCode);
-		}
-
-		return String.fromCharCode.apply(null, charCodes);
-	}
-
-	/**
+
+        var n:int = str.length;
+        for (var i:int = 0; i < n; i++)
+        {
+            var charCode:uint = str.charCodeAt(i);
+            if (testCharacter(charCode, restrict))
+                charCodes.push(charCode);
+        }
+
+        return String.fromCharCode.apply(null, charCodes);
+    }
+
+    /**
      *  @private
      *  Helper method used by restrict() to test each character
      *  in the input string against the restriction string.
@@ -281,66 +281,66 @@
      */
     private static function testCharacter(charCode:uint,
                                           restrict:String):Boolean
-	{
-		var allowIt:Boolean = false;
-
-		var inBackSlash:Boolean = false;
-		var inRange:Boolean = false;
-		var setFlag:Boolean = true;
-		var lastCode:uint = 0;
-
-		var n:int = restrict.length;
-		var code:uint;
-
-		if (n > 0)
-		{
-			code = restrict.charCodeAt(0);
-			if (code == 94) // caret
-				allowIt = true;
-		}
-
-		for (var i:int = 0; i < n; i++)
-		{
-			code = restrict.charCodeAt(i)
-
-			var acceptCode:Boolean = false;
-			if (!inBackSlash)
-			{
-				if (code == 45) // hyphen
-					inRange = true;
-				else if (code == 94) // caret
-					setFlag = !setFlag;
-				else if (code == 92) // backslash
-					inBackSlash = true;
-				else
-					acceptCode = true;
-			}
-			else
-			{
-				acceptCode = true;
-				inBackSlash = false;
-			}
-
-			if (acceptCode)
-			{
-				if (inRange)
-				{
-					if (lastCode <= charCode && charCode <= code)
-						allowIt = setFlag;
-					inRange = false;
-					lastCode = 0;
-				}
-				else
-				{
-					if (charCode == code)
-						allowIt = setFlag;
-					lastCode = code;
-				}
-			}
-		}
-
-		return allowIt;
-	}
+    {
+        var allowIt:Boolean = false;
+
+        var inBackSlash:Boolean = false;
+        var inRange:Boolean = false;
+        var setFlag:Boolean = true;
+        var lastCode:uint = 0;
+
+        var n:int = restrict.length;
+        var code:uint;
+
+        if (n > 0)
+        {
+            code = restrict.charCodeAt(0);
+            if (code == 94) // caret
+                allowIt = true;
+        }
+
+        for (var i:int = 0; i < n; i++)
+        {
+            code = restrict.charCodeAt(i)
+
+            var acceptCode:Boolean = false;
+            if (!inBackSlash)
+            {
+                if (code == 45) // hyphen
+                    inRange = true;
+                else if (code == 94) // caret
+                    setFlag = !setFlag;
+                else if (code == 92) // backslash
+                    inBackSlash = true;
+                else
+                    acceptCode = true;
+            }
+            else
+            {
+                acceptCode = true;
+                inBackSlash = false;
+            }
+
+            if (acceptCode)
+            {
+                if (inRange)
+                {
+                    if (lastCode <= charCode && charCode <= code)
+                        allowIt = setFlag;
+                    inRange = false;
+                    lastCode = 0;
+                }
+                else
+                {
+                    if (charCode == code)
+                        allowIt = setFlag;
+                    lastCode = code;
+                }
+            }
+        }
+
+        return allowIt;
+    }
 }

 }


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

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

 package mx.rpc.wsdl
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17206
Author:   jszeto@adobe.com
Date:     2010-08-06T00:21:03.791589Z

Log Message:
-----------
Mobile Button Skin Changes

Refactor ButtonSkin into MobileSkin, ButtonSkinBase and ButtonSkin.

MobileSkin has logic for dealing with currentState
ButtonSkinBase has the label and icon placement logic (and is essentially a borderless skin)
ButtonSkin adds the FXG skins and the gradient background

- Text is now bold
- Emphasized buttons use ButtonSkin instead of DefaultButtonSkin and don't show any emphasized state (we aren't supporting emphasized buttons for mobile)
- Optimized the FXG skin creation
- Moved iconClass and labelPlacement from Button to ButtonBase.
- Updated padding values for label to match spec
- Removed the spark ButtonLabelPlacement class and moved the mx one from mx to frameworks swc

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

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/MobileSkin.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ButtonLabelPlacement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ButtonLabelPlacement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ButtonLabelPlacement.as" copyfrom-rev="17195" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/ButtonLabelPlacement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>

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

--- frameworks/projects/spark/src/spark/components/Button.as
+++ frameworks/projects/spark/src/spark/components/Button.as
@@ -28,12 +28,6 @@
  *  @productversion Flex 4
  */
 [Style(name="accentColor", type="uint", format="Color", inherit="yes", theme="spark")]
-
-// TODO (jszeto) set to mobile theme only
-[Style(name="iconClass", type="Class", inherit="no", theme="spark")]
-
-// TODO (jszeto) set to mobile theme only
-[Style(name="labelPlacement", type="String", enumeration="left,right,top,bottom", inherit="no", theme="spark")]

 [Exclude(name="textAlign", kind="style")]


Removed weaveTraces from PartitionDataTransform

--- WeaveData/src/weave/data/Transforms/PartitionDataTransform.as
+++ WeaveData/src/weave/data/Transforms/PartitionDataTransform.as
@@ -114,10 +114,6 @@
             var metadata:Object = proxyColumn.getProxyMetadata();
             var columnName:String = metadata[PARTITION_COLUMNNAME_META];
             var value:String = metadata[PARTITION_VALUE_META];
-
-
-
-            weaveTrace("Column requested:", metadata[PARTITION_VALUE_META], metadata[PARTITION_COLUMNNAME_META], debugId(proxyColumn));

             var column:IAttributeColumn = inputColumns.getObject(columnName) as IAttributeColumn;


Transferred from the Adobe Open Source Subversion Repository

Revision: 4333
Author:   hmuller@adobe.com
Date:     2008-12-17T00:09:41.654080Z

Log Message:
-----------
Fixed the build: removed explicit import for Vector and "svn added" Block.as.

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

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/Block.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LinearLayoutVector.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as
@@ -12,7 +12,6 @@

 package mx.layout
 {
-import __AS3__.vec.Vector;
 import flash.geom.Rectangle;
 import mx.graphics.Rect;
 import mx.layout.ILayoutElement;


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

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

 package mx.controls.listClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 11561
Author:   jon.avila@ssbbartgroup.com
Date:     2009-11-07T03:18:06.139095Z

Log Message:
-----------
Initial accessibility implementation support for the spark TitleWindow component.
QE notes: none
Doc notes: none
Bugs: n/a
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/TitleWindowAccImpl.as

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

--- frameworks/projects/spark/src/spark/accessibility/TitleWindowAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/TitleWindowAccImpl.as
@@ -0,0 +1,210 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2004-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 spark.accessibility
+{
+
+import flash.accessibility.Accessibility;
+import flash.events.Event;
+import flash.events.MouseEvent;
+import spark.components.Panel;
+import spark.components.TitleWindow;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+/**
+ *  TitleWindowAccImpl is a subclass of AccessibilityImplementation
+ *  which implements accessibility for the TitleWindow class.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class TitleWindowAccImpl extends PanelAccImpl
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private static const STATE_SYSTEM_MOVEABLE:uint = 0x00040000;
+
+	/**
+	 *  @private
+	 */
+	private static const EVENT_OBJECT_CREATE:uint = 0x8000;
+
+	/**
+	 *  @private
+	 */
+	private static const EVENT_OBJECT_DESTROY:uint = 0x8001;
+
+	/**
+	 *  @private
+	 */
+	private static const EVENT_OBJECT_LOCATIONCHANGE:uint = 0x800B;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Enables accessibility in the TitleWindow class.
+	 *
+	 *
This method is called by application startup code
+	 *  that is autogenerated by the MXML compiler.
+	 *  Afterwards, when instances of TitleWindow are initialized,
+	 *  their accessibilityImplementation property
+	 *  will be set to an instance of this class.

+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static function enableAccessibility():void
+	{
+		TitleWindow.createAccessibilityImplementation =
+			createAccessibilityImplementation;
+	}
+
+	/**
+	 *  @private
+	 *  Creates a TitleWindow's AccessibilityImplementation object.
+	 *  This method is called from UIComponent's
+	 *  initializeAccessibility() method.
+	 */
+	mx_internal static function createAccessibilityImplementation(
+								component:UIComponent):void
+	{
+		// The AccessibilityImplementation is placed on the
+		// TitleWindow's titleBar, not on the TitleWindow itself.
+		// If it were placed on the TitleWindow itself,
+		// the AccessibilityImplementations of the TitleWindow's children
+		// would be ignored.
+		var titleBar:UIComponent = TitleWindow(component).titleDisplay;
+		titleBar.accessibilityImplementation =
+			new TitleWindowAccImpl(component);
+
+		Accessibility.sendEvent(titleBar, 0, EVENT_OBJECT_CREATE);
+		Accessibility.updateProperties();
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param master The UIComponent instance that this AccImpl instance
+	 *  is making accessible.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function TitleWindowAccImpl(master:UIComponent)
+	{
+		super(master);
+
+        role = 0x10; // ROLE_SYSTEM_PANE
+
+		TitleWindow(master).titleDisplay.addEventListener(MouseEvent.MOUSE_UP,
+													 eventHandler);
+
+		TitleWindow(master).closeButton.addEventListener(MouseEvent.MOUSE_UP,
+												   eventHandler);
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: AccessibilityImplementation
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  IAccessible method for returning the state of the TitleWindow.
+	 *  States are predefined for all the components in MSAA.
+	 *  Values are assigned to each state.
+	 *  Depending upon the TitleWindow being Focusable, Focused and Moveable,
+	 *  a value is returned.
+	 *
+	 *  @param childID:uint
+	 *
+	 *  @return State:uint
+	 */
+	override public function get_accState(childID:uint):uint
+	{
+		var accState:uint = getState(childID);
+
+		accState |= STATE_SYSTEM_MOVEABLE;
+
+		return accState;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden event handlers: AccImpl
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Override the generic event handler.
+	 *  All AccImpl must implement this
+	 *  to listen for events from its master component.
+	 */
+	override protected function eventHandler(event:Event):void
+	{
+		// Let AccImpl class handle the events
+		// that all accessible UIComponents understand.
+		$eventHandler(event);
+
+		switch (event.type)
+		{
+			case MouseEvent.MOUSE_UP:
+			{
+				if (event.target == TitleWindow(master).titleDisplay)
+				{
+					Accessibility.sendEvent(TitleWindow(master).titleDisplay, 0,
+											EVENT_OBJECT_LOCATIONCHANGE, true);
+				}
+
+				if (event.target == TitleWindow(master).closeButton)
+				{
+					Accessibility.sendEvent(TitleWindow(master).titleDisplay, 0,
+											EVENT_OBJECT_DESTROY, true);
+				}
+
+				Accessibility.updateProperties();
+				break;
+			}
+		}
+	}
+}
+
+}


FLV Header : signal that both Audio and Video tags are present. this is needed as getHeader() is used when injecting discontinuity if we don't signal both, there will be issues while switching between AV stream to Video Only or vice versa related to https://github.com/mangui/flashls/issues/294

--- src/org/mangui/hls/flv/FLVTag.as
+++ src/org/mangui/hls/flv/FLVTag.as
@@ -45,8 +45,11 @@
             flv.writeByte(0x56);
             // File version (1)
             flv.writeByte(1);
-            // Audio + Video tags.
-            flv.writeByte(1);
+            /*
+                Signal that both Audio and Video tags are present. this is needed as getHeader() is used when injecting discontinuity
+                if we don't signal both, there will be issues while switching between AV stream to Video Only or vice versa
+            */
+            flv.writeByte(5);
             // Length of the header.
             flv.writeUnsignedInt(9);
             // PreviousTagSize0


Editor: F3 also toggle Physics2D debug geometry

--- bin/Data/Scripts/Editor/EditorView.as
+++ bin/Data/Scripts/Editor/EditorView.as
@@ -1747,8 +1747,26 @@

     if (renderingDebug)
         renderer.DrawDebugGeometry(false);
+
     if (physicsDebug && editorScene.physicsWorld !is null)
         editorScene.physicsWorld.DrawDebugGeometry(true);
+
+    if (physicsDebug && editorScene.physicsWorld2D !is null)
+    {
+        bool needDraw = true;
+        for (uint i = 0; i < selectedComponents.length; ++i)
+        {
+            if (cast<PhysicsWorld2D>(selectedComponents[i]) !is null)
+            {
+                needDraw = false; // Already drawed
+                break;
+            }
+        }
+
+        if (needDraw)
+            physicsWorld2D.DrawDebugGeometry();
+    }
+
     if (octreeDebug && editorScene.octree !is null)
         editorScene.octree.DrawDebugGeometry(true);


blender mode fixes: select w shift , strafe, pan

--- bin/Data/Scripts/Editor/EditorView.as
+++ bin/Data/Scripts/Editor/EditorView.as
@@ -1214,12 +1214,12 @@
         }

     // Move camera
+    float speedMultiplier = 1.0;
+    if (input.keyDown[KEY_LSHIFT])
+        speedMultiplier = cameraShiftSpeedMultiplier;
+
     if (!input.keyDown[KEY_LCTRL])
-    {
-        float speedMultiplier = 1.0;
-        if (input.keyDown[KEY_LSHIFT])
-            speedMultiplier = cameraShiftSpeedMultiplier;
-
+    {
         if (hotKeyMode == HOTKEYS_MODE_STANDARD ||  (hotKeyMode == HOTKEYS_MODE_BLENDER && cameraFlyMode && !input.keyDown[KEY_LSHIFT]) )
         {
             if (input.keyDown['W'] || input.keyDown[KEY_UP])
@@ -1253,37 +1253,42 @@
                 FadeUI();
             }
         }
-        if (input.mouseMoveWheel != 0 && ui.GetElementAt(ui.cursor.position) is null)
-        {
-            if ( hotKeyMode == HOTKEYS_MODE_STANDARD)
+    }
+
+    if (input.mouseMoveWheel != 0 && ui.GetElementAt(ui.cursor.position) is null)
+    {
+        if ( hotKeyMode == HOTKEYS_MODE_STANDARD)
+        {
+            if (mouseWheelCameraPosition)
             {
-                if (mouseWheelCameraPosition)
-                {
-                    cameraNode.Translate(Vector3(0, 0, -cameraBaseSpeed) * -input.mouseMoveWheel*20 * timeStep *
-                    speedMultiplier);
-                }
+                cameraNode.Translate(Vector3(0, 0, -cameraBaseSpeed) * -input.mouseMoveWheel*20 * timeStep *
+                speedMultiplier);
+            }
+            else
+            {
+                float zoom = camera.zoom + -input.mouseMoveWheel *.1 * speedMultiplier;
+                camera.zoom = Clamp(zoom, .1, 30);
+            }
+        }
+        else if (hotKeyMode == HOTKEYS_MODE_BLENDER)
+        {
+            if (mouseWheelCameraPosition && !camera.orthographic )
+            {   if (input.keyDown[KEY_LSHIFT])
+                    cameraNode.Translate(Vector3(0, -cameraBaseSpeed, 0) * -input.mouseMoveWheel* 5* timeStep * speedMultiplier);
+                else if (input.keyDown[KEY_LCTRL])
+                    cameraNode.Translate(Vector3(-cameraBaseSpeed,0, 0) * -input.mouseMoveWheel*20 * timeStep * speedMultiplier);
                 else
-                {
-                    float zoom = camera.zoom + -input.mouseMoveWheel *.1 * speedMultiplier;
-                    camera.zoom = Clamp(zoom, .1, 30);
-                }
+                    cameraNode.Translate(Vector3(0, 0, -cameraBaseSpeed) * -input.mouseMoveWheel*20 * timeStep * speedMultiplier);
             }
-            else if (hotKeyMode == HOTKEYS_MODE_BLENDER)
+            else
             {
-                if (mouseWheelCameraPosition && !camera.orthographic )
-                {
-                    cameraNode.Translate(Vector3(0, 0, -cameraBaseSpeed) * -input.mouseMoveWheel*20 * timeStep *
-                    speedMultiplier);
-                }
-                else
-                {
-                    float zoom = camera.zoom + -input.mouseMoveWheel *.1 * speedMultiplier;
-                    camera.zoom = Clamp(zoom, .1, 30);
-                }
+                float zoom = camera.zoom + -input.mouseMoveWheel *.1 * speedMultiplier;
+                camera.zoom = Clamp(zoom, .1, 30);
             }
-
-        }
-    }
+        }
+
+    }
+

     if (input.keyDown[KEY_HOME])
     {
@@ -1295,9 +1300,20 @@
             cameraNode.worldPosition = centerPoint - q * Vector3(0.0, 0.0,10);
         }
     }
-
+
     // Rotate/orbit/pan camera
-    bool changeCamViewButton = input.mouseButtonDown[MOUSEB_RIGHT] || input.mouseButtonDown[MOUSEB_MIDDLE];
+    bool changeCamViewButton = false;
+
+    if ( hotKeyMode == HOTKEYS_MODE_STANDARD)
+        changeCamViewButton = input.mouseButtonDown[MOUSEB_RIGHT] || input.mouseButtonDown[MOUSEB_MIDDLE];
+    else if (hotKeyMode == HOTKEYS_MODE_BLENDER)
+    {
+        changeCamViewButton = input.mouseButtonDown[MOUSEB_MIDDLE] || cameraFlyMode;
+
+        if (input.mouseButtonPress[MOUSEB_RIGHT])
+            cameraFlyMode = false;
+    }
+
     if (changeCamViewButton)
     {
         SetMouseLock();
@@ -1672,13 +1688,31 @@
             selectedComponent = body;
         }
     }
-
-    if (mouseClick && input.mouseButtonPress[MOUSEB_LEFT])
-    {
-        bool multiselect = input.qualifierDown[QUAL_CTRL];
+
+    bool multiselect = false;
+    bool componentSelectQualifier = false;
+    bool mouseButtonPressRL = false;
+
+    if (hotKeyMode == HOTKEYS_MODE_STANDARD)
+    {
+        mouseButtonPressRL = input.mouseButtonPress[MOUSEB_LEFT];
+        componentSelectQualifier = input.qualifierDown[QUAL_SHIFT];
+        multiselect = input.qualifierDown[QUAL_CTRL];
+    }
+    else if ( hotKeyMode == HOTKEYS_MODE_BLENDER )
+    {
+        mouseButtonPressRL = input.mouseButtonPress[MOUSEB_RIGHT];
+        componentSelectQualifier = input.qualifierDown[QUAL_CTRL];
+        multiselect = input.qualifierDown[QUAL_SHIFT];
+    }
+
+    if (mouseClick && mouseButtonPressRL)
+    {
+
+
         if (selectedComponent !is null)
         {
-            if (input.qualifierDown[QUAL_SHIFT])
+            if (componentSelectQualifier)
             {
                 // If we are selecting components, but have nodes in existing selection, do not multiselect to prevent confusion
                 if (!selectedNodes.empty)


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

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

 package mx.states
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3725
Author:   gosmith@adobe.com
Date:     2008-10-17T21:50:05.154403Z

Log Message:
-----------
If both 'text' and 'content' are set on TextGraphic, TextView, or FxTextArea during the same invalidation cycle, the last one set now wins. This is similar to how 'text' and 'htmlText' work in Halo components. Previously 'content' won over 'text', but this caused problems such as SDK-17023.

You should not set both 'text' and 'content' on an MXML tag. It makes no sense to do so, and the result is unpredictable because the compiler doesn't guarantee the order in which MXML attributes get applied to a component.

Reviewer: Ryan
Bugs: SDK-17023
QA: No
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextArea.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/projects/flex4/src/mx/components/TextView.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -197,11 +197,6 @@
      */
     override public function set text(value:String):void
     {
-        // If 'text' is being set after 'content', ignore it
-        // because 'content' has precedence.
-        if (contentChanged)
-            return;
-
         // Setting 'text' temporarily causes 'content' to become null.
         // Later, after the 'text' has been committed into the TextFlow,
         // getting 'content' will return the TextFlow.


Transferred from the Adobe Open Source Subversion Repository

Revision: 17152
Author:   cframpto@adobe.com
Date:     2010-08-02T18:38:05.626205Z

Log Message:
-----------
Integrate with TLF2 build 129.

- Set compatibilityVersion in configuration to 1.1 so that the selection does not include the final paragraph terminator.
The flag tells TLF that we want TLF1.1 compatibility for the selection length.  Pre TLF2, the selection length was textFlow.length-1 and did not include the final paragraph terminator.  For TLF2, the selection length is textFlow.length which includes the final paragraph terminator.

- When auto-sizing RET, if the unscaled width/height differs from the last unscaled width/height, redraw the background.  The EditManager calls updateAllControllers() directly when there is interactive input such as typing or cut/paste. This bypasses our update cycle which matters if we are auto-sizing.  compositionWidth/Height are NaN and the background is drawn with the old width/height because measureTextSize hasn't had a chance to update the layout manager yet.  Once the layoutManager has been updated, the compositionWidth/Height are still NaN so TLF doesn't think there is anything to compose.  The text hasn't changed shape, but the background has.

For TLF1.1 this was not necessary for most cases but there were some cases it should have been done and this was a bug.  TLF changed TextContainerManager.updateContainer() so now it is an issue for all cases.  It used to call compose() and it no longer does.

- The width of selection highlighting when full line is selected changed slightly for performance reasons.  Peter D and I decided this did not need to be put under the compatibilityVersion flag.

Full mustella test suite has been run.

Modified Paths:
--------------
120 paths were modified

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -1306,8 +1306,12 @@
         // it actually creates and measures one TextLine.
         // Its width is 0 but its height is equal to the font's
         // ascent plus descent.
-
-        bounds.width = width;
+        // Note:  Prior to TLF2, the factory would callback addTextLine
+        // when width=0 but that has been optimized out.  Now width to NaN.
+
+        bounds.x = 0;
+        bounds.y = 0;
+        bounds.width = width ? width : NaN;
         bounds.height = height;

         staticStringFactory.compositionBounds = bounds;


Transferred from the Adobe Open Source Subversion Repository

Revision: 11897
Author:   smgilson@adobe.com
Date:     2009-11-17T16:47:39.709622Z

Log Message:
-----------
ASDoc updates to Scroller.as based on doc reviews

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/ScrollerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>

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

--- frameworks/projects/spark/src/spark/components/Scroller.as
+++ frameworks/projects/spark/src/spark/components/Scroller.as
@@ -184,8 +184,8 @@
  *  as the following example shows:

  *
  *

- *  <s:Scroller>
- *       <s:Group width="100" height="100">
+ *  <s:Scroller width="100" height="100">
+ *       <s:Group>
  *          <mx:Image width="300" height="400"
  *               source="@Embed(source='assets/logo.jpg')"/>
  *       </s:Group>
@@ -196,17 +196,25 @@
  *  Rather than allow the child to extend past the boundaries of the parent container,
  *  the Scroller specifies to clip the child to the boundaries and display scroll bars.

  *
- *
For Spark containers that do not implement the IViewport interface,
- *  you can still use scroll bars.
- *  To add scroll bars, create a custom skin for the container that
- *  includes the Scroller control.

+ *
Not all Spark containers implement the IViewPort interface.
+ *  Therefore, those containers, such as the Border and SkinnableContainer containers,
+ *  cannot be used as the direct child of the Scroller component.
+ *  However, all Spark containers can have a Scroller component as a child component.
+ *  For example, to use scroll bars on a child of the Spark Border container,
+ *  wrap the child in a Scroller component.

+ *
+ *
To make the entire Border container scrollable, wrap it in a Group container.
+ *  Then, make the Group container the child of the Scroller component,
+ *  For skinnable Spark containers that do not implement the IViewport interface,
+ *  you can also create a custom skin for the container that
+ *  includes the Scroller component.

  *
  *
The IViewport interface define a viewport for the components that implement it.
  *  A viewport is a rectangular subset of the area of a container that you want to display,
  *  rather than displaying the entire container.
- *  The scrollbars control the viewport's horizontalScrollPosition and
+ *  The scroll bars control the viewport's horizontalScrollPosition and
  *  verticalScrollPosition properties.
- *  Scrollbars make it possible to view the area defined by the viewport's
+ *  scroll bars make it possible to view the area defined by the viewport's
  *  contentWidth and contentHeight properties.

  *
  *
You can combine scroll bars with explicit settings for the container's viewport.
@@ -214,24 +222,24 @@
  *  and then you can use the scroll bars to move it, as the following example shows:

  *
  *

- *  <s:Scroller>
- *      <s:Group width="100" height="100"
+ *  <s:Scroller width="100" height="100">
+ *      <s:Group
  *          horizontalScrollPosition="50" verticalScrollPosition="50">
  *          <mx:Image width="300" height="400"
  *              source="@Embed(source='assets/logo.jpg')"/>
  *      </s:Group>
  *  </s:Scroller>

  *
- *
The scrollbars are displayed according to the vertical and horizontal scroll bar
+ *
The scroll bars are displayed according to the vertical and horizontal scroll bar
  *  policy, which can be auto, on, or off.
- *  The auto policy means that the scrollbar will be visible and included
+ *  The auto policy means that the scroll bar will be visible and included
  *  in the layout when the viewport's content is larger than the viewport itself.

  *
  *
The Scroller skin layout cannot be changed. It is unconditionally set to a
  *  private layout implementation that handles the scroll policies.  Scroller skins
- *  can only provide replacement scrollbars.  To gain more control over the layout
- *  of a viewport and its scrollbars, instead of using Scroller, just add them
- *  to a Group and use the scrollbar viewport property
+ *  can only provide replacement scroll bars.  To gain more control over the layout
+ *  of a viewport and its scroll bars, instead of using Scroller, just add them
+ *  to a Group and use the scroll bar viewport property
  *  to link them together.

  *
  *
The Scroller control has the following default characteristics:

@@ -352,7 +360,7 @@
     //--------------------------------------------------------------------------

     /**
-     * Constructor
+     *  Constructor.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -387,7 +395,7 @@
     [Bindable]

     /**
-     *  A skin part that defines the horizontal scrollbar.
+     *  A skin part that defines the horizontal scroll bar.
      *
      *  This property should be considered read-only. It is only
      *  set by the Scroller's skin.
@@ -409,7 +417,7 @@
     [Bindable]

     /**
-     *  A skin part that defines the vertical scrollbar.
+     *  A skin part that defines the vertical scroll bar.
      *
      *  This property should be considered read-only. It is only
      *  set by the Scroller's skin.
@@ -437,7 +445,7 @@
      *
      *

      *  The viewport is added to the Scroller component's skin,
-     *  which lays out both the viewport and scrollbars.
+     *  which lays out both the viewport and scroll bars.
      *
      *  When the viewport property is set, the viewport's
      *  clipAndEnableScrolling property is
@@ -515,11 +523,11 @@
     /**
      *  The minimum space between the viewport and the edges of the Scroller.
      *
-     *  If neither of the scrollbars is visible, then the viewport is inset by
+     *  If neither of the scroll bars is visible, then the viewport is inset by
      *  minViewportInset on all four sides.
      *
-     *  If a scrollbar is visible then the viewport is inset by minViewportInset
-     *  or by the scrollbar's size, whichever is larger.
+     *  If a scroll bar is visible then the viewport is inset by minViewportInset
+     *  or by the scroll bar's size, whichever is larger.
      *
      *  ScrollBars are laid out flush with the edges of the Scroller.
      *
@@ -550,7 +558,7 @@

     /**
      *  If true, the Scroller's measured size includes the space required for
-     *  the visible scrollbars, otherwise the Scroller's measured size depends
+     *  the visible scroll bars, otherwise the Scroller's measured size depends
      *  only on its viewport.
      *
      *
Components like TextArea, which "reflow" their contents to fit the
@@ -562,7 +570,7 @@
      *
      *
In components where the content does not reflow, like a typical List's
      *  items, the default behavior is preferable because it makes it less
-     *  likely that the component's content will not obscured by a scrollbar.

+     *  likely that the component's content will not obscured by a scroll bar.

      *
      *  @default true
      */


Transferred from the Adobe Open Source Subversion Repository

Revision: 3512
Author:   jimurphy@adobe.com
Date:     2008-10-07T20:28:56.871176Z

Log Message:
-----------
rename flex4 mx.effects.easing to mx.effects.fxEasing to avoid a name conflict in the framework

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing/Constant.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing/EaseInOut.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="dir" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/easing" copyfrom-rev="3509" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing/Sine.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/easing</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/gumbo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing/IEaser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/fxEasing/Linear.as</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/effects/FxAnimateFilter.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/CallAction.as</path>

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

--- frameworks/projects/spark/src/spark/effects/easing/Sine.as
+++ frameworks/projects/spark/src/spark/effects/easing/Sine.as
@@ -8,7 +8,7 @@
 //  in accordance with the terms of the license agreement accompanying it.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package mx.effects.easing
+package mx.effects.fxEasing
 {
 /**
  * Provides easing functionality using a Sine function and a


Transferred from the Adobe Open Source Subversion Repository

Revision: 22162
Author:   deeptika@adobe.com
Date:     2011-08-23T15:54:30.764769Z

Log Message:
-----------
Setting marker for LegendItem after adding it to the stage.

QE notes: Please add a mustella case to cover this.
Doc notes:
Bugs:  FLEXDMV-2655 (Legend label does not appear next to the image marker when using legendMarkerRenderers.)
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/Legend.as

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

--- frameworks/projects/charts/src/mx/charts/Legend.as
+++ frameworks/projects/charts/src/mx/charts/Legend.as
@@ -6083,8 +6083,6 @@
             var c:Class = legendItemClass;
             var newItem:LegendItem = new c();

-            newItem.marker = legendData.marker;
-
             if (legendData.label != "")
                 newItem.label = legendData.label;

@@ -6101,7 +6099,9 @@

             addChild(newItem);

-            newItem.setStyle("backgroundColor", 0xEEEEFF);
+			newItem.marker = legendData.marker;
+
+			newItem.setStyle("backgroundColor", 0xEEEEFF);
         }

         /**


Flex-33450 DataGrid RTE

Flex-33450 DataGrid RTE

--- frameworks/projects/mx/src/mx/controls/DataGrid.as
+++ frameworks/projects/mx/src/mx/controls/DataGrid.as
@@ -22,6 +22,7 @@

 import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
+import flash.display.InteractiveObject;
 import flash.display.Graphics;
 import flash.display.Shape;
 import flash.display.Sprite;
@@ -4474,7 +4475,10 @@
                     UIComponent(itemEditorInstance).drawFocus(false);

                 // setfocus back to us so something on stage has focus
-                deferFocus();
+				// only if focus is null or is in this DG
+				var focusComp:InteractiveObject = getFocus();
+				if (focusComp == null || contains(focusComp))
+	                deferFocus();

                 // defer focus can cause focusOutHandler to destroy the editor
                 // and make itemEditorInstance null


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

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

 package mx.olap


Transferred from the Adobe Open Source Subversion Repository

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 23034
Author:   jasonsj@adobe.com
Date:     2011-10-17T21:12:07.671803Z

Log Message:
-----------
When orientation changes, give Callout's resize handler a higher priority so that explicit sizes are removed before the soft keyboard effect is updated. Fixed issue where resize handlers were also interfering with explicit size because they were not uninstalled when the pop-up was closed.

QE notes: None
Doc notes: None
Bugs:
SDK-31857 SPUC SK Effects : Callout upside down when keyboard active and orientation changed
Reviewer:
Tests run: checkintests, SK effects cyclone w/ Lavanya
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/Callout.as
+++ frameworks/projects/mobilecomponents/src/spark/components/Callout.as
@@ -1628,21 +1628,19 @@
      */
     private function systemManager_resizeHandler(event:Event):void
     {
-        // Watch out for explicit sizes temporarily set by a soft keyboard
-        // resize effect. canSkipMeasurement() will return false unless these
-        // values are cleared.
-        if (isSoftKeyboardEffectActive)
-        {
-            // Clear temporary explicit sizes
-            if (!softKeyboardEffectExplicitWidthFlag)
-                width = NaN;
-
-            if (!softKeyboardEffectExplicitHeightFlag)
-                height = NaN;
-        }
+        // Remove explicit settings if due to Resize effect
+        softKeyboardEffectResetExplicitSize();

         // Screen resize might require a new arrow direction and callout position
         invalidatePosition();
+
+        if (!isSoftKeyboardEffectActive)
+        {
+            // Force validation and use new screen size only if the keyboard
+            // effect is not active. The stage dimensions may be invalid while
+            // the soft keyboard is active. See SDK-31860.
+            validateNow();
+        }
     }
 }
 }


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

--- frameworks/projects/automation_spark/src/mx/core/Version.as
+++ frameworks/projects/automation_spark/src/mx/core/Version.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.
-//
-////////////////////////////////////////////////////////////////////////////////

 import mx.core.mx_internal;


Transferred from the Adobe Open Source Subversion Repository

Revision: 4446
Author:   hmuller@adobe.com
Date:     2009-01-08T19:53:52.711496Z

Log Message:
-----------
Added support for virtualiztaion to HorizontalLayout.

Some refactoring and commenting of Horizontal,Verticallayout.

QE Notes: Existing mustella tests pass, virtualization tests are still TBD
Doc Notes: None
Bugs:
Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/DataGroup.as
+++ frameworks/projects/spark/src/spark/components/DataGroup.as
@@ -16,6 +16,7 @@
 import mx.layout.LayoutBase;
 import mx.layout.LayoutElementFactory;
 import mx.styles.IStyleClient;
+import flash.utils.Dictionary;

 /**
@@ -525,7 +526,8 @@

     private var virtualLayoutOffset:int = 0;
     private var virtualLayoutUnderway:Boolean = false;
-
+    private var virtualItemRenderers:Dictionary = new Dictionary(true);
+
     /**
      *  @private
      *  Update virtualLayoutOffset and clear the virtualLayoutUnderway flag.
@@ -550,11 +552,12 @@
         // size or display list.
         for(var i:int = super.numChildren - 1; i > (endIndex - startIndex); i--)
         {
-            var itemRenderer:DisplayObject = super.getChildAt(i);
-            unregisterRenderer(i, IVisualElement(itemRenderer));
+            var itemRenderer:IVisualElement = IVisualElement(super.getChildAt(i));
+            //trace("DataGroup::endVirtualLayout() removing " + IDataRenderer(itemRenderer).data);
             super.removeChildAt(i);
+            var item:Object = (itemRenderer is IDataRenderer) ? IDataRenderer(itemRenderer).data : itemRenderer;
+            delete virtualItemRenderers[item];
         }
-        virtualLayoutUnderway = false;
     }

     /**
@@ -571,33 +574,35 @@
      */
     override public function getLayoutElementAt(index:int):ILayoutElement
     {
-        var itemRendererIndex:int = index - virtualLayoutOffset;
-        var itemRenderer:Object = mx_internal::getRendererForItemAt(itemRendererIndex);
-
+        var itemRenderer:IVisualElement;
+
         if (layout && layout.virtualLayout)
         {
             // Note: the code below does most of the same work as itemAdded()
             var item:Object = dataProvider.getItemAt(index);
+            var itemRendererIndex:int = index - virtualLayoutOffset;
             var createdIR:Boolean = false;

+            itemRenderer = virtualItemRenderers[item];
             if (!itemRenderer)
             {
                 itemRenderer = createRendererForItem(item);
+                //trace("DataGroup::getLayoutElementAt("+index+") created " + item);
                 createdIR = true;
             }

-            if (itemRenderer.parent != this)
-                addItemRendererToDisplayList(DisplayObject(itemRenderer), itemRendererIndex);
-            else
-                super.setChildIndex(DisplayObject(itemRenderer), itemRendererIndex);
+            addItemRendererToDisplayList(DisplayObject(itemRenderer), itemRendererIndex);

             if (createdIR)
             {
+                virtualItemRenderers[item] = itemRenderer;  // weak reference
                 if (itemRenderer is IInvalidating)
                     IInvalidating(itemRenderer).validateNow();
-                // TBD sync with itemAdded
                 dispatchEvent(new ItemExistenceChangedEvent(ItemExistenceChangedEvent.ITEM_ADD, false, false, item));
             }
+        }
+        else {
+            itemRenderer = mx_internal::getRendererForItemAt(index);
         }

         return LayoutElementFactory.getLayoutElementFor(itemRenderer);
@@ -682,7 +687,8 @@
      */
     protected function addItemRendererToDisplayList(child:DisplayObject, index:int = -1):DisplayObject
     {
-        // TODO: do we need this case (parented by me previously)?
+        // If this child is already an element of the display list, ensure
+        // that it's at the specified index
         if (child.parent && child.parent == this)
         {
             var insertIndex:int;


Log currently used font family.

Log currently used font family.

--- src/com/esri/builder/controllers/LocaleController.as
+++ src/com/esri/builder/controllers/LocaleController.as
@@ -104,6 +104,11 @@
         {
             FlexGlobals.topLevelApplication.setStyle('fontFamily', undefined);
         }
+
+        if (Log.isDebug())
+        {
+            LOG.debug("Current font family: {0}", FlexGlobals.topLevelApplication.getStyle('fontFamily'));
+        }
     }

     private function toFontFamily(fontNames:Array):String