Slicer  5.1
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Public Types | Public Member Functions | Protected Slots | Protected Attributes
qSlicerSubjectHierarchyVolumesPlugin Class Reference

#include <Modules/Loadable/Volumes/SubjectHierarchyPlugins/qSlicerSubjectHierarchyVolumesPlugin.h>

Inheritance diagram for qSlicerSubjectHierarchyVolumesPlugin:
Inheritance graph
[legend]
Collaboration diagram for qSlicerSubjectHierarchyVolumesPlugin:
Collaboration graph
[legend]

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
 
void collectShownVolumes (QSet< vtkIdType > &shownVolumeItemIDs, int layer=vtkMRMLApplicationLogic::BackgroundLayer|vtkMRMLApplicationLogic::ForegroundLayer|vtkMRMLApplicationLogic::LabelLayer) const
 
int getDisplayVisibility (vtkIdType itemID) const override
 
void hideVolumeFromAllViews (vtkMRMLScalarVolumeNode *node)
 Hide given volume from all layers of all slice views. More...
 
QIcon icon (vtkIdType itemID) override
 
 qSlicerSubjectHierarchyVolumesPlugin (QObject *parent=nullptr)
 
Q_INVOKABLE const QString roleForPlugin () const override
 
void setDisplayVisibility (vtkIdType itemID, int visible) override
 Set display visibility of a owned subject hierarchy item. More...
 
bool showItemInView (vtkIdType itemID, vtkMRMLAbstractViewNode *viewNode, vtkIdList *allItemsToShow) override
 Show an item in a selected view. More...
 
void showViewContextMenuActionsForItem (vtkIdType itemID, QVariantMap eventData)
 
void showVisibilityContextMenuActionsForItem (vtkIdType itemID) override
 
void showVolumeInAllViews (vtkMRMLScalarVolumeNode *node, int layer=vtkMRMLApplicationLogic::BackgroundLayer)
 
QString tooltip (vtkIdType itemID) const override
 Generate tooltip for a owned subject hierarchy item. More...
 
QList< QAction * > viewContextMenuActions () const override
 
QList< QAction * > visibilityContextMenuActions () const override
 
QIcon visibilityIcon (int visible) override
 Get visibility icon for a visibility state. More...
 
 ~qSlicerSubjectHierarchyVolumesPlugin () 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 double canReparentItemInsideSubjectHierarchy (vtkIdType itemID, vtkIdType parentItemID) const
 
virtual QString displayedItemName (vtkIdType itemID) const
 
virtual Q_INVOKABLE void editProperties (vtkIdType itemID)
 Open module belonging to item and set inputs in opened module. More...
 
virtual Q_INVOKABLE QColor getDisplayColor (vtkIdType itemID, QMap< int, QVariant > &terminologyMetaData) const
 
virtual const QString helpText () const
 Get help text for plugin to be added in subject hierarchy module widget help box. More...
 
Q_INVOKABLE bool isThisPluginOwnerOfItem (vtkIdType itemID) const
 Determines if the item is owned by this plugin. More...
 
virtual Q_INVOKABLE QList< QAction * > itemContextMenuActions () const
 
virtual QString name () const
 Get the name of the plugin. More...
 
 qSlicerSubjectHierarchyAbstractPlugin (QObject *parent=nullptr)
 
virtual bool reparentItemInsideSubjectHierarchy (vtkIdType itemID, vtkIdType parentItemID)
 
virtual Q_INVOKABLE QList< QAction * > sceneContextMenuActions () const
 
virtual Q_INVOKABLE void setDisplayColor (vtkIdType itemID, QColor color, QMap< int, QVariant > terminologyMetaData)
 
virtual void setName (QString name)
 
virtual Q_INVOKABLE void showContextMenuActionsForItem (vtkIdType itemID)
 
 ~qSlicerSubjectHierarchyAbstractPlugin () override
 

Protected Slots

void onLayoutChanged ()
 
void onLayoutChanged (int layout)
 Variant of. More...
 
void onSliceCompositeNodeModified ()
 
void setVolumePreset (const QString &presetId)
 Set window/level by mapped menu signal. More...
 
void showVolumeInForeground ()
 Show volume in the slice views as foreground. More...
 
void showVolumesInBranch ()
 
void toggleResetFieldOfViewOnShowAction (bool)
 
void toggleResetViewOrientationOnShowAction (bool)
 
void toggleVisibilityForCurrentItem (bool)
 Toggle color legend option for current volume item in a slice view. More...
 

Protected Attributes

