def: 7857 don't show ads countdown after ad ended

--- plugins/vastPlugin/src/com/kaltura/kdpfl/plugin/component/VastLinearAdProxy.as
+++ plugins/vastPlugin/src/com/kaltura/kdpfl/plugin/component/VastLinearAdProxy.as
@@ -375,7 +375,9 @@
 			{
 				sequenceProxy["vo"]["timeRemaining"] = Math.round(e.time);
 				sequenceProxy["vo"]["isAdLoaded"] = true;
-				if (e.time <= 1)
+				if (!(((_playingAd as VAST2TrackingProxyElement).proxiedElement as ProxyElement).proxiedElement is VPAIDElement))
+					(e.target as MediaPlayer).removeEventListener(TimeEvent.DURATION_CHANGE, onAdDurationReceived );
+				else if (e.time <= 1)
 				{
 					(e.target as MediaPlayer).removeEventListener(TimeEvent.DURATION_CHANGE, onAdDurationReceived );
 				}


Add logging to WidgetTypeLoader.

Add logging to WidgetTypeLoader.

--- src/com/esri/builder/controllers/supportClasses/WidgetTypeLoader.as
+++ src/com/esri/builder/controllers/supportClasses/WidgetTypeLoader.as
@@ -19,6 +19,7 @@
 import com.esri.builder.model.CustomWidgetType;
 import com.esri.builder.model.WidgetType;
 import com.esri.builder.supportClasses.FileUtil;
+import com.esri.builder.supportClasses.LogUtil;

 import flash.events.EventDispatcher;
 import flash.filesystem.File;
@@ -31,11 +32,15 @@

 import mx.core.FlexGlobals;
 import mx.events.ModuleEvent;
+import mx.logging.ILogger;
+import mx.logging.Log;
 import mx.modules.IModuleInfo;
 import mx.modules.ModuleManager;

 public class WidgetTypeLoader extends EventDispatcher
 {
+    private static const LOG:ILogger = LogUtil.createLogger(WidgetTypeLoader);
+
     internal static var loadedModuleInfos:Array = [];

     private var swf:File;
@@ -85,6 +90,11 @@

     private function loadConfigModule():void
     {
+        if (Log.isInfo())
+        {
+            LOG.info('Loading XML module: {0}', config.url);
+        }
+
         var moduleConfig:XML = readModuleConfig(config);
         if (moduleConfig)
         {
@@ -101,16 +111,31 @@

     private function loadModule():void
     {
+        if (Log.isInfo())
+        {
+            LOG.info('Loading SWF module: {0}', swf.url);
+        }
+
         moduleInfo = ModuleManager.getModule(swf.url);

         if (moduleInfo.ready)
         {
+            if (Log.isInfo())
+            {
+                LOG.info('Unloading module: {0}', swf.url);
+            }
+
             moduleInfo.addEventListener(ModuleEvent.UNLOAD, moduleInfo_unloadHandler);
             moduleInfo.release();
             moduleInfo.unload();
         }
         else
         {
+            if (Log.isInfo())
+            {
+                LOG.info('Loading module: {0}', swf.url);
+            }
+
             var fileBytes:ByteArray = new ByteArray();
             var fileStream:FileStream = new FileStream();
             fileStream.open(swf, FileMode.READ);
@@ -125,6 +150,11 @@

     private function moduleInfo_unloadHandler(event:ModuleEvent):void
     {
+        if (Log.isInfo())
+        {
+            LOG.info('Module unloaded: {0}', swf.url);
+        }
+
         var moduleInfo:IModuleInfo = event.module;
         moduleInfo.removeEventListener(ModuleEvent.UNLOAD, moduleInfo_unloadHandler);
         var moduleInfoIndex:int = loadedModuleInfos.indexOf(moduleInfo);
@@ -138,18 +168,32 @@

     private function moduleInfo_readyHandler(event:ModuleEvent):void
     {
+        if (Log.isInfo())
+        {
+            LOG.info('Module loaded: {0}', swf.url);
+        }
+
         var moduleInfo:IModuleInfo = event.currentTarget as IModuleInfo;
         moduleInfo.removeEventListener(ModuleEvent.READY, moduleInfo_readyHandler);
         moduleInfo.removeEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler);

         if (config && config.exists)
         {
+            if (Log.isInfo())
+            {
+                LOG.info('Reading module config: {0}', config.url);
+            }
             var moduleConfig:XML = readModuleConfig(config);
         }
+

         const builderModule:IBuilderModule = event.module.factory.create() as IBuilderModule;
         if (builderModule)
         {
+            if (Log.isInfo())
+            {
+                LOG.info('Widget type created for module: {0}', swf.url);
+            }
             var widgetType:WidgetType = getWidgetType(moduleInfo, builderModule, moduleConfig);
         }

@@ -160,6 +204,11 @@

     private function dispatchComplete(widgetType:WidgetType):void
     {
+        if (Log.isInfo())
+        {
+            LOG.info('Module load complete: {0}', name);
+        }
+
         dispatchEvent(new WidgetTypeLoaderEvent(WidgetTypeLoaderEvent.LOAD_COMPLETE, widgetType));
     }

@@ -191,6 +240,10 @@
         catch (e:Error)
         {
             //ignore
+            if (Log.isInfo())
+            {
+                LOG.info('Could not read module config: {0}', e.toString());
+            }
         }
         finally
         {
@@ -211,11 +264,21 @@

     private function dispatchError():void
     {
+        if (Log.isInfo())
+        {
+            LOG.info('Module load failed: {0}', name);
+        }
+
         dispatchEvent(new WidgetTypeLoaderEvent(WidgetTypeLoaderEvent.LOAD_ERROR));
     }

     private function parseCustomWidgetType(configXML:XML):CustomWidgetType
     {
+        if (Log.isInfo())
+        {
+            LOG.info('Creating widget type from XML: {0}', configXML);
+        }
+
         var customModule:CustomXMLModule = new CustomXMLModule();
         customModule.widgetName = configXML.name;
         customModule.isOpenByDefault = (configXML.openbydefault == 'true');


Transferred from the Adobe Open Source Subversion Repository

Revision: 14741
Author:   klin@adobe.com
Date:     2010-03-12T23:23:40.284352Z

Log Message:
-----------
Adding ILayoutDirectionElement to address issues with non-styled components such as embedded bitmaps. Also, addressed issues with changing layoutDirection at runtime.

-Added ILayoutDirectionElement.as with the layoutDirection property and invalidateLayoutDirection(). I took them out of IVisualElement.
-Moved the mirroring code from FlexBitmap to BitmapAsset as well as SpriteAsset. Also, implemented ILayoutDirectionElement in both.
-Addressed issues with layoutDirection changing at runtime by adding logic in UIComponent and Container to call invalidateLayoutDirection() on all of their ILayoutDirectionElement children.
-Updated various other components to use the new interface.
-Updated the dependency checker.

QE notes: No
Doc notes: No
Bugs: SDK-25656, SDK-25685, SDK-25726, SDK-25758 , SDK-25776 , SDK-25784 , SDK-25791, SDK-25806
Reviewer: Jason, Carol
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/FlexBitmap.as</path>
<path kind="file" action="M">/flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/BitmapAsset.as</path>
<path kind="file" action="M">/flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/LayoutDirection.as</path>
<path kind="file" action="M">/flex/sdk/branches/4.x/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="A">/flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/ILayoutDirectionElement.as</path>
<path kind="file" action="M">/flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/SpriteAsset.as</path>

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

--- frameworks/projects/framework/src/mx/core/ILayoutDirectionElement.as
+++ frameworks/projects/framework/src/mx/core/ILayoutDirectionElement.as
@@ -0,0 +1,70 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-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.core
+{
+
+    /**
+     *  The ILayoutDirectionElement interface defines the minimum properties and methods
+     *  required for an Object to support the layoutDirection property.
+     *
+     *  @see mx.core.LayoutDirection
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4.1
+     */
+    public interface ILayoutDirectionElement
+    {
+
+        /**
+         *  Specifies the desired layout direction for an element: one of LayoutDirection.LTR
+         *  (left to right), LayoutDirection.RTL (right to left), or null (inherit).
+         *
+         *  This property is typically backed by an inheriting style.  If null,
+         *  the layoutDirection style will be set to undefined.
+         *
+         *  Classes like GraphicElement, which implement ILayoutDirectionElement but do not
+         *  support styles, must additionally support a null value for this property
+         *  which means the layoutDirection must be inherited from its parent.
+         *
+         *  @see mx.core.LayoutDirection
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4.1
+         */
+        function get layoutDirection():String;
+
+        /**
+         *  @private
+         */
+        function set layoutDirection(value:String):void;
+
+        /**
+         *  Must be called when an element or its parent's layoutDirection changes.
+         *
+         *  If they differ, the X axis is scaled by -1 and the x coordinate of the origin
+         *  is translated by the element's width.
+         *
+         *  The net effect of this "mirror" transform is to reverse the direction
+         *  that the X axis increases without changing the element's
+         *  location relative to the parent's origin.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4.1
+         */
+        function invalidateLayoutDirection():void;
+    }
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 3399
Author:   jimurphy@adobe.com
Date:     2008-09-29T15:51:24.666752Z

Log Message:
-----------
Merged 3.0.x revisions 3361,3364-3365,3367,3370,3381 -> trunk

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/ResultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/validators/CurrencyValidator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/SortField.as</path>

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

--- frameworks/projects/framework/src/mx/validators/CurrencyValidator.as
+++ frameworks/projects/framework/src/mx/validators/CurrencyValidator.as
@@ -65,71 +65,71 @@
  */
 public class CurrencyValidator extends Validator
 {
-	include "../core/Version.as";
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class constants
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-	 *  @private
-	 *  Formatting characters for negative values.
-	 */
-	private static const NEGATIVE_FORMATTING_CHARS:String = "-()";
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class methods
-	//
-	//--------------------------------------------------------------------------
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Formatting characters for negative values.
+     */
+    private static const NEGATIVE_FORMATTING_CHARS:String = "-()";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------

     /**
      *  Convenience method for calling a validator.
-	 *  Each of the standard Flex validators has a similar convenience method.
-	 *
+     *  Each of the standard Flex validators has a similar convenience method.
+     *
      *  @param validator The CurrencyValidator instance.
-	 *
-	 *  @param value The object to validate.
-	 *
-	 *  @param baseField Text representation of the subfield
-	 *  specified in the value parameter.
-	 *  For example, if the value parameter specifies value.currency,
-	 *  the baseField value is "currency".
-	 *
-	 *  @return An Array of ValidationResult objects, with one ValidationResult
-	 *  object for each field examined by the validator.
-	 *
-	 *  @see mx.validators.ValidationResult
+     *
+     *  @param value The object to validate.
+     *
+     *  @param baseField Text representation of the subfield
+     *  specified in the value parameter.
+     *  For example, if the value parameter specifies value.currency,
+     *  the baseField value is "currency".
+     *
+     *  @return An Array of ValidationResult objects, with one ValidationResult
+     *  object for each field examined by the validator.
+     *
+     *  @see mx.validators.ValidationResult
      */
     public static function validateCurrency(validator:CurrencyValidator,
-											value:Object,
-											baseField:String):Array
-    {
-		var results:Array = [];
-
-		// Resource-backed properties of the validator.
-		var alignSymbol:String = validator.alignSymbol;
-		var allowNegative:Boolean = validator.allowNegative;
-		var currencySymbol:String = validator.currencySymbol;
-		var decimalSeparator:String = validator.decimalSeparator;
-		var maxValue:Number = Number(validator.maxValue);
-		var minValue:Number = Number(validator.minValue);
-		var precision:int = int(validator.precision);
-		var thousandsSeparator:String = validator.thousandsSeparator;
+                                            value:Object,
+                                            baseField:String):Array
+    {
+        var results:Array = [];
+
+        // Resource-backed properties of the validator.
+        var alignSymbol:String = validator.alignSymbol;
+        var allowNegative:Boolean = validator.allowNegative;
+        var currencySymbol:String = validator.currencySymbol;
+        var decimalSeparator:String = validator.decimalSeparator;
+        var maxValue:Number = Number(validator.maxValue);
+        var minValue:Number = Number(validator.minValue);
+        var precision:int = int(validator.precision);
+        var thousandsSeparator:String = validator.thousandsSeparator;

         var input:String = String(value);
         var len:int = input.length;
-
-		var isNegative:Boolean = false;
-
-		var i:int;
-		var c:String;
+
+        var isNegative:Boolean = false;
+
+        var i:int;
+        var c:String;

         // Make sure the formatting character parameters are unique,
-		// are not digits or negative formatting characters,
-		// and that the separators are one character.
+        // are not digits or negative formatting characters,
+        // and that the separators are one character.
         var invalidFormChars:String = DECIMAL_DIGITS + NEGATIVE_FORMATTING_CHARS;

         if (currencySymbol == thousandsSeparator ||
@@ -141,16 +141,16 @@
             decimalSeparator.length != 1 ||
             thousandsSeparator.length != 1)
         {
-			results.push(new ValidationResult(
-				true, baseField, "invalidFormatChar",
-				validator.invalidFormatCharsError));
-			return results;
+            results.push(new ValidationResult(
+                true, baseField, "invalidFormatChar",
+                validator.invalidFormatCharsError));
+            return results;
         }

         // Check for invalid characters in input.
         var validChars:String =
-        	DECIMAL_DIGITS + NEGATIVE_FORMATTING_CHARS +
-			currencySymbol + decimalSeparator + thousandsSeparator;
+            DECIMAL_DIGITS + NEGATIVE_FORMATTING_CHARS +
+            currencySymbol + decimalSeparator + thousandsSeparator;
         for (i = 0; i < len; i++)
         {
             c = input.charAt(i);
@@ -158,9 +158,9 @@
             if (validChars.indexOf(c) == -1)
             {
                 results.push(new ValidationResult(
-					true, baseField, "invalidChar",
-					validator.invalidCharError));
-				return results;
+                    true, baseField, "invalidChar",
+                    validator.invalidCharError));
+                return results;
             }
         }

@@ -171,9 +171,9 @@
             if (!allowNegative)
             {
                 results.push(new ValidationResult(
-					true, baseField, "negative",
-					validator.negativeError));
-				return results;
+                    true, baseField, "negative",
+                    validator.negativeError));
+                return results;
             }

             // Strip off the negative formatting and update some variables.
@@ -188,18 +188,18 @@
             if (input.charAt(len - 1) != ")")
             {
                 results.push(new ValidationResult(
-					true, baseField, "invalidChar",
-					validator.invalidCharError));
-				return results;
+                    true, baseField, "invalidChar",
+                    validator.invalidCharError));
+                return results;
             }

             // Check if negative input is allowed.
             if (!allowNegative)
             {
                 results.push(new ValidationResult(
-					true, baseField, "negative",
-					validator.negativeError));
-				return results;
+                    true, baseField, "negative",
+                    validator.negativeError));
+                return results;
             }

             // Strip off the negative formatting and update some variables.
@@ -209,47 +209,48 @@
         }

         // Find the currency symbol if it exists,
-		// then make sure that it's in the right place
-		// and that there is only one.
-        if ((input.charAt(0) == currencySymbol &&
-			 alignSymbol == CurrencyValidatorAlignSymbol.RIGHT) ||
-            (input.charAt(len - 1) == currencySymbol &&
-			 alignSymbol == CurrencyValidatorAlignSymbol.LEFT) ||
-            (len > 2 &&
-			 input.substring(1, len - 1).indexOf(currencySymbol) != -1) ||
+        // then make sure that it's in the right place
+        // and that there is only one.
+        var currencySymbolLength:uint = currencySymbol.length; // allows for symbols that use multiple chars, like the Brazilian "R$"
+        if ((input.substr(0, currencySymbolLength) == currencySymbol &&
+             alignSymbol == CurrencyValidatorAlignSymbol.RIGHT) ||
+            (input.substr(len - currencySymbolLength, currencySymbolLength) == currencySymbol &&
+             alignSymbol == CurrencyValidatorAlignSymbol.LEFT) ||
+            (len > (2 * currencySymbolLength) &&
+             input.substring(currencySymbolLength, len - currencySymbolLength).indexOf(currencySymbol) != -1) ||
             (input.indexOf(currencySymbol) !=
-			 input.lastIndexOf(currencySymbol)))
+             input.lastIndexOf(currencySymbol)))
         {
             results.push(new ValidationResult(
-				true, baseField, "currencySymbol",
-				validator.currencySymbolError));
-			return results;
+                true, baseField, "currencySymbol",
+                validator.currencySymbolError));
+            return results;
         }

         // Now that we know it's in the right place,
