You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2020/02/20 02:07:07 UTC
[royale-asjs] branch develop updated (21ced85 -> b632cd9)
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git.
from 21ced85 jewel-themes: upgrade all themes with latest changes
add ef3d94b rename IItemRendererParent to IItemRendererOwnerView
add 5414af8 start to move selection/hover to a bead
add 40d7a98 add bead to SWC
add f1bdcd3 rename IItemRendererParent to IItemRendererOwnerView because that's what it is. It isn't really a parent
add 823f026 rough pieces of the refactor. Still need to add 'has' checks
add 8b603dc more refactoring, some has
add fb8b203 working towards a clean compile
add 1d6474e working towards a clean compile
add 19124aa clean compile of Core, Basic, Charts, MDL, MXRoyale, SparkRoyale
add bdaf4c8 clean compile
add 6c5488b drop itemRendererOwner as a requirement for IItemRenderer and get ListExample to work
add a43dde5 get Jewel to use new 'has' pattern. The non-selectable renderers no longer have to disable default functionality. Selection is PAYG
add 14f85e6 Jewel and Charts seem to be working
add ad03195 restore properties in ADGIR
add a1da93c menubar is working in MXRoyale
add d58f7a9 MX ADG
add d878877 MDLExample
add ea6e90e Button and Label as dropin item renderers
add 07fada3 more fixes for has
add bac0d85 don't need this
new 19797e9 Merge branch 'has' into develop
new edb9bd1 refactor IListPresentationModel to resolve some issues found in the 'has' branch merge
new 7082ae3 Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
new 0a7385c we don't always get a collectionchange so set adg after list creation
new 17e8fdb fix issues in tree node closing. Should fix #673
new 97e33c5 distinguish between clicking on open/close icon or label of Tree ItemRenderer. Should fix #670
new ea9279b mxtests pass
new 3617abc clean compile ASDoc
new f1948e9 ASDoc runs again
new 9ac18ad Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
new daa2ee1 refactor to propagate events so we don't have to send an event from the factory
new 6763700 get examples to compile
new b632cd9 Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
The 13 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../main/royale/products/ProductItemRenderer.as | 1 -
.../ASDoc/src/main/royale/ASDocMainView.mxml | 17 +-
...gBackgroundColorHashAnchorStringItemRenderer.as | 75 +++----
.../src/main/royale/EventSummaryRenderer.mxml | 53 +----
.../src/main/royale/MethodSummaryRenderer.mxml | 51 +----
.../royale/OptionalHashAnchorStringItemRenderer.as | 27 ++-
.../ASDoc/src/main/royale/ParameterRenderer.as | 29 ++-
.../ASDoc/src/main/royale/SummaryRenderer.mxml | 53 +----
.../main/royale/products/ProductItemRenderer.as | 2 -
.../main/royale/products/ProductItemRenderer.as | 2 -
.../ListExample/src/main/royale/MyInitialView.mxml | 7 +-
.../main/royale/simple/IRFactoryForArrayData.as | 178 ---------------
.../TodoListSingleSelectionMouseController.as | 59 +++++
.../sample/todo/renderers/TodoItemRenderer.mxml | 12 +-
.../royale/sample/todo/views/TodoListView.mxml | 24 +-
.../src/main/config/compile-app-config.xml | 3 +
.../AdvancedIconListItemRenderer.mxml | 2 +-
.../itemRenderers/IconDataGridItemRenderer.mxml | 2 +-
.../royale/itemRenderers/IconListItemRenderer.mxml | 2 +-
.../NavigationGroupExampleItemRenderer.mxml | 2 +-
.../TableCellCloseIconItemRenderer.mxml | 2 +-
.../projects/Basic/src/main/resources/defaults.css | 40 +++-
.../projects/Basic/src/main/royale/BasicClasses.as | 5 +
.../org/apache/royale/core/DataContainerBase.as | 2 +-
.../apache/royale/core/StyledMXMLItemRenderer.as | 78 +++----
.../royale/org/apache/royale/html/DataContainer.as | 12 +-
.../src/main/royale/org/apache/royale/html/List.as | 1 -
.../org/apache/royale/html/MultiSelectionList.as | 1 -
.../org/apache/royale/html/MultiSelectionTree.as | 1 -
.../accessories/ToolTipRemovalWhenItemRemoved.as | 5 +-
.../royale/html/beads/AccordionCollapseBead.as | 4 +-
...ingBackgroundColorSelectableItemRendererBead.as | 129 +++++++++++
.../apache/royale/html/beads/DataContainerView.as | 28 +--
.../html/beads/DataItemRendererFactoryBase.as | 126 +++++++++++
.../beads/DataItemRendererFactoryForArrayData.as | 168 +++-----------
.../beads/DataItemRendererFactoryForArrayList.as | 139 ++----------
.../DataItemRendererFactoryForCollectionView.as | 218 +++++-------------
.../beads/DataItemRendererFactoryForColumnData.as | 86 +------
.../DataItemRendererFactoryForHierarchicalData.as | 52 +----
.../DynamicAddItemRendererForArrayListData.as | 184 +++------------
.../DynamicItemsRendererFactoryForArrayListData.as | 187 +++-------------
...cRemoveAllByNullItemRendererForArrayListData.as | 16 +-
...DynamicRemoveAllItemRendererForArrayListData.as | 16 +-
.../DynamicRemoveItemRendererForArrayListData.as | 102 +--------
.../DynamicUpdateItemRendererForArrayListData.as | 109 ++-------
.../apache/royale/html/beads/ITextItemRenderer.as | 7 +-
.../html/beads/IndexedItemRendererInitializer.as | 107 +++++++++
...yForArrayData.as => ItemRendererFactoryBase.as} | 149 ++++++-------
.../html/beads/ListItemRendererInitializer.as | 87 ++++++++
.../beads/ListOwnerViewItemRendererInitializer.as | 97 ++++++++
.../org/apache/royale/html/beads/ListView.as | 79 +++++--
.../MultiSelectionItemRendererClassFactory.as | 6 +-
.../royale/html/beads/MultiSelectionListView.as | 2 +-
...dBackgroundRuntimeSelectableItemRendererBead.as | 128 +++++++++++
.../SolidBackgroundSelectableItemRendererBead.as} | 59 ++---
.../beads/TextItemRendererFactoryForArrayData.as | 8 +-
.../TextItemRendererFactoryForStringVectorData.as | 10 +-
.../html/beads/TreeItemRendererInitializer.as | 86 +++++++
.../royale/html/beads/VirtualDataContainerView.as | 4 +-
...ta.as => VirtualDataItemRendererFactoryBase.as} | 92 ++++----
.../VirtualDataItemRendererFactoryForArrayData.as | 166 ++------------
.../apache/royale/html/beads/VirtualListView.as | 74 +++++--
.../controllers/ItemRendererMouseController.as | 57 +++--
.../ListMultiSelectionMouseController.as | 29 ++-
.../ListSingleSelectionMouseController.as | 26 ++-
.../MultiSelectionItemRendererMouseController.as | 59 +++--
.../TreeSingleSelectionMouseController.as | 26 ++-
.../layouts/UseMaxChildForTileCellDimensions.as | 4 +-
.../beads/layouts/VirtualListVerticalLayout.as | 8 +-
.../html/beads/models/ListPresentationModel.as | 2 +-
.../html/supportClasses/AccordionItemRenderer.as | 107 +--------
...AlternatingBackgroundColorStringItemRenderer.as | 39 ++--
.../supportClasses/ButtonBarButtonItemRenderer.as | 4 +-
.../supportClasses/CascadingMenuItemRenderer.as | 2 -
.../html/supportClasses/ColorItemRenderer.as | 51 ++---
.../html/supportClasses/ContainerContentArea.as | 11 +-
.../DataGridButtonBarButtonItemRenderer.as | 2 +-
.../apache/royale/html/supportClasses/DataGroup.as | 4 +-
.../royale/html/supportClasses/DataItemRenderer.as | 25 ---
.../html/supportClasses/GraphicsItemRenderer.as | 21 +-
.../html/supportClasses/MenuBarItemRenderer.as | 2 -
.../royale/html/supportClasses/MenuItemRenderer.as | 2 -
.../html/supportClasses/StringItemRenderer.as | 1 -
.../html/supportClasses/TextButtonItemRenderer.as | 124 +----------
.../html/supportClasses/TextFieldItemRenderer.as | 17 +-
.../supportClasses/TreeGridControlItemRenderer.as | 37 +++-
.../royale/html/supportClasses/TreeItemRenderer.as | 25 ++-
.../html/supportClasses/UIItemRendererBase.as | 170 +-------------
.../Charts/src/main/resources/defaults.css | 5 +
.../Charts/src/main/royale/ChartsClasses.as | 1 +
.../charts/beads/ChartItemRendererFactory.as | 7 +-
.../beads/ChartSelectableItemRendererBead.as | 110 +++++++++
.../org/apache/royale/charts/beads/ChartView.as | 11 +-
...ataItemRendererFactoryForSeriesArrayListData.as | 94 ++------
.../beads/DataItemRendererFactoryForSeriesData.as | 246 ++++++++++++++-------
.../controllers/ChartSeriesMouseController.as | 4 +-
.../layouts/LineChartCategoryVsLinearLayout.as | 1 -
.../beads/layouts/LineChartLinearVsLinearLayout.as | 1 -
.../apache/royale/charts/core/IChartDataGroup.as | 4 +-
.../royale/charts/core/IChartItemRenderer.as | 13 ++
.../royale/charts/optimized/SVGBoxItemRenderer.as | 1 -
.../royale/charts/optimized/SVGChartDataGroup.as | 22 +-
.../charts/optimized/SVGLineSegmentItemRenderer.as | 78 +------
.../charts/optimized/SVGWedgeItemRenderer.as | 52 +----
.../charts/supportClasses/BoxItemRenderer.as | 120 +---------
.../royale/charts/supportClasses/ChartDataGroup.as | 24 +-
.../ChartItemRenderer.as} | 76 +++++--
.../supportClasses/LineSegmentItemRenderer.as | 73 +-----
.../charts/supportClasses/WedgeItemRenderer.as | 79 +------
.../org/apache/royale/collections/IArrayList.as | 2 +-
.../projects/Core/src/main/royale/CoreClasses.as | 11 +-
.../core/IDataProviderVirtualItemRendererMapper.as | 2 +-
.../apache/royale/core/IIndexedItemRenderer.as} | 18 +-
...arent.as => IIndexedItemRendererInitializer.as} | 28 +--
.../royale/org/apache/royale/core/IItemRenderer.as | 25 +--
.../royale/core/IItemRendererClassFactory.as | 8 +-
...ndererParent.as => IItemRendererInitializer.as} | 31 ++-
...RendererParent.as => IItemRendererOwnerView.as} | 9 +-
.../apache/royale/core/ILabelFieldItemRenderer.as} | 26 +--
.../main/royale/org/apache/royale/core/IList.as | 2 +-
.../apache/royale/core/IListDataItemRenderer.as} | 19 +-
.../apache/royale/core/IListPresentationModel.as | 10 -
.../apache/royale/core/IOwnerViewItemRenderer.as} | 27 +--
.../apache/royale/core/ISelectableItemRenderer.as | 25 +--
.../apache/royale/core/ItemRendererClassFactory.as | 13 +-
.../royale/core/ItemRendererOwnerViewBead.as} | 31 +--
...er.as => SelectableItemRendererClassFactory.as} | 85 ++++---
.../org/apache/royale/events/ItemAddedEvent.as | 2 +-
.../org/apache/royale/events/ItemRemovedEvent.as | 2 +-
.../org/apache/royale/events/ItemRendererEvent.as | 2 +-
.../{core => html}/IListPresentationModel.as | 17 +-
.../org/apache/royale/html/beads/IListView.as | 4 +-
.../html/beads/SelectableItemRendererBeadBase.as | 212 ++++++++++++++++++
.../DragDrop/src/main/royale/DragDropClasses.as | 2 +
.../royale/html/beads/ButtonBarReorderBead.as | 14 +-
.../beads/DragDropListItemRendererInitializer.as | 87 ++++++++
.../html/beads/MultiSelectionDragImageBead.as | 6 +-
.../beads/SensitiveMultiSelectionDropTargetBead.as | 22 +-
.../SensitiveSingleSelectionDropTargetBead.as | 22 +-
.../html/beads/SingleSelectionDragImageBead.as | 2 +-
.../html/beads/SingleSelectionDragSourceBead.as | 4 +-
.../html/beads/SingleSelectionDropIndicatorBead.as | 2 +-
.../html/beads/SingleSelectionDropTargetBead.as | 20 +-
.../projects/Flat/src/main/resources/defaults.css | 3 +-
.../projects/Flat/src/main/royale/FlatClasses.as | 2 +-
...stSolidBackgroundSelectableItemRendererBead.as} | 16 +-
.../projects/Jewel/src/main/resources/defaults.css | 5 +
.../projects/Jewel/src/main/royale/JewelClasses.as | 5 +
.../main/royale/org/apache/royale/jewel/List.as | 12 +-
.../controllers/ItemRendererMouseController.as | 68 +++---
.../TableCellSelectionMouseController.as | 18 +-
.../AddListItemRendererForArrayListData.as | 34 +--
.../itemRenderers/AddTableRowForArrayListData.as | 22 +-
...tHoverableRuntimeSelectableItemRendererBead.as} | 46 ++--
...electorListRuntimeSelectableItemRendererBead.as | 122 ++++++++++
.../DataItemRendererFactoryForArrayData.as | 19 +-
.../DataItemRendererFactoryForCollectionView.as | 39 ++--
...DownListItemRendererFactoryForCollectionView.as | 10 +-
.../jewel/beads/itemRenderers/ITextItemRenderer.as | 5 +-
.../JewelListItemRendererInitializer.as | 122 ++++++++++
.../RemoveAllItemRendererForArrayListData.as | 16 +-
.../RemoveListItemRendererForArrayListData.as | 26 +--
.../RemoveTableRowForArrayListData.as | 24 +-
.../TableItemRendererFactoryForCollectionView.as | 22 +-
.../UpdateListItemRendererForArrayListData.as | 20 +-
.../UpdateTableRowForArrayListData.as | 24 +-
...tualDataItemRendererFactoryForCollectionView.as | 163 ++------------
.../beads/layouts/VirtualListVerticalLayout.as | 8 +-
.../royale/jewel/beads/views/DropDownListView.as | 22 +-
.../apache/royale/jewel/beads/views/ListView.as | 134 ++++++-----
.../apache/royale/jewel/beads/views/TabBarView.as | 12 +-
.../apache/royale/jewel/beads/views/TableView.as | 18 +-
.../royale/jewel/beads/views/VirtualListView.as | 49 ++--
.../jewel/itemRenderers/ButtonBarItemRenderer.as | 20 +-
.../CollapsibleNavigationSectionRenderer.as | 15 +-
.../royale/jewel/itemRenderers/DateItemRenderer.as | 8 +-
.../itemRenderers/DropDownListItemRenderer.as | 6 +-
.../itemRenderers/IconButtonBarItemRenderer.as | 125 +----------
.../royale/jewel/itemRenderers/ListItemRenderer.as | 54 +----
.../itemRenderers/NavigationLinkItemRenderer.as | 15 +-
.../jewel/itemRenderers/StringItemRenderer.as | 1 -
.../itemRenderers/TabBarButtonItemRenderer.as | 41 +---
.../jewel/itemRenderers/TableItemRenderer.as | 29 +++
.../itemRenderers/ToggleButtonBarItemRenderer.as | 23 +-
.../supportClasses/container/DataContainerBase.as | 2 +-
.../royale/jewel/supportClasses/list/DataGroup.as | 2 +-
.../supportClasses/list/IListPresentationModel.as | 13 +-
.../jewel/supportClasses/table/TBodyContentArea.as | 31 +--
.../MXRoyale/src/main/resources/defaults.css | 15 +-
.../MXRoyale/src/main/royale/MXRoyaleClasses.as | 7 +
.../main/royale/mx/collections/ICollectionView.as | 1 -
.../MXRoyale/src/main/royale/mx/controls/Button.as | 49 +++-
.../MXRoyale/src/main/royale/mx/controls/Label.as | 43 +++-
.../AdvancedDataGridHeaderRenderer.as | 19 --
.../AdvancedDataGridItemRenderer.as | 88 +++-----
.../AdvancedDataGridSelectableItemRendererBead.as | 140 ++++++++++++
...actoryForICollectionViewAdvancedDataGridData.as | 105 +--------
.../AdvancedDataGridItemRendererInitializer.as | 117 ++++++++++
.../mx/controls/beads/AdvancedDataGridView.as | 15 +-
.../controls/beads/ListItemRendererInitializer.as | 85 +++++++
.../controls/beads/TreeItemRendererInitializer.as | 86 +++++++
.../beads/TreeItemRendererMouseController.as | 96 ++++++++
.../beads/layouts/AdvancedDataGridLayout.as | 2 +-
.../AdvancedDataGridVirtualListVerticalLayout.as | 8 +-
.../beads/models/ListPresentationModel.as} | 20 +-
.../mx/controls/listClasses/AdvancedListBase.as | 23 +-
...ataItemRendererFactoryForICollectionViewData.as | 190 ++++++++++++----
.../DataItemRendererFactoryForIListData.as | 76 ++++---
.../listClasses/IDropInListItemRenderer.as | 23 +-
.../mx/controls/listClasses/IListItemRenderer.as | 2 +-
.../royale/mx/controls/listClasses/ListBase.as | 1 +
.../mx/controls/listClasses/ListItemRenderer.as | 137 ++----------
...ataItemRendererFactoryForICollectionViewData.as | 42 +---
.../VirtualDataItemRendererFactoryForIListData.as | 57 ++---
.../listClasses/VirtualListVerticalLayout.as | 8 +-
...rerFactoryForICollectionViewHierarchicalData.as | 86 ++-----
.../treeClasses/HierarchicalCollectionView.as | 73 ++++--
.../mx/controls/treeClasses/TreeItemRenderer.as | 173 +--------------
.../src/main/royale/mx/core/IDataRenderer.as | 22 +-
.../src/main/royale/mx/core/UIComponent.as | 18 ++
.../src/main/resources/defaults.css | 7 +
.../src/main/royale/MDLClasses.as | 1 +
.../DynamicTabsAddItemRendererForArrayListData.as | 37 ----
.../TabsDataItemRendererFactoryForArrayListData.as | 72 +-----
.../beads/TabsItemRendererFactoryForArrayData.as | 10 +-
.../mdl/beads/TabsItemRendererInitializer.as | 120 ++++++++++
.../itemRenderers/FooterLinkItemMouseRenderer.as | 5 -
.../royale/mdl/itemRenderers/MenuItemRenderer.as | 5 -
.../NavigationLinkItemMouseRenderer.as | 5 -
.../mdl/itemRenderers/TableRowItemRenderer.as | 2 +-
.../TableRowItemSingleSelectionMouseRenderer.as | 32 ++-
.../royale/mdl/supportClasses/ITabItemRenderer.as | 5 +-
.../SparkRoyale/src/main/resources/defaults.css | 12 +-
.../main/royale/spark/components/DataRenderer.as | 29 ++-
.../royale/spark/components/beads/TabBarView.as | 21 +-
.../components/supportClasses/ItemRenderer.as | 18 +-
.../supportClasses/SparkTextButtonItemRenderer.as | 12 +-
237 files changed, 4835 insertions(+), 4998 deletions(-)
delete mode 100644 examples/royale/ListExample/src/main/royale/simple/IRFactoryForArrayData.as
create mode 100644 examples/royale/TodoListSampleApp/src/main/royale/sample/todo/controllers/TodoListSingleSelectionMouseController.as
create mode 100644 frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/AlternatingBackgroundColorSelectableItemRendererBead.as
create mode 100644 frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryBase.as
create mode 100644 frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/IndexedItemRendererInitializer.as
copy frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/{DataItemRendererFactoryForArrayData.as => ItemRendererFactoryBase.as} (63%)
create mode 100644 frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListItemRendererInitializer.as
create mode 100644 frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListOwnerViewItemRendererInitializer.as
create mode 100644 frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/SolidBackgroundRuntimeSelectableItemRendererBead.as
copy frameworks/projects/{MaterialDesignLite/src/main/royale/org/apache/royale/mdl/itemRenderers/TableRowItemSingleSelectionMouseRenderer.as => Basic/src/main/royale/org/apache/royale/html/beads/SolidBackgroundSelectableItemRendererBead.as} (54%)
create mode 100644 frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TreeItemRendererInitializer.as
copy frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/{VirtualDataItemRendererFactoryForArrayData.as => VirtualDataItemRendererFactoryBase.as} (74%)
create mode 100644 frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/beads/ChartSelectableItemRendererBead.as
copy frameworks/projects/Charts/src/main/royale/org/apache/royale/charts/{optimized/SVGBoxItemRenderer.as => supportClasses/ChartItemRenderer.as} (69%)
copy frameworks/projects/{Basic/src/main/royale/org/apache/royale/html/beads/ITextItemRenderer.as => Core/src/main/royale/org/apache/royale/core/IIndexedItemRenderer.as} (74%)
copy frameworks/projects/Core/src/main/royale/org/apache/royale/core/{IItemRendererParent.as => IIndexedItemRendererInitializer.as} (60%)
copy frameworks/projects/Core/src/main/royale/org/apache/royale/core/{IItemRendererParent.as => IItemRendererInitializer.as} (60%)
rename frameworks/projects/Core/src/main/royale/org/apache/royale/core/{IItemRendererParent.as => IItemRendererOwnerView.as} (87%)
copy frameworks/projects/{Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGroup.as => Core/src/main/royale/org/apache/royale/core/ILabelFieldItemRenderer.as} (73%)
copy frameworks/projects/{Basic/src/main/royale/org/apache/royale/html/beads/ITextItemRenderer.as => Core/src/main/royale/org/apache/royale/core/IListDataItemRenderer.as} (74%)
copy frameworks/projects/{Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGroup.as => Core/src/main/royale/org/apache/royale/core/IOwnerViewItemRenderer.as} (68%)
copy frameworks/projects/{Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGroup.as => Core/src/main/royale/org/apache/royale/core/ItemRendererOwnerViewBead.as} (70%)
copy frameworks/projects/Core/src/main/royale/org/apache/royale/core/{ISelectableItemRenderer.as => SelectableItemRendererClassFactory.as} (50%)
copy frameworks/projects/Core/src/main/royale/org/apache/royale/{core => html}/IListPresentationModel.as (81%)
create mode 100644 frameworks/projects/Core/src/main/royale/org/apache/royale/html/beads/SelectableItemRendererBeadBase.as
create mode 100644 frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/DragDropListItemRendererInitializer.as
rename frameworks/projects/Flat/src/main/royale/org/apache/royale/flat/supportClasses/{DropDownListStringItemRenderer.as => DropDownListSolidBackgroundSelectableItemRendererBead.as} (77%)
copy frameworks/projects/{MaterialDesignLite/src/main/royale/org/apache/royale/mdl/itemRenderers/FooterLinkItemMouseRenderer.as => Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/ClassSelectorListHoverableRuntimeSelectableItemRendererBead.as} (59%)
create mode 100644 frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/ClassSelectorListRuntimeSelectableItemRendererBead.as
create mode 100644 frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/JewelListItemRendererInitializer.as
create mode 100644 frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridSelectableItemRendererBead.as
create mode 100644 frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridItemRendererInitializer.as
create mode 100644 frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/ListItemRendererInitializer.as
create mode 100644 frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererInitializer.as
create mode 100644 frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererMouseController.as
copy frameworks/projects/{Basic/src/main/royale/org/apache/royale/html/beads/ITextItemRenderer.as => MXRoyale/src/main/royale/mx/controls/beads/models/ListPresentationModel.as} (75%)
create mode 100644 frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererInitializer.as
[royale-asjs] 02/13: refactor IListPresentationModel to resolve
some issues found in the 'has' branch merge
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit edb9bd10cb31fa0cca8323f68146833578447466
Author: Alex Harui <ah...@apache.org>
AuthorDate: Tue Feb 18 01:35:20 2020 -0800
refactor IListPresentationModel to resolve some issues found in the 'has' branch merge
---
.../main/royale/org/apache/royale/html/DataContainer.as | 1 -
.../src/main/royale/org/apache/royale/html/List.as | 1 -
.../royale/org/apache/royale/html/MultiSelectionList.as | 1 -
.../royale/org/apache/royale/html/MultiSelectionTree.as | 1 -
.../royale/html/beads/ListItemRendererInitializer.as | 2 +-
.../royale/html/beads/models/ListPresentationModel.as | 2 +-
frameworks/projects/Core/src/main/royale/CoreClasses.as | 3 ++-
.../org/apache/royale/core/IListPresentationModel.as | 10 ----------
.../royale/{core => html}/IListPresentationModel.as | 17 ++++-------------
.../src/main/royale/org/apache/royale/jewel/List.as | 12 +++++++-----
.../jewel/supportClasses/list/IListPresentationModel.as | 13 +------------
.../mx/controls/beads/layouts/AdvancedDataGridLayout.as | 2 +-
.../AdvancedDataGridVirtualListVerticalLayout.as | 2 +-
.../mdl/beads/TabsItemRendererFactoryForArrayData.as | 2 +-
.../royale/mdl/beads/TabsItemRendererInitializer.as | 2 +-
15 files changed, 20 insertions(+), 51 deletions(-)
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as
index d31d6c9..d3dae3d 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as
@@ -31,7 +31,6 @@ package org.apache.royale.html
import org.apache.royale.core.IItemRendererOwnerView;
import org.apache.royale.core.ILayoutView;
import org.apache.royale.core.IStrandWithPresentationModel;
- import org.apache.royale.core.IListPresentationModel;
import org.apache.royale.core.IRollOverModel;
import org.apache.royale.core.IDataProviderModel;
import org.apache.royale.core.UIBase;
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/List.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/List.as
index 8124a28..71f7b6f 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/List.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/List.as
@@ -18,7 +18,6 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.html
{
- import org.apache.royale.core.IListPresentationModel;
import org.apache.royale.core.IRollOverModel;
import org.apache.royale.core.ISelectionModel;
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MultiSelectionList.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MultiSelectionList.as
index 7a2801d..ba93bb3 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MultiSelectionList.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MultiSelectionList.as
@@ -18,7 +18,6 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.html
{
- import org.apache.royale.core.IListPresentationModel;
import org.apache.royale.core.IRollOverModel;
import org.apache.royale.core.IMultiSelectionModel;
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MultiSelectionTree.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MultiSelectionTree.as
index eca7e50..a68e0d8 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MultiSelectionTree.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MultiSelectionTree.as
@@ -18,7 +18,6 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.html
{
- import org.apache.royale.core.IListPresentationModel;
import org.apache.royale.core.IRollOverModel;
import org.apache.royale.core.IMultiSelectionModel;
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 3cea766..22a81ac 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
@@ -26,7 +26,7 @@ package org.apache.royale.html.beads
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.html.IListPresentationModel;
import org.apache.royale.core.IStrand;
import org.apache.royale.core.IStrandWithPresentationModel;
import org.apache.royale.core.IUIBase;
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ListPresentationModel.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ListPresentationModel.as
index c5e86e8..010a793 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ListPresentationModel.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ListPresentationModel.as
@@ -18,7 +18,7 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.html.beads.models
{
- import org.apache.royale.core.IListPresentationModel;
+ import org.apache.royale.html.IListPresentationModel;
import org.apache.royale.core.IStrand;
import org.apache.royale.events.Event;
import org.apache.royale.events.EventDispatcher;
diff --git a/frameworks/projects/Core/src/main/royale/CoreClasses.as b/frameworks/projects/Core/src/main/royale/CoreClasses.as
index 786a010..d7858ee 100644
--- a/frameworks/projects/Core/src/main/royale/CoreClasses.as
+++ b/frameworks/projects/Core/src/main/royale/CoreClasses.as
@@ -49,6 +49,7 @@ internal class CoreClasses
import org.apache.royale.html.beads.IBackgroundBead; IBackgroundBead;
import org.apache.royale.html.beads.IBorderBead; IBorderBead;
import org.apache.royale.html.beads.SelectableItemRendererBeadBase; SelectableItemRendererBeadBase;
+ import org.apache.royale.html.IListPresentationModel; org.apache.royale.html.IListPresentationModel;
import org.apache.royale.core.BeadViewBase; BeadViewBase;
import org.apache.royale.core.ImageViewBase; ImageViewBase;
@@ -120,7 +121,7 @@ internal class CoreClasses
import org.apache.royale.core.ILayoutHost; ILayoutHost;
import org.apache.royale.core.ILayoutView; ILayoutView;
import org.apache.royale.core.ILayoutParent; ILayoutParent;
- import org.apache.royale.core.IListPresentationModel; IListPresentationModel;
+ import org.apache.royale.core.IListPresentationModel; org.apache.royale.core.IListPresentationModel;
import org.apache.royale.core.IMeasurementBead; IMeasurementBead;
import org.apache.royale.core.IModule; IModule;
import org.apache.royale.core.IPanelModel; IPanelModel;
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IListPresentationModel.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IListPresentationModel.as
index 0e3313a..c49d7eb 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IListPresentationModel.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IListPresentationModel.as
@@ -40,15 +40,5 @@ package org.apache.royale.core
function get rowHeight():Number;
function set rowHeight(value:Number):void;
- /**
- * The distance each row should be separated from the row above.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.0
- */
- function get separatorThickness():Number;
- function set separatorThickness(value:Number):void;
}
}
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IListPresentationModel.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/html/IListPresentationModel.as
similarity index 81%
copy from frameworks/projects/Core/src/main/royale/org/apache/royale/core/IListPresentationModel.as
copy to frameworks/projects/Core/src/main/royale/org/apache/royale/html/IListPresentationModel.as
index 0e3313a..9803bfe 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IListPresentationModel.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/html/IListPresentationModel.as
@@ -16,8 +16,10 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.core
+package org.apache.royale.html
{
+import org.apache.royale.core.IListPresentationModel;
+
/**
* The IListPresentationModel interface holds key values for the display
* of lists.
@@ -27,20 +29,9 @@ package org.apache.royale.core
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public interface IListPresentationModel extends IBead
+ public interface IListPresentationModel extends org.apache.royale.core.IListPresentationModel
{
/**
- * The height of every row in the list.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.0
- */
- function get rowHeight():Number;
- function set rowHeight(value:Number):void;
-
- /**
* The distance each row should be separated from the row above.
*
* @langversion 3.0
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as
index 6821e60..315d4db 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as
@@ -18,12 +18,14 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.jewel
{
+ import org.apache.royale.core.IBead;
import org.apache.royale.core.IDataProviderModel;
+ import org.apache.royale.core.IListPresentationModel;
import org.apache.royale.core.IRollOverModel;
import org.apache.royale.core.ISelectionModel;
+ import org.apache.royale.core.IStrandWithPresentationModel;
import org.apache.royale.jewel.beads.models.ListPresentationModel;
import org.apache.royale.jewel.supportClasses.container.DataContainerBase;
- import org.apache.royale.jewel.supportClasses.list.IListPresentationModel;
/**
* Indicates that the initialization of the list is complete.
@@ -63,7 +65,7 @@ package org.apache.royale.jewel
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public class List extends DataContainerBase
+ public class List extends DataContainerBase implements IStrandWithPresentationModel
{
/**
* constructor.
@@ -176,7 +178,7 @@ package org.apache.royale.jewel
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
- * @royaleignorecoercion org.apache.royale.jewel.supportClasses.list.IListPresentationModel
+ * @royaleignorecoercion org.apache.royale.core.IListPresentationModel
*/
public function get rowHeight():Number
{
@@ -217,9 +219,9 @@ package org.apache.royale.jewel
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
- * @royaleignorecoercion org.apache.royale.jewel.supportClasses.list.IListPresentationModel
+ * @royaleignorecoercion org.apache.royale.core.IListPresentationModel
*/
- public function get presentationModel():IListPresentationModel
+ public function get presentationModel():IBead
{
var presModel:IListPresentationModel = getBeadByType(IListPresentationModel) as IListPresentationModel;
if (presModel == null) {
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/list/IListPresentationModel.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/list/IListPresentationModel.as
index a103b4d..5ca1849 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/list/IListPresentationModel.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/list/IListPresentationModel.as
@@ -29,19 +29,8 @@ package org.apache.royale.jewel.supportClasses.list
* @playerversion AIR 2.6
* @productversion Royale 0.9.7
*/
- public interface IListPresentationModel extends IBead
+ public interface IListPresentationModel extends org.apache.royale.core.IListPresentationModel
{
- /**
- * The height of every row in the list.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.7
- */
- function get rowHeight():Number;
- function set rowHeight(value:Number):void;
-
/**
* How text aligns in the itemRenderer instance.
*
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/layouts/AdvancedDataGridLayout.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/layouts/AdvancedDataGridLayout.as
index df9fc82..231830b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/layouts/AdvancedDataGridLayout.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/layouts/AdvancedDataGridLayout.as
@@ -24,7 +24,7 @@ package mx.controls.beads.layouts
import org.apache.royale.core.IBorderPaddingMarginValuesImpl;
import org.apache.royale.core.IDataGridModel;
import org.apache.royale.core.IDataProviderModel;
- import org.apache.royale.core.IListPresentationModel;
+ import org.apache.royale.html.IListPresentationModel;
import org.apache.royale.core.IStrand;
import org.apache.royale.core.IStrandWithPresentationModel;
import org.apache.royale.core.IUIBase;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/layouts/AdvancedDataGridVirtualListVerticalLayout.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/layouts/AdvancedDataGridVirtualListVerticalLayout.as
index 6a8f5e3..5cf4c5d 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/layouts/AdvancedDataGridVirtualListVerticalLayout.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/layouts/AdvancedDataGridVirtualListVerticalLayout.as
@@ -22,7 +22,7 @@ package mx.controls.beads.layouts
import org.apache.royale.core.IDataProviderModel;
import org.apache.royale.core.IDataProviderVirtualItemRendererMapper;
import org.apache.royale.core.ILayoutView;
- import org.apache.royale.core.IListPresentationModel;
+ import org.apache.royale.html.IListPresentationModel;
import org.apache.royale.core.IScrollingViewport;
import org.apache.royale.core.IIndexedItemRenderer;
import org.apache.royale.core.IStrand;
diff --git a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererFactoryForArrayData.as b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererFactoryForArrayData.as
index 834cecf..22babf4 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererFactoryForArrayData.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/TabsItemRendererFactoryForArrayData.as
@@ -22,7 +22,7 @@ package org.apache.royale.mdl.beads
import org.apache.royale.core.IDataProviderItemRendererMapper;
import org.apache.royale.core.IItemRendererClassFactory;
import org.apache.royale.core.IItemRendererOwnerView;
- import org.apache.royale.core.IListPresentationModel;
+ import org.apache.royale.html.IListPresentationModel;
import org.apache.royale.core.IStrand;
import org.apache.royale.core.SimpleCSSStyles;
import org.apache.royale.core.UIBase;
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 f01af3c..5eb66e5 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
@@ -25,7 +25,7 @@ package org.apache.royale.mdl.beads
import org.apache.royale.core.IItemRenderer;
import org.apache.royale.core.IItemRendererOwnerView;
import org.apache.royale.core.ILabelFieldItemRenderer;
- import org.apache.royale.core.IListPresentationModel;
+ import org.apache.royale.html.IListPresentationModel;
import org.apache.royale.core.IStrand;
import org.apache.royale.core.IUIBase;
import org.apache.royale.core.SimpleCSSStyles;
[royale-asjs] 04/13: we don't always get a collectionchange so set
adg after list creation
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 0a7385c3046c59f43ec15ee297d7ac6836ddf0e5
Author: Alex Harui <ah...@apache.org>
AuthorDate: Tue Feb 18 10:40:21 2020 -0800
we don't always get a collectionchange so set adg after list creation
---
.../src/main/royale/mx/controls/beads/AdvancedDataGridView.as | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridView.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridView.as
index c6057a4..fc25a33 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridView.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridView.as
@@ -153,7 +153,12 @@ package mx.controls.beads
}
}
super.createLists();
-
+ for (i =0; i < columnLists.length; i++)
+ {
+ var list:AdvancedDataGridColumnList = columnLists[i] as AdvancedDataGridColumnList;
+ list.adg = _strand as AdvancedDataGrid;
+ }
+
for (i=0; i < sharedModel.columns.length; i++)
{
(sharedModel.columns[i] as AdvancedDataGridColumn).list = columnLists[i];
[royale-asjs] 08/13: clean compile ASDoc
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 3617abc3d5b91f3c0c9fede55729e2b87217bcc0
Author: Alex Harui <ah...@apache.org>
AuthorDate: Wed Feb 19 10:55:54 2020 -0800
clean compile ASDoc
---
.../ASDoc/src/main/config/asdoc-js-config.xml | 1 -
.../ASDoc/src/main/royale/ASDocMainView.mxml | 2 +-
...gBackgroundColorHashAnchorStringItemRenderer.as | 51 +--------
.../src/main/royale/EventSummaryRenderer.mxml | 53 +--------
.../src/main/royale/MethodSummaryRenderer.mxml | 51 +--------
.../royale/OptionalHashAnchorStringItemRenderer.as | 27 ++++-
.../ASDoc/src/main/royale/ParameterRenderer.as | 29 ++++-
.../ASDoc/src/main/royale/SummaryRenderer.mxml | 53 +--------
.../projects/Basic/src/main/royale/BasicClasses.as | 1 +
...ingBackgroundColorSelectableItemRendererBead.as | 122 +++++++++++++++++++++
.../beads/DataItemRendererFactoryForColumnData.as | 2 +-
.../DragDrop/src/main/royale/DragDropClasses.as | 2 +
.../beads/DragDropListItemRendererInitializer.as | 7 +-
.../MXRoyale/src/main/royale/MXRoyaleClasses.as | 1 +
.../listClasses/VirtualListVerticalLayout.as | 8 +-
15 files changed, 197 insertions(+), 213 deletions(-)
diff --git a/examples/royale/ASDoc/src/main/config/asdoc-js-config.xml b/examples/royale/ASDoc/src/main/config/asdoc-js-config.xml
index 8223575..17b9f56 100644
--- a/examples/royale/ASDoc/src/main/config/asdoc-js-config.xml
+++ b/examples/royale/ASDoc/src/main/config/asdoc-js-config.xml
@@ -616,7 +616,6 @@
<path-element>${frameworks_dir}/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/scrollbar/ScrollBar.as</path-element>
<path-element>${frameworks_dir}/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ScrollBarModel.as</path-element>
<path-element>${frameworks_dir}/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ButtonView.as</path-element>
- <path-element>${frameworks_dir}/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/CheckBoxView.as</path-element>
<path-element>${frameworks_dir}/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/RadioButtonView.as</path-element>
<path-element>${frameworks_dir}/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/TextFieldView.as</path-element>
<path-element>${frameworks_dir}/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/SliderTrackView.as</path-element>
diff --git a/examples/royale/ASDoc/src/main/royale/ASDocMainView.mxml b/examples/royale/ASDoc/src/main/royale/ASDocMainView.mxml
index 508677f..64a20b3 100644
--- a/examples/royale/ASDoc/src/main/royale/ASDocMainView.mxml
+++ b/examples/royale/ASDoc/src/main/royale/ASDocMainView.mxml
@@ -392,7 +392,7 @@ limitations under the License.
</fx:Style>
<fx:Declarations>
<fx:Component className="AltBGRenderer">
- <local:AlternatingBackgroundColorHashAnchorStringItemRenderer backgroundColor0="#ffffff" backgroundColor1="#ffeeee" />
+ <local:AlternatingBackgroundColorHashAnchorStringItemRenderer/>
</fx:Component>
</fx:Declarations>
<rs:states>
diff --git a/examples/royale/ASDoc/src/main/royale/AlternatingBackgroundColorHashAnchorStringItemRenderer.as b/examples/royale/ASDoc/src/main/royale/AlternatingBackgroundColorHashAnchorStringItemRenderer.as
index 6033830..5b2de9f 100644
--- a/examples/royale/ASDoc/src/main/royale/AlternatingBackgroundColorHashAnchorStringItemRenderer.as
+++ b/examples/royale/ASDoc/src/main/royale/AlternatingBackgroundColorHashAnchorStringItemRenderer.as
@@ -18,6 +18,7 @@
////////////////////////////////////////////////////////////////////////////////
package
{
+import org.apache.royale.html.beads.AlternatingBackgroundColorSelectableItemRendererBead;
/**
* The AlternatingBackgroundColorHashAnchorItemRenderer class displays data in string form using the data's toString()
@@ -41,55 +42,7 @@ package
*/
public function AlternatingBackgroundColorHashAnchorStringItemRenderer()
{
- }
-
- private var _color0:String;
-
- public function get backgroundColor0():String
- {
- return _color0;
- }
- public function set backgroundColor0(value:String):void
- {
- _color0 = value;
- }
-
- private var _color1:String;
-
- public function get backgroundColor1():String
- {
- return _color1;
- }
- public function set backgroundColor1(value:String):void
- {
- _color1 = value;
- }
-
- private var oddIndex:Boolean;
-
- override public function addedToParent():void
- {
- super.addedToParent();
-
- var index:int = parent.getElementIndex(this);
- oddIndex = ((index % 2) == 1)
- COMPILE::JS
- {
- element.style.backgroundColor = oddIndex ? _color1 : _color0;
- }
- }
-
- /**
- * @private
- */
- override public function updateRenderer():void
- {
- super.updateRenderer();
- COMPILE::JS
- {
- if (element.style.backgroundColor == null || element.style.backgroundColor == "")
- element.style.backgroundColor = oddIndex ? _color1 : _color0;
- }
+ addBead(new AlternatingBackgroundColorSelectableItemRendererBead());
}
}
diff --git a/examples/royale/ASDoc/src/main/royale/EventSummaryRenderer.mxml b/examples/royale/ASDoc/src/main/royale/EventSummaryRenderer.mxml
index 81fb01b..21f21a1 100644
--- a/examples/royale/ASDoc/src/main/royale/EventSummaryRenderer.mxml
+++ b/examples/royale/ASDoc/src/main/royale/EventSummaryRenderer.mxml
@@ -25,31 +25,11 @@ limitations under the License.
<fx:Script>
<![CDATA[
import models.ASDocModel;
-
- private var _color0:String = "#fff";
-
- public function get backgroundColor0():String
- {
- return _color0;
- }
- public function set backgroundColor0(value:String):void
- {
- _color0 = value;
- }
-
- private var _color1:String = "#ffeeee";
-
- public function get backgroundColor1():String
- {
- return _color1;
- }
- public function set backgroundColor1(value:String):void
- {
- _color1 = value;
- }
-
+ import org.apache.royale.html.beads.AlternatingBackgroundColorSelectableItemRendererBead;
+
override public function set data(value:Object):void
{
+ addBead(new AlternatingBackgroundColorSelectableItemRendererBead);
super.data = value;
qname.href = "#!" + obj.ownerhref + ASDocModel.DELIMITER + obj.qname;
if (obj.platforms.length == 1)
@@ -70,33 +50,6 @@ limitations under the License.
return data as ASDocClassEvents;
}
- private var oddIndex:Boolean;
-
- override public function addedToParent():void
- {
- super.addedToParent();
-
- var index:int = parent.getElementIndex(this);
- oddIndex = ((index % 2) == 1)
- COMPILE::JS
- {
- element.style.backgroundColor = oddIndex ? _color1 : _color0;
- }
- }
-
- /**
- * @private
- */
- override public function updateRenderer():void
- {
- super.updateRenderer();
- COMPILE::JS
- {
- if (element.style.backgroundColor == null || element.style.backgroundColor == "")
- element.style.backgroundColor = oddIndex ? _color1 : _color0;
- }
- }
-
]]>
</fx:Script>
<fx:Style>
diff --git a/examples/royale/ASDoc/src/main/royale/MethodSummaryRenderer.mxml b/examples/royale/ASDoc/src/main/royale/MethodSummaryRenderer.mxml
index 6c4b500..786448e 100644
--- a/examples/royale/ASDoc/src/main/royale/MethodSummaryRenderer.mxml
+++ b/examples/royale/ASDoc/src/main/royale/MethodSummaryRenderer.mxml
@@ -25,37 +25,15 @@ limitations under the License.
<fx:Script>
<![CDATA[
import models.ASDocModel;
+ import org.apache.royale.html.beads.AlternatingBackgroundColorSelectableItemRendererBead;
private static var fakeBothPlatforms:Object = {"addEventListener": 1, "removeEventListener" : 1,
"hasEventListener": 1, "dispatchEvent": 1,
"toString": 1};
- private var _color0:String = "#fff";
-
- public function get backgroundColor0():String
- {
- return _color0;
- }
- public function set backgroundColor0(value:String):void
- {
- _color0 = value;
- }
-
- private var _color1:String = "#ffeeee";
-
- public function get backgroundColor1():String
- {
- return _color1;
- }
- public function set backgroundColor1(value:String):void
- {
- _color1 = value;
- }
-
- private var oddIndex:Boolean;
-
override public function set data(value:Object):void
{
+ addBead(new AlternatingBackgroundColorSelectableItemRendererBead);
super.data = value;
if (value.returnhref)
typeGroup.removeElement(label);
@@ -80,31 +58,6 @@ limitations under the License.
return data as ASDocClassMembers;
}
- override public function addedToParent():void
- {
- super.addedToParent();
-
- var index:int = parent.getElementIndex(this);
- oddIndex = ((index % 2) == 1)
- COMPILE::JS
- {
- element.style.backgroundColor = oddIndex ? _color1 : _color0;
- }
- }
-
- /**
- * @private
- */
- override public function updateRenderer():void
- {
- super.updateRenderer();
- COMPILE::JS
- {
- if (element.style.backgroundColor == null || element.style.backgroundColor == "")
- element.style.backgroundColor = oddIndex ? _color1 : _color0;
- }
- }
-
]]>
</fx:Script>
<fx:Style>
diff --git a/examples/royale/ASDoc/src/main/royale/OptionalHashAnchorStringItemRenderer.as b/examples/royale/ASDoc/src/main/royale/OptionalHashAnchorStringItemRenderer.as
index a68e128..091ebf9 100644
--- a/examples/royale/ASDoc/src/main/royale/OptionalHashAnchorStringItemRenderer.as
+++ b/examples/royale/ASDoc/src/main/royale/OptionalHashAnchorStringItemRenderer.as
@@ -18,6 +18,8 @@
////////////////////////////////////////////////////////////////////////////////
package
{
+import org.apache.royale.core.IOwnerViewItemRenderer;
+import org.apache.royale.core.IItemRendererOwnerView;
import org.apache.royale.html.supportClasses.StringItemRenderer;
import org.apache.royale.html.List;
@@ -33,7 +35,7 @@ import org.apache.royale.html.List;
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class OptionalHashAnchorStringItemRenderer extends StringItemRenderer
+ public class OptionalHashAnchorStringItemRenderer extends StringItemRenderer implements IOwnerViewItemRenderer
{
/**
* constructor.
@@ -51,7 +53,7 @@ import org.apache.royale.html.List;
override public function set text(value:String):void
{
var last:Boolean = false;
- if (itemRendererParent)
+ if (itemRendererOwnerView)
{
var n:int = (parent as List).dataProvider.length;
last = n == index + 1;
@@ -69,6 +71,27 @@ import org.apache.royale.html.List;
this.element.innerHTML = "<a href='#!" + href + "' class='HashAnchorAnchor'>" + value + "</a>" + (last ? "" : " -> ");
}
}
+
+ private var _itemRendererOwnerView:IItemRendererOwnerView;
+
+ /**
+ * The text of the renderer
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.4
+ */
+ public function get itemRendererOwnerView():IItemRendererOwnerView
+ {
+ return _itemRendererOwnerView;
+ }
+
+ public function set itemRendererOwnerView(value:IItemRendererOwnerView):void
+ {
+ _itemRendererOwnerView = value;
+ }
+
}
}
diff --git a/examples/royale/ASDoc/src/main/royale/ParameterRenderer.as b/examples/royale/ASDoc/src/main/royale/ParameterRenderer.as
index ad22949..f00ff21 100644
--- a/examples/royale/ASDoc/src/main/royale/ParameterRenderer.as
+++ b/examples/royale/ASDoc/src/main/royale/ParameterRenderer.as
@@ -18,6 +18,8 @@
////////////////////////////////////////////////////////////////////////////////
package
{
+import org.apache.royale.core.IOwnerViewItemRenderer;
+import org.apache.royale.core.IItemRendererOwnerView;
import org.apache.royale.html.supportClasses.StringItemRenderer;
import org.apache.royale.html.DataContainer;
@@ -29,7 +31,7 @@ import org.apache.royale.html.DataContainer;
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class ParameterRenderer extends StringItemRenderer
+ public class ParameterRenderer extends StringItemRenderer implements IOwnerViewItemRenderer
{
/**
* constructor.
@@ -47,9 +49,9 @@ import org.apache.royale.html.DataContainer;
override public function set text(value:String):void
{
var last:Boolean = false;
- if (itemRendererParent)
+ if (itemRendererOwnerView)
{
- var n:int = (parent as DataContainer).dataProvider.length;
+ var n:int = (itemRendererOwnerView.host as DataContainer).dataProvider.length;
last = n == index + 1;
}
var html:String = "<span class='paramName'>" + data.name + ":</span>";
@@ -68,6 +70,27 @@ import org.apache.royale.html.DataContainer;
this.element.innerHTML = html;
}
}
+
+ private var _itemRendererOwnerView:IItemRendererOwnerView;
+
+ /**
+ * The text of the renderer
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.4
+ */
+ public function get itemRendererOwnerView():IItemRendererOwnerView
+ {
+ return _itemRendererOwnerView;
+ }
+
+ public function set itemRendererOwnerView(value:IItemRendererOwnerView):void
+ {
+ _itemRendererOwnerView = value;
+ }
+
}
}
diff --git a/examples/royale/ASDoc/src/main/royale/SummaryRenderer.mxml b/examples/royale/ASDoc/src/main/royale/SummaryRenderer.mxml
index bbb3ca9..392d2db 100644
--- a/examples/royale/ASDoc/src/main/royale/SummaryRenderer.mxml
+++ b/examples/royale/ASDoc/src/main/royale/SummaryRenderer.mxml
@@ -25,33 +25,11 @@ limitations under the License.
<fx:Script>
<![CDATA[
import models.ASDocModel;
-
- private var _color0:String = "#fff";
-
- public function get backgroundColor0():String
- {
- return _color0;
- }
- public function set backgroundColor0(value:String):void
- {
- _color0 = value;
- }
-
- private var _color1:String = "#ffeeee";
-
- public function get backgroundColor1():String
- {
- return _color1;
- }
- public function set backgroundColor1(value:String):void
- {
- _color1 = value;
- }
-
- private var oddIndex:Boolean;
+ import org.apache.royale.html.beads.AlternatingBackgroundColorSelectableItemRendererBead;
override public function set data(value:Object):void
{
+ addBead(new AlternatingBackgroundColorSelectableItemRendererBead);
super.data = value;
if (value.returnhref)
typeGroup.removeElement(label);
@@ -75,32 +53,7 @@ limitations under the License.
{
return data as ASDocClassMembers;
}
-
- override public function addedToParent():void
- {
- super.addedToParent();
-
- var index:int = parent.getElementIndex(this);
- oddIndex = ((index % 2) == 1)
- COMPILE::JS
- {
- element.style.backgroundColor = oddIndex ? _color1 : _color0;
- }
- }
-
- /**
- * @private
- */
- override public function updateRenderer():void
- {
- super.updateRenderer();
- COMPILE::JS
- {
- if (element.style.backgroundColor == null || element.style.backgroundColor == "")
- element.style.backgroundColor = oddIndex ? _color1 : _color0;
- }
- }
-
+
]]>
</fx:Script>
<fx:Style>
diff --git a/frameworks/projects/Basic/src/main/royale/BasicClasses.as b/frameworks/projects/Basic/src/main/royale/BasicClasses.as
index f354794..2f89a5a 100644
--- a/frameworks/projects/Basic/src/main/royale/BasicClasses.as
+++ b/frameworks/projects/Basic/src/main/royale/BasicClasses.as
@@ -77,6 +77,7 @@ internal class BasicClasses
import org.apache.royale.html.supportClasses.CascadingMenuItemRenderer; CascadingMenuItemRenderer;
import org.apache.royale.html.beads.SolidBackgroundSelectableItemRendererBead; SolidBackgroundSelectableItemRendererBead;
import org.apache.royale.html.beads.SolidBackgroundRuntimeSelectableItemRendererBead; SolidBackgroundRuntimeSelectableItemRendererBead;
+ import org.apache.royale.html.beads.AlternatingBackgroundColorSelectableItemRendererBead; AlternatingBackgroundColorSelectableItemRendererBead;
COMPILE::SWF
{
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/AlternatingBackgroundColorSelectableItemRendererBead.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/AlternatingBackgroundColorSelectableItemRendererBead.as
new file mode 100644
index 0000000..73ffb88
--- /dev/null
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/AlternatingBackgroundColorSelectableItemRendererBead.as
@@ -0,0 +1,122 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.html.beads
+{
+
+
+import org.apache.royale.utils.CSSUtils;
+import org.apache.royale.core.IIndexedItemRenderer;
+import org.apache.royale.core.IOwnerViewItemRenderer;
+import org.apache.royale.core.ISelectionModel;
+import org.apache.royale.core.ISelectableItemRenderer;
+import org.apache.royale.core.IStrand;
+import org.apache.royale.core.IStrandWithModel;
+import org.apache.royale.events.Event;
+import org.apache.royale.events.IEventDispatcher;
+import org.apache.royale.html.beads.SelectableItemRendererBeadBase;
+
+/**
+ * The AdvancedDataGridListData class defines the data type of the <code>listData</code> property
+ * implemented by drop-in item renderers or drop-in item editors for the AdvancedDataGrid control.
+ * All drop-in item renderers and drop-in item editors must implement the
+ * IDropInListItemRenderer interface, which defines the <code>listData</code> property.
+ *
+ * <p>While the properties of this class are writable, you should consider them to
+ * be read only. They are initialized by the AdvancedDataGrid class, and read by an item renderer
+ * or item editor. Changing these values can lead to unexpected results.</p>
+ *
+ * @see mx.controls.listClasses.IDropInListItemRenderer
+ * @see mx.controls.AdvancedDataGrid
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+public class AlternatingBackgroundColorSelectableItemRendererBead extends SelectableItemRendererBeadBase
+{
+// include "../../core/Version.as";
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+
+ override public function set strand(value:IStrand):void
+ {
+ super.strand = value;
+ (value as IEventDispatcher).addEventListener("dataChange", dataChangeHandler);
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+ public var backgroundColor0:String = "#fff";
+ public var backgroundColor1:String = "#ffeeee";
+
+ /**
+ * @private
+ */
+ override public function updateRenderer():void
+ {
+ var ir:IIndexedItemRenderer = _strand as IIndexedItemRenderer;
+ var backgroundColor:String = ((ir.index % 2) == 1) ? backgroundColor1 : backgroundColor0;
+
+ COMPILE::SWF
+ {
+ super.updateRenderer();
+ }
+ COMPILE::JS
+ {
+ if (selected)
+ {
+ ir.element.style.backgroundColor = '#9C9C9C';
+ }
+ else if (hovered)
+ {
+ ir.element.style.backgroundColor = '#ECECEC';
+ }
+ else
+ {
+ ir.element.style.backgroundColor = backgroundColor;
+ }
+ }
+ }
+
+ private function dataChangeHandler(event:Event):void
+ {
+ var ir:IIndexedItemRenderer = _strand as IIndexedItemRenderer;
+ var owner:IStrandWithModel = (ir as IOwnerViewItemRenderer).itemRendererOwnerView.host as IStrandWithModel;
+ var model:ISelectionModel = owner.model as ISelectionModel;
+ if (model.selectedIndex == ir.index)
+ {
+ selected = true;
+ }
+ else
+ selected = false;
+ }
+}
+
+}
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForColumnData.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForColumnData.as
index 150f470..62d63e3 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForColumnData.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForColumnData.as
@@ -66,7 +66,7 @@ package org.apache.royale.html.beads
* @royaleignorecoercion org.apache.royale.html.beads.DataGridColumnView
* @royaleignorecoercion org.apache.royale.html.supportClasses.DataItemRenderer
*/
- private function dataProviderChangeHandler(event:Event):void
+ override protected function dataProviderChangeHandler(event:Event):void
{
var dp:Array = selectionModel.dataProvider as Array;
if (!dp)
diff --git a/frameworks/projects/DragDrop/src/main/royale/DragDropClasses.as b/frameworks/projects/DragDrop/src/main/royale/DragDropClasses.as
index 49c55cc..54194db 100644
--- a/frameworks/projects/DragDrop/src/main/royale/DragDropClasses.as
+++ b/frameworks/projects/DragDrop/src/main/royale/DragDropClasses.as
@@ -49,6 +49,8 @@ internal class DragDropClasses
import org.apache.royale.html.beads.ButtonBarReorderBead; ButtonBarReorderBead;
import org.apache.royale.html.beads.DataGridDragDropBead; DataGridDragDropBead;
+
+ import org.apache.royale.html.beads.DragDropListItemRendererInitializer; DragDropListItemRendererInitializer;
}
diff --git a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/DragDropListItemRendererInitializer.as b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/DragDropListItemRendererInitializer.as
index d118cb1..c888473 100644
--- a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/DragDropListItemRendererInitializer.as
+++ b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/DragDropListItemRendererInitializer.as
@@ -27,7 +27,8 @@ 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.IUIBase;
+ import org.apache.royale.core.IStrandWithModelView;
+ import org.apache.royale.core.ItemRendererOwnerViewBead;
import org.apache.royale.core.SimpleCSSStyles;
import org.apache.royale.core.UIBase;
@@ -62,12 +63,12 @@ package org.apache.royale.html.beads
* @playerversion AIR 2.6
* @productversion Royale 0.0
* @royaleignorecoercion org.apache.royale.core.IItemRendererOwnerView
- * @royaleignorecoercion org.apache.royale.core.IUIBase
+ * @royaleignorecoercion org.apache.royale.core.IStrandWithModelView
*/
override public function set strand(value:IStrand):void
{
super.strand = value;
- ownerView = (value as IUIBase).view as IItemRendererOwnerView;
+ ownerView = (value as IStrandWithModelView).view as IItemRendererOwnerView;
}
private var ownerView:IItemRendererOwnerView;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
index b2de5ae..8bc090f 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
@@ -179,6 +179,7 @@ internal class MXRoyaleClasses
import mx.controls.beads.layouts.AdvancedDataGridLayout; AdvancedDataGridLayout;
import mx.controls.beads.layouts.DataGridLayout; DataGridLayout;
import mx.controls.beads.layouts.AdvancedDataGridVirtualListVerticalLayout; AdvancedDataGridVirtualListVerticalLayout;
+ import mx.controls.listClasses.VirtualListVerticalLayout; VirtualListVerticalLayout;
import mx.controls.beads.TreeItemRendererMouseController; TreeItemRendererMouseController;
import mx.formatters.Formatter; Formatter;
import mx.formatters.IFormatter; IFormatter;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/VirtualListVerticalLayout.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/VirtualListVerticalLayout.as
index 58e87b1..c0ecf81 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/VirtualListVerticalLayout.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/VirtualListVerticalLayout.as
@@ -30,7 +30,7 @@ package mx.controls.listClasses
import org.apache.royale.core.IListPresentationModel;
import org.apache.royale.core.IParentIUIBase;
import org.apache.royale.core.IScrollingViewport;
- import org.apache.royale.core.ISelectableItemRenderer;
+ import org.apache.royale.core.IIndexedItemRenderer;
import org.apache.royale.core.IStrand;
import org.apache.royale.core.IStrandWithPresentationModel;
import org.apache.royale.core.IUIBase;
@@ -228,7 +228,7 @@ package mx.controls.listClasses
}
for (var i:int = startIndex; i < endIndex; i++)
{
- var ir:ISelectableItemRenderer;
+ var ir:IIndexedItemRenderer;
if (i < firstIndex)
{
ir = factory.getItemRendererForIndex(i, i - startIndex);
@@ -342,7 +342,7 @@ package mx.controls.listClasses
}
for (var i:int = startIndex; i < endIndex; i++)
{
- var ir:ISelectableItemRenderer;
+ var ir:IIndexedItemRenderer;
if (i < firstIndex)
{
ir = factory.getItemRendererForIndex(i, i - startIndex + 1);
@@ -380,7 +380,7 @@ package mx.controls.listClasses
}
COMPILE::SWF
- private function sizeAndPositionRenderer(ir:ISelectableItemRenderer, xpos:Number, ypos:Number, hostWidth:Number, hostHeight:Number):void
+ private function sizeAndPositionRenderer(ir:IIndexedItemRenderer, xpos:Number, ypos:Number, hostWidth:Number, hostHeight:Number):void
{
var ilc:ILayoutChild;
var positions:Object = childPositions(ir);
[royale-asjs] 12/13: get examples to compile
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 67637008fe2e2f3c203310172b07086e9545bfed
Author: Alex Harui <ah...@apache.org>
AuthorDate: Wed Feb 19 17:33:52 2020 -0800
get examples to compile
---
.../DataGridExample/src/main/royale/products/ProductItemRenderer.as | 1 -
.../DragAndDropExample/src/main/royale/products/ProductItemRenderer.as | 2 --
2 files changed, 3 deletions(-)
diff --git a/examples/express/DataGridExample/src/main/royale/products/ProductItemRenderer.as b/examples/express/DataGridExample/src/main/royale/products/ProductItemRenderer.as
index 89e6862..1282e79 100644
--- a/examples/express/DataGridExample/src/main/royale/products/ProductItemRenderer.as
+++ b/examples/express/DataGridExample/src/main/royale/products/ProductItemRenderer.as
@@ -60,7 +60,6 @@ package products
image.width = 32;
image.height = 32;
- updateRenderer();
}
}
}
diff --git a/examples/royale/DragAndDropExample/src/main/royale/products/ProductItemRenderer.as b/examples/royale/DragAndDropExample/src/main/royale/products/ProductItemRenderer.as
index 89e6862..7e8a834 100644
--- a/examples/royale/DragAndDropExample/src/main/royale/products/ProductItemRenderer.as
+++ b/examples/royale/DragAndDropExample/src/main/royale/products/ProductItemRenderer.as
@@ -59,8 +59,6 @@ package products
image.y = cy - 16;
image.width = 32;
image.height = 32;
-
- updateRenderer();
}
}
}
[royale-asjs] 01/13: Merge branch 'has' into develop
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 19797e9dcc3f78257d60a1368f9fd278ed6158d8
Merge: 8de9ead bac0d85
Author: Alex Harui <ah...@apache.org>
AuthorDate: Mon Feb 17 23:43:45 2020 -0800
Merge branch 'has' into develop
.../main/royale/products/ProductItemRenderer.as | 2 -
.../ListExample/src/main/royale/MyInitialView.mxml | 7 +-
.../main/royale/simple/IRFactoryForArrayData.as | 178 ---------------
.../src/main/config/compile-app-config.xml | 3 +
.../AdvancedIconListItemRenderer.mxml | 2 +-
.../itemRenderers/IconDataGridItemRenderer.mxml | 2 +-
.../royale/itemRenderers/IconListItemRenderer.mxml | 2 +-
.../NavigationGroupExampleItemRenderer.mxml | 2 +-
.../TableCellCloseIconItemRenderer.mxml | 2 +-
.../projects/Basic/src/main/resources/defaults.css | 40 +++-
.../projects/Basic/src/main/royale/BasicClasses.as | 4 +
.../org/apache/royale/core/DataContainerBase.as | 2 +-
.../apache/royale/core/StyledMXMLItemRenderer.as | 78 +++----
.../royale/org/apache/royale/html/DataContainer.as | 2 +-
.../accessories/ToolTipRemovalWhenItemRemoved.as | 5 +-
.../royale/html/beads/AccordionCollapseBead.as | 4 +-
.../apache/royale/html/beads/DataContainerView.as | 28 +--
.../html/beads/DataItemRendererFactoryBase.as | 126 +++++++++++
.../beads/DataItemRendererFactoryForArrayData.as | 168 +++-----------
.../beads/DataItemRendererFactoryForArrayList.as | 139 ++----------
.../DataItemRendererFactoryForCollectionView.as | 217 +++++-------------
.../beads/DataItemRendererFactoryForColumnData.as | 84 +------
.../DataItemRendererFactoryForHierarchicalData.as | 52 +----
.../DynamicAddItemRendererForArrayListData.as | 184 +++------------
.../DynamicItemsRendererFactoryForArrayListData.as | 187 +++-------------
...cRemoveAllByNullItemRendererForArrayListData.as | 16 +-
...DynamicRemoveAllItemRendererForArrayListData.as | 16 +-
.../DynamicRemoveItemRendererForArrayListData.as | 102 +--------
.../DynamicUpdateItemRendererForArrayListData.as | 109 ++-------
.../apache/royale/html/beads/ITextItemRenderer.as | 7 +-
.../html/beads/IndexedItemRendererInitializer.as | 107 +++++++++
...yForArrayData.as => ItemRendererFactoryBase.as} | 149 ++++++-------
.../html/beads/ListItemRendererInitializer.as | 87 ++++++++
.../org/apache/royale/html/beads/ListView.as | 79 +++++--
.../MultiSelectionItemRendererClassFactory.as | 6 +-
.../royale/html/beads/MultiSelectionListView.as | 2 +-
...dBackgroundRuntimeSelectableItemRendererBead.as | 128 +++++++++++
.../SolidBackgroundSelectableItemRendererBead.as} | 59 ++---
.../beads/TextItemRendererFactoryForArrayData.as | 8 +-
.../TextItemRendererFactoryForStringVectorData.as | 10 +-
.../html/beads/TreeItemRendererInitializer.as | 86 +++++++
.../royale/html/beads/VirtualDataContainerView.as | 4 +-
...ta.as => VirtualDataItemRendererFactoryBase.as} | 92 ++++----
.../VirtualDataItemRendererFactoryForArrayData.as | 166 ++------------
.../apache/royale/html/beads/VirtualListView.as | 74 +++++--
.../controllers/ItemRendererMouseController.as | 57 +++--
.../ListMultiSelectionMouseController.as | 29 ++-
.../ListSingleSelectionMouseController.as | 26 ++-
.../MultiSelectionItemRendererMouseController.as | 59 +++--
.../layouts/UseMaxChildForTileCellDimensions.as | 4 +-
.../beads/layouts/VirtualListVerticalLayout.as | 8 +-
.../html/supportClasses/AccordionItemRenderer.as | 107 +--------
...AlternatingBackgroundColorStringItemRenderer.as | 39 ++--
.../supportClasses/ButtonBarButtonItemRenderer.as | 4 +-
.../supportClasses/CascadingMenuItemRenderer.as | 2 -
.../html/supportClasses/ColorItemRenderer.as | 51 ++---
.../html/supportClasses/ContainerContentArea.as | 11 +-
.../DataGridButtonBarButtonItemRenderer.as | 2 +-
.../apache/royale/html/supportClasses/DataGroup.as | 4 +-
.../royale/html/supportClasses/DataItemRenderer.as | 25 ---
.../html/supportClasses/GraphicsItemRenderer.as | 21 +-
.../html/supportClasses/MenuBarItemRenderer.as | 2 -
.../royale/html/supportClasses/MenuItemRenderer.as | 2 -
.../html/supportClasses/StringItemRenderer.as | 1 -
.../html/supportClasses/TextButtonItemRenderer.as | 124 +----------
.../html/supportClasses/TextFieldItemRenderer.as | 17 +-
.../supportClasses/TreeGridControlItemRenderer.as | 37 +++-
.../royale/html/supportClasses/TreeItemRenderer.as | 25 ++-
.../html/supportClasses/UIItemRendererBase.as | 170 +-------------
.../Charts/src/main/resources/defaults.css | 5 +
.../Charts/src/main/royale/ChartsClasses.as | 1 +
.../charts/beads/ChartItemRendererFactory.as | 7 +-
.../beads/ChartSelectableItemRendererBead.as | 110 +++++++++
.../org/apache/royale/charts/beads/ChartView.as | 11 +-
...ataItemRendererFactoryForSeriesArrayListData.as | 94 ++------
.../beads/DataItemRendererFactoryForSeriesData.as | 246 ++++++++++++++-------
.../controllers/ChartSeriesMouseController.as | 4 +-
.../layouts/LineChartCategoryVsLinearLayout.as | 1 -
.../beads/layouts/LineChartLinearVsLinearLayout.as | 1 -
.../apache/royale/charts/core/IChartDataGroup.as | 4 +-
.../royale/charts/core/IChartItemRenderer.as | 13 ++
.../royale/charts/optimized/SVGBoxItemRenderer.as | 1 -
.../royale/charts/optimized/SVGChartDataGroup.as | 22 +-
.../charts/optimized/SVGLineSegmentItemRenderer.as | 78 +------
.../charts/optimized/SVGWedgeItemRenderer.as | 52 +----
.../charts/supportClasses/BoxItemRenderer.as | 120 +---------
.../royale/charts/supportClasses/ChartDataGroup.as | 24 +-
.../ChartItemRenderer.as} | 76 +++++--
.../supportClasses/LineSegmentItemRenderer.as | 73 +-----
.../charts/supportClasses/WedgeItemRenderer.as | 79 +------
.../org/apache/royale/collections/IArrayList.as | 2 +-
.../projects/Core/src/main/royale/CoreClasses.as | 8 +
.../core/IDataProviderVirtualItemRendererMapper.as | 2 +-
.../apache/royale/core/IIndexedItemRenderer.as} | 18 +-
...arent.as => IIndexedItemRendererInitializer.as} | 28 +--
.../royale/org/apache/royale/core/IItemRenderer.as | 25 +--
.../royale/core/IItemRendererClassFactory.as | 8 +-
...ndererParent.as => IItemRendererInitializer.as} | 31 ++-
...RendererParent.as => IItemRendererOwnerView.as} | 9 +-
.../apache/royale/core/ILabelFieldItemRenderer.as} | 26 +--
.../main/royale/org/apache/royale/core/IList.as | 2 +-
.../apache/royale/core/IListDataItemRenderer.as} | 19 +-
.../apache/royale/core/IOwnerViewItemRenderer.as} | 27 +--
.../apache/royale/core/ISelectableItemRenderer.as | 25 +--
.../apache/royale/core/ItemRendererClassFactory.as | 13 +-
.../royale/core/ItemRendererOwnerViewBead.as} | 31 +--
...er.as => SelectableItemRendererClassFactory.as} | 85 ++++---
.../org/apache/royale/events/ItemAddedEvent.as | 2 +-
.../org/apache/royale/events/ItemRemovedEvent.as | 2 +-
.../org/apache/royale/events/ItemRendererEvent.as | 2 +-
.../org/apache/royale/html/beads/IListView.as | 4 +-
.../html/beads/SelectableItemRendererBeadBase.as | 212 ++++++++++++++++++
.../royale/html/beads/ButtonBarReorderBead.as | 14 +-
.../beads/DragDropListItemRendererInitializer.as | 86 +++++++
.../html/beads/MultiSelectionDragImageBead.as | 6 +-
.../beads/SensitiveMultiSelectionDropTargetBead.as | 22 +-
.../SensitiveSingleSelectionDropTargetBead.as | 22 +-
.../html/beads/SingleSelectionDragImageBead.as | 2 +-
.../html/beads/SingleSelectionDragSourceBead.as | 4 +-
.../html/beads/SingleSelectionDropIndicatorBead.as | 2 +-
.../html/beads/SingleSelectionDropTargetBead.as | 20 +-
.../projects/Flat/src/main/resources/defaults.css | 3 +-
.../projects/Flat/src/main/royale/FlatClasses.as | 2 +-
...stSolidBackgroundSelectableItemRendererBead.as} | 16 +-
.../projects/Jewel/src/main/resources/defaults.css | 5 +
.../projects/Jewel/src/main/royale/JewelClasses.as | 5 +
.../controllers/ItemRendererMouseController.as | 68 +++---
.../TableCellSelectionMouseController.as | 18 +-
.../AddListItemRendererForArrayListData.as | 34 +--
.../itemRenderers/AddTableRowForArrayListData.as | 22 +-
...tHoverableRuntimeSelectableItemRendererBead.as} | 46 ++--
...electorListRuntimeSelectableItemRendererBead.as | 122 ++++++++++
.../DataItemRendererFactoryForArrayData.as | 19 +-
.../DataItemRendererFactoryForCollectionView.as | 39 ++--
...DownListItemRendererFactoryForCollectionView.as | 10 +-
.../jewel/beads/itemRenderers/ITextItemRenderer.as | 5 +-
.../JewelListItemRendererInitializer.as | 122 ++++++++++
.../RemoveAllItemRendererForArrayListData.as | 16 +-
.../RemoveListItemRendererForArrayListData.as | 26 +--
.../RemoveTableRowForArrayListData.as | 24 +-
.../TableItemRendererFactoryForCollectionView.as | 22 +-
.../UpdateListItemRendererForArrayListData.as | 20 +-
.../UpdateTableRowForArrayListData.as | 24 +-
...tualDataItemRendererFactoryForCollectionView.as | 163 ++------------
.../beads/layouts/VirtualListVerticalLayout.as | 8 +-
.../royale/jewel/beads/views/DropDownListView.as | 22 +-
.../apache/royale/jewel/beads/views/ListView.as | 134 ++++++-----
.../apache/royale/jewel/beads/views/TabBarView.as | 12 +-
.../apache/royale/jewel/beads/views/TableView.as | 18 +-
.../royale/jewel/beads/views/VirtualListView.as | 49 ++--
.../jewel/itemRenderers/ButtonBarItemRenderer.as | 20 +-
.../CollapsibleNavigationSectionRenderer.as | 15 +-
.../royale/jewel/itemRenderers/DateItemRenderer.as | 8 +-
.../itemRenderers/DropDownListItemRenderer.as | 6 +-
.../itemRenderers/IconButtonBarItemRenderer.as | 125 +----------
.../royale/jewel/itemRenderers/ListItemRenderer.as | 54 +----
.../itemRenderers/NavigationLinkItemRenderer.as | 15 +-
.../jewel/itemRenderers/StringItemRenderer.as | 1 -
.../itemRenderers/TabBarButtonItemRenderer.as | 41 +---
.../jewel/itemRenderers/TableItemRenderer.as | 29 +++
.../itemRenderers/ToggleButtonBarItemRenderer.as | 23 +-
.../supportClasses/container/DataContainerBase.as | 2 +-
.../royale/jewel/supportClasses/list/DataGroup.as | 2 +-
.../jewel/supportClasses/table/TBodyContentArea.as | 31 +--
.../MXRoyale/src/main/resources/defaults.css | 11 +-
.../MXRoyale/src/main/royale/MXRoyaleClasses.as | 4 +
.../MXRoyale/src/main/royale/mx/controls/Button.as | 43 +++-
.../MXRoyale/src/main/royale/mx/controls/Label.as | 43 +++-
.../AdvancedDataGridHeaderRenderer.as | 19 --
.../AdvancedDataGridItemRenderer.as | 88 +++-----
.../AdvancedDataGridSelectableItemRendererBead.as | 140 ++++++++++++
...actoryForICollectionViewAdvancedDataGridData.as | 105 +--------
.../AdvancedDataGridItemRendererInitializer.as | 117 ++++++++++
.../mx/controls/beads/AdvancedDataGridView.as | 8 +-
.../controls/beads/ListItemRendererInitializer.as | 85 +++++++
.../controls/beads/TreeItemRendererInitializer.as | 86 +++++++
.../AdvancedDataGridVirtualListVerticalLayout.as | 6 +-
.../mx/controls/listClasses/AdvancedListBase.as | 23 +-
...ataItemRendererFactoryForICollectionViewData.as | 88 ++++----
.../DataItemRendererFactoryForIListData.as | 76 ++++---
.../listClasses/IDropInListItemRenderer.as | 23 +-
.../mx/controls/listClasses/IListItemRenderer.as | 2 +-
.../mx/controls/listClasses/ListItemRenderer.as | 137 ++----------
...ataItemRendererFactoryForICollectionViewData.as | 42 +---
.../VirtualDataItemRendererFactoryForIListData.as | 57 ++---
...rerFactoryForICollectionViewHierarchicalData.as | 86 ++-----
.../mx/controls/treeClasses/TreeItemRenderer.as | 171 +-------------
.../src/main/royale/mx/core/IDataRenderer.as | 22 +-
.../src/main/royale/mx/core/UIComponent.as | 18 ++
.../src/main/resources/defaults.css | 7 +
.../src/main/royale/MDLClasses.as | 1 +
.../DynamicTabsAddItemRendererForArrayListData.as | 37 ----
.../TabsDataItemRendererFactoryForArrayListData.as | 72 +-----
.../beads/TabsItemRendererFactoryForArrayData.as | 8 +-
.../mdl/beads/TabsItemRendererInitializer.as | 120 ++++++++++
.../itemRenderers/FooterLinkItemMouseRenderer.as | 5 -
.../royale/mdl/itemRenderers/MenuItemRenderer.as | 5 -
.../NavigationLinkItemMouseRenderer.as | 5 -
.../mdl/itemRenderers/TableRowItemRenderer.as | 2 +-
.../TableRowItemSingleSelectionMouseRenderer.as | 32 ++-
.../royale/mdl/supportClasses/ITabItemRenderer.as | 5 +-
.../SparkRoyale/src/main/resources/defaults.css | 12 +-
.../main/royale/spark/components/DataRenderer.as | 29 ++-
.../royale/spark/components/beads/TabBarView.as | 21 +-
.../components/supportClasses/ItemRenderer.as | 18 +-
.../supportClasses/SparkTextButtonItemRenderer.as | 12 +-
206 files changed, 4080 insertions(+), 4692 deletions(-)
diff --cc frameworks/projects/Basic/src/main/royale/org/apache/royale/core/StyledMXMLItemRenderer.as
index fd63ad2,7b38413..b1cf951
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/StyledMXMLItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/StyledMXMLItemRenderer.as
@@@ -18,7 -18,9 +18,9 @@@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.core
{
+ import org.apache.royale.html.supportClasses.MXMLStatesItemRenderer;
+ import org.apache.royale.core.IItemRendererOwnerView;
+ import org.apache.royale.core.IOwnerViewItemRenderer;
- import org.apache.royale.html.supportClasses.MXMLItemRenderer;
import org.apache.royale.utils.ClassSelectorList;
import org.apache.royale.utils.IClassSelectorListSupport;
import org.apache.royale.utils.IEmphasis;
@@@ -32,7 -34,7 +34,7 @@@
* @playerversion AIR 2.6
* @productversion Royale 0.9.3
*/
- public class StyledMXMLItemRenderer extends MXMLStatesItemRenderer implements IClassSelectorListSupport, IRuntimeSelectableItemRenderer, IEmphasis
- public class StyledMXMLItemRenderer extends MXMLItemRenderer implements IClassSelectorListSupport, IEmphasis, IOwnerViewItemRenderer
++ public class StyledMXMLItemRenderer extends MXMLStatesItemRenderer implements IClassSelectorListSupport, IEmphasis, IOwnerViewItemRenderer
{
/**
* constructor.
@@@ -233,9 -205,9 +205,9 @@@
{
super.addedToParent();
- if (itemRendererParent && itemRendererParent.host is IEmphasis && (itemRendererParent.host as IEmphasis).emphasis)
- if (itemRendererOwnerView.host is IEmphasis && (itemRendererOwnerView.host as IEmphasis).emphasis)
++ if (itemRendererOwnerView && itemRendererOwnerView.host is IEmphasis && (itemRendererOwnerView.host as IEmphasis).emphasis)
{
- emphasis = (itemRendererParent.host as IEmphasis).emphasis;
+ emphasis = (itemRendererOwnerView.host as IEmphasis).emphasis;
} else
{
emphasis = "primary";
diff --cc frameworks/projects/Basic/src/main/royale/org/apache/royale/html/accessories/ToolTipRemovalWhenItemRemoved.as
index a72b82d,5108897..3ef69d6
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/accessories/ToolTipRemovalWhenItemRemoved.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/accessories/ToolTipRemovalWhenItemRemoved.as
@@@ -16,20 -16,20 +16,21 @@@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.reflection.beads
+package org.apache.royale.html.accessories
{
+ import org.apache.royale.core.IBead;
+ import org.apache.royale.core.IBeadView;
- import org.apache.royale.core.IItemRenderer;
++ import org.apache.royale.core.IOwnerViewItemRenderer;
++ import org.apache.royale.core.IItemRendererOwnerView;
+ import org.apache.royale.core.IToolTipBead;
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.events.IEventDispatcher;
+ import org.apache.royale.events.ItemRemovedEvent;
- import org.apache.royale.reflection.TypeDefinition;
- import org.apache.royale.core.IBead;
- import org.apache.royale.core.IStrand;
-
/**
- * An easy way to configure Royale Reflection classes to use caching.
- * This can increase memory use, but will provide faster performance for any
- * application that uses reflection in a central role.
- * This bead should be used at the Application level, before any reflection support
- * is needed.
- *
+ * The ToolTipRemovalWhenItemRemoved class can be used in lists that have
+ * item tenderers that have tooltips.
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@@ -57,24 -56,13 +58,24 @@@
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion Royale 0.0
+ * @productversion Royale 0.9.7
*/
- public function set strand(value:IStrand):void
+ public function set strand(value:IStrand):void
+ {
- var eventDispatcher:IEventDispatcher = ((value as IItemRenderer).itemRendererParent as IBeadView).host as IEventDispatcher;
++ var eventDispatcher:IEventDispatcher = ((value as IOwnerViewItemRenderer).itemRendererOwnerView as IBeadView).host as IEventDispatcher;
+ eventDispatcher.addEventListener("itemRemoved", handleItemRemoved);
+ }
+
+ protected function handleItemRemoved(event:ItemRemovedEvent):void
{
- TypeDefinition.useCache = true;
+ _tooltip.removeTip();
}
-
- }
+ private var _tooltip:IToolTipBead;
+ public function set tooltip(value:IToolTipBead):void
+ {
+ _tooltip = value;
+ }
+
+ }
}
diff --cc frameworks/projects/Core/src/main/royale/CoreClasses.as
index 4acda47,7a7d3a1..786a010
--- a/frameworks/projects/Core/src/main/royale/CoreClasses.as
+++ b/frameworks/projects/Core/src/main/royale/CoreClasses.as
@@@ -261,8 -266,9 +268,9 @@@ internal class CoreClasse
import org.apache.royale.core.IDataGridModel; IDataGridModel;
import org.apache.royale.core.IDataGridPresentationModel; IDataGridPresentationModel;
- import org.apache.royale.core.IDateChooserModel; IDateChooserModel;
+ import org.apache.royale.core.IDateChooserModelWithChangeCheck; IDateChooserModelWithChangeCheck;
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 --cc frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/VirtualDataItemRendererFactoryForCollectionView.as
index d5b6532,0000000..6d3a89b
mode 100644,000000..100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/VirtualDataItemRendererFactoryForCollectionView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/VirtualDataItemRendererFactoryForCollectionView.as
@@@ -1,253 -1,0 +1,132 @@@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.jewel.beads.itemRenderers
+{
+ import org.apache.royale.collections.ArrayList;
+ import org.apache.royale.collections.ICollectionView;
+ import org.apache.royale.core.IBead;
+ import org.apache.royale.core.IDataProviderModel;
+ import org.apache.royale.core.IDataProviderVirtualItemRendererMapper;
+ import org.apache.royale.core.IItemRendererClassFactory;
- import org.apache.royale.core.IItemRendererParent;
++ import org.apache.royale.core.IIndexedItemRenderer;
+ import org.apache.royale.core.ISelectableItemRenderer;
+ import org.apache.royale.core.ISelectionModel;
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.core.IStrandWithModelView;
+ import org.apache.royale.core.UIBase;
+ 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;
++ import org.apache.royale.html.beads.VirtualDataItemRendererFactoryBase;
+ import org.apache.royale.html.supportClasses.DataItemRenderer;
+ import org.apache.royale.jewel.supportClasses.list.IListPresentationModel;
+ import org.apache.royale.utils.loadBeadFromValuesManager;
+ import org.apache.royale.utils.sendStrandEvent;
+
+ [Event(name="itemRendererCreated",type="org.apache.royale.events.ItemRendererEvent")]
+
+ /**
+ * The DataItemRendererFactoryForArrayData 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.9.7
+ */
- public class VirtualDataItemRendererFactoryForCollectionView extends EventDispatcher implements IBead, IDataProviderVirtualItemRendererMapper
++ public class VirtualDataItemRendererFactoryForCollectionView extends VirtualDataItemRendererFactoryBase
+ {
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ */
+ public function VirtualDataItemRendererFactoryForCollectionView(target:Object=null)
+ {
+ super(target);
+ }
+
- protected var dataProviderModel:IDataProviderModel;
- protected var dataFieldProvider:DataFieldProviderBead;
-
- protected var labelField:String;
- protected var dataField:String;
-
- 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.9.7
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- IEventDispatcher(value).addEventListener("initComplete", initComplete);
- }
-
- /**
- * @private
- */
- private function initComplete(event:Event):void
- {
- IEventDispatcher(_strand).removeEventListener("initComplete", initComplete);
-
- var view:IListView = (_strand as IStrandWithModelView).view as IListView;
- dataGroup = view.dataGroup;
-
- dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
- dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
- labelField = dataProviderModel.labelField;
-
- 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.9.7
- */
- 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;
- }
-
- /**
- * 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.9.7
- */
- protected var dataGroup:IItemRendererParent;
++ private var dp:ArrayList;
+
+ /**
- * 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.9.7
+ * @royaleignorecoercion org.apache.royale.core.IStrandWithModelView
+ * @royaleignorecoercion org.apache.royale.html.beads.IListView
+ */
- protected function dataProviderChangeHandler(event:Event):void
++ override protected function dataProviderChangeHandler(event:Event):void
+ {
+ if (!dataProviderModel)
+ return;
- var dp:ICollectionView = dataProviderModel.dataProvider as ICollectionView;
++ dp = dataProviderModel.dataProvider as ArrayList;
+ if (!dp)
+ return;
+
- dataGroup.removeAllItemRenderers();
++ super.dataProviderChangeHandler(event);
+
+ sendStrandEvent(_strand, "layoutNeeded");
+ }
+
+ /**
- * Free an item renderer for a given index.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.7
- * @royaleignorecoercion org.apache.royale.core.IStrandWithModelView
- * @royaleignorecoercion org.apache.royale.html.beads.IListView
- */
- public function freeItemRendererForIndex(index:int):void
- {
- dataGroup.removeItemRenderer(rendererMap[index]);
- delete rendererMap[index];
- }
-
- protected var rendererMap:Object = {};
-
- /**
+ * Get an item renderer for a given index.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ * @royaleignorecoercion org.apache.royale.core.IStrandWithModelView
+ * @royaleignorecoercion org.apache.royale.html.beads.IListView
+ */
- public function getItemRendererForIndex(index:int, elementIndex:int):ISelectableItemRenderer
++ override public function getItemRendererForIndex(index:int, elementIndex:int):IIndexedItemRenderer
+ {
- var ir:ISelectableItemRenderer = rendererMap[index];
++ var ir:IIndexedItemRenderer = rendererMap[index];
+ if (ir) return ir;
+
- var dp:ArrayList = dataProviderModel.dataProvider as ArrayList;
-
- ir = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
- var dataItemRenderer:DataItemRenderer = ir as DataItemRenderer;
-
- dataGroup.addItemRendererAt(ir, elementIndex);
- ir.index = index;
- ir.labelField = labelField;
- if (dataItemRenderer)
- {
- dataItemRenderer.dataField = dataField;
- }
- rendererMap[index] = ir;
-
- var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
- if (presentationModel) {
- UIBase(ir).height = presentationModel.rowHeight;
-
- if(ir is IAlignItemRenderer)
- {
- (ir as IAlignItemRenderer).align = presentationModel.align;
- }
- }
- ir.data = dp.getItemAt(index);
-
++ ir = super.getItemRendererForIndex(index, elementIndex);
++
+ // if the item was already selected make the item show it
+ if(index == (dataProviderModel as ISelectionModel).selectedIndex)
+ {
- ir.selected = true;
++ var selectionBead:ISelectableItemRenderer;
++ selectionBead = ir.getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer;
++ if (selectionBead)
++ selectionBead.selected = false;
+ }
+
- var itemCreatedEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
- itemCreatedEvent.itemRenderer = ir;
- sendStrandEvent(_strand, itemCreatedEvent);
+ return ir;
+ }
++
++ override public function getItemAt(index:int):Object
++ {
++ return dp.getItemAt(index);
++ }
++
+ }
+}
diff --cc frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/VirtualListVerticalLayout.as
index a22ca7a,0000000..aba0652
mode 100644,000000..100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/VirtualListVerticalLayout.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/VirtualListVerticalLayout.as
@@@ -1,463 -1,0 +1,463 @@@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.jewel.beads.layouts
+{
+ COMPILE::SWF {
+ import org.apache.royale.core.IBorderPaddingMarginValuesImpl;
+ import org.apache.royale.core.ILayoutChild;
+ import org.apache.royale.core.IScrollingViewport;
+ import org.apache.royale.core.ISelectionModel;
+ import org.apache.royale.core.IUIBase;
+ import org.apache.royale.core.ValuesManager;
+ import org.apache.royale.core.layout.EdgeData;
+ import org.apache.royale.geom.Size;
+ import org.apache.royale.html.beads.VirtualDataContainerView;
+ }
+ import org.apache.royale.collections.ICollectionView;
+ import org.apache.royale.core.IBeadLayout;
+ import org.apache.royale.core.IDataProviderModel;
+ import org.apache.royale.core.IDataProviderVirtualItemRendererMapper;
+ import org.apache.royale.core.ILayoutView;
- import org.apache.royale.core.ISelectableItemRenderer;
++ import org.apache.royale.core.IIndexedItemRenderer;
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.core.IStrandWithPresentationModel;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.jewel.supportClasses.list.IListPresentationModel;
+
+ /**
+ * The VirtualListVerticalLayout class is used for Jewel List that wants to use VirtualListView
+ * and Virtual ItemRenders.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ */
+ public class VirtualListVerticalLayout extends StyledLayoutBase implements IBeadLayout
+ {
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ * @royaleignorecoercion HTMLDivElement
+ */
+ public function VirtualListVerticalLayout()
+ {
+ super();
+ }
+
+ protected var dataProviderModel:IDataProviderModel;
+
+ override public function set strand(value:IStrand):void
+ {
+ super.strand = value;
+ dataProviderModel = host.getBeadByType(IDataProviderModel) as IDataProviderModel;
+
+ COMPILE::JS
+ {
+ host.element.addEventListener("scroll", scrollHandler);
+ }
+ }
+
+ // override public function set strand(value:IStrand):void
+ // {
+ // super.strand = value;
+ // // dataProviderModel = host.getBeadByType(IDataProviderModel) as IDataProviderModel;
+ // listModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
+
+ // //if the list is composed as part of another component, with a shared model (e.g. ComboBox) then it should not be the primary dispatcher
+ // if (listModel is IJewelSelectionModel && !(IJewelSelectionModel(listModel).hasDispatcher)) {
+ // IJewelSelectionModel(listModel).dispatcher = IEventDispatcher(value);
+ // }
+ // else {
+ // IEventDispatcher(listModel).addEventListener('rollOverIndexChanged', modelChangeHandler);
+ // IEventDispatcher(listModel).addEventListener('selectionChanged', modelChangeHandler);
+ // IEventDispatcher(listModel).addEventListener('dataProviderChanged', modelChangeHandler);
+ // }
+ // COMPILE::JS
+ // {
+ // host.element.addEventListener("scroll", scrollHandler);
+ // }
+ // }
+ // protected function modelChangeHandler(event:Event):void{
+ // IEventDispatcher(_strand).dispatchEvent(new Event(event.type));
+ // }
+
+ COMPILE::JS
+ protected var topSpacer:HTMLDivElement;
+
+ COMPILE::JS
+ protected var bottomSpacer:HTMLDivElement;
+
+ protected var visibleIndexes:Array = [];
+
+ protected function scrollHandler(e:Event):void
+ {
+ layout();
+ }
+
+ private var inLayout:Boolean;
+
+ /**
+ * Layout children vertically
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ * @royaleignorecoercion Array
+ * @royaleignorecoercion org.apache.royale.core.ILayoutHost
+ * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+ * @royaleignorecoercion org.apache.royale.jewel.supportClasses.list.IListPresentationModel
+ * @royaleignorecoercion org.apache.royale.core.IStrandWithPresentationModel
+ */
+ override public function layout():Boolean
+ {
+ if (inLayout) return true;
+ inLayout = true;
+
+ COMPILE::SWF
+ {
+ // the strategy for virtualization in SWF is based on the
+ // fact that we can completely control the scrolling metrics
+ // instead of trying to rely on the browsers built-in scrolling.
+ // This code puts enough renderers on the screen and then dictates
+ // the scrolling metrics.
+ var contentView:ILayoutView = layoutView;
+
+ var maxWidth:Number = 0;
+ var maxHeight:Number = 0;
+ var dp:ICollectionView = dataProviderModel.dataProvider as ICollectionView;
+ if (!dp)
+ {
+ inLayout = false;
+ return true;
+ }
+ var presentationModel:IListPresentationModel = (host as IStrandWithPresentationModel).presentationModel as IListPresentationModel;
+ var hostWidthSizedToContent:Boolean = host.isWidthSizedToContent();
+ var hostHeightSizedToContent:Boolean = host.isHeightSizedToContent();
+ var hostWidth:Number = host.width;
+ var hostHeight:Number = host.height;
+
+ var data:Object;
+ var canAdjust:Boolean = false;
+
+ var paddingMetrics:EdgeData = (ValuesManager.valuesImpl as IBorderPaddingMarginValuesImpl).getPaddingMetrics(host);
+ var borderMetrics:EdgeData = (ValuesManager.valuesImpl as IBorderPaddingMarginValuesImpl).getBorderMetrics(host);
+
+ // adjust the host's usable size by the metrics. If hostSizedToContent, then the
+ // resulting adjusted value may be less than zero.
+ hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
+ hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
+
+ var xpos:Number = borderMetrics.left + paddingMetrics.left;
+ var ypos:Number = borderMetrics.top + paddingMetrics.top;
+
+ var viewport:IScrollingViewport = host.getBeadByType(IScrollingViewport) as IScrollingViewport;
+ viewport.addEventListener("verticalScrollPositionChanged", scrollHandler);
+ var viewportTop:Number = viewport.verticalScrollPosition;
+ var viewportHeight:Number = hostHeight;
+ var startIndex:int = Math.floor(viewportTop / presentationModel.rowHeight);
+ var factory:IDataProviderVirtualItemRendererMapper = host.getBeadByType(IDataProviderVirtualItemRendererMapper) as IDataProviderVirtualItemRendererMapper;
+ var endIndex:int = Math.ceil((viewportTop + viewportHeight) / presentationModel.rowHeight);
+ var freeIndex:int;
+ var firstIndex:int;
+ var lastIndex:int;
+
+ if (visibleIndexes.length)
+ {
+ if (startIndex < visibleIndexes[0])
+ {
+ // see if we can re-use any renderers
+ freeIndex = visibleIndexes.pop();
+ while (freeIndex >= endIndex)
+ {
+ factory.freeItemRendererForIndex(freeIndex);
+ if (visibleIndexes.length == 0)
+ break;
+ freeIndex = visibleIndexes.pop();
+ }
+ if (visibleIndexes.length)
+ endIndex = visibleIndexes[visibleIndexes.length - 1];
+ }
+ else if (startIndex > visibleIndexes[0])
+ {
+ // see if we can re-use any renderers
+ freeIndex = visibleIndexes.shift();
+ while (freeIndex < startIndex)
+ {
+ factory.freeItemRendererForIndex(freeIndex);
+ if (visibleIndexes.length == 0)
+ break;
+ freeIndex = visibleIndexes.shift();
+ }
+ }
+ else
+ {
+ // see if rows got added or removed because height changed
+ lastIndex = visibleIndexes[visibleIndexes.length - 1];
+ if (lastIndex > endIndex)
+ {
+ // see if we can re-use any renderers
+ freeIndex = visibleIndexes.pop();
+ while (freeIndex > endIndex)
+ {
+ factory.freeItemRendererForIndex(freeIndex);
+ if (visibleIndexes.length == 0)
+ break;
+ freeIndex = visibleIndexes.pop();
+ }
+ inLayout = false;
+ return true; // we should be all done if we shrunk
+ }
+ }
+ firstIndex = visibleIndexes[0];
+ lastIndex = visibleIndexes[visibleIndexes.length - 1];
+ }
+ else
+ {
+ firstIndex = dp.length;
+ lastIndex = 0;
+ }
+ for (var i:int = startIndex; i < endIndex; i++)
+ {
+ if (i >= dp.length) continue; // no more renderers needed
+
- var ir:ISelectableItemRenderer;
++ var ir:IIndexedItemRenderer;
+ if (i < firstIndex)
+ {
+ ir = factory.getItemRendererForIndex(i, i - startIndex);
+ sizeAndPositionRenderer(ir, xpos, ypos + (presentationModel.rowHeight * i), hostWidth, hostHeight);
+ visibleIndexes.push(i);
+ }
+ else if (i > lastIndex)
+ {
+ ir = factory.getItemRendererForIndex(i, i - startIndex);
+ sizeAndPositionRenderer(ir, xpos, ypos + (presentationModel.rowHeight * i), hostWidth, hostHeight);
+ visibleIndexes.push(i);
+ }
+ }
+ visibleIndexes = visibleIndexes.sort(numberSort);
+
+ var view:VirtualDataContainerView = host.getBeadByType(VirtualDataContainerView) as VirtualDataContainerView;
+ view.lastContentSize = new Size(hostWidth, dp.length * presentationModel.rowHeight);
+
+ inLayout = false;
+ return true;
+ }
+ COMPILE::JS
+ {
+ // the strategy for virtualization in JS is to leverage the built-in scrollbars
+ // by creating a topSpacer and bottomSpacer that take up the area that is offscreen
+ // so the scrollbars have the right metrics, then create enough renderers to
+ // show in the visible area. This code does not recycle renderers, but the
+ // factory can. This code does try to keep renderers on the DOM that aren't
+ // going off-screen
+ var contentView:ILayoutView = layoutView;
+ var dp:ICollectionView = dataProviderModel.dataProvider as ICollectionView;
+ if (!dp)
+ {
+ inLayout = false;
+ return true;
+ }
+ var presentationModel:IListPresentationModel = (host as IStrandWithPresentationModel).presentationModel as IListPresentationModel;
+ var totalHeight:Number = presentationModel.rowHeight * dp.length;
+ var viewportTop:Number = Math.max(contentView.element.scrollTop, 0);
+ var viewportHeight:Number = contentView.height;
+ var startIndex:int = Math.floor(viewportTop / presentationModel.rowHeight);
+ var factory:IDataProviderVirtualItemRendererMapper = host.getBeadByType(IDataProviderVirtualItemRendererMapper) as IDataProviderVirtualItemRendererMapper;
+ var endIndex:int = Math.ceil((viewportTop + viewportHeight) / presentationModel.rowHeight) + 1;
+ var freeIndex:int;
+ var firstIndex:int;
+ var lastIndex:int;
+ if (!topSpacer)
+ {
+ topSpacer = document.createElement("div") as HTMLDivElement;
+ contentView.element.appendChild(topSpacer);
+ }
+ topSpacer.style.height = (startIndex * presentationModel.rowHeight).toString() + "px";
+ // trace("starting layout: startIndex = " + startIndex + " endIndex = " + endIndex);
+ if (visibleIndexes.length)
+ {
+ // trace("visibleIndexes: " + visibleIndexes);
+ if (startIndex < visibleIndexes[0])
+ {
+ // trace("startIndex < visibleIndex[0]");
+ // see if we can re-use any renderers
+ freeIndex = visibleIndexes.pop();
+ // trace("freeIndex: " + freeIndex);
+ while (freeIndex > endIndex)
+ {
+ // trace("free: " + freeIndex);
+ factory.freeItemRendererForIndex(freeIndex);
+ if (visibleIndexes.length == 0)
+ break;
+ freeIndex = visibleIndexes.pop();
+ }
+ // we popped it off at the end of loop but if we didn't
+ // use it, then push it back on
+ if (freeIndex == endIndex)
+ visibleIndexes.push(freeIndex);
+ if (visibleIndexes.length)
+ {
+ endIndex = visibleIndexes[visibleIndexes.length - 1];
+ // trace("changing endIndex: " + endIndex);
+ }
+ }
+ else if (startIndex > visibleIndexes[0])
+ {
+ // trace("startIndex > visibleIndex[0]");
+ // see if we can re-use any renderers
+ freeIndex = visibleIndexes.shift();
+ // trace("freeIndex: " + freeIndex);
+ while (freeIndex < startIndex)
+ {
+ // trace("free: " + freeIndex);
+ factory.freeItemRendererForIndex(freeIndex);
+ if (visibleIndexes.length == 0)
+ break;
+ freeIndex = visibleIndexes.shift();
+ }
+ }
+ else
+ {
+ // trace("startIndex == visibleIndex[0]");
+ // see if rows got added or removed because height changed
+ lastIndex = visibleIndexes[visibleIndexes.length - 1];
+ // trace("lastIndex: " + lastIndex);
+ if (lastIndex > endIndex)
+ {
+ // see if we can re-use any renderers
+ freeIndex = visibleIndexes.pop();
+ // trace("freeIndex: " + freeIndex);
+ while (freeIndex > endIndex)
+ {
+ // trace("free: " + freeIndex);
+ factory.freeItemRendererForIndex(freeIndex);
+ if (visibleIndexes.length == 0)
+ break;
+ freeIndex = visibleIndexes.pop();
+ }
+ inLayout = false;
+ return true; // we should be all done if we shrunk
+ }
+ }
+ firstIndex = visibleIndexes[0];
+ lastIndex = visibleIndexes[visibleIndexes.length - 1];
+ // trace("done freeing: firstIndex = " + firstIndex + " lastIndex = " + lastIndex);
+ }
+ else
+ {
+ firstIndex = dp.length;
+ lastIndex = 0;
+ // trace("no freeing: firstIndex = " + firstIndex + " lastIndex = " + lastIndex);
+ }
+ for (var i:int = startIndex; i < endIndex; i++)
+ {
+ if (i >= dp.length) continue; // no more renderers needed
+
- var ir:ISelectableItemRenderer;
++ var ir:IIndexedItemRenderer;
+ if (i < firstIndex)
+ {
+ // trace("i < firstIndex: creating: i = " + i);
+ ir = factory.getItemRendererForIndex(i, i - startIndex + 1);
+ visibleIndexes.push(i);
+ }
+ else if (i > lastIndex)
+ {
+ // trace("i > lastIndex: creating: i = " + i);
+ ir = factory.getItemRendererForIndex(i, i - startIndex + 1);
+ visibleIndexes.push(i);
+ }
+ }
+ visibleIndexes = visibleIndexes.sort(numberSort);
+ // trace("visibleIndexes: " + visibleIndexes);
+ if (!bottomSpacer)
+ {
+ bottomSpacer = document.createElement("div") as HTMLDivElement;
+ contentView.element.appendChild(bottomSpacer);
+ }
+ else
+ {
+ // ensure bottom spacer is at the bottom!
+ contentView.element.removeChild(bottomSpacer);
+ contentView.element.appendChild(bottomSpacer);
+ }
+
+ var numBottomRows:int = dp.length - endIndex;
+ bottomSpacer.style.height = (numBottomRows > 0) ? (numBottomRows * presentationModel.rowHeight).toString() + "px" : "0px";
+ // trace("ENDING LAYOUT: bottom spacer = " + bottomSpacer.style.height);
+ inLayout = false;
+ return true;
+ }
+ }
+
+ public function numberSort(a:int, b:int):int
+ {
+ return a - b;
+ }
+
+ COMPILE::SWF
- protected function sizeAndPositionRenderer(ir:ISelectableItemRenderer, xpos:Number, ypos:Number, hostWidth:Number, hostHeight:Number):void
++ protected function sizeAndPositionRenderer(ir:IIndexedItemRenderer, xpos:Number, ypos:Number, hostWidth:Number, hostHeight:Number):void
+ {
+ var ilc:ILayoutChild;
+ var positions:Object = childPositions(ir);
+ var margins:Object = childMargins(ir, hostWidth, hostHeight);
+
+ ilc = ir as ILayoutChild;
+ var child:IUIBase = ir as IUIBase;
+
+ ypos += margins.top;
+
+ var childXpos:Number = xpos + margins.left; // default x position
+
+ var childWidth:Number = child.width;
+ if (ilc != null && !isNaN(ilc.percentWidth)) {
+ childWidth = hostWidth * ilc.percentWidth/100.0;
+ ilc.setWidth(childWidth);
+ }
+ else if (ilc.isWidthSizedToContent() && !margins.auto)
+ {
+ childWidth = hostWidth;
+ ilc.setWidth(childWidth);
+ }
+ if (margins.auto)
+ childXpos = (hostWidth - childWidth) / 2;
+
+ if (ilc) {
+ ilc.setX(childXpos);
+ ilc.setY(ypos);
+
+ if (!isNaN(ilc.percentHeight)) {
+ var newHeight:Number = hostHeight * ilc.percentHeight / 100;
+ ilc.setHeight(newHeight);
+ }
+
+ } else {
+ child.x = childXpos;
+ child.y = ypos;
+ }
+
+ ypos += child.height + margins.bottom;
+ }
+ }
+}
diff --cc frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ListView.as
index d8ad7e8,4cc2122..cb781f8
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ListView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ListView.as
@@@ -18,9 -18,14 +18,10 @@@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.jewel.beads.views
{
- import org.apache.royale.core.IItemRendererParent;
- COMPILE::JS
- {
- import org.apache.royale.events.IEventDispatcher;
- }
- import org.apache.royale.core.IItemRenderer;
+ import org.apache.royale.core.IItemRendererOwnerView;
import org.apache.royale.core.ILayoutView;
import org.apache.royale.core.IRollOverModel;
++ import org.apache.royale.core.IItemRenderer;
import org.apache.royale.core.ISelectableItemRenderer;
import org.apache.royale.core.ISelectionModel;
import org.apache.royale.core.IStrand;
diff --cc frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/VirtualListView.as
index 26737a1,0000000..a65bcb4
mode 100644,000000..100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/VirtualListView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/VirtualListView.as
@@@ -1,137 -1,0 +1,154 @@@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.jewel.beads.views
+{
+ import org.apache.royale.core.IItemRenderer;
+ import org.apache.royale.core.IRollOverModel;
++ import org.apache.royale.core.IIndexedItemRenderer;
+ import org.apache.royale.core.ISelectableItemRenderer;
+ import org.apache.royale.core.ISelectionModel;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.html.beads.VirtualDataContainerView;
+
+ /**
+ * The VirtualListView class creates the visual elements of the org.apache.royale.jewel.List
+ * component in a way that can be recicled to reuse as the user scrolls the list getting performance improvements
+ * when dataproviders with lots of items are passed to the component. In This way Royale just create a few
+ * item renderers visible for the user, instead of one renderer for each item in the data provider.
+ *
+ * A List consists of the area to display the data (in the dataGroup), any
+ * scrollbars, and so forth.
+ *
+ * @viewbead
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ */
+ public class VirtualListView extends VirtualDataContainerView
+ {
+ public function VirtualListView()
+ {
+ super();
+ }
+
+ protected var listModel:ISelectionModel;
+
+ protected var lastSelectedIndex:int = -1;
+
+ /**
+ * @private
+ * @royaleignorecoercion org.apache.royale.core.ISelectionModel
+ */
+ override protected function handleInitComplete(event:Event):void
+ {
+ listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+ listModel.addEventListener("selectionChanged", selectionChangeHandler);
+ listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
+ // listenOnStrand("itemsCreated", itemsCreatedHandler);
+
+ super.handleInitComplete(event);
+ }
+
+ /**
+ * @private
+ * Ensure the list selects the selectedItem if some is set by the user at creation time
+ */
+ // override protected function itemsCreatedHandler(event:Event):void
+ // {
+ // super.itemsCreatedHandler(event);
+ // if(listModel.selectedIndex != -1)
+ // selectionChangeHandler(null);
+ // }
+
+ protected var firstElementIndex:int = 1;
+ /**
+ * Retrieve the renderer for a given index
+ */
+ override public function getItemRendererForIndex(index:int):IItemRenderer
+ {
+ if (contentView.numElements == 0)
+ return null;
+
- var firstIndex:int = (contentView.getElementAt(firstElementIndex) as ISelectableItemRenderer).index;
++ var firstIndex:int = (contentView.getElementAt(firstElementIndex) as IIndexedItemRenderer).index;
+
+ if (index < firstIndex)
+ return null;
+ if (index >= (firstIndex + contentView.numElements))
+ return null;
+
+ return contentView.getElementAt(index - firstIndex + firstElementIndex) as IItemRenderer;
+ }
+
+ /**
+ * @private
- * @royaleignorecoercion org.apache.royale.core.ISelectableItemRenderer
++ * @royaleignorecoercion org.apache.royale.core.IIndexedItemRenderer
+ */
+ 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.getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer;
++ if (selectionBead)
++ selectionBead.selected = false;
++ }
++ ir = dataGroup.getItemRendererForIndex(listModel.selectedIndex) as IItemRenderer;
++ if (ir) {
++ selectionBead = ir.getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer;
++ if (selectionBead)
++ selectionBead.selected = true;
++ }
++
+ lastSelectedIndex = listModel.selectedIndex;
+ }
+
+ protected var lastRollOverIndex:int = -1;
+
+ /**
+ * @private
- * @royaleignorecoercion org.apache.royale.core.ISelectableItemRenderer
++ * @royaleignorecoercion org.apache.royale.core.IIndexedItemRenderer
+ * * @royaleignorecoercion org.apache.royale.core.IRollOverModel
+ */
+ protected function rollOverIndexChangeHandler(event:Event):void
+ {
- var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as ISelectableItemRenderer;
- if(ir)
- ir.hovered = false;
- ir = dataGroup.getItemRendererForIndex((listModel as IRollOverModel).rollOverIndex) as ISelectableItemRenderer;
- if(ir)
- ir.hovered = true;
++ var selectionBead:ISelectableItemRenderer;
++ var ir:IIndexedItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as IIndexedItemRenderer;
++ if (ir)
++ {
++ selectionBead = ir.getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer;
++ if (selectionBead)
++ selectionBead.hovered = false;
++ }
++ ir = dataGroup.getItemRendererForIndex((listModel as IRollOverModel).rollOverIndex) as IIndexedItemRenderer;
++ if (ir) {
++ selectionBead = ir.getBeadByType(ISelectableItemRenderer) as ISelectableItemRenderer;
++ if (selectionBead)
++ selectionBead.hovered = true;
++ }
+ lastRollOverIndex = (listModel as IRollOverModel).rollOverIndex;
+ }
+
+ override protected function dataProviderChangeHandler(event:Event):void
+ {
+
+ }
+ }
+}
[royale-asjs] 06/13: distinguish between clicking on open/close
icon or label of Tree ItemRenderer. Should fix #670
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 97e33c52fb9f1f69d23f5b58c38fc5a16cc388d1
Author: Alex Harui <ah...@apache.org>
AuthorDate: Tue Feb 18 16:53:29 2020 -0800
distinguish between clicking on open/close icon or label of Tree ItemRenderer. Should fix #670
---
.../TreeSingleSelectionMouseController.as | 26 +++++-
.../MXRoyale/src/main/resources/defaults.css | 2 +-
.../MXRoyale/src/main/royale/MXRoyaleClasses.as | 1 +
.../beads/TreeItemRendererMouseController.as | 96 ++++++++++++++++++++++
.../mx/controls/treeClasses/TreeItemRenderer.as | 2 +-
5 files changed, 123 insertions(+), 4 deletions(-)
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/TreeSingleSelectionMouseController.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/TreeSingleSelectionMouseController.as
index 9636991..a0cd0d0 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/TreeSingleSelectionMouseController.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/TreeSingleSelectionMouseController.as
@@ -20,7 +20,10 @@ package org.apache.royale.html.beads.controllers
{
import org.apache.royale.collections.ITreeData;
import org.apache.royale.core.IStrand;
+ import org.apache.royale.events.IEventDispatcher;
+ import org.apache.royale.events.ItemAddedEvent;
import org.apache.royale.events.ItemClickedEvent;
+ import org.apache.royale.events.ItemRemovedEvent;
import org.apache.royale.utils.sendStrandEvent;
/**
@@ -63,7 +66,7 @@ package org.apache.royale.html.beads.controllers
/**
* @private
*/
- override protected function selectedHandler(event:ItemClickedEvent):void
+ protected function expandedHandler(event:ItemClickedEvent):void
{
var treeData:ITreeData = listModel.dataProvider as ITreeData;
if (treeData == null) return;
@@ -78,10 +81,29 @@ package org.apache.royale.html.beads.controllers
treeData.openNode(node);
}
}
-
+ /** what is this for? was in selectedHandler
// reset the selection
listModel.selectedItem = node;
sendStrandEvent(_strand,"change");
+ */
+ }
+
+ /**
+ * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
+ */
+ override protected function handleItemAdded(event:ItemAddedEvent):void
+ {
+ super.handleItemAdded(event);
+ IEventDispatcher(event.item).addEventListener("itemExpanded", expandedHandler);
+ }
+
+ /**
+ * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
+ */
+ override protected function handleItemRemoved(event:ItemRemovedEvent):void
+ {
+ super.handleItemRemoved(event);
+ IEventDispatcher(event.item).removeEventListener("itemExpanded", expandedHandler);
}
}
}
diff --git a/frameworks/projects/MXRoyale/src/main/resources/defaults.css b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
index 6e83a85..b0f4e39 100644
--- a/frameworks/projects/MXRoyale/src/main/resources/defaults.css
+++ b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
@@ -449,7 +449,7 @@ Tree
TreeItemRenderer
{
- IBeadController: ClassReference("org.apache.royale.html.beads.controllers.ItemRendererMouseController");
+ IBeadController: ClassReference("mx.controls.beads.TreeItemRendererMouseController");
cursor: pointer;
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
index 8547ab9..cd54e79 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
@@ -179,6 +179,7 @@ internal class MXRoyaleClasses
import mx.controls.beads.layouts.AdvancedDataGridLayout; AdvancedDataGridLayout;
import mx.controls.beads.layouts.DataGridLayout; DataGridLayout;
import mx.controls.beads.layouts.AdvancedDataGridVirtualListVerticalLayout; AdvancedDataGridVirtualListVerticalLayout;
+ import mx.controls.beads.TreeItemRendererMouseController; TreeItemRendererMouseController;
import mx.formatters.Formatter; Formatter;
import mx.formatters.IFormatter; IFormatter;
import mx.formatters.NumberBase; NumberBase;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererMouseController.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererMouseController.as
new file mode 100644
index 0000000..6c17086
--- /dev/null
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererMouseController.as
@@ -0,0 +1,96 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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 mx.controls.beads
+{
+ import org.apache.royale.core.IBeadController;
+ import org.apache.royale.core.IIndexedItemRenderer;
+ import org.apache.royale.core.ISelectableItemRenderer;
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.core.IUIBase;
+COMPILE::SWF {
+ import org.apache.royale.events.Event;
+ import org.apache.royale.events.MouseEvent;
+}
+COMPILE::JS {
+ import org.apache.royale.core.WrappedHTMLElement;
+ import org.apache.royale.events.BrowserEvent;
+ import goog.events.Event;
+ import goog.events.EventType;
+ import goog.events;
+}
+ import org.apache.royale.html.beads.controllers.ItemRendererMouseController;
+ import org.apache.royale.events.ItemClickedEvent;
+ import org.apache.royale.utils.sendEvent;
+ import mx.controls.treeClasses.TreeItemRenderer;
+
+ /**
+ * The TreeItemRendererMouseController class handles mouse events for item renderers
+ * in tree classes.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.0
+ */
+ public class TreeItemRendererMouseController extends ItemRendererMouseController
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.0
+ */
+ public function TreeItemRendererMouseController()
+ {
+ }
+
+ /**
+ * @private
+ * @royaleemitcoercion org.apache.royale.core.IIndexedItemRenderer
+ */
+ COMPILE::JS
+ override protected function handleMouseClick(event:BrowserEvent):void
+ {
+ var target:IIndexedItemRenderer = event.currentTarget as IIndexedItemRenderer;
+ if (target)
+ {
+ if (target is TreeItemRenderer)
+ {
+ var expandIcon:IUIBase = (target as TreeItemRenderer).disclosureIcon;
+ if (event.target == expandIcon)
+ {
+ var expandEvent:ItemClickedEvent = new ItemClickedEvent("itemExpanded");
+ expandEvent.data = target.data;
+ expandEvent.index = target.index;
+ sendEvent(target,expandEvent);
+ return;
+ }
+ }
+ var newEvent:ItemClickedEvent = new ItemClickedEvent("itemClicked");
+ newEvent.data = target.data;
+ newEvent.index = target.index;
+
+ sendEvent(target,newEvent);
+ }
+ }
+
+ }
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as
index f3daf68..146d621 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as
@@ -169,7 +169,7 @@ public class TreeItemRenderer extends UIComponent
* @playerversion AIR 1.1
* @productversion Flex 3
*/
- protected var disclosureIcon:Label;
+ public var disclosureIcon:Label;
//--------------------------------------------------------------------------
//
[royale-asjs] 03/13: Merge branch 'develop' of
https://github.com/apache/royale-asjs into develop
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 7082ae3f6ad718de386e384d7e5455b3f91a1e7d
Merge: edb9bd1 b3c63f5
Author: Alex Harui <ah...@apache.org>
AuthorDate: Tue Feb 18 01:35:58 2020 -0800
Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
.../royale/org/apache/royale/binding/PropertyWatcher.as | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
[royale-asjs] 07/13: mxtests pass
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit ea9279bb16da91dec0c16019044af2b7ec77387a
Author: Alex Harui <ah...@apache.org>
AuthorDate: Tue Feb 18 23:39:27 2020 -0800
mxtests pass
---
.../royale/org/apache/royale/html/DataContainer.as | 9 +-
.../MXRoyale/src/main/resources/defaults.css | 2 +
.../MXRoyale/src/main/royale/MXRoyaleClasses.as | 1 +
.../main/royale/mx/collections/ICollectionView.as | 1 -
.../MXRoyale/src/main/royale/mx/controls/Button.as | 6 +-
.../controls/beads/ListItemRendererInitializer.as | 2 +-
.../controls/beads/models/ListPresentationModel.as | 47 +++++++++
...ataItemRendererFactoryForICollectionViewData.as | 108 ++++++++++++++++++++-
.../royale/mx/controls/listClasses/ListBase.as | 1 +
9 files changed, 168 insertions(+), 9 deletions(-)
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as
index d3dae3d..be71a3a 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/DataContainer.as
@@ -35,6 +35,7 @@ package org.apache.royale.html
import org.apache.royale.core.IDataProviderModel;
import org.apache.royale.core.UIBase;
import org.apache.royale.core.ValuesManager;
+ import org.apache.royale.utils.loadBeadFromValuesManager;
COMPILE::JS
{
import org.apache.royale.core.WrappedHTMLElement;
@@ -146,8 +147,12 @@ package org.apache.royale.html
{
var presModel:IListPresentationModel = getBeadByType(IListPresentationModel) as IListPresentationModel;
if (presModel == null) {
- presModel = new ListPresentationModel();
- addBead(presModel);
+ presModel = loadBeadFromValuesManager(IListPresentationModel, "iListPresentationModel", this) as IListPresentationModel;
+ if (presModel == null)
+ {
+ presModel = new ListPresentationModel();
+ addBead(presModel);
+ }
}
return presModel;
}
diff --git a/frameworks/projects/MXRoyale/src/main/resources/defaults.css b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
index b0f4e39..3f18c00 100644
--- a/frameworks/projects/MXRoyale/src/main/resources/defaults.css
+++ b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
@@ -59,12 +59,14 @@ Basic|CascadingMenu
IDataProviderItemRendererMapper: ClassReference("mx.controls.listClasses.DataItemRendererFactoryForICollectionViewData");
IBeadController: ClassReference("mx.controls.beads.controllers.CascadingMenuSelectionMouseController");
IMenu: ClassReference("mx.controls.menuClasses.CascadingMenuWithOnScreenCheck");
+ IListPresentationModel: ClassReference("mx.controls.beads.models.ListPresentationModel");
}
Basic|ComboBoxList
{
IDataProviderItemRendererMapper: ClassReference("mx.controls.listClasses.DataItemRendererFactoryForICollectionViewData");
IBeadModel: ClassReference("mx.controls.beads.models.SingleSelectionICollectionViewModel");
+ IListPresentationModel: ClassReference("mx.controls.beads.models.ListPresentationModel");
}
Basic|DataGridColumnList {
diff --git a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
index cd54e79..b2de5ae 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
@@ -257,6 +257,7 @@ internal class MXRoyaleClasses
import mx.controls.beads.models.DataGridColumnICollectionViewModel; DataGridColumnICollectionViewModel;
import mx.controls.beads.models.DataGridICollectionViewModel; DataGridICollectionViewModel;
import mx.controls.beads.models.DataGridPresentationModel; DataGridPresentationModel;
+ import mx.controls.beads.models.ListPresentationModel; ListPresentationModel;
import mx.controls.beads.models.SingleSelectionIListModel; SingleSelectionIListModel;
import mx.controls.buttonBarClasses.TextButtonDataGridColumnItemRenderer; TextButtonDataGridColumnItemRenderer;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ICollectionView.as b/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ICollectionView.as
index d9ea7e0..33e4b94 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ICollectionView.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ICollectionView.as
@@ -21,7 +21,6 @@ package mx.collections
{
import mx.events.CollectionEvent;
-import org.apache.royale.collections.ICollectionView;
import org.apache.royale.events.IEventDispatcher;
/**
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Button.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Button.as
index 311b077..fc3ea48 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Button.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Button.as
@@ -479,7 +479,7 @@ public class Button extends UIComponent implements IDataRenderer, IListItemRende
* @private
* Storage for the listData property.
*/
- private var _listData:BaseListData;
+ private var _listData:Object;
[Bindable("dataChange")]
[Inspectable(environment="none")]
@@ -504,7 +504,7 @@ public class Button extends UIComponent implements IDataRenderer, IListItemRende
* @playerversion AIR 1.1
* @productversion Flex 3
*/
- public function get listData():BaseListData
+ public function get listData():Object
{
return _listData;
}
@@ -512,7 +512,7 @@ public class Button extends UIComponent implements IDataRenderer, IListItemRende
/**
* @private
*/
- public function set listData(value:BaseListData):void
+ public function set listData(value:Object):void
{
_listData = value;
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/ListItemRendererInitializer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/ListItemRendererInitializer.as
index 439ce92..642e72c 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/ListItemRendererInitializer.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/ListItemRendererInitializer.as
@@ -75,7 +75,7 @@ package mx.controls.beads
if (!dataProviderModel)
return;
- super.initializeItemRenderer(ir, data, index);
+ super.initializeIndexedItemRenderer(ir, data, index);
if (ir is IOwnerViewItemRenderer)
(ir as IOwnerViewItemRenderer).itemRendererOwnerView = ownerView;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/ListPresentationModel.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/ListPresentationModel.as
new file mode 100644
index 0000000..6dfaa74
--- /dev/null
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/ListPresentationModel.as
@@ -0,0 +1,47 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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 mx.controls.beads.models
+{
+ import org.apache.royale.html.beads.models.ListPresentationModel;
+
+ /**
+ * DataGrid Presentation Model
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.0
+ */
+ public class ListPresentationModel extends org.apache.royale.html.beads.models.ListPresentationModel
+ {
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.0
+ */
+ public function ListPresentationModel()
+ {
+ super();
+ rowHeight = 22;
+ }
+ }
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataItemRendererFactoryForICollectionViewData.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataItemRendererFactoryForICollectionViewData.as
index ee6d141..7ecf118 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataItemRendererFactoryForICollectionViewData.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataItemRendererFactoryForICollectionViewData.as
@@ -30,7 +30,9 @@ package mx.controls.listClasses
import org.apache.royale.core.IItemRendererOwnerView;
import org.apache.royale.core.IListPresentationModel;
import org.apache.royale.core.IIndexedItemRenderer;
+ import org.apache.royale.core.IIndexedItemRendererInitializer;
import org.apache.royale.core.IStrand;
+ import org.apache.royale.core.IStrandWithModelView;
import org.apache.royale.core.IUIBase;
import org.apache.royale.core.SimpleCSSStyles;
import org.apache.royale.core.UIBase;
@@ -41,7 +43,8 @@ package mx.controls.listClasses
import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.events.ItemRendererEvent;
import org.apache.royale.html.List;
- import org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView;
+ import org.apache.royale.html.beads.IListView;
+ import org.apache.royale.html.beads.DataItemRendererFactoryBase;
import org.apache.royale.html.supportClasses.TreeListData;
/**
@@ -56,7 +59,7 @@ package mx.controls.listClasses
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class DataItemRendererFactoryForICollectionViewData extends DataItemRendererFactoryForCollectionView
+ public class DataItemRendererFactoryForICollectionViewData extends DataItemRendererFactoryBase
{
/**
* Constructor.
@@ -122,5 +125,106 @@ package mx.controls.listClasses
cursor.moveNext();
return obj;
}
+
+ /**
+ * @private
+ * @royaleignorecoercion org.apache.royale.collections.ICollectionView
+ * @royaleignorecoercion org.apache.royale.core.IListPresentationModel
+ * @royaleignorecoercion org.apache.royale.core.IIndexedItemRenderer
+ * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
+ */
+ protected function itemAddedHandler(event:CollectionEvent):void
+ {
+ if (!dataProviderModel)
+ return;
+ dp = dataProviderModel.dataProvider as ICollectionView;
+ if (!dp)
+ return;
+
+ var view:IListView = (_strand as IStrandWithModelView).view as IListView;
+ var dataGroup:IItemRendererOwnerView = view.dataGroup;
+
+ var ir:IIndexedItemRenderer = itemRendererFactory.createItemRenderer() as IIndexedItemRenderer;
+ dataGroup.addItemRendererAt(ir, event.index);
+
+ var data:Object = event.item;
+ (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, event.index);
+ ir.data = data;
+
+ // update the index values in the itemRenderers to correspond to their shifted positions.
+ var n:int = dataGroup.numItemRenderers;
+ for (var i:int = event.index; i < n; i++)
+ {
+ ir = dataGroup.getItemRendererAt(i) as IIndexedItemRenderer;
+ ir.index = i;
+
+ // could let the IR know its index has been changed (eg, it might change its
+ // UI based on the index). Instead (PAYG), allow another bead to detect
+ // this event and do this as not every IR will need to be updated.
+ //var ubase:UIItemRendererBase = ir as UIItemRendererBase;
+ //if (ubase) ubase.updateRenderer()
+ }
+
+ (_strand as IEventDispatcher).dispatchEvent(new Event("itemsCreated"));
+ (_strand as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
+ }
+
+ protected function itemRemovedHandler(event:CollectionEvent):void
+ {
+ if (!dataProviderModel)
+ return;
+ dp = dataProviderModel.dataProvider as ICollectionView;
+ if (!dp)
+ return;
+
+ var view:IListView = (_strand as IStrandWithModelView).view as IListView;
+ var dataGroup:IItemRendererOwnerView = view.dataGroup;
+
+ var ir:IIndexedItemRenderer = dataGroup.getItemRendererAt(event.index) as IIndexedItemRenderer;
+ if (!ir) return; // may have already been cleaned up, possibly when a tree node closes
+ dataGroup.removeItemRenderer(ir);
+
+ // adjust the itemRenderers' index to adjust for the shift
+ var n:int = dataGroup.numItemRenderers;
+ for (var i:int = event.index; i < n; i++)
+ {
+ ir = dataGroup.getItemRendererAt(i) as IIndexedItemRenderer;
+ ir.index = i;
+
+ // could let the IR know its index has been changed (eg, it might change its
+ // UI based on the index). Instead (PAYG), allow another bead to detect
+ // this event and do this as not every IR will need to be updated.
+ //var ubase:UIItemRendererBase = ir as UIItemRendererBase;
+ //if (ubase) ubase.updateRenderer()
+ }
+
+ (_strand as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
+ }
+
+ /**
+ * @private
+ * @royaleignorecoercion org.apache.royale.collections.ICollectionView
+ * @royaleignorecoercion org.apache.royale.core.IIndexedItemRenderer
+ */
+ protected function itemUpdatedHandler(event:CollectionEvent):void
+ {
+ if (!dataProviderModel)
+ return;
+ dp = dataProviderModel.dataProvider as ICollectionView;
+ if (!dp)
+ return;
+
+ var view:IListView = (_strand as IStrandWithModelView).view as IListView;
+ var dataGroup:IItemRendererOwnerView = view.dataGroup;
+
+ // update the given renderer with (possibly) new information so it can change its
+ // appearence or whatever.
+ var ir:IIndexedItemRenderer = dataGroup.getItemRendererAt(event.index) as IIndexedItemRenderer;
+
+ var data:Object = event.item;
+ (itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, event.index);
+ ir.data = data;
+ }
+
}
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListBase.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListBase.as
index 13fa268..ef9b9b0 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListBase.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/ListBase.as
@@ -733,6 +733,7 @@ use namespace mx_internal;
public function ListBase()
{
super();
+ rowHeight = 22; //match Flex?
}
private var _DCinitialized:Boolean = true;
[royale-asjs] 10/13: Merge branch 'develop' of
https://github.com/apache/royale-asjs into develop
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 9ac18ade9c32fb0474113cca7572347146258141
Merge: f1948e9 238dcd1
Author: Alex Harui <ah...@apache.org>
AuthorDate: Wed Feb 19 15:29:27 2020 -0800
Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
.../src/main/royale/CardPlayGround.mxml | 73 +++++++++++++++++++++-
.../html/beads/models/ArrayColorSelectionModel.as | 2 +-
.../projects/Jewel/src/main/resources/defaults.css | 31 +++++++--
.../Jewel/src/main/resources/jewel-manifest.xml | 3 +
.../main/royale/org/apache/royale/jewel/Card.as | 64 +++----------------
.../main/royale/org/apache/royale/jewel/HGroup.as | 19 ------
.../main/royale/org/apache/royale/jewel/VGroup.as | 19 ------
.../beads/controls/tabbar/AssignTabContent.as | 1 -
.../royale/jewel/beads/layouts/HorizontalLayout.as | 11 ++--
.../royale/jewel/beads/layouts/VerticalLayout.as | 14 +++--
.../royale/jewel/beads/views/DataGridView.as | 10 +--
.../DrawerFooter.as => card/CardActions.as} | 19 +++---
.../{drawer/DrawerFooter.as => card/CardHeader.as} | 19 +++---
.../DrawerFooter.as => card/CardPrimaryContent.as} | 38 ++++++++---
.../jewel/supportClasses/drawer/DrawerFooter.as | 6 +-
.../Jewel/src/main/sass/components/_button.sass | 4 +-
.../Jewel/src/main/sass/components/_card.sass | 33 +++++++++-
.../Jewel/src/main/sass/components/_datagrid.sass | 2 +
.../Jewel/src/main/sass/components/_layout.sass | 2 +-
.../JewelTheme/src/main/resources/defaults.css | 31 +++++++--
.../JewelTheme/src/main/sass/_variables.sass | 4 +-
.../src/main/sass/components-primary/_alert.sass | 5 +-
.../src/main/sass/components-primary/_card.sass | 30 +++++++--
23 files changed, 267 insertions(+), 173 deletions(-)
[royale-asjs] 11/13: refactor to propagate events so we don't have
to send an event from the factory
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit daa2ee13ed04838f6e984601b08e4e3849fe1bd5
Author: Alex Harui <ah...@apache.org>
AuthorDate: Wed Feb 19 17:33:35 2020 -0800
refactor to propagate events so we don't have to send an event from the factory
---
.../TodoListSingleSelectionMouseController.as | 59 ++++++++++++++++++++++
.../sample/todo/renderers/TodoItemRenderer.mxml | 12 +++--
.../royale/sample/todo/views/TodoListView.mxml | 24 +++++----
3 files changed, 83 insertions(+), 12 deletions(-)
diff --git a/examples/royale/TodoListSampleApp/src/main/royale/sample/todo/controllers/TodoListSingleSelectionMouseController.as b/examples/royale/TodoListSampleApp/src/main/royale/sample/todo/controllers/TodoListSingleSelectionMouseController.as
new file mode 100644
index 0000000..13ba83e
--- /dev/null
+++ b/examples/royale/TodoListSampleApp/src/main/royale/sample/todo/controllers/TodoListSingleSelectionMouseController.as
@@ -0,0 +1,59 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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 sample.todo.controllers {
+ import org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController;
+ import org.apache.royale.core.IItemRenderer;
+ import org.apache.royale.events.Event;
+ import org.apache.royale.events.IEventDispatcher;
+ import org.apache.royale.events.ItemAddedEvent;
+ import org.apache.royale.events.ItemRemovedEvent;
+ import org.apache.royale.events.ItemClickedEvent;
+ import org.apache.royale.events.ItemRendererEvent;
+
+ public class TodoListSingleSelectionMouseController extends ListSingleSelectionMouseController {
+
+ /**
+ * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
+ */
+ override protected function handleItemAdded(event:ItemAddedEvent):void
+ {
+ super.handleItemAdded(event);
+ IEventDispatcher(event.item).addEventListener("checkChanged", propagateHandler);
+ IEventDispatcher(event.item).addEventListener("removeRequest", propagateHandler);
+ }
+
+ /**
+ * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
+ */
+ override protected function handleItemRemoved(event:ItemRemovedEvent):void
+ {
+ super.handleItemRemoved(event);
+ IEventDispatcher(event.item).removeEventListener("checkChanged", propagateHandler);
+ IEventDispatcher(event.item).removeEventListener("removeRequest", propagateHandler);
+ }
+
+ protected function propagateHandler(event:ItemClickedEvent):void
+ {
+ var e:ItemRendererEvent = new ItemRendererEvent(event.type);
+ e.itemRenderer = event.target as IItemRenderer;
+ listView.host.dispatchEvent(e);
+ }
+
+ }
+}
diff --git a/examples/royale/TodoListSampleApp/src/main/royale/sample/todo/renderers/TodoItemRenderer.mxml b/examples/royale/TodoListSampleApp/src/main/royale/sample/todo/renderers/TodoItemRenderer.mxml
index 7c4817f..35a65c1 100644
--- a/examples/royale/TodoListSampleApp/src/main/royale/sample/todo/renderers/TodoItemRenderer.mxml
+++ b/examples/royale/TodoListSampleApp/src/main/royale/sample/todo/renderers/TodoItemRenderer.mxml
@@ -25,7 +25,7 @@ limitations under the License.
<fx:Script>
<![CDATA[
- import org.apache.royale.events.Event;
+ import org.apache.royale.events.ItemClickedEvent;
import org.apache.royale.events.MouseEvent;
import sample.todo.vo.ToDoVO;
@@ -37,12 +37,18 @@ limitations under the License.
private function checkBoxChange():void
{
- dispatchEvent(new org.apache.royale.events.Event("checkChanged"));
+ var e:ItemClickedEvent = new org.apache.royale.events.ItemClickedEvent("checkChanged");
+ e.index = index;
+ e.data = data;
+ dispatchEvent(e);
}
private function removeClick():void
{
- dispatchEvent(new org.apache.royale.events.Event("removeRequest"));
+ var e:ItemClickedEvent = new org.apache.royale.events.ItemClickedEvent("removeRequest");
+ e.index = index;
+ e.data = data;
+ dispatchEvent(e);
}
]]>
</fx:Script>
diff --git a/examples/royale/TodoListSampleApp/src/main/royale/sample/todo/views/TodoListView.mxml b/examples/royale/TodoListSampleApp/src/main/royale/sample/todo/views/TodoListView.mxml
index 701b330..92ebab0 100644
--- a/examples/royale/TodoListSampleApp/src/main/royale/sample/todo/views/TodoListView.mxml
+++ b/examples/royale/TodoListSampleApp/src/main/royale/sample/todo/views/TodoListView.mxml
@@ -21,7 +21,8 @@ limitations under the License.
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:svg="library://ns.apache.org/royale/svg"
initComplete="setup()"
- xmlns:renderers="sample.todo.renderers.*">
+ xmlns:renderers="sample.todo.renderers.*"
+ xmlns:controllers="sample.todo.controllers.*">
<fx:Style>
@namespace basic "library://ns.apache.org/royale/basic";
@@ -48,6 +49,11 @@ limitations under the License.
.StatusText {
flex-grow: 1;
}
+
+ .todoList {
+ IBeadController: ClassReference("sample.todo.controllers.TodoListSingleSelectionMouseController");
+ }
+
</fx:Style>
<fx:Script>
@@ -66,6 +72,8 @@ limitations under the License.
// showActive() change the model which results in this event being
// dispatched.
(applicationModel as TodoListModel).addEventListener("todoListChanged", updateStatus);
+ todoList.addEventListener("checkChanged",itemChecked);
+ todoList.addEventListener("removeRequest",itemRemove);
updateStatus(null);
}
@@ -120,16 +128,14 @@ limitations under the License.
*/
private function handleRendererCreated(event:ItemRendererEvent):void {
var renderer:IEventDispatcher = event.itemRenderer as IEventDispatcher;
- renderer.addEventListener("checkChanged",itemChecked);
- renderer.addEventListener("removeRequest",itemRemove);
}
/**
* When an item is checked, form new event and dispatch to controller.
*/
- private function itemChecked(event:Event):void
+ private function itemChecked(event:ItemRendererEvent):void
{
- var renderer:TodoItemRenderer = event.target as TodoItemRenderer;
+ var renderer:TodoItemRenderer = event.itemRenderer as TodoItemRenderer;
var newEvent:TodoListEvent = new TodoListEvent(TodoListEvent.ITEM_CHECKED);
newEvent.item = renderer.data;
@@ -139,9 +145,9 @@ limitations under the License.
/**
* When an item is removed, form a new event and dispatch to the controller.
*/
- private function itemRemove(event:Event):void
+ private function itemRemove(event:ItemRendererEvent):void
{
- var renderer:TodoItemRenderer = event.target as TodoItemRenderer;
+ var renderer:TodoItemRenderer = event.itemRenderer as TodoItemRenderer;
var newEvent:TodoListEvent = new TodoListEvent(TodoListEvent.ITEM_REMOVE_REQUEST);
newEvent.item = renderer.data;
@@ -165,12 +171,12 @@ limitations under the License.
<js:TextButton text="Enter" click="logTodo()" width="15%" />
</js:HContainer>
- <js:List id="todoList"
+ <js:List id="todoList" className="todoList"
itemRenderer="sample.todo.renderers.TodoItemRenderer"
dataProvider="{TodoListModel(applicationModel).todos}"
width="100%" height="400">
<js:beads>
- <js:DataItemRendererFactoryForArrayData itemRendererCreated="handleRendererCreated(event)" />
+ <js:DataItemRendererFactoryForArrayData />
</js:beads>
</js:List>
[royale-asjs] 05/13: fix issues in tree node closing. Should fix
#673
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 17e8fdbc7f4a9ea9e77be296517aeee21d21b1fd
Author: Alex Harui <ah...@apache.org>
AuthorDate: Tue Feb 18 16:17:03 2020 -0800
fix issues in tree node closing. Should fix #673
---
.../DataItemRendererFactoryForCollectionView.as | 1 +
.../treeClasses/HierarchicalCollectionView.as | 73 +++++++++++++++++-----
2 files changed, 60 insertions(+), 14 deletions(-)
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as
index 1806ab6..b68f375 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
@@ -142,6 +142,7 @@ package org.apache.royale.html.beads
var dataGroup:IItemRendererOwnerView = view.dataGroup;
var ir:IIndexedItemRenderer = dataGroup.getItemRendererAt(event.index) as IIndexedItemRenderer;
+ if (!ir) return; // may have already been cleaned up, possibly when a tree node closes
dataGroup.removeItemRenderer(ir);
// adjust the itemRenderers' index to adjust for the shift
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/HierarchicalCollectionView.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/HierarchicalCollectionView.as
index 455750b..71d6096 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/HierarchicalCollectionView.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/HierarchicalCollectionView.as
@@ -1130,31 +1130,32 @@ public class HierarchicalCollectionView extends EventDispatcher
var uid:String = itemToUID(node);
openNodes[uid] = 1;
var index:int = getItemIndex(node);
- dispatchAddOrRemoveEvents(node, index + 1, org.apache.royale.events.CollectionEvent.ITEM_ADDED);
+ dispatchAddEvents(node, index + 1, org.apache.royale.events.CollectionEvent.ITEM_ADDED);
+ var collectionEvent:org.apache.royale.events.CollectionEvent;
+ collectionEvent = new org.apache.royale.events.CollectionEvent(org.apache.royale.events.CollectionEvent.ITEM_UPDATED);
+ collectionEvent.item = node;
+ collectionEvent.index = index;
+ dispatchEvent(collectionEvent);
}
- private function dispatchAddOrRemoveEvents(node:Object, index:int, type:String):int
+ private function dispatchAddEvents(node:Object, index:int, type:String):int
{
- var adding:Boolean = (type == org.apache.royale.events.CollectionEvent.ITEM_ADDED);
var children:ICollectionView = getChildren(node);
var cursor:IViewCursor = children.createCursor();
+ var item:Object;
+ var collectionEvent:org.apache.royale.events.CollectionEvent;
do
{
- var item:Object = cursor.current;
- var collectionEvent:org.apache.royale.events.CollectionEvent = new org.apache.royale.events.CollectionEvent(type);
+ item = cursor.current;
+ collectionEvent = new org.apache.royale.events.CollectionEvent(type);
collectionEvent.item = item;
collectionEvent.index = index;
dispatchEvent(collectionEvent);
- if (adding)
- {
- currentLength++;
- index++;
- }
- else
- currentLength--;
+ currentLength++;
+ index++;
if (isOpen(item))
{
- index = dispatchAddOrRemoveEvents(node, index, type);
+ index = dispatchAddEvents(item, index, type);
}
} while (cursor.moveNext());
@@ -1166,8 +1167,52 @@ public class HierarchicalCollectionView extends EventDispatcher
var uid:String = itemToUID(node);
delete openNodes[uid];
var index:int = getItemIndex(node);
- dispatchAddOrRemoveEvents(node, index + 1, org.apache.royale.events.CollectionEvent.ITEM_REMOVED);
+ dispatchRemoveEvents(node, index + 1, org.apache.royale.events.CollectionEvent.ITEM_REMOVED);
+ var collectionEvent:org.apache.royale.events.CollectionEvent;
+ collectionEvent = new org.apache.royale.events.CollectionEvent(org.apache.royale.events.CollectionEvent.ITEM_UPDATED);
+ collectionEvent.item = node;
+ collectionEvent.index = index;
+ dispatchEvent(collectionEvent);
+ }
+
+ private function dispatchRemoveEvents(node:Object, index:int, type:String, eventQueue:Array = null):int
+ {
+ var children:ICollectionView = getChildren(node);
+ var cursor:IViewCursor = children.createCursor();
+ var item:Object;
+ var collectionEvent:org.apache.royale.events.CollectionEvent;
+ var topLevel:Boolean = (eventQueue == null);
+ if (!eventQueue)
+ eventQueue = [];
+ do
+ {
+ item = cursor.current;
+ collectionEvent = new org.apache.royale.events.CollectionEvent(type);
+ collectionEvent.item = item;
+ collectionEvent.index = index;
+ eventQueue.push(collectionEvent);
+ index++;
+ if (isOpen(item))
+ {
+ index = dispatchRemoveEvents(item, index, type, eventQueue);
+ }
+
+ } while (cursor.moveNext());
+
+ if (topLevel)
+ {
+ // dispatch events in reverse order
+ while (eventQueue.length)
+ {
+ collectionEvent = eventQueue.pop() as org.apache.royale.events.CollectionEvent;
+ dispatchEvent(collectionEvent);
+ currentLength--;
+ }
+ }
+
+ return index;
}
+
}
}
[royale-asjs] 13/13: Merge branch 'develop' of
https://github.com/apache/royale-asjs into develop
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit b632cd95d755db31639eaf7940448f7e6a769f04
Merge: 6763700 21ced85
Author: Alex Harui <ah...@apache.org>
AuthorDate: Wed Feb 19 17:34:21 2020 -0800
Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/jewel-example-styles.css | 2 +-
.../src/main/resources/defaults.css | 29 +++++++++++++++++---
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 29 +++++++++++++++++---
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 29 +++++++++++++++++---
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 29 +++++++++++++++++---
.../src/main/resources/defaults.css | 29 +++++++++++++++++---
.../src/main/resources/defaults.css | 29 +++++++++++++++++---
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../src/main/resources/defaults.css | 31 ++++++++++++++++++----
.../JewelTheme/src/main/sass/_variables.sass | 5 ----
.../main/sass/components-primary/_application.sass | 5 ++++
63 files changed, 1560 insertions(+), 300 deletions(-)
[royale-asjs] 09/13: ASDoc runs again
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit f1948e931d6303572f6ac29b9c854ff9c9c60e45
Author: Alex Harui <ah...@apache.org>
AuthorDate: Wed Feb 19 12:58:45 2020 -0800
ASDoc runs again
---
.../ASDoc/src/main/royale/ASDocMainView.mxml | 15 +++-
...gBackgroundColorHashAnchorStringItemRenderer.as | 32 ++++++-
.../projects/Basic/src/main/royale/BasicClasses.as | 2 +-
...ingBackgroundColorSelectableItemRendererBead.as | 9 +-
.../beads/ListOwnerViewItemRendererInitializer.as | 97 ++++++++++++++++++++++
5 files changed, 149 insertions(+), 6 deletions(-)
diff --git a/examples/royale/ASDoc/src/main/royale/ASDocMainView.mxml b/examples/royale/ASDoc/src/main/royale/ASDocMainView.mxml
index 64a20b3..9798c59 100644
--- a/examples/royale/ASDoc/src/main/royale/ASDocMainView.mxml
+++ b/examples/royale/ASDoc/src/main/royale/ASDocMainView.mxml
@@ -247,6 +247,8 @@ limitations under the License.
margin-left: 20px;
margin-right: 20px;
border-style: solid;
+ IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListOwnerViewItemRendererInitializer");
+ IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); /* AltBGRenderer installs its own selection bead*/
}
.HashAnchorAnchor {
@@ -310,11 +312,18 @@ limitations under the License.
margin-bottom: 3px;
}
+ .inheritanceList {
+ IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.IndexedItemRendererInitializer");
+ IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); /* no selection */
+ }
+
.summaryList {
margin-bottom: 20px;
border-style: solid;
- }
-
+ IItemRendererInitializer: ClassReference("org.apache.royale.html.beads.ListOwnerViewItemRendererInitializer");
+ IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory"); /* AltBGRenderer installs its own selection bead*/
+ }
+
.detailList {
margin-bottom: 20px;
}
@@ -477,7 +486,7 @@ limitations under the License.
<js:HorizontalLayout />
</js:beads>
<js:Label className="detailCaption" text="Inheritance" />
- <js:List className="detailInfo" id="inheritance" dataProvider="{ASDocModel(applicationModel).inheritance}"
+ <js:List className="inheritanceList" id="inheritance" dataProvider="{ASDocModel(applicationModel).inheritance}"
itemRenderer="OptionalHashAnchorStringItemRenderer" labelField="label">
<js:beads>
<js:HorizontalLayout />
diff --git a/examples/royale/ASDoc/src/main/royale/AlternatingBackgroundColorHashAnchorStringItemRenderer.as b/examples/royale/ASDoc/src/main/royale/AlternatingBackgroundColorHashAnchorStringItemRenderer.as
index 5b2de9f..f54a180 100644
--- a/examples/royale/ASDoc/src/main/royale/AlternatingBackgroundColorHashAnchorStringItemRenderer.as
+++ b/examples/royale/ASDoc/src/main/royale/AlternatingBackgroundColorHashAnchorStringItemRenderer.as
@@ -18,7 +18,10 @@
////////////////////////////////////////////////////////////////////////////////
package
{
+import org.apache.royale.core.IOwnerViewItemRenderer;
+import org.apache.royale.core.IItemRendererOwnerView;
import org.apache.royale.html.beads.AlternatingBackgroundColorSelectableItemRendererBead;
+import org.apache.royale.events.Event;
/**
* The AlternatingBackgroundColorHashAnchorItemRenderer class displays data in string form using the data's toString()
@@ -30,7 +33,7 @@ import org.apache.royale.html.beads.AlternatingBackgroundColorSelectableItemRend
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class AlternatingBackgroundColorHashAnchorStringItemRenderer extends HashAnchorStringItemRenderer
+ public class AlternatingBackgroundColorHashAnchorStringItemRenderer extends HashAnchorStringItemRenderer implements IOwnerViewItemRenderer
{
/**
* constructor.
@@ -44,6 +47,33 @@ import org.apache.royale.html.beads.AlternatingBackgroundColorSelectableItemRend
{
addBead(new AlternatingBackgroundColorSelectableItemRendererBead());
}
+
+ [Bindable("dataChange")]
+ override public function set data(value:Object):void
+ {
+ super.data = value;
+ dispatchEvent(new Event("dataChange"));
+ }
+
+ private var _itemRendererOwnerView:IItemRendererOwnerView;
+
+ /**
+ * The text of the renderer
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.4
+ */
+ public function get itemRendererOwnerView():IItemRendererOwnerView
+ {
+ return _itemRendererOwnerView;
+ }
+
+ public function set itemRendererOwnerView(value:IItemRendererOwnerView):void
+ {
+ _itemRendererOwnerView = value;
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/royale/BasicClasses.as b/frameworks/projects/Basic/src/main/royale/BasicClasses.as
index 2f89a5a..6cb3eb7 100644
--- a/frameworks/projects/Basic/src/main/royale/BasicClasses.as
+++ b/frameworks/projects/Basic/src/main/royale/BasicClasses.as
@@ -116,7 +116,7 @@ internal class BasicClasses
import org.apache.royale.html.beads.models.BinaryImageModel; BinaryImageModel;
import org.apache.royale.html.beads.ListView; ListView;
- import org.apache.royale.html.beads.ListItemRendererInitializer; ListItemRendererInitializer;
+ import org.apache.royale.html.beads.ListOwnerViewItemRendererInitializer; ListOwnerViewItemRendererInitializer;
import org.apache.royale.html.beads.TreeItemRendererInitializer; TreeItemRendererInitializer;
import org.apache.royale.html.beads.MultiSelectionListView; MultiSelectionListView;
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/AlternatingBackgroundColorSelectableItemRendererBead.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/AlternatingBackgroundColorSelectableItemRendererBead.as
index 73ffb88..d8f182f 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/AlternatingBackgroundColorSelectableItemRendererBead.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/AlternatingBackgroundColorSelectableItemRendererBead.as
@@ -24,6 +24,7 @@ package org.apache.royale.html.beads
import org.apache.royale.utils.CSSUtils;
import org.apache.royale.core.IIndexedItemRenderer;
import org.apache.royale.core.IOwnerViewItemRenderer;
+import org.apache.royale.core.ItemRendererOwnerViewBead;
import org.apache.royale.core.ISelectionModel;
import org.apache.royale.core.ISelectableItemRenderer;
import org.apache.royale.core.IStrand;
@@ -108,7 +109,13 @@ public class AlternatingBackgroundColorSelectableItemRendererBead extends Select
private function dataChangeHandler(event:Event):void
{
var ir:IIndexedItemRenderer = _strand as IIndexedItemRenderer;
- var owner:IStrandWithModel = (ir as IOwnerViewItemRenderer).itemRendererOwnerView.host as IStrandWithModel;
+ var owner:IStrandWithModel;
+ if (ir is IOwnerViewItemRenderer)
+ owner = (ir as IOwnerViewItemRenderer).itemRendererOwnerView.host as IStrandWithModel;
+ else
+ {
+ owner = (ir.getBeadByType(ItemRendererOwnerViewBead) as ItemRendererOwnerViewBead).ownerView.host as IStrandWithModel;
+ }
var model:ISelectionModel = owner.model as ISelectionModel;
if (model.selectedIndex == ir.index)
{
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListOwnerViewItemRendererInitializer.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListOwnerViewItemRendererInitializer.as
new file mode 100644
index 0000000..2188f2f
--- /dev/null
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ListOwnerViewItemRendererInitializer.as
@@ -0,0 +1,97 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.html.beads
+{
+ import org.apache.royale.core.IItemRendererOwnerView;
+ import org.apache.royale.core.IOwnerViewItemRenderer;
+ import org.apache.royale.core.ItemRendererOwnerViewBead;
+
+ 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.IStrand;
+ import org.apache.royale.core.IStrandWithModelView;
+ import org.apache.royale.core.IUIBase;
+ import org.apache.royale.core.SimpleCSSStyles;
+ import org.apache.royale.core.UIBase;
+
+ /**
+ * The ListItemRendererInitializer class initializes item renderers
+ * in list classes.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.0
+ */
+ public class ListOwnerViewItemRendererInitializer extends ListItemRendererInitializer
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.0
+ */
+ public function ListOwnerViewItemRendererInitializer()
+ {
+ }
+
+ protected var ownerView:IItemRendererOwnerView;
+
+ /**
+ * @copy org.apache.royale.core.IBead#strand
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.0
+ * @royaleignorecoercion HTMLInputElement
+ * @royaleignorecoercion org.apache.royale.core.UIBase;
+ */
+ override public function set strand(value:IStrand):void
+ {
+ super.strand = value;
+ ownerView = (_strand as IStrandWithModelView).view as IItemRendererOwnerView;
+ }
+
+ /**
+ * @private
+ * @royaleignorecoercion org.apache.royale.core.HTMLElementWrapper
+ */
+ override public function initializeIndexedItemRenderer(ir:IIndexedItemRenderer, data:Object, index:int):void
+ {
+ super.initializeIndexedItemRenderer(ir, data, index);
+ if (ownerView)
+ {
+ if (ir is IOwnerViewItemRenderer)
+ (ir as IOwnerViewItemRenderer).itemRendererOwnerView = ownerView;
+ else
+ {
+ ir.addBead(new ItemRendererOwnerViewBead(ownerView));
+ }
+ }
+ }
+
+ }
+}