23 #ifndef __qSlicerSubjectHierarchyPluginHandler_h 24 #define __qSlicerSubjectHierarchyPluginHandler_h 27 #include "qSlicerSubjectHierarchyModuleWidgetsExport.h" 34 #include <vtkSmartPointer.h> 35 #include <vtkWeakPointer.h> 44 class vtkCallbackCommand;
48 class qSlicerSubjectHierarchyPluginHandlerCleanup;
63 Q_PROPERTY (
bool autoDeleteSubjectHierarchyChildren READ autoDeleteSubjectHierarchyChildren WRITE setAutoDeleteSubjectHierarchyChildren)
67 Q_PROPERTY (
bool displayPatientIDInSubjectHierarchyItemName READ displayPatientIDInSubjectHierarchyItemName WRITE setDisplayPatientIDInSubjectHierarchyItemName)
71 Q_PROPERTY (
bool displayPatientBirthDateInSubjectHierarchyItemName READ displayPatientBirthDateInSubjectHierarchyItemName WRITE setDisplayPatientBirthDateInSubjectHierarchyItemName)
75 Q_PROPERTY (
bool displayStudyIDInSubjectHierarchyItemName READ displayStudyIDInSubjectHierarchyItemName WRITE setDisplayStudyIDInSubjectHierarchyItemName)
79 Q_PROPERTY (
bool displayStudyDateInSubjectHierarchyItemName READ displayStudyDateInSubjectHierarchyItemName WRITE setDisplayStudyDateInSubjectHierarchyItemName)
104 Q_INVOKABLE
void setCurrentItem(vtkIdType itemID);
112 Q_INVOKABLE vtkIdType currentItem();
117 Q_INVOKABLE
void setCurrentItems(
QList<vtkIdType> items);
122 Q_INVOKABLE
QList<vtkIdType> currentItems();
123 Q_INVOKABLE
void currentItems(vtkIdList* selectedItems);
125 Q_INVOKABLE
bool autoDeleteSubjectHierarchyChildren()const;
126 Q_INVOKABLE
void setAutoDeleteSubjectHierarchyChildren(
bool flag);
127 Q_INVOKABLE
bool displayPatientIDInSubjectHierarchyItemName()const;
128 Q_INVOKABLE
void setDisplayPatientIDInSubjectHierarchyItemName(
bool on);
129 Q_INVOKABLE
bool displayPatientBirthDateInSubjectHierarchyItemName()const;
130 Q_INVOKABLE
void setDisplayPatientBirthDateInSubjectHierarchyItemName(
bool on);
131 Q_INVOKABLE
bool displayStudyIDInSubjectHierarchyItemName()const;
132 Q_INVOKABLE
void setDisplayStudyIDInSubjectHierarchyItemName(
bool on);
133 Q_INVOKABLE
bool displayStudyDateInSubjectHierarchyItemName()const;
134 Q_INVOKABLE
void setDisplayStudyDateInSubjectHierarchyItemName(
bool on);
170 vtkIdType itemID, vtkIdType parentItemID );
205 static void onSubjectHierarchyNodeEvent(vtkObject* caller,
unsigned long event,
void* clientData,
void* callData);
241 friend class qSlicerSubjectHierarchyPluginHandlerCleanup;
QDateTime LastPluginRegistrationTime
Timestamp of the last plugin registration. Used to allow context menus be repopulated if needed...
QList< qSlicerSubjectHierarchyAbstractPlugin * > m_RegisteredPlugins
List of registered plugin instances.
static const vtkIdType INVALID_ITEM_ID
QList< vtkIdType > m_CurrentItems
vtkSmartPointer< vtkCallbackCommand > m_CallBack
Callback handling deletion of the subject hierarchy node.
vtkWeakPointer< vtkMRMLScene > m_MRMLScene
MRML scene (to get new subject hierarchy node if the stored one is deleted)
Default Subject Hierarchy plugin to exercise features of the abstract plugin. This plugin must not be...
qSlicerSubjectHierarchyDefaultPlugin * m_DefaultPlugin
Abstract plugin for handling Subject Hierarchy items.
MRML node to represent a complete subject hierarchy tree.
Abstract MRML node to represent a view. The class holds the properties common to any view type (3D...
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.