Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
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// Qt-Security score:significant reason:default
4
5#ifndef QABSTRACTSPINBOX_P_H
6#define QABSTRACTSPINBOX_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtWidgets/private/qtwidgetsglobal_p.h>
20#include "QtWidgets/qabstractspinbox.h"
21
22#include "QtWidgets/qlineedit.h"
23#include "QtWidgets/qstyleoption.h"
24#include "QtGui/qvalidator.h"
25#include "QtCore/qbasictimer.h"
26#include "QtCore/qdatetime.h"
27#include "QtCore/qvariant.h"
28#include "private/qwidget_p.h"
29
31
33
34QVariant operator+(const QVariant &arg1, const QVariant &arg2);
35QVariant operator-(const QVariant &arg1, const QVariant &arg2);
36QVariant operator*(const QVariant &arg1, double multiplier);
37double operator/(const QVariant &arg1, const QVariant &arg2);
38
44
45enum Button {
46 None = 0x000,
47 Keyboard = 0x001,
48 Mouse = 0x002,
49 Wheel = 0x004,
50 ButtonMask = 0x008,
51 Up = 0x010,
52 Down = 0x020,
54};
57{
58 Q_DECLARE_PUBLIC(QAbstractSpinBox)
59public:
62
63 void init();
64 void reset();
65 void updateState(bool up, bool fromKeyboard = false);
66 QString stripped(const QString &text, int *pos = nullptr) const;
67 bool specialValue() const;
68 virtual QVariant getZeroVariant() const;
69 virtual void setRange(const QVariant &min, const QVariant &max);
70 void setValue(const QVariant &val, EmitPolicy ep, bool updateEdit = true);
71 virtual QVariant bound(const QVariant &val, const QVariant &old = QVariant(), int steps = 0) const;
72 virtual void updateEdit();
73
74 virtual void emitSignals(EmitPolicy ep, const QVariant &old);
75 virtual void interpret(EmitPolicy ep);
76 virtual QString textFromValue(const QVariant &n) const;
77 virtual QVariant valueFromText(const QString &input) const;
78
79 void editorTextChanged(const QString &);
80 virtual void editorCursorPositionChanged(int oldpos, int newpos);
81
82 virtual QStyle::SubControl newHoverControl(const QPoint &pos);
83 bool updateHoverControl(const QPoint &pos);
84
85 virtual void clearCache() const;
86 virtual void updateEditFieldGeometry();
87
88 static int variantCompare(const QVariant &arg1, const QVariant &arg2);
89 static QVariant variantBound(const QVariant &min, const QVariant &value, const QVariant &max);
90
91 virtual QVariant calculateAdaptiveDecimalStep(int steps) const;
92
96
97 mutable QString cachedText = { u'\x01' };
100 QLineEdit *edit = nullptr;
110
129};
130
132{
133public:
134 QSpinBoxValidator(QAbstractSpinBox *qptr, QAbstractSpinBoxPrivate *dptr);
135 QValidator::State validate(QString &input, int &) const override;
136 void fixup(QString &) const override;
137private:
138 QAbstractSpinBox *qptr;
140};
141
142QT_END_NAMESPACE
143
144#endif // QABSTRACTSPINBOX_P_H
virtual QVariant valueFromText(const QString &input) const
virtual void emitSignals(EmitPolicy ep, const QVariant &old)
virtual QStyle::SubControl newHoverControl(const QPoint &pos)
static QVariant variantBound(const QVariant &min, const QVariant &value, const QVariant &max)
virtual QVariant getZeroVariant() const
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)
virtual QVariant calculateAdaptiveDecimalStep(int steps) const
void fixup(QString &) const override
QSpinBoxValidator(QAbstractSpinBox *qptr, QAbstractSpinBoxPrivate *dptr)
QValidator::State validate(QString &input, int &) const override
\inmodule QtCore
Definition qvariant.h:66
QT_REQUIRE_CONFIG(spinbox)
@ Keyboard
@ DirectionMask
@ ButtonMask
@ EmitIfChanged
@ NeverEmit
@ AlwaysEmit
QDoubleMatrix4x4 operator*(const QDoubleMatrix4x4 &matrix, double factor)
QMatrix4x4 operator-(const QMatrix4x4 &m1, const QMatrix4x4 &m2)
Definition qmatrix4x4.h:587
Button
QPointF operator/(const QPointF &p1, const QPointF &p2)
Definition qscroller.cpp:91