Slicer 5.11
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// MRML includes
30#include "vtkMRMLScene.h"
31
32// qMRML includes
33#include "qMRMLWidgetsExport.h"
34
35class qMRMLRangeSliderPrivate;
36class qMRMLSpinBox;
37
41class QMRML_WIDGETS_EXPORT qMRMLRangeWidget : public ctkRangeWidget
42{
43 Q_OBJECT
47 Q_PROPERTY(QString quantity READ quantity WRITE setQuantity)
48
49public:
53 explicit qMRMLRangeWidget(QWidget* parent = nullptr);
54
55 QPalette minimumHandlePalette() const;
56 QPalette maximumHandlePalette() const;
57
59 QString quantity() const;
60
63 void setSymmetricMoves(bool symmetry) override;
64
65public slots:
67 void setMinimumHandlePalette(const QPalette& palette);
68
70 void setMaximumHandlePalette(const QPalette& palette);
71
74 void setQuantity(const QString& baseName);
75
78 virtual void setMRMLScene(vtkMRMLScene* scene);
79
80protected slots:
81 void updateSpinBoxRange(double min, double max);
83 void updateSymmetricMoves(bool symmetric);
84
85protected:
89};
90
92class QMRML_WIDGETS_EXPORT qMRMLDoubleRangeSlider : public ctkDoubleRangeSlider
93{
94 Q_OBJECT;
95
96public:
97 qMRMLDoubleRangeSlider(QWidget* parentWidget);
98 QPalette minimumHandlePalette() const;
99 QPalette maximumHandlePalette() const;
100
102 QString quantity() const;
103
104public slots:
106 void setMinimumHandlePalette(const QPalette& palette);
107
109 void setMaximumHandlePalette(const QPalette& palette);
110};
111
113class QMRML_WIDGETS_EXPORT qMRMLRangeSlider : public ctkRangeSlider
114{
115 Q_OBJECT;
116
117public:
118 qMRMLRangeSlider(QWidget* parentWidget);
120 QPalette minimumHandlePalette() const;
121 QPalette maximumHandlePalette() const;
122
123public slots:
125 void setMinimumHandlePalette(const QPalette& palette);
126
128 void setMaximumHandlePalette(const QPalette& palette);
129
130protected:
131 void initMinimumSliderStyleOption(QStyleOptionSlider* option) const override;
132 void initMaximumSliderStyleOption(QStyleOptionSlider* option) const override;
133
134protected:
135 QScopedPointer<qMRMLRangeSliderPrivate> d_ptr;
136
137private:
138 Q_DECLARE_PRIVATE(qMRMLRangeSlider);
139 Q_DISABLE_COPY(qMRMLRangeSlider);
140};
141
142#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.