This is an automated email from the ASF dual-hosted git repository.

aharui pushed a commit to branch feature/MXRoyale
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit bef6bc4682502a5be8ee67f5a67938132ae213e5
Author: Alex Harui <aha...@apache.org>
AuthorDate: Mon Aug 6 10:01:03 2018 -0700

    fix RichTextEditor
---
 .../src/main/royale/mx/controls/ColorPicker.as     |   2 +-
 .../src/main/royale/mx/controls/ComboBox.as        |  98 ++-
 .../src/main/royale/mx/controls/RichTextEditor.as  | 793 ---------------------
 .../main/royale/mx/controls/RichTextEditor.mxml    | 116 +--
 .../src/main/royale/mx/controls/TextArea.as        |   2 +
 5 files changed, 164 insertions(+), 847 deletions(-)

diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ColorPicker.as 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ColorPicker.as
index 91485d9..37dac62 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ColorPicker.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ColorPicker.as
@@ -82,7 +82,7 @@ use namespace mx_internal;
  *  @playerversion AIR 1.1
  *  @productversion Royale 0.9.3
  */
-//[Event(name="close", type="mx.events.DropdownEvent")]
+[Event(name="close", type="mx.events.DropdownEvent")]
 
 /**
  *  Dispatched if the ColorPicker <code>editable</code>
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ComboBox.as 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ComboBox.as
index 1f204d6..62a5c72 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ComboBox.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ComboBox.as
@@ -20,7 +20,10 @@
 package mx.controls
 {
 import org.apache.royale.html.beads.IComboBoxView;
-
+COMPILE::JS
+{
+    import goog.DEBUG;
+}
 COMPILE::SWF
 {
 }
@@ -694,6 +697,99 @@ public class ComboBox extends ComboBase
         return (view as IComboBoxView).popUp;
     }
     
+    /**
+     *  Number of pixels between the container's top border
+     *  and the top of its content area.
+     *
+     *  @default 0
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public function get paddingTop():Object
+    {
+        if (GOOG::DEBUG)
+            trace("paddingTop not implemented");
+        return 0;
+    }
+    public function set paddingTop(value:Object):void
+    {
+        if (GOOG::DEBUG)
+            trace("paddingTop not implemented");
+    }
+    
+    /**
+     *  Number of pixels between the container's bottom border
+     *  and the bottom of its content area.
+     *
+     *  @default 0
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public function get paddingBottom():Object
+    {
+        if (GOOG::DEBUG)
+            trace("paddingBottom not implemented");
+        return 0;
+    }
+    public function set paddingBottom(value:Object):void
+    {
+        if (GOOG::DEBUG)
+            trace("paddingBottom not implemented");
+    }
+    
+    /**
+     *  Number of pixels between the container's left border
+     *  and the left of its content area.
+     *
+     *  @default 0
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public function get paddingLeft():Object
+    {
+        if (GOOG::DEBUG)
+            trace("paddingLeft not implemented");
+        return 0;
+    }
+    public function set paddingLeft(value:Object):void
+    {
+        if (GOOG::DEBUG)
+            trace("paddingLeft not implemented");
+    }
+    
+    /**
+     *  Number of pixels between the container's right border
+     *  and the right of its content area.
+     *
+     *  @default 0
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public function get paddingRight():Object
+    {
+        if (GOOG::DEBUG)
+            trace("paddingRight not implemented");
+        return 0;
+    }
+    public function set paddingRight(value:Object):void
+    {
+        if (GOOG::DEBUG)
+            trace("paddingRight not implemented");
+    }
+    
+
     
//--------------------------------------------------------------------------
     //
     //  Overridden properties
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/RichTextEditor.as 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/RichTextEditor.as
deleted file mode 100644
index e4cce9e..0000000
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/RichTextEditor.as
+++ /dev/null
@@ -1,793 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.controls
-{
-       /* import flash.events.Event;
-       import flash.events.FocusEvent;
-       import flash.events.KeyboardEvent;
-       import flash.events.MouseEvent;
-       import flash.text.engine.FontPosture;
-       import flash.text.engine.FontWeight;
-       import flash.ui.Keyboard;
-       import flash.utils.Dictionary;
-       
-       import mx.events.FlexEvent;
-       
-       import spark.components.richTextEditorClasses.AlignTool;
-       import spark.components.richTextEditorClasses.BoldTool;
-       import spark.components.richTextEditorClasses.BulletTool;
-       import spark.components.richTextEditorClasses.ColorTool;
-       import spark.components.richTextEditorClasses.FontTool;
-       import spark.components.richTextEditorClasses.ItalicTool;
-       import spark.components.richTextEditorClasses.LinkTool;
-       import spark.components.richTextEditorClasses.SizeTool;
-       import spark.components.richTextEditorClasses.UnderlineTool;
-       import spark.components.supportClasses.SkinnableComponent;
-       import spark.events.ColorChangeEvent;
-       import spark.events.IndexChangeEvent;
-       import spark.events.TextOperationEvent;
-       
-       import flashx.textLayout.conversion.ConversionType;
-       import flashx.textLayout.conversion.TextConverter;
-       import flashx.textLayout.edit.ElementRange;
-       import flashx.textLayout.edit.IEditManager;
-       import flashx.textLayout.edit.ISelectionManager;
-       import flashx.textLayout.edit.SelectionState;
-       import flashx.textLayout.elements.FlowGroupElement;
-       import flashx.textLayout.elements.FlowLeafElement;
-       import flashx.textLayout.elements.LinkElement;
-       import flashx.textLayout.elements.ListElement;
-       import flashx.textLayout.elements.ParagraphElement;
-       import flashx.textLayout.elements.TextFlow;
-       import flashx.textLayout.formats.TextAlign;
-       import flashx.textLayout.formats.TextDecoration;
-       import flashx.textLayout.formats.TextLayoutFormat;
- */
-       // for asdoc
-       /* [Experimental]
-       [Event(name = "change", type = "flash.events.Event")]
-       [Style(name = "borderColor", inherit = "no", type = "unit")]
-       [Style(name = "focusColor", inherit = "yes", type = "unit")]
-       */
-       import mx.core.UIComponent;
-       public class RichTextEditor extends UIComponent
-       {
-       
-       /*
-               private var _htmlText:String;
-               private var _htmlTextChanged:Boolean = false;
-               private var _prompt:String = "";
-               private var _stylesChanged:Dictionary = new Dictionary;
-               private var _text:String;
-               private var _textFlow:TextFlow;
-               private var _linkSelected:Boolean = false;
-               private var _urlRegExpression:RegExp = new 
RegExp("^(https?://(www\\.)?|www\\.)[-._~:/?#\\[\\]@!$&'()*+,;=a-z0-9]+$", 'i');
-               private const _defaultLinkText:String = "http://";;
-               private var _linkEl:LinkElement
-               private var _lastRange:ElementRange;
-               
-               [SkinPart(required="true")]
-               public var textArea:TextArea;
-               [SkinPart(required="false")]
-               public var fontTool:FontTool;
-               [SkinPart(required="false")]
-               public var sizeTool:SizeTool;
-               [SkinPart(required="false")]
-               public var boldTool:BoldTool;
-               [SkinPart(required="false")]
-               public var italicTool:ItalicTool;
-               [SkinPart(required="false")]
-               public var underlineTool:UnderlineTool;
-               [SkinPart(required="false")]
-               public var colorTool:ColorTool;
-               [SkinPart(required="false")]
-               public var alignTool:AlignTool;
-               [SkinPart(required="false")]
-               public var bulletTool:BulletTool;
-               [SkinPart(required="false")]
-               public var linkTool:LinkTool;
- */
-               public function RichTextEditor()
-               {
-                       super();
-                       //this.textFlow = new TextFlow; //Prevents a stack 
trace that happends when you try to access the textflow on click.
-               }
-
-               // [Bindable("change")]
-               /**
-                *  The htmlText property is here for convenience. It converts 
the textFlow to TextConverter.TEXT_FIELD_HTML_FORMAT.
-                */
-               /* public function get htmlText():String
-               {
-                       if (_htmlTextChanged)
-                       {
-                               if (text == "")
-                               {
-                                       _htmlText = "";
-                               }
-                               else
-                               {
-                                       _htmlText = 
TextConverter.export(textFlow, TextConverter.TEXT_FIELD_HTML_FORMAT, 
ConversionType.STRING_TYPE) as String;
-                               }
-                               _htmlTextChanged = false;
-                       }
-                       return _htmlText;
-               } */
-
-               /**
-                *  The htmlText property is here for convenience. It converts 
the textFlow to TextConverter.TEXT_FIELD_HTML_FORMAT.
-                */
-               /* public function set htmlText(value:String):void
-               {
-                       if (htmlText != value)
-                       {
-                               _htmlText = value;
-                               if (textFlow)
-                               {
-                                       textFlow = 
TextConverter.importToFlow(_htmlText, TextConverter.TEXT_FIELD_HTML_FORMAT);
-                               }
-                       }
-               } */
-
-               /**
-                *  @private
-                */
-               /* public function get prompt():String
-               {
-                       return _prompt;
-               } */
-
-               /**
-                *  @private
-                */
-               /* public function set prompt(value:String):void
-               {
-                       _prompt = value;
-                       if (textArea)
-                       {
-                               textArea.prompt = _prompt;
-                       }
-               } */
-
-               /**
-                *  @private
-                */
-               /* public override function styleChanged(styleProp:String):void
-               {
-                       super.styleChanged(styleProp);
-                       _stylesChanged[styleProp] = getStyle(styleProp);
-                       this.invalidateDisplayList();
-               }
- */
-               //[Bindable("change")]
-               /**
-                *  The text in the textArea
-                */
-               /* public function get text():String
-               {
-                       if (textArea)
-                       {
-                               return textArea.text;
-                       }
-                       else
-                       {
-                               return _text;
-                       }
-               } */
-
-               /**
-                *  @private
-                */
-               /* public function set text(value:String):void
-               {
-                       _text = value;
-                       if (textArea)
-                       {
-                               textArea.text = value;
-                       }
-               } */
-
-               //[Bindable("change")]
-               /**
-                *  The textFlow
-                */
-               /* public function get textFlow():TextFlow
-               {
-                       return _textFlow;
-               } */
-
-               /**
-                *  @private
-                */
-               /* public function set textFlow(value:TextFlow):void
-               {
-                       _textFlow = value;
-                       if (textArea)
-                       {
-                               textArea.textFlow = value;
-                       }
-               } */
-
-               /**
-                *  @private
-                */
-               /* protected override function partAdded(partName:String, 
instance:Object):void
-               { 
-                       super.partAdded(partName, instance); 
-                       if (instance == textArea)
-                       {
-                               
textArea.addEventListener(TextOperationEvent.CHANGE, handleChange);
-                               
textArea.addEventListener(FlexEvent.SELECTION_CHANGE, handleSelectionChange);
-                               
textArea.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown);
-                               textArea.prompt = prompt;
-                               textArea.textFlow = textFlow;
-                               if (_htmlText)
-                               {
-                                       textFlow = 
TextConverter.importToFlow(_htmlText, TextConverter.TEXT_FIELD_HTML_FORMAT);
-                               }
-                               else if (_text)
-                               {
-                                       textArea.text = _text;
-                               }
-                       }
-                       if (instance == fontTool)
-                       { 
-                               
fontTool.addEventListener(IndexChangeEvent.CHANGE, handleFontChange);
-                       }
-                       if (instance == sizeTool)
-                       { 
-                               
sizeTool.addEventListener(IndexChangeEvent.CHANGE, handleSizeChange);
-                       } 
-                       if (instance == boldTool)
-                       {  
-                               boldTool.addEventListener(MouseEvent.CLICK, 
handleBoldClick);
-                       } 
-                       if (instance == italicTool)
-                       { 
-                               italicTool.addEventListener(MouseEvent.CLICK, 
handleItalicClick);
-                       } 
-                       if (instance == underlineTool)
-                       { 
-                               
underlineTool.addEventListener(MouseEvent.CLICK, handleUnderlineClick);
-                       } 
-                       if (instance == colorTool)
-                       { 
-                               
colorTool.addEventListener(ColorChangeEvent.CHOOSE, handleColorChoose);
-                       } 
-                       if (instance == alignTool)
-                       { 
-                               
alignTool.addEventListener(IndexChangeEvent.CHANGE, handleAlignChange);
-                       } 
-                       if (instance == bulletTool)
-                       { 
-                               bulletTool.addEventListener(MouseEvent.CLICK, 
handleBulletClick);
-                       } 
-                       if (instance == linkTool)
-                       { 
-                               
linkTool.addEventListener(KeyboardEvent.KEY_DOWN, handleLinkKeydown);
-                               
linkTool.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, handleLinkUpdate);
-                       }
-                       handleSelectionChange();
-               }
-                */
-               /**
-                *  @private
-                */
-               /* protected override function partRemoved(partName:String, 
instance:Object):void
-               {
-                       super.partRemoved(partName, instance);
-                       if (instance == textArea)
-                       {
-                               
textArea.removeEventListener(TextOperationEvent.CHANGE, handleChange);
-                               
textArea.removeEventListener(FlexEvent.SELECTION_CHANGE, handleSelectionChange);
-                               
textArea.removeEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown);
-                       }
-                       if (instance == fontTool)
-                       { 
-                               
fontTool.removeEventListener(IndexChangeEvent.CHANGE, handleFontChange);
-                       }
-                       if (instance == sizeTool)
-                       { 
-                               
sizeTool.removeEventListener(IndexChangeEvent.CHANGE, handleSizeChange);
-                       } 
-                       if (instance == boldTool)
-                       {  
-                               boldTool.removeEventListener(MouseEvent.CLICK, 
handleBoldClick);
-                       } 
-                       if (instance == italicTool)
-                       { 
-                               
italicTool.removeEventListener(MouseEvent.CLICK, handleItalicClick);
-                       } 
-                       if (instance == underlineTool)
-                       { 
-                               
underlineTool.removeEventListener(MouseEvent.CLICK, handleUnderlineClick);
-                       } 
-                       if (instance == colorTool)
-                       { 
-                               
colorTool.removeEventListener(ColorChangeEvent.CHOOSE, handleColorChoose);
-                       } 
-                       if (instance == alignTool)
-                       { 
-                               
alignTool.removeEventListener(IndexChangeEvent.CHANGE, handleAlignChange);
-                       } 
-                       if (instance == bulletTool)
-                       { 
-                               
bulletTool.removeEventListener(MouseEvent.CLICK, handleBulletClick);
-                       } 
-                       if (instance == linkTool)
-                       { 
-                               
linkTool.removeEventListener(KeyboardEvent.KEY_DOWN, handleLinkKeydown);
-                               
linkTool.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, handleLinkUpdate);
-                       } 
-               }
-
-               /**
-                *  @private
-                */
-               /* protected override function 
updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
-               {
-                       super.updateDisplayList(unscaledWidth, unscaledHeight);
-                       if (textArea)
-                       {
-                               for (var key:String in _stylesChanged)
-                               {
-                                       textArea.setStyle(key, 
_stylesChanged[key]);
-                               }
-                               _stylesChanged = new Dictionary; //Clear it out
-                       }
-               } */ 
-               
-               /**
-                *  @private
-                *  Actually apply the link to the selection. Repair the 
formating in the process.
-                */
-               /* private function applyLink(href:String, target:String = 
null, extendToLinkBoundary:Boolean = false, operationState:SelectionState = 
null):void
-               {
-                       if (textArea && textArea.textFlow && 
textArea.textFlow.interactionManager is IEditManager)
-                       {
-                               //Get the current format
-                               var txtLayFmt:TextLayoutFormat = 
textArea.textFlow.interactionManager.getCommonCharacterFormat();
-                               //Set the link
-                               if (operationState == null && _linkEl != null)
-                               {
-                                       operationState = new 
SelectionState(textArea.textFlow, _linkEl.getAbsoluteStart(), 
_linkEl.getAbsoluteStart() + _linkEl.textLength);
-                               }
-                               var linkElement:LinkElement = 
IEditManager(textArea.textFlow.interactionManager).applyLink(href, target, 
extendToLinkBoundary, operationState);
-                               //Fix the formatting
-                               if(linkElement)
-                               {
-                                       
IEditManager(textArea.textFlow.interactionManager).clearFormatOnElement(linkElement.getChildAt(0),
 txtLayFmt);
-                               }
-                               var selectionEnd:int = 
Math.max(textArea.selectionActivePosition, textArea.selectionAnchorPosition);
-                               textArea.selectRange(selectionEnd, 
selectionEnd);
-                               
IEditManager(textArea.textFlow.interactionManager).applyLeafFormat(txtLayFmt);
-                       }
-               }
-                */
-               /**
-                *  @private
-                *  Automatically add a link if the previous text looks like a 
link
-                */
-               /* private function checkLinks():void
-               {
-                       var position:int = textArea.selectionActivePosition;
-                       //Find the firt non-whitespace character
-                       while (position > 0)
-                       {
-                               if 
(!isWhitespace(textArea.textFlow.getCharCodeAtPosition(position)))
-                               {
-                                       break;
-                               }
-                               position--;
-                       }
-                       //Find the next whitespace character
-                       while (position > 0)
-                       {
-                               if 
(isWhitespace(textArea.textFlow.getCharCodeAtPosition(position)))
-                               {
-                                       position++; //Back up one character
-                                       break;
-                               }
-                               position--;
-                       }
-                       var testText:String = 
textArea.textFlow.getText(position, textArea.selectionActivePosition);
-                       var result:Array = testText.match(_urlRegExpression);
-                       if (result != null && result.length > 0)
-                       {
-                               if (textArea.textFlow.interactionManager is 
IEditManager)
-                               {
-                                       var selectionState:SelectionState = new 
SelectionState(textArea.textFlow, position, textArea.selectionActivePosition);
-                                       if (testText.substr(0, 3) == "www")
-                                       {
-                                               testText = "http://"; + 
testText; //Add a missing 'http://' if needed
-                                       }
-                                       applyLink(testText, "_blank", true, 
selectionState);
-                                       textArea.setFocus();
-                               }
-                       }
-               } */
-               
-               /**
-                *  @private
-                */
-               /* private function getBulletSelectionState():SelectionState
-               {
-                       if (textArea.textFlow)
-                       {
-                               var selectionManager:ISelectionManager = 
textArea.textFlow.interactionManager;
-                               var selectionState:SelectionState = 
selectionManager.getSelectionState();
-                               var startleaf:FlowLeafElement = 
textArea.textFlow.findLeaf(selectionState.absoluteStart);
-                               var endleaf:FlowLeafElement = 
textArea.textFlow.findLeaf(selectionState.absoluteEnd);
-                               if (startleaf != null)
-                               {
-                                       selectionState.absoluteStart = 
startleaf.getAbsoluteStart();
-                               }
-                               if (endleaf != null)
-                               {
-                                       selectionState.absoluteEnd = 
endleaf.getAbsoluteStart() + endleaf.parentRelativeEnd - 
endleaf.parentRelativeStart;
-                               }
-                               return selectionState;
-                       }
-                       return null;
-               }
-                */
-               /**
-                *  @private
-                */
-               /* private function handleAlignChange(e:Event):void
-               {
-                       if (alignTool.selectedItem)
-                       {
-                               var txtLayFmt:TextLayoutFormat = 
textArea.getFormatOfRange(null, textArea.selectionAnchorPosition, 
textArea.selectionActivePosition);
-                               txtLayFmt.textAlign = 
alignTool.selectedItem.value;
-                               textArea.setFormatOfRange(txtLayFmt, 
textArea.selectionAnchorPosition, textArea.selectionActivePosition);
-                               textArea.setFocus();
-                               textArea.dispatchEvent(new 
TextOperationEvent(TextOperationEvent.CHANGE));
-                       }
-               } */
-               
-               /**
-                *  @private
-                */
-               /* private function handleBoldClick(e:MouseEvent):void
-               {
-                       var format:TextLayoutFormat = 
textArea.getFormatOfRange(null, textArea.selectionAnchorPosition, 
textArea.selectionActivePosition);
-                       format.fontWeight = (format.fontWeight == 
FontWeight.BOLD) ? FontWeight.NORMAL : FontWeight.BOLD;
-                       textArea.setFormatOfRange(format, 
textArea.selectionAnchorPosition, textArea.selectionActivePosition);
-                       textArea.setFocus();
-                       textArea.dispatchEvent(new 
TextOperationEvent(TextOperationEvent.CHANGE));
-               } */
-               
-               /**
-                *  @private
-                */
-               /* private function handleBulletClick(e:MouseEvent):void
-               {
-                       if (textArea.textFlow && 
textArea.textFlow.interactionManager is IEditManager)
-                       {
-                               var editManager:IEditManager = 
IEditManager(textArea.textFlow.interactionManager);
-                               var doCreate:Boolean = true;
-                               var selectionState:SelectionState = 
getBulletSelectionState();
-                               var listElements:Array = 
textArea.textFlow.getElementsByTypeName("list");
-                               for each (var listElement:ListElement in 
listElements)
-                               {
-                                       var start:int = 
listElement.getAbsoluteStart();
-                                       var end:int = 
listElement.getAbsoluteStart() + listElement.parentRelativeEnd - 
listElement.parentRelativeStart;
-                                       if (selectionState.absoluteStart == 
start && selectionState.absoluteEnd == end)
-                                       { //Same
-                                               removeList(listElement);
-                                               doCreate = false;
-                                               break;
-                                       }
-                                       else if (selectionState.absoluteStart 
== start && selectionState.absoluteEnd <= end)
-                                       { //Inside touching start
-                                               selectionState = new 
SelectionState(textArea.textFlow, end, selectionState.absoluteEnd);
-                                               removeList(listElement);
-                                               editManager.createList(null, 
null, selectionState);
-                                               doCreate = false;
-                                               break;
-                                       }
-                                       else if (selectionState.absoluteStart 
>= start && selectionState.absoluteEnd == end)
-                                       { //Inside touching end
-                                               selectionState = new 
SelectionState(textArea.textFlow, selectionState.absoluteStart, start);
-                                               removeList(listElement);
-                                               editManager.createList(null, 
null, selectionState);
-                                               doCreate = false;
-                                               break;
-                                       }
-                                       else if (selectionState.absoluteStart 
>= start && selectionState.absoluteEnd <= end)
-                                       { //Inside
-                                               var firstRange:SelectionState = 
new SelectionState(textArea.textFlow, selectionState.absoluteStart, start);
-                                               var secondRange:SelectionState 
= new SelectionState(textArea.textFlow, end, selectionState.absoluteEnd);
-                                               removeList(listElement);
-                                               editManager.createList(null, 
null, firstRange);
-                                               editManager.createList(null, 
null, secondRange);
-                                               doCreate = false;
-                                               break;
-                                       }
-                                       else if ((selectionState.absoluteStart 
>= start && selectionState.absoluteStart <= end) || (selectionState.absoluteEnd 
>= start && selectionState.absoluteEnd <= end))
-                                       { //Overlap. Include this list in the 
selection
-                                               selectionState = new 
SelectionState(textArea.textFlow, Math.min(start, 
selectionState.absoluteStart), Math.max(end, selectionState.absoluteEnd));
-                                               removeList(listElement);
-                                       }
-                                       else if (selectionState.absoluteStart 
<= start && selectionState.absoluteEnd >= end)
-                                       { //surround. Remove this list since it 
will get added back in, only expanded.
-                                               removeList(listElement);
-                                       }
-                               }
-                               if (doCreate)
-                               {
-                                       
IEditManager(textArea.textFlow.interactionManager).createList(null, null, 
selectionState);
-                               }
-                               textArea.textFlow.interactionManager.setFocus();
-                       }
-               }
-                */
-               /**
-                *  @private
-                */
-               /* private function handleColorChoose(e:ColorChangeEvent):void
-               {
-                       var format:TextLayoutFormat = 
textArea.getFormatOfRange(null, textArea.selectionAnchorPosition, 
textArea.selectionActivePosition);
-                       format.color = e.color
-                       textArea.setFormatOfRange(format, 
textArea.selectionAnchorPosition, textArea.selectionActivePosition);
-                       textArea.setFocus();
-                       textArea.dispatchEvent(new 
TextOperationEvent(TextOperationEvent.CHANGE));
-               }
-                */
-               /**
-                *  @private
-                */
-               /* private function handleFontChange(e:Event):void
-               {
-                       if (fontTool.selectedItem)
-                       {
-                               var format:TextLayoutFormat = 
textArea.getFormatOfRange(null, textArea.selectionAnchorPosition, 
textArea.selectionActivePosition);
-                               format.fontFamily = fontTool.selectedItem;
-                               textArea.setFormatOfRange(format, 
textArea.selectionAnchorPosition, textArea.selectionActivePosition);
-                               textArea.setFocus();
-                               textArea.dispatchEvent(new 
TextOperationEvent(TextOperationEvent.CHANGE));
-                       }
-               } */
-               
-               /**
-                *  @private
-                */
-               /* private function handleItalicClick(e:MouseEvent):void
-               {
-                       var format:TextLayoutFormat = 
textArea.getFormatOfRange(null, textArea.selectionAnchorPosition, 
textArea.selectionActivePosition);
-                       format.fontStyle = (format.fontStyle == 
FontPosture.ITALIC) ? FontPosture.NORMAL : FontPosture.ITALIC;
-                       textArea.setFormatOfRange(format, 
textArea.selectionAnchorPosition, textArea.selectionActivePosition);
-                       textArea.setFocus();
-                       textArea.dispatchEvent(new 
TextOperationEvent(TextOperationEvent.CHANGE));
-               } */
-               
-               /**
-                *  @private
-                */
-               /* private function handleKeyDown(e:KeyboardEvent):void
-               {
-                       if (e.keyCode == Keyboard.ENTER || e.keyCode == 
Keyboard.SPACE || e.keyCode == Keyboard.TAB)
-                       {
-                               checkLinks();
-                       }
-               } */
-               
-               /**
-                *  @private
-                */
-               /* private function handleLinkKeydown(e:KeyboardEvent):void
-               {
-                       e.stopImmediatePropagation();
-                       if (e.keyCode == Keyboard.ENTER)
-                       {
-                               handleLinkUpdate();
-                               textArea.setFocus();
-                       }
-               } */
-               
-               /**
-                *  @private
-                *  Handle link set by applying the link to the selected text
-                */
-               /* private function handleLinkUpdate(e:Event = null):void
-               {
-                       var urlText:String = linkTool.selectedLink == 
_defaultLinkText ? '' : linkTool.selectedLink;
-                       applyLink(urlText, "_blank", true);
-                       //Set focus to textFlow
-                       textArea.textFlow.interactionManager.setFocus();
-               } */
-               
-               /**
-                *  @private
-                */
-               /* private function handleSelectionChange(e:FlexEvent = 
null):void
-               {
-                       if (textArea != null)
-                       {
-                               var format:TextLayoutFormat = 
textArea.getFormatOfRange(null, textArea.selectionAnchorPosition, 
textArea.selectionActivePosition);
-                               if (fontTool != null)
-                               { 
-                                       fontTool.selectedFontFamily = 
format.fontFamily;
-                               }
-                               if (sizeTool != null)
-                               { 
-                                       sizeTool.selectedFontSize = 
format.fontSize;
-                               } 
-                               if (boldTool != null)
-                               {  
-                                       boldTool.selectedFontWeight = 
format.fontWeight;
-                               } 
-                               if (italicTool != null)
-                               { 
-                                       italicTool.selectedFontStyle = 
format.fontStyle;
-                               } 
-                               if (underlineTool != null)
-                               { 
-                                       underlineTool.selectedTextDecoration = 
format.textDecoration;
-                               } 
-                               if (colorTool != null)
-                               { 
-                                       colorTool.selectedTextColor = 
format.color;
-                               } 
-                               if (alignTool != null)
-                               { 
-                                       alignTool.selectedTextAlign = 
format.textAlign;
-                               } 
-                               if (bulletTool != null)
-                               { 
-                                       if (textArea.textFlow)
-                                       {
-                                               var 
willRemoveBulletsIfClicked:Boolean = false;
-                                               var 
selectionState:SelectionState = getBulletSelectionState();
-                                               var listElements:Array = 
textArea.textFlow.getElementsByTypeName("list");
-                                               for each (var 
listElement:ListElement in listElements)
-                                               {
-                                                       var start:int = 
listElement.getAbsoluteStart();
-                                                       var end:int = 
listElement.getAbsoluteStart() + listElement.parentRelativeEnd - 
listElement.parentRelativeStart;
-                                                       if 
(selectionState.absoluteStart == start && selectionState.absoluteEnd == end)
-                                                       { //Same
-                                                               
willRemoveBulletsIfClicked = true;
-                                                               break;
-                                                       }
-                                                       else if 
(selectionState.absoluteStart >= start && selectionState.absoluteEnd <= end)
-                                                       { //Inside
-                                                               
willRemoveBulletsIfClicked = true;
-                                                               break;
-                                                       }
-                                               }
-                                               bulletTool.selected = 
willRemoveBulletsIfClicked;
-                                               
-                                       }
-                               } 
-                               if (linkTool != null)
-                               { 
-                                       var bulletSelectionState:SelectionState 
= textArea.textFlow.interactionManager.getSelectionState();
-                                       if (bulletSelectionState.absoluteStart 
!= -1 && bulletSelectionState.absoluteEnd != -1)
-                                       {
-                                               var range:ElementRange = 
ElementRange.createElementRange(bulletSelectionState.textFlow, 
bulletSelectionState.absoluteStart, bulletSelectionState.absoluteEnd);
-                                               if (range)
-                                               {
-                                                       var linkString:String = 
_defaultLinkText;
-                                                       _linkEl = 
range.firstLeaf.getParentByType(LinkElement) as LinkElement;
-                                                       if (_linkEl != null)
-                                                       {
-                                                               var 
linkElStart:int = _linkEl.getAbsoluteStart();
-                                                               var 
linkElEnd:int = linkElStart + _linkEl.textLength;
-                                                               if (linkElEnd < 
linkElStart)
-                                                               {
-                                                                       var 
temp:int = linkElStart;
-                                                                       
linkElStart = linkElEnd;
-                                                                       
linkElEnd = temp;
-                                                               }
-                                                               
-                                                               var 
beginRange:int = range.absoluteStart;
-                                                               var 
endRange:int = range.absoluteEnd;
-                                                               
-                                                               var 
beginPara:ParagraphElement = range.firstParagraph;
-                                                               if (endRange == 
(beginPara.getAbsoluteStart() + beginPara.textLength))
-                                                               {
-                                                                       
endRange--;
-                                                               }
-                                                               
-                                                               if ((beginRange 
== endRange) || (endRange <= linkElEnd))
-                                                               {
-                                                                       
linkString = LinkElement(_linkEl).href;
-                                                               }
-                                                       }
-                                                       var 
newLinkSelected:Boolean = _linkEl != null;
-                                                       if (_linkSelected != 
newLinkSelected)
-                                                       {
-                                                               _linkSelected = 
newLinkSelected;
-                                                               
this.dispatchEvent(new Event("linkSelectedChange"));
-                                                       }
-                                                       
-                                                       linkTool.selectedLink = 
linkString;
-                                                       
-                                                       _lastRange = range;
-                                               }
-                                               else
-                                               {
-                                                       _lastRange = null;
-                                               }
-                                       }
-                                       linkTool.enabled = 
textArea.selectionAnchorPosition != textArea.selectionActivePosition || 
_linkSelected;
-                               }
-                       }
-               }
-                */
-               /**
-                *  @private
-                */
-               /* private function handleSizeChange(e:Event):void
-               {
-                       if (sizeTool.selectedItem)
-                       {
-                               var format:TextLayoutFormat = 
textArea.getFormatOfRange(null, textArea.selectionAnchorPosition, 
textArea.selectionActivePosition);
-                               format.fontSize = sizeTool.selectedItem;
-                               textArea.setFormatOfRange(format, 
textArea.selectionAnchorPosition, textArea.selectionActivePosition);
-                               textArea.setFocus();
-                               textArea.dispatchEvent(new 
TextOperationEvent(TextOperationEvent.CHANGE));
-                       }
-               } */
-               
-               /**
-                *  @private
-                */
-               /* private function handleUnderlineClick(e:MouseEvent):void
-               {
-                       var format:TextLayoutFormat = 
textArea.getFormatOfRange(null, textArea.selectionAnchorPosition, 
textArea.selectionActivePosition);
-                       format.textDecoration = (format.textDecoration == 
TextDecoration.UNDERLINE) ? TextDecoration.NONE : TextDecoration.UNDERLINE;
-                       textArea.setFormatOfRange(format, 
textArea.selectionAnchorPosition, textArea.selectionActivePosition);
-                       textArea.setFocus();
-                       textArea.dispatchEvent(new 
TextOperationEvent(TextOperationEvent.CHANGE));
-               } */
-
-               /**
-                *  @private
-                */
-               /* private function handleChange(e:Event):void
-               {
-                       _htmlTextChanged = true;
-                       this.dispatchEvent(e);
-               } */
-               
-               /**
-                *  @private
-                */
-               /* private function removeList(listElement:ListElement):void
-               {
-                       var editManager:IEditManager = 
IEditManager(textArea.textFlow.interactionManager);
-                       
-                       var target:FlowGroupElement = listElement.parent;
-                       var targetIndex:int = target.getChildIndex(listElement);
-                       editManager.moveChildren(listElement, 0, 
listElement.numChildren, target, targetIndex);
-               } */
-               
-               /**
-                *  @private
-                *  Return true if the character is a whitespace character
-                */
-               /* private function isWhitespace(charCode:uint):Boolean
-               {
-                       return charCode === 0x0009 || charCode === 0x000A || 
charCode === 0x000B || charCode === 0x000C || charCode === 0x000D || charCode 
=== 0x0020 || charCode === 0x0085 || charCode === 0x00A0 || charCode === 0x1680 
|| charCode === 0x180E || charCode === 0x2000 || charCode === 0x2001 || 
charCode === 0x2002 || charCode === 0x2003 || charCode === 0x2004 || charCode 
=== 0x2005 || charCode === 0x2006 || charCode === 0x2007 || charCode === 0x2008 
|| charCode === 0x2009 || charCode === 0x200A || [...]
-               } */
-       }
-}
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/RichTextEditor.mxml 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/RichTextEditor.mxml
index 15b9a2c..57e1697 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/RichTextEditor.mxml
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/RichTextEditor.mxml
@@ -203,9 +203,11 @@
  @productversion Flex 3
 
  -->
- <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml"; xmlns="*" minWidth="220" 
minHeight="200" width="325" height="300">
+ <mx:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+           xmlns:mx="library://ns.apache.org/royale/mx"
+           xmlns="*" minWidth="220" minHeight="200" width="325" height="300">
 
-    <mx:Metadata>
+    <fx:Metadata>
         <![CDATA[
         /**
         * Dispatched when the user changes the contents or format of the text 
in the
@@ -235,7 +237,7 @@
          */
         [Style(name="textAreaStyleName", type="String", inherit="no")]
         
-        [IconFile("RichTextEditor.png")]
+//        [IconFile("RichTextEditor.png")]
         
         [Exclude(name="alignButtons", kind="property")]
         [Exclude(name="boldButton", kind="property")]
@@ -255,49 +257,51 @@
         [Exclude(name="toolBar2", kind="property")]
         [Exclude(name="underlineButton", kind="property")]
         ]]>
-    </mx:Metadata>
-
-    <mx:Array id="fontFamilyArray"> 
-        <mx:String>_sans</mx:String>
-        <mx:String>_serif</mx:String>
-        <mx:String>_typewriter</mx:String>
-        <mx:String>Arial</mx:String>
-        <mx:String>Courier</mx:String>
-        <mx:String>Courier New</mx:String>
-        <mx:String>Geneva</mx:String>
-        <mx:String>Georgia</mx:String>
-        <mx:String>Helvetica</mx:String>
-        <mx:String>Times New Roman</mx:String>
-        <mx:String>Times</mx:String>
-        <mx:String>Verdana</mx:String>
-    </mx:Array>
-
-    <mx:Array id="fontSizeArray"> 
-        <mx:String>8</mx:String>
-        <mx:String>9</mx:String>
-        <mx:String>10</mx:String>
-        <mx:String>11</mx:String>
-        <mx:String>12</mx:String>
-        <mx:String>14</mx:String>
-        <mx:String>16</mx:String>
-        <mx:String>18</mx:String>
-        <mx:String>20</mx:String>
-        <mx:String>22</mx:String>
-        <mx:String>24</mx:String>
-        <mx:String>26</mx:String>
-        <mx:String>28</mx:String>
-        <mx:String>36</mx:String>
-        <mx:String>48</mx:String>
-        <mx:String>72</mx:String>
-    </mx:Array>
-
-    <mx:Script>
+    </fx:Metadata>
+
+     <fx:Declarations>
+    <fx:Array id="fontFamilyArray"> 
+        <fx:String>_sans</fx:String>
+        <fx:String>_serif</fx:String>
+        <fx:String>_typewriter</fx:String>
+        <fx:String>Arial</fx:String>
+        <fx:String>Courier</fx:String>
+        <fx:String>Courier New</fx:String>
+        <fx:String>Geneva</fx:String>
+        <fx:String>Georgia</fx:String>
+        <fx:String>Helvetica</fx:String>
+        <fx:String>Times New Roman</fx:String>
+        <fx:String>Times</fx:String>
+        <fx:String>Verdana</fx:String>
+    </fx:Array>
+
+    <fx:Array id="fontSizeArray"> 
+        <fx:String>8</fx:String>
+        <fx:String>9</fx:String>
+        <fx:String>10</fx:String>
+        <fx:String>11</fx:String>
+        <fx:String>12</fx:String>
+        <fx:String>14</fx:String>
+        <fx:String>16</fx:String>
+        <fx:String>18</fx:String>
+        <fx:String>20</fx:String>
+        <fx:String>22</fx:String>
+        <fx:String>24</fx:String>
+        <fx:String>26</fx:String>
+        <fx:String>28</fx:String>
+        <fx:String>36</fx:String>
+        <fx:String>48</fx:String>
+        <fx:String>72</fx:String>
+    </fx:Array>         
+     </fx:Declarations>
+
+    <fx:Script>
     <![CDATA[
     
     import mx.controls.textClasses.TextRange;
     import mx.core.mx_internal;
-    import mx.core.IUITextField;
-    import mx.core.UITextFormat;
+    //import mx.core.IUITextField;
+    //import mx.core.UITextFormat;
 
     use namespace mx_internal;
     
@@ -424,7 +428,7 @@
     private var showToolTipsChanged:Boolean = false;
     private var textChanged:Boolean = false;
     private var htmlTextChanged:Boolean = false;
-    private var previousTextFormat:TextFormat = null;
+    //private var previousTextFormat:TextFormat = null;
     private var textFormatChanged:Boolean = false;
     // -1 is used to force updation of the ToolBar styles
     private var lastCaretIndex:int = -1;
@@ -661,7 +665,6 @@
 
     /**
      * @private
-     */
     override protected function commitProperties():void
     {
         super.commitProperties();
@@ -740,6 +743,7 @@
             }
         }
     }
