Transferred from the Adobe Open Source Subversion Repository

Revision: 11027
Author:   dloverin@adobe.com
Date:     2009-10-20T15:50:09.018295Z

Log Message:
-----------
Changes to enable using multiple style managers.

Multiple style managers are not the default yet. Can be enabled by compiling with -create-style-manager.

QE notes: None.
Doc notes: None.
Bugs:
Reviewer: Alex, Paul
Tests run: checkintests, all mustella
Is noteworthy for integration: Yes.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StylesContainer.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/AbstractSyntaxTreeUtil.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/MxmlDocument.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/MxmlConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/InterfaceGenerator.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexChangeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/BusyCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/DataBindingExtension.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm</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/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSMergedStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/FormItem.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/modules/compiler/src/java/flex2/compiler/css/StyleDef.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/BusyCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java</path>

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridItemRenderer.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridItemRenderer.as
@@ -581,7 +581,7 @@
                 for (var c:int=0; c < styleNames.length; c++)
                 {
                     if (styleNames[c].length) {
-                        classSelectors.push(styleManager.getStyleDeclaration("." +
+                        classSelectors.push(styleManager.getMergedStyleDeclaration("." +
                             styleNames[c]));
                     }
                 }
@@ -686,7 +686,7 @@
                className != "mx.core.UITextField")
         {
             var s:CSSStyleDeclaration =
-                styleManager.getStyleDeclaration(className);
+                styleManager.getMergedStyleDeclaration(className);

             if (s)
             {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8957
Author:   chaase@adobe.com
Date:     2009-07-31T17:46:23.194626Z

Log Message:
-----------
Fixes bug with scrollbar behavior when fixedThumbSize behavior is enabled. Previously, the thumb was treated as if it were variable size (the default), where the size was related to the pageSize. This meant that a smaller thumb would never reach the end of the track. The new behavior ensures that the smaller fixed-size thumb covers the full range of the track.

QE Notes: We should add tests for fixedThumbSize cases
Doc Notes: None
Bugs: SDK-22370
Reviewer: Hans
API Change: No
Is noteworthy for integration: Yes
tests: checkintests mustella/gumbo/components/ScrollBar mustella/gumbo/components/Scroller

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as
@@ -948,12 +948,10 @@
     protected function animatePaging(newValue:Number, pageSize:Number):void
     {
         animatingSinglePage = false;
-        if (trackScrollDown)
-            newValue = newValue - pageSize;
         // FIXME (chaase): hard-coding easing behavior, how to style it?
         startAnimation(
             getStyle("repeatInterval") * (Math.abs(newValue - value) / pageSize),
-            nearestValidValue(newValue, pageSize), linearEaser);
+            newValue, linearEaser);
     }

     /**
@@ -1038,15 +1036,26 @@
         // (represented by fraction) is not past the current
         // mouse position on the track
         var newScrollValue:Number = pointToValue(trackPosition.x, trackPosition.y);
-
+        var fixedThumbSize:Boolean = getStyle("fixedThumbSize") !== false;
+
+        // The end result we want, with either animated or non-animated paging,
+        // is for the thumb to end up under the click point.
+        // For the fixedThumbSize case, where the thumb may be much smaller
+        // than the pageSize, we instead want the thumb to end up
+        // where it would in the variable size case (on a lower value than the
+        // clicked value), but to end up at the end of the track if it is
+        // "close enough" to the end. The heuristic for "close enough" is
+        // if the end of the track is the nearestValidValue on pageSize
+        // boundaries.
         if (trackScrollDown)
         {
             var range:Number = maximum - minimum;
             if (range == 0)
                 return;

-            if ((value + pageSize) > newScrollValue)
-                return;
+            if ((value + pageSize) > newScrollValue &&
+                (!fixedThumbSize || nearestValidValue(newScrollValue, pageSize) != maximum))
+                    return;
         }
         else if (newScrollValue > value)
         {
@@ -1058,7 +1067,27 @@
             // This gets called after an initial repeateDelay on a paging
             // operation, but after that we're just running the animation. This
             // function is only called repeatedly in the non-smoothScrolling case.
-            animatePaging(newScrollValue, pageSize);
+            var valueDelta:Number = Math.abs(value - newScrollValue);
+            var pages:int;
+            var pageToVal:Number;
+            if (newScrollValue > value)
+            {
+                pages = pageSize != 0 ?
+                    int(valueDelta / pageSize) :
+                    valueDelta;
+                if (fixedThumbSize && nearestValidValue(newScrollValue, pageSize) == maximum)
+                    pageToVal = maximum;
+                else
+                    pageToVal = value + (pages * pageSize);
+            }
+            else
+            {
+                pages = pageSize != 0 ?
+                    int(Math.ceil(valueDelta / pageSize)) :
+                    valueDelta;
+                pageToVal = Math.max(minimum, value - (pages * pageSize));
+            }
+            animatePaging(pageToVal, pageSize);
             return;
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

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

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

 package spark.primitives.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

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

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

 package mx.automation.delegates.controls
 {


get height right

get height right

--- frameworks/projects/HTML/as/src/org/apache/flex/html/beads/TextInputView.as
+++ frameworks/projects/HTML/as/src/org/apache/flex/html/beads/TextInputView.as
@@ -22,8 +22,10 @@

 	import org.apache.flex.core.ILayoutChild;
     import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.UIMetrics;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
+    import org.apache.flex.utils.BeadMetrics;

     /**
      *  The TextInputView class is the view for
@@ -69,27 +71,27 @@
             var w:Number;
             var h:Number;
             var ilc:ILayoutChild = host as ILayoutChild;
-
             if (ilc.isWidthSizedToContent())
             {
                 // use default width of 20
                 var s:String = textField.text;
                 textField.text = "0";
                 w = textField.textWidth * 20;
-                h = textField.textHeight + 4;
+                h = textField.textHeight;
                 textField.text = s;
                 ilc.setWidth(w, true);
             }
             if (ilc.isHeightSizedToContent())
             {
+                var uiMetrics:UIMetrics = BeadMetrics.getMetrics(host);
                 if (isNaN(h))
                 {
                     s = textField.text;
                     textField.text = "0";
-                    h = textField.textHeight + 4;
+                    h = textField.textHeight;
                     textField.text = s;
                 }
-                ilc.setHeight(h, true);
+                ilc.setHeight(h + uiMetrics.top + uiMetrics.bottom, true);
             }

 			IEventDispatcher(host).addEventListener("widthChanged", sizeChangedHandler);


removed empty comment

removed empty comment

--- frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
+++ frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
@@ -759,7 +759,7 @@
      *
      *  @private
      */
-    private var resizeGraphic:IFlexDisplayObject; //
+    private var resizeGraphic:IFlexDisplayObject;

     /**
      *  @private


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

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

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

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/collections/IHierarchicalData.as
+++ frameworks/projects/advancedgrids/src/mx/collections/IHierarchicalData.as
@@ -0,0 +1,113 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.collections
+{
+import flash.events.IEventDispatcher;
+
+/**
+ *  The IHierarchicalData interface defines the interface
+ *  used to represent hierarchical data as the data provider for
+ *  a Flex component.
+ *  Hierarchical data is data in a structure of parent
+ *  and child data items.
+ *
+ *  @see mx.collections.ICollectionView
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public interface IHierarchicalData extends IEventDispatcher
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Returns true if the node can contain children.
+     *
+     *
Nodes do not have to contain children for the method
+     *  to return true.
+     *  This method is useful in determining whether other
+     *  nodes can be appended as children to the specified node.

+     *
+     *  @param node The Object that defines the node.
+     *
+     *  @return true if the node can contain children.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function canHaveChildren(node:Object):Boolean;
+
+    /**
+     *  Returns true if the node has children.
+     *
+     *  @param node The Object that defines the node.
+     *
+     *  @return true if the node has children.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function hasChildren(node:Object):Boolean;
+
+    /**
+     *  Returns an Object representing the node's children.
+     *
+     *  @param node The Object that defines the node.
+     *  If null, return a collection of top-level nodes.
+     *
+     *  @return An Object containing the children nodes.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function getChildren(node:Object):Object;
+
+    /**
+     *  Returns data from a node.
+     *
+     *  @param node The node Object from which to get the data.
+     *
+     *  @return The requested data.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function getData(node:Object):Object;
+
+    /**
+     * Returns the root data item.
+     *
+     * @return The Object containing the root data item.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function getRoot():Object;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

QE Notes: None
Doc Notes: None
Bugs: -

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

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

--- frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as
+++ frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as
@@ -23,7 +23,6 @@
  *
  *  @see mx.utils.DirectoryEnumeration#enumerationMode
  *
- *  @playerversion AIR 1.1
  */
 public final class DirectoryEnumerationMode
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18129
Author:   chiedozi@adobe.com
Date:     2010-10-11T21:18:23.983258Z

Log Message:
-----------
Merge BOM changes from revision 18117 of the preview branch.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/ja_JP/docs/packages.dita</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/zh_CN/docs/spark.events.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ActionButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/ja_JP/docs/spark.core.managers.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ActionBarBackground.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/fr_FR/docs/spark.components.supportClasses.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/de_DE/docs/spark.components.supportClasses.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/fr_FR/docs/packages.dita</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/zh_CN/docs/spark.components.supportClasses.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/de_DE/docs/packages.dita</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/zh_CN/docs/packages.dita</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileIconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/fr_FR/docs/spark.core.managers.xml</path>
<path kind="dir" action="M">/private/flex/sdk/branches/hero_private/frameworks/locale/zh_TW</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/.project</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/fr_FR/docs/spark.components.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/de_DE/docs/spark.core.managers.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/de_DE/docs/spark.components.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/zh_CN/docs/spark.core.managers.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/.flexLibProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/.actionScriptProperties</path>
<path kind="dir" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/fr_FR/docs/spark.events.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/ja_JP/docs/spark.effects.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/NavigationButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/de_DE/docs/spark.events.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/TextInput_border.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/ja_JP/docs/spark.components.xml</path>
<path kind="dir" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark_dmv/src/mx/controls/advancedDataGridClasses</path>
<path kind="dir" action="M">/private/flex/sdk/branches/hero_private</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/.actionScriptProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_upSelected.fxg</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/assets/RadioButton_upSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/fr_FR/docs/spark.effects.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/.flexLibProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/de_DE/docs/spark.effects.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/zh_CN/docs/spark.effects.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ActionButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/PaddingStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/GapStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/zh_CN/docs/spark.components.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/ja_JP/docs/spark.events.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/NavigationButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_downSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/.project</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_downSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/ja_JP/docs/spark.components.supportClasses.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as
+++ frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as
@@ -1,3 +1,14 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2010 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
 package spark.preloaders
 {


Use legacy BusyIndicator default sizes (new sizes were breaking Mustella tests)

--- frameworks/projects/mobiletheme/src/spark/skins/ios7/BusyIndicatorSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/ios7/BusyIndicatorSkin.as
@@ -65,32 +65,32 @@
 			{
 				case DPIClassification.DPI_640:
 				{
-					busyIndicatorDiameter = 144;
+					busyIndicatorDiameter = 104;
 					break;
 				}
 				case DPIClassification.DPI_480:
 				{
-					busyIndicatorDiameter = 108;
+					busyIndicatorDiameter = 80;
 					break;
 				}
 				case DPIClassification.DPI_320:
 				{
-					busyIndicatorDiameter = 72;
+					busyIndicatorDiameter = 52;
 					break;
 				}
 				case DPIClassification.DPI_240:
 				{
-					busyIndicatorDiameter = 54;
+					busyIndicatorDiameter = 40;
 					break;
 				}
 				case DPIClassification.DPI_120:
 				{
-					busyIndicatorDiameter = 27;
+					busyIndicatorDiameter = 20;
 					break;
 				}
 				default://160 DPI
 				{
-					busyIndicatorDiameter = 36;
+					busyIndicatorDiameter = 20;
 					break;
 				}
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

Modified Paths:
--------------
2361 paths were modified

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

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

 package mx.controls.listClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 11170
Author:   rfrishbe@adobe.com
Date:     2009-10-26T23:15:30.879444Z

Log Message:
-----------
ItemRenderer changes.  Fixing some bugs with the autoDrawBackground flag.  Also making some PARB changes:

1.  IItemRenderer.index -> itemIndex (affects DefaultItemRenderer, ItemRenderer, and ButtonBarButton).
2.  GroupBase.renderBackgroundFill() (protected method) -> drawBackground() (mx_internal method)
3.  ItemRenderer.handleBackgroundFill -> autoDrawBackground
4.  Removed contentBackgroundColor from ItemRenderer

Also, DefaultItemRenderer is now no longer an MXML file, but it is an AS-only class that extends UIComponent.

QE notes: -
Doc notes: Yes - Can you please look at the ASDocs for DefaultItemRenderer.as and the autoDrawBackground flag on ItemRenderer
Bugs: -
Reviewer: Deepa
Tests run: checkintests, Mustella List, DataGroup, DropDownList
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.mxml" copyfrom-rev="11100" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/IItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultComplexItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -875,7 +875,7 @@

         var index:int
         if (renderer is IItemRenderer)
-            index = IItemRenderer(renderer).index;
+            index = IItemRenderer(renderer).itemIndex;
         else
             index = dataGroup.getElementIndex(renderer);


Transferred from the Adobe Open Source Subversion Repository

Revision: 5119
Author:   smgilson@adobe.com
Date:     2009-03-01T15:19:39.936226Z

Log Message:
-----------
Clean up some ASDoc tags from the addition of the @productversion/@playerversion tags

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToolTip.as</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/remoting/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/HTTPRequestMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CalendarLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/NCManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/Base64Encoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/validators/StringValidator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SchemaMarshaller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IInteractiveObjectInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ContainerRawChildrenList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.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/rpc/src/mx/rpc/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/HistoryManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/Schema.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/utils/HexEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectContainerInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.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/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISpriteInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/src/haloclassic/HaloRectBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/mxml/Operation.as</path>

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

--- frameworks/projects/framework/src/mx/validators/StringValidator.as
+++ frameworks/projects/framework/src/mx/validators/StringValidator.as
@@ -46,333 +46,333 @@
  */
 public class StringValidator extends Validator
 {
-	include "../core/Version.as";
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class methods
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Convenience method for calling a validator.
-	 *  Each of the standard Flex validators has a similar convenience method.
-	 *
-	 *  @param validator The StringValidator instance.
-	 *
-	 *  @param value A field to validate.
-	 *
-	 *  @param baseField Text representation of the subfield
-	 *  specified in the value parameter.
-	 *  For example, if the value parameter specifies
-	 *  value.mystring, the baseField value
-	 *  is "mystring".
-     *
-	 *  @return An Array of ValidationResult objects, with one
-	 *  ValidationResult  object for each field examined by the validator.
-	 *
-	 *  @see mx.validators.ValidationResult
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public static function validateString(validator:StringValidator,
-										  value:Object,
-										  baseField:String = null):Array
-	{
-		var results:Array = [];
-
-		// Resource-backed properties of the validator.
-		var maxLength:Number = Number(validator.maxLength);
-		var minLength:Number = Number(validator.minLength);
-
-		var val:String = value != null ? String(value) : "";
-
-		if (!isNaN(maxLength) && val.length > maxLength)
-		{
-			results.push(new ValidationResult(
-				true, baseField, "tooLong",
-				StringUtil.substitute(validator.tooLongError, maxLength)));
-			return results;
-		}
-
-		if (!isNaN(minLength) && val.length < minLength)
-		{
-			results.push(new ValidationResult(
-				true, baseField, "tooShort",
-				StringUtil.substitute(validator.tooShortError, minLength)));
-			return results;
-		}
-
-		return results;
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function StringValidator()
-	{
-		super();
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  maxLength
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the maxLength property.
-	 */
-	private var _maxLength:Object;
-
-    /**
-	 *  @private
-	 */
-	private var maxLengthOverride:Object;
-
-	[Inspectable(category="General", defaultValue="null")]
-
-	/**
-	 *  Maximum length for a valid String.
-	 *  A value of NaN means this property is ignored.
-	 *
-	 *  @default NaN
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function get maxLength():Object
-	{
-		return _maxLength;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set maxLength(value:Object):void
-	{
-		maxLengthOverride = value;
-
-		_maxLength = value != null ?
-					 Number(value) :
-					 resourceManager.getNumber(
-					     "validators", "maxLength");
-	}
-
-	//----------------------------------
-	//  minLength
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the minLength property.
-	 */
-	private var _minLength:Object;
-
-    /**
-	 *  @private
-	 */
-	private var minLengthOverride:Object;
-
-	[Inspectable(category="General", defaultValue="null")]
-
-	/**
-	 *  Minimum length for a valid String.
-	 *  A value of NaN means this property is ignored.
-	 *
-	 *  @default NaN
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function get minLength():Object
-	{
-		return _minLength;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set minLength(value:Object):void
-	{
-		minLengthOverride = value;
-
-		_minLength = value != null ?
-					 Number(value) :
-					 resourceManager.getNumber(
-					     "validators", "minLength");
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties: Errors
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  tooLongError
-	//----------------------------------
-
-	/**
-	 *  @private
-	 *  Storage for the tooLongError property.
-	 */
-	private var _tooLongError:String;
-
-    /**
-	 *  @private
-	 */
-	private var tooLongErrorOverride:String;
-
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Convenience method for calling a validator.
+     *  Each of the standard Flex validators has a similar convenience method.
+     *
+     *  @param validator The StringValidator instance.
+     *
+     *  @param value A field to validate.
+     *
+     *  @param baseField Text representation of the subfield
+     *  specified in the value parameter.
+     *  For example, if the value parameter specifies
+     *  value.mystring, the baseField value
+     *  is "mystring".
+     *
+     *  @return An Array of ValidationResult objects, with one
+     *  ValidationResult  object for each field examined by the validator.
+     *
+     *  @see mx.validators.ValidationResult
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static function validateString(validator:StringValidator,
+                                          value:Object,
+                                          baseField:String = null):Array
+    {
+        var results:Array = [];
+
+        // Resource-backed properties of the validator.
+        var maxLength:Number = Number(validator.maxLength);
+        var minLength:Number = Number(validator.minLength);
+
+        var val:String = value != null ? String(value) : "";
+
+        if (!isNaN(maxLength) && val.length > maxLength)
+        {
+            results.push(new ValidationResult(
+                true, baseField, "tooLong",
+                StringUtil.substitute(validator.tooLongError, maxLength)));
+            return results;
+        }
+
+        if (!isNaN(minLength) && val.length < minLength)
+        {
+            results.push(new ValidationResult(
+                true, baseField, "tooShort",
+                StringUtil.substitute(validator.tooShortError, minLength)));
+            return results;
+        }
+
+        return results;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function StringValidator()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  maxLength
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the maxLength property.
+     */
+    private var _maxLength:Object;
+
+    /**
+     *  @private
+     */
+    private var maxLengthOverride:Object;
+
+    [Inspectable(category="General", defaultValue="null")]
+
+    /**
+     *  Maximum length for a valid String.
+     *  A value of NaN means this property is ignored.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get maxLength():Object
+    {
+        return _maxLength;
+    }
+
+    /**
+     *  @private
+     */
+    public function set maxLength(value:Object):void
+    {
+        maxLengthOverride = value;
+
+        _maxLength = value != null ?
+                     Number(value) :
+                     resourceManager.getNumber(
+                         "validators", "maxLength");
+    }
+
+    //----------------------------------
+    //  minLength
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the minLength property.
+     */
+    private var _minLength:Object;
+
+    /**
+     *  @private
+     */
+    private var minLengthOverride:Object;
+
+    [Inspectable(category="General", defaultValue="null")]
+
+    /**
+     *  Minimum length for a valid String.
+     *  A value of NaN means this property is ignored.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get minLength():Object
+    {
+        return _minLength;
+    }
+
+    /**
+     *  @private
+     */
+    public function set minLength(value:Object):void
+    {
+        minLengthOverride = value;
+
+        _minLength = value != null ?
+                     Number(value) :
+                     resourceManager.getNumber(
+                         "validators", "minLength");
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties: Errors
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  tooLongError
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the tooLongError property.
+     */
+    private var _tooLongError:String;
+
+    /**
+     *  @private
+     */
+    private var tooLongErrorOverride:String;
+
     [Inspectable(category="Errors", defaultValue="null")]

-	/**
-	 *  Error message when the String is longer
-	 *  than the maxLength property.
-	 *
-	 *  @default "This string is longer than the maximum allowed length. This must be less than {0} characters long."
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function get tooLongError():String
-	{
-		return _tooLongError;
-	}
-
-	/*
-	 *  @private
-	 */
-	public function set tooLongError(value:String):void
+    /**
+     *  Error message when the String is longer
+     *  than the maxLength property.
+     *
+     *  @default "This string is longer than the maximum allowed length. This must be less than {0} characters long."
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get tooLongError():String
+    {
+        return _tooLongError;
+    }
+
+    /**
+     *  @private
+     */
+    public function set tooLongError(value:String):void
     {
         tooLongErrorOverride = value;

-		_tooLongError = value != null ?
-						value :
-						resourceManager.getString(
-							"validators", "tooLongError");
-    }
-
-	//----------------------------------
-	//  tooShortError
-	//----------------------------------
-
-	/**
-	 *  @private
-	 *  Storage for the tooShortError property.
-	 */
-	private var _tooShortError:String;
-
-    /**
-	 *  @private
-	 */
-	private var tooShortErrorOverride:String;
-
-	[Inspectable(category="Errors", defaultValue="null")]
-
-	/**
-	 *  Error message when the string is shorter
-	 *  than the minLength property.
-	 *
-	 *  @default "This string is shorter than the minimum allowed length. This must be at least {0} characters long."
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function get tooShortError():String
-	{
-		return _tooShortError;
-	}
-
-	/*
-	 *  @private
-	 */
-	public function set tooShortError(value:String):void
+        _tooLongError = value != null ?
+                        value :
+                        resourceManager.getString(
+                            "validators", "tooLongError");
+    }
+
+    //----------------------------------
+    //  tooShortError
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the tooShortError property.
+     */
+    private var _tooShortError:String;
+
+    /**
+     *  @private
+     */
+    private var tooShortErrorOverride:String;
+
+    [Inspectable(category="Errors", defaultValue="null")]
+
+    /**
+     *  Error message when the string is shorter
+     *  than the minLength property.
+     *
+     *  @default "This string is shorter than the minimum allowed length. This must be at least {0} characters long."
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get tooShortError():String
+    {
+        return _tooShortError;
+    }
+
+    /**
+     *  @private
+     */
+    public function set tooShortError(value:String):void
     {
         tooShortErrorOverride = value;

-		_tooShortError = value != null ?
-						 value :
-						 resourceManager.getString(
-						     "validators", "tooShortError");
-    }
-
-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-	 *  @private
-     */
-	override protected function resourcesChanged():void
-	{
-		super.resourcesChanged();
-
-		maxLength = maxLengthOverride;
-		minLength = minLengthOverride;
-
-		tooLongError = tooLongErrorOverride;
-		tooShortError = tooShortErrorOverride;
-	}
-
-	/**
+        _tooShortError = value != null ?
+                         value :
+                         resourceManager.getString(
+                             "validators", "tooShortError");
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function resourcesChanged():void
+    {
+        super.resourcesChanged();
+
+        maxLength = maxLengthOverride;
+        minLength = minLengthOverride;
+
+        tooLongError = tooLongErrorOverride;
+        tooShortError = tooShortErrorOverride;
+    }
+
+    /**
      *  Override of the base class doValidation() method
      *  to validate a String.
      *
-	 *
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.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	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 StringValidator.validateString(this, value, null);
+     *  @return An Array of ValidationResult objects, with one ValidationResult
+     *  object for each field examined by the validator.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    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 StringValidator.validateString(this, value, null);
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4181
Author:   cframpto@adobe.com
Date:     2008-11-25T14:53:28.296993Z

Log Message:
-----------
IBindingClient.as - remove [ExcludeClass] and @private so AsDocs don't have broken links.
TextView.as - correct comment in module header for textFlow_flowOperationBeginHandler().

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

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -1465,7 +1465,7 @@
         textFlow.hostCharacterFormat = hostCharacterFormat;
         textFlow.hostParagraphFormat = hostParagraphFormat;
         textFlow.hostContainerFormat = hostContainerFormat;
-
+
         return textFlow;
     }

@@ -1781,7 +1781,7 @@

     /**
      *  @private
-     *  Called when the TextFlow dispatches an 'operationEnd' event
+     *  Called when the TextFlow dispatches an 'operationBegin' event
      *  before an editing operation.
      */
     private function textFlow_flowOperationBeginHandler(


Transferred from the Adobe Open Source Subversion Repository

Revision: 22850
Author:   cframpto@adobe.com
Date:     2011-10-03T14:45:01.229611Z

Log Message:
-----------
For RET, fix case where pasted text contains only restricted characters.

QE notes:
Doc notes:
Bugs: SDK-31599
Reviewer: Alex
Tests run: cyclone
Is noteworthy for integration:

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

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -4679,24 +4679,26 @@
                 // Note: Must process restrict first, then maxChars,
                 // then displayAsPassword last.

+                // The text deleted by this operation.  If we're doing our
+                // own manipulation of the textFlow or thisis a result of a paste operation
+                // we have to take the deleted text into account as well as the inserted text.
+                var delSelOp:SelectionState =
+                    insertTextOperation.deleteSelectionState;
+
+                var delLen:int = (delSelOp == null) ? 0 :
+                    delSelOp.absoluteEnd - delSelOp.absoluteStart;
+
                 if (_restrict != null)
                 {
                     textToInsert = StringUtil.restrict(textToInsert, restrict);
-                    if (textToInsert.length == 0)
+                    // If restrict is the result of a paste the text has already been inserted
+                    // into the buffer and has to be removed so don't short-circuit the operation.
+                    if (textToInsert.length == 0 && delLen == 0)
                     {
                         event.preventDefault();
                         return;
                     }
                 }
-
-                // The text deleted by this operation.  If we're doing our
-                // own manipulation of the textFlow we have to take the deleted
-                // text into account as well as the inserted text.
-                var delSelOp:SelectionState =
-                    insertTextOperation.deleteSelectionState;
-
-                var delLen:int = (delSelOp == null) ? 0 :
-                    delSelOp.absoluteEnd - delSelOp.absoluteStart;

                 if (maxChars != 0)
                 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6792
Author:   jimurphy@adobe.com
Date:     2009-05-11T18:24:09.346026Z

Log Message:
-----------
Merged revisions 6729,6731,6746,6755,6757,6765,6767-6768,6770-6772,6775,6784-6786,6790 from http://p01weblab02.corp.adobe.com/svn/opensource/flex/sdk/branches/beta1

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/src/FlashContainerPlaceholder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexFXG2SWFTranscoder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/FlexContentHolder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/ContainerMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.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/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/TypeHelper.java</path>
<path kind="dir" copyfrom-path="/flex/sdk/branches/beta1/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/types" copyfrom-rev="6790" action="A">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/types</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/swf/FXG2SWFTranscoder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/RadioButtonSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/beta1/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/types/FXGMatrix.java" copyfrom-rev="6790" action="R">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/types/FXGMatrix.java</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -87,7 +87,6 @@
 import spark.core.IViewport;
 import spark.core.ScrollUnit;
 import spark.events.TextOperationEvent;
-import spark.primitives.Rect;
 import spark.primitives.supportClasses.RichEditableTextContainerManager;
 import spark.utils.TextUtil;

@@ -425,11 +424,6 @@
     /**
      *  @private
      */
-    private var textInvalid:Boolean = false;
-
-    /**
-     *  @private
-     */
     private var ascent:Number;

     /**
@@ -492,6 +486,19 @@
      *  @private
      */
     private var errorCaught:Boolean = false;
+
+    /**
+     *  @private
+     *  If true, the content of the textFlow has changed in some way.  In most
+     *  cases this is the same as damaged.  The one exception is if setText
+     *  is used to initialize the TextContainerManager.  It does not dispatch
+     *  a damage event (although it probably should).
+     *
+     *  At the end of composition, the change event should be dispatched if it
+     *  wasn't already dispatched one or more times for editing operations.
+     *
+     */
+    private var textFlowChanged:Boolean = true;

     //--------------------------------------------------------------------------
     //
@@ -792,9 +799,8 @@
     /**
      *  @private
      *  The default is true.
-     *  TODO! The default should be true but the code needs to be fixed first.
-     */
-    private var _autoSize:Boolean = false;
+     */
+    private var _autoSize:Boolean = true;

     /**
      *  @private
@@ -1383,12 +1389,21 @@
      */
     public function get text():String
     {
-        if (textInvalid && !displayAsPassword)
-        {
-            _text = TextUtil.extractText(textFlow);
-            textInvalid = false;
-        }
-
+        // If displayAsPassword is changing, use the old value until the
+        // change is committed.
+        if (!displayAsPassword && !displayAsPasswordChanged ||
+            displayAsPassword && displayAsPasswordChanged)
+        {
+            _text = _inputManager.getText("\n");
+
+            // ToDo: asked TLF if they not put the terminator on the last
+            // paragraph
+
+            // Remove terminator on the last paragraph, ie remove the last char.
+            if (_text.length > 0 && _text.charAt(_text.length-1) == "\n")
+                _text = _text.slice(0, -1);
+        }
+
         return _text;
     }

@@ -1397,6 +1412,12 @@
      */
     public function set text(value:String):void
     {
+        // Use the setter so _text is refreshed if needed.  This check is
+        // needed to block property binding recursion (set causes change event
+        // which causes binding to fire which repeats the process).
+        if (value == text)
+            return;
+
         // Setting 'text' temporarily causes 'content' to become null.
         // Later, after the 'text' has been committed into the TextFlow,
         // getting 'content' will return the TextFlow.
@@ -1404,6 +1425,11 @@
         contentChanged = false;

         _text = value;
+
+        // Need to set it right away so that the getter can return
+        // it.
+        _inputManager.setText(_text);
+
         textChanged = true;

         invalidateProperties();
@@ -1520,16 +1546,16 @@
         {
         	if (mx_internal::debug)
         		trace("setText()");
-        	_inputManager.setText(_text);

+            textFlowChanged = true;
+
         	textChanged = false;
         }
         else if (contentChanged)
         {
         	var textFlow:TextFlow = createTextFlowFromContent();

-        	textInvalid = true;
-        	dispatchEvent(new Event("textInvalid"));
+        	textFlowChanged = true;

         	if (mx_internal::debug)
         		trace("setTextFlow()");
@@ -1537,7 +1563,31 @@

         	contentChanged = false;
         }
-
+
+
+        if (displayAsPasswordChanged)
+        {
+            // If there is any text, convert it to the passwordChar.
+            if (displayAsPassword)
+            {
+                // Make sure _text is set with the actual text before we
+                // change the displayed text.
+                var textToDisplay:String = text;
+
+                textToDisplay = StringUtil.repeat(
+                    mx_internal::passwordChar, textToDisplay.length);
+                _inputManager.setText(textToDisplay);
+
+                textFlowChanged = true;
+            }
+            else if (!_content)
+            {
+                _inputManager.setText(_text ? _text : "");
+                textFlowChanged = true;
+            }
+            displayAsPasswordChanged = false;
+        }
+
         if (enabledChanged || selectableChanged || editableChanged)
         {
         	updateEditingMode();
@@ -1660,31 +1710,19 @@
             }
         }

-        // Don't trigger a damage event since we know we're recomposing.
-        _inputManager.removeEventListener(
-           	DamageEvent.DAMAGE, inputManager_damageHandler);
-
-        // If autoSize, the text flow is already composed (although there are
-        // certain styles that require a recompose since the composition width
-        // and height matter).  Setting the composition size will
-        // trigger a damage event.
-        if (!_autoSize || recomposeForStyles())
-        {
+        if (!_autoSize)
+        {
             _inputManager.compositionWidth = unscaledWidth;
             _inputManager.compositionHeight = unscaledHeight;
         }

 		if (mx_internal::debug)
 			trace("updateContainer()");
-        if (mx_internal::embeddedFontContext)
-            _inputManager.textLineCreator = ITextLineCreator(mx_internal::embeddedFontContext);
-        else
-            _inputManager.textLineCreator = null;
+
+        _inputManager.textLineCreator =
+            ITextLineCreator(mx_internal::embeddedFontContext);
+
         _inputManager.updateContainer();
-
-        // Reinstate the damage handler.
-        _inputManager.addEventListener(
-        	DamageEvent.DAMAGE, inputManager_damageHandler);
     }

     /**
@@ -1927,20 +1965,7 @@
      */
     private function getSelectionManager():ISelectionManager
     {
-        // This triggers a damage event if the interactionManager is
-        // changed.  Since changing the interactionManager doesn't change
-        // the text, there is no need to trigger the damage event.
-
-        _inputManager.removeEventListener(
-            DamageEvent.DAMAGE, inputManager_damageHandler);
-
-    	var selectionManager:SelectionManager =
-    	   SelectionManager(_inputManager.beginInteraction());
-
-        _inputManager.addEventListener(
-            DamageEvent.DAMAGE, inputManager_damageHandler);
-
-        return selectionManager;
+    	return SelectionManager(_inputManager.beginInteraction());
     }

     /**
@@ -1978,33 +2003,6 @@
     private function isSpecialCase():Boolean
     {
         return _autoSize && !isNaN(percentWidth);
-    }
-
-    /**
-     *  @private
-     *  If the text is composed during measure(), there are certain styles
-     *  that require it to be recomposed again for display.  For example,
-     *  if textAlign = justify the text must be composed with unscaledWidth
-     *  rather than maxWidth so that the text is distributed correctly across
-     *  the width.
-     */
-    protected function recomposeForStyles():Boolean
-    {
-        var direction:String = getStyle("direction");
-        var textAlign:String = getStyle("textAlign");
-
-        var leftAligned:Boolean =
-            textAlign == "left" ||
-            textAlign == "start" && direction == "ltr" ||
-            textAlign == "end" && direction == "rtl";
-
-        if (!leftAligned)
-            return true;
-
-        var verticalAlign:String = getStyle("verticalAlign");
-        var topAligned:Boolean = (verticalAlign == "top");
-
-        return !topAligned;
     }

     /**
@@ -2040,10 +2038,7 @@
         _inputManager.compositionHeight = NaN;

         // Compose only.  The display is not updated.
-        /**************
-        flowComposer.compose();
-        */
-        _inputManager.updateContainer();
+        _inputManager.compose();

         var contentBounds:Rectangle = _inputManager.getContentBounds();

@@ -2735,22 +2730,7 @@

         dispatchChangingEvent = true;
     }
-
-    /**
-     *  @private
-     */
-    /*
-    private function isOverset(controller:IContainerController):Boolean
-    {
-        // In some circumsances, the last controller gets all of the
-        // content. In this case, test contentHeight vs. compositionHeight.
-        // In other cases (the proper case) use textLengths to check.
-        return controller.contentHeight > controller.compositionHeight ||
-               (controller.absoluteStart + controller.textLength <
-               controller.textFlow.textLength);
-    }
-    */
-
+
     //--------------------------------------------------------------------------
     //
     //  Event handlers
@@ -2875,6 +2855,19 @@
                                     event:CompositionCompletionEvent):void
     {
         //trace("compositionComplete");
+
+        // The text flow changed and there wasn't an editing operation
+        // to dispatch the change event so do it here.  This happens if the
+        // text is initially set and no further editing operations occur.
+        if (textFlowChanged)
+        {
+            var newEvent:TextOperationEvent =
+                new TextOperationEvent(TextOperationEvent.CHANGE);
+            dispatchEvent(newEvent);
+
+            textFlowChanged = false;
+        }
+
         var oldContentWidth:Number = _contentWidth;

         var newContentBounds:Rectangle = _inputManager.getContentBounds();
@@ -2897,6 +2890,13 @@

             dispatchPropertyChangeEvent(
                 "contentWidth", oldContentWidth, newContentWidth);
+
+            // If autoSize and text size changed, need to remeasure.
+            if (_autoSize)
+            {
+                invalidateSize();
+                invalidateDisplayList();
+            }
         }

         var oldContentHeight:Number = _contentHeight;
@@ -2919,15 +2919,14 @@

             dispatchPropertyChangeEvent(
                 "contentHeight", oldContentHeight, newContentHeight);
+
+            // If autoSize and text size changed, need to remeasure.
+            if (_autoSize)
+            {
+                invalidateSize();
+                invalidateDisplayList();
+            }
         }
-
-        // If autoSize and there is overset text, remeasure.  contentHeight
-        // will not be the total height of the text unless composition is done
-        // and scrolling is *on*.
-        /********************************************************
-        if (_autoSize && isOverset(containerController))
-            invalidateSize();
-        */
     }

     /**
@@ -2941,13 +2940,8 @@

         // The text flow changed.  It could have been either/or content or
         // styles within the flow.
-        textInvalid = true;
-        dispatchEvent(new Event("textInvalid"));
-
-        // If autoSize and text changed, need to remeasure.
-        if (_autoSize)
-            invalidateSize();
-
+        textFlowChanged = true;
+
         invalidateDisplayList();
     }

@@ -3008,7 +3002,7 @@
     private function inputManager_flowOperationBeginHandler(
                         event:FlowOperationEvent):void
     {
-        //trace("operationBegin");
+        //trace("flowOperationBegin");

         var op:FlowOperation = event.operation;

@@ -3103,18 +3097,12 @@
     private function inputManager_flowOperationEndHandler(
                         event:FlowOperationEvent):void
     {
-        //trace("operationEnd");
+        //trace("flowOperationEnd");

         // Paste is a special case.  Any mods have to be made to the text
         // which includes what was pasted.
         if (event.operation is PasteOperation)
             handlePasteOperation(PasteOperation(event.operation));
-
-        // Since the text may have changed, set a flag which will
-        // cause the 'text' getter to call extractText() to extract
-        // the text by walking the TextFlow.
-        textInvalid = true;
-        dispatchEvent(new Event("textInvalid"));

         // Dispatch a 'change' event from the TextView
         // as notification that an editing operation has occurred.
@@ -3122,7 +3110,10 @@
             new TextOperationEvent(TextOperationEvent.CHANGE);
         newEvent.operation = event.operation;
         dispatchEvent(newEvent);
-    }
+
+        textFlowChanged = false;
+    }
+
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 8801
Author:   pdehaan@adobe.com
Date:     2009-07-24T17:29:20.627013Z

Log Message:
-----------
Added ASDoc examples (hopefully)

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RichEditableText.as

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -214,6 +214,7 @@
  *  @see spark.primitives.RichText
  *
  *  @includeExample examples/RichEditableTextExample.mxml
+ *  @includeExample examples/externalTextFlow.xml -noswf
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 4196
Author:   egeorgie@adobe.com
Date:     2008-11-26T22:55:33.264128Z

Log Message:
-----------
Add a property interpolator to FxAnimate similar to the Animation interpolator. This way users can override the default interpolator.

QE Notes: Add test for this.
Doc Notes: None
Bugs: None
Reviewer: Chet
tests: checkintests, mustella (gumbo/effects)

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

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

--- frameworks/projects/spark/src/spark/effects/animation/Animation.as
+++ frameworks/projects/spark/src/spark/effects/animation/Animation.as
@@ -853,7 +853,8 @@
      */
     private function setupInterpolation():void
     {
-        if (!interpolator) {
+        if (!interpolator)
+        {
             if (startValue is Number && endValue is Number)
                 // Better: default to use actual start/end values instead
                 // of running an Interpolator on our internal Animation's result


Transferred from the Adobe Open Source Subversion Repository

Revision: 9721
Author:   cframpto@adobe.com
Date:     2009-08-27T22:24:41.483201Z

Log Message:
-----------
framework_textLayout.swc is history.  The class are now in spark.swc but still in mx.controls and mx.core.  These classes allow TLF text to be used with halo components.  Because of dependencies there is no need to have a separate swc anymore.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/flex-config.xml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/controls/dataGridClasses/TLFDataGridItemRenderer.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/controls/dataGridClasses/TLFDataGridItemRenderer.as" copyfrom-rev="9718" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/dataGridClasses/TLFDataGridItemRenderer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/Version.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/dataGridClasses</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as" copyfrom-rev="9718" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UITLFTextField.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/air-config.xml</path>

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

--- frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as
+++ frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as
@@ -79,7 +79,7 @@
                                   IDropInListItemRenderer, ILayoutManagerClient,
                                   IListItemRenderer, IStyleClient
 {
-    include "../../core/Version.as";
+    include "../../../spark/core/Version.as";

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


OPEN - issue REPRISE-22: register sane default tag renderers for components that get compiled in anyway
http://j.fork.de:8080/browse/REPRISE-22

- change: added default renderers for p, h1-h6, div, hr and img tags

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@410 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/core/UIRendererFactory.as
+++ src/reprise/core/UIRendererFactory.as
@@ -10,14 +10,16 @@
 ////////////////////////////////////////////////////////////////////////////////

 package reprise.core
-{
+{
+	import reprise.controls.Label;
+	import reprise.controls.html.Image;
 	import reprise.ui.UIComponent;
 	import reprise.ui.renderers.AbstractTooltip;
 	import reprise.ui.renderers.DefaultBackgroundRenderer;
 	import reprise.ui.renderers.DefaultBorderRenderer;
 	import reprise.ui.renderers.DefaultTooltipRenderer;
-	import reprise.ui.renderers.ICSSRenderer;
-
+	import reprise.ui.renderers.ICSSRenderer;
+
 	public class UIRendererFactory
 	{
 		/***************************************************************************
@@ -54,9 +56,7 @@
 			m_borderRenderers = {};
 			m_backgroundRenderers = {};
 			m_tooltipRenderers = {};
-			m_defaultBorderRenderer = DefaultBorderRenderer;
-			m_defaultBackgroundRenderer = DefaultBackgroundRenderer;
-			m_defaultTooltipRenderer = DefaultTooltipRenderer;
+			registerDefaultRenderers();
 		}
 		/**
 		 * registers an id handler
@@ -298,5 +298,28 @@
 			}
 			return new renderer();
 		}
+
+		/***************************************************************************
+		*							protected methods							   *
+		***************************************************************************/
+		protected function registerDefaultRenderers() : Boolean
+		{
+			m_defaultBorderRenderer = DefaultBorderRenderer;
+			m_defaultBackgroundRenderer = DefaultBackgroundRenderer;
+			m_defaultTooltipRenderer = DefaultTooltipRenderer;
+
+			registerTagRenderer('p', Label);
+			registerTagRenderer('h1', Label);
+			registerTagRenderer('h2', Label);
+			registerTagRenderer('h3', Label);
+			registerTagRenderer('h4', Label);
+			registerTagRenderer('h5', Label);
+			registerTagRenderer('h6', Label);
+			registerTagRenderer('div', UIComponent);
+			registerTagRenderer('hr', UIComponent);
+			registerTagRenderer('img', Image);
+
+			return true;
+		}
 	}
 }


Change 20090304-bargull-aut by bargull@dell--p4--2-53 on 2009-03-04 23:43:03
    in /home/Admin/src/svn/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: fix braino when unloading previous resources

New Features:

Bugs Fixed: LPP-7802 (Stretches doesn't work when changing resources)

Technical Reviewer: ptw
QA Reviewer: max
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
Unload any old content before setting the new resource-information.
(resourcewidth/height was set in setResource(), then unload() was called because there was an "imgLoader", but this cleared both resourcewidth/height)

Tests:
testcase at bugreport

git-svn-id: d62bde4b5aa582fdf07c8d403e53e0399a7ed285@13167 fa20e4f9-1d0a-0410-b5f3-dc9c16b8b17c

--- WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
+++ WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
@@ -237,10 +237,6 @@
           if (LzAsset.isBitmapAsset(r)
                 || LzAsset.isMovieClipAsset(r)
                 || LzAsset.isMovieClipLoaderAsset(r)) {
-              this.resourcewidth = res.width;
-              this.resourceheight = res.height;
-              this.totalframes = res.frames.length;
-
               if (imgLoader) {
                   // unload previous http image-resource
                   this.unload();
@@ -252,6 +248,9 @@
                   this.resourceCache = null;
               }

+              this.resourcewidth = res.width;
+              this.resourceheight = res.height;
+              this.totalframes = res.frames.length;
               this.__isinternalresource = true;
               this.resource = r;
               // instantiate resource at frame 1


fixed null pointer error

fixed null pointer error

Change-Id: Iafd9ce94fc7b5da1b933d85d5f4bb989ef994c89

--- WeaveData/src/weave/data/DataSources/GeoJSONDataSource.as
+++ WeaveData/src/weave/data/DataSources/GeoJSONDataSource.as
@@ -239,6 +239,11 @@
 				var i:int = 0;
 				function initGeoms(stopTime:int):Number
 				{
+					if (!jsonData)
+					{
+						proxyColumn.dataUnavailable();
+						return 1;
+					}
 					for (; i < jsonData.qkeys.length; i++)
 					{
 						if (getTimer() > stopTime)


Now using the "transpose" argument of Matrix3D.copyRawDataTo

--- src/aerys/minko/render/state/RenderState.as
+++ src/aerys/minko/render/state/RenderState.as
@@ -256,13 +256,7 @@
 												  value 		: Matrix4x4,
 												  transposed	: Boolean = true) : void
 		{
-			var t : Matrix3D = new Matrix3D();
-
-			value._matrix.copyToMatrix3D(t);
-			if (transposed)
-				t.transpose();
-
-			t.copyRawDataTo(_fragmentConstants, register * 4);
+			value._matrix.copyRawDataTo(_fragmentConstants, register * 4, transposed);

 			_setFlags |= FRAGMENT_CONSTS;
 			++_version;
@@ -302,13 +296,7 @@
 												value		: Matrix4x4,
 												transposed	: Boolean = true) : void
 		{
-			var t : Matrix3D = new Matrix3D();
-
-			value._matrix.copyToMatrix3D(t);
-			if (transposed)
-				t.transpose();
-
-			t.copyRawDataTo(_vertexConstants, register * 4);
+			value._matrix.copyRawDataTo(_vertexConstants, register * 4, transposed);

 			_setFlags |= VERTEX_CONSTS;
 			++_version;


including aggregation method in column titles

--- WeaveData/src/weave/data/Transforms/GroupedDataTransform.as
+++ WeaveData/src/weave/data/Transforms/GroupedDataTransform.as
@@ -130,9 +130,13 @@
 			metadata[ColumnMetadata.KEY_TYPE] = groupKeyType.value || groupByColumn.getMetadata(ColumnMetadata.DATA_TYPE);
 			metadata[DATA_COLUMNNAME_META] = dataColumnName;

-			var agg:Object = aggregationModes.getSessionState();
-			if (agg && agg[dataColumnName])
-				metadata[ColumnMetadata.AGGREGATION] = agg[dataColumnName];
+			var aggState:Object = aggregationModes.getSessionState();
+			var aggregation:String = aggState ? aggState[dataColumnName] : null;
+			aggregation = aggregation || Aggregation.DEFAULT;
+			metadata[ColumnMetadata.AGGREGATION] = aggregation;
+
+			if (aggregation != Aggregation.SAME)
+				metadata[ColumnMetadata.TITLE] = lang("{0} ({1})", metadata[ColumnMetadata.TITLE], aggregation);

 			return metadata;
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 4736
Author:   chaase@adobe.com
Date:     2009-01-29T19:31:04.898445Z

Log Message:
-----------
API improvements in some of the effects classes, such as:

- PropertyValuesHolder renamed to AnimationProperty
	- Also, values[] array changed to valueFrom and valueTo Objects
	- Also, 'delta' property changed to valueBy Object property
- FxAnimate.propertyValuesList renamed to FxAnimate.animationProperties
- Constant interpolator renamed Linear (old Linear interpolator went away)
- ColorInterpolator renamed RGBInterpolator
- HSBInterpolator now exists (not used by default: FxAnimateColor uses RGBInterpolator)
- HSBColor: new data structure in mx.utils for holding HSB colors and converting from/to RGB
- various changes to *Instance classes in effects (but these are not generally used externally)

QE Notes: Mustella tests will break due to class and property renames. QE is fixing these issues and a follow-up putback to Mustella is expected
Doc Notes: None
Bugs: -
Reviewer: Gordon
tests: checkintests, Mustella: tests/Effects tests/ListDataEffects

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxFadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/Constant.as" copyfrom-rev="4610" action="R">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/ColorInterpolator.as" copyfrom-rev="4610" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/RGBInterpolator.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/HSBColor.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/ColorInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/ArrayInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateShaderTransitionInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/Constant.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/IInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/EaseInOut.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/AnimationProperty.as</path>

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

--- frameworks/projects/spark/src/spark/effects/interpolation/NumberInterpolator.as
+++ frameworks/projects/spark/src/spark/effects/interpolation/NumberInterpolator.as
@@ -53,9 +53,11 @@
      *
      *
return startValue + fraction * (endValue - startValue);

      */
-    public function interpolate(fraction:Number, startValue:*, endValue:*):*
+    public function interpolate(fraction:Number, startValue:Object,
+        endValue:Object):Object
     {
-        if (isNaN(startValue) || isNaN(endValue))
+        if ((startValue is Number && isNaN(Number(startValue))) ||
+            (endValue is Number && isNaN(Number(endValue))))
             throw new Error("Interpolator cannot calculate interpolated " +
                             "values when either startValue (" + startValue + ") " +
                             "or endValue (" + endValue + ") is not a number");
@@ -67,5 +69,24 @@
         return Number(startValue) + (fraction * (Number(endValue) - Number(startValue)));
     }

+    /**
+     * @inheritDoc
+     *
+     *
return baseValue + incrementValue;

+     */
+    public function increment(baseValue:Object, incrementValue:Object):Object
+    {
+        return Number(baseValue) + Number(incrementValue);
+    }
+
+    /**
+     * @inheritDoc
+     *
+     *
return baseValue - decrementValue;

+     */
+   public function decrement(baseValue:Object, decrementValue:Object):Object
+   {
+        return Number(baseValue) - Number(decrementValue);
+   }
 }
 }