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 07fada3daab8bc5e3832046d7efb9e43300132cf
Author: Alex Harui <[email protected]>
AuthorDate: Mon Feb 17 17:28:09 2020 -0800

    more fixes for has
---
 .../DataItemRendererFactoryForCollectionView.as    | 21 ++++--
 .../DynamicItemsRendererFactoryForArrayListData.as |  2 +-
 .../MXRoyale/src/main/resources/defaults.css       |  5 +-
 .../MXRoyale/src/main/royale/MXRoyaleClasses.as    |  1 +
 .../AdvancedDataGridItemRendererInitializer.as     |  1 -
 ...itializer.as => ListItemRendererInitializer.as} | 31 +++++----
 .../controls/beads/TreeItemRendererInitializer.as  |  6 +-
 .../mx/controls/listClasses/ListItemRenderer.as    |  4 +-
 .../VirtualDataItemRendererFactoryForIListData.as  |  1 +
 ...rerFactoryForICollectionViewHierarchicalData.as | 21 +++++-
 .../mx/controls/treeClasses/TreeItemRenderer.as    | 75 +---------------------
 .../SparkRoyale/src/main/resources/defaults.css    | 12 +++-
 .../components/supportClasses/ItemRenderer.as      | 10 ++-
 13 files changed, 79 insertions(+), 111 deletions(-)

diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as
index 4e0d7b3..1806ab6 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as
@@ -65,7 +65,7 @@ package org.apache.royale.html.beads
                {
                        if (!dataProviderModel)
                                return;
-                       var dp:ICollectionView = dataProviderModel.dataProvider 
as ICollectionView;
+                       dp = dataProviderModel.dataProvider as ICollectionView;
                        if (!dp)
                                return;
                        
@@ -89,7 +89,7 @@ package org.apache.royale.html.beads
                {
                        if (!dataProviderModel)
                                return;
-                       var dp:ICollectionView = dataProviderModel.dataProvider 
as ICollectionView;
+                       dp = dataProviderModel.dataProvider as ICollectionView;
                        if (!dp)
                                return;
                        
@@ -97,6 +97,7 @@ package org.apache.royale.html.beads
             var dataGroup:IItemRendererOwnerView = view.dataGroup;
             
                        var ir:IIndexedItemRenderer = 
itemRendererFactory.createItemRenderer() as IIndexedItemRenderer;
+                       dataGroup.addItemRendererAt(ir, event.index);
 
             var data:Object = event.item;
             (itemRendererInitializer as 
IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, 
event.index);
@@ -120,6 +121,8 @@ package org.apache.royale.html.beads
                        (_strand as IEventDispatcher).dispatchEvent(new 
Event("layoutNeeded"));
                }
                
+               private var dp:ICollectionView;
+               
                /**
                 * @private
                 * @royaleignorecoercion 
org.apache.royale.collections.ICollectionView
@@ -131,7 +134,7 @@ package org.apache.royale.html.beads
                {
                        if (!dataProviderModel)
                                return;
-                       var dp:ICollectionView = dataProviderModel.dataProvider 
as ICollectionView;
+                       dp = dataProviderModel.dataProvider as ICollectionView;
                        if (!dp)
                                return;
                        
@@ -167,7 +170,7 @@ package org.apache.royale.html.beads
                {
                        if (!dataProviderModel)
                                return;
-                       var dp:ICollectionView = dataProviderModel.dataProvider 
as ICollectionView;
+                       dp = dataProviderModel.dataProvider as ICollectionView;
                        if (!dp)
                                return;
 
@@ -182,6 +185,16 @@ package org.apache.royale.html.beads
             (itemRendererInitializer as 
IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, 
event.index);
             ir.data = data;                            
                }
+
+        override protected function get dataProviderLength():int
+        {
+            return dp.length;
+        }
+        
+        override protected function getItemAt(i:int):Object
+        {
+            return dp.getItemAt(i);
+        }
                
        }
 }
\ No newline at end of file
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicItemsRendererFactoryForArrayListData.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicItemsRendererFactoryForArrayListData.as
index c6bebbf..99a8c9a 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicItemsRendererFactoryForArrayListData.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicItemsRendererFactoryForArrayListData.as
@@ -93,7 +93,7 @@ package org.apache.royale.html.beads
             var dataGroup:IItemRendererOwnerView = view.dataGroup;
 
             var ir:IIndexedItemRenderer = 
itemRendererFactory.createItemRenderer() as IIndexedItemRenderer;
-            dataGroup.addItemRenderer(ir, false);
+            dataGroup.addItemRendererAt(ir, event.index);
             var data:Object = event.item;
             (itemRendererInitializer as 
IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, 
event.index);
             ir.data = data;
diff --git a/frameworks/projects/MXRoyale/src/main/resources/defaults.css 
b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
index 577fcf0..0fcbb7d 100644
--- a/frameworks/projects/MXRoyale/src/main/resources/defaults.css
+++ b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
@@ -271,9 +271,10 @@ List
        IBeadController: 
ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController");
        IBeadLayout: 
ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout");
        IDataProviderItemRendererMapper: 
ClassReference("mx.controls.listClasses.DataItemRendererFactoryForICollectionViewData");
-       IItemRendererClassFactory: 
ClassReference("org.apache.royale.core.ItemRendererClassFactory");
+       IItemRendererClassFactory: 
ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory");
        IItemRenderer: 
ClassReference("mx.controls.listClasses.ListItemRenderer");
-       IItemRendererInitializer: 
ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer");
+       IItemRendererInitializer: 
ClassReference("mx.controls.beads.ListItemRendererInitializer");
+       ISelectableItemRenderer: 
ClassReference("org.apache.royale.html.beads.SolidBackgroundSelectableItemRendererBead");
        IListPresentationModel: 
ClassReference("org.apache.royale.html.beads.models.ListPresentationModel");
        IViewport: 
ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport");
        IViewportModel: 
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
diff --git a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as 
b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
index e9dddff..9e3a9be 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
@@ -241,6 +241,7 @@ internal class MXRoyaleClasses
     import mx.controls.dateFieldClasses.DateFieldDateChooser; 
DateFieldDateChooser;
     import mx.controls.beads.controllers.MenuBarMouseController; 
MenuBarMouseController;
     import 
mx.controls.beads.controllers.CascadingMenuSelectionMouseController; 
CascadingMenuSelectionMouseController;
+    import mx.controls.beads.ListItemRendererInitializer; 
ListItemRendererInitializer;
     import mx.controls.beads.TreeItemRendererInitializer; 
TreeItemRendererInitializer;
     import mx.controls.beads.AdvancedDataGridItemRendererInitializer; 
AdvancedDataGridItemRendererInitializer;
     
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridItemRendererInitializer.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridItemRendererInitializer.as
index 732dcf7..748f1d9 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridItemRendererInitializer.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridItemRendererInitializer.as
@@ -31,7 +31,6 @@ package mx.controls.beads
     import org.apache.royale.core.IUIBase;
     import org.apache.royale.core.SimpleCSSStyles;
     import org.apache.royale.core.UIBase;
-    import org.apache.royale.html.beads.ListItemRendererInitializer;
     import mx.controls.advancedDataGridClasses.AdvancedDataGridListData;
        import mx.controls.advancedDataGridClasses.AdvancedDataGridColumnList;
     import mx.controls.beads.models.DataGridColumnICollectionViewModel;
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererInitializer.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/ListItemRendererInitializer.as
similarity index 75%
copy from 
frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererInitializer.as
copy to 
frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/ListItemRendererInitializer.as
index b5103de..439ce92 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererInitializer.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/ListItemRendererInitializer.as
@@ -19,14 +19,16 @@
 package mx.controls.beads
 {      
     
-    import org.apache.royale.collections.TreeData;
     import org.apache.royale.core.Bead;
     import org.apache.royale.core.IDataProviderModel;
     import org.apache.royale.core.IIndexedItemRenderer;
+    import org.apache.royale.core.IOwnerViewItemRenderer;
+    import org.apache.royale.core.IItemRendererOwnerView;
     import org.apache.royale.core.IIndexedItemRendererInitializer;
     import org.apache.royale.core.IItemRenderer;
     import org.apache.royale.core.IListDataItemRenderer;
     import org.apache.royale.core.IStrand;
+    import org.apache.royale.core.IStrandWithModelView;
     import org.apache.royale.core.IUIBase;
     import org.apache.royale.core.SimpleCSSStyles;
     import org.apache.royale.core.UIBase;
@@ -42,7 +44,7 @@ package mx.controls.beads
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.0
         */
-       public class TreeItemRendererInitializer extends 
ListItemRendererInitializer
+       public class ListItemRendererInitializer extends 
org.apache.royale.html.beads.ListItemRendererInitializer
        {
                /**
                 *  constructor.
@@ -52,10 +54,18 @@ package mx.controls.beads
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.0
                 */
-               public function TreeItemRendererInitializer()
+               public function ListItemRendererInitializer()
                {
                }
                                
+               private var ownerView:IItemRendererOwnerView;
+               
+               override public function set strand(value:IStrand):void
+               {       
+                       super.strand = value;
+            ownerView = (value as IStrandWithModelView).view as 
IItemRendererOwnerView;
+               }
+
                /**
                 *  @private
                 *  @royaleignorecoercion 
org.apache.royale.core.HTMLElementWrapper
@@ -67,19 +77,8 @@ package mx.controls.beads
             
             super.initializeItemRenderer(ir, data, index);
             
-            var treeData:TreeData = dataProviderModel.dataProvider as TreeData;
-            var depth:int = treeData.getDepth(data);
-            var isOpen:Boolean = treeData.isOpen(data);
-            var hasChildren:Boolean = treeData.hasChildren(data);
-            
-            // Set the listData with the depth of this item
-            var treeListData:TreeListData = new TreeListData();
-            treeListData.depth = depth;
-            treeListData.isOpen = isOpen;
-            treeListData.hasChildren = hasChildren;
-            
-            (ir as IListDataItemRenderer).listData = treeListData;
-            
+                       if (ir is IOwnerViewItemRenderer)
+                               (ir as 
IOwnerViewItemRenderer).itemRendererOwnerView = ownerView;
         }
         
        }
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererInitializer.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererInitializer.as
index b5103de..6fe40d1 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererInitializer.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererInitializer.as
@@ -19,7 +19,7 @@
 package mx.controls.beads
 {      
     
-    import org.apache.royale.collections.TreeData;
+       import org.apache.royale.collections.ITreeData;
     import org.apache.royale.core.Bead;
     import org.apache.royale.core.IDataProviderModel;
     import org.apache.royale.core.IIndexedItemRenderer;
@@ -30,7 +30,6 @@ package mx.controls.beads
     import org.apache.royale.core.IUIBase;
     import org.apache.royale.core.SimpleCSSStyles;
     import org.apache.royale.core.UIBase;
-    import org.apache.royale.html.beads.ListItemRendererInitializer;
     import mx.controls.treeClasses.TreeListData;
     
        /**
@@ -67,7 +66,7 @@ package mx.controls.beads
             
             super.initializeItemRenderer(ir, data, index);
             
-            var treeData:TreeData = dataProviderModel.dataProvider as TreeData;
+            var treeData:ITreeData = dataProviderModel.dataProvider as 
ITreeData;
             var depth:int = treeData.getDepth(data);
             var isOpen:Boolean = treeData.isOpen(data);
             var hasChildren:Boolean = treeData.hasChildren(data);
@@ -77,6 +76,7 @@ package mx.controls.beads
             treeListData.depth = depth;
             treeListData.isOpen = isOpen;
             treeListData.hasChildren = hasChildren;
+            treeListData.owner = _strand;
             
             (ir as IListDataItemRenderer).listData = treeListData;
             
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListItemRenderer.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListItemRenderer.as
index 164d824..e5bb3ec 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListItemRenderer.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListItemRenderer.as
@@ -27,6 +27,8 @@ import org.apache.royale.core.IBeadView;
 import org.apache.royale.core.IBorderPaddingMarginValuesImpl;
 import org.apache.royale.core.IChild;
 import org.apache.royale.core.IIndexedItemRenderer;
+import org.apache.royale.core.ILabelFieldItemRenderer;
+import org.apache.royale.core.IOwnerViewItemRenderer;
 import org.apache.royale.core.IItemRendererOwnerView;
 import org.apache.royale.core.IParent;
 import org.apache.royale.core.ISelectableItemRenderer;
@@ -55,7 +57,7 @@ COMPILE::SWF
  *  @productversion Flex 3
  */
 
-public class ListItemRenderer extends UIComponent implements 
IListItemRenderer, IIndexedItemRenderer
+public class ListItemRenderer extends UIComponent implements 
IListItemRenderer, IIndexedItemRenderer, ILabelFieldItemRenderer, 
IOwnerViewItemRenderer
 {
     public function ListItemRenderer()
     {
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/VirtualDataItemRendererFactoryForIListData.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/VirtualDataItemRendererFactoryForIListData.as
index fc087b4..9450571 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/VirtualDataItemRendererFactoryForIListData.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/VirtualDataItemRendererFactoryForIListData.as
@@ -149,6 +149,7 @@ package mx.controls.listClasses
             var data:Object = dp.getItemAt(index);
             (itemRendererInitializer as 
IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, index);
             rendererMap[index] = ir;
+                       ir.data = data;
                         
             var newEvent:ItemRendererEvent = new 
ItemRendererEvent(ItemRendererEvent.CREATED);
             newEvent.itemRenderer = ir;
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/DataItemRendererFactoryForICollectionViewHierarchicalData.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/DataItemRendererFactoryForICollectionViewHierarchicalData.as
index f55b690..54490c0 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/DataItemRendererFactoryForICollectionViewHierarchicalData.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/DataItemRendererFactoryForICollectionViewHierarchicalData.as
@@ -75,6 +75,8 @@ package mx.controls.treeClasses
                        super();
                }
 
+               private var dp:ICollectionView;
+               
         /**
          * @private
          * @royaleignorecoercion mx.collections.ICollectionView
@@ -86,7 +88,7 @@ package mx.controls.treeClasses
         {
             if (!dataProviderModel)
                 return;
-            var dp:ICollectionView = dataProviderModel.dataProvider as 
ICollectionView;
+            dp = dataProviderModel.dataProvider as ICollectionView;
             if (!dp)
                 return;
             
@@ -99,6 +101,23 @@ package mx.controls.treeClasses
             super.dataProviderChangeHandler(event);
         }
 
+        private var cursor:IViewCursor;
+        
+        
+        // assumes will be called in a loop, not random access
+        override protected function get dataProviderLength():int
+        {
+            cursor = dp.createCursor();
+            return dp.length;
+        }
+        
+        // assumes will be called in a loop, not random access
+        override protected function getItemAt(index:int):Object
+        {
+            var obj:Object = cursor.current;
+            cursor.moveNext();
+            return obj;
+        }
                
        }
 }
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 f1bc2f5..f3daf68 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
@@ -59,6 +59,7 @@ use namespace mx_internal;
 
 import org.apache.royale.core.IBead;
 import org.apache.royale.core.IItemRenderer;
+import org.apache.royale.core.ILabelFieldItemRenderer;
 import org.apache.royale.core.ValuesManager;
 import org.apache.royale.events.Event;
 import org.apache.royale.html.util.getLabelFromData;
@@ -83,7 +84,7 @@ import org.apache.royale.core.ISelectableItemRenderer;
  *  @productversion Flex 3
  */
 public class TreeItemRenderer extends UIComponent 
-    implements IDataRenderer, IDropInListItemRenderer, IItemRenderer
+    implements IDataRenderer, IDropInListItemRenderer, IItemRenderer, 
ILabelFieldItemRenderer
 {
    
 
@@ -220,78 +221,6 @@ public class TreeItemRenderer extends UIComponent
         
     }
     
-    private var _itemRendererOwnerView:IItemRendererOwnerView;
-    
-    /**
-     * The parent container for the itemRenderer instance.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion Royale 0.0
-     */
-    public function get itemRendererOwnerView():IItemRendererOwnerView
-    {
-        return _itemRendererOwnerView;
-    }
-    public function set 
itemRendererOwnerView(value:IItemRendererOwnerView):void
-    {
-        _itemRendererOwnerView = value;
-        if (!getBeadByType(ISelectableItemRenderer))
-        {
-            // load ISelectableItemRenderer impl from the
-            // owner, not the item renderer so that item
-            // renderers aren't strongly coupled to a
-            // particular selection visual and the list
-            // can dictate the selection visual
-            var c:Class = ValuesManager.valuesImpl.getValue(value.host, 
"iSelectableItemRenderer");
-            if (c)
-                addBead(new c() as IBead);                    
-        }
-    }
-        
-    private var _backgroundColor:uint = 0xFFFFFF;
-    override public function get backgroundColor():uint
-    {
-        return _backgroundColor;
-    }
-    override public function set backgroundColor(value:uint):void
-    {
-        _backgroundColor = value;
-    }
-    
-    private var _highlightColor:uint = 0xCEDBEF;
-    public function get highlightColor():uint
-    {
-        return _highlightColor;
-    }
-    public function set highlightColor(value:uint):void
-    {
-        _highlightColor = value;
-    }
-    
-    private var _selectedColor:uint = 0xA8C6EE;
-    public function get selectedColor():uint
-    {
-        return _selectedColor;
-    }
-    public function set selectedColor(value:uint):void
-    {
-        _selectedColor = value;
-    }
-    
-    private var _downColor:uint = 0x808080;
-    public function get downColor():uint
-    {
-        return _downColor;
-    }
-    public function set downColor(value:uint):void
-    {
-        _downColor = value;
-    }
-    
-    protected var useColor:uint = backgroundColor;
-    
     private var _data:Object;
     
     [Bindable("__NoChangeEvent__")]
diff --git a/frameworks/projects/SparkRoyale/src/main/resources/defaults.css 
b/frameworks/projects/SparkRoyale/src/main/resources/defaults.css
index c774246..da22d96 100644
--- a/frameworks/projects/SparkRoyale/src/main/resources/defaults.css
+++ b/frameworks/projects/SparkRoyale/src/main/resources/defaults.css
@@ -72,8 +72,10 @@ DataGroup
        IBeadView:  
ClassReference("org.apache.royale.html.beads.VirtualListView");                 
    
        IBeadController: 
ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController");
        IBeadLayout: 
ClassReference("org.apache.royale.html.beads.layouts.VirtualListVerticalLayout");
-       IItemRendererClassFactory: 
ClassReference("org.apache.royale.core.ItemRendererClassFactory");
+       IItemRendererClassFactory: 
ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory");
        IItemRenderer: 
ClassReference("mx.controls.listClasses.ListItemRenderer");
+       IItemRendererInitializer: 
ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer");
+       ISelectableItemRenderer: 
ClassReference("org.apache.royale.html.beads.SolidBackgroundSelectableItemRendererBead");
        IViewport: 
ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport");
        IViewportModel: 
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
 }
@@ -85,8 +87,10 @@ NonVirtualHDataGroup
        IBeadView:  
ClassReference("org.apache.royale.html.beads.DataContainerView");               
    
        IBeadController: 
ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController");
        IBeadLayout: ClassReference("spark.layouts.HorizontalLayout");
-       IItemRendererClassFactory: 
ClassReference("org.apache.royale.core.ItemRendererClassFactory");
+       IItemRendererClassFactory: 
ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory");
        IItemRenderer: 
ClassReference("spark.components.supportClasses.SparkTextButtonItemRenderer");
+       IItemRendererInitializer: 
ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer");
+       ISelectableItemRenderer: 
ClassReference("org.apache.royale.html.beads.SolidBackgroundSelectableItemRendererBead");
        IViewport: 
ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport");
        IViewportModel: 
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
 }
@@ -98,7 +102,9 @@ NonVirtualVDataGroup
        IBeadView:  
ClassReference("org.apache.royale.html.beads.DataContainerView");               
    
        IBeadController: 
ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController");
        IBeadLayout: 
ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout");
-       IItemRendererClassFactory: 
ClassReference("org.apache.royale.core.ItemRendererClassFactory");
+       IItemRendererClassFactory: 
ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory");
+       IItemRendererInitializer: 
ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer");
+       ISelectableItemRenderer: 
ClassReference("org.apache.royale.html.beads.SolidBackgroundSelectableItemRendererBead");
        IItemRenderer: 
ClassReference("mx.controls.listClasses.ListItemRenderer");
        IViewport: 
ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport");
        IViewportModel: 
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
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 87b4aac..a42b436 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
@@ -389,10 +389,10 @@ public class ItemRenderer extends DataRenderer implements 
IItemRenderer
     /**
      *  @private
      *  storage for the index property 
-     */    
     private var _index:int;
+     */    
     
-    [Bindable("itemIndexChanged")]
+    //[Bindable("itemIndexChanged")]
     
     /**
      *  @inheritDoc 
@@ -403,15 +403,14 @@ public class ItemRenderer extends DataRenderer implements 
IItemRenderer
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
      *  @productversion Royale 0.9.4
-     */    
     public function get index():int
     {
         return _index;
     }
+     */    
     
     /**
      *  @private
-     */    
     public function set index(value:int):void
     {
         if (value == _index)
@@ -419,7 +418,6 @@ public class ItemRenderer extends DataRenderer implements 
IItemRenderer
         
         _index = value;
 
-        /*
         if (autoDrawBackground)
         {
             redrawRequested = true;
@@ -427,8 +425,8 @@ public class ItemRenderer extends DataRenderer implements 
IItemRenderer
         }
         
         dispatchEvent(new Event("itemIndexChanged"));
-        */
     }
+        */
     
     //----------------------------------
     //  labelDisplay

Reply via email to