Start with the following learning steps:
- Begin by understanding the current design. This is briefly documented in http : // www.vtk.org / Wiki / VTKWidgets.
- Refactor at least one existing widget. Since I am ambitious I would encourage refactoring vtkBoxWidget. This is a complex widget, and the refactoring will be painful. On the other hand, it is heavily used (e.g., by ParaView and Osirix), and the learning experience will be invaluable to understanding the implementation and architecture of the widgets.
- Create at least one test (you should be able to reuse the vtkBoxWidget test; I mean that you create a new test for one of the new widgets like vtkDistanceWidget).
The fun begins:
- Review the widget architecture and make sure that we are all happy.
- Identify missing widget functionality (to support Slicer and NAMIC applications), and either add new widgets or modify the existing ones as appropriate.
On-going discipline and character building:
- We need to polish what is there. This includes refactoring of the old-style widgets.
- We need tests for each widget.
- The "point placer" capabilities were done by Lisa and I do not believe that they are fully integrated into the architecture. We need to look at this.
- Documentation, placed onto this Wiki.
Version 1, Week 2. This is a provisional plan in order to get an overview of the project. It is expected that the actual project will deviate from this base as a better understanding of the roject needs is reached.