8#pragma qt_class(QAccessible)
13#include <QtGui/qtguiglobal.h>
15#if QT_CONFIG(accessibility)
17#include <QtCore/qcoreapplication.h>
18#include <QtCore/qdebug.h>
19#include <QtCore/qglobal.h>
20#include <QtCore/qlist.h>
21#include <QtCore/qobject.h>
22#include <QtCore/qrect.h>
23#include <QtCore/qset.h>
24#include <QtCore/qvariant.h>
25#include <QtGui/qcolor.h>
26#include <QtGui/qevent.h>
27#include <QtGui/qaccessible_base.h>
31class QAccessibleInterface;
32class QAccessibleEvent;
36class QAccessible2Interface;
37class QAccessibleTextInterface;
38class QAccessibleEditableTextInterface;
39class QAccessibleValueInterface;
40class QAccessibleActionInterface;
41class QAccessibleImageInterface;
42class QAccessibleTableInterface;
43class QAccessibleTableCellInterface;
44class QAccessibleHyperlinkInterface;
45class QAccessibleSelectionInterface;
46class QAccessibleAttributesInterface;
47class QAccessibleTableModelChangeEvent;
49class Q_GUI_EXPORT QAccessibleInterface
52 virtual ~QAccessibleInterface();
56 virtual bool isValid()
const = 0;
61 virtual QList<QPair<QAccessibleInterface *, QAccessible::Relation>>
62 relations(QAccessible::Relation
match = QAccessible::AllRelations)
const;
63 virtual QAccessibleInterface *focusChild()
const;
65 virtual QAccessibleInterface *childAt(
int x,
int y)
const = 0;
68 virtual QAccessibleInterface *parent()
const = 0;
69 virtual QAccessibleInterface *
child(
int index)
const = 0;
70 virtual int childCount()
const = 0;
71 virtual int indexOfChild(
const QAccessibleInterface *)
const = 0;
77 virtual QAccessible::Role role()
const = 0;
80 virtual QColor foregroundColor()
const;
81 virtual QColor backgroundColor()
const;
83 inline QAccessibleTextInterface *textInterface()
84 {
return reinterpret_cast<QAccessibleTextInterface *
>(interface_cast(QAccessible::TextInterface)); }
86 inline QAccessibleEditableTextInterface *editableTextInterface()
87 {
return reinterpret_cast<QAccessibleEditableTextInterface *
>(interface_cast(QAccessible::EditableTextInterface)); }
89 inline QAccessibleValueInterface *valueInterface()
90 {
return reinterpret_cast<QAccessibleValueInterface *
>(interface_cast(QAccessible::ValueInterface)); }
92 inline QAccessibleActionInterface *actionInterface()
93 {
return reinterpret_cast<QAccessibleActionInterface *
>(interface_cast(QAccessible::ActionInterface)); }
95 inline QAccessibleImageInterface *imageInterface()
96 {
return reinterpret_cast<QAccessibleImageInterface *
>(interface_cast(QAccessible::ImageInterface)); }
98 inline QAccessibleTableInterface *tableInterface()
99 {
return reinterpret_cast<QAccessibleTableInterface *
>(interface_cast(QAccessible::TableInterface)); }
101 inline QAccessibleTableCellInterface *tableCellInterface()
102 {
return reinterpret_cast<QAccessibleTableCellInterface *
>(interface_cast(QAccessible::TableCellInterface)); }
104 inline QAccessibleHyperlinkInterface *hyperlinkInterface()
105 {
return reinterpret_cast<QAccessibleHyperlinkInterface *
>(interface_cast(QAccessible::HyperlinkInterface)); }
107 inline QAccessibleSelectionInterface *selectionInterface()
108 {
return reinterpret_cast<QAccessibleSelectionInterface *
>(interface_cast(QAccessible::SelectionInterface)); }
110 inline QAccessibleAttributesInterface *attributesInterface()
111 {
return reinterpret_cast<QAccessibleAttributesInterface *
>(interface_cast(QAccessible::AttributesInterface)); }
113 virtual void virtual_hook(
int id,
void *
data);
115 virtual void *interface_cast(QAccessible::InterfaceType)
119 friend class QAccessibleCache;
122class Q_GUI_EXPORT QAccessibleTextInterface
125 virtual ~QAccessibleTextInterface();
127 virtual void selection(
int selectionIndex,
int *startOffset,
int *endOffset)
const = 0;
128 virtual int selectionCount()
const = 0;
129 virtual void addSelection(
int startOffset,
int endOffset) = 0;
130 virtual void removeSelection(
int selectionIndex) = 0;
131 virtual void setSelection(
int selectionIndex,
int startOffset,
int endOffset) = 0;
134 virtual int cursorPosition()
const = 0;
135 virtual void setCursorPosition(
int position) = 0;
138 virtual QString text(
int startOffset,
int endOffset)
const = 0;
139 virtual QString textBeforeOffset(
int offset, QAccessible::TextBoundaryType boundaryType,
140 int *startOffset,
int *endOffset)
const;
141 virtual QString textAfterOffset(
int offset, QAccessible::TextBoundaryType boundaryType,
142 int *startOffset,
int *endOffset)
const;
143 virtual QString textAtOffset(
int offset, QAccessible::TextBoundaryType boundaryType,
144 int *startOffset,
int *endOffset)
const;
145 virtual int characterCount()
const = 0;
149 virtual int offsetAtPoint(
const QPoint &point)
const = 0;
151 virtual void scrollToSubstring(
int startIndex,
int endIndex) = 0;
152 virtual QString attributes(
int offset,
int *startOffset,
int *endOffset)
const = 0;
155class Q_GUI_EXPORT QAccessibleEditableTextInterface
158 virtual ~QAccessibleEditableTextInterface();
160 virtual void deleteText(
int startOffset,
int endOffset) = 0;
162 virtual void replaceText(
int startOffset,
int endOffset,
const QString &
text) = 0;
165class Q_GUI_EXPORT QAccessibleValueInterface
168 virtual ~QAccessibleValueInterface();
172 virtual QVariant maximumValue()
const = 0;
173 virtual QVariant minimumValue()
const = 0;
174 virtual QVariant minimumStepSize()
const = 0;
177class Q_GUI_EXPORT QAccessibleTableCellInterface
180 virtual ~QAccessibleTableCellInterface();
182 virtual bool isSelected()
const = 0;
184 virtual QList<QAccessibleInterface*> columnHeaderCells()
const = 0;
185 virtual QList<QAccessibleInterface*> rowHeaderCells()
const = 0;
186 virtual int columnIndex()
const = 0;
187 virtual int rowIndex()
const = 0;
188 virtual int columnExtent()
const = 0;
189 virtual int rowExtent()
const = 0;
191 virtual QAccessibleInterface*
table()
const = 0;
194class Q_GUI_EXPORT QAccessibleTableInterface
197 virtual ~QAccessibleTableInterface();
199 virtual QAccessibleInterface *caption()
const = 0;
200 virtual QAccessibleInterface *summary()
const = 0;
202 virtual QAccessibleInterface *cellAt (
int row,
int column)
const = 0;
203 virtual int selectedCellCount()
const = 0;
204 virtual QList<QAccessibleInterface*> selectedCells()
const = 0;
207 virtual QString rowDescription(
int row)
const = 0;
208 virtual int selectedColumnCount()
const = 0;
209 virtual int selectedRowCount()
const = 0;
210 virtual int columnCount()
const = 0;
211 virtual int rowCount()
const = 0;
212 virtual QList<int> selectedColumns()
const = 0;
213 virtual QList<int> selectedRows()
const = 0;
214 virtual bool isColumnSelected(
int column)
const = 0;
215 virtual bool isRowSelected(
int row)
const = 0;
216 virtual bool selectRow(
int row) = 0;
217 virtual bool selectColumn(
int column) = 0;
218 virtual bool unselectRow(
int row) = 0;
219 virtual bool unselectColumn(
int column) = 0;
221 virtual void modelChange(QAccessibleTableModelChangeEvent *
event) = 0;
228class Q_GUI_EXPORT QAccessibleActionInterface
232 virtual ~QAccessibleActionInterface();
237 virtual void doAction(
const QString &actionName) = 0;
240 static const QString &pressAction();
241 static const QString &increaseAction();
242 static const QString &decreaseAction();
243 static const QString &showMenuAction();
244 static const QString &setFocusAction();
245 static const QString &toggleAction();
246 static QString scrollLeftAction();
247 static QString scrollRightAction();
248 static QString scrollUpAction();
249 static QString scrollDownAction();
250 static QString nextPageAction();
251 static QString previousPageAction();
254class Q_GUI_EXPORT QAccessibleImageInterface
257 virtual ~QAccessibleImageInterface();
259 virtual QString imageDescription()
const = 0;
261 virtual QPoint imagePosition()
const = 0;
264class Q_GUI_EXPORT QAccessibleHyperlinkInterface
267 virtual ~QAccessibleHyperlinkInterface();
269 virtual QString anchor()
const = 0;
270 virtual QString anchorTarget()
const = 0;
271 virtual int startIndex()
const = 0;
272 virtual int endIndex()
const = 0;
273 virtual bool isValid()
const = 0;
276class Q_GUI_EXPORT QAccessibleSelectionInterface
279 virtual ~QAccessibleSelectionInterface();
281 virtual int selectedItemCount()
const = 0;
282 virtual QList<QAccessibleInterface*> selectedItems()
const = 0;
283 virtual QAccessibleInterface* selectedItem(
int selectionIndex)
const;
284 virtual bool isSelected(QAccessibleInterface *childItem)
const;
285 virtual bool select(QAccessibleInterface *childItem) = 0;
286 virtual bool unselect(QAccessibleInterface *childItem) = 0;
288 virtual bool clear() = 0;
291class Q_GUI_EXPORT QAccessibleAttributesInterface
294 virtual ~QAccessibleAttributesInterface();
295 virtual QList<QAccessible::Attribute> attributeKeys()
const = 0;
296 virtual QVariant attributeValue(QAccessible::Attribute
key)
const = 0;
300class Q_GUI_EXPORT QAccessibleEvent
302 Q_DISABLE_COPY(QAccessibleEvent)
305 inline QAccessibleEvent(
QObject *
obj, QAccessible::Event typ)
306 : m_type(typ), m_object(
obj), m_child(-1)
311 Q_ASSERT(m_type != QAccessible::ValueChanged);
312 Q_ASSERT(m_type != QAccessible::StateChanged);
313 Q_ASSERT(m_type != QAccessible::TextCaretMoved);
314 Q_ASSERT(m_type != QAccessible::TextSelectionChanged);
315 Q_ASSERT(m_type != QAccessible::TextInserted);
316 Q_ASSERT(m_type != QAccessible::TextRemoved);
317 Q_ASSERT(m_type != QAccessible::TextUpdated);
318 Q_ASSERT(m_type != QAccessible::TableModelChanged);
319 Q_ASSERT(m_type != QAccessible::Announcement);
322 inline QAccessibleEvent(QAccessibleInterface *iface, QAccessible::Event typ)
326 Q_ASSERT(m_type != QAccessible::ValueChanged);
327 Q_ASSERT(m_type != QAccessible::StateChanged);
328 Q_ASSERT(m_type != QAccessible::TextCaretMoved);
329 Q_ASSERT(m_type != QAccessible::TextSelectionChanged);
330 Q_ASSERT(m_type != QAccessible::TextInserted);
331 Q_ASSERT(m_type != QAccessible::TextRemoved);
332 Q_ASSERT(m_type != QAccessible::TextUpdated);
333 Q_ASSERT(m_type != QAccessible::TableModelChanged);
334 Q_ASSERT(m_type != QAccessible::Announcement);
335 m_uniqueId = QAccessible::uniqueId(iface);
336 m_object =
iface->object();
339 virtual ~QAccessibleEvent();
341 QAccessible::Event
type()
const {
return m_type; }
343 QAccessible::Id uniqueId()
const;
345 void setChild(
int chld) { m_child = chld; }
346 int child()
const {
return m_child; }
348 virtual QAccessibleInterface *accessibleInterface()
const;
351 QAccessible::Event m_type;
355 QAccessible::Id m_uniqueId;
358 friend class QTestAccessibility;
361class Q_GUI_EXPORT QAccessibleStateChangeEvent :
public QAccessibleEvent
367 m_type = QAccessible::StateChanged;
372 m_type = QAccessible::StateChanged;
374 ~QAccessibleStateChangeEvent();
377 return m_changedStates;
385class Q_GUI_EXPORT QAccessibleTextCursorEvent :
public QAccessibleEvent
388 inline QAccessibleTextCursorEvent(
QObject *
obj,
int cursorPos)
390 , m_cursorPosition(cursorPos)
392 m_type = QAccessible::TextCaretMoved;
394 inline QAccessibleTextCursorEvent(QAccessibleInterface *iface,
int cursorPos)
396 , m_cursorPosition(cursorPos)
398 m_type = QAccessible::TextCaretMoved;
401 ~QAccessibleTextCursorEvent();
404 int cursorPosition()
const {
return m_cursorPosition; }
407 int m_cursorPosition;
411class Q_GUI_EXPORT QAccessibleTextSelectionEvent :
public QAccessibleTextCursorEvent
415 : QAccessibleTextCursorEvent(
obj, (
start == -1) ? 0 :
end)
416 , m_selectionStart(
start), m_selectionEnd(
end)
418 m_type = QAccessible::TextSelectionChanged;
420 inline QAccessibleTextSelectionEvent(QAccessibleInterface *iface,
int start,
int end)
422 , m_selectionStart(
start), m_selectionEnd(
end)
424 m_type = QAccessible::TextSelectionChanged;
427 ~QAccessibleTextSelectionEvent();
430 m_selectionStart =
start;
431 m_selectionEnd =
end;
434 int selectionStart()
const {
return m_selectionStart; }
435 int selectionEnd()
const {
return m_selectionEnd; }
438 int m_selectionStart;
442class Q_GUI_EXPORT QAccessibleTextInsertEvent :
public QAccessibleTextCursorEvent
449 m_type = QAccessible::TextInserted;
451 inline QAccessibleTextInsertEvent(QAccessibleInterface *iface,
int position,
const QString &
text)
455 m_type = QAccessible::TextInserted;
458 ~QAccessibleTextInsertEvent();
463 int changePosition()
const {
472class Q_GUI_EXPORT QAccessibleTextRemoveEvent :
public QAccessibleTextCursorEvent
479 m_type = QAccessible::TextRemoved;
481 inline QAccessibleTextRemoveEvent(QAccessibleInterface *iface,
int position,
const QString &
text)
485 m_type = QAccessible::TextRemoved;
488 ~QAccessibleTextRemoveEvent();
493 int changePosition()
const {
502class Q_GUI_EXPORT QAccessibleTextUpdateEvent :
public QAccessibleTextCursorEvent
507 , m_position(
position), m_oldText(oldText), m_text(
text)
509 m_type = QAccessible::TextUpdated;
513 , m_position(
position), m_oldText(oldText), m_text(
text)
515 m_type = QAccessible::TextUpdated;
518 ~QAccessibleTextUpdateEvent();
526 int changePosition()
const {
536class Q_GUI_EXPORT QAccessibleValueChangeEvent :
public QAccessibleEvent
543 m_type = QAccessible::ValueChanged;
545 inline QAccessibleValueChangeEvent(QAccessibleInterface *iface,
const QVariant &
val)
549 m_type = QAccessible::ValueChanged;
552 ~QAccessibleValueChangeEvent();
561class Q_GUI_EXPORT QAccessibleTableModelChangeEvent :
public QAccessibleEvent
564 enum ModelChangeType {
573 inline QAccessibleTableModelChangeEvent(
QObject *
obj, ModelChangeType changeType)
575 , m_modelChangeType(changeType)
576 , m_firstRow(-1), m_firstColumn(-1), m_lastRow(-1), m_lastColumn(-1)
578 m_type = QAccessible::TableModelChanged;
580 inline QAccessibleTableModelChangeEvent(QAccessibleInterface *iface, ModelChangeType changeType)
582 , m_modelChangeType(changeType)
583 , m_firstRow(-1), m_firstColumn(-1), m_lastRow(-1), m_lastColumn(-1)
585 m_type = QAccessible::TableModelChanged;
588 ~QAccessibleTableModelChangeEvent();
590 void setModelChangeType(ModelChangeType changeType) { m_modelChangeType = changeType; }
591 ModelChangeType modelChangeType()
const {
return m_modelChangeType; }
593 void setFirstRow(
int row) { m_firstRow =
row; }
594 void setFirstColumn(
int col) { m_firstColumn = col; }
595 void setLastRow(
int row) { m_lastRow =
row; }
596 void setLastColumn(
int col) { m_lastColumn = col; }
597 int firstRow()
const {
return m_firstRow; }
598 int firstColumn()
const {
return m_firstColumn; }
599 int lastRow()
const {
return m_lastRow; }
600 int lastColumn()
const {
return m_lastColumn; }
603 ModelChangeType m_modelChangeType;
610class Q_GUI_EXPORT QAccessibleAnnouncementEvent :
public QAccessibleEvent
616 , m_priority(
QAccessible::AnnouncementPriority::Polite)
618 m_type = QAccessible::Announcement;
621 inline QAccessibleAnnouncementEvent(QAccessibleInterface *iface,
const QString &
message)
624 , m_priority(
QAccessible::AnnouncementPriority::Polite)
626 m_type = QAccessible::Announcement;
629 ~QAccessibleAnnouncementEvent();
632 QAccessible::AnnouncementPriority priority()
const {
return m_priority; }
633 void setPriority(QAccessible::AnnouncementPriority priority) { m_priority = priority; };
637 QAccessible::AnnouncementPriority m_priority;
641#define QAccessibleInterface_iid "org.qt-project.Qt.QAccessibleInterface"
645Q_GUI_EXPORT
const char *qAccessibleRoleString(QAccessible::Role role);
646Q_GUI_EXPORT
const char *qAccessibleEventString(QAccessible::Event
event);
647Q_GUI_EXPORT
QString qAccessibleLocalizedActionDescription(
const QString &actionName);
649#ifndef QT_NO_DEBUG_STREAM
The QAbstractItemView class provides the basic functionality for item view classes.
The QAccessible class provides enums and static functions related to accessibility.
The QColor class provides colors based on RGB, HSV or CMYK values.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
\macro QT_RESTRICTED_CAST_FROM_ASCII
\reentrant \inmodule QtGui
myinstance setPriority(MyClass::VeryHigh)
Combined button and popup list for selecting options.
constexpr QBindableInterface iface
static jboolean setSelection(JNIEnv *, jobject, jint start, jint end)
static jboolean selectAll(JNIEnv *, jobject)
#define Q_DECLARE_TR_FUNCTIONS(context)
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
#define Q_DECLARE_INTERFACE(IFace, IId)
GLint GLint GLint GLint GLint x
[0]
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLuint GLsizei const GLchar * message
GLenum GLuint GLintptr offset
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei imageSize
GLenum GLenum GLsizei void GLsizei void * column
GLenum GLenum GLsizei void * row
GLenum GLenum GLsizei void * table
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
static bool match(const uchar *found, uint foundLen, const char *target, uint targetLen)
settings setValue("DataPump/bgcolor", color)
QItemSelection * selection
[0]
selection select(topLeft, bottomRight)
insertRed setText("insert red text")