Slicer
5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
Scripted abstract plugin for handling subject hierarchy items or providing actions for items. More...
#include <Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyScriptedPlugin.h>
Public Types | |
typedef qSlicerSubjectHierarchyAbstractPlugin | Superclass |
Public Types inherited from qSlicerSubjectHierarchyAbstractPlugin | |
enum | ActionSectionType { SectionTop = -400, SectionInteraction = -300, SectionComponent = -200, SectionNode = -100, SectionDefault = 0, SectionFolder = 100, SectionBottom = 200 } |
typedef QObject | Superclass |
Public Member Functions | |
double | canAddNodeToSubjectHierarchy (vtkMRMLNode *node, vtkIdType parentItemID=vtkMRMLSubjectHierarchyNode::INVALID_ITEM_ID) const override |
double | canOwnSubjectHierarchyItem (vtkIdType itemID) const override |
double | canReparentItemInsideSubjectHierarchy (vtkIdType itemID, vtkIdType parentItemID) const override |
QString | displayedItemName (vtkIdType itemID) const override |
void | editProperties (vtkIdType itemID) override |
Open module belonging to item and set inputs in opened module. More... | |
int | getDisplayVisibility (vtkIdType itemID) const override |
const QString | helpText () const override |
Get help text for plugin to be added in subject hierarchy module widget help box. More... | |
QIcon | icon (vtkIdType itemID) override |
QList< QAction * > | itemContextMenuActions () const override |
Get item context menu item actions to add to tree view. More... | |
Q_INVOKABLE QString | pythonSource () const |
qSlicerSubjectHierarchyScriptedPlugin (QObject *parent=nullptr) | |
bool | reparentItemInsideSubjectHierarchy (vtkIdType itemID, vtkIdType parentItemID) override |
const QString | roleForPlugin () const override |
QList< QAction * > | sceneContextMenuActions () const override |
Q_INVOKABLE PyObject * | self () const |
Convenience method allowing to retrieve the associated scripted instance. More... | |
void | setDisplayVisibility (vtkIdType itemID, int visible) override |
Set display visibility of a owned subject hierarchy item. More... | |
void | setName (QString name) override |
Q_INVOKABLE bool | setPythonSource (const QString newPythonSource) |
void | showContextMenuActionsForItem (vtkIdType itemID) override |
void | showViewContextMenuActionsForItem (vtkIdType itemID, QVariantMap eventData) override |
QString | tooltip (vtkIdType itemID) const override |
Generate tooltip for a owned subject hierarchy item. More... | |
QList< QAction * > | viewContextMenuActions () const override |
Get view item context menu item actions to add to views. More... | |
QIcon | visibilityIcon (int visible) override |
Get visibility icon for a visibility state. More... | |
~qSlicerSubjectHierarchyScriptedPlugin () override | |
Public Member Functions inherited from qSlicerSubjectHierarchyAbstractPlugin | |
virtual bool | addNodeToSubjectHierarchy (vtkMRMLNode *node, vtkIdType parentItemID) |
virtual Q_INVOKABLE bool | canEditProperties (vtkIdType itemID) |
Returns true if the module can edit properties of this item using editProperties. More... | |
virtual Q_INVOKABLE QColor | getDisplayColor (vtkIdType itemID, QMap< int, QVariant > &terminologyMetaData) const |
Q_INVOKABLE bool | isThisPluginOwnerOfItem (vtkIdType itemID) const |
Determines if the item is owned by this plugin. More... | |
virtual QString | name () const |
Get the name of the plugin. More... | |
qSlicerSubjectHierarchyAbstractPlugin (QObject *parent=nullptr) | |
virtual Q_INVOKABLE void | setDisplayColor (vtkIdType itemID, QColor color, QMap< int, QVariant > terminologyMetaData) |
virtual bool | showItemInView (vtkIdType itemID, vtkMRMLAbstractViewNode *viewNode, vtkIdList *allItemsToShow) |
virtual Q_INVOKABLE void | showVisibilityContextMenuActionsForItem (vtkIdType itemID) |
virtual Q_INVOKABLE QList< QAction * > | visibilityContextMenuActions () const |
~qSlicerSubjectHierarchyAbstractPlugin () override | |
Protected Attributes | |
QScopedPointer< qSlicerSubjectHierarchyScriptedPluginPrivate > | d_ptr |
Protected Attributes inherited from qSlicerSubjectHierarchyAbstractPlugin | |
QString | m_Name |
Name of the plugin. More... | |
Additional Inherited Members | |
Properties inherited from qSlicerSubjectHierarchyAbstractPlugin | |
QString | name |
Signals inherited from qSlicerSubjectHierarchyAbstractPlugin | |
void | requestExpandItem (vtkIdType itemID) |
Signal requesting expanding of the subject hierarchy tree item belonging to an item. More... | |
void | requestInvalidateFilter () const |
Static Public Member Functions inherited from qSlicerSubjectHierarchyAbstractPlugin | |
static Q_INVOKABLE void | setActionPosition (QAction *action, int section, int weight=0, double weightAdjustment=0.0) |
static Q_INVOKABLE qSlicerAbstractModuleWidget * | switchToModule (QString moduleName) |
Protected Member Functions inherited from qSlicerSubjectHierarchyAbstractPlugin | |
void | hideAllContextMenuActions () const |
Scripted abstract plugin for handling subject hierarchy items or providing actions for items.
In Widgets, not Plugins because the paths and libs need to be exported to extensions This class provides an interface to plugins implemented in python. USAGE: Subclass AbstractScriptedSubjectHierarchyPlugin in SubjectHierarchyPlugins subfolder of python scripted module, and register plugin by creating this class in module (e.g. setup method of module widget) and setting python source to implemented plugin subclass. Example can be found here: https://slicer.readthedocs.io/en/latest/developer_guide/script_repository.html#subject-hierarchy-plugin-offering-view-context-menu-action
Note about confidence values (
Definition at line 62 of file qSlicerSubjectHierarchyScriptedPlugin.h.
Definition at line 68 of file qSlicerSubjectHierarchyScriptedPlugin.h.
qSlicerSubjectHierarchyScriptedPlugin::qSlicerSubjectHierarchyScriptedPlugin | ( | QObject * | parent = nullptr | ) |
|
override |
|
overridevirtual |
Determines if a data node can be placed in the hierarchy using the actual plugin, and gets a confidence value for a certain MRML node (usually the type and possibly attributes are checked). Most plugins do not perform steps additional to the default, so the default implementation returns a 0 confidence value, which can be overridden in plugins that do handle special cases.
node | Node to be added to the hierarchy |
parentItemID | Prospective parent of the node to add. Default value is invalid. In that case the parent will be ignored, the confidence numbers are got based on the to-be child node alone. |
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Determines if the actual plugin can handle a subject hierarchy item. The plugin with the highest confidence number will "own" the item in the subject hierarchy (set icon, tooltip, set context menu etc.)
item | Item to handle in the subject hierarchy tree |
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Determines if a subject hierarchy item can be reparented in the hierarchy using the current plugin, and gets a confidence value for the reparented item. Most plugins do not perform steps additional to the default, so the default implementation returns a 0 confidence value, which can be overridden in plugins that do handle special cases.
itemID | Item to be reparented in the hierarchy |
parentItemID | Prospective parent of the item to reparent. |
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Generate displayed name for the owned subject hierarchy item corresponding to its role. The default implementation returns the associated data node's name if any, otherwise the item name
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Open module belonging to item and set inputs in opened module.
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Get display visibility of a owned subject hierarchy item
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Get help text for plugin to be added in subject hierarchy module widget help box.
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Get icon of an owned subject hierarchy item
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Get item context menu item actions to add to tree view.
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
Q_INVOKABLE QString qSlicerSubjectHierarchyScriptedPlugin::pythonSource | ( | ) | const |
|
overridevirtual |
Reparent an item that was already in the subject hierarchy under a new parent.
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Get role that the plugin assigns to the subject hierarchy item. Each plugin should provide only one role.
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Get scene context menu item actions to add to tree view Separate method is needed for the scene, as its actions are set to the tree by a different method
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
Q_INVOKABLE PyObject* qSlicerSubjectHierarchyScriptedPlugin::self | ( | ) | const |
Convenience method allowing to retrieve the associated scripted instance.
|
overridevirtual |
Set display visibility of a owned subject hierarchy item.
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Q_INVOKABLE bool qSlicerSubjectHierarchyScriptedPlugin::setPythonSource | ( | const QString | newPythonSource | ) |
Set python source for the implemented plugin
newPythonSource | Python file path |
|
overridevirtual |
Show context menu actions valid for a given subject hierarchy item.
itemID | Subject Hierarchy item to show the context menu items for |
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Show view context menu actions valid for a given subject hierarchy item.
itemID | Subject Hierarchy item to show the context menu items for |
eventData | Supplementary data for the item that may be considered for the menu (sub-item ID, attribute, etc.) |
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Generate tooltip for a owned subject hierarchy item.
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Get view item context menu item actions to add to views.
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
overridevirtual |
Get visibility icon for a visibility state.
Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.
|
protected |
Definition at line 179 of file qSlicerSubjectHierarchyScriptedPlugin.h.