Piotr (and anyone else interested):

Adobe has its winter break next week but I am leaving earlier (tomorrow) and 
will be back working on the project in January.

I have created a temporary branch, CollectionData, with my work in-progress. 
While this branch is incomplete, you might be interested in looking into it.

Here's a summary:

I created ICollectionView (Collections project), an interface that allows for 
inserting, removing items from a collection. ArrayList implements it. The idea 
is that you might want to create a collection that's a subset or a change to 
data without destroying or modifying the original data. For example, maybe you 
want to filter the original data or sort it.

I created TreeData (Collections project), which implements ICollectionView. 
TreeData takes in HierarchicalData and converts it to a FlattenedList (extends 
ArrayList). TreeData implements ICollectionView via its internal flattened list.

I created SingleSelectionCollectionViewModel (Basic project) that mimics 
ArrayListSelectionModel, but assumes its dataProvider is ICollectionView.

I created DataItemRendererFactoryForCollectionView (Basic project) which 
assumes the dataProvider from the model is ICollectionView. This is identical 
to DynamicItemsRendererFactoryForArrayList so perhaps it will replace that 
class.

I changed TreeModel is use TreeData as its dataProvider property. I changed 
Tree to accept TreeData as its dataProvider (passes it to its model).

You can run a List using SingleSelectionCollectionModel and 
DataItemRendererFactoryForCollectionView. The Tree works as does DataGrid.

I'm in the middle of getting TreeGrid to work with these new classes.

Have a wonderful New Year.

Regards,
Peter Ent
Adobe Systems/Apache Royale Project

Reply via email to