Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qSlicerSubjectHierarchyPlotsPlugin.h
Go to the documentation of this file.
1 /*==============================================================================
2 
3  Copyright (c) Kapteyn Astronomical Institute
4  University of Groningen, Groningen, Netherlands. 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 Davide Punzo, Kapteyn Astronomical Institute,
16  and was supported through the European Research Council grant nr. 291531.
17 
18 ==============================================================================*/
19 
20 #ifndef __qSlicerSubjectHierarchyPlotsPlugin_h
21 #define __qSlicerSubjectHierarchyPlotsPlugin_h
22 
23 // SubjectHierarchy Plugins includes
25 
26 #include "qSlicerPlotsSubjectHierarchyPluginsExport.h"
27 
28 class qSlicerSubjectHierarchyPlotsPluginPrivate;
31 
32 
34 class Q_SLICER_PLOTS_SUBJECT_HIERARCHY_PLUGINS_EXPORT qSlicerSubjectHierarchyPlotsPlugin : public qSlicerSubjectHierarchyAbstractPlugin
35 {
36 public:
37  Q_OBJECT
38 
39 public:
41  qSlicerSubjectHierarchyPlotsPlugin(QObject* parent = nullptr);
43 
44 public:
45 
47  void setPlotsLogic(vtkSlicerPlotsLogic* plotsLogic);
48 
57  vtkMRMLNode* node,
58  vtkIdType parentItemID=vtkMRMLSubjectHierarchyNode::INVALID_ITEM_ID )const override;
59 
66  double canOwnSubjectHierarchyItem(vtkIdType itemID)const override;
67 
70  Q_INVOKABLE const QString roleForPlugin()const override;
71 
74  QIcon icon(vtkIdType itemID) override;
75 
77  QIcon visibilityIcon(int visible) override;
78 
80  void setDisplayVisibility(vtkIdType itemID, int visible) override;
81 
84  int getDisplayVisibility(vtkIdType itemID)const override;
85 
86 protected:
88  vtkMRMLPlotViewNode* getPlotViewNode()const;
89 
90 protected:
91  QScopedPointer<qSlicerSubjectHierarchyPlotsPluginPrivate> d_ptr;
92 
93 private:
94  Q_DECLARE_PRIVATE(qSlicerSubjectHierarchyPlotsPlugin);
95  Q_DISABLE_COPY(qSlicerSubjectHierarchyPlotsPlugin);
96 };
97 
98 #endif
virtual Q_INVOKABLE void setDisplayVisibility(vtkIdType itemID, int visible)
Set display visibility of an owned subject hierarchy item.
virtual QIcon icon(vtkIdType itemID)
MRML node to represent Plot view parameters.
virtual Q_INVOKABLE const QString roleForPlugin() const
virtual double canAddNodeToSubjectHierarchy(vtkMRMLNode *node, vtkIdType parentItemID=vtkMRMLSubjectHierarchyNode::INVALID_ITEM_ID) const
qSlicerSubjectHierarchyAbstractPlugin Superclass
Abstract plugin for handling Subject Hierarchy items.
virtual Q_INVOKABLE int getDisplayVisibility(vtkIdType itemID) const
virtual Q_INVOKABLE QIcon visibilityIcon(int visible)
Get visibility icon for a visibility state.
QScopedPointer< qSlicerSubjectHierarchyPlotsPluginPrivate > d_ptr
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
virtual Q_INVOKABLE double canOwnSubjectHierarchyItem(vtkIdType itemID) const
Slicer logic class for double array manipulation This class manages the logic associated with reading...