QGIS API Documentation 3.41.0-Master (fda2aa46e9a)
Loading...
Searching...
No Matches
qgsdoublespinbox.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsdoublespinbox.h
3 --------------------------------------
4 Date : 09.2014
5 Copyright : (C) 2014 Denis Rouzaud
6 Email : denis.rouzaud@gmail.com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSDOUBLESPINBOX_H
17#define QGSDOUBLESPINBOX_H
18
19#include <QDoubleSpinBox>
20#include "qgis_sip.h"
21#include "qgis_gui.h"
22
23class QgsSpinBoxLineEdit;
24
25
26#ifdef SIP_RUN
27% ModuleHeaderCode
28// fix to allow compilation with sip that for some reason
29// doesn't add this include to the file where the code from
30// ConvertToSubClassCode goes.
31#include <qgsdoublespinbox.h>
32% End
33#endif
34
35
42class GUI_EXPORT QgsDoubleSpinBox : public QDoubleSpinBox
43{
44
45#ifdef SIP_RUN
47 if ( qobject_cast<QgsDoubleSpinBox *>( sipCpp ) )
48 sipType = sipType_QgsDoubleSpinBox;
49 else
50 sipType = NULL;
52#endif
53
54 Q_OBJECT
55 Q_PROPERTY( bool showClearButton READ showClearButton WRITE setShowClearButton )
56 Q_PROPERTY( bool clearValue READ clearValue WRITE setClearValue )
57 Q_PROPERTY( bool expressionsEnabled READ expressionsEnabled WRITE setExpressionsEnabled )
58
59 public:
60
68
73 explicit QgsDoubleSpinBox( QWidget *parent SIP_TRANSFERTHIS = nullptr );
74
81 void setShowClearButton( bool showClearButton );
82
87 bool showClearButton() const {return mShowClearButton;}
88
94 void setExpressionsEnabled( bool enabled );
95
101 bool expressionsEnabled() const {return mExpressionsEnabled;}
102
104 void clear() override;
105
112 void setClearValue( double customValue, const QString &clearValueText = QString() );
113
119 void setClearValueMode( ClearValueMode mode, const QString &clearValueText = QString() );
120
125 double clearValue() const;
126
131 void setLineEditAlignment( Qt::Alignment alignment );
132
138 void setSpecialValueText( const QString &txt );
139
140 double valueFromText( const QString &text ) const override;
141 QValidator::State validate( QString &input, int &pos ) const override;
142 void paintEvent( QPaintEvent *e ) override;
143 void stepBy( int steps ) override;
144
145 signals:
146
152
157 void textEdited( const QString &text );
158
159 protected:
160 void changeEvent( QEvent *event ) override;
161 void wheelEvent( QWheelEvent *event ) override;
162 // This is required because private implementation of
163 // QAbstractSpinBoxPrivate may trigger a second
164 // undesired event from the auto-repeat mouse timer
165 void timerEvent( QTimerEvent *event ) override;
166
167 private slots:
168 void changed( double value );
169
170 private:
171 int frameWidth() const;
172 bool shouldShowClearForValue( double value ) const;
173
174 QgsSpinBoxLineEdit *mLineEdit = nullptr;
175
176 bool mShowClearButton = true;
177 ClearValueMode mClearValueMode = MinimumValue;
178 double mCustomClearValue = 0.0;
179
180 bool mExpressionsEnabled = true;
181
182 QString stripped( const QString &originalText ) const;
183
184 friend class TestQgsRangeWidgetWrapper;
185};
186
187#endif // QGSDOUBLESPINBOX_H
The QgsSpinBox is a spin box with a clear button that will set the value to the defined clear value.
void textEdited(const QString &text)
Emitted when the the value has been manually edited via line edit.
bool showClearButton() const
Returns whether the widget is showing a clear button.
ClearValueMode
Behavior when widget is cleared.
@ MaximumValue
Reset value to maximum()
@ CustomValue
Reset value to custom value (see setClearValue() )
@ MinimumValue
Reset value to minimum()
void returnPressed()
Emitted when the Return or Enter key is used in the line edit.
bool expressionsEnabled() const
Returns whether the widget will allow entry of simple expressions, which are evaluated and then disca...
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition qgis_sip.h:191
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53
#define SIP_END
Definition qgis_sip.h:208