4#ifndef QACCESSIBLEWIDGETS_H
5#define QACCESSIBLEWIDGETS_H
18#include <QtWidgets/private/qtwidgetsglobal_p.h>
19#include <QtWidgets/qaccessiblewidget.h>
21#if QT_CONFIG(accessibility)
23#include <QtCore/QPointer>
35class QAbstractItemView;
37class QDockWidgetLayout;
44class QAccessibleTextWidget :
public QAccessibleWidgetV2,
45 public QAccessibleTextInterface,
46 public QAccessibleEditableTextInterface
49 QAccessibleTextWidget(QWidget *o, QAccessible::Role r = QAccessible::EditableText,
const QString &name = QString());
51 QAccessible::State state()
const override;
55 void selection(
int selectionIndex,
int *startOffset,
int *endOffset)
const override;
56 int selectionCount()
const override;
57 void addSelection(
int startOffset,
int endOffset) override;
58 void removeSelection(
int selectionIndex) override;
59 void setSelection(
int selectionIndex,
int startOffset,
int endOffset) override;
62 int cursorPosition()
const override;
63 void setCursorPosition(
int position) override;
66 QString text(
int startOffset,
int endOffset)
const override;
67 QString textBeforeOffset(
int offset, QAccessible::TextBoundaryType boundaryType,
68 int *startOffset,
int *endOffset)
const override;
69 QString textAfterOffset(
int offset, QAccessible::TextBoundaryType boundaryType,
70 int *startOffset,
int *endOffset)
const override;
71 QString textAtOffset(
int offset, QAccessible::TextBoundaryType boundaryType,
72 int *startOffset,
int *endOffset)
const override;
73 int characterCount()
const override;
76 QRect characterRect(
int offset)
const override;
77 int offsetAtPoint(
const QPoint &point)
const override;
79 QString attributes(
int offset,
int *startOffset,
int *endOffset)
const override;
82 void deleteText(
int startOffset,
int endOffset) override;
83 void insertText(
int offset,
const QString &text) override;
84 void replaceText(
int startOffset,
int endOffset,
const QString &text) override;
86 using QAccessibleWidgetV2::text;
89 QTextCursor textCursorForRange(
int startOffset,
int endOffset)
const;
90 virtual QPoint scrollBarPosition()
const;
92 virtual QTextCursor textCursor()
const = 0;
93 virtual void setTextCursor(
const QTextCursor &) = 0;
94 virtual QTextDocument *textDocument()
const = 0;
95 virtual QWidget *viewport()
const = 0;
98#if QT_CONFIG(textedit)
99class QAccessiblePlainTextEdit :
public QAccessibleTextWidget
102 explicit QAccessiblePlainTextEdit(QWidget *o);
104 QString text(QAccessible::Text t)
const override;
105 void setText(QAccessible::Text t,
const QString &text) override;
106 QAccessible::State state()
const override;
108 void *interface_cast(QAccessible::InterfaceType t) override;
111 void scrollToSubstring(
int startIndex,
int endIndex) override;
113 using QAccessibleTextWidget::text;
116 QPlainTextEdit *plainTextEdit()
const;
118 QPoint scrollBarPosition()
const override;
119 QTextCursor textCursor()
const override;
120 void setTextCursor(
const QTextCursor &textCursor) override;
121 QTextDocument *textDocument()
const override;
122 QWidget *viewport()
const override;
125class QAccessibleTextEdit :
public QAccessibleTextWidget
128 explicit QAccessibleTextEdit(QWidget *o);
130 QString text(QAccessible::Text t)
const override;
131 void setText(QAccessible::Text t,
const QString &text) override;
132 QAccessible::State state()
const override;
134 void *interface_cast(QAccessible::InterfaceType t) override;
137 void scrollToSubstring(
int startIndex,
int endIndex) override;
139 using QAccessibleTextWidget::text;
142 QTextEdit *textEdit()
const;
144 QPoint scrollBarPosition()
const override;
145 QTextCursor textCursor()
const override;
146 void setTextCursor(
const QTextCursor &textCursor) override;
147 QTextDocument *textDocument()
const override;
148 QWidget *viewport()
const override;
153class QAccessibleStackedWidget :
public QAccessibleWidgetV2
156 explicit QAccessibleStackedWidget(QWidget *widget);
158 QAccessibleInterface *childAt(
int x,
int y)
const override;
159 int childCount()
const override;
160 int indexOfChild(
const QAccessibleInterface *child)
const override;
161 QAccessibleInterface *child(
int index)
const override;
164 QStackedWidget *stackedWidget()
const;
167class QAccessibleToolBox :
public QAccessibleWidgetV2
170 explicit QAccessibleToolBox(QWidget *widget);
179 QToolBox *toolBox()
const;
182#if QT_CONFIG(mdiarea)
183class QAccessibleMdiArea :
public QAccessibleWidgetV2
186 explicit QAccessibleMdiArea(QWidget *widget);
188 int childCount()
const override;
189 QAccessibleInterface *child(
int index)
const override;
190 int indexOfChild(
const QAccessibleInterface *child)
const override;
193 QMdiArea *mdiArea()
const;
196class QAccessibleMdiSubWindow :
public QAccessibleWidgetV2
199 explicit QAccessibleMdiSubWindow(QWidget *widget);
201 QString text(QAccessible::Text textType)
const override;
202 void setText(QAccessible::Text textType,
const QString &text) override;
203 QAccessible::State state()
const override;
204 int childCount()
const override;
205 QAccessibleInterface *child(
int index)
const override;
206 int indexOfChild(
const QAccessibleInterface *child)
const override;
207 QRect rect()
const override;
210 QMdiSubWindow *mdiSubWindow()
const;
214#if QT_CONFIG(dialogbuttonbox)
215class QAccessibleDialogButtonBox :
public QAccessibleWidgetV2
218 explicit QAccessibleDialogButtonBox(QWidget *widget);
222#if QT_CONFIG(textbrowser) && !defined(QT_NO_CURSOR)
223class QAccessibleTextBrowser :
public QAccessibleTextEdit
226 explicit QAccessibleTextBrowser(QWidget *widget);
228 QAccessible::Role role()
const override;
232#if QT_CONFIG(calendarwidget)
233class QAccessibleCalendarWidget :
public QAccessibleWidgetV2
236 explicit QAccessibleCalendarWidget(QWidget *widget);
238 int childCount()
const override;
239 int indexOfChild(
const QAccessibleInterface *child)
const override;
241 QAccessibleInterface *child(
int index)
const override;
244 QCalendarWidget *calendarWidget()
const;
247 QAbstractItemView *calendarView()
const;
248 QWidget *navigationBar()
const;
252#if QT_CONFIG(dockwidget)
253class QAccessibleDockWidget:
public QAccessibleWidgetV2
256 explicit QAccessibleDockWidget(QWidget *widget);
257 QAccessibleInterface *child(
int index)
const override;
258 int indexOfChild(
const QAccessibleInterface *child)
const override;
259 int childCount()
const override;
260 QRect rect ()
const override;
261 QString text(QAccessible::Text t)
const override;
262 QAccessible::Role role()
const override;
264 QDockWidget *dockWidget()
const;
266 QDockWidgetLayout *dockWidgetLayout()
const;
271#if QT_CONFIG(mainwindow)
272class QAccessibleMainWindow :
public QAccessibleWidgetV2
275 explicit QAccessibleMainWindow(QWidget *widget);
277 QAccessibleInterface *child(
int index)
const override;
278 int childCount()
const override;
279 int indexOfChild(
const QAccessibleInterface *iface)
const override;
280 QAccessibleInterface *childAt(
int x,
int y)
const override;
281 QMainWindow *mainWindow()
const;