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
qSlicerModulesListView.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 __qSlicerModulesListView_h
22#define __qSlicerModulesListView_h
23
24// Qt includes
25#include <QListView>
26
27// QtGUI includes
28#include "qSlicerBaseQTGUIExport.h"
29
30class qSlicerModulesListViewPrivate;
33class QStandardItem;
34
35class Q_SLICER_BASE_QTGUI_EXPORT qSlicerModulesListView : public QListView
36{
37 Q_OBJECT
40 Q_PROPERTY(QStringList modules READ modules)
41 Q_PROPERTY(QStringList checkedModules READ checkedModules
43 DESIGNABLE false)
44 Q_PROPERTY(QStringList uncheckedModules READ uncheckedModules
46 DESIGNABLE false)
47public:
49 typedef QListView Superclass;
50
52 explicit qSlicerModulesListView(QWidget* parent = nullptr);
53
56
60
62
64 QStringList modules()const;
65
66 bool isCheckBoxVisible()const;
69 QStringList checkedModules()const;
70
73 QStringList uncheckedModules()const;
74
75public slots:
79
80 void setCheckBoxVisible(bool show);
81
84 void setCheckedModules(const QStringList& moduleNames);
85
88 void setUncheckedModules(const QStringList& moduleNames);
89
93 void moveSelectedModules(int offset);
94
96signals:
98 void checkedModulesChanged(const QStringList&);
100 void uncheckedModulesChanged(const QStringList&);
101
102protected slots:
103 void addModules(const QStringList& moduleNames);
104 void addModule(const QString& moduleName);
106 void updateModules(const QStringList& moduleName);
107 void updateModule(const QString& moduleName);
108 void onItemChanged(QStandardItem* item);
109
110protected:
111 QScopedPointer<qSlicerModulesListViewPrivate> d_ptr;
112
113 void changeEvent(QEvent* e) override;
114 void keyPressEvent(QKeyEvent * event) override;
115
116private:
117 Q_DECLARE_PRIVATE(qSlicerModulesListView);
118 Q_DISABLE_COPY(qSlicerModulesListView);
119};
120
121#endif
void uncheckedModulesChanged(const QStringList &)
This signal is emitted when a module is unchecked.
void setUncheckedModules(const QStringList &moduleNames)
void checkedModulesChanged(const QStringList &)
This signal is emitted when a module is checked.
Q_INVOKABLE qSlicerModuleFactoryFilterModel * filterModel() const
void moveSelectedModules(int offset)
QScopedPointer< qSlicerModulesListViewPrivate > d_ptr
bool isCheckBoxVisible() const
void addModules(const QStringList &moduleNames)
void changeEvent(QEvent *e) override
void setCheckedModules(const QStringList &moduleNames)
bool checkBoxVisible
False by default.
void keyPressEvent(QKeyEvent *event) override
void updateModule(const QString &moduleName)
void addModule(const QString &moduleName)
void onItemChanged(QStandardItem *item)
QListView Superclass
Superclass typedef.
Q_INVOKABLE qSlicerAbstractModuleFactoryManager * factoryManager() const
void setFactoryManager(qSlicerAbstractModuleFactoryManager *manager)
qSlicerModulesListView(QWidget *parent=nullptr)
Constructor.
void setCheckBoxVisible(bool show)