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
simplewidgets_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 SIMPLEWIDGETS_H
6#define SIMPLEWIDGETS_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 <QtCore/qcoreapplication.h>
21#include <QtWidgets/qaccessiblewidget.h>
22
23QT_BEGIN_NAMESPACE
24
25#if QT_CONFIG(accessibility)
26
27class QAbstractButton;
28class QLineEdit;
29class QToolButton;
30class QGroupBox;
31class QMenu;
32class QMessageBox;
33class QProgressBar;
34
35#if QT_CONFIG(abstractbutton)
36class QAccessibleButton : public QAccessibleWidgetV2
37{
38 Q_DECLARE_TR_FUNCTIONS(QAccessibleButton)
39public:
40 QAccessibleButton(QWidget *w);
41
42 QString text(QAccessible::Text t) const override;
43 QAccessible::State state() const override;
44 QRect rect() const override;
45 QAccessible::Role role() const override;
46
47 QStringList actionNames() const override;
48 void doAction(const QString &actionName) override;
49 QStringList keyBindingsForAction(const QString &actionName) const override;
50
51protected:
52 QAbstractButton *button() const;
53};
54#endif
55
56#if QT_CONFIG(toolbutton)
57class QAccessibleToolButton : public QAccessibleButton
58{
59public:
60 QAccessibleToolButton(QWidget *w);
61
62 QAccessible::State state() const override;
63 QAccessible::Role role() const override;
64
65 int childCount() const override;
66 QAccessibleInterface *child(int index) const override;
67
68 // QAccessibleActionInterface
69 QStringList actionNames() const override;
70 void doAction(const QString &actionName) override;
71
72protected:
73 QToolButton *toolButton() const;
74
75 bool isSplitButton() const;
76#if QT_CONFIG(menu)
77 QMenu *menu() const;
78#endif
79};
80#endif // QT_CONFIG(toolbutton)
81
82class QAccessibleDisplay : public QAccessibleWidgetV2, public QAccessibleImageInterface
83{
84public:
85 explicit QAccessibleDisplay(QWidget *w, QAccessible::Role role = QAccessible::StaticText);
86
87 QString text(QAccessible::Text t) const override;
88 QAccessible::Role role() const override;
89 QAccessible::State state() const override;
90
91 QList<std::pair<QAccessibleInterface *, QAccessible::Relation>>
92 relations(QAccessible::Relation match = QAccessible::AllRelations) const override;
93 void *interface_cast(QAccessible::InterfaceType t) override;
94
95 // QAccessibleImageInterface
96 QString imageDescription() const override;
97 QSize imageSize() const override;
98 QPoint imagePosition() const override;
99};
100
101#if QT_CONFIG(groupbox)
102class QAccessibleGroupBox : public QAccessibleWidgetV2
103{
104public:
105 explicit QAccessibleGroupBox(QWidget *w);
106
107 QAccessible::State state() const override;
108 QAccessible::Role role() const override;
109 QString text(QAccessible::Text t) const override;
110
111 QList<std::pair<QAccessibleInterface *, QAccessible::Relation>>
112 relations(QAccessible::Relation match = QAccessible::AllRelations) const override;
113
114 //QAccessibleActionInterface
115 QStringList actionNames() const override;
116 void doAction(const QString &actionName) override;
117 QStringList keyBindingsForAction(const QString &) const override;
118
119private:
120 QGroupBox *groupBox() const;
121};
122#endif
123
124#if QT_CONFIG(lineedit)
125class QAccessibleLineEdit : public QAccessibleWidgetV2, public QAccessibleTextInterface, public QAccessibleEditableTextInterface
126{
127public:
128 explicit QAccessibleLineEdit(QWidget *o, const QString &name = QString());
129
130 QString text(QAccessible::Text t) const override;
131 void setText(QAccessible::Text t, const QString &text) override;
132 QAccessible::State state() const override;
133 void *interface_cast(QAccessible::InterfaceType t) override;
134
135 // QAccessibleTextInterface
136 void addSelection(int startOffset, int endOffset) override;
137 QString attributes(int offset, int *startOffset, int *endOffset) const override;
138 int cursorPosition() const override;
139 QRect characterRect(int offset) const override;
140 int selectionCount() const override;
141 int offsetAtPoint(const QPoint &point) const override;
142 void selection(int selectionIndex, int *startOffset, int *endOffset) const override;
143 QString text(int startOffset, int endOffset) const override;
144 QString textBeforeOffset (int offset, QAccessible::TextBoundaryType boundaryType,
145 int *startOffset, int *endOffset) const override;
146 QString textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType,
147 int *startOffset, int *endOffset) const override;
148 QString textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType,
149 int *startOffset, int *endOffset) const override;
150 void removeSelection(int selectionIndex) override;
151 void setCursorPosition(int position) override;
152 void setSelection(int selectionIndex, int startOffset, int endOffset) override;
153 int characterCount() const override;
154 void scrollToSubstring(int startIndex, int endIndex) override;
155
156 // QAccessibleEditableTextInterface
157 void deleteText(int startOffset, int endOffset) override;
158 void insertText(int offset, const QString &text) override;
159 void replaceText(int startOffset, int endOffset, const QString &text) override;
160protected:
161 QLineEdit *lineEdit() const;
162 friend class QAccessibleAbstractSpinBox;
163};
164#endif // QT_CONFIG(lineedit)
165
166#if QT_CONFIG(progressbar)
167class QAccessibleProgressBar : public QAccessibleDisplay, public QAccessibleValueInterface
168{
169public:
170 explicit QAccessibleProgressBar(QWidget *o);
171 void *interface_cast(QAccessible::InterfaceType t) override;
172
173 // QAccessibleValueInterface
174 QVariant currentValue() const override;
175 QVariant maximumValue() const override;
176 QVariant minimumValue() const override;
177 QVariant minimumStepSize() const override;
178 void setCurrentValue(const QVariant &) override {}
179
180protected:
181 QProgressBar *progressBar() const;
182};
183#endif
184
185class QWindowContainer;
186class QAccessibleWindowContainer : public QAccessibleWidgetV2
187{
188public:
189 QAccessibleWindowContainer(QWidget *w);
190 QString text(QAccessible::Text) const override;
191 int childCount() const override;
192 int indexOfChild(const QAccessibleInterface *child) const override;
193 QAccessibleInterface *child(int i) const override;
194
195private:
196 QWindowContainer *container() const;
197};
198
199#if QT_CONFIG(messagebox)
200class QAccessibleMessageBox : public QAccessibleWidgetV2
201{
202public:
203 explicit QAccessibleMessageBox(QWidget *widget);
204
205 QString text(QAccessible::Text t) const override;
206
207 QMessageBox *messageBox() const;
208};
209#endif
210
211#endif // QT_CONFIG(accessibility)
212
213QT_END_NAMESPACE
214
215#endif // SIMPLEWIDGETS_H
QT_REQUIRE_CONFIG(accessibility)