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 6c5488b63223830b91472b772070e3dd9f5ac828 Author: Alex Harui <[email protected]> AuthorDate: Fri Feb 7 23:16:39 2020 -0800 drop itemRendererOwner as a requirement for IItemRenderer and get ListExample to work --- .../ListExample/src/main/royale/MyInitialView.mxml | 7 +- .../main/royale/simple/IRFactoryForArrayData.as | 178 --------------------- .../projects/Basic/src/main/resources/defaults.css | 40 ++++- .../html/beads/DataItemRendererFactoryBase.as | 134 +--------------- .../beads/DataItemRendererFactoryForArrayList.as | 14 +- .../DataItemRendererFactoryForCollectionView.as | 4 +- .../DynamicAddItemRendererForArrayListData.as | 10 +- .../DynamicItemsRendererFactoryForArrayListData.as | 16 +- .../DynamicRemoveItemRendererForArrayListData.as | 98 ++---------- .../DynamicUpdateItemRendererForArrayListData.as | 107 ++----------- ...erFactoryBase.as => ItemRendererFactoryBase.as} | 38 +---- .../html/beads/ListItemRendererInitializer.as | 10 +- .../org/apache/royale/html/beads/ListView.as | 77 ++++++--- .../beads/TextItemRendererFactoryForArrayData.as | 1 - .../html/beads/TreeItemRendererInitializer.as | 4 +- .../VirtualDataItemRendererFactoryForArrayData.as | 2 +- .../apache/royale/html/beads/VirtualListView.as | 21 ++- .../html/supportClasses/TextButtonItemRenderer.as | 125 --------------- .../html/supportClasses/UIItemRendererBase.as | 11 -- .../charts/beads/ChartItemRendererFactory.as | 1 - .../beads/DataItemRendererFactoryForSeriesData.as | 8 +- .../layouts/LineChartCategoryVsLinearLayout.as | 1 - .../beads/layouts/LineChartLinearVsLinearLayout.as | 1 - .../org/apache/royale/collections/IArrayList.as | 2 +- .../projects/Core/src/main/royale/CoreClasses.as | 2 + .../royale/core/IIndexedItemRendererInitializer.as | 2 +- .../royale/org/apache/royale/core/IItemRenderer.as | 13 -- .../apache/royale/core/IItemRendererInitializer.as | 2 +- .../apache/royale/core/ItemRendererClassFactory.as | 2 +- ...Initializer.as => ItemRendererOwnerViewBead.as} | 34 ++-- .../core/SelectableItemRendererClassFactory.as | 88 ++++++++++ .../html/beads/SelectableItemRendererBeadBase.as | 5 +- .../royale/html/beads/ButtonBarReorderBead.as | 4 +- .../beads/DragDropListItemRendererInitializer.as} | 64 +++----- .../html/beads/SingleSelectionDragSourceBead.as | 4 +- .../html/beads/SingleSelectionDropTargetBead.as | 4 +- ...actoryForICollectionViewAdvancedDataGridData.as | 2 +- ...ataItemRendererFactoryForICollectionViewData.as | 2 +- .../VirtualDataItemRendererFactoryForIListData.as | 2 +- .../mdl/beads/TabsItemRendererInitializer.as | 7 +- 40 files changed, 337 insertions(+), 810 deletions(-) diff --git a/examples/royale/ListExample/src/main/royale/MyInitialView.mxml b/examples/royale/ListExample/src/main/royale/MyInitialView.mxml index 3f035cb..4dd9480 100644 --- a/examples/royale/ListExample/src/main/royale/MyInitialView.mxml +++ b/examples/royale/ListExample/src/main/royale/MyInitialView.mxml @@ -32,9 +32,9 @@ limitations under the License. IBeadView: ClassReference("simple.GenericListView"); IBeadModel: ClassReference("org.apache.royale.html.beads.models.SingleSelectionCollectionViewModel"); IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout"); - IDataProviderItemRendererMapper: ClassReference("simple.IRFactoryForArrayData"); - IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); + IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer"); + ISelectableItemRenderer: ClassReference("org.apache.royale.html.beads.SolidBackgroundSelectableItemRendererBead"); IBeadController: ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController"); IViewport: ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport"); IViewportModel: ClassReference("org.apache.royale.html.beads.models.ViewportModel"); @@ -116,6 +116,9 @@ limitations under the License. <js:beads> <js:ArrayListSelectionModel/> <js:DataItemRendererFactoryForArrayList/> + <js:DynamicAddItemRendererForArrayListData/> + <js:DynamicRemoveItemRendererForArrayListData/> + <js:DynamicUpdateItemRendererForArrayListData/> <js:ConstantBinding sourceID="applicationModel" sourcePropertyName="states" diff --git a/examples/royale/ListExample/src/main/royale/simple/IRFactoryForArrayData.as b/examples/royale/ListExample/src/main/royale/simple/IRFactoryForArrayData.as deleted file mode 100644 index f5418eb..0000000 --- a/examples/royale/ListExample/src/main/royale/simple/IRFactoryForArrayData.as +++ /dev/null @@ -1,178 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package simple -{ - import org.apache.royale.core.IBead; - import org.apache.royale.core.IDataProviderItemRendererMapper; - import org.apache.royale.core.IItemRendererClassFactory; - import org.apache.royale.core.IItemRendererParent; - import org.apache.royale.core.IListPresentationModel; - import org.apache.royale.core.ISelectableItemRenderer; - import org.apache.royale.core.ISelectionModel; - import org.apache.royale.core.IStrand; - import org.apache.royale.core.IUIBase; - import org.apache.royale.core.SimpleCSSStyles; - import org.apache.royale.core.UIBase; - import org.apache.royale.core.ValuesManager; - import org.apache.royale.events.Event; - import org.apache.royale.events.EventDispatcher; - import org.apache.royale.events.IEventDispatcher; - import org.apache.royale.events.ItemRendererEvent; - import org.apache.royale.html.beads.IListView; - - [Event(name="itemRendererCreated",type="org.apache.royale.events.ItemRendererEvent")] - - /** - * The IRFactoryForArrayData class reads an - * array of data and creates an item renderer for every - * item in the array. Other implementations of - * IDataProviderItemRendererMapper map different data - * structures or manage a virtual set of renderers. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.0 - */ - public class IRFactoryForArrayData extends EventDispatcher implements IBead, IDataProviderItemRendererMapper - { - /** - * Constructor. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.0 - */ - public function IRFactoryForArrayData(target:Object=null) - { - super(target); - } - - private var selectionModel:ISelectionModel; - - private var _strand:IStrand; - - /** - * @copy org.apache.royale.core.IBead#strand - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.0 - */ - public function set strand(value:IStrand):void - { - _strand = value; - IEventDispatcher(value).addEventListener("beadsAdded",finishSetup); - IEventDispatcher(value).addEventListener("initComplete",finishSetup); - } - - private function finishSetup(event:Event):void - { - selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel; - var listView:IListView = _strand.getBeadByType(IListView) as IListView; - dataGroup = listView.dataGroup; - selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler); - - if (!itemRendererFactory) - { - _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory; - _strand.addBead(_itemRendererFactory); - } - - dataProviderChangeHandler(null); - } - - private var _itemRendererFactory:IItemRendererClassFactory; - - /** - * The org.apache.royale.core.IItemRendererClassFactory used - * to generate instances of item renderers. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.0 - */ - public function get itemRendererFactory():IItemRendererClassFactory - { - return _itemRendererFactory; - } - - /** - * @private - */ - public function set itemRendererFactory(value:IItemRendererClassFactory):void - { - _itemRendererFactory = value; - } - - /** - * The org.apache.royale.core.IItemRendererParent that will - * parent the item renderers. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.0 - */ - protected var dataGroup:IItemRendererParent; - - private function dataProviderChangeHandler(event:Event):void - { - var dp:Array = selectionModel.dataProvider as Array; - if (!dp) - return; - - dataGroup.removeAllItemRenderers(); - - var listView:IListView = _strand.getBeadByType(IListView) as IListView; - var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel; - - // This needs to be re-thought. There should be a better way to move the - // properties from the component to the renderers. At least a new interface - // should be created. - var list:GenericList = _strand as GenericList; - - var n:int = dp.length; - for (var i:int = 0; i < n; i++) - { - var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer; - dataGroup.addItemRenderer(ir, false); - ir.index = i; - ir.labelField = list.labelField; - if (presentationModel) { - var style:SimpleCSSStyles = new SimpleCSSStyles(); - style.marginBottom = presentationModel.separatorThickness; - UIBase(ir).style = style; - UIBase(ir).height = presentationModel.rowHeight; - UIBase(ir).percentWidth = 100; - } - ir.data = dp[i]; - - var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED); - newEvent.itemRenderer = ir; - dispatchEvent(newEvent); - } - - IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated")); - } - } -} diff --git a/frameworks/projects/Basic/src/main/resources/defaults.css b/frameworks/projects/Basic/src/main/resources/defaults.css index ae835f4..13c5d50 100644 --- a/frameworks/projects/Basic/src/main/resources/defaults.css +++ b/frameworks/projects/Basic/src/main/resources/defaults.css @@ -55,6 +55,7 @@ ButtonBar IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.ButtonBarLayout"); IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.TextItemRendererFactoryForArrayData"); IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.TextButtonItemRenderer"); border-style: none; @@ -83,8 +84,10 @@ ComboBoxList IBeadController: ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController"); IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout"); IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.TextItemRendererFactoryForArrayData"); - IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); + IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer"); + 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"); border-style: solid; @@ -121,6 +124,7 @@ DataContainer IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout"); IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForArrayData"); IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer"); IViewport: ClassReference("org.apache.royale.html.supportClasses.Viewport"); IViewportModel: ClassReference("org.apache.royale.html.beads.models.ViewportModel"); @@ -152,6 +156,7 @@ DataGridButtonBar IBeadController: ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController"); IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.ButtonBarLayout"); IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.TextItemRendererFactoryForArrayData"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer"); IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.TextButtonItemRenderer"); @@ -167,8 +172,10 @@ DataGridColumnList { IBeadController: ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController"); IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout"); IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForArrayData"); - IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); + IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer"); + ISelectableItemRenderer: ClassReference("org.apache.royale.html.beads.SolidBackgroundSelectableItemRendererBead"); IViewport: ClassReference("org.apache.royale.html.supportClasses.Viewport"); IViewportModel: ClassReference("org.apache.royale.html.beads.models.ViewportModel"); border-style: none; @@ -201,8 +208,10 @@ DynamicDataGridColumnList { IBeadController: ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController"); IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout"); IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView"); - IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); + IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer"); + ISelectableItemRenderer: ClassReference("org.apache.royale.html.beads.SolidBackgroundSelectableItemRendererBead"); IViewport: ClassReference("org.apache.royale.html.supportClasses.Viewport"); IViewportModel: ClassReference("org.apache.royale.html.beads.models.ViewportModel"); border-style: none; @@ -232,8 +241,10 @@ DateFieldDateChooser { DateChooserList { IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForArrayData"); - IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); + IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.DateItemRenderer"); + ISelectableItemRenderer: ClassReference("org.apache.royale.html.beads.SolidBackgroundSelectableItemRendererBead"); border-style: solid; border-color: #000000; border-width: 1px; @@ -397,7 +408,9 @@ MultiSelectionList IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout"); IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForArrayData"); IItemRendererClassFactory: ClassReference("org.apache.royale.html.beads.MultiSelectionItemRendererClassFactory"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer"); + 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"); } @@ -409,8 +422,10 @@ List IBeadController: ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController"); IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout"); IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForArrayData"); - IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); + IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer"); + 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"); } @@ -422,8 +437,10 @@ DynamicList IBeadController: ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController"); IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout"); IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView"); - IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); + IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer"); + 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"); border-style: solid; @@ -533,7 +550,9 @@ MultiSelectionTree IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout"); IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForHierarchicalData"); IItemRendererClassFactory: ClassReference("org.apache.royale.html.beads.MultiSelectionItemRendererClassFactory"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.TreeItemRendererInitializer"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.TreeItemRenderer"); + 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"); } @@ -545,8 +564,10 @@ Tree IBeadController: ClassReference("org.apache.royale.html.beads.controllers.TreeSingleSelectionMouseController"); IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout"); IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForHierarchicalData"); - IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); + IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.TreeItemRendererInitializer"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.TreeItemRenderer"); + 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"); border: 1px solid #222222; @@ -612,8 +633,10 @@ SimpleList IBeadController: ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController"); IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout"); IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.TextItemRendererFactoryForArrayData"); - IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); + IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer"); + 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"); } @@ -626,6 +649,7 @@ ColorPalette IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.TileLayout"); IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForArrayData"); IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); + IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListItemRendererInitializer"); IItemRenderer: ClassReference("org.apache.royale.html.supportClasses.ColorItemRenderer"); IViewport: ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport"); IViewportModel: ClassReference("org.apache.royale.html.beads.models.ViewportModel"); diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryBase.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryBase.as index 047c022..e556606 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryBase.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryBase.as @@ -22,11 +22,11 @@ package org.apache.royale.html.beads import org.apache.royale.core.IChild; import org.apache.royale.core.IDataProviderItemRendererMapper; import org.apache.royale.core.IDataProviderModel; - import org.apache.royale.core.IItemRendererInitializer; - import org.apache.royale.core.IIndexedItemRendererInitializer; - import org.apache.royale.core.IItemRenderer; - import org.apache.royale.core.IIndexedItemRenderer; + import org.apache.royale.core.IIndexedItemRenderer; + import org.apache.royale.core.IIndexedItemRendererInitializer; + import org.apache.royale.core.IItemRenderer; import org.apache.royale.core.IItemRendererClassFactory; + import org.apache.royale.core.IItemRendererInitializer; import org.apache.royale.core.IItemRendererOwnerView; import org.apache.royale.core.ILayoutHost; import org.apache.royale.core.IListPresentationModel; @@ -57,7 +57,7 @@ package org.apache.royale.html.beads * @playerversion AIR 2.6 * @productversion Royale 0.8 */ - public class DataItemRendererFactoryBase extends EventDispatcher implements IBead, IDataProviderItemRendererMapper + public class DataItemRendererFactoryBase extends ItemRendererFactoryBase implements IDataProviderItemRendererMapper { /** * Constructor. @@ -71,110 +71,7 @@ package org.apache.royale.html.beads { super(target); } - - protected var dataProviderModel:IDataProviderModel; - //protected var dataFieldProvider:DataFieldProviderBead; - - protected var _strand:IStrand; - - /** - * @copy org.apache.royale.core.IBead#strand - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.8 - * @royaleignorecoercion org.apache.royale.events.IEventDispatcher - */ - public function set strand(value:IStrand):void - { - _strand = value; - IEventDispatcher(value).addEventListener("initComplete", finishSetup); - } - - /** - * @private - * @royaleignorecoercion org.apache.royale.core.IDataProviderModel - * @royaleignorecoercion org.apache.royale.core.IItemRendererClassFactory - * @royaleignorecoercion org.apache.royale.html.beads.DataFieldProviderBead - */ - protected function finishSetup(event:Event):void - { - dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel; - dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler); - - /* - dataFieldProvider = _strand.getBeadByType(DataFieldProviderBead) as DataFieldProviderBead; - if (dataFieldProvider) - { - dataField = dataFieldProvider.dataField; - } - */ - - // if the host component inherits from DataContainerBase, the itemRendererClassFactory will - // already have been loaded by DataContainerBase.addedToParent function. - if(!_itemRendererFactory) - _itemRendererFactory = loadBeadFromValuesManager(IItemRendererClassFactory, "iItemRendererClassFactory", _strand) as IItemRendererClassFactory; - - dataProviderChangeHandler(null); - } - - private var _itemRendererFactory:IItemRendererClassFactory; - - /** - * The org.apache.royale.core.IItemRendererClassFactory used - * to generate instances of item renderers. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.8 - * @royaleignorecoercion org.apache.royale.core.IItemRendererClassFactory - */ - public function get itemRendererFactory():IItemRendererClassFactory - { - if(!_itemRendererFactory) - _itemRendererFactory = loadBeadFromValuesManager(IItemRendererClassFactory, "iItemRendererClassFactory", _strand) as IItemRendererClassFactory; - - return _itemRendererFactory; - } - - /** - * @private - */ - public function set itemRendererFactory(value:IItemRendererClassFactory):void - { - _itemRendererFactory = value; - } - - private var _itemRendererInitializer:IItemRendererInitializer; - - /** - * The org.apache.royale.core.IItemRendererInitializer used - * to initialize instances of item renderers. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.8 - * @royaleignorecoercion org.apache.royale.core.IItemRendererInitializer - */ - public function get itemRendererInitializer():IItemRendererInitializer - { - if(!_itemRendererInitializer) - _itemRendererInitializer = loadBeadFromValuesManager(IItemRendererInitializer, "iItemRendererInitializer", _strand) as IItemRendererInitializer; - - return _itemRendererInitializer; - } - - /** - * @private - */ - public function set itemRendererInitializer(value:IItemRendererInitializer):void - { - _itemRendererInitializer = value; - } - + /** * This Factory deletes all renderers, and generates a renderer * for every data provider item. @@ -194,7 +91,7 @@ package org.apache.royale.html.beads * @royaleignorecoercion org.apache.royale.html.supportClasses.DataItemRenderer * @royaleignorecoercion org.apache.royale.events.IEventDispatcher */ - protected function dataProviderChangeHandler(event:Event):void + override protected function dataProviderChangeHandler(event:Event):void { var dp:Object = dataProviderModel.dataProvider; if (!dp) @@ -213,27 +110,12 @@ package org.apache.royale.html.beads dataGroup.addItemRenderer(ir, false); var data:Object = getItemAt(i); - (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir as IIndexedItemRenderer, data, dataGroup, i); + (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir as IIndexedItemRenderer, data, i); ir.data = data; } sendStrandEvent(_strand,"itemsCreated"); } - protected function removeAllItemRenderers(dataGroup:IItemRendererOwnerView):void - { - dataGroup.removeAllItemRenderers(); - } - - protected function get dataProviderLength():int - { - return 0; - } - - protected function getItemAt(i:int):Object - { - return null; - } - } } diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForArrayList.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForArrayList.as index da74ec5..42a2632 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForArrayList.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForArrayList.as @@ -68,6 +68,8 @@ package org.apache.royale.html.beads super(target); } + private var dp:IArrayList; + /** * @private * @royaleignorecoercion org.apache.royale.core.IStrandWithModelView @@ -75,11 +77,21 @@ package org.apache.royale.html.beads */ override protected function dataProviderChangeHandler(event:Event):void { - var dp:IArrayList = dataProviderModel.dataProvider as IArrayList; + dp = dataProviderModel.dataProvider as IArrayList; if (!dp) return; super.dataProviderChangeHandler(event); } + + override protected function get dataProviderLength():int + { + return dp.length; + } + + override protected function getItemAt(i:int):Object + { + return dp.getItemAt(i); + } } } 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 29d7d53..4e0d7b3 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 @@ -99,7 +99,7 @@ package org.apache.royale.html.beads var ir:IIndexedItemRenderer = itemRendererFactory.createItemRenderer() as IIndexedItemRenderer; var data:Object = event.item; - (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, dataGroup, event.index); + (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, event.index); ir.data = data; // update the index values in the itemRenderers to correspond to their shifted positions. @@ -179,7 +179,7 @@ package org.apache.royale.html.beads var ir:IIndexedItemRenderer = dataGroup.getItemRendererAt(event.index) as IIndexedItemRenderer; var data:Object = event.item; - (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, dataGroup, event.index); + (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, event.index); ir.data = data; } diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicAddItemRendererForArrayListData.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicAddItemRendererForArrayListData.as index 8d5d1ad..3f5edcc 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicAddItemRendererForArrayListData.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicAddItemRendererForArrayListData.as @@ -18,6 +18,7 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.royale.html.beads { + import org.apache.royale.collections.IArrayList; import org.apache.royale.core.IBead; import org.apache.royale.core.IDataProviderModel; import org.apache.royale.core.IIndexedItemRenderer; @@ -46,7 +47,7 @@ package org.apache.royale.html.beads * @playerversion AIR 2.6 * @productversion Royale 0.9.0 */ - public class DynamicAddItemRendererForArrayListData extends DataItemRendererFactoryBase + public class DynamicAddItemRendererForArrayListData extends ItemRendererFactoryBase { /** * Constructor @@ -60,19 +61,20 @@ package org.apache.royale.html.beads { } + private var dp:IArrayList; + /** * @private * @royaleemitcoercion org.apache.royale.events.IEventDispatcher */ override protected function dataProviderChangeHandler(event:Event):void { - var dp:IEventDispatcher = dataProviderModel.dataProvider as IEventDispatcher; + dp = dataProviderModel.dataProvider as IArrayList; if (!dp) return; // listen for individual items being added in the future. dp.addEventListener(CollectionEvent.ITEM_ADDED, handleItemAdded); - super.dataProviderChangeHandler(event); } /** @@ -97,7 +99,7 @@ package org.apache.royale.html.beads // update the index values in the itemRenderers to correspond to their shifted positions. dataGroup.addItemRenderer(ir, false); var data:Object = event.item; - (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, dataGroup, event.index); + (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, event.index); ir.data = data; // update the index values in the itemRenderers to correspond to their shifted positions. 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 4122876..c6bebbf 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 @@ -59,6 +59,8 @@ package org.apache.royale.html.beads super(target); } + private var dp:IArrayList; + /** * @private * @royaleignorecoercion org.apache.royale.core.IListPresentationModel @@ -66,7 +68,7 @@ package org.apache.royale.html.beads */ override protected function dataProviderChangeHandler(event:Event):void { - var dp:IArrayList = dataProviderModel.dataProvider as IArrayList; + dp = dataProviderModel.dataProvider as IArrayList; if (!dp) return; @@ -93,7 +95,7 @@ package org.apache.royale.html.beads var ir:IIndexedItemRenderer = itemRendererFactory.createItemRenderer() as IIndexedItemRenderer; dataGroup.addItemRenderer(ir, false); var data:Object = event.item; - (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, dataGroup, event.index); + (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, event.index); ir.data = data; // update the index values in the itemRenderers to correspond to their shifted positions. @@ -107,5 +109,15 @@ package org.apache.royale.html.beads sendStrandEvent(_strand,"itemsCreated"); sendStrandEvent(_strand,"layoutNeeded"); } + + override protected function get dataProviderLength():int + { + return dp.length; + } + + override protected function getItemAt(i:int):Object + { + return dp.getItemAt(i); + } } } diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicRemoveItemRendererForArrayListData.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicRemoveItemRendererForArrayListData.as index 5cce251..0ead9d1 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicRemoveItemRendererForArrayListData.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicRemoveItemRendererForArrayListData.as @@ -20,8 +20,9 @@ package org.apache.royale.html.beads { import org.apache.royale.core.IBead; import org.apache.royale.core.IDataProviderModel; - import org.apache.royale.core.IItemRendererOwnerView; import org.apache.royale.core.IIndexedItemRenderer; + import org.apache.royale.core.IItemRendererOwnerView; + import org.apache.royale.core.IParent; import org.apache.royale.core.ISelectionModel; import org.apache.royale.core.IStrand; import org.apache.royale.core.IStrandWithModelView; @@ -29,7 +30,6 @@ package org.apache.royale.html.beads import org.apache.royale.events.Event; import org.apache.royale.events.IEventDispatcher; import org.apache.royale.html.beads.IListView; - import org.apache.royale.core.IParent; /** * Handles the removal of an itemRenderer once the corresponding datum has been removed @@ -40,7 +40,7 @@ package org.apache.royale.html.beads * @playerversion AIR 2.6 * @productversion Royale 0.9.0 */ - public class DynamicRemoveItemRendererForArrayListData implements IBead + public class DynamicRemoveItemRendererForArrayListData extends ItemRendererFactoryBase { /** * Constructor @@ -54,49 +54,12 @@ package org.apache.royale.html.beads { } - private var _strand:IStrand; - - /** - * @copy org.apache.royale.core.IStrand - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.0 - * @royaleignorecoercion org.apache.royale.events.IEventDispatcher - */ - public function set strand(value:IStrand):void - { - _strand = value; - IEventDispatcher(value).addEventListener("initComplete", initComplete); - } - - /** - * finish setup - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.8 - * @royaleignorecoercion org.apache.royale.core.ISelectionModel - * @royaleignorecoercion org.apache.royale.events.IEventDispatcher - */ - protected function initComplete(event:Event):void - { - IEventDispatcher(_strand).removeEventListener("initComplete", initComplete); - - _dataProviderModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel; - dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler); - - // invoke now in case "dataProviderChanged" has already been dispatched. - dataProviderChangeHandler(null); - } /** * @private * @royaleemitcoercion org.apache.royale.events.IEventDispatcher */ - protected function dataProviderChangeHandler(event:Event):void + override protected function dataProviderChangeHandler(event:Event):void { var dp:IEventDispatcher = dataProviderModel.dataProvider as IEventDispatcher; if (!dp) @@ -119,61 +82,20 @@ package org.apache.royale.html.beads */ protected function handleItemRemoved(event:CollectionEvent):void { - var parent:IParent = itemRendererOwnerView as IParent; - var ir:IIndexedItemRenderer = parent.getElementAt(event.index) as IIndexedItemRenderer; - itemRendererOwnerView.removeItemRenderer(ir); + var view:IListView = (_strand as IStrandWithModelView).view as IListView; + var dataGroup:IItemRendererOwnerView = view.dataGroup; + var ir:IIndexedItemRenderer = dataGroup.getItemRendererForIndex(event.index) as IIndexedItemRenderer; + dataGroup.removeItemRenderer(ir); // adjust the itemRenderers' index to adjust for the shift - var n:int = parent.numElements; + var n:int = dataGroup.numItemRenderers; for (var i:int = event.index; i < n; i++) { - ir = parent.getElementAt(i) as IIndexedItemRenderer; + ir = dataGroup.getItemRendererForIndex(i) as IIndexedItemRenderer; ir.index = i; } (_strand as IEventDispatcher).dispatchEvent(new Event("layoutNeeded")); } - - private var _dataProviderModel: IDataProviderModel; - - /** - * The org.apache.royale.core.IDataProviderModel that contains the - * data source. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.0 - * @royaleignorecoercion org.apache.royale.core.IDataProviderModel - */ - public function get dataProviderModel(): IDataProviderModel - { - if (_dataProviderModel == null && _strand != null) { - _dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel; - } - return _dataProviderModel; - } - - private var _itemRendererOwnerView: IItemRendererOwnerView; - - /** - * The org.apache.royale.core.IItemRendererOwnerView used - * to generate instances of item renderers. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.0 - * @royaleignorecoercion org.apache.royale.core.IStrandWithModelView - * @royaleignorecoercion org.apache.royale.html.beads.IListView - */ - public function get itemRendererOwnerView():IItemRendererOwnerView - { - if (_itemRendererOwnerView == null) { - var view:IListView = (_strand as IStrandWithModelView).view as IListView; - _itemRendererOwnerView = view.dataGroup; - } - return _itemRendererOwnerView; - } } } diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicUpdateItemRendererForArrayListData.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicUpdateItemRendererForArrayListData.as index aae14ff..b8b3bac 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicUpdateItemRendererForArrayListData.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicUpdateItemRendererForArrayListData.as @@ -20,8 +20,9 @@ package org.apache.royale.html.beads { import org.apache.royale.core.IBead; import org.apache.royale.core.IDataProviderModel; - import org.apache.royale.core.IItemRendererOwnerView; import org.apache.royale.core.IIndexedItemRenderer; + import org.apache.royale.core.IIndexedItemRendererInitializer; + import org.apache.royale.core.IItemRendererOwnerView; import org.apache.royale.core.ISelectionModel; import org.apache.royale.core.IStrand; import org.apache.royale.core.IStrandWithModelView; @@ -39,7 +40,7 @@ package org.apache.royale.html.beads * @playerversion AIR 2.6 * @productversion Royale 0.9.0 */ - public class DynamicUpdateItemRendererForArrayListData implements IBead + public class DynamicUpdateItemRendererForArrayListData extends ItemRendererFactoryBase { /** * Constructor @@ -52,57 +53,18 @@ package org.apache.royale.html.beads public function DynamicUpdateItemRendererForArrayListData() { } - - protected var _strand:IStrand; - - protected var labelField:String; - - /** - * @copy org.apache.royale.core.IStrand - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.0 - */ - public function set strand(value:IStrand):void - { - _strand = value; - IEventDispatcher(value).addEventListener("initComplete", initComplete); - } - - /** - * finish setup - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.8 - */ - protected function initComplete(event:Event):void - { - IEventDispatcher(_strand).removeEventListener("initComplete", initComplete); - - _dataProviderModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel; - labelField = _dataProviderModel.labelField; - - dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler); - - // invoke now in case "dataProviderChanged" has already been dispatched. - dataProviderChangeHandler(null); - } /** * @private */ - protected function dataProviderChangeHandler(event:Event):void + override protected function dataProviderChangeHandler(event:Event):void { var dp:IEventDispatcher = dataProviderModel.dataProvider as IEventDispatcher; if (!dp) return; // listen for individual items being added in the future. - dp.addEventListener(CollectionEvent.ITEM_UPDATED, handleItemAdded); + dp.addEventListener(CollectionEvent.ITEM_UPDATED, handleItemUpdated); } /** @@ -113,63 +75,18 @@ package org.apache.royale.html.beads * @playerversion AIR 2.6 * @productversion Royale 0.9.0 */ - protected function handleItemAdded(event:CollectionEvent):void + protected function handleItemUpdated(event:CollectionEvent):void { - var ir:IIndexedItemRenderer = itemRendererOwnerView.getItemRendererForIndex(event.index) as IIndexedItemRenderer; + var view:IListView = (_strand as IStrandWithModelView).view as IListView; + var dataGroup:IItemRendererOwnerView = view.dataGroup; + var ir:IIndexedItemRenderer = dataGroup.getItemRendererForIndex(event.index) as IIndexedItemRenderer; - setData(ir, event.item, event.index); + var data:Object = event.item; + (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, event.index); + ir.data = data; (_strand as IEventDispatcher).dispatchEvent(new Event("layoutNeeded")); } - private var _dataProviderModel: IDataProviderModel; - - /** - * The org.apache.royale.core.IDataProviderModel that contains the - * data source. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.0 - */ - public function get dataProviderModel(): IDataProviderModel - { - if (_dataProviderModel == null && _strand != null) { - _dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel; - } - return _dataProviderModel; - } - - private var _itemRendererOwnerView: IItemRendererOwnerView; - - /** - * The org.apache.royale.core.IItemRendererOwnerView used - * to generate instances of item renderers. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.0 - * @royaleignorecoercion org.apache.royale.core.IStrandWithModelView - * @royaleignorecoercion org.apache.royale.html.beads.IListView - */ - public function get itemRendererOwnerView():IItemRendererOwnerView - { - if (_itemRendererOwnerView == null) { - var view:IListView = (_strand as IStrandWithModelView).view as IListView; - _itemRendererOwnerView = view.dataGroup; - } - return _itemRendererOwnerView; - } - - /** - * @private - */ - protected function setData(itemRenderer:IIndexedItemRenderer, data:Object, index:int):void - { - itemRenderer.index = index; - itemRenderer.data = data; - } } } diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryBase.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ItemRendererFactoryBase.as similarity index 85% copy from frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryBase.as copy to frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ItemRendererFactoryBase.as index 047c022..ee4afd0 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryBase.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ItemRendererFactoryBase.as @@ -57,7 +57,7 @@ package org.apache.royale.html.beads * @playerversion AIR 2.6 * @productversion Royale 0.8 */ - public class DataItemRendererFactoryBase extends EventDispatcher implements IBead, IDataProviderItemRendererMapper + public class ItemRendererFactoryBase extends EventDispatcher implements IBead { /** * Constructor. @@ -67,7 +67,7 @@ package org.apache.royale.html.beads * @playerversion AIR 2.6 * @productversion Royale 0.8 */ - public function DataItemRendererFactoryBase(target:Object=null) + public function ItemRendererFactoryBase(target:Object=null) { super(target); } @@ -103,20 +103,12 @@ package org.apache.royale.html.beads dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel; dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler); - /* - dataFieldProvider = _strand.getBeadByType(DataFieldProviderBead) as DataFieldProviderBead; - if (dataFieldProvider) - { - dataField = dataFieldProvider.dataField; - } - */ - // if the host component inherits from DataContainerBase, the itemRendererClassFactory will // already have been loaded by DataContainerBase.addedToParent function. if(!_itemRendererFactory) _itemRendererFactory = loadBeadFromValuesManager(IItemRendererClassFactory, "iItemRendererClassFactory", _strand) as IItemRendererClassFactory; - - dataProviderChangeHandler(null); + + dataProviderChangeHandler(null); } private var _itemRendererFactory:IItemRendererClassFactory; @@ -196,28 +188,6 @@ package org.apache.royale.html.beads */ protected function dataProviderChangeHandler(event:Event):void { - var dp:Object = dataProviderModel.dataProvider; - if (!dp) - return; - - var view:IListView = (_strand as IStrandWithModelView).view as IListView; - var dataGroup:IItemRendererOwnerView = view.dataGroup; - - removeAllItemRenderers(dataGroup); - - var n:int = dataProviderLength; - for (var i:int = 0; i < n; i++) - { - var ir:IItemRenderer = itemRendererFactory.createItemRenderer() as IItemRenderer; - //var dataItemRenderer:DataItemRenderer = ir as DataItemRenderer; - - dataGroup.addItemRenderer(ir, false); - var data:Object = getItemAt(i); - (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir as IIndexedItemRenderer, data, dataGroup, i); - ir.data = data; - } - - sendStrandEvent(_strand,"itemsCreated"); } protected function removeAllItemRenderers(dataGroup:IItemRendererOwnerView):void diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListItemRendererInitializer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListItemRendererInitializer.as index 6b52366..409df36 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListItemRendererInitializer.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListItemRendererInitializer.as @@ -28,6 +28,7 @@ package org.apache.royale.html.beads import org.apache.royale.core.ILabelFieldItemRenderer; import org.apache.royale.core.IListPresentationModel; import org.apache.royale.core.IStrand; + import org.apache.royale.core.IStrandWithPresentationModel; import org.apache.royale.core.IUIBase; import org.apache.royale.core.SimpleCSSStyles; import org.apache.royale.core.UIBase; @@ -72,7 +73,7 @@ package org.apache.royale.html.beads override public function set strand(value:IStrand):void { _strand = value; - var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel; + presentationModel = (_strand as IStrandWithPresentationModel).presentationModel as IListPresentationModel; dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel; labelField = dataProviderModel.labelField; } @@ -82,11 +83,10 @@ package org.apache.royale.html.beads * @royaleignorecoercion org.apache.royale.core.HTMLElementWrapper * @royaleignorecoercion org.apache.royale.core.IIndexedItemRenderer */ - public function initializeItemRenderer(ir:IItemRenderer, data:Object, ownerView:IItemRendererOwnerView):void + public function initializeItemRenderer(ir:IItemRenderer, data:Object):void { if (ir is ILabelFieldItemRenderer) (ir as ILabelFieldItemRenderer).labelField = labelField; - ir.itemRendererOwnerView = ownerView; setupVisualsForItemRenderer(ir as IIndexedItemRenderer); } @@ -95,10 +95,10 @@ package org.apache.royale.html.beads * @private * @royaleignorecoercion org.apache.royale.core.HTMLElementWrapper */ - public function initializeIndexedItemRenderer(ir:IIndexedItemRenderer, data:Object, ownerView:IItemRendererOwnerView, index:int):void + public function initializeIndexedItemRenderer(ir:IIndexedItemRenderer, data:Object, index:int):void { ir.index = index; - initializeItemRenderer(ir, data, ownerView); + initializeItemRenderer(ir, data); } protected function setupVisualsForItemRenderer(ir:IIndexedItemRenderer):void diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListView.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListView.as index 257e666..fdbae01 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListView.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListView.as @@ -84,12 +84,20 @@ package org.apache.royale.html.beads */ protected function selectionChangeHandler(event:Event):void { - var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastSelectedIndex) as ISelectableItemRenderer; - if(ir) - ir.selected = false; - ir = dataGroup.getItemRendererForIndex(listModel.selectedIndex) as ISelectableItemRenderer; - if(ir) - ir.selected = true; + var selectionBead:ISelectableItemRenderer; + var ir:IItemRenderer = dataGroup.getItemRendererForIndex(lastSelectedIndex) as IItemRenderer; + if (ir) + { + selectionBead = (ir as IStrand).getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer; + if (selectionBead) + selectionBead.selected = false; + } + ir = dataGroup.getItemRendererForIndex(listModel.selectedIndex) as IItemRenderer; + if (ir) { + selectionBead = (ir as IStrand).getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer; + if (selectionBead) + selectionBead.selected = true; + } lastSelectedIndex = listModel.selectedIndex; } @@ -103,12 +111,20 @@ package org.apache.royale.html.beads */ protected function rollOverIndexChangeHandler(event:Event):void { + var selectionBead:ISelectableItemRenderer; var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as ISelectableItemRenderer; - if(ir) - ir.hovered = false; + if (ir) + { + selectionBead = (ir as IStrand).getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer; + if (selectionBead) + selectionBead.hovered = false; + } ir = dataGroup.getItemRendererForIndex((listModel as IRollOverModel).rollOverIndex) as ISelectableItemRenderer; - if(ir) - ir.hovered = true; + if (ir) { + selectionBead = (ir as IStrand).getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer; + if (selectionBead) + selectionBead.hovered = true; + } lastRollOverIndex = (listModel as IRollOverModel).rollOverIndex; } } @@ -156,12 +172,20 @@ package org.apache.royale.html.beads */ protected function selectionChangeHandler(event:Event):void { - var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastSelectedIndex) as ISelectableItemRenderer; - if (ir) - ir.selected = false; - ir = dataGroup.getItemRendererForIndex(listModel.selectedIndex) as ISelectableItemRenderer; - if (ir) - ir.selected = true; + var selectionBead:ISelectableItemRenderer; + var ir:IItemRenderer = dataGroup.getItemRendererForIndex(lastSelectedIndex) as IItemRenderer; + if (ir) + { + selectionBead = (ir as IStrand).getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer; + if (selectionBead) + selectionBead.selected = false; + } + ir = dataGroup.getItemRendererForIndex(listModel.selectedIndex) as IItemRenderer; + if (ir) { + selectionBead = (ir as IStrand).getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer; + if (selectionBead) + selectionBead.selected = true; + } lastSelectedIndex = listModel.selectedIndex; } @@ -172,13 +196,20 @@ package org.apache.royale.html.beads */ protected function rollOverIndexChangeHandler(event:Event):void { - var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as ISelectableItemRenderer; - if(ir) - ir.hovered = false; - ir = dataGroup.getItemRendererForIndex(IRollOverModel(listModel).rollOverIndex) as ISelectableItemRenderer; - if(ir) - ir.hovered = true; - + var selectionBead:ISelectableItemRenderer; + var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as ISelectableItemRenderer; + if (ir) + { + selectionBead = (ir as IStrand).getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer; + if (selectionBead) + selectionBead.hovered = false; + } + ir = dataGroup.getItemRendererForIndex((listModel as IRollOverModel).rollOverIndex) as ISelectableItemRenderer; + if (ir) { + selectionBead = (ir as IStrand).getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer; + if (selectionBead) + selectionBead.hovered = true; + } lastRollOverIndex = IRollOverModel(listModel).rollOverIndex; } } 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 e85e89f..c2af070 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 @@ -157,7 +157,6 @@ package org.apache.royale.html.beads { var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer() as ITextItemRenderer; tf.index = i; - tf.itemRendererOwnerView = dataGroup; dataGroup.addItemRenderer(tf, false); if (selectionModel.labelField) { tf.labelField = selectionModel.labelField; diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TreeItemRendererInitializer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TreeItemRendererInitializer.as index 9cb81e0..4700f67 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TreeItemRendererInitializer.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TreeItemRendererInitializer.as @@ -60,12 +60,12 @@ package org.apache.royale.html.beads * @private * @royaleignorecoercion org.apache.royale.core.HTMLElementWrapper */ - override public function initializeIndexedItemRenderer(ir:IIndexedItemRenderer, data:Object, ownerView:IItemRendererOwnerView, index:int):void + override public function initializeIndexedItemRenderer(ir:IIndexedItemRenderer, data:Object, index:int):void { if (!dataProviderModel) return; - super.initializeItemRenderer(ir, data, ownerView, index); + super.initializeItemRenderer(ir, data, index); var treeData:TreeData = dataProviderModel.dataProvider as TreeData; var depth:int = treeData.getDepth(data); diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualDataItemRendererFactoryForArrayData.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualDataItemRendererFactoryForArrayData.as index 07bfe2e..91a9057 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualDataItemRendererFactoryForArrayData.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualDataItemRendererFactoryForArrayData.as @@ -244,7 +244,7 @@ package org.apache.royale.html.beads var dataGroup:IItemRendererOwnerView = view.dataGroup; dataGroup.addItemRendererAt(ir, elementIndex); var data:Object = getItemAt(index); - (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir as IIndexedItemRenderer, data, dataGroup, index); + (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir as IIndexedItemRenderer, data, index); rendererMap[index] = ir; ir.data = data; diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualListView.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualListView.as index 615326a..a9165dd 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualListView.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualListView.as @@ -24,7 +24,8 @@ package org.apache.royale.html.beads import org.apache.royale.core.IBeadLayout; import org.apache.royale.core.IBeadModel; import org.apache.royale.core.IBeadView; - import org.apache.royale.core.IIndexedItemRenderer; + import org.apache.royale.core.IDataProviderItemRendererMapper; + import org.apache.royale.core.IIndexedItemRenderer; import org.apache.royale.core.IItemRenderer; import org.apache.royale.core.IItemRendererOwnerView; import org.apache.royale.core.IParent; @@ -39,6 +40,7 @@ package org.apache.royale.html.beads import org.apache.royale.core.ValuesManager; import org.apache.royale.events.Event; import org.apache.royale.events.IEventDispatcher; + import org.apache.royale.events.ItemRendererEvent; import org.apache.royale.html.supportClasses.Border; import org.apache.royale.html.supportClasses.DataGroup; @@ -63,7 +65,7 @@ package org.apache.royale.html.beads protected var listModel:ISelectionModel; protected var lastSelectedIndex:int = -1; - + /** * @private */ @@ -72,10 +74,25 @@ package org.apache.royale.html.beads listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel; listModel.addEventListener("selectedIndexChanged", selectionChangeHandler); listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler); + var mapper:IEventDispatcher = _strand.getBeadByType(IDataProviderItemRendererMapper) as IEventDispatcher; + mapper.addEventListener(ItemRendererEvent.CREATED, itemCreatedHandler); super.handleInitComplete(event); } + protected function itemCreatedHandler(event:ItemRendererEvent):void + { + var selectionBead:ISelectableItemRenderer; + var ir:IIndexedItemRenderer = event.itemRenderer as IIndexedItemRenderer; + if (ir.index == lastSelectedIndex) + { + selectionBead = ir.getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer; + if (selectionBead) + selectionBead.selected = true; + } + + } + protected var firstElementIndex:int = 1; override public function getItemRendererForIndex(index:int):IItemRenderer diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextButtonItemRenderer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextButtonItemRenderer.as index e60600a..81df983 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextButtonItemRenderer.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextButtonItemRenderer.as @@ -108,28 +108,6 @@ package org.apache.royale.html.supportClasses * IItemRenderer, ISelectableItemRenderer */ - private var _itemRendererOwnerView:IItemRendererOwnerView; - - /** - * The view of the parent component of the itemRenderer. - * This is not always the container that directly parents the - * itemRenderers. A List may have an internal DataGroup that - * parents the itemRenderers, - * - * @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; - } - private var _labelField:String = null; /** @@ -191,108 +169,5 @@ package org.apache.royale.html.supportClasses { _index = value; } - - private var _selectable:Boolean = true; - /** - * <code>true</code> if the item renderer is can be selected - * false otherwise. Use to configure a renderer to be non - * selectable. - * - * Defaults to true - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.3 - */ - public function get selectable():Boolean - { - return _selectable; - } - - public function set selectable(value:Boolean):void - { - _selectable = value; - } - - private var _hoverable:Boolean = true; - /** - * <code>true</code> if the item renderer is can be hovered - * false otherwise. Use to configure a renderer to be non - * hoverable. - * - * Defaults to true - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.3 - */ - public function get hoverable():Boolean - { - return _hoverable; - } - - public function set hoverable(value:Boolean):void - { - _hoverable = value; - } - - private var _hovered:Boolean; - - /** - * Whether or not the itemRenderer is in a hovered state. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.8 - */ - public function get hovered():Boolean - { - return _hovered; - } - public function set hovered(value:Boolean):void - { - _hovered = value; - } - - private var _selected:Boolean; - - /** - * Whether or not the itemRenderer is in a selected state. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.8 - */ - public function get selected():Boolean - { - return _selected; - } - public function set selected(value:Boolean):void - { - _selected = value; - } - - private var _down:Boolean; - - /** - * Whether or not the itemRenderer is in a down (or pre-selected) state. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.8 - */ - public function get down():Boolean - { - return _down; - } - public function set down(value:Boolean):void - { - _down = value; - } } } diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/UIItemRendererBase.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/UIItemRendererBase.as index f01473f..e7defb7 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/UIItemRendererBase.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/UIItemRendererBase.as @@ -94,17 +94,6 @@ package org.apache.royale.html.supportClasses 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); - } } /** diff --git a/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/ChartItemRendererFactory.as b/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/ChartItemRendererFactory.as index c6b030e..b507b94 100644 --- a/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/ChartItemRendererFactory.as +++ b/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/ChartItemRendererFactory.as @@ -126,7 +126,6 @@ package org.apache.royale.charts.beads { var s:IChartSeries = series[i] as IChartSeries; var k:IChartItemRenderer = s.itemRenderer.newInstance() as IChartItemRenderer; - k.itemRendererOwnerView = dataGroup; k.xField = s.xField; k.yField = s.yField; //k.fillColor = s.fillColor; diff --git a/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/DataItemRendererFactoryForSeriesData.as b/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/DataItemRendererFactoryForSeriesData.as index 6f833a3..5772920 100644 --- a/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/DataItemRendererFactoryForSeriesData.as +++ b/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/DataItemRendererFactoryForSeriesData.as @@ -124,7 +124,6 @@ import org.apache.royale.core.IDataProviderModel; import org.apache.royale.core.UIBase; import org.apache.royale.charts.core.IChartItemRenderer; import org.apache.royale.core.Bead; -import org.apache.royale.core.IItemRendererOwnerView; import org.apache.royale.core.IItemRenderer; import org.apache.royale.core.IIndexedItemRenderer; import org.apache.royale.core.IIndexedItemRendererInitializer; @@ -179,19 +178,18 @@ class ChartItemRendererInitializer extends Bead implements IIndexedItemRendererI * @private * @royaleignorecoercion org.apache.royale.core.HTMLElementWrapper */ - public function initializeItemRenderer(ir:IIndexedItemRenderer, data:Object, ownerView:IItemRendererOwnerView):void + public function initializeItemRenderer(ir:IIndexedItemRenderer, data:Object):void { - ir.itemRendererOwnerView = ownerView; } /** * @private * @royaleignorecoercion org.apache.royale.core.IChartItemRenderer */ - public function initializeIndexedItemRenderer(ir:IIndexedItemRenderer, data:Object, ownerView:IItemRendererOwnerView, index:int):void + public function initializeIndexedItemRenderer(ir:IIndexedItemRenderer, data:Object, index:int):void { (ir as IChartItemRenderer).series = owner.chartSeries; ir.index = index; - initializeItemRenderer(ir, data, ownerView); + initializeItemRenderer(ir, data); } } \ No newline at end of file diff --git a/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/layouts/LineChartCategoryVsLinearLayout.as b/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/layouts/LineChartCategoryVsLinearLayout.as index 824fbd6..3327483 100644 --- a/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/layouts/LineChartCategoryVsLinearLayout.as +++ b/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/layouts/LineChartCategoryVsLinearLayout.as @@ -144,7 +144,6 @@ package org.apache.royale.charts.beads.layouts { var renderer:ILineSegmentItemRenderer = lcs.lineSegmentRenderer.newInstance() as ILineSegmentItemRenderer; chartDataGroup.addItemRenderer(renderer, true); - renderer.itemRendererOwnerView = chartDataGroup; renderer.data = lcs; renderer.points = seriesPoints[s].points; } diff --git a/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/layouts/LineChartLinearVsLinearLayout.as b/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/layouts/LineChartLinearVsLinearLayout.as index eb26888..c96d4fd 100644 --- a/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/layouts/LineChartLinearVsLinearLayout.as +++ b/frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/layouts/LineChartLinearVsLinearLayout.as @@ -158,7 +158,6 @@ package org.apache.royale.charts.beads.layouts { var renderer:ILineSegmentItemRenderer = lcs.lineSegmentRenderer.newInstance() as ILineSegmentItemRenderer; chartDataGroup.addItemRenderer(renderer, true); - renderer.itemRendererOwnerView = chartDataGroup; renderer.data = lcs; renderer.points = seriesPoints[s].points; } diff --git a/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/IArrayList.as b/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/IArrayList.as index 454d27f..53949d5 100644 --- a/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/IArrayList.as +++ b/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/IArrayList.as @@ -48,7 +48,7 @@ package org.apache.royale.collections * @playerversion AIR 2.6 * @productversion Royale 0.0 */ - public interface IArrayList + public interface IArrayList extends IEventDispatcher { /** * The array of raw data needing conversion. diff --git a/frameworks/projects/Core/src/main/royale/CoreClasses.as b/frameworks/projects/Core/src/main/royale/CoreClasses.as index 617b78d..7249311 100644 --- a/frameworks/projects/Core/src/main/royale/CoreClasses.as +++ b/frameworks/projects/Core/src/main/royale/CoreClasses.as @@ -75,6 +75,7 @@ internal class CoreClasses } import org.apache.royale.core.IBinaryImageLoader; IBinaryImageLoader; import org.apache.royale.core.ItemRendererClassFactory; ItemRendererClassFactory; + import org.apache.royale.core.SelectableItemRendererClassFactory; SelectableItemRendererClassFactory; import org.apache.royale.core.IChangePropagator; IChangePropagator; import org.apache.royale.core.IAlertModel; IAlertModel; import org.apache.royale.core.IBead; IBead; @@ -266,6 +267,7 @@ internal class CoreClasses import org.apache.royale.core.IDataGridPresentationModel; IDataGridPresentationModel; import org.apache.royale.core.IDateChooserModel; IDateChooserModel; import org.apache.royale.core.ParentDocumentBead; ParentDocumentBead; + import org.apache.royale.core.ItemRendererOwnerViewBead; ItemRendererOwnerViewBead; import org.apache.royale.core.TransformBeadBase; TransformBeadBase; import org.apache.royale.core.TransformModel; TransformModel; import org.apache.royale.core.TransformCompoundModel; TransformCompoundModel; diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IIndexedItemRendererInitializer.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IIndexedItemRendererInitializer.as index 0de54f3..655d662 100644 --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IIndexedItemRendererInitializer.as +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IIndexedItemRendererInitializer.as @@ -48,6 +48,6 @@ package org.apache.royale.core * @playerversion AIR 2.6 * @productversion Royale 0.0 */ - function initializeIndexedItemRenderer(renderer:IIndexedItemRenderer, data:Object, ownerView:IItemRendererOwnerView, index:int):void; + function initializeIndexedItemRenderer(renderer:IIndexedItemRenderer, data:Object, index:int):void; } } diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IItemRenderer.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IItemRenderer.as index a7c8086..94ea36d 100644 --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IItemRenderer.as +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IItemRenderer.as @@ -42,18 +42,5 @@ package org.apache.royale.core function get data():Object; function set data(value:Object):void; - /** - * The view that controls where the item renderers are actually - * parented. This is usually the view of outer component, and not always - * the container that parents - * all of the itemRenderers. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.0 - */ - function get itemRendererOwnerView():IItemRendererOwnerView; - function set itemRendererOwnerView(value:IItemRendererOwnerView):void; } } diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IItemRendererInitializer.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IItemRendererInitializer.as index 0c056d9..7d0c3c6 100644 --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IItemRendererInitializer.as +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IItemRendererInitializer.as @@ -51,6 +51,6 @@ package org.apache.royale.core * @playerversion AIR 2.6 * @productversion Royale 0.0 */ - function initializeItemRenderer(renderer:IItemRenderer, data:Object, ownerView:IItemRendererOwnerView):void; + function initializeItemRenderer(renderer:IItemRenderer, data:Object):void; } } diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ItemRendererClassFactory.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ItemRendererClassFactory.as index edfbd85..315fb92 100644 --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ItemRendererClassFactory.as +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ItemRendererClassFactory.as @@ -55,7 +55,7 @@ package org.apache.royale.core super(); } - private var _strand:IStrand; + protected var _strand:IStrand; /** * @copy org.apache.royale.core.IBead#strand diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IIndexedItemRendererInitializer.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ItemRendererOwnerViewBead.as similarity index 60% copy from frameworks/projects/Core/src/main/royale/org/apache/royale/core/IIndexedItemRendererInitializer.as copy to frameworks/projects/Core/src/main/royale/org/apache/royale/core/ItemRendererOwnerViewBead.as index 0de54f3..d21c6bd 100644 --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IIndexedItemRendererInitializer.as +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ItemRendererOwnerViewBead.as @@ -18,36 +18,36 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.royale.core { + import org.apache.royale.core.IBead; import org.apache.royale.core.IItemRendererOwnerView; - + import org.apache.royale.core.IStrand; + /** - * The IItemRendererInitializer interface is the basic interface for beads - * that initialize properties on an IItemRenderer. Simple implementations - * only assign the data and itemRendererOwnerView property, but others will - * assign other properties if needed. + * The ItemRendererOwnerViewBead stores a reference + * to the IItemRendererOwnerView for an IItemRenderer * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 * @productversion Royale 0.0 */ - public interface IIndexedItemRendererInitializer extends IItemRendererInitializer + public class ItemRendererOwnerViewBead extends Bead { /** - * This method is called to generate another instance of an item renderer. - * - * @param renderer The renderer - * @param data The data for the renderer - * @param ownerView the view of the component that owns the renderers - * @param index the index in the list of renderers - * - * @see org.apache.royale.core.IItemRenderer - * + * Constructor. + * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 * @productversion Royale 0.0 */ - function initializeIndexedItemRenderer(renderer:IIndexedItemRenderer, data:Object, ownerView:IItemRendererOwnerView, index:int):void; - } + public function ItemRendererOwnerViewBead(ownerView:IItemRendererOwnerView) + { + super(); + this.ownerView = ownerView; + } + + public var ownerView:IItemRendererOwnerView; + + } } diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/SelectableItemRendererClassFactory.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/SelectableItemRendererClassFactory.as new file mode 100644 index 0000000..3488448 --- /dev/null +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/SelectableItemRendererClassFactory.as @@ -0,0 +1,88 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////////// +package org.apache.royale.core +{ + + import org.apache.royale.core.ClassFactory; + import org.apache.royale.core.IFactory; + import org.apache.royale.core.IItemRendererProvider; + + import org.apache.royale.utils.MXMLDataInterpreter; + + [DefaultProperty("mxmlContent")] + + /** + * The SelectableItemRendererClassFactory class extends the default + * ItemRendererClassFactory and adds an ISelectableItemRenderer Bead to + * each renderer instance. That allows renderers to be used + * in lists with or without selection. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.0 + */ + public class SelectableItemRendererClassFactory extends ItemRendererClassFactory + { + /** + * Constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.0 + */ + public function SelectableItemRendererClassFactory() + { + super(); + } + + /** + * @copy org.apache.royale.core.IBead#strand + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.0 + * @royaleignorecoercion Class + */ + override public function set strand(value:IStrand):void + { + super.strand = value; + selectableBeadClass = ValuesManager.valuesImpl.getValue(value, "iSelectableItemRenderer") as Class; + } + + private var selectableBeadClass:Class; + + /** + * @copy org.apache.royale.core.IItemRendererClassFactory#createItemRenderer() + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.0 + */ + override public function createItemRenderer():IItemRenderer + { + var ir:IItemRenderer = super.createItemRenderer(); + ir.addBead(new selectableBeadClass()); + return ir; + } + } +} diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/html/beads/SelectableItemRendererBeadBase.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/html/beads/SelectableItemRendererBeadBase.as index 2ccbf7d..c718835 100644 --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/html/beads/SelectableItemRendererBeadBase.as +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/html/beads/SelectableItemRendererBeadBase.as @@ -19,8 +19,9 @@ package org.apache.royale.html.beads { import org.apache.royale.core.IBead; - import org.apache.royale.core.IUIBase; + import org.apache.royale.core.ISelectableItemRenderer; import org.apache.royale.core.IStrand; + import org.apache.royale.core.IUIBase; import org.apache.royale.events.Event; import org.apache.royale.events.IEventDispatcher; @@ -32,7 +33,7 @@ package org.apache.royale.html.beads * @playerversion AIR 2.6 * @productversion Royale 0.8 */ - public class SelectableItemRendererBeadBase implements IBead + public class SelectableItemRendererBeadBase implements IBead, ISelectableItemRenderer { /** * constructor. diff --git a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/ButtonBarReorderBead.as b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/ButtonBarReorderBead.as index d526d01..a8d1528 100644 --- a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/ButtonBarReorderBead.as +++ b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/ButtonBarReorderBead.as @@ -25,6 +25,7 @@ package org.apache.royale.html.beads import org.apache.royale.core.IDragInitiator; import org.apache.royale.core.IItemRenderer; import org.apache.royale.core.IItemRendererOwnerView; + import org.apache.royale.core.ItemRendererOwnerViewBead; import org.apache.royale.core.UIBase; import org.apache.royale.core.IParent; import org.apache.royale.core.ILayoutHost; @@ -255,7 +256,8 @@ package org.apache.royale.html.beads var ir:IItemRenderer = startHere as IItemRenderer; trace("-- dropping onto an existing object: "+ir.data.toString()); - itemRendererOwnerView = (ir.itemRendererOwnerView as ILayoutHost).contentView as IParent; + var ownerViewBead:ItemRendererOwnerViewBead = ir.getBeadByType(ItemRendererOwnerViewBead) as ItemRendererOwnerViewBead; + itemRendererOwnerView = (ownerViewBead.ownerView as ILayoutHost).contentView as IParent; targetIndex = itemRendererOwnerView.getElementIndex(ir); } else { diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListItemRendererInitializer.as b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/DragDropListItemRendererInitializer.as similarity index 50% copy from frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListItemRendererInitializer.as copy to frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/DragDropListItemRendererInitializer.as index 6b52366..d118cb1 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListItemRendererInitializer.as +++ b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/DragDropListItemRendererInitializer.as @@ -18,30 +18,29 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.royale.html.beads { - import org.apache.royale.core.IItemRendererOwnerView; - import org.apache.royale.core.Bead; import org.apache.royale.core.IDataProviderModel; import org.apache.royale.core.IIndexedItemRenderer; import org.apache.royale.core.IIndexedItemRendererInitializer; import org.apache.royale.core.IItemRenderer; - import org.apache.royale.core.ILabelFieldItemRenderer; - import org.apache.royale.core.IListPresentationModel; + import org.apache.royale.core.IItemRendererOwnerView; + import org.apache.royale.core.ILabelFieldItemRenderer; + import org.apache.royale.core.IListPresentationModel; import org.apache.royale.core.IStrand; import org.apache.royale.core.IUIBase; - import org.apache.royale.core.SimpleCSSStyles; + import org.apache.royale.core.SimpleCSSStyles; import org.apache.royale.core.UIBase; /** - * The ListItemRendererInitializer class initializes item renderers - * in list classes. + * The DragDropListItemRendererInitializer class initializes item renderers + * with a reference to the owning List. * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 * @productversion Royale 0.0 */ - public class ListItemRendererInitializer extends Bead implements IIndexedItemRendererInitializer + public class DragDropListItemRendererInitializer extends ListItemRendererInitializer { /** * constructor. @@ -51,14 +50,10 @@ package org.apache.royale.html.beads * @playerversion AIR 2.6 * @productversion Royale 0.0 */ - public function ListItemRendererInitializer() + public function DragDropListItemRendererInitializer() { } - - protected var presentationModel:IListPresentationModel; - protected var dataProviderModel:IDataProviderModel; - protected var labelField:String; - + /** * @copy org.apache.royale.core.IBead#strand * @@ -66,49 +61,26 @@ package org.apache.royale.html.beads * @playerversion Flash 10.2 * @playerversion AIR 2.6 * @productversion Royale 0.0 - * @royaleignorecoercion HTMLInputElement - * @royaleignorecoercion org.apache.royale.core.UIBase; + * @royaleignorecoercion org.apache.royale.core.IItemRendererOwnerView + * @royaleignorecoercion org.apache.royale.core.IUIBase */ override public function set strand(value:IStrand):void { - _strand = value; - var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel; - dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel; - labelField = dataProviderModel.labelField; + super.strand = value; + ownerView = (value as IUIBase).view as IItemRendererOwnerView; } + private var ownerView:IItemRendererOwnerView; + /** * @private * @royaleignorecoercion org.apache.royale.core.HTMLElementWrapper * @royaleignorecoercion org.apache.royale.core.IIndexedItemRenderer */ - public function initializeItemRenderer(ir:IItemRenderer, data:Object, ownerView:IItemRendererOwnerView):void + override public function initializeItemRenderer(ir:IItemRenderer, data:Object):void { - if (ir is ILabelFieldItemRenderer) - (ir as ILabelFieldItemRenderer).labelField = labelField; - ir.itemRendererOwnerView = ownerView; - - setupVisualsForItemRenderer(ir as IIndexedItemRenderer); + super.initializeItemRenderer(ir, data); + ir.addBead(new ItemRendererOwnerViewBead(ownerView)); } - - /** - * @private - * @royaleignorecoercion org.apache.royale.core.HTMLElementWrapper - */ - public function initializeIndexedItemRenderer(ir:IIndexedItemRenderer, data:Object, ownerView:IItemRendererOwnerView, index:int):void - { - ir.index = index; - initializeItemRenderer(ir, data, ownerView); - } - - protected function setupVisualsForItemRenderer(ir:IIndexedItemRenderer):void - { - var style:SimpleCSSStyles = new SimpleCSSStyles(); - style.marginBottom = presentationModel.separatorThickness; - UIBase(ir).style = style; - UIBase(ir).height = presentationModel.rowHeight; - UIBase(ir).percentWidth = 100; - } - } } diff --git a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDragSourceBead.as b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDragSourceBead.as index 05efebb..a939466 100644 --- a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDragSourceBead.as +++ b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDragSourceBead.as @@ -24,6 +24,7 @@ package org.apache.royale.html.beads import org.apache.royale.core.IDataProviderModel; import org.apache.royale.core.IDragInitiator; import org.apache.royale.core.IItemRenderer; + import org.apache.royale.core.ItemRendererOwnerViewBead; import org.apache.royale.core.ILayoutHost; import org.apache.royale.core.IParent; import org.apache.royale.core.ISelectionModel; @@ -189,7 +190,8 @@ package org.apache.royale.html.beads var itemRenderer:IItemRenderer = getParentOrSelfByType(relatedObject as IChild, IItemRenderer) as IItemRenderer; if (itemRenderer) { - var p:IParent = (itemRenderer.itemRendererOwnerView as ILayoutHost).contentView as IParent; + var ownerViewBead:ItemRendererOwnerViewBead = itemRenderer.getBeadByType(ItemRendererOwnerViewBead) as ItemRendererOwnerViewBead; + var p:IParent = (ownerViewBead.ownerView as ILayoutHost).contentView as IParent; _dragSourceIndex = p.getElementIndex(itemRenderer as IChild); DragEvent.dragSource = (itemRenderer as IItemRenderer).data; } diff --git a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDropTargetBead.as b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDropTargetBead.as index bbec4de..07664c6 100644 --- a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDropTargetBead.as +++ b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDropTargetBead.as @@ -25,6 +25,7 @@ package org.apache.royale.html.beads import org.apache.royale.core.IChild; import org.apache.royale.core.IDataProviderModel; import org.apache.royale.core.IItemRenderer; + import org.apache.royale.core.ItemRendererOwnerViewBead; import org.apache.royale.core.IParent; import org.apache.royale.core.ILayoutHost; import org.apache.royale.core.ISelectionModel; @@ -326,7 +327,8 @@ package org.apache.royale.html.beads var ir:IItemRenderer = startHere as IItemRenderer; //trace("-- dropping onto an existing object: "+ir.data.toString()); - contentViewAsParent = (ir.itemRendererOwnerView as ILayoutHost).contentView as IParent; + var ownerViewBead:ItemRendererOwnerViewBead = ir.getBeadByType(ItemRendererOwnerViewBead) as ItemRendererOwnerViewBead; + contentViewAsParent = (ownerViewBead.ownerView as ILayoutHost).contentView as IParent; targetIndex = contentViewAsParent.getElementIndex(ir); } diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as index aac193f..9c9b8b0 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as @@ -195,7 +195,7 @@ package mx.controls.advancedDataGridClasses currentIndex = index; var data:Object = cursor.current; - (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, dataGroup, index); + (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, index); var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED); newEvent.itemRenderer = ir; diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/VirtualDataItemRendererFactoryForICollectionViewData.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/VirtualDataItemRendererFactoryForICollectionViewData.as index 40c8a70..955ac77 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/VirtualDataItemRendererFactoryForICollectionViewData.as +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/VirtualDataItemRendererFactoryForICollectionViewData.as @@ -159,7 +159,7 @@ package mx.controls.listClasses var distance:int = index - currentIndex; cursor.seek(CursorBookmark.CURRENT, distance); currentIndex = index; - (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, cursor.current, dataGroup, index); + (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, cursor.current, index); ir.data = cursor.current; var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED); 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 02545d3..fc087b4 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 @@ -147,7 +147,7 @@ package mx.controls.listClasses dataGroup.addItemRendererAt(ir, elementIndex); var data:Object = dp.getItemAt(index); - (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, dataGroup, index); + (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, index); rendererMap[index] = ir; var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED); diff --git a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererInitializer.as b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererInitializer.as index 11ca4a8..2a45164 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererInitializer.as +++ b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererInitializer.as @@ -87,12 +87,11 @@ package org.apache.royale.mdl.beads * @royaleignorecoercion org.apache.royale.core.HTMLElementWrapper * @royaleignorecoercion org.apache.royale.core.IIndexedItemRenderer */ - public function initializeItemRenderer(ir:IItemRenderer, data:Object, ownerView:IItemRendererOwnerView):void + public function initializeItemRenderer(ir:IItemRenderer, data:Object):void { if (ir is ILabelFieldItemRenderer) (ir as ILabelFieldItemRenderer).labelField = labelField; (ir as ITabItemRenderer).tabIdField = tabsIdField; - ir.itemRendererOwnerView = ownerView; setupVisualsForItemRenderer(ir as IIndexedItemRenderer); } @@ -101,10 +100,10 @@ package org.apache.royale.mdl.beads * @private * @royaleignorecoercion org.apache.royale.core.HTMLElementWrapper */ - public function initializeIndexedItemRenderer(ir:IIndexedItemRenderer, data:Object, ownerView:IItemRendererOwnerView, index:int):void + public function initializeIndexedItemRenderer(ir:IIndexedItemRenderer, data:Object, index:int):void { ir.index = index; - initializeItemRenderer(ir, data, ownerView); + initializeItemRenderer(ir, data); } protected function setupVisualsForItemRenderer(ir:IIndexedItemRenderer):void
