19#include <QtWidgets/private/qtwidgetsglobal_p.h>
20#include <QtCore/qcoreapplication.h>
21#include <QtWidgets/qaccessiblewidget.h>
25#if QT_CONFIG(accessibility)
35#if QT_CONFIG(abstractbutton)
36class QAccessibleButton :
public QAccessibleWidgetV2
38 Q_DECLARE_TR_FUNCTIONS(QAccessibleButton)
40 QAccessibleButton(QWidget *w);
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;
47 QStringList actionNames()
const override;
48 void doAction(
const QString &actionName) override;
49 QStringList keyBindingsForAction(
const QString &actionName)
const override;
52 QAbstractButton *button()
const;
56#if QT_CONFIG(toolbutton)
57class QAccessibleToolButton :
public QAccessibleButton
60 QAccessibleToolButton(QWidget *w);
62 QAccessible::State state()
const override;
63 QAccessible::Role role()
const override;
65 int childCount()
const override;
66 QAccessibleInterface *child(
int index)
const override;
69 QStringList actionNames()
const override;
70 void doAction(
const QString &actionName) override;
73 QToolButton *toolButton()
const;
75 bool isSplitButton()
const;
82class QAccessibleDisplay :
public QAccessibleWidgetV2,
public QAccessibleImageInterface
85 explicit QAccessibleDisplay(QWidget *w, QAccessible::Role role = QAccessible::StaticText);
87 QString text(QAccessible::Text t)
const override;
88 QAccessible::Role role()
const override;
89 QAccessible::State state()
const override;
91 QList<std::pair<QAccessibleInterface *, QAccessible::Relation>>
92 relations(QAccessible::Relation match = QAccessible::AllRelations)
const override;
93 void *interface_cast(QAccessible::InterfaceType t) override;
96 QString imageDescription()
const override;
97 QSize imageSize()
const override;
98 QPoint imagePosition()
const override;
101#if QT_CONFIG(groupbox)
102class QAccessibleGroupBox :
public QAccessibleWidgetV2
105 explicit QAccessibleGroupBox(QWidget *w);
107 QAccessible::State state()
const override;
108 QAccessible::Role role()
const override;
109 QString text(QAccessible::Text t)
const override;
111 QList<std::pair<QAccessibleInterface *, QAccessible::Relation>>
112 relations(QAccessible::Relation match = QAccessible::AllRelations)
const override;
115 QStringList actionNames()
const override;
116 void doAction(
const QString &actionName) override;
117 QStringList keyBindingsForAction(
const QString &)
const override;
120 QGroupBox *groupBox()
const;
124#if QT_CONFIG(lineedit)
125class QAccessibleLineEdit :
public QAccessibleWidgetV2,
public QAccessibleTextInterface,
public QAccessibleEditableTextInterface
128 explicit QAccessibleLineEdit(QWidget *o,
const QString &name = QString());
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;
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;
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;
161 QLineEdit *lineEdit()
const;
162 friend class QAccessibleAbstractSpinBox;
166#if QT_CONFIG(progressbar)
167class QAccessibleProgressBar :
public QAccessibleDisplay,
public QAccessibleValueInterface
170 explicit QAccessibleProgressBar(QWidget *o);
171 void *interface_cast(QAccessible::InterfaceType t) override;
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 {}
181 QProgressBar *progressBar()
const;
185class QWindowContainer;
186class QAccessibleWindowContainer :
public QAccessibleWidgetV2
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;
196 QWindowContainer *container()
const;
199#if QT_CONFIG(messagebox)
200class QAccessibleMessageBox :
public QAccessibleWidgetV2
203 explicit QAccessibleMessageBox(QWidget *widget);
205 QString text(QAccessible::Text t)
const override;
207 QMessageBox *messageBox()
const;
QT_REQUIRE_CONFIG(accessibility)