This is an automated email from the ASF dual-hosted git repository. aharui pushed a commit to branch has in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 8b603dc104cd12568797a5efe31d16080239a30c Author: Alex Harui <[email protected]> AuthorDate: Wed Jan 29 21:50:51 2020 -0800 more refactoring, some has --- .../apache/royale/core/ILabelFieldItemRenderer.as} | 37 ++++++++-------------- .../apache/royale/core/ISelectableItemRenderer.as | 25 +-------------- .../mx/controls/beads/AdvancedDataGridView.as | 4 +-- .../AdvancedDataGridVirtualListVerticalLayout.as | 6 ++-- .../mx/controls/listClasses/AdvancedListBase.as | 16 +++++----- .../mx/controls/treeClasses/TreeItemRenderer.as | 7 ++-- .../royale/mdl/supportClasses/ITabItemRenderer.as | 4 +-- .../royale/spark/components/beads/TabBarView.as | 19 ++++++++--- .../components/supportClasses/ItemRenderer.as | 9 ++++-- 9 files changed, 56 insertions(+), 71 deletions(-) diff --git a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/supportClasses/ITabItemRenderer.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ILabelFieldItemRenderer.as similarity index 58% copy from frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/supportClasses/ITabItemRenderer.as copy to frameworks/projects/Core/src/main/royale/org/apache/royale/core/ILabelFieldItemRenderer.as index 21d3029..97050a9 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/supportClasses/ITabItemRenderer.as +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ILabelFieldItemRenderer.as @@ -16,40 +16,31 @@ // limitations under the License. // //////////////////////////////////////////////////////////////////////////////// -package org.apache.royale.mdl.supportClasses +package org.apache.royale.core { - import org.apache.royale.core.ISelectableItemRenderer; + import org.apache.royale.events.IEventDispatcher; /** - * The ITabItemRenderer interface is the basic interface for MDL Tabs and TabBar item renderers. - * + * The IIndexedItemRenderer interface is the basic interface for item renderers + * that have an index property that indicates its index in the list of renderers. + * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion Royale 0.8 + * @productversion Royale 0.0 */ - public interface ITabItemRenderer extends ISelectableItemRenderer - { + public interface ILabelFieldItemRenderer extends IIndexedItemRenderer + { /** - * Provides name of the property which stores "id" for Tab - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.8 - */ - function get tabIdField():String; - function set tabIdField(value:String):void; - - /** - * Indicates whether specific Tab is currently selected/active + * The property on the data item that the item renderer + * should renderer. * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion Royale 0.8 + * @productversion Royale 0.0 */ - function get isActive():Boolean; - function set isActive(value:Boolean):void; - } + function get labelField():String; + function set labelField(value:String):void; + } } diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ISelectableItemRenderer.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ISelectableItemRenderer.as index db4e67a..66bcb27 100644 --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ISelectableItemRenderer.as +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ISelectableItemRenderer.as @@ -29,33 +29,10 @@ package org.apache.royale.core * @playerversion AIR 2.6 * @productversion Royale 0.0 */ - public interface ISelectableItemRenderer extends IItemRenderer + public interface ISelectableItemRenderer extends IBead { /** - * The property on the data item that the item renderer - * should renderer. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.0 - */ - function get labelField():String; - function set labelField(value:String):void; - - /** - * The index of the data item in the data provider. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.0 - */ - function get index():int; - function set index(value:int):void; - - /** * <code>true</code> if the item renderer is rendering * an item that is selected. * diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridView.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridView.as index 378d3a3..73dad36 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridView.as +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridView.as @@ -30,7 +30,7 @@ package mx.controls.beads import org.apache.royale.core.IDataGrid; import org.apache.royale.core.IDataGridModel; import org.apache.royale.core.IListPresentationModel; - import org.apache.royale.core.ISelectableItemRenderer; + import org.apache.royale.core.IItemRenderer; import org.apache.royale.core.UIBase; import org.apache.royale.events.Event; import org.apache.royale.events.IEventDispatcher; @@ -168,7 +168,7 @@ package mx.controls.beads { var list:AdvancedDataGridColumnList = columnLists[i] as AdvancedDataGridColumnList; var view:AdvancedDataGridListVirtualListView = list.view as AdvancedDataGridListVirtualListView; - var ir:ISelectableItemRenderer = view.getItemRendererForIndex(index) as ISelectableItemRenderer; + var ir:IItemRenderer = view.getItemRendererForIndex(index) as IItemRenderer; if (ir) { ir.selected = selected; diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/layouts/AdvancedDataGridVirtualListVerticalLayout.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/layouts/AdvancedDataGridVirtualListVerticalLayout.as index f6ca342..522f879 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/layouts/AdvancedDataGridVirtualListVerticalLayout.as +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/layouts/AdvancedDataGridVirtualListVerticalLayout.as @@ -24,7 +24,7 @@ package mx.controls.beads.layouts import org.apache.royale.core.ILayoutView; import org.apache.royale.core.IListPresentationModel; import org.apache.royale.core.IScrollingViewport; - import org.apache.royale.core.ISelectableItemRenderer; + import org.apache.royale.core.IItemRenderer; import org.apache.royale.core.IStrand; import org.apache.royale.core.IStrandWithPresentationModel; import org.apache.royale.core.IUIBase; @@ -209,7 +209,7 @@ package mx.controls.beads.layouts { if (i >= dp.length) continue; // no more renderers needed - var ir:ISelectableItemRenderer; + var ir:IItemRenderer; if (i < firstIndex) { ir = factory.getItemRendererForIndex(i, i - startIndex); @@ -329,7 +329,7 @@ package mx.controls.beads.layouts { if (i >= dp.length) continue; // no more renderers needed - var ir:ISelectableItemRenderer; + var ir:IItemRenderer; if (i < firstIndex) { // the base class adds 1 because the div/scroll padding is in the diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/AdvancedListBase.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/AdvancedListBase.as index 42ccbe4..ea43eb8 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/AdvancedListBase.as +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/AdvancedListBase.as @@ -59,7 +59,7 @@ import org.apache.royale.core.IChild; import org.apache.royale.core.IParent; import org.apache.royale.core.IUIBase; import org.apache.royale.core.ISelectionModel; -import org.apache.royale.core.ISelectableItemRenderer; +import org.apache.royale.core.IItemRendererderer; import org.apache.royale.events.Event; import org.apache.royale.events.MouseEvent; import org.apache.royale.utils.loadBeadFromValuesManager; @@ -1391,7 +1391,7 @@ public class AdvancedListBase extends ListBase /* extends UIComponent // mx_internal for automation delegate access mx_internal var bSelectOnRelease:Boolean; - private var mouseDownItem:ISelectableItemRenderer; //IListItemRenderer; + private var mouseDownItem:IItemRendererderer; //IListItemRenderer; /* private var mouseDownIndex:int; // For drag and drop */ @@ -3862,7 +3862,7 @@ public class AdvancedListBase extends ListBase /* extends UIComponent * @productversion Royale 0.9.4 */ protected function mouseEventToItemRenderer( - event:MouseEvent):ISelectableItemRenderer + event:MouseEvent):IItemRendererderer { return mouseEventToItemRendererOrEditor(event); } @@ -3871,7 +3871,7 @@ public class AdvancedListBase extends ListBase /* extends UIComponent * @private */ mx_internal function mouseEventToItemRendererOrEditor( - event:MouseEvent):ISelectableItemRenderer + event:MouseEvent):IItemRendererderer { /* var target:DisplayObject = DisplayObject(event.target); @@ -3923,8 +3923,8 @@ public class AdvancedListBase extends ListBase /* extends UIComponent var target:IUIBase = event.target as IUIBase; do { - if (target is ISelectableItemRenderer) - return target as ISelectableItemRenderer; + if (target is IItemRendererderer) + return target as IItemRendererderer; target = (target as IChild).parent as IUIBase; if (target == this) return null; @@ -8974,7 +8974,7 @@ public class AdvancedListBase extends ListBase /* extends UIComponent // trace("mouseDown"); isPressed = true; - var item:ISelectableItemRenderer = mouseEventToItemRenderer(event); + var item:IItemRendererderer = mouseEventToItemRenderer(event); if (!item) return; @@ -9069,7 +9069,7 @@ public class AdvancedListBase extends ListBase /* extends UIComponent //mouseDownPoint = null; //mouseDownIndex = -1; //trace("mouseUp"); - var item:ISelectableItemRenderer = mouseEventToItemRenderer(event); + var item:IItemRendererderer = mouseEventToItemRenderer(event); //var pt:Point = itemRendererToIndices(item); var evt:ListEvent; diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as index 1ebd2b2..0dc4379 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as @@ -57,7 +57,7 @@ import mx.core.mx_internal; use namespace mx_internal; -import org.apache.royale.core.ISelectableItemRenderer; +import org.apache.royale.core.IItemRenderer; import org.apache.royale.core.ValuesManager; import org.apache.royale.events.Event; import org.apache.royale.html.util.getLabelFromData; @@ -80,7 +80,7 @@ import org.apache.royale.html.supportClasses.TreeListData; * @productversion Flex 3 */ public class TreeItemRenderer extends UIComponent - implements IDataRenderer, IDropInListItemRenderer, ISelectableItemRenderer + implements IDataRenderer, IDropInListItemRenderer, IItemRenderer { @@ -101,7 +101,7 @@ public class TreeItemRenderer extends UIComponent public function TreeItemRenderer() { super(); - typeNames = "TreeItemRenderer"; + typeNames = "TreeItemRenderer"; } override protected function createChildren():void @@ -211,6 +211,7 @@ public class TreeItemRenderer extends UIComponent // each MXML file can also have styles in fx:Style block ValuesManager.valuesImpl.init(this); + loadBeadFromValuesManager(ISelectableItemRenderer); dispatchEvent(new Event("initBindings")); dispatchEvent(new Event("initComplete")); diff --git a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/supportClasses/ITabItemRenderer.as b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/supportClasses/ITabItemRenderer.as index 21d3029..325c53d 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/supportClasses/ITabItemRenderer.as +++ b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/supportClasses/ITabItemRenderer.as @@ -18,7 +18,7 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.royale.mdl.supportClasses { - import org.apache.royale.core.ISelectableItemRenderer; + import org.apache.royale.core.IItemRenderer; /** * The ITabItemRenderer interface is the basic interface for MDL Tabs and TabBar item renderers. @@ -28,7 +28,7 @@ package org.apache.royale.mdl.supportClasses * @playerversion AIR 2.6 * @productversion Royale 0.8 */ - public interface ITabItemRenderer extends ISelectableItemRenderer + public interface ITabItemRenderer extends IItemRenderer { /** * Provides name of the property which stores "id" for Tab diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/TabBarView.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/TabBarView.as index 3094c8a..22dc7cd 100644 --- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/TabBarView.as +++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/TabBarView.as @@ -25,6 +25,7 @@ package spark.components.beads import spark.core.IGapLayout; import org.apache.royale.core.ISelectionModel; import org.apache.royale.core.ISelectableItemRenderer; + import org.apache.royale.core.IItemRenderer; import org.apache.royale.core.IItemRendererOwnerView; import spark.components.supportClasses.ListBase; import org.apache.royale.events.ValueChangeEvent; @@ -83,6 +84,7 @@ package spark.components.beads /** * @private * @royaleignorecoercion org.apache.royale.core.ISelectableItemRenderer + * @royaleignorecoercion org.apache.royale.core.IItemRenderer */ protected function valueChangeHandler(event:ValueChangeEvent):void { @@ -90,12 +92,21 @@ package spark.components.beads { return; } - var ir:ISelectableItemRenderer = (contentView as IParent).getElementAt(int(event.oldValue)) as ISelectableItemRenderer; + var ir:IItemRenderer = (contentView as IParent).getElementAt(int(event.oldValue)) as IItemRenderer; + var sir:ISelectableItemRenderer; if(ir) - ir.selected = false; - ir = (contentView as IParent).getElementAt(int(event.newValue)) as ISelectableItemRenderer; + { + sir = ir.getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer; + if (sir) + sir.selected = false; + } + ir = (contentView as IParent).getElementAt(int(event.newValue)) as IItemRenderer; if(ir) - ir.selected = true; + { + sir = ir.getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer; + if (sir) + sir.selected = true; + } } } diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/ItemRenderer.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/ItemRenderer.as index bd920ec..1551fd0 100644 --- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/ItemRenderer.as +++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/ItemRenderer.as @@ -84,8 +84,8 @@ import spark.components.DataRenderer; * @playerversion AIR 1.5 * @productversion Royale 0.9.4 */ -public class ItemRenderer extends DataRenderer implements ISelectableItemRenderer -{ // implements IItemRenderer +public class ItemRenderer extends DataRenderer implements IItemRenderer +{ //-------------------------------------------------------------------------- // // Constructor @@ -913,4 +913,9 @@ public class ItemRenderer extends DataRenderer implements ISelectableItemRendere } */ } +} + +class SparkItemRendererISelectableImpl extends Bead implements ISelectableItemRenderer +{ + } \ No newline at end of file
