You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by pe...@apache.org on 2018/01/05 16:30:13 UTC
[royale-asjs] branch CollectionData updated (8e54a22 -> e44164d)
This is an automated email from the ASF dual-hosted git repository.
pent pushed a change to branch CollectionData
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git.
from 8e54a22 Check in to preserve work. Have basic classes and interfaces working. TreeGrid is TO DO.
add eb358af Add DynamicRemoveAllByNullItemRendererForArrayListData
add 3b9e38d Fixed Rectangle.contains method
add e04299c First implementation of ThrottleBead
add 294fc29 Fixed version number.
add 8c1dbe8 Fixed typo.
add 84e7b3b Add test overflow beads fixes #77
add e92c79a not needed as it's listed in the manifest
add 41972b3 remove uneeded parameter
add 7709edc Merge pull request #97 from justinmclean/button_text_overflow_II
add 1e3e947 Create GIT-TEST.txt
add feed138 Add license header
add 24b09c7 Add beads related to List item renderers
add 86e9f3a Fix MDL Restrict and TextField
add 1c6485b Add MDL NonEmptyTextField
add d182d4e1 prep new release candidate script
add ea349da try to eliminate dependency on actual environment variables. This should get the compiler to substitute playerglobal.home from the additional compiler param
add 0d242e4 missed one
add 53d533b fix more areas where we depended on actual environment variables
add 538d6b2 Create royale-sdk-description
add 59b37eb Test Commit
add 77a7c5f Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
add 1770daa Fixed compiler warning
add bf10c27 Fix flex-sdk-description and royale-sdk-description for Maven distribution build
add 1391558 Remove unused controller
add c3008e7 First version.
add 8016941 First version where mask bead takes over an existing element and turns it into a mssk
add 00bbbca MaskBead now changes svg element into a mask definition instead of attempting to draw mask using path.
add 4bbf63c Add output-targets to sdk-description file
add e6278f9 Bring back original state for flex-sdk-description file
add fa25395 Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
add 00ef033 Implement set positioner on IUIBase implementers
add 9089c75 more fixes for release script
add b22a1bc fix up scm info
add 7721fcd refactor rc script to try to pull sources from maven staging
add db8b85c fix up rc script
add 3de24ad Create jsonly description in case of asjs (SWF + JS) build
add 0fa9149 [maven-release-plugin] prepare branch release/0.9.0
add ba4e27f [maven-release-plugin] prepare for next development iteration
add 4ab94fa Change place of cration for JS-only description in royale-asjs build
add 0d166c1 Create js only description in temp folder before zipping
add e8faaac Fixes issue with retaining selection and rollover using the Dynamic beads for ArrayList.
add 9b10f83 make_branches worked on dryrun
add 5d226b9 make_branches seemed to work without pushing
add ce9e35f more improvements to release script
add b3c3967 Fix path for created js only file description
add 6f63a9f compiler script appears to work now. next up is typedefs
add 87d5891 asjs seemed to work as well
new 44b90fd Merge branch 'develop' into CollectionData
new e44164d Updates to the ICollectionView classes and Tree classes.
The 2 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:
.../src/interfaces/ID.as => GIT-TEST.txt | 6 +-
archetypes/pom.xml | 4 +-
.../royale-simple-application-archetype/pom.xml | 4 +-
.../pom.xml | 4 +-
.../pom.xml | 4 +-
archetypes/royale-simple-library-archetype/pom.xml | 4 +-
archetypes/royale-simple-typedef-archetype/pom.xml | 4 +-
build.xml | 85 ++-
.../src/main/resources/flex-sdk-description.xml | 4 +-
.../src/main/resources/flexjs-sdk-description.xml | 32 -
...-description.xml => royale-sdk-description.xml} | 0
examples/build_example.xml | 7 +
.../MDLDynamicTableExample/src/MainView.mxml | 11 +-
.../itemRenderers/CustomTableRowItemRenderer.mxml | 4 +-
.../src/main/resources/mdl-styles.css | 2 +-
.../src/main/royale/views/InitialView.mxml | 5 +-
.../MDLExample/src/main/royale/TextFields.mxml | 4 +-
frameworks/fontsrc/pom.xml | 4 +-
frameworks/pom.xml | 4 +-
frameworks/projects/Basic/pom.xml | 20 +-
.../Basic/src/main/resources/basic-manifest.xml | 5 +
.../projects/Basic/src/main/royale/BasicClasses.as | 1 -
.../beads/DataItemRendererFactoryForArrayList.as | 11 +-
.../DataItemRendererFactoryForCollectionView.as | 79 ++-
...s => DynamicAddItemRendererForArrayListData.as} | 93 ++-
.../DynamicItemsRendererFactoryForArrayListData.as | 13 +-
...RemoveAllByNullItemRendererForArrayListData.as} | 44 +-
...DynamicRemoveAllItemRendererForArrayListData.as | 6 +-
.../DynamicRemoveItemRendererForArrayListData.as | 12 +-
...> DynamicUpdateItemRendererForArrayListData.as} | 42 +-
...{UnselectableElementBead.as => TextOverflow.as} | 48 +-
.../{AccessibilityAltBead.as => ThrottleBead.as} | 98 +--
.../TreeSingleSelectionMouseController.as | 3 +-
.../apache/royale/html/beads/models/TreeModel.as | 2 +
.../html/supportClasses/StringItemRenderer.as | 4 -
frameworks/projects/Binding/pom.xml | 8 +-
frameworks/projects/Charts/pom.xml | 24 +-
frameworks/projects/Collections/pom.xml | 8 +-
.../org/apache/royale/collections/FlattenedList.as | 11 +
.../org/apache/royale/collections/TreeData.as | 19 +
frameworks/projects/Core/pom.xml | 4 +-
.../main/royale/org/apache/royale/core/IUIBase.as | 13 +
.../royale/org/apache/royale/geom/Rectangle.as | 4 +-
.../royale/utils/loadBeadFromValuesManager.as | 2 +-
frameworks/projects/CreateJS/pom.xml | 20 +-
frameworks/projects/DragDrop/pom.xml | 12 +-
frameworks/projects/Effects/pom.xml | 12 +-
.../org/apache/royale/utils/MockContentView.as | 5 +
.../org/apache/royale/utils/MockLayoutChild.as | 5 +
.../org/apache/royale/utils/MockLayoutParent.as | 6 +
frameworks/projects/Express/pom.xml | 28 +-
frameworks/projects/Flat/pom.xml | 22 +-
frameworks/projects/FontAwesome/pom.xml | 24 +-
frameworks/projects/Formatters/pom.xml | 12 +-
frameworks/projects/GoogleMaps/pom.xml | 12 +-
frameworks/projects/Graphics/pom.xml | 8 +-
.../Graphics/src/main/resources/svg-manifest.xml | 1 +
.../main/royale/org/apache/royale/svg/MaskBead.as | 134 ++++
frameworks/projects/HTML/pom.xml | 24 +-
frameworks/projects/HTML5/pom.xml | 12 +-
frameworks/projects/JQuery/pom.xml | 12 +-
frameworks/projects/Language/pom.xml | 4 +-
frameworks/projects/MaterialDesignLite/pom.xml | 28 +-
.../src/main/resources/defaults.css | 4 +-
.../src/main/resources/mdl-manifest.xml | 4 +-
.../src/main/royale/MDLClasses.as | 2 +-
.../main/royale/org/apache/royale/mdl/Dialog.as | 2 +-
.../main/royale/org/apache/royale/mdl/TextField.as | 18 +
... DynamicTabsAddItemRendererForArrayListData.as} | 69 +--
.../beads/{Restrict.as => NonEmptyTextField.as} | 108 ++--
.../beads/{Restrict.as => RestrictTextField.as} | 51 +-
...TabsDataItemRendererFactoryForArrayListData.as} | 60 +-
.../org/apache/royale/mdl/beads/views/TabsView.as | 26 +-
frameworks/projects/Mobile/pom.xml | 16 +-
frameworks/projects/Network/pom.xml | 12 +-
frameworks/projects/Reflection/pom.xml | 8 +-
frameworks/projects/Storage/pom.xml | 8 +-
frameworks/projects/TLF/pom.xml | 8 +-
frameworks/projects/Text/pom.xml | 8 +-
frameworks/projects/XML/pom.xml | 12 +-
frameworks/projects/pom.xml | 4 +-
...nvert New Flex Project to Royale Project.launch | 10 +-
mustella/build.xml | 2 +
pom.xml | 8 +-
releasecandidate.xml | 689 +++++++++++++++++----
85 files changed, 1571 insertions(+), 705 deletions(-)
copy manualtests/LanguageTests/src/interfaces/ID.as => GIT-TEST.txt (95%)
delete mode 100644 distribution/src/main/resources/flexjs-sdk-description.xml
copy distribution/src/main/resources/{flex-sdk-description.xml => royale-sdk-description.xml} (100%)
copy frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/{DynamicRemoveItemRendererForArrayListData.as => DynamicAddItemRendererForArrayListData.as} (57%)
copy frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/{DynamicRemoveAllItemRendererForArrayListData.as => DynamicRemoveAllByNullItemRendererForArrayListData.as} (78%)
copy frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/{DynamicRemoveItemRendererForArrayListData.as => DynamicUpdateItemRendererForArrayListData.as} (81%)
copy frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/{UnselectableElementBead.as => TextOverflow.as} (65%)
copy frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/{AccessibilityAltBead.as => ThrottleBead.as} (50%)
create mode 100644 frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/MaskBead.as
copy frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/{TabsDynamicItemsRendererFactoryForArrayListData.as => DynamicTabsAddItemRendererForArrayListData.as} (51%)
copy frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/{Restrict.as => NonEmptyTextField.as} (56%)
rename frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/{Restrict.as => RestrictTextField.as} (79%)
rename frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/beads/{TabsDynamicItemsRendererFactoryForArrayListData.as => TabsDataItemRendererFactoryForArrayListData.as} (65%)
--
To stop receiving notification emails like this one, please contact
['"commits@royale.apache.org" <co...@royale.apache.org>'].
[royale-asjs] 01/02: Merge branch 'develop' into CollectionData
Posted by pe...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
pent pushed a commit to branch CollectionData
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 44b90fd8befb93be1ac60f2568121b82ff3e75a6
Merge: 8e54a22 87d5891
Author: Peter Ent <pe...@apache.org>
AuthorDate: Thu Jan 4 15:23:50 2018 -0500
Merge branch 'develop' into CollectionData
* develop: (44 commits)
asjs seemed to work as well
compiler script appears to work now. next up is typedefs
Fix path for created js only file description
more improvements to release script
make_branches seemed to work without pushing
make_branches worked on dryrun
Fixes issue with retaining selection and rollover using the Dynamic beads for ArrayList.
Create js only description in temp folder before zipping
Change place of cration for JS-only description in royale-asjs build
[maven-release-plugin] prepare for next development iteration
[maven-release-plugin] prepare branch release/0.9.0
Create jsonly description in case of asjs (SWF + JS) build
fix up rc script
refactor rc script to try to pull sources from maven staging
fix up scm info
more fixes for release script
Implement set positioner on IUIBase implementers
MaskBead now changes svg element into a mask definition instead of attempting to draw mask using path.
Bring back original state for flex-sdk-description file
Add output-targets to sdk-description file
...
.../main/resources/mdl-styles.css => GIT-TEST.txt | 13 +-
archetypes/pom.xml | 4 +-
.../royale-simple-application-archetype/pom.xml | 4 +-
.../pom.xml | 4 +-
.../pom.xml | 4 +-
archetypes/royale-simple-library-archetype/pom.xml | 4 +-
archetypes/royale-simple-typedef-archetype/pom.xml | 4 +-
build.xml | 85 ++-
.../src/main/resources/flex-sdk-description.xml | 4 +-
.../src/main/resources/flexjs-sdk-description.xml | 32 -
...-description.xml => royale-sdk-description.xml} | 0
examples/build_example.xml | 7 +
.../MDLDynamicTableExample/src/MainView.mxml | 11 +-
.../itemRenderers/CustomTableRowItemRenderer.mxml | 4 +-
.../src/main/resources/mdl-styles.css | 2 +-
.../src/main/royale/views/InitialView.mxml | 5 +-
.../MDLExample/src/main/royale/TextFields.mxml | 4 +-
frameworks/fontsrc/pom.xml | 4 +-
frameworks/pom.xml | 4 +-
frameworks/projects/Basic/pom.xml | 20 +-
.../Basic/src/main/resources/basic-manifest.xml | 5 +
.../projects/Basic/src/main/royale/BasicClasses.as | 1 -
.../beads/DataItemRendererFactoryForArrayList.as | 11 +-
...s => DynamicAddItemRendererForArrayListData.as} | 93 ++-
.../DynamicItemsRendererFactoryForArrayListData.as | 13 +-
...RemoveAllByNullItemRendererForArrayListData.as} | 44 +-
...DynamicRemoveAllItemRendererForArrayListData.as | 6 +-
.../DynamicRemoveItemRendererForArrayListData.as | 12 +-
...> DynamicUpdateItemRendererForArrayListData.as} | 42 +-
.../org/apache/royale/html/beads/TextOverflow.as | 87 +++
.../org/apache/royale/html/beads/ThrottleBead.as | 122 ++++
.../html/supportClasses/StringItemRenderer.as | 4 -
frameworks/projects/Binding/pom.xml | 8 +-
frameworks/projects/Charts/pom.xml | 24 +-
frameworks/projects/Collections/pom.xml | 8 +-
frameworks/projects/Core/pom.xml | 4 +-
.../main/royale/org/apache/royale/core/IUIBase.as | 13 +
.../royale/org/apache/royale/geom/Rectangle.as | 4 +-
.../royale/utils/loadBeadFromValuesManager.as | 2 +-
frameworks/projects/CreateJS/pom.xml | 20 +-
frameworks/projects/DragDrop/pom.xml | 12 +-
frameworks/projects/Effects/pom.xml | 12 +-
.../org/apache/royale/utils/MockContentView.as | 5 +
.../org/apache/royale/utils/MockLayoutChild.as | 5 +
.../org/apache/royale/utils/MockLayoutParent.as | 6 +
frameworks/projects/Express/pom.xml | 28 +-
frameworks/projects/Flat/pom.xml | 22 +-
frameworks/projects/FontAwesome/pom.xml | 24 +-
frameworks/projects/Formatters/pom.xml | 12 +-
frameworks/projects/GoogleMaps/pom.xml | 12 +-
frameworks/projects/Graphics/pom.xml | 8 +-
.../Graphics/src/main/resources/svg-manifest.xml | 1 +
.../main/royale/org/apache/royale/svg/MaskBead.as | 134 ++++
frameworks/projects/HTML/pom.xml | 24 +-
frameworks/projects/HTML5/pom.xml | 12 +-
frameworks/projects/JQuery/pom.xml | 12 +-
frameworks/projects/Language/pom.xml | 4 +-
frameworks/projects/MaterialDesignLite/pom.xml | 28 +-
.../src/main/resources/defaults.css | 4 +-
.../src/main/resources/mdl-manifest.xml | 4 +-
.../src/main/royale/MDLClasses.as | 2 +-
.../main/royale/org/apache/royale/mdl/Dialog.as | 2 +-
.../main/royale/org/apache/royale/mdl/TextField.as | 18 +
... DynamicTabsAddItemRendererForArrayListData.as} | 69 +--
.../beads/{Restrict.as => NonEmptyTextField.as} | 108 ++--
.../beads/{Restrict.as => RestrictTextField.as} | 51 +-
...TabsDataItemRendererFactoryForArrayListData.as} | 60 +-
.../org/apache/royale/mdl/beads/views/TabsView.as | 26 +-
frameworks/projects/Mobile/pom.xml | 16 +-
frameworks/projects/Network/pom.xml | 12 +-
frameworks/projects/Reflection/pom.xml | 8 +-
frameworks/projects/Storage/pom.xml | 8 +-
frameworks/projects/TLF/pom.xml | 8 +-
frameworks/projects/Text/pom.xml | 8 +-
frameworks/projects/XML/pom.xml | 12 +-
frameworks/projects/pom.xml | 4 +-
...nvert New Flex Project to Royale Project.launch | 10 +-
mustella/build.xml | 2 +
pom.xml | 8 +-
releasecandidate.xml | 689 +++++++++++++++++----
80 files changed, 1589 insertions(+), 643 deletions(-)
diff --cc frameworks/projects/Basic/src/main/resources/basic-manifest.xml
index 5c05f25,0a57697..3ce4773
--- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
@@@ -151,10 -153,12 +153,13 @@@
<component id="DataItemRendererFactoryForArrayData" class="org.apache.royale.html.beads.DataItemRendererFactoryForArrayData" />
<component id="DataItemRendererFactoryForArrayList" class="org.apache.royale.html.beads.DataItemRendererFactoryForArrayList" />
<component id="DynamicItemsRendererFactoryForArrayListData" class="org.apache.royale.html.beads.DynamicItemsRendererFactoryForArrayListData" />
+ <component id="DynamicAddItemRendererForArrayListData" class="org.apache.royale.html.beads.DynamicAddItemRendererForArrayListData"/>
<component id="DynamicRemoveItemRendererForArrayListData" class="org.apache.royale.html.beads.DynamicRemoveItemRendererForArrayListData" />
+ <component id="DynamicUpdateItemRendererForArrayListData" class="org.apache.royale.html.beads.DynamicUpdateItemRendererForArrayListData"/>
<component id="DataItemRendererFactoryForHierarchicalData" class="org.apache.royale.html.beads.DataItemRendererFactoryForHierarchicalData" />
+ <component id="DataItemRendererFactoryForCollectionView" class="org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView" />
<component id="DynamicRemoveAllItemRendererForArrayListData" class="org.apache.royale.html.beads.DynamicRemoveAllItemRendererForArrayListData" />
+ <component id="DynamicRemoveAllByNullItemRendererForArrayListData" class="org.apache.royale.html.beads.DynamicRemoveAllByNullItemRendererForArrayListData" />
<component id="TextItemRendererFactoryForArrayData" class="org.apache.royale.html.beads.TextItemRendererFactoryForArrayData" />
<component id="TextItemRendererFactoryForStringVectorData" class="org.apache.royale.html.beads.TextItemRendererFactoryForStringVectorData" />
diff --cc frameworks/projects/Basic/src/main/royale/BasicClasses.as
index 9d043cb,6ba89fc..5777a46
--- a/frameworks/projects/Basic/src/main/royale/BasicClasses.as
+++ b/frameworks/projects/Basic/src/main/royale/BasicClasses.as
@@@ -168,10 -166,8 +168,9 @@@ internal class BasicClasse
import org.apache.royale.html.beads.TextItemRendererFactoryForArrayData; TextItemRendererFactoryForArrayData;
import org.apache.royale.html.beads.DataItemRendererFactoryForArrayData; DataItemRendererFactoryForArrayData;
import org.apache.royale.html.beads.DynamicItemsRendererFactoryForArrayListData; DynamicItemsRendererFactoryForArrayListData;
- import org.apache.royale.html.beads.DynamicRemoveItemRendererForArrayListData; DynamicRemoveItemRendererForArrayListData;
import org.apache.royale.html.beads.DataItemRendererFactoryForArrayList; DataItemRendererFactoryForArrayList;
import org.apache.royale.html.beads.DataItemRendererFactoryForHierarchicalData; DataItemRendererFactoryForHierarchicalData;
+ import org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView; DataItemRendererFactoryForCollectionView;
import org.apache.royale.html.supportClasses.DataGroup; DataGroup;
import org.apache.royale.html.supportClasses.Viewport; Viewport;
import org.apache.royale.html.supportClasses.ScrollingViewport; ScrollingViewport;
--
To stop receiving notification emails like this one, please contact
"commits@royale.apache.org" <co...@royale.apache.org>.
[royale-asjs] 02/02: Updates to the ICollectionView classes and
Tree classes.
Posted by pe...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
pent pushed a commit to branch CollectionData
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit e44164d15408765a02ef0843babaa9a9c1518ec2
Author: Peter Ent <pe...@apache.org>
AuthorDate: Fri Jan 5 11:31:22 2018 -0500
Updates to the ICollectionView classes and Tree classes.
---
.../DataItemRendererFactoryForCollectionView.as | 79 +++++++++++++++++++---
.../TreeSingleSelectionMouseController.as | 3 +-
.../apache/royale/html/beads/models/TreeModel.as | 2 +
.../org/apache/royale/collections/FlattenedList.as | 11 +++
.../org/apache/royale/collections/TreeData.as | 19 ++++++
5 files changed, 104 insertions(+), 10 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 9cbd1ce..9410e02 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
@@ -36,9 +36,8 @@ package org.apache.royale.html.beads
import org.apache.royale.events.EventDispatcher;
import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.html.supportClasses.StringItemRenderer;
+ import org.apache.royale.html.supportClasses.UIItemRendererBase;
import org.apache.royale.utils.loadBeadFromValuesManager;
-
- [Event(name="itemRendererCreated",type="org.apache.royale.events.ItemRendererEvent")]
/**
@@ -158,7 +157,12 @@ package org.apache.royale.html.beads
return;
// listen for individual items being added in the future.
- (dp as IEventDispatcher).addEventListener(CollectionEvent.ITEM_ADDED, itemAddedHandler);
+ var dped:IEventDispatcher = dp as IEventDispatcher;
+ if (!dped.hasEventListener(CollectionEvent.ITEM_ADDED)) {
+ dped.addEventListener(CollectionEvent.ITEM_ADDED, itemAddedHandler);
+ dped.addEventListener(CollectionEvent.ITEM_REMOVED, itemRemovedHandler);
+ dped.addEventListener(CollectionEvent.ITEM_UPDATED, itemUpdatedHandler);
+ }
dataGroup.removeAllItemRenderers();
@@ -187,17 +191,26 @@ package org.apache.royale.html.beads
if (!dp)
return;
- if (dataProviderModel is ISelectionModel) {
- var model:ISelectionModel = dataProviderModel as ISelectionModel;
- model.selectedIndex = -1;
- }
-
var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
labelField = dataProviderModel.labelField;
fillRenderer(event.index, event.item, ir, presentationModel);
+ // update the index values in the itemRenderers to correspond to their shifted positions.
+ var n:int = dataGroup.numElements;
+ for (var i:int = event.index; i < n; i++)
+ {
+ ir = dataGroup.getElementAt(i) as ISelectableItemRenderer;
+ 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"));
}
@@ -205,6 +218,56 @@ package org.apache.royale.html.beads
/**
* @private
*/
+ protected function itemRemovedHandler(event:CollectionEvent):void
+ {
+ if (!dataProviderModel)
+ return;
+ var dp:ICollectionView = dataProviderModel.dataProvider as ICollectionView;
+ if (!dp)
+ return;
+
+ var ir:ISelectableItemRenderer = dataGroup.getElementAt(event.index) as ISelectableItemRenderer;
+ dataGroup.removeItemRenderer(ir);
+
+ // adjust the itemRenderers' index to adjust for the shift
+ var n:int = dataGroup.numElements;
+ for (var i:int = event.index; i < n; i++)
+ {
+ ir = dataGroup.getElementAt(i) as ISelectableItemRenderer;
+ 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
+ */
+ protected function itemUpdatedHandler(event:CollectionEvent):void
+ {
+ if (!dataProviderModel)
+ return;
+ var dp:ICollectionView = dataProviderModel.dataProvider as ICollectionView;
+ if (!dp)
+ return;
+
+ var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
+
+ // update the given renderer with (possibly) new information so it can change its
+ // appearence or whatever.
+ var ir:ISelectableItemRenderer = dataGroup.getElementAt(event.index) as ISelectableItemRenderer;
+ fillRenderer(event.index, event.item, ir, presentationModel);
+ }
+
+ /**
+ * @private
+ */
protected function fillRenderer(index:int,
item:Object,
itemRenderer:ISelectableItemRenderer,
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 9147039..e9bb9d0 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
@@ -70,6 +70,7 @@ package org.apache.royale.html.beads.controllers
if (treeData == null) return;
var node:Object = event.data;
+ listModel.selectedItem = node;
if (treeData.isOpen(node)) {
treeData.closeNode(node);
@@ -77,8 +78,6 @@ package org.apache.royale.html.beads.controllers
treeData.openNode(node);
}
- listModel.selectedItem = node;
- listModel.dispatchEvent(new Event("dataProviderChanged"));
IEventDispatcher(_strand).dispatchEvent(new Event("change"));
}
}
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/TreeModel.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/TreeModel.as
index c38beb3..841d298 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/TreeModel.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/TreeModel.as
@@ -20,6 +20,8 @@ package org.apache.royale.html.beads.models
{
import org.apache.royale.collections.HierarchicalData;
import org.apache.royale.collections.TreeData;
+ import org.apache.royale.events.CollectionEvent;
+ import org.apache.royale.events.Event;
/**
* The TreeModel is used by Tree
diff --git a/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/FlattenedList.as b/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/FlattenedList.as
index b0e1915..e0e4b52 100644
--- a/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/FlattenedList.as
+++ b/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/FlattenedList.as
@@ -133,6 +133,7 @@ package org.apache.royale.collections
addItemAt(arr.shift(), ++i);
}
}
+ updateNode(node);
}
/**
@@ -165,6 +166,16 @@ package org.apache.royale.collections
arr.shift();
}
}
+ updateNode(node);
+ }
+
+ /**
+ * Singles to the node that its state has changed and it should
+ * update itself
+ */
+ public function updateNode(node:Object):void
+ {
+ this.itemUpdated(node);
}
/**
diff --git a/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/TreeData.as b/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/TreeData.as
index 4b9f639..b594c63 100644
--- a/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/TreeData.as
+++ b/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/TreeData.as
@@ -19,6 +19,7 @@
package org.apache.royale.collections
{
import org.apache.royale.events.EventDispatcher;
+ import org.apache.royale.events.CollectionEvent;
/**
* TreeData is used with tree or structured data classes. This class incorporates
@@ -31,6 +32,24 @@ package org.apache.royale.collections
{
_hierarchicalData = source;
_flatList = new FlattenedList(source);
+
+ _flatList.addEventListener(CollectionEvent.ITEM_ADDED, handleCollectionEvent);
+ _flatList.addEventListener(CollectionEvent.ITEM_REMOVED, handleCollectionEvent);
+ _flatList.addEventListener(CollectionEvent.ITEM_UPDATED, handleCollectionEvent);
+ }
+
+ /**
+ * Forwards CollectionEvents from the internal FlattenedList as if they came
+ * from this TreeData, further mimicking an ICollectionView.
+ *
+ * @private
+ */
+ private function handleCollectionEvent(event:CollectionEvent):void
+ {
+ var newEvent:CollectionEvent = new CollectionEvent(event.type);
+ newEvent.item = event.item;
+ newEvent.index = event.index;
+ dispatchEvent(newEvent);
}
private var _hierarchicalData:HierarchicalData;
--
To stop receiving notification emails like this one, please contact
"commits@royale.apache.org" <co...@royale.apache.org>.