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

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


The following commit(s) were added to refs/heads/develop by this push:
     new 1e99e28  get MXTests working again
1e99e28 is described below

commit 1e99e28434720a741b64d6b1880f28297842f612
Author: Alex Harui <aha...@apache.org>
AuthorDate: Sat May 9 22:22:19 2020 -0700

    get MXTests working again
---
 .../html/beads/TextItemRendererFactoryForArrayData.as    | 14 ++++++++------
 .../royale/html/supportClasses/StringItemRenderer.as     |  2 +-
 .../beads/DataGridLinesBeadForICollectionView.as         |  3 ++-
 .../beads/DataGridSelectableItemRendererClassFactory.as  |  3 +++
 .../controls/dataGridClasses/DataGridHeaderRenderer.as   | 15 +++++++++------
 .../mx/controls/dataGridClasses/DataGridItemRenderer.as  |  2 +-
 .../MXRoyale/src/main/royale/mx/core/UIComponent.as      | 16 +++++++++++-----
 7 files changed, 35 insertions(+), 20 deletions(-)

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 1fa1cd5..d31ebfd 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
@@ -35,6 +35,7 @@ package org.apache.royale.html.beads
        import org.apache.royale.core.DispatcherBead;
        import org.apache.royale.utils.sendStrandEvent;
        import org.apache.royale.core.ILabelFieldItemRenderer;
+       import org.apache.royale.core.IIndexedItemRenderer;
 
        
[Event(name="itemRendererCreated",type="org.apache.royale.events.ItemRendererEvent")]
 
@@ -156,16 +157,17 @@ package org.apache.royale.html.beads
                        var n:int = dp.length;
                        for (var i:int = 0; i < n; i++)
                        {
-                               var tf:ILabelFieldItemRenderer = 
itemRendererFactory.createItemRenderer() as ILabelFieldItemRenderer;
-                               tf.index = i;
-                               dataGroup.addItemRenderer(tf, false);
-                               if (selectionModel.labelField) {
+                               var ir:IIndexedItemRenderer = 
itemRendererFactory.createItemRenderer() as IIndexedItemRenderer;
+                               var tf:ILabelFieldItemRenderer = ir as 
ILabelFieldItemRenderer;
+                               ir.index = i;
+                               dataGroup.addItemRenderer(ir, false);
+                               if (tf && selectionModel.labelField) {
                                        tf.labelField = 
selectionModel.labelField;
                                }
-                               tf.data = dp[i];
+                               ir.data = dp[i];
 
                                var newEvent:ItemRendererEvent = new 
ItemRendererEvent(ItemRendererEvent.CREATED);
-                               newEvent.itemRenderer = tf;
+                               newEvent.itemRenderer = ir;
                                dispatchEvent(newEvent);
                        }
 
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 69f8969..d9b6783 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
@@ -81,7 +81,7 @@ package org.apache.royale.html.supportClasses
                {
                        super.addedToParent();
 
-                       addChild(textField);
+                       super.addChild(textField);
 
                        adjustSize();
                }
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridLinesBeadForICollectionView.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridLinesBeadForICollectionView.as
index f79aac8..13ac1da 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridLinesBeadForICollectionView.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridLinesBeadForICollectionView.as
@@ -109,7 +109,8 @@ package mx.controls.beads
                         ww += column.columnWidth;
                     }
                 }
-                
+                if (isNaN(ww))
+                                       ww = 0;
                 var bgColors:Array = (_strand as 
UIComponent).getStyle("alternatingItemColors");
                 var yy:Number = n * rowHeight;
                 
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridSelectableItemRendererClassFactory.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridSelectableItemRendererClassFactory.as
index 259c964..3f6cd01 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridSelectableItemRendererClassFactory.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridSelectableItemRendererClassFactory.as
@@ -48,7 +48,10 @@ package mx.controls.beads
         override public function createItemRenderer():IItemRenderer
         {
             var ir:IItemRenderer = super.createItemRenderer();
+                       COMPILE::JS 
+                       {
                        ir["outerDocument"] = (_strand as 
DataGridColumnList).grid.mxmlDocument;
+                       }
                        return ir;
         }                      
        }
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridHeaderRenderer.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridHeaderRenderer.as
index b9a6158..8ce0622 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridHeaderRenderer.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridHeaderRenderer.as
@@ -409,7 +409,7 @@ public class DataGridHeaderRenderer extends UIComponent 
implements IDataRenderer
      *  @private
      *  Storage for the listData property.
      */
-    private var _listData:DataGridListData;
+    private var _listData:Object;
 
     [Bindable("dataChange")] 
 
@@ -424,7 +424,7 @@ public class DataGridHeaderRenderer extends UIComponent 
implements IDataRenderer
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function get listData():BaseListData
+    public function get listData():Object
     {
         return _listData;
     } 
@@ -432,10 +432,10 @@ public class DataGridHeaderRenderer extends UIComponent 
implements IDataRenderer
     /**
      *  @private
      */
-    public function set listData(value:BaseListData):void
+    public function set listData(value:Object):void
     {
-        _listData = DataGridListData(value);
-        grid      = ListBase(_listData.owner);
+        _listData = value;
+        grid = ListBase(DataGridListData(_listData).owner);
 
         invalidateProperties();
     } 
@@ -975,8 +975,11 @@ public class DataGridHeaderRenderer extends UIComponent 
implements IDataRenderer
         var sm:ISystemManager = super.systemManager;
         if (!sm)
         {
+                       var p:IChild = parent as IChild;
+                       while (p && !(p is IUIComponent))
+                               p = p.parent as IChild;
             // skip a layer because parent ButtonBar is not IUIComponent
-            systemManager = ((parent as IChild).parent as 
IUIComponent).systemManager;
+            systemManager = (p as IUIComponent).systemManager;
         }
         return sm;
     }
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridItemRenderer.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridItemRenderer.as
index d99d561..d631f9e 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridItemRenderer.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridItemRenderer.as
@@ -593,7 +593,7 @@ public class DataGridItemRenderer extends StringItemRenderer
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function owns(child:IUIComponent):Boolean
+    public function owns(child:IUIBase):Boolean
     {
         return child == this;
     }
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as 
b/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
index c9819eb..f19496b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
@@ -2009,10 +2009,16 @@ COMPILE::JS
             initialized = true;
         }
 
-        if (!mxmlDocument && parent is UIComponent)
-            mxmlDocument = UIComponent(parent).mxmlDocument;
-        else if (!mxmlDocument && parent is ContainerContentArea)
-            mxmlDocument = 
UIComponent(ContainerContentArea(parent).parent).mxmlDocument;
+        if (!mxmlDocument)
+               {
+                       var p:IChild = parent as IChild;
+                       while (p && !(p is UIComponent))
+                       {
+                               p = p.parent as IChild;
+                       }
+                       if (p)
+                               mxmlDocument = UIComponent(p).mxmlDocument;
+               }
     }
     
     //----------------------------------
@@ -5118,7 +5124,7 @@ COMPILE::JS
     {//            trace("getStyle not implemented");
 //        return 0;
                var value:* = ValuesManager.valuesImpl.getValue(this,styleProp);
-        if (value === undefined && typeof(_styleName) === "object")
+        if (value === undefined && _styleName != null && typeof(_styleName) 
=== "object")
             value = styleName.getStyle(styleProp);
             
 //             if (!value) value = 0;

Reply via email to