From Slicer Wiki
Jump to: navigation, search
Home < Slicer3:UIDesign:WorkingProblems:MouseModes:SelectedVersusActive

Back to Slicer3 UI Design

Back to MouseModes in Slicer3

State in MRML

Currently, Slicer uses the concept of active datasets (the active volume, an active model, and active fiducial list, etc.) Application-wide, only a single datatype can be active at one time. This set of active datatypes is represented in the vtkMRMLSelectionNode.

The fiducials module also uses the concept of selected fiducials within any fiducial list. Many command line modules use only selected fiducials in their processing.

We propose to collapse these ("active" and "selected") into one state variable and move that concept consistently into the codebase, which includes the following work:

  • defining Selected=0 or 1 on a vtkMRMLTransformableNode.
  • modifying the vtkMRMLSelectionNode to include multiple selected objects within any datatype
  • extending the vtkSlicerNodeSelectorWidget to include checkbuttons rather than radiobuttons for nodes that can have multiple selections
  • Changing the term active to selected in the codebase, (Fiducials module, ROI module, SlicesControlGUI, ViewControlGUI, ApplicationLogic and MRML XML parsing). MRML XML parsing should continue to support the "active" tag to remain backward compatible.
  • Building the selection logic that appropriately marks objects as selected or deselected.
  • Encourage developers to conform to this convention of setting and using the Pick mode for selection instead of overloading the Transform View mode with hot-keys (provide example of how to get and set the mouse mode, and how to use the selection logic.