Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
qMRMLRangeWidget.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 __qMRMLRangeWidget_h
22#define __qMRMLRangeWidget_h
23
24// CTK includes
25#include <ctkDoubleRangeSlider.h>
26#include <ctkRangeSlider.h>
27#include <ctkRangeWidget.h>
28
29// qMRML includes
30#include "qMRMLWidgetsExport.h"
31
32class qMRMLRangeSliderPrivate;
33class qMRMLSpinBox;
34class vtkMRMLScene;
35
39class QMRML_WIDGETS_EXPORT qMRMLRangeWidget : public ctkRangeWidget
40{
41 Q_OBJECT
45 Q_PROPERTY(QString quantity READ quantity WRITE setQuantity)
46
47public:
51 explicit qMRMLRangeWidget(QWidget* parent = nullptr);
52
53 QPalette minimumHandlePalette() const;
54 QPalette maximumHandlePalette() const;
55
57 QString quantity() const;
58
61 void setSymmetricMoves(bool symmetry) override;
62
63public slots:
65 void setMinimumHandlePalette(const QPalette& palette);
66
68 void setMaximumHandlePalette(const QPalette& palette);
69
72 void setQuantity(const QString& baseName);
73
76 virtual void setMRMLScene(vtkMRMLScene* scene);
77
78protected slots:
79 void updateSpinBoxRange(double min, double max);
81 void updateSymmetricMoves(bool symmetric);
82
83protected:
87};
88
90class QMRML_WIDGETS_EXPORT qMRMLDoubleRangeSlider : public ctkDoubleRangeSlider
91{
92 Q_OBJECT;
93
94public:
95 qMRMLDoubleRangeSlider(QWidget* parentWidget);
96 QPalette minimumHandlePalette() const;
97 QPalette maximumHandlePalette() const;
98
100 QString quantity() const;
101
102public slots:
104 void setMinimumHandlePalette(const QPalette& palette);
105
107 void setMaximumHandlePalette(const QPalette& palette);
108};
109
111class QMRML_WIDGETS_EXPORT qMRMLRangeSlider : public ctkRangeSlider
112{
113 Q_OBJECT;
114
115public:
116 qMRMLRangeSlider(QWidget* parentWidget);
118 QPalette minimumHandlePalette() const;
119 QPalette maximumHandlePalette() const;
120
121public slots:
123 void setMinimumHandlePalette(const QPalette& palette);
124
126 void setMaximumHandlePalette(const QPalette& palette);
127
128protected:
129 void initMinimumSliderStyleOption(QStyleOptionSlider* option) const override;
130 void initMaximumSliderStyleOption(QStyleOptionSlider* option) const override;
131
132protected:
133 QScopedPointer<qMRMLRangeSliderPrivate> d_ptr;
134
135private:
136 Q_DECLARE_PRIVATE(qMRMLRangeSlider);
137 Q_DISABLE_COPY(qMRMLRangeSlider);
138};
139
140#endif
QString quantity() const
vtkMRMLScene * mrmlScene() const
QPalette maximumHandlePalette() const
QPalette minimumHandlePalette() const
void setMaximumHandlePalette(const QPalette &palette)
Set the palette of the minimum handle.
qMRMLDoubleRangeSlider(QWidget *parentWidget)
void setMinimumHandlePalette(const QPalette &palette)
Set the palette of the minimum handle.
void initMaximumSliderStyleOption(QStyleOptionSlider *option) const override
qMRMLRangeSlider(QWidget *parentWidget)
QPalette minimumHandlePalette() const
QScopedPointer< qMRMLRangeSliderPrivate > d_ptr
void setMinimumHandlePalette(const QPalette &palette)
Set the palette of the minimum handle.
void initMinimumSliderStyleOption(QStyleOptionSlider *option) const override
void setMaximumHandlePalette(const QPalette &palette)
Set the palette of the minimum handle.
QPalette maximumHandlePalette() const
~qMRMLRangeSlider() override
virtual void setMRMLScene(vtkMRMLScene *scene)
qMRMLSpinBox * MinSpinBox
QAction * SymmetricAction
void setMaximumHandlePalette(const QPalette &palette)
Set the palette of the minimum handle.
void updateSymmetricMoves(bool symmetric)
void updateSpinBoxRange(double min, double max)
qMRMLRangeWidget(QWidget *parent=nullptr)
vtkMRMLScene * mrmlScene
void setMinimumHandlePalette(const QPalette &palette)
Set the palette of the minimum handle.
QPalette minimumHandlePalette
void setQuantity(const QString &baseName)
void setSymmetricMoves(bool symmetry) override
QPalette maximumHandlePalette
qMRMLSpinBox * MaxSpinBox
Extend the ctkDoubleSpinBox to integrate units support.
A set of MRML Nodes that supports serialization and undo/redo.