Projects:ARRA:SlicerEM:Developer:WorkflowManager

From NAMIC Wiki
Revision as of 18:21, 14 July 2010 by Dpace (talk | contribs)
Jump to: navigation, search
Home < Projects:ARRA:SlicerEM:Developer:WorkflowManager

Summary

  • EMSegmenter has a fairly complicated workflow
  • Need a mechanism to validate user input and transition appropriately between steps of the workflow
  • Should be dependent on Qt only (and not VTK)
  • Current plan (subject to change) = use Qt's state machine implementation, with our own workflow manager on top

Previous workflow manager implementation in KWWidgets

Uses:

  • KWWidgets state machines - incorporates states (ex. user interaction within a workflow step, validation of the user input within a workflow step), transitions (between states), and inputs (pushed onto a queue to trigger transitions)
  • KWWidgets wizard workflow - provides additional functionality to manage workflow using a state machine (ex. bundles pairs of user interaction and validation states into a workflow "step", handles a navigation stack of steps encountered along the way that triggers updates of widgets and/or dialogs)

Transition from KWWidgets state machines to Qt state machines

  • Core functionality in KWWidgets state machines that would be replicated for a "straight-forward" conversion:
    • Representation of

Transition from KWWidgets workflow manager to a workflow manager using Qt's state machines

GUI implementation in Qt

Considerations to keep in mind

  • Undo / redo and forward/back transitions
  • Branching workflows / skipped states

Additional ideas and questions