Transferred from the Adobe Open Source Subversion Repository

Revision: 22217
Author:   mhorn@adobe.com
Date:     2011-08-25T18:07:03.696931Z

Log Message:
-----------
minor asdoc change

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Form.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mx/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/BorderContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/ComboBox.as
+++ frameworks/projects/spark/src/spark/components/ComboBox.as
@@ -104,7 +104,7 @@
  * Because this component does not define a skin for the mobile theme, Adobe
  * recommends that you not use it in a mobile application. Alternatively, you
  * can define your own mobile skin for the component. For more information,
- * see Spark Skinning.
+ * see Basics of mobile skinning.
  */
 [DiscouragedForProfile("mobileDevice")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 17305
Author:   gruehle@adobe.com
Date:     2010-08-12T21:18:50.910120Z

Log Message:
-----------
This revision includes the following changes:
* Text skin parts for Spark components changed from TextBase and RichEditableText to IDisplayText and IEditableText
* TextBase implements IDisplayText
* RichEditableText implements IEditableText
* New mobile skins for TextInput and TextArea (TextArea appearance is placeholder for now)
* Add a TOUCH_SCROLL_STARTING handler to SkinnableTextBase. This handler prevents the touch scroll from happening if the text is selectable or editable.
* Change global contentBackgroundColor to #3F3F3F and mobile application backgroundColor to #484848

Now that text skin parts are interfaces they need to be cast to concrete types in a bunch of places. There are two general approaches taken here:
* For required functionality, cast to a known type like InteractiveObject
* For optional functionality, cast to the desired type using “as” and wrap the code with a null check.

QE notes: Mobile TextInput is ready for testing. TextArea has some issues with resizing, so testing should wait for now.
Doc notes: -
Bugs: -
Reviewer: Jason Szeto, Corey L.
Tests run: full mustella pass (thank you cyclone server!), checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInput_border.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DefaultColumnHeaderRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableTextBaseAutomationImpl.as</path>

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

--- frameworks/projects/spark/src/spark/components/ComboBox.as
+++ frameworks/projects/spark/src/spark/components/ComboBox.as
@@ -14,6 +14,7 @@
 import adobe.utils.CustomActions;

 import flash.display.DisplayObject;
+import flash.display.InteractiveObject;
 import flash.events.Event;
 import flash.events.FocusEvent;
 import flash.events.KeyboardEvent;
@@ -707,7 +708,8 @@
             textInput.restrict = restrict;
             textInput.focusEnabled = false;

-            textInput.textDisplay.batchTextInput = false;
+            if (textInput.textDisplay is RichEditableText)
+                RichEditableText(textInput.textDisplay).batchTextInput = false;
         }
     }

