Slicer 5.6
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
qSlicerSubjectHierarchySegmentsPlugin.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Copyright (c) Laboratory for Percutaneous Surgery (PerkLab)
4 Queen's University, Kingston, ON, Canada. All Rights Reserved.
5
6 See COPYRIGHT.txt
7 or http://www.slicer.org/copyright/copyright.txt for details.
8
9 Unless required by applicable law or agreed to in writing, software
10 distributed under the License is distributed on an "AS IS" BASIS,
11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 See the License for the specific language governing permissions and
13 limitations under the License.
14
15 This file was originally developed by Csaba Pinter, PerkLab, Queen's University
16 and was supported through the Applied Cancer Research Unit program of Cancer Care
17 Ontario with funds provided by the Ontario Ministry of Health and Long-Term Care
18
19==============================================================================*/
20
21#ifndef __qSlicerSubjectHierarchySegmentsPlugin_h
22#define __qSlicerSubjectHierarchySegmentsPlugin_h
23
24// Subject Hierarchy includes
26
27#include "qSlicerSegmentationsSubjectHierarchyPluginsExport.h"
28
29class qSlicerSubjectHierarchySegmentsPluginPrivate;
30class vtkMRMLNode;
32
33class Q_SLICER_SEGMENTATIONS_PLUGINS_EXPORT qSlicerSubjectHierarchySegmentsPlugin : public qSlicerSubjectHierarchyAbstractPlugin
34{
35public:
36 Q_OBJECT
37
38public:
40 qSlicerSubjectHierarchySegmentsPlugin(QObject* parent = nullptr);
42
43public:
52 double canReparentItemInsideSubjectHierarchy(vtkIdType itemID, vtkIdType parentItemID)const override;
53
56 bool reparentItemInsideSubjectHierarchy(vtkIdType itemID, vtkIdType parentItemID) override;
57
64 double canOwnSubjectHierarchyItem(vtkIdType itemID)const override;
65
68 Q_INVOKABLE const QString roleForPlugin()const override;
69
71 const QString helpText()const override;
72
75 QIcon icon(vtkIdType itemID) override;
76
78 QIcon visibilityIcon(int visible) override;
79
81 void editProperties(vtkIdType itemID) override;
82
84 QString tooltip(vtkIdType itemID)const override;
85
87 void setDisplayVisibility(vtkIdType itemID, int visible) override;
88
91 int getDisplayVisibility(vtkIdType itemID)const override;
92
100 void setDisplayColor(vtkIdType itemID, QColor color, QMap<int, QVariant> terminologyMetaData) override;
101
108 QColor getDisplayColor(vtkIdType itemID, QMap<int, QVariant> &terminologyMetaData)const override;
109
111 QList<QAction*> itemContextMenuActions()const override;
112
115 void showContextMenuActionsForItem(vtkIdType itemID) override;
116
119 QList<QAction*> visibilityContextMenuActions()const override;
120
123 void showVisibilityContextMenuActionsForItem(vtkIdType itemID) override;
124
129 bool showItemInView(vtkIdType itemID, vtkMRMLAbstractViewNode* viewNode, vtkIdList* allItemsToShow) override;
130
131protected slots:
134
137
140
143
145 void setOpacityForCurrentItem(double opacity);
146
147protected:
148 QScopedPointer<qSlicerSubjectHierarchySegmentsPluginPrivate> d_ptr;
149
150private:
151 Q_DECLARE_PRIVATE(qSlicerSubjectHierarchySegmentsPlugin);
153};
154
155#endif
Abstract plugin for handling Subject Hierarchy items.
qSlicerSubjectHierarchySegmentsPlugin(QObject *parent=nullptr)
void showAllSegments()
Show all segments in segmentation.
double canReparentItemInsideSubjectHierarchy(vtkIdType itemID, vtkIdType parentItemID) const override
void setDisplayVisibility(vtkIdType itemID, int visible) override
Set display visibility of a owned subject hierarchy item.
QColor getDisplayColor(vtkIdType itemID, QMap< int, QVariant > &terminologyMetaData) const override
void showVisibilityContextMenuActionsForItem(vtkIdType itemID) override
QString tooltip(vtkIdType itemID) const override
Generate tooltip for a owned subject hierarchy item.
void editProperties(vtkIdType itemID) override
Open module belonging to item and set inputs in opened module.
QList< QAction * > visibilityContextMenuActions() const override
void jumpSlices()
Jump to slices in slice views to show current segment.
QIcon icon(vtkIdType itemID) override
bool reparentItemInsideSubjectHierarchy(vtkIdType itemID, vtkIdType parentItemID) override
void showContextMenuActionsForItem(vtkIdType itemID) override
void cloneSegment()
Clone the selected segment.
QList< QAction * > itemContextMenuActions() const override
Get item context menu item actions to add to tree view.
bool showItemInView(vtkIdType itemID, vtkMRMLAbstractViewNode *viewNode, vtkIdList *allItemsToShow) override
void showOnlyCurrentSegment()
Show only selected segment, hide all others in segmentation.
QScopedPointer< qSlicerSubjectHierarchySegmentsPluginPrivate > d_ptr
QIcon visibilityIcon(int visible) override
Get visibility icon for a visibility state.
void setDisplayColor(vtkIdType itemID, QColor color, QMap< int, QVariant > terminologyMetaData) override
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.
void setOpacityForCurrentItem(double opacity)
Set opacity for current subject hierarchy item.
Q_INVOKABLE const QString roleForPlugin() const override
double canOwnSubjectHierarchyItem(vtkIdType itemID) const override
Abstract MRML node to represent a view. The class holds the properties common to any view type (3D,...
Abstract Superclass for all specific types of MRML nodes.
MRML node to represent a complete subject hierarchy tree.