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

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

commit 3381a3472075231b968455321b644d4c3cfc17a9
Author: Harbs <[email protected]>
AuthorDate: Tue Mar 27 13:55:20 2018 +0300

    more coercions
---
 .../royale/org/apache/royale/html/ButtonBar.as     | 24 +++++++++++++++
 .../main/royale/org/apache/royale/html/CheckBox.as |  6 ++++
 .../royale/org/apache/royale/html/DataContainer.as | 15 ++++++++--
 .../main/royale/org/apache/royale/html/DataGrid.as | 34 +++++++++++++++-------
 .../royale/org/apache/royale/html/DropDownList.as  | 18 +++++++++---
 .../main/royale/org/apache/royale/html/Image.as    |  3 ++
 .../org/apache/royale/html/ImageAndTextButton.as   |  6 +++-
 .../beads/TextItemRendererFactoryForArrayData.as   | 19 ++++++++----
 .../royale/html/beads/TitleBarMeasurementBead.as   | 12 ++++++--
 .../html/supportClasses/StringItemRenderer.as      |  9 +++---
 10 files changed, 116 insertions(+), 30 deletions(-)

diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ButtonBar.as 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ButtonBar.as
index b561e80..b62c469 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ButtonBar.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ButtonBar.as
@@ -59,19 +59,43 @@ package org.apache.royale.html
                        super();
                }
                
+               /**
+                *  @see 
org.apache.royale.html.beads.models.ButtonBarModel#buttonWidths
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.9
+                *  @royaleignorecoercion 
org.apache.royale.html.beads.models.ButtonBarModel
+                */
                public function get buttonWidths():Array
                {
                        return ButtonBarModel(model).buttonWidths;
                }
+               /**
+                * @royaleignorecoercion 
org.apache.royale.html.beads.models.ButtonBarModel
+                */
                public function set buttonWidths(value:Array):void
                {
                        ButtonBarModel(model).buttonWidths = value;
                }
                
+               /**
+                *  @see 
org.apache.royale.html.beads.models.ButtonBarModel#widthType
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.9
+                *  @royaleignorecoercion 
org.apache.royale.html.beads.models.ButtonBarModel
+                */
                public function get widthType():Number
                {
                        return ButtonBarModel(model).widthType;
                }
+               /**
+                * @royaleignorecoercion 
org.apache.royale.html.beads.models.ButtonBarModel
+                */
                public function set widthType(value:Number):void
                {
                        ButtonBarModel(model).widthType = value;
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/CheckBox.as 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/CheckBox.as
index b6dc06e..1cbddac 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/CheckBox.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/CheckBox.as
@@ -178,12 +178,18 @@ package org.apache.royale.html
             _label.childNodes.item(1).nodeValue = value;
         }
 
+        /**
+         * @royaleignorecoercion HTMLInputElement
+         */
         [Bindable("change")]
         public function get selected():Boolean
         {
             return (_icon.element as HTMLInputElement).checked;
         }
 