+     */
     
     /**
      * @private
@@ -788,6 +792,7 @@
 
     private function setTextStyles(type:String, value:Object = null):void
     {
+        /*
         var tf:TextFormat;
 
         var beginIndex:int = textArea.getTextField().selectionBeginIndex;
@@ -876,10 +881,12 @@
         }
 
         callLater(textArea.setFocus);
+        */
     }
 
     private function getTextStyles():void
     {
+        /*
         if (!textArea)
             return;
             
@@ -952,6 +959,7 @@
         
         lastCaretIndex = textArea.getTextField().caretIndex;
         invalidateToolBarFlag = false;
+        */
     }
 
     private function setComboSelection(combo:ComboBox,val:String):void
@@ -978,6 +986,7 @@
      */
     private function systemManager_mouseUpHandler(event:MouseEvent):void
     {
+        /*
         if (lastCaretIndex != textArea.getTextField().caretIndex)
             getTextStyles();
         else
@@ -988,11 +997,12 @@
                 linkTextInput.enabled = true;   
         }
         systemManager.removeEventListener(
-            MouseEvent.MOUSE_UP, systemManager_mouseUpHandler, true);       
+            MouseEvent.MOUSE_UP, systemManager_mouseUpHandler, true);  
+        */
     }
     
     ]]>
