[Niceswing-developer] The Plan
Status: Planning
Brought to you by:
peterdb
|
From: Martin K. <Mar...@St...> - 2005-05-05 10:03:23
|
Hi Peter,
Well according to our effords, we need to identify all requirements and
tasks.
Like you already suggested, the following points I found interesting:
* Providing Viewers for Table, Tree, List and TreeTable
* Adding sorting and filtering
* Easy selection handling based on Objects rather than ids.
* Selection Provider system to simplify all selection related tasks
* Commonly shared ContextMenu implementation to support dynamic
context menues based on the currently selected items
* Drag and drop support(?)
* Checkbox tree viewer
The big questions are for me:
- What to do with multiple logical equal objects?
- What can the selection provider do for us?
From the user side the following things should be hidden and transparent:
- Organisation of the underlying Swing model
- No index should be visible
- Sorter support beyond the JFace version (composite sorter etc.)
According to my thinking I would want the following:
M1: Providing a ListViewer with:
+ workable content/image providers
+ sorting and filtering
+ selection provider / selection
M2: Adding a TableViewer + TreeViewer
M3: TreeTableViewer
M4: Dynamic ContextMenu
M5: Checkbox TreeViewer /TableTreeViewer
M6: DragAndDrop
MX...: Additional work
I would start with a ListViewer first since it is the most simple widget
to test. Also we can check how the Object -> Item mapping might work
and how the selection may also work. Also performance testing is
more simplier.
Also a List is dead simple but may provides the basics for a table
and a tree. So I would start with a list to do cleaner research. Also
a list may allow us to split on the Table and Tree development. So
one of us can go with a tree and the other one with a table.
Once table and tree are stable, we can start working on a TableTree
to fuse both affords and see how the logic envolves. From the
TableTree implementation we will get implementation details we can
reuse for the final Tree, Table and List implementations.
Maybe I am funny and I will work on that during the weekend. I was
quite far with my efford on the Tree implementation (including a
comprehensive test suite). I will downgrade this and think about
a list implementation.
Cheers,
Martin (Kersten)
|