Author |
Committer |
Branch |
Timestamp |
Parent |
pinter |
pinter |
master |
2017-03-07 15:47:53 |
master db509ec9 |
Changeset |
ENH: Add support for model hierarchies in subject hierarchy
Handled cases:
Scene changes
-
Hierarchy node added
-> Add folder item
( folderPlugin::addNodeToSubjectHierarchy )
-
New parent is set to a hierarchy node
(Modified event for both old and new parents)
newParent.vtkMRMLHierarchyNode::ChildNodeAddedEvent(hierarchyNode)
-> Set parent of item for hierarchy node to item for new parent
( folderPlugin::onMRMLHierarchyNodeChildNodeAdded )
-
Scene import ends
-> Add each hierarchy node to subject hierarchy and resolve hierarchy on each added item
( addSupportedDataNodesToSubjectHierarchy,
folderPlugin::addNodeToSubjectHierarchy,
resolveHierarchyForItem )
-
Data node is associated to a hierarchy node
dataNode.vtkMRMLNode::HierarchyModifiedEvent
(Should only happen if building hierarchy programmaticaly from scratch)
Remove hierarchy node's item from subject hierarchy
( folderPlugin::onDataNodeAssociatedToHierarchyNode )
Subject hierarchy changes
- Item is reparented under an item with node hierarchy
1a. New parent has associated hierarchy node
-> Set parent item's hierarchy node as parent of reparented item's hierarchy node
( folderPlugin::reparentItemInsideSubjectHierarchy )
1b. Otherwise
-> Set scene as parent of reparented item's hierarchy node
( folderPlugin::reparentItemInsideSubjectHierarchy )
git-svn-id: http://svn.slicer.org/Slicer4/trunk@25753 3bd1e089-480b-0410-8dfb-8563597acbee |
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyAbstractPlugin.cxx |
Diff
File
|
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyFolderPlugin.cxx |
Diff
File
|
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyFolderPlugin.h |
Diff
File
|
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyPluginLogic.cxx |
Diff
File
|
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyPluginLogic.h |
Diff
File
|