The QmitkFunctionality class - or in general the basic GUI-module concept - was clear and reasonable in Qt3 versions and very important to MITK developers as it was easy to integrate a new module. Now, as MITK moved to Qt4 and a lot of new things were integrated, the class or the concept should be redesigned considering the following points:
- Activated/Deactivated states: At which point should a functionality remove special interactors or other things or in general: how does a view interact with other views
- Common access to the current DataManager selection -> SelectionEvents
- Valid bundle/module generator (also standalone projects? -> versioning)
- Common access to the DataStorage
- Common access to the MultiWidget
- Common access to the help system
- Common access to functionality preferences
- GUI Testing
- Stable interface
Any more points?
Maybe this can be done in a bugsquashing session