23 #ifndef __qSlicerSubjectHierarchyPluginLogic_h 24 #define __qSlicerSubjectHierarchyPluginLogic_h 30 #include <ctkVTKObject.h> 39 #include "qSlicerSubjectHierarchyModuleWidgetsExport.h" 43 class qSlicerSubjectHierarchyPluginLogicPrivate;
57 Q_PROPERTY(QStringList allowedViewContextMenuActionNames READ allowedViewContextMenuActionNames WRITE setAllowedViewContextMenuActionNames)
59 Q_PROPERTY(QStringList registeredViewContextMenuActionNames READ registeredViewContextMenuActionNames)
74 Q_INVOKABLE vtkIdType currentSubjectHierarchyItem()const;
78 Q_INVOKABLE
void setCurrentSubjectHierarchyItem(vtkIdType itemID);
83 void registerCorePlugins();
87 QStringList registeredViewContextMenuActionNames();
94 void setAllowedViewContextMenuActionNames(QStringList actionObjectNames);
97 QStringList allowedViewContextMenuActionNames() const;
104 Q_INVOKABLE
void setAllowedViewContextMenuActionNamesForItem(vtkIdType itemID, const QStringList& actionObjectNames);
108 Q_INVOKABLE QStringList allowedViewContextMenuActionNamesForItem(vtkIdType itemID);
116 static Q_INVOKABLE QString buildMenuFromActions(QMenu* menu,
QList< QAction* > actions, const QStringList& allowedActions=QStringList());
126 void addSupportedDataNodesToSubjectHierarchy();
129 void registerViewContextMenuAction(QAction* action);
133 void onNodeAdded(vtkObject* scene, vtkObject* nodeObject);
136 void onNodeAboutToBeRemoved(vtkObject* scene, vtkObject* nodeObject);
139 void onNodeRemoved(vtkObject* scene, vtkObject* nodeObject);
143 void onSceneImportEnded(vtkObject* sceneObject);
145 void onSceneCloseEnded(vtkObject* sceneObject);
148 void onSceneRestoreEnded(vtkObject* sceneObject);
151 void onSceneBatchProcessEnded(vtkObject* sceneObject);
154 void onDisplayNodeModified(vtkObject*, vtkObject*);
156 void onDisplayMenuEvent(vtkObject*, vtkObject*);
158 void editProperties();
161 QScopedPointer<qSlicerSubjectHierarchyPluginLogicPrivate> d_ptr;
Abstract plugin for handling Subject Hierarchy items.
A set of MRML Nodes that supports serialization and undo/redo.
Qt-based logic class to exercise Qt-related logic functions. The Subject hierarchy plugin mechanism a...
Abstract Superclass for all specific types of MRML nodes.
Singleton class managing Subject Hierarchy plugins.