+        /**
+         * @royaleignorecoercion HTMLInputElement
+         */
         public function set selected(value:Boolean):void
         {
            (_icon.element as HTMLInputElement).checked = value;
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as
index 7259f84..40e8d75 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as
@@ -97,12 +97,16 @@ package org.apache.royale.html
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
+                *  @productversion Royale 0.9
+                *  @royaleignorecoercion 
org.apache.royale.core.IDataProviderModel
                 */
                public function get labelField():String
                {
                        return IDataProviderModel(model).labelField;
                }
+               /**
+                * @royaleignorecoercion 
org.apache.royale.core.IDataProviderModel
+                */
                public function set labelField(value:String):void
                {
             IDataProviderModel(model).labelField = value;
@@ -114,12 +118,16 @@ package org.apache.royale.html
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
+                *  @productversion Royale 0.9
+                *  @royaleignorecoercion 
org.apache.royale.core.IDataProviderModel
                 */
         public function get dataProvider():Object
         {
             return IDataProviderModel(model).dataProvider;
         }
+               /**
+                * @royaleignorecoercion 
org.apache.royale.core.IDataProviderModel
+                */
         public function set dataProvider(value:Object):void
         {
             IDataProviderModel(model).dataProvider = value;
@@ -132,7 +140,8 @@ package org.apache.royale.html
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
+                *  @productversion Royale 0.9
+                *  @royaleignorecoercion 
org.apache.royale.core.IListPresentationModel
                 */
                public function get presentationModel():IListPresentationModel
                {
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataGrid.as 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataGrid.as
index 189ddc6..7cc59e4 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataGrid.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataGrid.as
@@ -73,12 +73,16 @@ package org.apache.royale.html
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
+                *  @productversion Royale 0.9
+                *  @royaleignorecoercion org.apache.royale.core.IDataGridModel
                 */
                public function get columns():Array
                {
                        return IDataGridModel(model).columns;
                }
+               /**
+                * @royaleignorecoercion org.apache.royale.core.IDataGridModel
+                */
                public function set columns(value:Array):void
                {
                        IDataGridModel(model).columns = value;
@@ -90,12 +94,16 @@ package org.apache.royale.html
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
+                *  @productversion Royale 0.9
+                *  @royaleignorecoercion org.apache.royale.core.IDataGridModel
                 */
                public function get dataProvider():Object
                {
                        return IDataGridModel(model).dataProvider;
                }
+               /**
+                * @royaleignorecoercion org.apache.royale.core.IDataGridModel
+                */
                public function set dataProvider(value:Object):void
                {
                        IDataGridModel(model).dataProvider = value;
@@ -107,13 +115,17 @@ package org.apache.royale.html
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
+                *  @productversion Royale 0.9
+                *  @royaleignorecoercion org.apache.royale.core.IDataGridModel
                 */
                [Bindable("change")]
                public function get selectedIndex():int
                {
                        return IDataGridModel(model).selectedIndex;
                }
+               /**
+                * @royaleignorecoercion org.apache.royale.core.IDataGridModel
+                */
                public function set selectedIndex(value:int):void
                {
                        IDataGridModel(model).selectedIndex = value;
@@ -130,23 +142,25 @@ package org.apache.royale.html
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
+                *  @productversion Royale 0.9
+                *  @royaleignorecoercion 
org.apache.royale.core.IDataGridPresentationModel
+                *  @royaleignorecoercion org.apache.royale.core.IBead
                 */
                public function get 
presentationModel():IDataGridPresentationModel
                {
                        if (_presentationModel == null) {
                                var c:Class = 
ValuesManager.valuesImpl.getValue(this, "iDataGridPresentationModel");
                                if (c) {
-                                       var presModel:Object = new c();
-                                       _presentationModel = presModel as 
IDataGridPresentationModel;
-                                       if (_presentationModel != null) {
-                                               addBead(_presentationModel as 
IBead);
-                                       }
+                                       _presentationModel = new c() as 
IDataGridPresentationModel;
+                                       addBead(_presentationModel as IBead);
                                }
                        }
                        
                        return _presentationModel;
                }
+               /**
+                * @royaleignorecoercion 
org.apache.royale.core.IDataGridPresentationModel
+                */
                public function set 
presentationModel(value:IDataGridPresentationModel):void
                {
                        _presentationModel = value;
@@ -158,7 +172,7 @@ package org.apache.royale.html
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
+                *  @productversion Royale 0.9
                 */
                public function get rowHeight():Number
                {
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DropDownList.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DropDownList.as
index 4bff57f..77781e3 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DropDownList.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DropDownList.as
@@ -88,7 +88,8 @@ package org.apache.royale.html
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
+         *  @productversion Royale 0.9
+         *  @royaleignorecoercion org.apache.royale.core.ISelectionModel
          */
         public function get dataProvider():Object
         {
@@ -99,6 +100,7 @@ package org.apache.royale.html
          *  @private
          *  @royaleignorecoercion HTMLOptionElement
          *  @royaleignorecoercion HTMLSelectElement
+         *  @royaleignorecoercion org.apache.royale.core.ISelectionModel
          */
         public function set dataProvider(value:Object):void
         {
@@ -140,7 +142,8 @@ package org.apache.royale.html
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
+         *  @productversion Royale 0.9
+         *  @royaleignorecoercion org.apache.royale.core.ISelectionModel
          */
         public function get selectedIndex():int
         {
@@ -150,6 +153,7 @@ package org.apache.royale.html
         /**
          *  @private
          *  @royaleignorecoercion HTMLSelectElement
+         *  @royaleignorecoercion org.apache.royale.core.ISelectionModel
          */
         public function set selectedIndex(value:int):void
         {
@@ -168,7 +172,8 @@ package org.apache.royale.html
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
+         *  @productversion Royale 0.9
+         *  @royaleignorecoercion org.apache.royale.core.ISelectionModel
          */
         public function get selectedItem():Object
         {
@@ -178,6 +183,7 @@ package org.apache.royale.html
         /**
          *  @private
          *  @royaleignorecoercion HTMLSelectElement
+         *  @royaleignorecoercion org.apache.royale.core.ISelectionModel
          */
         public function set selectedItem(value:Object):void
         {
@@ -195,12 +201,16 @@ package org.apache.royale.html
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
+         *  @productversion Royale 0.9
+         *  @royaleignorecoercion org.apache.royale.core.ISelectionModel
          */
         public function get labelField():String
         {
             return ISelectionModel(model).labelField;
         }
+        /**
+         * @royaleignorecoercion org.apache.royale.core.ISelectionModel
+         */
         public function set labelField(value:String):void
         {
             ISelectionModel(model).labelField = value;
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Image.as 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Image.as
index db88e41..61b4645 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Image.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Image.as
@@ -67,6 +67,9 @@ package org.apache.royale.html
                        return element;
                }
 
+               /**
+                * @royaleignorecoercion HTMLImageElement
+                */
                COMPILE::JS
                override public function 
applyImageData(binaryDataAsString:String):void
                {
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ImageAndTextButton.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ImageAndTextButton.as
index 2ca6c1e..a1f24a8 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ImageAndTextButton.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ImageAndTextButton.as
@@ -53,6 +53,7 @@ package org.apache.royale.html
 
         /**
          *  @private
+         *  @royaleignorecoercion 
org.apache.royale.html.beads.models.ImageAndTextModel
          */
         COMPILE::JS
         override public function get text():String
@@ -62,6 +63,7 @@ package org.apache.royale.html
 
         /**
          *  @private
+         *  @royaleignorecoercion 
org.apache.royale.html.beads.models.ImageAndTextModel
          */
         COMPILE::JS
         override public function set text(value:String):void
@@ -79,7 +81,8 @@ package org.apache.royale.html
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
+         *  @productversion Royale 0.9
+         *  @royaleignorecoercion 
org.apache.royale.html.beads.models.ImageAndTextModel
          */
         public function get image():String
         {
@@ -88,6 +91,7 @@ package org.apache.royale.html
 
         /**
          *  @private
+         *  @royaleignorecoercion 
org.apache.royale.html.beads.models.ImageAndTextModel
          */
         public function set image(value:String):void
         {
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextItemRendererFactoryForArrayData.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextItemRendererFactoryForArrayData.as
index 8a16f66..3b312b4 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextItemRendererFactoryForArrayData.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextItemRendererFactoryForArrayData.as
@@ -45,7 +45,7 @@ package org.apache.royale.html.beads
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
-     *  @productversion Royale 0.0
+     *  @productversion Royale 0.9
      */
        public class TextItemRendererFactoryForArrayData extends 
EventDispatcher implements IBead, IDataProviderItemRendererMapper
        {
@@ -55,7 +55,7 @@ package org.apache.royale.html.beads
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
+         *  @productversion Royale 0.9
          */
                public function 
TextItemRendererFactoryForArrayData(target:Object=null)
                {
@@ -72,7 +72,8 @@ package org.apache.royale.html.beads
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
+         *  @productversion Royale 0.9
+         *  @royaleignorecoercion org.apache.royale.events.IEventDispatcher
          */
                public function set strand(value:IStrand):void
                {
@@ -80,6 +81,10 @@ package org.apache.royale.html.beads
                        
IEventDispatcher(value).addEventListener("initComplete",finishSetup);
                }
 
+        /**
+         * @royaleignorecoercion 
org.apache.royale.core.IItemRendererClassFactory
+         * @royaleignorecoercion org.apache.royale.core.ISelectionModel
+         */
                private function finishSetup(event:Event):void
                {
                        selectionModel = _strand.getBeadByType(ISelectionModel) 
as ISelectionModel;
@@ -103,7 +108,8 @@ package org.apache.royale.html.beads
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
+         *  @productversion Royale 0.9
+         *  @royaleignorecoercion 
org.apache.royale.core.IItemRendererClassFactory
          */
         public function get itemRendererFactory():IItemRendererClassFactory
         {
@@ -127,7 +133,10 @@ package org.apache.royale.html.beads
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
+         *  @productversion Royale 0.9
+         *  @royaleignorecoercion Array
+         *  @royaleignorecoercion 
org.apache.royale.html.beads.ITextItemRenderer
+         *  @royaleignorecoercion org.apache.royale.events.IEventDispatcher
          */
                private function dataProviderChangeHandler(event:Event):void
                {
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TitleBarMeasurementBead.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TitleBarMeasurementBead.as
index f72f5a7..7cc77bd 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TitleBarMeasurementBead.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TitleBarMeasurementBead.as
@@ -40,7 +40,7 @@ package org.apache.royale.html.beads
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
+                *  @productversion Royale 0.9
                 */
                public function TitleBarMeasurementBead()
                {
@@ -52,11 +52,14 @@ package org.apache.royale.html.beads
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
+                *  @productversion Royale 0.9
+                *  @royaleignorecoercion org.apache.royale.html.TitleBar
+                *  @royaleignorecoercion 
org.apache.royale.html.beads.TitleBarView
                 */
                public function get measuredWidth():Number
                {
                        var mwidth:Number = 0;
+                       //TODO this should use interfaces
                        var titleBar:TitleBar = _strand as TitleBar;
                        var titleView:TitleBarView = 
_strand.getBeadByType(TitleBarView) as TitleBarView;
                        var labelMeasure:IMeasurementBead = 
titleView.titleLabel.measurementBead;
@@ -74,11 +77,14 @@ package org.apache.royale.html.beads
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
+                *  @productversion Royale 0.9
+                *  @royaleignorecoercion org.apache.royale.html.TitleBar
+                *  @royaleignorecoercion 
org.apache.royale.html.beads.TitleBarView
                 */
                public function get measuredHeight():Number
                {
                        var mheight:Number = 0;
+                       //TODO this should use interfaces
                        var titleBar:TitleBar = _strand as TitleBar;
                        var titleView:TitleBarView = 
_strand.getBeadByType(TitleBarView) as TitleBarView;
                        var labelMeasure:IMeasurementBead = 
titleView.titleLabel.measurementBead;
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/StringItemRenderer.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/StringItemRenderer.as
index ec5466b..f6a36c5 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/StringItemRenderer.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/StringItemRenderer.as
@@ -139,16 +139,17 @@ package org.apache.royale.html.supportClasses
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
+                *  @productversion Royale 0.9
+                *  @royaleignorecoercion String
                 */
                override public function set data(value:Object):void
                {
                        super.data = value;
             var text:String;
                        if (value is String) text = value as String;
-                       else if (labelField) text = String(value[labelField]);
-                       else if (dataField) text = String(value[dataField]);
-                       else text = String(value);
+                       else if (labelField) text = "" + value[labelField];
+                       else if (dataField) text = "" + value[dataField];
+                       else text = "" + value;
 
             this.text = text;
                }

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to