-    </mx:Script>
+    </fx:Script>
 
     <!--- @private -->
     <mx:TextArea id="textArea" height="100%" width="100%" minHeight="0" 
minWidth="0"
@@ -1001,8 +1011,10 @@
                  keyUp="getTextStyles()"
                  keyDown="if (textFormatChanged) 
                     {
+/*
                         
textArea.getTextField().defaultTextFormat=previousTextFormat;
                         textFormatChanged = false;
+*/
                     }"
                  mouseDown="systemManager.addEventListener(
                     MouseEvent.MOUSE_UP, systemManager_mouseUpHandler, true);"
@@ -1049,12 +1061,12 @@
             <mx:ToggleButtonBar id="alignButtons" buttonWidth="20"
                             itemClick="setTextStyles('align', 
ToggleButtonBar(event.currentTarget).dataProvider.getItemAt(ToggleButtonBar(event.currentTarget).selectedIndex).action);
 " >
                 <mx:dataProvider>
-                    <mx:Array> 
-                        <mx:Object icon="@Embed('assets/icon_align_left.png')" 
action="left"/>
-                        <mx:Object 
icon="@Embed('assets/icon_align_center.png')" action="center"/>
-                        <mx:Object 
icon="@Embed('assets/icon_align_right.png')" action="right"/>
-                        <mx:Object 
icon="@Embed('assets/icon_align_justify.png')" action="justify"/>
-                    </mx:Array>
+                    <fx:Array> 
+                        <fx:Object icon="@Embed('assets/icon_align_left.png')" 
action="left"/>
+                        <fx:Object 
icon="@Embed('assets/icon_align_center.png')" action="center"/>
+                        <fx:Object 
icon="@Embed('assets/icon_align_right.png')" action="right"/>
+                        <fx:Object 
icon="@Embed('assets/icon_align_justify.png')" action="justify"/>
+                    </fx:Array>
                 </mx:dataProvider>
             </mx:ToggleButtonBar>
 
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/TextArea.as 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/TextArea.as
index da1a747..991954d 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/TextArea.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/TextArea.as
@@ -145,6 +145,8 @@ use namespace mx_internal;
 //[Event(name="textInput", type="flash.events.TextEvent")]
 
 
+[Event(name="keyDown", type="mx.events.KeyboardEvent")]
+[Event(name="keyUp", type="mx.events.KeyboardEvent")]
 
 /**
  *  The TextArea control is a multiline text field

Reply via email to