@@ -807,7 +809,7 @@
     {
         if (stage && textInput)
         {
-            stage.focus = textInput.textDisplay;
+            stage.focus = textInput.textDisplay as InteractiveObject;
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 18612
Author:   hmuller@adobe.com
Date:     2010-11-16T15:45:15.811520Z

Log Message:
-----------
Removed DataGrid/gridDimensions and privatized Grid/gridDimenions.  The GridDimensions singleton is not the exclusive responsibility of GridLayout.

Grid now lazily creates its GridSelection object.

QE notes:
Doc notes:
Bugs: SDK-28555
Reviewer: Kevin, Carol
Tests run: checkin, mustella
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>

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

--- frameworks/projects/spark/src/spark/components/DataGrid.as
+++ frameworks/projects/spark/src/spark/components/DataGrid.as
@@ -1123,22 +1123,6 @@
     }

     //----------------------------------
-    //  gridDimensions (private, read-only)
-    //----------------------------------
-
-    private var _gridDimensions:GridDimensions = null;
-
-    /**
-     *  @private
-     */
-    protected function get gridDimensions():GridDimensions
-    {
-        if (!_gridDimensions)
-            _gridDimensions = new GridDimensions();  // TBD(hmuller):delegate to protected createGridDimensions()
-        return _gridDimensions;
-    }
-
-    //----------------------------------
     //  enableIME
     //----------------------------------

@@ -1995,9 +1979,6 @@
         {
             // Basic Initialization

-            const layout:GridLayout = new GridLayout();
-            grid.layout = layout;  // TBD(hmuller): delegate to protected createGridLayout()
-            grid.gridDimensions = layout.gridDimensions = gridDimensions;
             gridSelection.grid = grid;
             grid.gridSelection = gridSelection;
             grid.dataGrid = this;
@@ -2122,9 +2103,6 @@
         {
             // Basic Initialization

-            const layout:GridLayout = GridLayout(grid.layout);
-            grid.gridDimensions = layout.gridDimensions = null;
-            grid.layout = null;
             gridSelection.grid = null;
             grid.gridSelection = null;
             grid.dataGrid = null;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -15,8 +15,10 @@
 import flash.display.DisplayObjectContainer;
 import flash.geom.Rectangle;

+import flashx.textLayout.conversion.ImportExportConfiguration;
 import flashx.textLayout.conversion.ITextImporter;
 import flashx.textLayout.conversion.TextFilter;
+import flashx.textLayout.elements.Configuration;
 import flashx.textLayout.elements.FlowElement;
 import flashx.textLayout.elements.ParagraphElement;
 import flashx.textLayout.elements.SpanElement;
@@ -85,6 +87,32 @@

     //--------------------------------------------------------------------------
     //
+    //  Class variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Used for determining whitespace processing during import.
+     */
+    private static var staticCharacterFormat:CharacterFormat =
+        new CharacterFormat();
+
+    /**
+     *  @private
+     *  Used for determining whitespace processing during import.
+     */
+    private static var staticConfiguration:Configuration =
+        new Configuration();
+
+    /**
+     *  @private
+     *  Used for determining whitespace processing during import.
+     */
+    private static var staticImportExportConfiguration:ImportExportConfiguration;
+
+    //--------------------------------------------------------------------------
+    //
     //  Constructor
     //
     //--------------------------------------------------------------------------
@@ -94,6 +122,17 @@
      */
     public function TextGraphic()
     {
+        // Initialize staticImportExportConfiguration at instance-creation
+        // time rather than at static initialization time, to avoid
+        // any class-initialization-order problems.
+        if (!staticImportExportConfiguration)
+        {
+            staticImportExportConfiguration =
+                ImportExportConfiguration.defaultConfiguration;
+
+            ImportExportConfiguration.restoreDefaults();
+        }
+
         super();

         _content = textFlow = createEmptyTextFlow();
@@ -404,21 +443,44 @@
     /**
      *  @private
      */
-    private function importStringMarkup(markup:String):TextFlow
-    {
-        markup = '<TextFlow xmlns="http://ns.adobe.com/textLayout/2008">' +
-                 markup +
-                 '</TextFlow>';
-
-        return TextFilter.importToFlow(markup, TextFilter.TEXT_LAYOUT_FORMAT);
-    }
-
-    /**
-     *  @private
-     */
-    private function importXMLMarkup(markup:XML):TextFlow
-    {
-        return TextFilter.importToFlow(markup, TextFilter.TEXT_LAYOUT_FORMAT);
+    private function createTextFlowFromMarkup(markup:Object):TextFlow
+    {
+        // The whiteSpaceCollapse format determines how whitespace
+        // is processed when markup is imported.
+		staticCharacterFormat.whiteSpaceCollapse =
+            getStyle("whiteSpaceCollapse");
+		staticConfiguration.textFlowInitialCharacterFormat =
+            staticCharacterFormat;
+		staticImportExportConfiguration.textFlowConfiguration =
+            staticConfiguration;
+
+        if (markup is String)
+        {
+            markup = '<TextFlow xmlns="http://ns.adobe.com/textLayout/2008">' +
+                     markup +
+                     '</TextFlow>';
+        }
+
+        return TextFilter.importToFlow(markup, TextFilter.TEXT_LAYOUT_FORMAT,
+                                       staticImportExportConfiguration);
+    }
+
+    /**
+     *  @private
+     */
+    private function createTextFlowFromChildren(children:Array):TextFlow
+    {
+        var textFlow:TextFlow = new TextFlow();
+
+        // The whiteSpaceCollapse format determines how whitespace
+        // is processed when the children are set.
+        staticCharacterFormat.whiteSpaceCollapse =
+            getStyle("whiteSpaceCollapse");
+        textFlow.hostCharacterFormat = staticCharacterFormat;
+
+        textFlow.mxmlChildren = children;
+
+        return textFlow;
     }

     /**
@@ -435,21 +497,15 @@
             }
             else if (_content is Array)
             {
-                textFlow = new TextFlow();
-                textFlow.mxmlChildren = _content as Array;
+                textFlow = createTextFlowFromChildren(_content as Array);
             }
             else if (_content is FlowElement)
             {
-                textFlow = new TextFlow();
-                textFlow.mxmlChildren = [ _content ];
-            }
-	        else if (_content is XML)
-            {
-                textFlow = importXMLMarkup(XML(_content));
-            }
-            else if (_content is String)
-            {
-                textFlow = importStringMarkup(String(_content));
+                textFlow = createTextFlowFromChildren([ _content ]);
+            }
+	        else if (_content is String || _content is XML)
+            {
+                textFlow = createTextFlowFromMarkup(_content);
             }
             else if (_content == null)
             {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7079
Author:   cframpto@adobe.com
Date:     2009-05-19T17:43:53.967947Z

Log Message:
-----------
-Move init of heightInLines out to skin.
-Handle constrained width in RichEditableText for both the autoSize and !autoSize case.
-For autoSize, width/height/minWidth/minHeight are ignored.  If lineBreak="toFit", maxWidth determines where wrap will occur (unless it is constrained in which case that width trumps).  The default maxWidth, if not specified is 160.  If lineBreak="explicit" the text determines the width.  When autoSizing, height is not bounded and there is no scrolling.

QA Notes:
Doc Notes:
Bugs: SDK-21115, SDK-20400, SDK-21125
Reviewers: Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/TextInputSkin.mxml</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/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextInput.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextArea.as
+++ frameworks/projects/spark/src/spark/components/TextArea.as
@@ -349,11 +349,9 @@
             // TextArea rather than RichEditableText so that if changed later it
             // will be inherited.

-            // ToDo: The skin is loaded after the intial properties have been
-            // set so these could wipe out explicit sets.
-            textView.heightInLines = 10;
-            textView.multiline = true;
-            textView.autoSize = false;
+            // The skin is loaded after the intial properties have been
+            // set so these wipe out explicit sets.
+			textView.multiline = true;
         }

         // The scroller, between textView and this in the chain, should not


Switched from using a gigantic TextField (plus backing) to using cached
bitmaps for characters.

git-svn-id: 41360ad359616a519dfba9f2f48af1afe653c9f7@97 be230a1c-449f-4488-b524-6273046f66f0

--- src/as/client/ClientApp.as
+++ src/as/client/ClientApp.as
@@ -5,6 +5,7 @@

 import flash.display.Bitmap;
 import flash.display.BitmapData;
+import flash.display.DisplayObject;
 import flash.display.Shape;
 import flash.display.SimpleButton;
 import flash.display.Sprite;
@@ -25,6 +26,7 @@
 import flash.filters.BevelFilter;
 import flash.filters.BitmapFilterType;

+import flash.geom.Matrix;
 import flash.geom.Point;
 import flash.geom.Rectangle;

@@ -85,47 +87,38 @@
      */
     protected function init (event :Event) :void
     {
-        // create and add the text field display
-        _field = new TextField();
-        addChild(_field);
-        _field.autoSize = TextFieldAutoSize.CENTER;
-        _field.text = " ";
-        _field.selectable = false;
+        // create the text field used to render characters
+        _charField = new TextField();
+        _charField.text = " ";
         _normalFormat = new TextFormat();
-        _normalFormat.color = _field.textColor = 0x00FF00;
+        _normalFormat.color = 0x00FF00;
         _reverseFormat = new TextFormat();
         _reverseFormat.color = 0x000000;
         _dimFormat = new TextFormat();
         _dimFormat.color = 0x008000;
         _normalFormat.font = _reverseFormat.font = _dimFormat.font = "_typewriter";
-        _field.setTextFormat(_normalFormat);
+        _charField.setTextFormat(_normalFormat);

         // get the size of a character and use it to determine the char width/height
-        var bounds :Rectangle = _field.getCharBoundaries(0);
-        _width = loaderInfo.width / bounds.width;
-        _height = loaderInfo.height / bounds.height;
-        var line :String = "", text :String = "";
-        for (var ii :int = 0; ii < _width; ii++) {
-            line += " ";
-        }
-        line += '\n';
-        for (ii = 0; ii < _height; ii++) {
-            text += line;
-        }
-        _field.text = text;
-        _field.setTextFormat(_normalFormat);
-        _field.x = (loaderInfo.width - _field.width) / 2;
-        _field.y = (loaderInfo.height - _field.height) / 2;
+        var bounds :Rectangle = _charField.getCharBoundaries(0);
+        _charWidth = bounds.width;
+        _charHeight = bounds.height;
+        _width = loaderInfo.width / _charWidth;
+        _height = loaderInfo.height / _charHeight;
+
+        // center the display
+        _x = (loaderInfo.width - (_charWidth * _width)) / 2;
+        _y = (loaderInfo.height - (_charHeight * _height)) / 2;

         // create and initialize the combined contents array
         _contents = new Array(_width * _height);
-        for (ii = 0; ii < _contents.length; ii++) {
+        for (var ii :int = 0; ii < _contents.length; ii++) {
             _contents[ii] = 0x20;
         }

-        // create the highlight bitmap data and highlight array
-        _highlightData = new BitmapData(bounds.width, bounds.height, false);
-        _highlights = new Array(_width * _height);
+        // create the bitmap data cache and bitmap array
+        _bitmapData = new Object();
+        _bitmaps = new Array(_width * _height);

         // add the context menu to change colors
         contextMenu = new ContextMenu();
@@ -147,8 +140,13 @@
         }

         // listen for mouse and key events
-        _field.addEventListener(MouseEvent.MOUSE_DOWN, sendMouseMessage);
-        _field.addEventListener(MouseEvent.MOUSE_UP, sendMouseMessage);
+        var mousePad :Sprite = new Sprite();
+        addChild(mousePad);
+        mousePad.graphics.beginFill(0x0, 0.0);
+        mousePad.graphics.drawRect(_x, _y, _width*_charWidth, _height*_charHeight);
+        mousePad.graphics.endFill();
+        mousePad.addEventListener(MouseEvent.MOUSE_DOWN, sendMouseMessage);
+        mousePad.addEventListener(MouseEvent.MOUSE_UP, sendMouseMessage);
         addEventListener(KeyboardEvent.KEY_DOWN, sendKeyMessage);
         addEventListener(KeyboardEvent.KEY_UP, sendKeyMessage);

@@ -156,6 +154,9 @@
         stage.focus = this;
         addEventListener(FocusEvent.FOCUS_OUT, function (event :FocusEvent) :void {
             addClientWindow(int.MAX_VALUE - 1, "Click to restore input focus.");
+
+            // attempt to reacquire
+            stage.focus = mousePad.parent;
         });
         addEventListener(FocusEvent.FOCUS_IN, function (event :FocusEvent) :void {
             removeWindow(int.MAX_VALUE - 1, false);
@@ -414,9 +415,8 @@
         var fg :uint = parseInt(foreground, 16);
         var bg :uint = parseInt(background, 16);

-        _normalFormat.color = _field.textColor = fg;
-
-        stage.color = bg;
+        _normalFormat.color = fg;
+        _reverseFormat.color = stage.color = bg;

         // the dim color is halfway between foreground and background
         var r :uint = ((fg >> 16) + (bg >> 16)) / 2;
@@ -424,16 +424,18 @@
         var b :uint = ((fg & 0xFF) + (bg & 0xFF)) / 2;
         _dimFormat.color = (r << 16) | (g << 8) | b;

-        _highlightData.fillRect(_highlightData.rect, fg);
+        // dispose of all cached bitmaps and refresh
+        for (var key :* in _bitmapData) {
+            _bitmapData[uint(key)].dispose();
+        }
+        _bitmapData = new Object();
+
         for (var yy :int = 0; yy < _height; yy++) {
             for (var xx :int = 0; xx < _width; xx++) {
-                // we must reapply the reverse and dim formats
-                var val :int = _contents[yy*_width + xx];
-                var tidx :int = yy*(_width + 1) + xx;
-                if ((val & REVERSE_FLAG) != 0) {
-                    _field.setTextFormat(_reverseFormat, tidx, tidx + 1);
-                } else if ((val & DIM_FLAG) != 0) {
-                    _field.setTextFormat(_dimFormat, tidx, tidx + 1);
+                var idx :int = yy*_width + xx;
+                var bitmap :Bitmap = _bitmaps[idx];
+                if (bitmap != null) {
+                    bitmap.bitmapData = getBitmapData(_contents[idx]);
                 }
             }
         }
@@ -498,16 +500,16 @@
         if (!_socket.connected) {
             return;
         }
-        var idx :int = _field.getCharIndexAtPoint(
-            event.stageX - _field.x, event.stageY - _field.y);
-        if (idx == -1) {
+        var x :int = (event.stageX - _x) / _charWidth;
+        var y :int = (event.stageY - _y) / _charHeight;
+        if (x < 0 || y < 0 || x >= _width || y >= _height) {
             return;
         }
         var out :IDataOutput = startMessage();
         out.writeByte(event.type == MouseEvent.MOUSE_DOWN ?
             MOUSE_PRESSED_MSG : MOUSE_RELEASED_MSG);
-        out.writeShort(idx % (_width + 1));
-        out.writeShort(idx / (_width + 1));
+        out.writeShort(x);
+        out.writeShort(y);
         endMessage(out);
     }

@@ -797,17 +799,12 @@
         _dirty = _dirty.union(region);

         if (_debugRegions) {
-            var cbounds :Rectangle = _field.getCharBoundaries(0);
-
             // add the outline of the region
             var shape :Shape = new Shape();
             shape.graphics.lineStyle(1, color);
-            shape.graphics.drawRect(0, 0, cbounds.width*region.width,
-                cbounds.height*region.height);
-            shape.x = _field.x + cbounds.width*region.x +
-                (_field.width - cbounds.width*_width)/2;
-            shape.y = _field.y + cbounds.height*region.y +
-                (_field.height - cbounds.height*_height)/2;
+            shape.graphics.drawRect(0, 0, _charWidth*region.width, _charHeight*region.height);
+            shape.x = _x + _charWidth*region.x;
+            shape.y = _y + _charHeight*region.y;
             addChild(shape);

             // remove it after a second
@@ -862,45 +859,47 @@
                 }
                 _contents[idx] = nvalue;

-                var tidx :int = yy*(_width + 1) + xx;
-                var ochar :int = ovalue & 0xFFFF;
-                var nchar :int = nvalue & 0xFFFF;
-                var nrev :int = (nvalue & REVERSE_FLAG);
-                var ndim :int = (nvalue & DIM_FLAG);
-                if (ochar != nchar) {
-                    _field.replaceText(tidx, tidx + 1, String.fromCharCode(nchar));
-                    _field.setTextFormat(nrev == REVERSE_FLAG ? _reverseFormat :
-                        (ndim == DIM_FLAG ? _dimFormat : _normalFormat), tidx, tidx + 1);
+                var bitmap :Bitmap = _bitmaps[idx];
+                if (nvalue != 0x20) {
+                    if (bitmap == null) {
+                        _bitmaps[idx] = bitmap = new Bitmap();
+                        bitmap.x = _x + xx*_charWidth;
+                        bitmap.y = _y + yy*_charHeight;
+                        addChildAt(bitmap, 0);
+                    }
+                    bitmap.bitmapData = getBitmapData(nvalue);
+
+                } else if (bitmap != null) {
+                    removeChild(bitmap);
+                    _bitmaps[idx] = null;
                 }
-                if ((ovalue & REVERSE_FLAG) != nrev) {
-                    if (nrev == REVERSE_FLAG) {
-                        // the char boundaries might not be valid yet, so we compute the location
-                        // assuming the text is centered within the field
-                        var highlight :Bitmap = new Bitmap(_highlightData);
-                        addChildAt(_highlights[idx] = highlight, 0);
-                        var cbounds :Rectangle = _field.getCharBoundaries(0);
-                        highlight.x = _field.x + cbounds.width*xx +
-                            (_field.width - cbounds.width*_width)/2;
-                        highlight.y = _field.y + cbounds.height*yy +
-                            (_field.height - cbounds.height*_height)/2;
-                        if (ochar == nchar) {
-                            _field.setTextFormat(_reverseFormat, tidx, tidx + 1);
-                        }
-                    } else {
-                        removeChild(_highlights[idx]);
-                        _highlights[idx] = null;
-                        if (ochar == nchar) {
-                            _field.setTextFormat(ndim == DIM_FLAG ? _dimFormat : _normalFormat,
-                                tidx, tidx + 1);
-                        }
-                    }
-                }
-                if ((ovalue & DIM_FLAG) != ndim && nrev != REVERSE_FLAG && ochar == nchar) {
-                    _field.setTextFormat(ndim == DIM_FLAG ? _dimFormat : _normalFormat,
-                        tidx, tidx + 1);
-                }
-            }
-        }
+            }
+        }
+    }
+
+    /**
+     * Returns through the cache the bitmap corresponding to the specified value.
+     */
+    protected function getBitmapData (value :int) :BitmapData
+    {
+        var data :BitmapData = _bitmapData[value];
+        if (data == null) {
+            _charField.text = String.fromCharCode(value & 0xFFFF);
+            var bg :uint;
+            if ((value & REVERSE_FLAG) == 0) {
+                bg = _reverseFormat.color as uint;
+                _charField.setTextFormat((value & DIM_FLAG) == 0 ? _normalFormat : _dimFormat);
+            } else {
+                bg = _normalFormat.color as uint;
+                _charField.setTextFormat((value & DIM_FLAG) == 0 ? _reverseFormat : _dimFormat);
+            }
+            _bitmapData[value] = data = new BitmapData(_charWidth, _charHeight, false, bg);
+            var bounds :Rectangle = _charField.getCharBoundaries(0);
+            var matrix :Matrix = new Matrix();
+            matrix.translate(-bounds.x, -bounds.y);
+            data.draw(_charField, matrix);
+        }
+        return data;
     }

     /**
@@ -1019,23 +1018,29 @@
         }
     }

-    /** Our gigantic text field. */
-    protected var _field :TextField;
-
-    /** The contents of our field as integers. */
+    /** The contents of the display as integers. */
     protected var _contents :Array;

     /** Formats for normal, reverse, and dim text. */
     protected var _normalFormat :TextFormat, _reverseFormat :TextFormat, _dimFormat :TextFormat;

-    /** The highlight bitmap data. */
-    protected var _highlightData :BitmapData;
-
-    /** The highlight bitmaps for each location (if active). */
-    protected var _highlights :Array;
+    /** The field we reuse to create character bitmaps. */
+    protected var _charField :TextField;
+
+    /** The character bitmaps for each location. */
+    protected var _bitmaps :Array;
+
+    /** The cached bitmap data for each character. */
+    protected var _bitmapData :Object;

     /** The width and height of the display in characters. */
     protected var _width :int, _height :int;
+
+    /** The width and height of each character. */
+    protected var _charWidth :int, _charHeight :int;
+
+    /** The location of the character grid. */
+    protected var _x :int, _y :int;

     /** The socket via which we communicate with the server. */
     protected var _socket :Socket;


flash rotate: use round instead of ceil (fix image dimensions after rotate)

--- flash/src/ru/mail/commands/ResizeFileCommand.as
+++ flash/src/ru/mail/commands/ResizeFileCommand.as
@@ -114,7 +114,7 @@
 				{
 					matrix = new Matrix();
 					matrix.identity();
-					matrix.translate( -1*Math.ceil(imageTransform.sx), -1*Math.ceil(imageTransform.sy) );
+					matrix.translate( -1*Math.round(imageTransform.sx), -1*Math.round(imageTransform.sy) );

 					currentImageMap = new BitmapData(imageTransform.sw, imageTransform.sh);
 					currentImageMap.draw(fullImageMap, matrix);
@@ -155,7 +155,7 @@
 						curWidth = 0.5*curWidth;
 						curHeight = 0.5*curHeight;

-						currentImageMap = new BitmapData( Math.ceil( curWidth ), Math.ceil( curHeight ) );
+						currentImageMap = new BitmapData( Math.round( curWidth ), Math.round( curHeight ) );

 						// TODO: set smoothing to false (nearest neighbour) - it should work the same
 						currentImageMap.draw(mapToScale, matrix, null, null, null, true );
@@ -172,18 +172,18 @@
 				// single-step

 				// final size including rotation
-				var tw:Number = Math.ceil( Math.abs( Math.sin(angle)*imageTransform.dh ) + Math.abs( Math.cos(angle)*imageTransform.dw ) );
-				var th:Number = Math.ceil( Math.abs( Math.sin(angle)*imageTransform.dw ) + Math.abs( Math.cos(angle)*imageTransform.dh ) );
+				var tw:Number = Math.round( Math.abs( Math.sin(angle)*imageTransform.dh ) + Math.abs( Math.cos(angle)*imageTransform.dw ) );
+				var th:Number = Math.round( Math.abs( Math.sin(angle)*imageTransform.dw ) + Math.abs( Math.cos(angle)*imageTransform.dh ) );

 				scaleX = imageTransform.dw/currentImageMap.width;
 				scaleY = imageTransform.dh/currentImageMap.height;

 				matrix = new Matrix();
 				matrix.identity();
-				matrix.translate( -1*Math.ceil(0.5*currentImageMap.width), -1*Math.ceil(0.5*currentImageMap.height) );
+				matrix.translate( -1*Math.round(0.5*currentImageMap.width), -1*Math.round(0.5*currentImageMap.height) );
 				matrix.rotate( angle );
 				matrix.scale( scaleX, scaleY );
-				matrix.translate( Math.ceil(0.5*tw), Math.ceil(0.5*th) );
+				matrix.translate( Math.round(0.5*tw), Math.round(0.5*th) );

 				resizedImageMap = new BitmapData( tw , th );
 				// resize with bilinear interpolation


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/Image.as
+++ frameworks/projects/mx/src/mx/controls/Image.as
@@ -36,6 +36,11 @@
  *  when the data property changes.

  *
  *  @eventType mx.events.FlexEvent.DATA_CHANGE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="dataChange", type="mx.events.FlexEvent")]

@@ -116,6 +121,11 @@
  *  @see mx.controls.SWFLoader
  *
  *  @includeExample examples/SimpleImage.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Image extends SWFLoader
                    implements IDataRenderer, IDropInListItemRenderer,
@@ -131,6 +141,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function Image()
     {
@@ -222,6 +237,11 @@
      *
      *  @default null
      *  @see mx.core.IDataRenderer
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get data():Object
     {
@@ -271,6 +291,11 @@
      *
      *  @default null
      *  @see mx.controls.listClasses.IDropInListItemRenderer
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get listData():BaseListData
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19828
Author:   cframpto@adobe.com
Date:     2011-01-20T17:10:33.260047Z

Log Message:
-----------
For mx:TextArea, Text and Label, textHeight and textWidth were not updated in the case where the width changed and the text did not.  A width change can cause the text to reflow so the local copies of these TextField variables need to be updated.  In the case of the bug file, the variables were updated by commitProperties(), but updateDisplayList() then adjusted the width/height of the TextField and the copies were not updated.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Label.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/TextArea.as</path>

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

--- frameworks/projects/mx/src/mx/controls/Label.as
+++ frameworks/projects/mx/src/mx/controls/Label.as
@@ -1512,7 +1512,9 @@
             textField.addEventListener("textInsert",
                                        textField_textModifiedHandler);
             textField.addEventListener("textReplace",
-                                       textField_textModifiedHandler);
+                                       textField_textModifiedHandler);
+            textField.addEventListener("textFieldWidthChange",
+                                       textField_textFieldWidthChangeHandler);

             if (childIndex == -1)
                 addChild(DisplayObject(textField));
@@ -1536,6 +1538,8 @@
                                           textField_textModifiedHandler);
             textField.removeEventListener("textReplace",
                                           textField_textModifiedHandler);
+            textField.removeEventListener("textFieldWidthChange",
+                                          textField_textFieldWidthChangeHandler);
             removeChild(DisplayObject(textField));
             textField = null;
         }
@@ -1670,6 +1674,15 @@
         textFieldChanged(false);
     }

+    /**
+     *  @private
+     *  Changing the width of the text field can cause the text to reflow.
+     *  Make sure our local _textWidth and _textHeight are in sync with text field.
+     */
+    private function textField_textFieldWidthChangeHandler(event:Event):void
+    {
+        textFieldChanged(true);
+    }
 }

 }


hopefully fixed a bug, where to framerate was requested from the loaded movie to early

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

--- src/reprise/media/SWFPlayer.as
+++ src/reprise/media/SWFPlayer.as
@@ -93,6 +93,10 @@

 		protected override function doPlay():void
 		{
+			if (!m_loader.content)
+			{
+				return;
+			}
 			MovieClip(m_loader.content).gotoAndPlay(timeToFrame(position()));
 		}

@@ -159,7 +163,7 @@

 		protected function framerate():uint
 		{
-			return m_loader.contentLoaderInfo.frameRate || 25;
+			return m_loader.content ? m_loader.contentLoaderInfo.frameRate || 25;
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 3892
Author:   egeorgie@adobe.com
Date:     2008-10-24T23:33:52.238868Z

Log Message:
-----------
Add constraint properties and unify IVisualItem, UIComponent, GraphicElement, change percentSize to percentWidth, percentHeight in ILayoutItem. Remove IGraphicElementHost and GraphicElementHostImpl. Change GraphicElement constraint properties to take in Object instead of Number to enable advanced constraints later on.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Ryan
tests: checkintests, Mustella (canvas, gumbo layout)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/StrokedElement.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElementHostImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualItem.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/IGraphicElementHost.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemFDO.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/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as
+++ frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as
@@ -12,11 +12,9 @@
 {
 	import flash.geom.Matrix;
 	import flash.geom.Matrix3D;
-	import __AS3__.vec.Vector;
+    import flash.geom.Point;
 	import flash.geom.Vector3D;
-	import mx.geom.ITransformable;
 	import flash.events.Event;
-    import flash.geom.Point;
 	import mx.geom.CompoundTransform;
 	import mx.geom.TransformOffsets;
 	use namespace mx_internal;


Transferred from the Adobe Open Source Subversion Repository

Revision: 18905
Author:   smgilson@adobe.com
Date:     2010-12-01T19:46:01.171525Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>

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

--- frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as
+++ frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as
@@ -29,28 +29,47 @@
 [ResourceBundle("core")]

 /**
- *  The DateTimeFormatter class provides locale-sensitve
+ *  The DateTimeFormatter class provides locale-sensitve
  *  formatting for a Date object.
  *
  *
This class is a wrapper class around the
- *  flash.globalization.DateTimeFormatter.
+ *  flash.globalization.DateTimeFormatter class.
  *  Therefore, the locale-specific formatting functionality and the month
  *  names, day names and the first day of the week are provided by the
- *  flash.globalization.DateTimeFormatter.
- *  However, this DateTimeFormatter class can be used in MXML declartions,
+ *  flash.globalization.DateTimeFormatter.
+ *  However, this DateTimeFormatter class can be used in MXML declarations,
  *  uses the locale style for the requested Locale ID name, and has methods
  *  and properties that are bindable.

  *
- *
The flash.globalization.DateTimeFormatter class uses the
+ *
The flash.globalization.DateTimeFormatter class uses the
  *  underlying operating system for the formatting functionality and to
  *  supply the locale-specific data.
- *  On some operating systems, the flash.globalization classes
+ *  On some operating systems, the flash.globalization classes
  *  are unsupported, on these systems, this wrapper class provides
  *  fallback functionality.

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

+ *
+ *

+ *  <s:DateTimeFormatter
+ *    Properties
+ *    dateStyle="long"
+ *    dateTimePattern="EEEE, MMMM dd, yyyy h:mm:ss a"
+ *    errorText="null"
+ *    timeStyle="long"
+ *    useUTC="false"
+ *  />
+ *

  *
  *  @includeExample examples/DateTimeFormatterExample.mxml
  *
  *  @see flash.globalization.DateTimeFormatter
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
  */
 public class DateTimeFormatter extends GlobalizationBase implements IFormatter
 {
@@ -89,25 +108,21 @@
      *  By using the class in an MXML declaration and inheriting the
      *  locale from the document that contains the declaration.
      *

-     *  Example:
-     *  <listing version="3.0" >
-     *  <fx:Declarations>

-     *         <s:DateTimeFormatter id="df" />

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

+     *  <fx:Declarations>
+     *         <s:DateTimeFormatter id="df" />
+     *  </fx:Declarations>

      *

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

-     *  Example:
-     *  <listing version="3.0" >
-     *  <fx:Declarations>

-     *      <s:DateTimeFormatter id="df_Japanese" locale="ja-JP" />

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

+     *  <fx:Declarations>
+     *      <s:DateTimeFormatter id="df_Japanese" locale="ja-JP" />
+     *  </fx:Declarations>

      *

-     *  Calling the setStyle method,
-     *  e.g. df.setStyle("locale", "ja-JP")
+     *  Calling the setStyle method. For example:

+     *  df.setStyle("locale", "ja-JP")

      *

      *

      *  Inheriting the style from a UIComponent by calling the
@@ -157,7 +172,7 @@

     /**
      *  @private
-     *  Basic properies of the actual underlying working instance.
+     *  Basic properties of the actual underlying working instance.
      */
     mx_internal var properties:Object = null;

@@ -285,7 +300,9 @@
      *  assigning a value to either the dateStyle property or
      *  the dateTimePattern property.
      *
-     *
Possible values for the dateStyle property are:

+     *
The possible for this property are defined by
+     *  the flash.globalization.DateTimeStyle class.
+     *  Possible values for the dateStyle property are:

      *
      *

      *
DateTimeStyle.LONG

@@ -296,7 +313,7 @@
      *

      *
      *
If the dateTimePattern
-     *  property is assigned a value, as a side effect, the dateStyle property
+     *  property is assigned a value, as a side effect, the dateStyle property
      *  is set to DateTimeStyle.CUSTOM

      *
      *  @default DateTimeStyle.LONG
@@ -381,16 +398,15 @@
      *

      *
      *
If this property is assigned a value directly, as a side effect,
-     *  the current time and date styles will be overriden and
+     *  the current time and date styles are overridden and
      *  set to the value DateTimeStyle.CUSTOM.

      *
-     *
For a description of the pattern syntax please see the
-     *
+     *
For a description of the pattern syntax, please see the
+     *
      *  flash.globalization.DateTimeFormatter.setDateTimePattern()
      *   method.

      *
-     *  @return A string containing the pattern used by this
-     *  DateTimeFormatter object to format dates and times.
+     *  @default "EEEE, MMMM dd, yyyy h:mm:ss a"
      *
      *  @see #dateStyle
      *  @see #timeStyle
@@ -450,7 +466,7 @@
     [Bindable("change")]

     /**
-     *  Replacement string returned by the format() method
+     *  String returned by the format() method
      *  when an error occurs.
      *
      *
If errorText is non-null and an error occurs
@@ -510,7 +526,9 @@
      *  assigning a value to either the timeStyle property or
      *  the dateTimePattern property.
      *
-     *
Possible values for the timeStyle property are:

+     *
The value of the property are defined by the
+     *  flash.globalization.DateTimeStyle class.
+     *  Possible values for the timeStyle property are:

      *
      *

      *
DateTimeStyle.LONG

@@ -606,7 +624,7 @@
      *  values are used when the formatting a date.
      *
      *  If useUTC is set to true then the UTC values
-     *  are used. If the value is set tofalse, then the
+     *  are used. If the value is set to false, then the
      *  date time values of the operating system's current time zone is used.
      *
      *  @default false
@@ -719,6 +737,7 @@
      *  @param value A Date value to be formatted. If the
      *  object is not a Date then it will be converted
      *  to a date using the Date() constructor.
+     *
      *  @return A formatted string representing the date or time value.
      *
      *  @see #dateStyle


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/rpc/src/mx/messaging/management/ObjectInstance.as
+++ frameworks/projects/rpc/src/mx/messaging/management/ObjectInstance.as
@@ -0,0 +1,53 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.messaging.management
+{
+
+import mx.utils.ObjectUtil;
+
+[RemoteClass(alias='flex.management.jmx.ObjectInstance')]
+
+/**
+ * Client representation of an object name instance for server-side management controls.
+ */
+public class ObjectInstance
+{
+    /**
+     *  Creates a new instance of an empty ObjectInstance.
+     */
+    public function ObjectInstance()
+    {
+        super();
+    }
+
+    /**
+     * The object name.
+     */
+    public var objectName:ObjectName;
+
+    /**
+     * The class name.
+     */
+    public var className:String;
+
+    /**
+     *  Returns a string representation of the object name instance.
+     *
+     *  @return String representation of the object name instance.
+     */
+    public function toString():String
+    {
+        return ObjectUtil.toString(this);
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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


http://www.igniterealtime.org/community/thread/41305?tstart=0 XHTMLExtension contained incorrect namespace

--- src/org/igniterealtime/xiff/data/xhtml/XHTMLExtension.as
+++ src/org/igniterealtime/xiff/data/xhtml/XHTMLExtension.as
@@ -43,7 +43,7 @@
 	 */
 	public class XHTMLExtension extends Extension implements IExtension, ISerializable
 	{
-		public static const NS:String = "http://www.w3.org/1999/xhtml";
+		public static const NS:String = "http://jabber.org/protocol/xhtml-im";
 		public static const ELEMENT_NAME:String = "html";

 	    private static var staticDepends:Class = ExtensionClassRegistry;
@@ -73,7 +73,7 @@
 		 */
         public function deserialize( node:XMLNode ):Boolean
         {
-			getNode().appendChild(node);
+			getNode().appendChild(node.cloneNode(true));
         	return true;
         }


Duplicate variable definition.

Duplicate variable definition.

git-svn-id: c197267f952b24206666de142881703007ca05d5@11529 b35dd754-fafc-0310-a699-88a17e54d16e

--- src/org/igniterealtime/xiff/core/XMPPConnection.as
+++ src/org/igniterealtime/xiff/core/XMPPConnection.as
@@ -832,7 +832,7 @@
 				// Start the callback for this IQ if one exists
 				if ( pendingIQs[iq.id] !== undefined )
 				{
-					var callbackInfo:* = pendingIQs[iq.id];
+					callbackInfo = pendingIQs[iq.id];

 					if (callbackInfo.errorFunc != null)
 					{


fixed bug where equation column wouldn't bin correctly

--- WeaveData/src/weave/data/BinningDefinitions/SimpleBinningDefinition.as
+++ WeaveData/src/weave/data/BinningDefinitions/SimpleBinningDefinition.as
@@ -26,6 +26,7 @@
 	import weave.api.data.IBinningDefinition;
 	import weave.api.data.IColumnWrapper;
 	import weave.api.data.IPrimitiveColumn;
+	import weave.api.data.IQualifiedKey;
 	import weave.api.newLinkableChild;
 	import weave.compiler.StandardLib;
 	import weave.core.LinkableNumber;
@@ -67,8 +68,22 @@
 			var nonWrapperColumn:IAttributeColumn = column;
 			while (nonWrapperColumn is IColumnWrapper)
 				nonWrapperColumn = (nonWrapperColumn as IColumnWrapper).internalColumn;
+
+			var dataType:String = nonWrapperColumn ? ColumnUtils.getDataType(nonWrapperColumn) : null;
+			if (dataType == null)
+			{
+				// hack -- if we find a number, assume dataType is number
+				for each (var key:IQualifiedKey in column.keys)
+				{
+					if (column.getValueFromKey(key) is Number)
+					{
+						dataType = DataTypes.NUMBER;
+						break;
+					}
+				}
+			}

-			var integerValuesOnly:Boolean = nonWrapperColumn && ColumnUtils.getDataType(nonWrapperColumn) != DataTypes.NUMBER;
+			var integerValuesOnly:Boolean = nonWrapperColumn && dataType != DataTypes.NUMBER;
 			var dataMin:Number = WeaveAPI.StatisticsCache.getMin(column);
 			var dataMax:Number = WeaveAPI.StatisticsCache.getMax(column);

@@ -81,7 +96,7 @@
 			var maxInclusive:Boolean;

 			for (var iBin:int = 0; iBin < numberOfBins.value; iBin++)
-			{
+			{
 				if (integerValuesOnly)
 				{
 					maxInclusive = true;


Change 20090212-maxcarlson-9 by maxcarlson@Bank.lan on 2009-02-12 23:59:18 PST
    in /Users/maxcarlson/openlaszlo/trunk-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Improve mouseupoutside behavior outside windows

Bugs Fixed: LPP-7724 - Mouse events behave wrong in opaque mode (FireFox)

Technical Reviewer: hminsky
QA Reviewer: promanik

Details: Rename __mouseLeaveHandler -> __mouseLeaveHandler.  Clear __mouseLeft if set, regardless of button state.  Make argument to __mouseLeaveHandler() optional so it can be called from external JavaScript.

Tests: See updated testcase at LPP-7724 - test app.lzx?lzr=swf9, em.html, emOp.html and emIf.html in firefox 3 windows and mac.

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

--- WEB-INF/lps/lfc/kernel/swf9/LzMouseKernel.as
+++ WEB-INF/lps/lfc/kernel/swf9/LzMouseKernel.as
@@ -47,7 +47,7 @@
             LFCApplication.stage.addEventListener(MouseEvent.MOUSE_UP,   __mouseHandler);
             LFCApplication.stage.addEventListener(MouseEvent.MOUSE_DOWN, __mouseHandler);
             LFCApplication.stage.addEventListener(MouseEvent.MOUSE_WHEEL, __mouseWheelHandler);
-            LFCApplication.stage.addEventListener(Event.MOUSE_LEAVE, __mouseLeavesHandler);
+            LFCApplication.stage.addEventListener(Event.MOUSE_LEAVE, __mouseLeaveHandler);
             __listeneradded = true;
         }
     }
@@ -60,9 +60,9 @@
             __lastMouseDown.__globalmouseup(event);
             __lastMouseDown = null;
         } else {
-            if (__mouseLeft && event.buttonDown) {
+            if (__mouseLeft) {
                 __mouseLeft = false;
-                __mouseUpOutsideHandler();
+                if (event.buttonDown) __mouseUpOutsideHandler();
             }
             __sendEvent(null, eventname);
         }
@@ -78,10 +78,9 @@
     }

     // handles MOUSE_LEAVE event
-    static function __mouseLeavesHandler(event:Event):void {
-        var eventname = 'on' + event.type.toLowerCase();
+    static function __mouseLeaveHandler(event:Event = null):void {
         __mouseLeft = true;
-        __sendEvent(null, eventname);
+        __sendEvent(null, 'onmouseleave');
     }

     static function __mouseWheelHandler(event:MouseEvent):void {


- change: Removed amazingly annoying debug trace

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

--- src/com/cinqetdemi/JSON.as
+++ src/com/cinqetdemi/JSON.as
@@ -301,7 +301,6 @@
 			{
 				s = str();
 				white();
-				trace(ch);
 				if(ch == ':')
 				{
 					return s;


Transferred from the Adobe Open Source Subversion Repository

Revision: 10376
Author:   rfrishbe@adobe.com
Date:     2009-09-18T02:45:26.180200Z

Log Message:
-----------
Two AIR bug fixes around Window.open().

1.  When open() is called on a closed window, nothing happens.  We decided this is NAB, so I’m just clarifying the docs.
2.  Adding a WINDOW_CREATING event for automation.  The WINDOW_CREATE event happens too late in the game for them (this is thrown in the enterFrameHandler).  They wanted something more synchronous so they could catch what was happening based on the user-interaction more immediately.

QE notes: -
Doc notes: -
Bugs: SDK-23137, SDK-14440
Reviewer: Darrell
Tests run: checkintests, ran a small subset of AIR halo and spark Window tests
Is noteworthy for integration: no

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

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

--- frameworks/projects/airframework/src/mx/events/WindowExistenceEvent.as
+++ frameworks/projects/airframework/src/mx/events/WindowExistenceEvent.as
@@ -65,6 +65,35 @@
      *  @productversion Flex 3
      */
     public static const WINDOW_CREATE:String = "globalNotifyWindowCreate";
+
+	/**
+	 *  The WindowExistenceEvent.WINDOW_CREATING constant defines the value of the
+	 *  type property of the event object for a globalNotifyWindowCreating event.
+	 *
+	 *
The properties of the event object have the following values:

+	 *

+	 *
Property	Value

+	 *
bubbles	false

+	 *
cancelable	false

+	 *
currentTarget	The Object that defines the
+	 *       event listener that handles the event. For example, if you use
+	 *       myButton.addEventListener() to register an event listener,
+	 *       myButton is the value of the currentTarget.

+	 *
target	The Object that dispatched the event;
+	 *       it is not always the Object listening for the event.
+	 *       Use the currentTarget property to always access the
+	 *       Object listening for the event.

+	 *
window	The window object that
+	 *       was created.

+	 *

+	 *
+	 *  @eventType globalNotifyWindowCreating
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static const WINDOW_CREATING:String = "globalNotifyWindowCreating";

         /**
      *  The WindowExistenceEvent.WINDOW_CLOSE constant defines the value of the


Transferred from the Adobe Open Source Subversion Repository

Revision: 18126
Author:   gruehle@adobe.com
Date:     2010-10-11T18:03:16.346900Z

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

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

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

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as
@@ -18,7 +18,7 @@
 import mx.events.FlexEvent;

 import spark.components.TextArea;
-import spark.components.supportClasses.MobileTextField;
+import spark.components.supportClasses.StyleableTextField;
 import spark.skins.mobile.assets.TextInput_border;
 import spark.skins.mobile.supportClasses.MobileSkin;

@@ -59,7 +59,7 @@
     /**
      *  textDisplay skin part.
      */
-    public var textDisplay:MobileTextField;
+    public var textDisplay:StyleableTextField;

     /**
      *  @private
@@ -84,7 +84,7 @@
         border = new TextInput_border;
         addChild(border);

-        textDisplay = MobileTextField(createInFontContext(MobileTextField));
+        textDisplay = StyleableTextField(createInFontContext(StyleableTextField));
         textDisplay.styleProvider = this;
         textDisplay.editable = true;
         textDisplay.multiline = true;


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

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

 package mx.controls.listClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20827
Author:   eday@adobe.com
Date:     2011-03-11T21:46:21.219283Z

Log Message:
-----------
Merging 20819 from hero_private.

ASDoc change for PixelBender effects not compatible with mobile.

Put [DiscouragedForProfile("mobileDevice")] on AnimateTransitionShader, CrossFade, and Wipe effect classes.

QE notes: none
Doc notes: none
Bugs: SDK-29910
Reviewer: Glenn
Tests run:
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/CrossFade.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as</path>

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

--- frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as
+++ frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as
@@ -29,6 +29,12 @@
 //--------------------------------------
 //  Other metadata
 //--------------------------------------
+
+/**
+ *  The AnimateTransitionShader effect uses Pixel Bender,
+ *  which is not supported for AIR mobile applications.
+ */
+[DiscouragedForProfile("mobileDevice")]

 [ResourceBundle("sparkEffects")]


Made completion callback property public under "complete".

--- net/flashpunk/Tween.as
+++ net/flashpunk/Tween.as
@@ -26,6 +26,11 @@
 		public var active:Boolean;

 		/**
+		 * Tween completion callback.
+		 */
+		public var complete:Function;
+
+		/**
 		 * Constructor. Specify basic information about the Tween.
 		 * @param	duration		Duration of the tween (in seconds or frames).
 		 * @param	type			Tween type, one of Tween.PERSIST (default), Tween.LOOPING, or Tween.ONESHOT.
@@ -36,7 +41,7 @@
 		{
 			_target = duration;
 			_type = type;
-			_complete = complete;
+			this.complete = complete;
 			_ease = ease;
 		}

@@ -91,7 +96,7 @@
 					break;
 			}
 			_finish = false;
-			if (_complete != null) _complete();
+			if (complete != null) complete();
 		}

 		/**
@@ -106,7 +111,6 @@

 		// Tween information.
 		/** @private */ private var _type:uint;
-		/** @private */ private var _complete:Function;
 		/** @private */ protected var _ease:Function;
 		/** @private */ protected var _t:Number = 0;


Image resizes properly when paused

Image resizes properly when paused

Solves: Trouble 50415
Change-Id: I4bcf46a4182fbb5942dd6f1295e4c01c5d3be18e
Reference: d87398333a074a62c4235488fc2c4bc859de008e (fix/flash_player_paused_resize-50415)
Reviewed-on: https://gittools.se.axis.com/gerrit/899
Reviewed-by: Petter Wintzell <8ed0f52c0be9fdebf8ac147868caf15e1e76c354@axis.com>
Tested-by: Petter Wintzell <8ed0f52c0be9fdebf8ac147868caf15e1e76c354@axis.com>
Daily-Built: Oskar Gustafsson <689c75baac3ff14f6707b8f6bb8ba99347d04a10@axis.com>

--- com/axis/mjpgplayer/MJPG.as
+++ com/axis/mjpgplayer/MJPG.as
@@ -43,15 +43,23 @@
         loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onImageError);
         this.addChild(loader);
       }
+      stage.addEventListener(Event.RESIZE, resizeListener);
+    }
+
+    private function resizeListener(e:Event):void {
+      for each (var loader:MJPGImage in getChildren())
+      {
+        scaleAndPosition(loader);
+      }
     }

     public function getChildren():Array
     {
        var children:Array = [];
-
        for (var i:uint = 0; i < this.numChildren; i++)
+       {
         children.push(this.getChildAt(i));
-
+       }
        return children;
     }

@@ -124,9 +132,7 @@
         updateDecFrames(0);
         updatePlaying(true);

-        var arr:Array = getChildren();
-        var loader:MJPGImage = null;
-        for each (loader in arr)
+        for each (var loader:MJPGImage in getChildren())
         {
           loader.data.inQue = true;
           idleQue.push(loader);
@@ -135,27 +141,12 @@

       if (idleQue.length > 0)
       {
-        loader = idleQue.shift() as MJPGImage;
-        loadImage(loader, imgBuf.shift());
-      }
-    }
-
-    private function onLoadComplete(event:Event):void
-    {
-      if (!playing)
-      {
-        return;
-      }
-
-      var arr:Array = getChildren();
-      var loader:MJPGImage = event.currentTarget.loader as MJPGImage;
-      var bitmap:Bitmap = event.currentTarget.content;
-      if (bitmap != null)
-      {
-        bitmap.smoothing = true;
-      }
-      loader.data.loading = false;
-
+        loadImage(idleQue.shift(), imgBuf.shift());
+      }
+    }
+
+    private function scaleAndPosition(loader:MJPGImage):void
+    {
       // Scale to fit stage
       var loaderAspectRatio:Number = loader.width / loader.height;
       var stageAspectRatio:Number = stage.stageWidth / stage.stageHeight;
@@ -172,8 +163,27 @@
       loader.height *= scale;

       // Center on stage
-      this.x = (stage.stageWidth - loader.width) / 2;
-      this.y = (stage.stageHeight - loader.height) / 2;
+      loader.x = (stage.stageWidth - loader.width) / 2;
+      loader.y = (stage.stageHeight - loader.height) / 2;
+    }
+
+    private function onLoadComplete(event:Event):void
+    {
+      if (!playing)
+      {
+        return;
+      }
+
+      var arr:Array = getChildren();
+      var loader:MJPGImage = event.currentTarget.loader as MJPGImage;
+      var bitmap:Bitmap = event.currentTarget.content;
+      if (bitmap != null)
+      {
+        bitmap.smoothing = true;
+      }
+      loader.data.loading = false;
+
+      scaleAndPosition(loader);

       var curTime:Number = new Date().getTime();
       decTime += curTime - loader.data.loadTime;


CSVDataSource now removes placeholder value from numeric column automatically if all non-numeric values in the column have the same placeholder value. #weave-757

--- WeaveASJS/src/weavejs/data/source/CSVDataSource.as
+++ WeaveASJS/src/weavejs/data/source/CSVDataSource.as
@@ -616,6 +616,8 @@
 		 */
 		private function stringsToNumbers(strings:Array, forced:Boolean):Array
 		{
+			var nonNumber:String = null;
+			var foundNumber:Boolean = false;
 			var numbers:Array = new Array(strings.length);
 			var i:int = strings.length;
 			outerLoop: while (i--)
@@ -640,12 +642,22 @@
 					string = string.split(',').join('');

 				var number:Number = Number(string);
-				if (isNaN(number) && !forced)
-					return null;
+				if (forced || isFinite(number))
+				{
+					foundNumber = true;
+				}
+				else
+				{
+					// only allow one non-number
+					if (nonNumber && nonNumber != string)
+						return null;
+					else
+						nonNumber = string;
+				}

 				numbers[i] = number;
 			}
-			return numbers;
+			return foundNumber ? numbers : null;
 		}

 		private var nullValues:Array = [null, "", "null", "\\N", "NaN"];


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

--- frameworks/projects/charts/src/mx/charts/chartClasses/NumericAxis.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/NumericAxis.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.charts.chartClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20844
Author:   jimurphy@adobe.com
Date:     2011-03-14T15:10:07.899037Z

Log Message:
-----------
block hero_private revs 20698,20699,20702 from being merged into trunk
revert 20839,20841,20842,20843

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/StringUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>

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

--- frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as
+++ frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as
@@ -163,12 +163,12 @@
     //
     //--------------------------------------------------------------------------

-    /**
-     *  @private
-     */
-    private var _moduleFactoryInitialized:Boolean = false;
-
-    /**
+	/**
+	 *  @private
+	 */
+	private var _moduleFactoryInitialized:Boolean = false;
+
+	/**
      * @private
      */
     private var _localFills:Array /* of IFill */;
@@ -242,7 +242,7 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function get fillFunction():Function
+	public function get fillFunction():Function
     {
         return _fillFunction;
     }
@@ -250,7 +250,7 @@
     /**
      * @private
      */
-    public function set fillFunction(value:Function):void
+   	public function set fillFunction(value:Function):void
     {
         if (value==_fillFunction)
             return;
@@ -271,128 +271,110 @@
     //
     //--------------------------------------------------------------------------

+	/**
+	 *  @private
+	 */
+	private function initStyles():Boolean
+	{
+		HaloDefaults.init(styleManager);
+
+		var candlestickSeriesStyle:CSSStyleDeclaration =
+			HaloDefaults.createSelector("mx.charts.series.CandlestickSeries", styleManager);
+
+		candlestickSeriesStyle.defaultFactory = function():void
+		{
+			this.boxStroke = new Stroke(0, 0);
+			this.declineFill = new SolidColor(0);
+			this.fill = new SolidColor(0xFFFFFF);
+			this.fills = [];
+			this.itemRenderer = new ClassFactory(CandlestickItemRenderer);
+			this.stroke = new Stroke(0, 0);
+		}
+
+		return true;
+	}
+
+
+	/**
+	 *  @inheritDoc
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	override public function set moduleFactory(factory:IFlexModuleFactory):void
+	{
+		super.moduleFactory = factory;
+
+		if (_moduleFactoryInitialized)
+			return;
+
+		_moduleFactoryInitialized = true;
+
+		// our style settings
+		initStyles();
+	}
+
     /**
      *  @private
      */
-    private function initStyles():Boolean
-    {
-        HaloDefaults.init(styleManager);
-
-        var candlestickSeriesStyle:CSSStyleDeclaration =
-            HaloDefaults.createSelector("mx.charts.series.CandlestickSeries", styleManager);
-
-        candlestickSeriesStyle.defaultFactory = function():void
-        {
-            this.boxStroke = new Stroke(0, 0);
-            this.declineFill = new SolidColor(0);
-            this.fill = new SolidColor(0xFFFFFF);
-            this.fills = [];
-            this.itemRenderer = new ClassFactory(CandlestickItemRenderer);
-            this.stroke = new Stroke(0, 0);
-        }
-
-        return true;
-    }
-
-
-    /**
-     *  @inheritDoc
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    override public function set moduleFactory(factory:IFlexModuleFactory):void
-    {
-        super.moduleFactory = factory;
-
-        if (_moduleFactoryInitialized)
-            return;
-
-        _moduleFactoryInitialized = true;
-
-        // our style settings
-        initStyles();
-    }
-
-    /**
-     *  @private
-     */
     override public function getAllDataPoints():Array /* of HitData */
     {
-        if (!_renderData)
-            return [];
-        if (!(_renderData.filteredCache))
-            return [];
-
-        var itemArr:Array /* of CandlestickSeriesItem */ = [];
-        if (chart && chart.dataTipItemsSet && dataTipItems)
-            itemArr = dataTipItems;
-        else if (chart && chart.showAllDataTips && _renderData.filteredCache)
-            itemArr = _renderData.filteredCache;
-        else
-            itemArr = [];
-
-        var n:uint = itemArr.length;
-        var i:uint;
-        var result:Array /* of HitData */ = [];
-
-        for (i = 0; i < n; i++)
+    	if (!_renderData)
+    		return [];
+    	if (!(_renderData.filteredCache))
+    		return [];
+
+    	var itemArr:Array /* of CandlestickSeriesItem */ = [];
+    	if (chart && chart.dataTipItemsSet && dataTipItems)
+    		itemArr = dataTipItems;
+    	else if (chart && chart.showAllDataTips && _renderData.filteredCache)
+    		itemArr = _renderData.filteredCache;
+    	else
+    		itemArr = [];
+
+    	var n:uint = itemArr.length;
+    	var i:uint;
+    	var result:Array /* of HitData */ = [];
+
+    	for (i = 0; i < n; i++)
         {
             var v:HLOCSeriesItem = itemArr[i];
             if (_renderData.filteredCache.indexOf(v) == -1)
             {
-                var itemExists:Boolean = false;
-                var m:int  = _renderData.filteredCache.length;
-                for (var j:int = 0; j < m; j++)
-                {
-                    if (v.item == _renderData.filteredCache[j].item)
-                    {
-                        v = _renderData.filteredCache[j];
-                        itemExists = true;
-                        break;
-                    }
-                }
-                if (!itemExists)
-                    continue;
+            	var itemExists:Boolean = false;
+            	var m:int  = _renderData.filteredCache.length;
+            	for (var j:int = 0; j < m; j++)
+            	{
+            		if (v.item == _renderData.filteredCache[j].item)
+            		{
+            			v = _renderData.filteredCache[j];
+            			itemExists = true;
+            			break;
+            		}
+            	}
+            	if (!itemExists)
+            		continue;
             }
             if (v)
-            {
-                var ypos:Number = (v.open + v.close)/2;
-                var id:uint = v.index;
-                var hd:HitData = new HitData(createDataID(id),Math.sqrt(0),v.x + _renderData.renderedXOffset,ypos,v);
-                var f:Object = getStyle("declineFill");
-
-                hd.contextColor = GraphicsUtilities.colorFromFill(HLOCSeriesItem(hd.chartItem).fill);
-
-                hd.dataTipFunction = formatDataTip;
-                result.push(hd);
-            }
+        	{
+            	var ypos:Number = (v.open + v.close)/2;
+            	var id:uint = v.index;
+            	var hd:HitData = new HitData(createDataID(id),Math.sqrt(0),v.x + _renderData.renderedXOffset,ypos,v);
+            	var f:Object = getStyle("declineFill");
+
+           	 	hd.contextColor = GraphicsUtilities.colorFromFill(HLOCSeriesItem(hd.chartItem).fill);
+
+            	hd.dataTipFunction = formatDataTip;
+            	result.push(hd);
+        	}
         }
         return result;
     }

     /*
-     *  Returns a HitData object describing the nearest data point
-     *  to the coordinates passed to the method.
-     *  The x and y arguments
-     *  should be values in the Element's coordinate system.
-     *  This method aheres to the limits specified by the
-     *  sensitivity2 parameter
-     *  when looking for nearby data points.
-     *
-     *  @param x The x coordinate relative to the ChartBase object.
-     *
-     *  @param y The y coordinate relative to the ChartBase object.
-     *
-     *  @param sensitivity The maximum distance from the data point that the
-     *  x/y coordinate location can be.
-     *
-     *  @return A HitData object describing the nearest data point
-     *  within sensitivity pixels.
-     *
-     *  @see mx.charts.HitData
+     *  @copy mx.charts.chartClasses.IChartElement#findDataPoints()
      *
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -472,9 +454,9 @@
     {
         _localFills = getStyle('fills');
         if (_localFills != null)
-            _fillCount = _localFills.length;
+        	_fillCount = _localFills.length;
         else
-            _fillCount = 0;
+        	_fillCount = 0;
         super.stylesInitialized();
     }

@@ -489,9 +471,9 @@
         {
             _localFills = getStyle('fills');
             if (_localFills != null)
-                _fillCount = _localFills.length;
-            else
-                _fillCount = 0;
+        		_fillCount = _localFills.length;
+        	else
+        		_fillCount = 0;
             invalidateDisplayList();
             legendDataChanged();
         }
@@ -516,15 +498,15 @@
         var b:Number;

         if(dataTransform && dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) is NumericAxis &&
-            (dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) as NumericAxis).direction == "inverted")
-        {
-            a = item.open;
-            b = item.close;
+        	(dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) as NumericAxis).direction == "inverted")
+        {
+        	a = item.open;
+        	b = item.close;
         }
         else
         {
-            a = item.close;
-            b = item.open;
+        	a = item.close;
+        	b = item.open;
         }
         if (a > b)
             return(GraphicsUtilities.fillFromStyle(getStyle("declineFill")));