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;