4#ifndef ACCESSIBLE_ITEMVIEWS_H
5#define ACCESSIBLE_ITEMVIEWS_H
18#include <QtWidgets/private/qtwidgetsglobal_p.h>
19#include "QtCore/qpointer.h"
20#include <QtGui/qaccessible.h>
21#include <QtWidgets/qaccessiblewidget.h>
22#include <QtWidgets/qabstractitemview.h>
23#include <QtWidgets/qheaderview.h>
29#if QT_CONFIG(accessibility)
31class QAccessibleTableCell;
32class QAccessibleTableHeaderCell;
34class QAccessibleTable :
public QAccessibleTableInterface,
public QAccessibleSelectionInterface,
public QAccessibleObject
37 explicit QAccessibleTable(
QWidget *
w);
38 bool isValid()
const override;
40 QAccessible::Role role()
const override;
45 QAccessibleInterface *childAt(
int x,
int y)
const override;
46 QAccessibleInterface *focusChild()
const override;
47 int childCount()
const override;
48 int indexOfChild(
const QAccessibleInterface *)
const override;
50 QAccessibleInterface *
parent()
const override;
51 QAccessibleInterface *
child(
int index)
const override;
53 void *interface_cast(QAccessible::InterfaceType
t)
override;
56 virtual QAccessibleInterface *cellAt(
int row,
int column)
const override;
57 virtual QAccessibleInterface *caption()
const override;
58 virtual QAccessibleInterface *summary()
const override;
60 virtual QString rowDescription(
int row)
const override;
61 virtual int columnCount()
const override;
62 virtual int rowCount()
const override;
65 virtual int selectedCellCount()
const override;
66 virtual int selectedColumnCount()
const override;
67 virtual int selectedRowCount()
const override;
69 virtual QList<int> selectedColumns()
const override;
70 virtual QList<int> selectedRows()
const override;
71 virtual bool isColumnSelected(
int column)
const override;
72 virtual bool isRowSelected(
int row)
const override;
73 virtual bool selectRow(
int row)
override;
74 virtual bool selectColumn(
int column)
override;
75 virtual bool unselectRow(
int row)
override;
76 virtual bool unselectColumn(
int column)
override;
79 virtual int selectedItemCount()
const override;
81 virtual bool isSelected(QAccessibleInterface *childCell)
const override;
82 virtual bool select(QAccessibleInterface *childCell)
override;
83 virtual bool unselect(QAccessibleInterface *childCell)
override;
85 virtual bool clear()
override;
89 void modelChange(QAccessibleTableModelChangeEvent *
event)
override;
92 inline QAccessible::Role cellRole()
const {
94 case QAccessible::List:
95 return QAccessible::ListItem;
96 case QAccessible::Table:
97 return QAccessible::Cell;
98 case QAccessible::Tree:
99 return QAccessible::TreeItem;
103 return QAccessible::NoRole;
111 mutable ChildCache childToId;
113 virtual ~QAccessibleTable();
118 QAccessible::Role m_role;
121#if QT_CONFIG(treeview)
122class QAccessibleTree :
public QAccessibleTable
125 explicit QAccessibleTree(
QWidget *
w)
126 : QAccessibleTable(
w)
130 QAccessibleInterface *childAt(
int x,
int y)
const override;
131 QAccessibleInterface *focusChild()
const override;
132 int childCount()
const override;
133 QAccessibleInterface *
child(
int index)
const override;
135 int indexOfChild(
const QAccessibleInterface *)
const override;
137 int rowCount()
const override;
140 QAccessibleInterface *cellAt(
int row,
int column)
const override;
141 QString rowDescription(
int row)
const override;
142 bool isRowSelected(
int row)
const override;
143 bool selectRow(
int row)
override;
152class QAccessibleTableCell:
public QAccessibleInterface,
public QAccessibleTableCellInterface,
public QAccessibleActionInterface
157 void *interface_cast(QAccessible::InterfaceType
t)
override;
159 QAccessible::Role role()
const override;
162 bool isValid()
const override;
164 QAccessibleInterface *childAt(
int,
int)
const override {
return nullptr; }
165 int childCount()
const override {
return 0; }
166 int indexOfChild(
const QAccessibleInterface *)
const override {
return -1; }
171 QAccessibleInterface *
parent()
const override;
172 QAccessibleInterface *
child(
int)
const override;
175 virtual int columnExtent()
const override;
177 virtual int columnIndex()
const override;
178 virtual int rowExtent()
const override;
180 virtual int rowIndex()
const override;
181 virtual bool isSelected()
const override;
182 virtual QAccessibleInterface*
table()
const override;
186 virtual void doAction(
const QString &actionName)
override;
194 QAccessible::Role m_role;
199friend class QAccessibleTable;
200#if QT_CONFIG(treeview)
201friend class QAccessibleTree;
206class QAccessibleTableHeaderCell:
public QAccessibleInterface
213 QAccessible::Role role()
const override;
216 bool isValid()
const override;
218 QAccessibleInterface *childAt(
int,
int)
const override {
return nullptr; }
219 int childCount()
const override {
return 0; }
220 int indexOfChild(
const QAccessibleInterface *)
const override {
return -1; }
225 QAccessibleInterface *
parent()
const override;
226 QAccessibleInterface *
child(
int index)
const override;
235friend class QAccessibleTable;
236#if QT_CONFIG(treeview)
237friend class QAccessibleTree;
244class QAccessibleTableCornerButton:
public QAccessibleInterface
252 QAccessible::Role role()
const override {
return QAccessible::Pane; }
255 bool isValid()
const override {
return true; }
257 QAccessibleInterface *childAt(
int,
int)
const override {
return nullptr; }
258 int childCount()
const override {
return 0; }
259 int indexOfChild(
const QAccessibleInterface *)
const override {
return -1; }
264 QAccessibleInterface *
parent()
const override {
265 return QAccessible::queryAccessibleInterface(
view);
267 QAccessibleInterface *
child(
int)
const override {
The QAbstractItemView class provides the basic functionality for item view classes.
\inmodule QtCore\reentrant
\macro QT_RESTRICTED_CAST_FROM_ASCII
Combined button and popup list for selecting options.
static jboolean selectAll(JNIEnv *, jobject)
GLint GLint GLint GLint GLint x
[0]
GLfloat GLfloat GLfloat w
[0]
GLenum GLenum GLsizei void GLsizei void * column
GLenum GLenum GLsizei void * row
GLenum GLenum GLsizei void * table
#define QT_REQUIRE_CONFIG(feature)
selection select(topLeft, bottomRight)
insertRed setText("insert red text")
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent