Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qabstractspinbox_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QABSTRACTSPINBOX_P_H
5#define QABSTRACTSPINBOX_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtWidgets/private/qtwidgetsglobal_p.h>
19#include "QtWidgets/qabstractspinbox.h"
20
21#include "QtWidgets/qlineedit.h"
22#include "QtWidgets/qstyleoption.h"
23#include "QtGui/qvalidator.h"
24#include "QtCore/qdatetime.h"
25#include "QtCore/qvariant.h"
26#include "private/qwidget_p.h"
27
29
31
34QVariant operator*(const QVariant &arg1, double multiplier);
35double operator/(const QVariant &arg1, const QVariant &arg2);
36
42
43enum Button {
44 None = 0x000,
45 Keyboard = 0x001,
46 Mouse = 0x002,
47 Wheel = 0x004,
48 ButtonMask = 0x008,
49 Up = 0x010,
50 Down = 0x020,
51 DirectionMask = 0x040
52};
55{
56 Q_DECLARE_PUBLIC(QAbstractSpinBox)
57public:
60
61 void init();
62 void reset();
63 void updateState(bool up, bool fromKeyboard = false);
64 QString stripped(const QString &text, int *pos = nullptr) const;
65 bool specialValue() const;
66 virtual QVariant getZeroVariant() const;
67 virtual void setRange(const QVariant &min, const QVariant &max);
68 void setValue(const QVariant &val, EmitPolicy ep, bool updateEdit = true);
69 virtual QVariant bound(const QVariant &val, const QVariant &old = QVariant(), int steps = 0) const;
70 virtual void updateEdit();
71
72 virtual void emitSignals(EmitPolicy ep, const QVariant &old);
73 virtual void interpret(EmitPolicy ep);
74 virtual QString textFromValue(const QVariant &n) const;
75 virtual QVariant valueFromText(const QString &input) const;
76
77 void editorTextChanged(const QString &);
78 virtual void editorCursorPositionChanged(int oldpos, int newpos);
79
81 bool updateHoverControl(const QPoint &pos);
82
83 virtual void clearCache() const;
84 virtual void updateEditFieldGeometry();
85
86 static int variantCompare(const QVariant &arg1, const QVariant &arg2);
87 static QVariant variantBound(const QVariant &min, const QVariant &value, const QVariant &max);
88
89 virtual QVariant calculateAdaptiveDecimalStep(int steps) const;
90
94
95 mutable QString cachedText = { u'\x01' };
98 QLineEdit *edit = nullptr;
108
109 Qt::KeyboardModifiers keyboardModifiers = Qt::NoModifier;
127};
128
130{
131public:
133 QValidator::State validate(QString &input, int &) const override;
134 void fixup(QString &) const override;
135private:
136 QAbstractSpinBox *qptr;
138};
139
141
142#endif // QABSTRACTSPINBOX_P_H
virtual QVariant valueFromText(const QString &input) const
virtual void emitSignals(EmitPolicy ep, const QVariant &old)
QAbstractSpinBox::StepType stepType
virtual QStyle::SubControl newHoverControl(const QPoint &pos)
static QVariant variantBound(const QVariant &min, const QVariant &value, const QVariant &max)
virtual QVariant getZeroVariant() const
QAbstractSpinBox::ButtonSymbols buttonSymbols
virtual void editorCursorPositionChanged(int oldpos, int newpos)
virtual void setRange(const QVariant &min, const QVariant &max)
QSpinBoxValidator * validator
static int variantCompare(const QVariant &arg1, const QVariant &arg2)
QString stripped(const QString &text, int *pos=nullptr) const
Qt::KeyboardModifier stepModifier
Qt::KeyboardModifiers keyboardModifiers
void editorTextChanged(const QString &)
virtual void interpret(EmitPolicy ep)
QStyle::SubControl hoverControl
virtual void updateEditFieldGeometry()
virtual QString textFromValue(const QVariant &n) const
void updateState(bool up, bool fromKeyboard=false)
virtual QVariant bound(const QVariant &val, const QVariant &old=QVariant(), int steps=0) const
virtual void clearCache() const
QValidator::State cachedState
void setValue(const QVariant &val, EmitPolicy ep, bool updateEdit=true)
bool updateHoverControl(const QPoint &pos)
QAbstractSpinBox::CorrectionMode correctionMode
virtual QVariant calculateAdaptiveDecimalStep(int steps) const
The QAbstractSpinBox class provides a spinbox and a line edit to display values.
CorrectionMode
This enum type describes the mode the spinbox will use to correct an \l{QValidator::}{Intermediate} v...
StepType
\value DefaultStepType \value AdaptiveDecimalStepType
ButtonSymbols
This enum type describes the symbols that can be displayed on the buttons in a spin box.
The QLineEdit widget is a one-line text editor.
Definition qlineedit.h:28
Type
\macro Q_DECLARE_OPAQUE_POINTER(PointerType)
Definition qmetatype.h:345
\inmodule QtCore\reentrant
Definition qpoint.h:25
\inmodule QtCore\reentrant
Definition qrect.h:30
\inmodule QtCore
Definition qsize.h:25
void fixup(QString &) const override
QSpinBoxValidator(QAbstractSpinBox *qptr, QAbstractSpinBoxPrivate *dptr)
QValidator::State validate(QString &input, int &) const override
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
SubControl
This enum describes the available sub controls.
Definition qstyle.h:347
@ SC_None
Definition qstyle.h:348
The QValidator class provides validation of input text.
Definition qvalidator.h:24
State
This enum type defines the states in which a validated string can exist.
Definition qvalidator.h:30
\inmodule QtCore
Definition qvariant.h:65
QString text
Combined button and popup list for selecting options.
KeyboardModifier
@ ControlModifier
@ NoModifier
@ Keyboard
@ DirectionMask
@ ButtonMask
QVariant operator-(const QVariant &arg1, const QVariant &arg2)
QVariant operator*(const QVariant &arg1, double multiplier)
double operator/(const QVariant &arg1, const QVariant &arg2)
QT_BEGIN_NAMESPACE QVariant operator+(const QVariant &arg1, const QVariant &arg2)
@ EmitIfChanged
@ NeverEmit
@ AlwaysEmit
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
Button
GLenum type
GLfloat n
GLuint GLfloat * val
GLuint GLuint GLuint GLuint arg1
GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg2
GLenum GLenum GLenum input
#define QT_REQUIRE_CONFIG(feature)
unsigned int uint
Definition qtypes.h:34
double qreal
Definition qtypes.h:187