Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qSlicerSubjectHierarchyPlotChartPlugin.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 __qSlicerSubjectHierarchyPlotChartPlugin_h
21 #define __qSlicerSubjectHierarchyPlotChartPlugin_h
22 
23 // SubjectHierarchy Plugins includes
25 
26 #include "qSlicerSubjectHierarchyModuleWidgetsExport.h"
27 
28 class qSlicerSubjectHierarchyPlotChartPluginPrivate;
30 
31 // Due to some reason the Python wrapping of this class fails, therefore
32 // put everything between BTX/ETX to exclude from wrapping.
33 // TODO investigate why the wrapping fails:
34 // https://www.assembla.com/spaces/slicerrt/tickets/210-python-wrapping-error-when-starting-up-slicer-with-slicerrt
35 //BTX
36 
38 class Q_SLICER_MODULE_SUBJECTHIERARCHY_WIDGETS_EXPORT qSlicerSubjectHierarchyPlotChartPlugin : public qSlicerSubjectHierarchyAbstractPlugin
39 {
40 public:
41  Q_OBJECT
42 
43 public:
45  qSlicerSubjectHierarchyPlotChartPlugin(QObject* parent = NULL);
47 
48 public:
56  virtual double canAddNodeToSubjectHierarchy(
57  vtkMRMLNode* node,
58  vtkIdType parentItemID=vtkMRMLSubjectHierarchyNode::INVALID_ITEM_ID )const;
59 
66  virtual double canOwnSubjectHierarchyItem(vtkIdType itemID)const;
67 
70  Q_INVOKABLE virtual const QString roleForPlugin()const;
71 
74  virtual QIcon icon(vtkIdType itemID);
75 
77  virtual QIcon visibilityIcon(int visible);
78 
80  virtual void editProperties(vtkIdType itemID);
81 
83  virtual void setDisplayVisibility(vtkIdType itemID, int visible);
84 
87  virtual int getDisplayVisibility(vtkIdType itemID)const;
88 
89 protected:
91  vtkMRMLPlotViewNode* getPlotViewNode()const;
92 
93 protected:
94  QScopedPointer<qSlicerSubjectHierarchyPlotChartPluginPrivate> d_ptr;
95 
96 private:
97  Q_DECLARE_PRIVATE(qSlicerSubjectHierarchyPlotChartPlugin);
99 };
100 
101 //ETX
102 
103 #endif
virtual Q_INVOKABLE void setDisplayVisibility(vtkIdType itemID, int visible)
Set display visibility of a 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
Abstract plugin for handling Subject Hierarchy items.
QScopedPointer< qSlicerSubjectHierarchyPlotChartPluginPrivate > d_ptr
virtual Q_INVOKABLE void editProperties(vtkIdType itemID)
Open module belonging to item and set inputs in opened module.
virtual Q_INVOKABLE int getDisplayVisibility(vtkIdType itemID) const
virtual Q_INVOKABLE QIcon visibilityIcon(int visible)
Get visibility icon for a visibility state.
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:135
virtual Q_INVOKABLE double canOwnSubjectHierarchyItem(vtkIdType itemID) const