Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qSlicerSubjectHierarchyTablesPlugin.h
Go to the documentation of this file.
1 /*==============================================================================
2 
3  Program: 3D Slicer
4 
5  Portions (c) Copyright 2015 Brigham and Women's Hospital (BWH) All Rights Reserved.
6 
7  See COPYRIGHT.txt
8  or http://www.slicer.org/copyright/copyright.txt for details.
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16  This file was originally developed by Andras Lasso (PerkLab, Queen's
17  University) and Kevin Wang (Princess Margaret Hospital, Toronto) and was
18  supported through OCAIRO and the Applied Cancer Research Unit program of
19  Cancer Care Ontario.
20 
21 ==============================================================================*/
22 
23 #ifndef __qSlicerSubjectHierarchyTablesPlugin_h
24 #define __qSlicerSubjectHierarchyTablesPlugin_h
25 
26 // SubjectHierarchy includes
28 
29 #include "qSlicerTablesSubjectHierarchyPluginsExport.h"
30 
31 class qSlicerSubjectHierarchyTablesPluginPrivate;
32 class vtkMRMLNode;
35 
37 class Q_SLICER_TABLES_SUBJECT_HIERARCHY_PLUGINS_EXPORT qSlicerSubjectHierarchyTablesPlugin : public qSlicerSubjectHierarchyAbstractPlugin
38 {
39 public:
40  Q_OBJECT
41 
42 public:
44  qSlicerSubjectHierarchyTablesPlugin(QObject* parent = nullptr);
46 
47 public:
56  vtkMRMLNode* node,
57  vtkIdType parentItemID=vtkMRMLSubjectHierarchyNode::INVALID_ITEM_ID )const override;
58 
65  double canOwnSubjectHierarchyItem(vtkIdType itemID)const override;
66 
69  Q_INVOKABLE const QString roleForPlugin()const override;
70 
73  QIcon icon(vtkIdType itemID) override;
74 
76  QIcon visibilityIcon(int visible) override;
77 
79  void setDisplayVisibility(vtkIdType itemID, int visible) override;
80 
83  int getDisplayVisibility(vtkIdType itemID)const override;
84 
85 protected:
87  vtkMRMLTableViewNode* getTableViewNode()const;
88 
89 protected:
90  QScopedPointer<qSlicerSubjectHierarchyTablesPluginPrivate> d_ptr;
91 
92 private:
93  Q_DECLARE_PRIVATE(qSlicerSubjectHierarchyTablesPlugin);
95 };
96 
97 #endif
virtual Q_INVOKABLE void setDisplayVisibility(vtkIdType itemID, int visible)
Set display visibility of an owned subject hierarchy item.
virtual QIcon icon(vtkIdType itemID)
virtual Q_INVOKABLE const QString roleForPlugin() const
virtual double canAddNodeToSubjectHierarchy(vtkMRMLNode *node, vtkIdType parentItemID=vtkMRMLSubjectHierarchyNode::INVALID_ITEM_ID) const
QScopedPointer< qSlicerSubjectHierarchyTablesPluginPrivate > d_ptr
Abstract plugin for handling Subject Hierarchy items.
MRML node to represent a complete subject hierarchy tree.
virtual Q_INVOKABLE int getDisplayVisibility(vtkIdType itemID) const
virtual Q_INVOKABLE QIcon visibilityIcon(int visible)
Get visibility icon for a visibility state.
MRML node to represent table view parameters.
qSlicerSubjectHierarchyAbstractPlugin Superclass
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
virtual Q_INVOKABLE double canOwnSubjectHierarchyItem(vtkIdType itemID) const