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
rangecontrols_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 RANGECONTROLS_H
6#define RANGECONTROLS_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/qaccessiblewidget.h>
21
22QT_BEGIN_NAMESPACE
23
24#if QT_CONFIG(accessibility)
25
26class QAbstractSpinBox;
27class QAbstractSlider;
28class QScrollBar;
29class QSlider;
30class QSpinBox;
31class QDoubleSpinBox;
32class QDial;
33class QAccessibleLineEdit;
34
35#if QT_CONFIG(spinbox)
36class QAccessibleAbstractSpinBox:
37 public QAccessibleWidgetV2,
38 public QAccessibleValueInterface,
39 public QAccessibleTextInterface,
40 public QAccessibleEditableTextInterface
41{
42public:
43 explicit QAccessibleAbstractSpinBox(QWidget *w);
44 virtual ~QAccessibleAbstractSpinBox();
45
46 QAccessible::State state() const override;
47 QString text(QAccessible::Text t) const override;
48 void *interface_cast(QAccessible::InterfaceType t) override;
49
50 // QAccessibleValueInterface
51 QVariant currentValue() const override;
52 void setCurrentValue(const QVariant &value) override;
53 QVariant maximumValue() const override;
54 QVariant minimumValue() const override;
55 QVariant minimumStepSize() const override;
56
57 // QAccessibleTextInterface
58 void addSelection(int startOffset, int endOffset) override;
59 QString attributes(int offset, int *startOffset, int *endOffset) const override;
60 int cursorPosition() const override;
61 QRect characterRect(int offset) const override;
62 int selectionCount() const override;
63 int offsetAtPoint(const QPoint &point) const override;
64 void selection(int selectionIndex, int *startOffset, int *endOffset) const override;
65 QString text(int startOffset, int endOffset) const override;
66 QString textBeforeOffset (int offset, QAccessible::TextBoundaryType boundaryType,
67 int *endOffset, int *startOffset) const override;
68 QString textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType,
69 int *startOffset, int *endOffset) const override;
70 QString textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType,
71 int *startOffset, int *endOffset) const override;
72 void removeSelection(int selectionIndex) override;
73 void setCursorPosition(int position) override;
74 void setSelection(int selectionIndex, int startOffset, int endOffset) override;
75 int characterCount() const override;
76 void scrollToSubstring(int startIndex, int endIndex) override;
77
78 // QAccessibleEditableTextInterface
79 void deleteText(int startOffset, int endOffset) override;
80 void insertText(int offset, const QString &text) override;
81 void replaceText(int startOffset, int endOffset, const QString &text) override;
82
83protected:
84 QAbstractSpinBox *abstractSpinBox() const;
85 QAccessibleInterface *lineEditIface() const;
86private:
87 mutable QAccessibleLineEdit *lineEdit;
88};
89
90class QAccessibleSpinBox : public QAccessibleAbstractSpinBox
91{
92public:
93 explicit QAccessibleSpinBox(QWidget *w);
94
95protected:
96 QSpinBox *spinBox() const;
97};
98
99class QAccessibleDoubleSpinBox : public QAccessibleAbstractSpinBox
100{
101public:
102 explicit QAccessibleDoubleSpinBox(QWidget *widget);
103
104 QString text(QAccessible::Text t) const override;
105
106 using QAccessibleAbstractSpinBox::text;
107protected:
108 QDoubleSpinBox *doubleSpinBox() const;
109};
110#endif // QT_CONFIG(spinbox)
111
112#if QT_CONFIG(slider)
113class QAccessibleAbstractSlider: public QAccessibleWidgetV2, public QAccessibleValueInterface
114{
115public:
116 explicit QAccessibleAbstractSlider(QWidget *w, QAccessible::Role r = QAccessible::Slider);
117 void *interface_cast(QAccessible::InterfaceType t) override;
118
119 // QAccessibleAttributesInterface
120 QList<QAccessible::Attribute> attributeKeys() const override;
121 QVariant attributeValue(QAccessible::Attribute key) const override;
122
123 // QAccessibleValueInterface
124 QVariant currentValue() const override;
125 void setCurrentValue(const QVariant &value) override;
126 QVariant maximumValue() const override;
127 QVariant minimumValue() const override;
128 QVariant minimumStepSize() const override;
129
130protected:
131 QAbstractSlider *abstractSlider() const;
132};
133#endif // QT_CONFIG(slider)
134
135#if QT_CONFIG(scrollbar)
136class QAccessibleScrollBar : public QAccessibleAbstractSlider
137{
138public:
139 explicit QAccessibleScrollBar(QWidget *w);
140 QString text(QAccessible::Text t) const override;
141
142protected:
143 QScrollBar *scrollBar() const;
144};
145#endif // QT_CONFIG(scrollbar)
146
147#if QT_CONFIG(slider)
148class QAccessibleSlider : public QAccessibleAbstractSlider
149{
150public:
151 explicit QAccessibleSlider(QWidget *w);
152 QString text(QAccessible::Text t) const override;
153
154protected:
155 QSlider *slider() const;
156};
157#endif // QT_CONFIG(slider)
158
159#if QT_CONFIG(dial)
160class QAccessibleDial : public QAccessibleAbstractSlider
161{
162public:
163 explicit QAccessibleDial(QWidget *w);
164
165 QString text(QAccessible::Text textType) const override;
166
167protected:
168 QDial *dial() const;
169};
170#endif // QT_CONFIG(dial)
171
172#endif // QT_CONFIG(accessibility)
173
174QT_END_NAMESPACE
175
176#endif // RANGECONTROLS_H
QT_REQUIRE_CONFIG(accessibility)