18#include <QtWidgets/private/qtwidgetsglobal_p.h>
19#include <QtCore/qcoreapplication.h>
20#include <QtWidgets/qaccessiblewidget.h>
24#if QT_CONFIG(accessibility)
34#if QT_CONFIG(abstractbutton)
35class QAccessibleButton :
public QAccessibleWidgetV2
37 Q_DECLARE_TR_FUNCTIONS(QAccessibleButton)
39 QAccessibleButton(QWidget *w);
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;
46 QStringList actionNames()
const override;
47 void doAction(
const QString &actionName) override;
48 QStringList keyBindingsForAction(
const QString &actionName)
const override;
51 QAbstractButton *button()
const;
55#if QT_CONFIG(toolbutton)
56class QAccessibleToolButton :
public QAccessibleButton
59 QAccessibleToolButton(QWidget *w);
61 QAccessible::State state()
const override;
62 QAccessible::Role role()
const override;
64 int childCount()
const override;
65 QAccessibleInterface *child(
int index)
const override;
68 QStringList actionNames()
const override;
69 void doAction(
const QString &actionName) override;
72 QToolButton *toolButton()
const;
74 bool isSplitButton()
const;
81class QAccessibleDisplay :
public QAccessibleWidgetV2,
public QAccessibleImageInterface
84 explicit QAccessibleDisplay(QWidget *w, QAccessible::Role role = QAccessible::StaticText);
86 QString text(QAccessible::Text t)
const override;
87 QAccessible::Role role()
const override;
88 QAccessible::State state()
const override;
90 QList<std::pair<QAccessibleInterface *, QAccessible::Relation>>
91 relations(QAccessible::Relation match = QAccessible::AllRelations)
const override;
92 void *interface_cast(QAccessible::InterfaceType t) override;
95 QString imageDescription()
const override;
96 QSize imageSize()
const override;
97 QPoint imagePosition()
const override;
100#if QT_CONFIG(groupbox)
101class QAccessibleGroupBox :
public QAccessibleWidgetV2
104 explicit QAccessibleGroupBox(QWidget *w);
106 QAccessible::State state()
const override;
107 QAccessible::Role role()
const override;
108 QString text(QAccessible::Text t)
const override;
110 QList<std::pair<QAccessibleInterface *, QAccessible::Relation>>
111 relations(QAccessible::Relation match = QAccessible::AllRelations)
const override;
114 QStringList actionNames()
const override;
115 void doAction(
const QString &actionName) override;
116 QStringList keyBindingsForAction(
const QString &)
const override;
119 QGroupBox *groupBox()
const;
123#if QT_CONFIG(lineedit)
124class QAccessibleLineEdit :
public QAccessibleWidgetV2,
public QAccessibleTextInterface,
public QAccessibleEditableTextInterface
127 explicit QAccessibleLineEdit(QWidget *o,
const QString &name = QString());
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;
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;
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;
160 QLineEdit *lineEdit()
const;
161 friend class QAccessibleAbstractSpinBox;
165#if QT_CONFIG(progressbar)
166class QAccessibleProgressBar :
public QAccessibleDisplay,
public QAccessibleValueInterface
169 explicit QAccessibleProgressBar(QWidget *o);
170 void *interface_cast(QAccessible::InterfaceType t) override;
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 {}
180 QProgressBar *progressBar()
const;
184class QWindowContainer;
185class QAccessibleWindowContainer :
public QAccessibleWidgetV2
188 QAccessibleWindowContainer(QWidget *w);
189 int childCount()
const override;
190 int indexOfChild(
const QAccessibleInterface *child)
const override;
191 QAccessibleInterface *child(
int i)
const override;
194 QWindowContainer *container()
const;
197#if QT_CONFIG(messagebox)
198class QAccessibleMessageBox :
public QAccessibleWidgetV2
201 explicit QAccessibleMessageBox(QWidget *widget);
203 QString text(QAccessible::Text t)
const override;
205 QMessageBox *messageBox()
const;