ParaView
Qt
Components
pqIntRangeWidget.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: ParaView
4
Module: pqIntRangeWidget.h
5
6
Copyright (c) 2005-2008 Sandia Corporation, Kitware Inc.
7
All rights reserved.
8
9
ParaView is a free software; you can redistribute it and/or modify it
10
under the terms of the ParaView license version 1.2.
11
12
See License_v1.2.txt for the full ParaView license.
13
A copy of this license can be obtained by contacting
14
Kitware Inc.
15
28 Corporate Drive
16
Clifton Park, NY 12065
17
USA
18
19
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR
23
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31
=========================================================================*/
32
#ifndef pqIntRangeWidget_h
33
#define pqIntRangeWidget_h
34
35
#include "pqComponentsModule.h"
36
#include "vtkSmartPointer.h"
37
#include <QWidget>
38
39
class
QSlider;
40
class
pqLineEdit
;
41
class
vtkSMIntRangeDomain
;
42
class
vtkEventQtSlotConnect;
43
47
class
PQCOMPONENTS_EXPORT
pqIntRangeWidget
:
public
QWidget
48
{
49
Q_OBJECT
50
Q_PROPERTY(
int
value READ value WRITE setValue USER
true
)
51
Q_PROPERTY(
int
minimum READ minimum WRITE setMinimum)
52
Q_PROPERTY(
int
maximum READ maximum WRITE setMaximum)
53
Q_PROPERTY(
bool
strictRange READ strictRange WRITE setStrictRange)
54
public:
58
pqIntRangeWidget
(QWidget* parent = NULL);
59
~
pqIntRangeWidget
();
60
64
int
value() const;
65
66
// get the min range value
67
int
minimum() const;
68
// get the max range value
69
int
maximum() const;
70
71
// returns whether the line edit is also limited
72
bool
strictRange() const;
73
74
// Sets the range domain to monitor. This will automatically update
75
// the widgets range when the domain changes.
76
void
setDomain(
vtkSMIntRangeDomain
* domain);
77
78
signals:
82
void
valueChanged(
int
);
83
89
void
valueEdited(
int
);
90
91
public slots:
95
void
setValue(
int
);
96
97
// set the min range value
98
void
setMinimum(
int
);
99
// set the max range value
100
void
setMaximum(
int
);
101
102
// set the range on both the slider and line edit's validator
103
// whereas other methods just do it on the slider
104
void
setStrictRange(
bool
);
105
106
private slots:
107
void
sliderChanged(
int
);
108
void
textChanged(const QString&);
109
void
editingFinished();
110
void
updateValidator();
111
void
domainChanged();
112
113
private:
114
int
Value;
115
int
Minimum;
116
int
Maximum;
117
QSlider* Slider;
118
pqLineEdit
* LineEdit;
119
bool
BlockUpdate;
120
bool
StrictRange;
121
vtkSmartPointer<
vtkSMIntRangeDomain
> Domain;
122
vtkEventQtSlotConnect* DomainConnection;
123
};
124
125
#endif
vtkSMIntRangeDomain
type specific extension to vtkSMRangeDomainTemplate for ints.
Definition:
vtkSMIntRangeDomain.h:39
pqIntRangeWidget
a widget with a tied slider and line edit for editing a int property
Definition:
pqIntRangeWidget.h:47
pqLineEdit
pqLineEdit is a specialization of QLineEdit which provide a new property 'text2'. ...
Definition:
pqLineEdit.h:53
Generated by
1.8.13