-		// strip off the currency symbol if it exists.
+        // strip off the currency symbol if it exists.
         var currencySymbolIndex:int = input.indexOf(currencySymbol);
         if (currencySymbolIndex != -1)
         {
             if (currencySymbolIndex) // if it's at the end
-                input = input.substring(0, len - 1);
+                input = input.substring(0, len - currencySymbolLength);
             else // it's at the beginning
-                input = input.substring(1);
-            len--;
+                input = input.substring(currencySymbolLength);
+            len -= currencySymbolLength;
         }

         // Make sure there is only one decimal point.
         if (input.indexOf(decimalSeparator) !=
-			input.lastIndexOf(decimalSeparator))
+            input.lastIndexOf(decimalSeparator))
         {
             results.push(new ValidationResult(
-				true, baseField, "decimalPointCount",
-				validator.decimalPointCountError));
-			return results;
+                true, baseField, "decimalPointCount",
+                validator.decimalPointCountError));
+            return results;
         }

         // Make sure that every character after the decimal point
-		// is a digit and that the precision is not exceeded.
+        // is a digit and that the precision is not exceeded.
         var decimalSeparatorIndex:int = input.indexOf(decimalSeparator);
         var numDigitsAfterDecimal:int = 0;

@@ -259,42 +260,42 @@

         for (i = decimalSeparatorIndex + 1; i < len; i++)
         {
-			if (DECIMAL_DIGITS.indexOf(input.charAt(i)) == -1)
-			{
-				results.push(new ValidationResult(
-					true, baseField, "invalidChar",
-					validator.invalidCharError));
-				return results;
-			}
-
-			++numDigitsAfterDecimal;
-
-			// Make sure precision is not exceeded.
-			if (precision != -1 && numDigitsAfterDecimal > precision)
-			{
-				results.push(new ValidationResult(
-					true, baseField, "precision",
-					validator.precisionError));
-				return results;
-			}
-		}
+            if (DECIMAL_DIGITS.indexOf(input.charAt(i)) == -1)
+            {
+                results.push(new ValidationResult(
+                    true, baseField, "invalidChar",
+                    validator.invalidCharError));
+                return results;
+            }
+
+            ++numDigitsAfterDecimal;
+
+            // Make sure precision is not exceeded.
+            if (precision != -1 && numDigitsAfterDecimal > precision)
+            {
+                results.push(new ValidationResult(
+                    true, baseField, "precision",
+                    validator.precisionError));
+                return results;
+            }
+        }

         // Make sure the input begins with a digit or a decimal point.
         if (DECIMAL_DIGITS.indexOf(input.charAt(0)) == -1 &&
-			input.charAt(0) != decimalSeparator)
+            input.charAt(0) != decimalSeparator)
         {
             results.push(new ValidationResult(
-				true, baseField, "invalidChar",
-				validator.invalidCharError));
-			return results;
+                true, baseField, "invalidChar",
+                validator.invalidCharError));
+            return results;
         }

         // Make sure that every character before the decimal point
-		// is a digit or is a thousands separator.
+        // is a digit or is a thousands separator.
         // If it's a thousands separator, make sure it's followed
-		// by three consecutive digits, and then make sure the next character
-		// is valid (i.e., either thousands separator, decimal separator,
-		// or nothing).
+        // by three consecutive digits, and then make sure the next character
+        // is valid (i.e., either thousands separator, decimal separator,
+        // or nothing).
         var validGroupEnder:String = thousandsSeparator + decimalSeparator;
         for (i = 1; i < decimalSeparatorIndex; i++)
         {
@@ -308,18 +309,18 @@
                     DECIMAL_DIGITS.indexOf(input.charAt(i + 3)) == -1 ||
                     validGroupEnder.indexOf(input.charAt(i + 4)) == -1)
                 {
-                	results.push(new ValidationResult(
-						true, baseField, "separation",
-						validator.separationError));
-					return results;
+                    results.push(new ValidationResult(
+                        true, baseField, "separation",
+                        validator.separationError));
+                    return results;
                 }
             }
             else if (DECIMAL_DIGITS.indexOf(c) == -1)
             {
                 results.push(new ValidationResult(
-					true, baseField, "invalidChar",
-					validator.invalidCharError));
-				return results;
+                    true, baseField, "invalidChar",
+                    validator.invalidCharError));
+                return results;
             }
         }

@@ -339,823 +340,823 @@

             // Check bounds

-			var x:Number = Number(input);
-
-			if (isNegative)
+            var x:Number = Number(input);
+
+            if (isNegative)
                 x = -x;

-			if (!isNaN(minValue) && x < minValue)
+            if (!isNaN(minValue) && x < minValue)
             {
                 results.push(new ValidationResult(
-					true, baseField, "lowerThanMin",
-					validator.lowerThanMinError));
-				return results;
+                    true, baseField, "lowerThanMin",
+                    validator.lowerThanMinError));
+                return results;
             }

-			if (!isNaN(maxValue) && x > maxValue)
+            if (!isNaN(maxValue) && x > maxValue)
             {
                 results.push(new ValidationResult(
-					true, baseField, "exceedsMax",
-					validator.exceedsMaxError));
-				return results;
+                    true, baseField, "exceedsMax",
+                    validator.exceedsMaxError));
+                return results;
             }
         }

         return results;
     }

-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 */
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
     public function CurrencyValidator()
     {
-		super();
-    }
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  alignSymbol
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the alignSymbol property.
-	 */
-	private var _alignSymbol:String;
-
-    /**
-	 *  @private
-	 */
-	private var alignSymbolOverride:String;
-
-	[Inspectable(category="General", defaultValue="null")]
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  alignSymbol
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the alignSymbol property.
+     */
+    private var _alignSymbol:String;
+
+    /**
+     *  @private
+     */
+    private var alignSymbolOverride:String;
+
+    [Inspectable(category="General", defaultValue="null")]

     /**
      *  Specifies the alignment of the currencySymbol
-	 *  relative to the rest of the expression.
-	 *  Acceptable values in ActionScript are CurrencyValidatorAlignSymbol.LEFT,
-	 *  CurrencyValidatorAlignSymbol.RIGHT, and
-	 *  CurrencyValidatorAlignSymbol.ANY.
-	 *  Acceptable values in MXML are "left",
-	 *  "right", and
-	 *  "any".
-	 *
-	 *  @default CurrencyValidatorAlignSymbol.LEFT
+     *  relative to the rest of the expression.
+     *  Acceptable values in ActionScript are CurrencyValidatorAlignSymbol.LEFT,
+     *  CurrencyValidatorAlignSymbol.RIGHT, and
+     *  CurrencyValidatorAlignSymbol.ANY.
+     *  Acceptable values in MXML are "left",
+     *  "right", and
+     *  "any".
+     *
+     *  @default CurrencyValidatorAlignSymbol.LEFT
      *
      *  @see mx.validators.CurrencyValidatorAlignSymbol
      */
