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

Reply via email to