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