QScopedPointer< qSlicerSubjectHierarchyVolumesPluginPrivate > 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 qSlicerAbstractModuleWidgetswitchToModule (QString moduleName)
 
- Protected Member Functions inherited from qSlicerSubjectHierarchyAbstractPlugin
void hideAllContextMenuActions () const
 

Detailed Description

Definition at line 41 of file qSlicerSubjectHierarchyVolumesPlugin.h.

Member Typedef Documentation

◆ Superclass

Definition at line 48 of file qSlicerSubjectHierarchyVolumesPlugin.h.

Constructor & Destructor Documentation

◆ qSlicerSubjectHierarchyVolumesPlugin()

qSlicerSubjectHierarchyVolumesPlugin::qSlicerSubjectHierarchyVolumesPlugin ( QObject *  parent = nullptr)

◆ ~qSlicerSubjectHierarchyVolumesPlugin()

qSlicerSubjectHierarchyVolumesPlugin::~qSlicerSubjectHierarchyVolumesPlugin ( )
override

Member Function Documentation

◆ canAddNodeToSubjectHierarchy()

double qSlicerSubjectHierarchyVolumesPlugin::canAddNodeToSubjectHierarchy ( vtkMRMLNode node,
vtkIdType  parentItemID = vtkMRMLSubjectHierarchyNode::INVALID_ITEM_ID 
) const
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).

Parameters
nodeNode to be added to the hierarchy
parentItemIDProspective 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.
Returns
Floating point confidence number between 0 and 1, where 0 means that the plugin cannot handle the node, and 1 means that the plugin is the only one that can handle the node (by node type or identifier attribute)

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ canOwnSubjectHierarchyItem()

double qSlicerSubjectHierarchyVolumesPlugin::canOwnSubjectHierarchyItem ( vtkIdType  itemID) const
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.)

Parameters
itemItem to handle in the subject hierarchy tree
Returns
Floating point confidence number between 0 and 1, where 0 means that the plugin cannot handle the item, and 1 means that the plugin is the only one that can handle the item (by node type or identifier attribute)

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ collectShownVolumes()

void qSlicerSubjectHierarchyVolumesPlugin::collectShownVolumes ( QSet< vtkIdType > &  shownVolumeItemIDs,
int  layer = vtkMRMLApplicationLogic::BackgroundLayer|vtkMRMLApplicationLogic::ForegroundLayer|vtkMRMLApplicationLogic::LabelLayer 
) const

Collect subject hierarchy item IDs of all volumes that are shown in any slice view

Parameters
shownVolumeItemIDsOutput argument for subject hierarchy item IDs of shown volumes
layerLayer(s) from which the shown volumes are collected. By default it's all layers

◆ getDisplayVisibility()

int qSlicerSubjectHierarchyVolumesPlugin::getDisplayVisibility ( vtkIdType  itemID) const
overridevirtual

Get display visibility of a owned subject hierarchy item

Returns
Display visibility (0: hidden, 1: shown, 2: partially shown)

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ hideVolumeFromAllViews()

void qSlicerSubjectHierarchyVolumesPlugin::hideVolumeFromAllViews ( vtkMRMLScalarVolumeNode node)

Hide given volume from all layers of all slice views.

◆ icon()

QIcon qSlicerSubjectHierarchyVolumesPlugin::icon ( vtkIdType  itemID)
overridevirtual

Get icon of an owned subject hierarchy item

Returns
Icon to set, empty icon if nothing to set

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ onLayoutChanged [1/2]

void qSlicerSubjectHierarchyVolumesPlugin::onLayoutChanged ( )
protectedslot

Re-connect slice composite node events so that visibility icons are updated when volumes are shown/hidden from outside subject hierarchy

◆ onLayoutChanged [2/2]

void qSlicerSubjectHierarchyVolumesPlugin::onLayoutChanged ( int  layout)
protectedslot

Variant of.

See also
onLayoutChanged so that it can be connected to the event which has the layout as parameter

◆ onSliceCompositeNodeModified

void qSlicerSubjectHierarchyVolumesPlugin::onSliceCompositeNodeModified ( )
protectedslot

Trigger updating all volume visibility icons when composite node changes Note: Update all and not just the volumes in the composite node, because it is impossible to know after a Modified event if a volume was hidden in the process

◆ roleForPlugin()

Q_INVOKABLE const QString qSlicerSubjectHierarchyVolumesPlugin::roleForPlugin ( ) const
overridevirtual

Get role that the plugin assigns to the subject hierarchy item. Each plugin should provide only one role.

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ setDisplayVisibility()

void qSlicerSubjectHierarchyVolumesPlugin::setDisplayVisibility ( vtkIdType  itemID,
int  visible 
)
overridevirtual

Set display visibility of a owned subject hierarchy item.

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ setVolumePreset

void qSlicerSubjectHierarchyVolumesPlugin::setVolumePreset ( const QString &  presetId)
protectedslot

Set window/level by mapped menu signal.

◆ showItemInView()

bool qSlicerSubjectHierarchyVolumesPlugin::showItemInView ( vtkIdType  itemID,
vtkMRMLAbstractViewNode viewNode,
vtkIdList *  allItemsToShow 
)
overridevirtual

Show an item in a selected view.

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ showViewContextMenuActionsForItem()

void qSlicerSubjectHierarchyVolumesPlugin::showViewContextMenuActionsForItem ( vtkIdType  itemID,
QVariantMap  eventData 
)
virtual

Show context menu actions valid for a given subject hierarchy item to be shown in the view.

Parameters
itemIDSubject Hierarchy item to show the context menu items for
eventDataSupplementary data for the item that may be considered for the menu (sub-item ID, attribute, etc.)

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ showVisibilityContextMenuActionsForItem()

void qSlicerSubjectHierarchyVolumesPlugin::showVisibilityContextMenuActionsForItem ( vtkIdType  itemID)
overridevirtual

Show visibility context menu actions valid for a given subject hierarchy item.

Parameters
itemIDSubject Hierarchy item to show the visibility context menu items for

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ showVolumeInAllViews()

void qSlicerSubjectHierarchyVolumesPlugin::showVolumeInAllViews ( vtkMRMLScalarVolumeNode node,
int  layer = vtkMRMLApplicationLogic::BackgroundLayer 
)

Show volume in all slice views. The argument node replaces any volume shown on the specified layer

Parameters
nodeVolume node to show
layerLayer to show volume on. Only one layer can be specified. By default it's the background layer

◆ showVolumeInForeground

void qSlicerSubjectHierarchyVolumesPlugin::showVolumeInForeground ( )
protectedslot

Show volume in the slice views as foreground.

◆ showVolumesInBranch

void qSlicerSubjectHierarchyVolumesPlugin::showVolumesInBranch ( )
protectedslot

Show volumes in study. The first two scalar volumes are shown if there are more. Hides other volumes if there are less in the current study.

◆ toggleResetFieldOfViewOnShowAction

void qSlicerSubjectHierarchyVolumesPlugin::toggleResetFieldOfViewOnShowAction ( bool  )
protectedslot

Toggle flag determining whether field of view in slice views is reset when showing a volume in subject hierarchy. By default it is on. State is stored in the application settings.

◆ toggleResetViewOrientationOnShowAction

void qSlicerSubjectHierarchyVolumesPlugin::toggleResetViewOrientationOnShowAction ( bool  )
protectedslot

Toggle flag determining whether orientation slice views should be reset to background volume axis closest to the view's default view axis when showing a volume in subject hierarchy. By default it is on. State is stored in the application settings.

◆ toggleVisibilityForCurrentItem

void qSlicerSubjectHierarchyVolumesPlugin::toggleVisibilityForCurrentItem ( bool  )
protectedslot

Toggle color legend option for current volume item in a slice view.

◆ tooltip()

QString qSlicerSubjectHierarchyVolumesPlugin::tooltip ( vtkIdType  itemID) const
overridevirtual

Generate tooltip for a owned subject hierarchy item.

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ viewContextMenuActions()

QList<QAction*> qSlicerSubjectHierarchyVolumesPlugin::viewContextMenuActions ( ) const
overridevirtual

Get view context menu item actions that are available when right-clicking an object in the views. These item context menu actions can be shown in the implementations of

See also
showViewContextMenuActionsForItem

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ visibilityContextMenuActions()

QList<QAction*> qSlicerSubjectHierarchyVolumesPlugin::visibilityContextMenuActions ( ) const
overridevirtual

Get visibility context menu item actions to add to tree view. These item visibility context menu actions can be shown in the implementations of

See also
showVisibilityContextMenuActionsForItem

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ visibilityIcon()

QIcon qSlicerSubjectHierarchyVolumesPlugin::visibilityIcon ( int  visible)
overridevirtual

Get visibility icon for a visibility state.

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

Member Data Documentation

◆ d_ptr

QScopedPointer<qSlicerSubjectHierarchyVolumesPluginPrivate> qSlicerSubjectHierarchyVolumesPlugin::d_ptr
protected

Definition at line 164 of file qSlicerSubjectHierarchyVolumesPlugin.h.


The documentation for this class was generated from the following file: