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
qSlicerAbstractModulePanel.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Program: 3D Slicer
4
5 Copyright (c) Kitware Inc.
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 Julien Finet, Kitware Inc.
17 and was partially funded by NIH grant 3P41RR013218-12S1
18
19==============================================================================*/
20
21#ifndef __qSlicerAbstractModulePanel_h
22#define __qSlicerAbstractModulePanel_h
23
24#include "qSlicerWidget.h"
25#include "qSlicerBaseQTGUIExport.h"
26
28class qSlicerAbstractModulePanelPrivate;
30
31class Q_SLICER_BASE_QTGUI_EXPORT qSlicerAbstractModulePanel: public qSlicerWidget
32{
33 Q_OBJECT
34public:
35 qSlicerAbstractModulePanel(QWidget* parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
37
38 void addModule(const QString& moduleName);
39 void removeModule(const QString& moduleName);
40 virtual void removeAllModules() = 0;
41
44
45signals:
46 void moduleAdded(const QString& moduleName);
47 //void moduleAboutToBeRemoved(const QString& moduleName);
48 void moduleRemoved(const QString& moduleName);
49
50protected:
51 QScopedPointer<qSlicerAbstractModulePanelPrivate> d_ptr;
52
53 virtual void addModule(qSlicerAbstractCoreModule* module) = 0;
54 virtual void removeModule(qSlicerAbstractCoreModule* module) = 0;
55
56private:
57 Q_DECLARE_PRIVATE(qSlicerAbstractModulePanel);
58 Q_DISABLE_COPY(qSlicerAbstractModulePanel);
59};
60
61#endif
qSlicerAbstractCoreModule is the base class of any module in Slicer.
Q_INVOKABLE void setModuleManager(qSlicerModuleManager *moduleManager)
void removeModule(const QString &moduleName)
void moduleRemoved(const QString &moduleName)
virtual void removeAllModules()=0
Q_INVOKABLE qSlicerModuleManager * moduleManager() const
QScopedPointer< qSlicerAbstractModulePanelPrivate > d_ptr
qSlicerAbstractModulePanel(QWidget *parent=nullptr, Qt::WindowFlags f=Qt::WindowFlags())
virtual void removeModule(qSlicerAbstractCoreModule *module)=0
void addModule(const QString &moduleName)
void moduleAdded(const QString &moduleName)
virtual void addModule(qSlicerAbstractCoreModule *module)=0
~qSlicerAbstractModulePanel() override
qSlicerWidget(QWidget *parent=nullptr, Qt::WindowFlags f=Qt::WindowFlags())