23#ifndef __qSlicerSubjectHierarchyPluginLogic_h
24#define __qSlicerSubjectHierarchyPluginLogic_h
30#include <ctkVTKObject.h>
39#include "qSlicerSubjectHierarchyModuleWidgetsExport.h"
43class qSlicerSubjectHierarchyPluginLogicPrivate;
115 static Q_INVOKABLE QString
buildMenuFromActions(QMenu* menu,
QList< QAction* > actions, const QStringList& allowedActions=QStringList());
160 QScopedPointer<qSlicerSubjectHierarchyPluginLogicPrivate>
d_ptr;
Abstract plugin for handling Subject Hierarchy items.
QScopedPointer< qSlicerSubjectHierarchyPluginLogicPrivate > d_ptr
void observeNode(vtkMRMLNode *node)
Add observations for node that was added to subject hierarchy.
static Q_INVOKABLE QString buildMenuFromActions(QMenu *menu, QList< QAction * > actions, const QStringList &allowedActions=QStringList())
void editProperties()
Called when the user clicks the Edit properties View menu action.
void registerCorePlugins()
QVTK_OBJECTQStringList allowedViewContextMenuActionNames
void onNodeAboutToBeRemoved(vtkObject *scene, vtkObject *nodeObject)
Q_INVOKABLE void setAllowedViewContextMenuActionNamesForItem(vtkIdType itemID, const QStringList &actionObjectNames)
void onNodeAdded(vtkObject *scene, vtkObject *nodeObject)
Called when a node is added to the scene so that a plugin can create an item for it.
void onNodeRemoved(vtkObject *scene, vtkObject *nodeObject)
Q_INVOKABLE void setCurrentSubjectHierarchyItem(vtkIdType itemID)
void setMRMLScene(vtkMRMLScene *scene) override
Set the current MRML scene to the logic.
void addSupportedDataNodesToSubjectHierarchy()
void registerViewContextMenuAction(QAction *action)
Add view menu action. Called by plugin handler when registering a plugin.
void onSceneRestoreEnded(vtkObject *sceneObject)
void setAllowedViewContextMenuActionNames(QStringList actionObjectNames)
Q_INVOKABLE vtkIdType currentSubjectHierarchyItem() const
Assessor function for getting currently selected subject hierarchy item (for python)
void onSceneBatchProcessEnded(vtkObject *sceneObject)
QStringList registeredViewContextMenuActionNames
List of all registered view context menu actions.
qSlicerSubjectHierarchyPluginLogic(QObject *parent=nullptr)
Q_INVOKABLE QStringList allowedViewContextMenuActionNamesForItem(vtkIdType itemID)
void onSceneImportEnded(vtkObject *sceneObject)
void onDisplayNodeModified(vtkObject *, vtkObject *)
Called when display node modified event is invoked on an owned displayable node.
friend class qSlicerSubjectHierarchyPluginHandler
void onSceneCloseEnded(vtkObject *sceneObject)
Called when scene import is finished. Hierarchy is cleared in that case.
Q_INVOKABLE qSlicerSubjectHierarchyAbstractPlugin * subjectHierarchyPluginByName(QString name) const
Assessor function for getting subject hierarchy plugin by name (for python)
void onDisplayMenuEvent(vtkObject *, vtkObject *)
Called when menu event is invoked on a display node of an owned displayable node.
Abstract Superclass for all specific types of MRML nodes.
A set of MRML Nodes that supports serialization and undo/redo.