Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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);
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
79
83 Q_INVOKABLE bool autoShowToolBar();
84 Q_INVOKABLE bool isToolBarVisible();
86
89 Q_INVOKABLE static bool showMarkups(vtkMRMLMarkupsNode* markupsNode);
90
91protected:
92
94 void setup() override;
95
98
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
qSlicerLoadableModule(QObject *parent=nullptr)
bool toolBarVisible
Visibility of the markups toolbar.
QStringList associatedNodeTypes() const override
Specify editable node types.
void setToolBarVisible(bool visible)
Q_INVOKABLE bool isToolBarVisible()
QString acknowledgementText() const override
Return acknowledgements.
static void readDefaultMarkupsDisplaySettings(vtkMRMLMarkupsDisplayNode *markupsDisplayNode)
vtkMRMLAbstractLogic * createLogic() override
Create and return the logic associated to this module.
QStringList categories() const override
Return the categories for the module.
Q_INVOKABLE qMRMLMarkupsToolBar * toolBar()
void setup() override
Initialize the module. Register the volumes reader/writer.
static Q_INVOKABLE bool showMarkups(vtkMRMLMarkupsNode *markupsNode)
qSlicerAbstractModuleRepresentation * createWidgetRepresentation() override
Create and return the widget representation associated to this module.
QScopedPointer< qSlicerMarkupsModulePrivate > d_ptr
void setMRMLScene(vtkMRMLScene *scene) override
QStringList contributors() const override
Return the authors of the module.
static void writeDefaultMarkupsDisplaySettings(vtkMRMLMarkupsDisplayNode *markupsDisplayNode)
QString helpText() const override
Help to use the module.
void setAutoShowToolBar(bool autoShow)
Enables automatic showing markups toolbar when a new markups node is loaded.
qSlicerMarkupsModule(QObject *parent=nullptr)
qSlicerLoadableModule Superclass
qSlicerGetTitleMacro(tr("Markups"))
QIcon icon() const override
Return a custom icon for the module.
Superclass for MRML logic classes.
A set of MRML Nodes that supports serialization and undo/redo.