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
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;
93public:
94 qMRMLDoubleRangeSlider(QWidget* parentWidget);
95 QPalette minimumHandlePalette()const;
96 QPalette maximumHandlePalette()const;
97
99 QString quantity()const;
100
101public slots:
103 void setMinimumHandlePalette(const QPalette& palette);
104
106 void setMaximumHandlePalette(const QPalette& palette);
107};
108
110class QMRML_WIDGETS_EXPORT qMRMLRangeSlider : public ctkRangeSlider
111{
112 Q_OBJECT;
113public:
114 qMRMLRangeSlider(QWidget* parentWidget);
116 QPalette minimumHandlePalette()const;
117 QPalette maximumHandlePalette()const;
118
119public slots:
121 void setMinimumHandlePalette(const QPalette& palette);
122
124 void setMaximumHandlePalette(const QPalette& palette);
125protected:
126 void initMinimumSliderStyleOption(QStyleOptionSlider* option) const override;
127 void initMaximumSliderStyleOption(QStyleOptionSlider* option) const override;
128
129protected:
130 QScopedPointer<qMRMLRangeSliderPrivate> d_ptr;
131
132private:
133 Q_DECLARE_PRIVATE(qMRMLRangeSlider);
134 Q_DISABLE_COPY(qMRMLRangeSlider);
135};
136
137#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.