Locked History Attachments

ChangeRequests/1895

The 3M3 DataManager

Summary

For the upcoming 3M3 Mitk App the DataManager module will be completely redesigned. The three main goals of this redesign are:

  1. Intuitive handling
  2. The DataManager should be the central selection component: Every module that depends on Data Selection may listen to DataManager - selection events

  3. The DataManager should offer the most important functions associated with the given Data by means of a context menu

Requirements

  1. The DataManager will show a tree of DataNodes, where nested Nodes represent derived Nodes from its parent. Each Node will have a DataType-related icon and a checkbox to toggle the visibility

  2. The Ordering of the top level nodes is responsible for the corresponding Layer-Value, whereas Subnodes always have a higher Layer value than its parents. E.g.: Suppose the following tree
    • Image1 (layer: 3)
      • Segmentation1 (layer: 4)
      • Segmentation2 (layer: 5)
    • Image2 (layer: 0)
      • Segmentation1 (layer: 1)
        • Surface1 (layer: 2)
  3. Via Drag n` Drop the nodes can be moved in the tree and consequently their layer property will be recalculated
  4. The DataManager will continue to emit selection events and will furthermore set the "selected" property in each node appropriately

  5. To change the selection in the DataManager programmatically the DataManager will listen to other selection events and will set its selection appropriately

  6. The DataManager will offer a context menu for each Item to change important properties, like the opacity. Furthermore it will offer actions like save, delete, etc.

  7. The DataManager will offer the possibility to add own Actions in this menu in order to add new actions related to DataNodes

  8. If the "helper object" property is set or if the BaseData contained in a DataNode is 0, the node and its children will not be shown in the DataManager

Proposed solution