-	public function get alignSymbol():String
-	{
-		return _alignSymbol;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set alignSymbol(value:String):void
-	{
-		alignSymbolOverride = value;
-
-		_alignSymbol = value != null ?
-					   value :
-					   resourceManager.getString(
-					       "SharedResources", "alignSymbol");
-	}
-
-	//----------------------------------
-	//  allowNegative
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the allowNegative property.
-	 */
-	private var _allowNegative:Object;
-
-    /**
-	 *  @private
-	 */
-	private var allowNegativeOverride:Object;
-
+    public function get alignSymbol():String
+    {
+        return _alignSymbol;
+    }
+
+    /**
+     *  @private
+     */
+    public function set alignSymbol(value:String):void
+    {
+        alignSymbolOverride = value;
+
+        _alignSymbol = value != null ?
+                       value :
+                       resourceManager.getString(
+                           "SharedResources", "alignSymbol");
+    }
+
+    //----------------------------------
+    //  allowNegative
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the allowNegative property.
+     */
+    private var _allowNegative:Object;
+
+    /**
+     *  @private
+     */
+    private var allowNegativeOverride:Object;
+
     [Inspectable(category="General", defaultValue="null")]

     /**
      *  Specifies whether negative numbers are permitted.
-	 *  Can be true or false.
-	 *
-	 *  @default true
-     */
-	public function get allowNegative():Object
-	{
-		return _allowNegative;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set allowNegative(value:Object):void
-	{
-		allowNegativeOverride = value;
-
-		_allowNegative = value != null ?
-						 Boolean(value) :
-						 resourceManager.getBoolean(
-						     "validators", "allowNegative");
-	}
-
-	//----------------------------------
-	//  currencySymbol
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the currencySymbol property.
-	 */
-	private var _currencySymbol:String;
-
-    /**
-	 *  @private
-	 */
-	private var currencySymbolOverride:String;
-
-	[Inspectable(category="General", defaultValue="null")]
-
-    /**
-     *  The single-character String used to specify the currency symbol,
-     *  such as "$" or "£".
-	 *  Cannot be a digit and must be distinct from the
+     *  Can be true or false.
+     *
+     *  @default true
+     */
+    public function get allowNegative():Object
+    {
+        return _allowNegative;
+    }
+
+    /**
+     *  @private
+     */
+    public function set allowNegative(value:Object):void
+    {
+        allowNegativeOverride = value;
+
+        _allowNegative = value != null ?
+                         Boolean(value) :
+                         resourceManager.getBoolean(
+                             "validators", "allowNegative");
+    }
+
+    //----------------------------------
+    //  currencySymbol
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the currencySymbol property.
+     */
+    private var _currencySymbol:String;
+
+    /**
+     *  @private
+     */
+    private var currencySymbolOverride:String;
+
+    [Inspectable(category="General", defaultValue="null")]
+
+    /**
+     *  The character String used to specify the currency symbol,
+     *  such as "$", "R$", or "£".
+     *  Cannot be a digit and must be distinct from the
      *  thousandsSeparator and the decimalSeparator.
      *
-	 *  @default "$"
-     */
-	public function get currencySymbol():String
-	{
-		return _currencySymbol;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set currencySymbol(value:String):void
-	{
-		currencySymbolOverride = value;
-
-		_currencySymbol = value != null ?
-						  value :
-						  resourceManager.getString(
-						      "SharedResources", "currencySymbol");
-	}
-
-	//----------------------------------
-	//  decimalSeparator
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the decimalSeparator property.
-	 */
-	private var _decimalSeparator:String;
-
-    /**
-	 *  @private
-	 */
-	private var decimalSeparatorOverride:String;
-
+     *  @default "$"
+     */
+    public function get currencySymbol():String
+    {
+        return _currencySymbol;
+    }
+
+    /**
+     *  @private
+     */
+    public function set currencySymbol(value:String):void
+    {
+        currencySymbolOverride = value;
+
+        _currencySymbol = value != null ?
+                          value :
+                          resourceManager.getString(
+                              "SharedResources", "currencySymbol");
+    }
+
+    //----------------------------------
+    //  decimalSeparator
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the decimalSeparator property.
+     */
+    private var _decimalSeparator:String;
+
+    /**
+     *  @private
+     */
+    private var decimalSeparatorOverride:String;
+
     [Inspectable(category="General", defaultValue="null")]

     /**
      *  The character used to separate the whole
-	 *  from the fractional part of the number.
-	 *  Cannot be a digit and must be distinct from the
+     *  from the fractional part of the number.
+     *  Cannot be a digit and must be distinct from the
      *  currencySymbol and the thousandsSeparator.
-	 *
-	 *  @default "."
-     */
-	public function get decimalSeparator():String
-	{
-		return _decimalSeparator;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set decimalSeparator(value:String):void
-	{
-		decimalSeparatorOverride = value;
-
-		_decimalSeparator = value != null ?
-							value :
-							resourceManager.getString(
-								"validators", "decimalSeparator");
-	}
-
-	//----------------------------------
-	//  maxValue
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the maxValue property.
-	 */
-	private var _maxValue:Object;
-
-    /**
-	 *  @private
-	 */
-	private var maxValueOverride:Object;
-
+     *
+     *  @default "."
+     */
+    public function get decimalSeparator():String
+    {
+        return _decimalSeparator;
+    }
+
+    /**
+     *  @private
+     */
+    public function set decimalSeparator(value:String):void
+    {
+        decimalSeparatorOverride = value;
+
+        _decimalSeparator = value != null ?
+                            value :
+                            resourceManager.getString(
+                                "validators", "decimalSeparator");
+    }
+
+    //----------------------------------
+    //  maxValue
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the maxValue property.
+     */
+    private var _maxValue:Object;
+
+    /**
+     *  @private
+     */
+    private var maxValueOverride:Object;
+
     [Inspectable(category="General", defaultValue="null")]

     /**
      *  Maximum value for a valid number.
-	 *  A value of NaN means it is ignored.
-	 *
-	 *  @default NaN
-     */
-	public function get maxValue():Object
-	{
-		return _maxValue;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set maxValue(value:Object):void
-	{
-		maxValueOverride = value;
-
-		_maxValue = value != null ?
-					Number(value) :
-					resourceManager.getNumber(
-						"validators", "maxValue");
-	}
-
-	//----------------------------------
-	//  minValue
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the minValue property.
-	 */
-	private var _minValue:Object;
-
-    /**
-	 *  @private
-	 */
-	private var minValueOverride:Object;
-
+     *  A value of NaN means it is ignored.
+     *
+     *  @default NaN
+     */
+    public function get maxValue():Object
+    {
+        return _maxValue;
+    }
+
+    /**
+     *  @private
+     */
+    public function set maxValue(value:Object):void
+    {
+        maxValueOverride = value;
+
+        _maxValue = value != null ?
+                    Number(value) :
+                    resourceManager.getNumber(
+                        "validators", "maxValue");
+    }
+
+    //----------------------------------
+    //  minValue
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the minValue property.
+     */
+    private var _minValue:Object;
+
+    /**
+     *  @private
+     */
+    private var minValueOverride:Object;
+
     [Inspectable(category="General", defaultValue="null")]

     /**
      *  Minimum value for a valid number.
-	 *  A value of NaN means it is ignored.
-	 *
-	 *  @default NaN
-     */
-	public function get minValue():Object
-	{
-		return _minValue;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set minValue(value:Object):void
-	{
-		minValueOverride = value;
-
-		_minValue = value != null ?
-					Number(value) :
-					resourceManager.getNumber(
-						"validators", "minValue");
-	}
-
-	//----------------------------------
-	//  precision
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the precision property.
-	 */
-	private var _precision:Object;
-
-    /**
-	 *  @private
-	 */
-	private var precisionOverride:Object;
-
+     *  A value of NaN means it is ignored.
+     *
+     *  @default NaN
+     */
+    public function get minValue():Object
+    {
+        return _minValue;
+    }
+
+    /**
+     *  @private
+     */
+    public function set minValue(value:Object):void
+    {
+        minValueOverride = value;
+
+        _minValue = value != null ?
+                    Number(value) :
+                    resourceManager.getNumber(
+                        "validators", "minValue");
+    }
+
+    //----------------------------------
+    //  precision
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the precision property.
+     */
+    private var _precision:Object;
+
+    /**
+     *  @private
+     */
+    private var precisionOverride:Object;
+
     [Inspectable(category="General", defaultValue="null")]

     /**
      *  The maximum number of digits allowed to follow the decimal point.
-	 *  Can be any non-negative integer.
-	 *  Note: Setting to 0
+     *  Can be any non-negative integer.
+     *  Note: Setting to 0
      *  has the same effect as setting NumberValidator.domain
-	 *  to int.
-	 *	Setting it to -1, means it is ignored.
-	 *
-	 *  @default 2
-     */
-	public function get precision():Object
-	{
-		return _precision;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set precision(value:Object):void
-	{
-		precisionOverride = value;
-
-		_precision = value != null ?
-					 int(value) :
-					 resourceManager.getInt(
-					     "validators", "currencyValidatorPrecision");
-	}
-
-	//----------------------------------
-	//  thousandsSeparator
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the thousandsSeparator property.
-	 */
-	private var _thousandsSeparator:String;
-
-    /**
-	 *  @private
-	 */
-	private var thousandsSeparatorOverride:String;
-
+     *  to int.
+     *  Setting it to -1, means it is ignored.
+     *
+     *  @default 2
+     */
+    public function get precision():Object
+    {
+        return _precision;
+    }
+
+    /**
+     *  @private
+     */
+    public function set precision(value:Object):void
+    {
+        precisionOverride = value;
+
+        _precision = value != null ?
+                     int(value) :
+                     resourceManager.getInt(
+                         "validators", "currencyValidatorPrecision");
+    }
+
+    //----------------------------------
+    //  thousandsSeparator
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the thousandsSeparator property.
+     */
+    private var _thousandsSeparator:String;
+
+    /**
+     *  @private
+     */
+    private var thousandsSeparatorOverride:String;
+
     [Inspectable(category="General", defaultValue=",")]

     /**
      *  The character used to separate thousands.
-	 *  Cannot be a digit and must be distinct from the
+     *  Cannot be a digit and must be distinct from the
      *  currencySymbol and the decimalSeparator.
-	 *
-	 *  @default ","
-     */
-	public function get thousandsSeparator():String
-	{
-		return _thousandsSeparator;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set thousandsSeparator(value:String):void
-	{
-		thousandsSeparatorOverride = value;
-
-		_thousandsSeparator = value != null ?
-							  value :
-							  resourceManager.getString(
-							      "validators", "thousandsSeparator");
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties: Errors
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  currencySymbolError
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the currencySymbolError property.
-	 */
-	private var _currencySymbolError:String;
-
-    /**
-	 *  @private
-	 */
-	private var currencySymbolErrorOverride:String;
+     *
+     *  @default ","
+     */
+    public function get thousandsSeparator():String
+    {
+        return _thousandsSeparator;
+    }
+
+    /**
+     *  @private
+     */
+    public function set thousandsSeparator(value:String):void
+    {
+        thousandsSeparatorOverride = value;
+
+        _thousandsSeparator = value != null ?
+                              value :
+                              resourceManager.getString(
+                                  "validators", "thousandsSeparator");
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties: Errors
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  currencySymbolError
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the currencySymbolError property.
+     */
+    private var _currencySymbolError:String;
+
+    /**
+     *  @private
+     */
+    private var currencySymbolErrorOverride:String;

     [Inspectable(category="Errors", defaultValue="null")]

     /**
      *  Error message when the currency symbol, defined by currencySymbol,
      *  is in the wrong location.
-	 *
-	 *  @default "The currency symbol occurs in an invalid location."
-     */
-	public function get currencySymbolError():String
-	{
-		return _currencySymbolError;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set currencySymbolError(value:String):void
-	{
-		currencySymbolErrorOverride = value;
-
-		_currencySymbolError = value != null ?
-							   value :
-							   resourceManager.getString(
-							       "validators", "currencySymbolError");
-	}
-
-	//----------------------------------
-	//  decimalPointCountError
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the decimalPointCountError property.
-	 */
-	private var _decimalPointCountError:String;
-
-    /**
-	 *  @private
-	 */
-	private var decimalPointCountErrorOverride:String;
+     *
+     *  @default "The currency symbol occurs in an invalid location."
+     */
+    public function get currencySymbolError():String
+    {
+        return _currencySymbolError;
+    }
+
+    /**
+     *  @private
+     */
+    public function set currencySymbolError(value:String):void
+    {
+        currencySymbolErrorOverride = value;
+
+        _currencySymbolError = value != null ?
+                               value :
+                               resourceManager.getString(
+                                   "validators", "currencySymbolError");
+    }
+
+    //----------------------------------
+    //  decimalPointCountError
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the decimalPointCountError property.
+     */
+    private var _decimalPointCountError:String;
+
+    /**
+     *  @private
+     */
+    private var decimalPointCountErrorOverride:String;

     [Inspectable(category="Errors", defaultValue="null")]

     /**
      *  Error message when the decimal separator character occurs more than once.
-	 *
-	 *  @default "The decimal separator can only occur once."
-     */
-	public function get decimalPointCountError():String
-	{
-		return _decimalPointCountError;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set decimalPointCountError(value:String):void
-	{
-		decimalPointCountErrorOverride = value;
-
-		_decimalPointCountError = value != null ?
-								  value :
-								  resourceManager.getString(
-								      "validators", "decimalPointCountError");
-	}
-
-	//----------------------------------
-	//  exceedsMaxError
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the exceedsMaxError property.
-	 */
-	private var _exceedsMaxError:String;
-
-    /**
-	 *  @private
-	 */
-	private var exceedsMaxErrorOverride:String;
+     *
+     *  @default "The decimal separator can only occur once."
+     */
+    public function get decimalPointCountError():String
+    {
+        return _decimalPointCountError;
+    }
+
+    /**
+     *  @private
+     */
+    public function set decimalPointCountError(value:String):void
+    {
+        decimalPointCountErrorOverride = value;
+
+        _decimalPointCountError = value != null ?
+                                  value :
+                                  resourceManager.getString(
+                                      "validators", "decimalPointCountError");
+    }
+
+    //----------------------------------
+    //  exceedsMaxError
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the exceedsMaxError property.
+     */
+    private var _exceedsMaxError:String;
+
+    /**
+     *  @private
+     */
+    private var exceedsMaxErrorOverride:String;

     [Inspectable(category="Errors", defaultValue="null")]

     /**
      *  Error message when the value is greater than maxValue.
-	 *
-	 *  @default "The amount entered is too large."
-     */
-	public function get exceedsMaxError():String
-	{
-		return _exceedsMaxError;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set exceedsMaxError(value:String):void
-	{
-		exceedsMaxErrorOverride = value;
-
-		_exceedsMaxError = value != null ?
-						   value :
-						   resourceManager.getString(
-						       "validators", "exceedsMaxErrorCV");
-	}
-
-	//----------------------------------
-	//  invalidCharError
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the invalidCharError property.
-	 */
-	private var _invalidCharError:String;
-
-    /**
-	 *  @private
-	 */
-	private var invalidCharErrorOverride:String;
+     *
+     *  @default "The amount entered is too large."
+     */
+    public function get exceedsMaxError():String
+    {
+        return _exceedsMaxError;
+    }
+
+    /**
+     *  @private
+     */
+    public function set exceedsMaxError(value:String):void
+    {
+        exceedsMaxErrorOverride = value;
+
+        _exceedsMaxError = value != null ?
+                           value :
+                           resourceManager.getString(
+                               "validators", "exceedsMaxErrorCV");
+    }
+
+    //----------------------------------
+    //  invalidCharError
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the invalidCharError property.
+     */
+    private var _invalidCharError:String;
+
+    /**
+     *  @private
+     */
+    private var invalidCharErrorOverride:String;

     [Inspectable(category="Errors", defaultValue="null")]

     /**
      *  Error message when the currency contains invalid characters.
-	 *
-	 *  @default "The input contains invalid characters."
-     */
-	public function get invalidCharError():String
-	{
-		return _invalidCharError;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set invalidCharError(value:String):void
-	{
-		invalidCharErrorOverride = value;
-
-		_invalidCharError = value != null ?
-							value :
-							resourceManager.getString(
-								"validators", "invalidCharError");
-	}
-
-	//----------------------------------
-	//  invalidFormatCharsError
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the invalidFormatCharsError property.
-	 */
-	private var _invalidFormatCharsError:String;
-
-    /**
-	 *  @private
-	 */
-	private var invalidFormatCharsErrorOverride:String;
+     *
+     *  @default "The input contains invalid characters."
+     */
+    public function get invalidCharError():String
+    {
+        return _invalidCharError;
+    }
+
+    /**
+     *  @private
+     */
+    public function set invalidCharError(value:String):void
+    {
+        invalidCharErrorOverride = value;
+
+        _invalidCharError = value != null ?
+                            value :
+                            resourceManager.getString(
+                                "validators", "invalidCharError");
+    }
+
+    //----------------------------------
+    //  invalidFormatCharsError
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the invalidFormatCharsError property.
+     */
+    private var _invalidFormatCharsError:String;
+
+    /**
+     *  @private
+     */
+    private var invalidFormatCharsErrorOverride:String;

     [Inspectable(category="Errors", defaultValue="null")]

     /**
      *  Error message when the value contains an invalid formatting character.
-	 *
-	 *  @default "One of the formatting parameters is invalid."
-     */
-	public function get invalidFormatCharsError():String
-	{
-		return _invalidFormatCharsError;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set invalidFormatCharsError(value:String):void
-	{
-		invalidFormatCharsErrorOverride = value;
-
-		_invalidFormatCharsError = value != null ?
-								   value :
-								   resourceManager.getString(
-								       "validators", "invalidFormatCharsError");
-	}
-
-	//----------------------------------
-	//  lowerThanMinError
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the lowerThanMinError property.
-	 */
-	private var _lowerThanMinError:String;
-
-    /**
-	 *  @private
-	 */
-	private var lowerThanMinErrorOverride:String;
+     *
+     *  @default "One of the formatting parameters is invalid."
+     */
+    public function get invalidFormatCharsError():String
+    {
+        return _invalidFormatCharsError;
+    }
+
+    /**
+     *  @private
+     */
+    public function set invalidFormatCharsError(value:String):void
+    {
+        invalidFormatCharsErrorOverride = value;
+
+        _invalidFormatCharsError = value != null ?
+                                   value :
+                                   resourceManager.getString(
+                                       "validators", "invalidFormatCharsError");
+    }
+
+    //----------------------------------
+    //  lowerThanMinError
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the lowerThanMinError property.
+     */
+    private var _lowerThanMinError:String;
+
+    /**
+     *  @private
+     */
+    private var lowerThanMinErrorOverride:String;

     [Inspectable(category="Errors", defaultValue="null")]

     /**
      *  Error message when the value is less than minValue.
-	 *
-	 *  @default "The amount entered is too small."
-     */
-	public function get lowerThanMinError():String
-	{
-		return _lowerThanMinError;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set lowerThanMinError(value:String):void
-	{
-		lowerThanMinErrorOverride = value;
-
-		_lowerThanMinError = value != null ?
-							 value :
-							 resourceManager.getString(
-							     "validators", "lowerThanMinError");
-	}
-
-	//----------------------------------
-	//  negativeError
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the negativeError property.
-	 */
-	private var _negativeError:String;
-
-    /**
-	 *  @private
-	 */
-	private var negativeErrorOverride:String;
+     *
+     *  @default "The amount entered is too small."
+     */
+    public function get lowerThanMinError():String
+    {
+        return _lowerThanMinError;
+    }
+
+    /**
+     *  @private
+     */
+    public function set lowerThanMinError(value:String):void
+    {
+        lowerThanMinErrorOverride = value;
+
+        _lowerThanMinError = value != null ?
+                             value :
+                             resourceManager.getString(
+                                 "validators", "lowerThanMinError");
+    }
+
+    //----------------------------------
+    //  negativeError
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the negativeError property.
+     */
+    private var _negativeError:String;
+
+    /**
+     *  @private
+     */
+    private var negativeErrorOverride:String;

     [Inspectable(category="Errors", defaultValue="null")]

     /**
      *  Error message when the value is negative and
      *  the allowNegative property is false.
-	 *
-	 *  @default "The amount may not be negative."
-     */
-	public function get negativeError():String
-	{
-		return _negativeError;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set negativeError(value:String):void
-	{
-		negativeErrorOverride = value;
-
-		_negativeError = value != null ?
-						 value :
-						 resourceManager.getString(
-						     "validators", "negativeError");
-	}
-
-	//----------------------------------
-	//  precisionError
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the precisionError property.
-	 */
-	private var _precisionError:String;
-
-    /**
-	 *  @private
-	 */
-	private var precisionErrorOverride:String;
+     *
+     *  @default "The amount may not be negative."
+     */
+    public function get negativeError():String
+    {
+        return _negativeError;
+    }
+
+    /**
+     *  @private
+     */
+    public function set negativeError(value:String):void
+    {
+        negativeErrorOverride = value;
+
+        _negativeError = value != null ?
+                         value :
+                         resourceManager.getString(
+                             "validators", "negativeError");
+    }
+
+    //----------------------------------
+    //  precisionError
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the precisionError property.
+     */
+    private var _precisionError:String;
+
+    /**
+     *  @private
+     */
+    private var precisionErrorOverride:String;

     [Inspectable(category="Errors", defaultValue="null")]

     /**
      *  Error message when the value has a precision that exceeds the value
      *  defined by the precision property.
-	 *
-	 *  @default "The amount entered has too many digits beyond
-	 *  the decimal point."
-     */
-	public function get precisionError():String
-	{
-		return _precisionError;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set precisionError(value:String):void
-	{
-		precisionErrorOverride = value;
-
-		_precisionError = value != null ?
-						  value :
-						  resourceManager.getString(
-						      "validators", "precisionError");
-	}
-
-	//----------------------------------
-	//  separationError
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the separationError property.
-	 */
-	private var _separationError:String;
-
-    /**
-	 *  @private
-	 */
-	private var separationErrorOverride:String;
+     *
+     *  @default "The amount entered has too many digits beyond
+     *  the decimal point."
+     */
+    public function get precisionError():String
+    {
+        return _precisionError;
+    }
+
+    /**
+     *  @private
+     */
+    public function set precisionError(value:String):void
+    {
+        precisionErrorOverride = value;
+
+        _precisionError = value != null ?
+                          value :
+                          resourceManager.getString(
+                              "validators", "precisionError");
+    }
+
+    //----------------------------------
+    //  separationError
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the separationError property.
+     */
+    private var _separationError:String;
+
+    /**
+     *  @private
+     */
+    private var separationErrorOverride:String;

     [Inspectable(category="Errors", defaultValue="null")]

     /**
      *  Error message when the thousands separator is incorrectly placed.
-	 *
-	 *  @default "The thousands separator must be followed by three digits."
-     */
-	public function get separationError():String
-	{
-		return _separationError;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set separationError(value:String):void
-	{
-		separationErrorOverride = value;
-
-		_separationError = value != null ?
-						   value :
-						   resourceManager.getString(
-						       "validators", "separationError");
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-	 *  @private
-     */
-	override protected function resourcesChanged():void
-	{
-		super.resourcesChanged();
-
-		alignSymbol = alignSymbolOverride;
-		allowNegative = allowNegativeOverride;
-		currencySymbol = currencySymbolOverride;
-		decimalSeparator = decimalSeparatorOverride;
-		maxValue = maxValueOverride;
-		minValue = minValueOverride;
-		precision = precisionOverride;
-		thousandsSeparator = thousandsSeparatorOverride;
-
-		currencySymbolError = currencySymbolErrorOverride;
-		decimalPointCountError = decimalPointCountErrorOverride;
-		exceedsMaxError = exceedsMaxErrorOverride;
-		invalidCharError = invalidCharErrorOverride;
-		invalidFormatCharsError = invalidFormatCharsErrorOverride;
-		lowerThanMinError = lowerThanMinErrorOverride;
-		negativeError = negativeErrorOverride;
-		precisionError = precisionErrorOverride;
-		separationError = separationErrorOverride;
-	}
+     *
+     *  @default "The thousands separator must be followed by three digits."
+     */
+    public function get separationError():String
+    {
+        return _separationError;
+    }
+
+    /**
+     *  @private
+     */
+    public function set separationError(value:String):void
+    {
+        separationErrorOverride = value;
+
+        _separationError = value != null ?
+                           value :
+                           resourceManager.getString(
+                               "validators", "separationError");
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function resourcesChanged():void
+    {
+        super.resourcesChanged();
+
+        alignSymbol = alignSymbolOverride;
+        allowNegative = allowNegativeOverride;
+        currencySymbol = currencySymbolOverride;
+        decimalSeparator = decimalSeparatorOverride;
+        maxValue = maxValueOverride;
+        minValue = minValueOverride;
+        precision = precisionOverride;
+        thousandsSeparator = thousandsSeparatorOverride;
+
+        currencySymbolError = currencySymbolErrorOverride;
+        decimalPointCountError = decimalPointCountErrorOverride;
+        exceedsMaxError = exceedsMaxErrorOverride;
+        invalidCharError = invalidCharErrorOverride;
+        invalidFormatCharsError = invalidFormatCharsErrorOverride;
+        lowerThanMinError = lowerThanMinErrorOverride;
+        negativeError = negativeErrorOverride;
+        precisionError = precisionErrorOverride;
+        separationError = separationErrorOverride;
+    }

     /**
      *  Override of the base class doValidation() method
      *  to validate a currency expression.
      *
-	 *
You do not call this method directly;
-	 *  Flex calls it as part of performing a validation.
-	 *  If you create a custom Validator class, you must implement this method.

-	 *
+     *
You do not call this method directly;
+     *  Flex calls it as part of performing a validation.
+     *  If you create a custom Validator class, you must implement this method.

+     *
      *  @param value Object to validate.
      *
-	 *  @return An Array of ValidationResult objects, with one ValidationResult
-	 *  object for each field examined by the validator.
+     *  @return An Array of ValidationResult objects, with one ValidationResult
+     *  object for each field examined by the validator.
      */
     override protected function doValidation(value:Object):Array
     {
         var results:Array = super.doValidation(value);
-
-		// Return if there are errors
-		// or if the required property is set to false and length is 0.
-		var val:String = value ? String(value) : "";
-		if (results.length > 0 || ((val.length == 0) && !required))
-			return results;
-		else
-		    return CurrencyValidator.validateCurrency(this, value, null);
+
+        // Return if there are errors
+        // or if the required property is set to false and length is 0.
+        var val:String = value ? String(value) : "";
+        if (results.length > 0 || ((val.length == 0) && !required))
+            return results;
+        else
+            return CurrencyValidator.validateCurrency(this, value, null);
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 7472
Author:   chaase@adobe.com
Date:     2009-06-01T17:57:10.489577Z

Log Message:
-----------
Changing a handful of behavior-related properties to styles instead, for usability and consistency:
Scroller.horizontalScrollPolicy
Scroller.verticalScrollPolicy
TextArea.horizontalScrollPolicy
TextArea.verticalScrollPolicy
Slider.liveDragging

Also made previous properties-as-styles changes (smoothScrolling and fixedThumbSize) not inheritable and not exposed in SkinnableContainer/GroupBase.

QE Notes: Requires Mustella updates to handle changes from properties to styles
Doc Notes:
Bugs: sdk-21032
Reviewer: Glenn
Tests: checkintests, Mustella gumbo/components/Scroller, gumbo/components/ScrollBar, gumbo/components/TextArea/, and gumbo/components/Slider

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollerLayout.as</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/spark/components/supportClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableContainer.as
@@ -126,26 +126,6 @@
  *  @productversion Flex 4
  */
 [Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark")]
-
-/**
- *  @copy spark.components.supportClasses.GroupBase#style:fixedThumbSize
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="fixedThumbSize", type="Boolean", inherit="yes")]
-
-/**
- *  @copy spark.components.supportClasses.GroupBase#style:smoothScrolling
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="smoothScrolling", type="Boolean", inherit="yes")]

 [IconFile("SkinnableContainer.png")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 15045
Author:   jszeto@adobe.com
Date:     2010-03-26T00:36:05.852496Z

Log Message:
-----------
Merging revision 15044 from 4.x to trunk

Mirroring Window Gripper and DateField bug fixes

http://bugs.adobe.com/jira/browse/SDK-25719 - The gripper does not show up in an MX Window that is mirrored and using flex chrome

Added an mx_internal property to Button to track if the Button should modify the layoutDirection of its skins. MX Window and MX WindowedApplication both set this property to undefined. This is the only skin/icon in the halo and spark framework that inherits its layoutDirection from its parent. All others have layoutDirection of LTR.

http://bugs.adobe.com/jira/browse/SDK-25995 - DateField opens drop down on wrong side when layoutDirection = rtl

Added check if left edge of the dropDown exceeds the left screen bounds.

QE notes: n/a
Doc notes: n/a
Bugs: SDK-25719, SDK-25995
Reviewer: Kevin
Tests run: checkintests, DateField
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.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/Button.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/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>

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

--- frameworks/projects/airframework/src/mx/core/WindowedApplication.as
+++ frameworks/projects/airframework/src/mx/core/WindowedApplication.as
@@ -2200,6 +2200,8 @@
                     styleManager.getStyleDeclaration("." + gripSkin);
                 gripper.styleName = gripSkin;
             }
+            gripper.skinLayoutDirection = undefined;
+
             rawChildren.addChild(gripper);

             gripperHit = new Sprite();


Transferred from the Adobe Open Source Subversion Repository

Revision: 9213
Author:   jszeto@adobe.com
Date:     2009-08-11T00:29:10.884707Z

Log Message:
-----------
Adding missing ASDoc comments to GraphicElement

QE notes: None
Doc notes: Review ASDoc comment additions
Bugs: FLEXDOCS-531
Reviewer: none
Tests run: none
Is noteworthy for integration: no

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/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as
+++ frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as
@@ -796,7 +796,9 @@

     /**
-     * A utility method to update the rotation and scale of the transform
+     *  FIXME (chaase) : FLEXDOCS-1031
+     *
+     *  A utility method to update the rotation and scale of the transform
      * while keeping a particular point, specified in the component's
      * own coordinate space, fixed in the parent's coordinate space.
      * This function will assign the rotation and scale values provided,
@@ -805,6 +807,11 @@
      * @param sx,sy,sz the new values for the scale of the transform
      * @param tx,ty,tz the point, in the component's own coordinates,
      * to keep fixed relative to its parent.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function transformPointToParent(propertyIs3D:Boolean,
         transformCenter:Vector3D, currentPosition:Vector3D,


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

--- frameworks/projects/framework/src/mx/validators/ValidationResult.as
+++ frameworks/projects/framework/src/mx/validators/ValidationResult.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2006 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: 18126
Author:   gruehle@adobe.com
Date:     2010-10-11T18:03:16.346900Z

Log Message:
-----------
Change name MobileTextField to StyleableTextField.

QE notes: Tests using MobileTextField by name will need updating.
Doc notes: Docs mentioning MobileTextField will need updating.
Bugs: SDK-27849
Reviewer: Ryan
Tests run: checkintests, QE cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileTextField.as" copyfrom-rev="18115" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/MobileTextFieldTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.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/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/TextInputOperation.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.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/mobilecomponents/src/spark/components/MobileIconItemRenderer.as</path>

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

--- frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as
+++ frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as
@@ -24,6 +24,6 @@
  *  but ButtonSkin needs to be in framework.swc along with Button.
  */
     import spark.preloaders.SplashScreen; SplashScreen;
-    import spark.components.supportClasses.MobileTextField; MobileTextField;
+    import spark.components.supportClasses.StyleableTextField; StyleableTextField;
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3057
Author:   jimurphy@adobe.com
Date:     2008-09-02T15:18:38.819662Z

Log Message:
-----------
Merged 3.0.x revisions [2966,2969,2995,3004,3018-3019,3023,3029-3030,3046,3049,3052] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/ModalWindowRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</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/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/PopUpRequest.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/events/SWFBridgeEvent.as</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/controls/DateField.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/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/SliderThumb.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/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SizeRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterManagerRequest.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterManagerRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FocusRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.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/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/dividedBoxClasses/BoxDivider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootDragEvent.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/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" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.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/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/EventUtil.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootMouseEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeRequest.as</path>

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

--- frameworks/projects/mx/src/mx/controls/sliderClasses/SliderThumb.as
+++ frameworks/projects/mx/src/mx/controls/sliderClasses/SliderThumb.as
@@ -170,7 +170,8 @@
 		{
 			systemManager.getSandboxRoot().removeEventListener(
 				MouseEvent.MOUSE_MOVE, mouseMoveHandler, true);
-
+            systemManager.deployMouseShields(false);
+
 			Slider(owner).onThumbRelease(this);
 		}
 	}
@@ -317,7 +318,8 @@

 			systemManager.getSandboxRoot().addEventListener(
 				MouseEvent.MOUSE_MOVE, mouseMoveHandler, true);
-
+			systemManager.deployMouseShields(true);
+
 			Slider(owner).onThumbPress(this);
 		}
 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 18875
Author:   smgilson@adobe.com
Date:     2010-11-30T21:18:42.267112Z

Log Message:
-----------
ASDoc updates on formatters

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/supportClasses/GlobalizationBase.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/formatters/supportClasses/NumberFormatterBase.as</path>

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

--- frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as
+++ frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as
@@ -36,7 +36,7 @@
  *  flash.globalization.CurrencyFormatter. Therefore,
  *  the locale-specific formatting
  *  is provided by the flash.globalization.CurrencyFormatter.
- *  However, this CurrencyFormatter class can be used in MXML declartions,
+ *  However, this CurrencyFormatter class can be used in MXML declarations,
  *  uses the locale style for the requested Locale ID name, and has
  *  methods and properties that are bindable.
  *

@@ -46,6 +46,21 @@
  *  the flash.globalization classes are unsupported, on these systems this
  *  wrapper class provides fallback functionality.
  *

+ *
+ *  @mxml
The <s:CurrencyFormatter> tag inherits all of the tag
+ *  attributes of its superclass and adds the following tag attributes:

+ *
+ *

+ *  <s:CurrencyFormatter
+ *    Properties
+ *    actualLocaleIDName="locale and OS dependent"
+ *    currencyISOCode="locale and OS dependent"
+ *    currencySymbol="locale and OS dependent"
+ *    negativeCurrencyFormat="locale and OS dependent"
+ *    positiveCurrencyFormat="locale and OS dependent"
+ *    useCurrencySymbol="false"
+ *  />
+ *

  *
  *  @includeExample examples/CurrencyFormatterExample1.mxml
  *  @includeExample examples/CurrencyFormatterExample2.mxml
@@ -89,8 +104,8 @@
      *  representing currency amounts according to
      *  the conventions of a given locale.
      *

-     *  The locale for this class is supplied by the locale style. The
-     *  locale style can be set in several ways:
+     *  The locale for this class is supplied by the locale style. The
+     *  locale style can be set in several ways:
      *

      *

      *

@@ -98,23 +113,23 @@
      *  locale from the document that contains the declaration.
      *

      *  Example:
-     *  <listing version="3.0" >
+     *

      *  <fx:Declarations>

      *         <s:CurrencyFormatter id="cf" />

      *  </fx:Declarations>
-     *  </listing>
+     *

      *

      *  By using an MXML declaration and specifying the locale value
      *  in the list of assignments.
      *

      *  Example:
-     *  <listing version="3.0" >
+     *

      *  <fx:Declarations>

      *      <s:CurrencyFormatter id="cf_Japanese" locale="ja-JP" />

      *  </fx:Declarations>
-     *  </listing>
+     *

      *

-     *  Calling the setStyle method,
+     *  Calling the setStyle() method,
      *  e.g. cf.setStyle("locale", "ja-JP")
      *

      *

@@ -123,18 +138,18 @@
      *

      *

      *

-     *  If the locale style is not set by one of the above techniques,
+     *  If the locale style is not set by one of the above techniques,
      *  the methods of this class that depend on the locale
-     *  will set lastOperationStatus to
+     *  sets lastOperationStatus to
      *  LastOperationStatus.LOCALE_UNDEFINED_ERROR
      *  and depending on the return type the methods will return
      *  null, 0, or undefined.

      *
      *
Most of the properties of
-     *  this class are automatically set based on the locale style. If the
-     *  locale style is changed, any properties that have not been explicitly
+     *  this class are automatically set based on the locale style. If the
+     *  locale style is changed, any properties that have not been explicitly
      *  set will also be updated based on the new locale. Note that the
-     *  actual locale that is used is specified by the actualLocaleIDName
+     *  actual locale that is used is specified by the actualLocaleIDName
      *  property.

      *
      *
NOTE: When a fallback locale is used, the currency
@@ -196,7 +211,7 @@
     /**
      *  @inheritDoc
      *
-     *  @see flash.globalization.CurrencyFormatter.actualLocaleIDName
+     *  @see flash.globalization.CurrencyFormatter#actualLocaleIDName
      *  @see #CurrencyFormatter()
      *
      *  @langversion 3.0
@@ -247,11 +262,11 @@
      *  based on the actual locale that is used. When a fallback
      *  locale is used, this property reflects the preferred/default
      *  currency code for the fallback locale.

-     *
-     *  @throws TypeError if this property is assigned a null value.
      *
      *
The default value is dependent on the actual locale and operating
      *  system.

+     *
+     *  @throws TypeError if this property is assigned a null value.
      *
      *  @see #actualLocaleIDName
      *  @see #format()
@@ -327,11 +342,11 @@
      *  locale is used, this property reflects the preferred/default
      *  currency symbol for the fallback locale which may be different
      *  then the locale style.

-     *
-     *  @throws TypeError if this property is assigned a null value.
      *
      *
The default value is dependent on the actual locale and operating
      *  system.

+     *
+     *  @throws TypeError if this property is assigned a null value.
      *
      *  @see #actualLocaleIDName
      *  @see #format()
@@ -493,11 +508,11 @@
      *            (n ¤)
      *

      *

-     *
-     *  @throws ArgumentError if the assigned value is not between 0 and 15.
      *
      *
The default value is dependent on the actual locale and operating
      *  system.

+     *
+     *  @throws ArgumentError if the assigned value is not between 0 and 15.
      *
      *  @see #format()
      *  @see #currencySymbol
@@ -582,10 +597,10 @@
      *

      *

      *
-     *  @throws ArgumentError if the assigned value is not between 0 and 3.
-     *
      *
The default value is dependent on the actual locale and operating
      *  system.

+     *
+     *  @throws ArgumentError if the assigned value is not between 0 and 3.
      *
      *  @see #currencySymbol
      *  @see #format()
@@ -746,14 +761,15 @@
     /**
      *  Creates a string representing a currency amount formatted
      *  according to the current properties of this CurrencyFormatter object,
-     *  including the locale, useCurrencySymbol, the currencySymbol or
-     *  the currencyISOCode.
+     *  including the locale, useCurrencySymbol,
+     *  the currencySymbol, or
+     *  the currencyISOCode properties.
      *
      *
The useCurrencySymbol property determines whether the
-     *  format method will use the currencySymbol or the
-     *  currencyISOCode in the
+     *  format method uses the currencySymbol or the
+     *  currencyISOCode in the
      *  formatted currency amount. The default value for
-     *  useCurrencySymobl is false
+     *  useCurrencySymobl is false
      *  and thus by default currency amounts will be formatted with the
      *  currencyISOCode

      *
@@ -767,7 +783,7 @@
      *  You can use the formattingWithCurrencySymbolIsSafe()
      *  method to test whether or the ISO code of the
      *  currency to be formatted matches the  default currency ISO code
-     *  for the actual locael used by the formatter.
+     *  for the actual local used by the formatter.
      *

      *
      *
This method can format numbers of very large and very small
@@ -776,19 +792,18 @@
      *

      *
      *
If there is an error when formatting, due to an illegal input value
-     *  or other error, by default the format() method will
-     *  return null. However if the errorText property
-     *  is non-null, then the value of the errorText property will
-     *  be returned. The lastOperationStatus property will be
+     *  or other error, by default the format() method
+     *  returns null. However if the errorText property
+     *  is non-null, then the value of the errorText property is
+     *  returned. The lastOperationStatus property is
      *  set to indicate the error that occurred.

-     *
      *
      *  @param value An object that contains the numeric value to be formatted
      *  into a currency string. If the
      *  object is not a Number then it will be converted
      *  to a number using the Number() conversion function.
      *
-     *  @example  In this example the locale style is set to
+     *  @example  In this example the locale style is set to
      *  fr-CA [French (Canada)]. The example assumes that this locale
      *  is supported in the user's operating system and therefore
      *  no fallback locale is used.
@@ -796,7 +811,7 @@
      *  ISO code of CAD. Therefore when formatting a currency
      *  with the default values, CAD is used as the currency symbol. However
      *  when the useCurrencySymbol property is set to
-     *  true, the currencySymbol
+     *  true, the currencySymbol
      *  property is used to format the currency amount.
      *
      *  <listing version="3.0" >
@@ -819,10 +834,10 @@
      *  amount in Canadian dollars using the default user's locale.
      *  The formattingWithCurrencySymbolIsSafe() method
      *  is used to set the value of useCurrencySymbol
-     *  property. If the user's default locale is Canada (e.g.
+     *  property. If the user's default locale is Canada (for example
      *  fr-CA or en-CA), then the default currency symbol for Canada
-     *  will be used. If there is some locale is the default, then the
-     *  currencyISOCode of CAD will be used in the formatted currency
+     *  is used. If there is some locale is the default, then the
+     *  currencyISOCode of CAD will be used in the formatted currency
      *  amount.

      *
      *  <listing version="3.0" >
@@ -928,7 +943,7 @@
      *  different from the user's default).

      *
      *
This method compares the requestedISOCode
-     *  parameter against the acutal locale's default
+     *  parameter against the actual locale's default
      *  currencyISOCode,
      *  returning true if the strings are
      *  equal and false if they are not.
@@ -937,9 +952,10 @@
      *  useCurrencySymbol property set to true
      *  results in a formatted currency value string
      *  with a currency symbol that is used in the current locale.
-     *  If this method returns false, then using the format()
+     *  If this method returns false,
+     *  then using the format()
      *  method with the useCurrencySymbol
-     *  property set to true could result in the use of an ambiguous
+     *  property set to true could result in the use of an ambiguous
      *  or incorrect currency symbol.
      *

      *