Slicer 5.6
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
qSlicerSequencesModule.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 __qSlicerSequencesModule_h
19#define __qSlicerSequencesModule_h
20
21// CTK includes
22#include <ctkVTKObject.h>
23
24// Slicer includes
26
27#include "vtkSlicerConfigure.h" // For Slicer_HAVE_QT5
28
29#include "qSlicerSequencesModuleExport.h"
30
32class vtkMRMLScene;
34class vtkObject;
35
36
37class qSlicerSequencesModulePrivate;
38
39class Q_SLICER_QTMODULES_SEQUENCES_EXPORT
42{
43 Q_OBJECT
44 QVTK_OBJECT;
45#ifdef Slicer_HAVE_QT5
46 Q_PLUGIN_METADATA(IID "org.slicer.modules.loadable.qSlicerLoadableModule/1.0");
47#endif
48 Q_INTERFACES(qSlicerLoadableModule);
49
51 Q_PROPERTY(bool toolBarVisible READ isToolBarVisible WRITE setToolBarVisible)
52 Q_PROPERTY(bool autoShowToolBar READ autoShowToolBar WRITE setAutoShowToolBar)
53
54public:
55
57 explicit qSlicerSequencesModule(QObject *parent=0);
59
60 qSlicerGetTitleMacro(tr("Sequences"));
61
62 QString helpText()const override;
63 QString acknowledgementText()const override;
64 QStringList contributors()const override;
65
66 QIcon icon()const override;
67
68 QStringList categories()const override;
69 QStringList dependencies() const override;
70
72 QStringList associatedNodeTypes()const override;
73
77 Q_INVOKABLE bool autoShowToolBar();
78 Q_INVOKABLE bool isToolBarVisible();
79 Q_INVOKABLE qMRMLSequenceBrowserToolBar* toolBar();
80
83 Q_INVOKABLE static bool showSequenceBrowser(vtkMRMLSequenceBrowserNode* browserNode);
84
85protected:
86
88 void setup() override;
89
91 qSlicerAbstractModuleRepresentation * createWidgetRepresentation() override;
92
94 vtkMRMLAbstractLogic* createLogic() override;
95
96public slots:
97 void setMRMLScene(vtkMRMLScene*) override;
98 void setToolBarVisible(bool visible);
100 void setAutoShowToolBar(bool autoShow);
101 void onNodeAddedEvent(vtkObject*, vtkObject*);
102 void onNodeRemovedEvent(vtkObject*, vtkObject*);
103 void updateAllVirtualOutputNodes();
104
105 void setToolBarActiveBrowserNode(vtkMRMLSequenceBrowserNode* browserNode);
106
107protected:
108 QScopedPointer<qSlicerSequencesModulePrivate> d_ptr;
109
110private:
111 Q_DECLARE_PRIVATE(qSlicerSequencesModule);
112 Q_DISABLE_COPY(qSlicerSequencesModule);
113
114};
115
116#endif
Superclass for MRML logic classes.
A set of MRML Nodes that supports serialization and undo/redo.
#define qSlicerGetTitleMacro(_TITLE)