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