Slicer 5.6
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
qSlicerMarkupsModule.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Program: 3D Slicer
4
5 Portions (c) Copyright 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==============================================================================*/
17
18#ifndef __qSlicerMarkupsModule_h
19#define __qSlicerMarkupsModule_h
20
21// CTK includes
22#include <ctkVTKObject.h>
23
24// Slicer includes
26
27#include "qSlicerMarkupsModuleExport.h"
28
29#include "vtkSlicerConfigure.h" // For Slicer_HAVE_QT5
30
32class vtkMRMLScene;
34class qSlicerMarkupsModulePrivate;
36class vtkObject;
37
38class Q_SLICER_QTMODULES_MARKUPS_EXPORT qSlicerMarkupsModule :
40{
41 Q_OBJECT
42 QVTK_OBJECT;
43 Q_PLUGIN_METADATA(IID "org.slicer.modules.loadable.qSlicerLoadableModule/1.0");
44 Q_INTERFACES(qSlicerLoadableModule);
46 Q_PROPERTY(bool toolBarVisible READ isToolBarVisible WRITE setToolBarVisible)
47 Q_PROPERTY(bool autoShowToolBar READ autoShowToolBar WRITE setAutoShowToolBar)
48
49public:
50
52 explicit qSlicerMarkupsModule(QObject *parent=nullptr);
54
55 qSlicerGetTitleMacro(tr("Markups"));
56
58 QString helpText()const override;
59
61 QString acknowledgementText()const override;
62
64 QStringList contributors()const override;
65
67 QIcon icon()const override;
68
70 QStringList categories()const override;
71
73 QStringList associatedNodeTypes()const override;
74
75 void setMRMLScene(vtkMRMLScene* scene) override;
76
77 static void readDefaultMarkupsDisplaySettings(vtkMRMLMarkupsDisplayNode* markupsDisplayNode);
78 static void writeDefaultMarkupsDisplaySettings(vtkMRMLMarkupsDisplayNode* markupsDisplayNode);
79
83 Q_INVOKABLE bool autoShowToolBar();
84 Q_INVOKABLE bool isToolBarVisible();
85 Q_INVOKABLE qMRMLMarkupsToolBar* toolBar();
86
89 Q_INVOKABLE static bool showMarkups(vtkMRMLMarkupsNode* markupsNode);
90
91protected:
92
94 void setup() override;
95
97 qSlicerAbstractModuleRepresentation * createWidgetRepresentation() override;
98
100 vtkMRMLAbstractLogic* createLogic() override;
101
102public slots:
103 void setToolBarVisible(bool visible);
105 void setAutoShowToolBar(bool autoShow);
106 //void onNodeAddedEvent(vtkObject*, vtkObject*);
107
108protected:
109 QScopedPointer<qSlicerMarkupsModulePrivate> d_ptr;
110
111
112private:
113 Q_DECLARE_PRIVATE(qSlicerMarkupsModule);
114 Q_DISABLE_COPY(qSlicerMarkupsModule);
115
116};
117
118#endif
Superclass for MRML logic classes.
A set of MRML Nodes that supports serialization and undo/redo.
#define qSlicerGetTitleMacro(_TITLE)