Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qSlicerSettingsViewsPanel.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 Johan Andruejol, Kitware Inc.
17  and was partially funded by NIH grant 3P41RR013218-12S1
18 
19 ==============================================================================*/
20 
21 #ifndef __qSlicerSettingsViewsPanel_h
22 #define __qSlicerSettingsViewsPanel_h
23 
24 // CTK includes
25 #include <ctkSettingsPanel.h>
26 
27 // QtGUI includes
28 #include "qSlicerBaseQTGUIExport.h"
29 
30 class QSettings;
31 class qSlicerSettingsViewsPanelPrivate;
32 
33 class Q_SLICER_BASE_QTGUI_EXPORT qSlicerSettingsViewsPanel
34  : public ctkSettingsPanel
35 {
36  Q_OBJECT
40  Q_PROPERTY(QString currentMSAA READ currentMSAA WRITE setCurrentMSAA NOTIFY currentMSAAChanged)
41  Q_PROPERTY(QString sliceOrientationMarkerType READ sliceOrientationMarkerType WRITE setSliceOrientationMarkerType NOTIFY currentSliceOrientationMarkerTypeChanged)
42  Q_PROPERTY(QString sliceOrientationMarkerSize READ sliceOrientationMarkerSize WRITE setSliceOrientationMarkerSize NOTIFY currentSliceOrientationMarkerSizeChanged)
43  Q_PROPERTY(QString sliceRulerType READ sliceRulerType WRITE setSliceRulerType NOTIFY currentSliceRulerTypeChanged)
44  Q_PROPERTY(QString threeDOrientationMarkerType READ threeDOrientationMarkerType WRITE setThreeDOrientationMarkerType NOTIFY currentThreeDOrientationMarkerTypeChanged)
45  Q_PROPERTY(QString threeDOrientationMarkerSize READ threeDOrientationMarkerSize WRITE setThreeDOrientationMarkerSize NOTIFY currentThreeDOrientationMarkerSizeChanged)
46  Q_PROPERTY(QString threeDRulerType READ threeDRulerType WRITE setThreeDRulerType NOTIFY currentThreeDRulerTypeChanged)
47 public:
49  typedef ctkSettingsPanel Superclass;
50 
52  explicit qSlicerSettingsViewsPanel(QWidget* parent = nullptr);
53 
55  ~qSlicerSettingsViewsPanel() override;
56 
58  QString currentMSAA() const;
59  QString sliceOrientationMarkerType() const;
60  QString sliceOrientationMarkerSize() const;
61  QString sliceRulerType() const;
62  QString threeDOrientationMarkerType() const;
63  QString threeDOrientationMarkerSize() const;
64  QString threeDRulerType() const;
65 
66 public slots:
68  void setCurrentMSAA(const QString&);
69  void setSliceOrientationMarkerType(const QString&);
70  void setSliceOrientationMarkerSize(const QString&);
71  void setSliceRulerType(const QString&);
72  void setThreeDOrientationMarkerType(const QString&);
73  void setThreeDOrientationMarkerSize(const QString&);
74  void setThreeDRulerType(const QString&);
75  void sliceViewOrientationChangedByUser();
76 
77 signals:
79  void currentMSAAChanged(const QString&);
80  void currentSliceOrientationMarkerTypeChanged(const QString&);
81  void currentSliceOrientationMarkerSizeChanged(const QString&);
82  void currentSliceRulerTypeChanged(const QString&);
83  void currentThreeDOrientationMarkerTypeChanged(const QString&);
84  void currentThreeDOrientationMarkerSizeChanged(const QString&);
85  void currentThreeDRulerTypeChanged(const QString&);
86 
87 protected slots:
88  void onMSAAChanged(const QString&);
89 
90 protected:
91  QScopedPointer<qSlicerSettingsViewsPanelPrivate> d_ptr;
92 
93 private:
94  Q_DECLARE_PRIVATE(qSlicerSettingsViewsPanel);
95  Q_DISABLE_COPY(qSlicerSettingsViewsPanel);
96 };
97 
98 #endif
ctkSettingsPanel Superclass
Superclass typedef.