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 "vtkSetGet.h"
// for VTK_LEGACY
37
#include "
vtkSmartPointer.h
"
38
#include <QWidget>
39
40
class
QSlider;
41
class
pqLineEdit
;
42
class
vtkSMIntRangeDomain
;
43
class
vtkEventQtSlotConnect
;
44
48
class
PQCOMPONENTS_EXPORT
pqIntRangeWidget
:
public
QWidget
49
{
50
Q_OBJECT
51
Q_PROPERTY(
int
value READ value WRITE setValue USER
true
)
52
Q_PROPERTY(
int
minimum READ minimum WRITE setMinimum)
53
Q_PROPERTY(
int
maximum READ maximum WRITE setMaximum)
54
#if !defined(VTK_LEGACY_REMOVE)
55
Q_PROPERTY(
bool
strictRange READ strictRange WRITE setStrictRange);
56
#endif
57
58
public
:
62
pqIntRangeWidget
(QWidget* parent = NULL);
63
~
pqIntRangeWidget
()
override
;
64
68
int
value
()
const
;
69
70
// get the min range value
71
int
minimum()
const
;
72
// get the max range value
73
int
maximum()
const
;
74
78
VTK_LEGACY
(
bool
strictRange()
const
);
79
80
// Sets the range domain to monitor. This will automatically update
81
// the widgets range when the domain changes.
82
void
setDomain(
vtkSMIntRangeDomain
* domain);
83
84
Q_SIGNALS:
88
void
valueChanged(
int
);
89
96
void
valueEdited(
int
);
97
98
public
Q_SLOTS:
102
void
setValue(
int
);
103
104
// set the min range value
105
void
setMinimum(
int
);
106
// set the max range value
107
void
setMaximum(
int
);
108
109
#if !defined(VTK_LEGACY_REMOVE)
110
113
void
setStrictRange(
bool
);
114
#endif
115
116
private
Q_SLOTS:
117
void
sliderChanged(
int
);
118
void
textChanged(
const
QString&);
119
void
editingFinished();
120
void
updateValidator();
121
void
domainChanged();
122
void
emitValueEdited();
123
void
emitIfDeferredValueEdited();
124
void
sliderPressed();
125
void
sliderReleased();
126
127
private
:
128
int
Value;
129
int
Minimum;
130
int
Maximum;
131
QSlider* Slider;
132
pqLineEdit
* LineEdit;
133
bool
BlockUpdate;
134
#if !defined(VTK_LEGACY_REMOVE)
135
bool
StrictRange =
false
;
136
#endif
137
vtkSmartPointer<vtkSMIntRangeDomain>
Domain;
138
vtkEventQtSlotConnect
* DomainConnection;
139
bool
InteractingWithSlider;
140
bool
DeferredValueEdited;
141
};
142
143
#endif
pqComponentsModule.h
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:48
PQCOMPONENTS_EXPORT
#define PQCOMPONENTS_EXPORT
Definition:
pqComponentsModule.h:15
VTK_LEGACY
#define VTK_LEGACY(method)
Definition:
vtkLegacy.h:52
vtkSmartPointer< vtkSMIntRangeDomain >
vtkEventQtSlotConnect
pqLineEdit
pqLineEdit is a specialization of QLineEdit which provide a new property 'text2'. ...
Definition:
pqLineEdit.h:53
vtkSmartPointer.h
value
value
Generated by
1.8.13 on Wed Jan 27 2021