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;
68 virtual QList<QAccessibleInterface*> selectedCells()
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;
80 virtual QList<QAccessibleInterface*> selectedItems()
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;
110 typedef QHash<int, QAccessible::Id> ChildCache;
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;
150class QAccessibleTableCell:
public QAccessibleInterface,
public QAccessibleTableCellInterface,
public QAccessibleActionInterface
155 void *interface_cast(QAccessible::InterfaceType
t)
override;
157 QAccessible::Role role()
const override;
160 bool isValid()
const override;
162 QAccessibleInterface *childAt(
int,
int)
const override {
return nullptr; }
163 int childCount()
const override {
return 0; }
164 int indexOfChild(
const QAccessibleInterface *)
const override {
return -1; }
169 QAccessibleInterface *parent()
const override;
170 QAccessibleInterface *
child(
int)
const override;
173 virtual int columnExtent()
const override;
174 virtual QList<QAccessibleInterface*> columnHeaderCells()
const override;
175 virtual int columnIndex()
const override;
176 virtual int rowExtent()
const override;
177 virtual QList<QAccessibleInterface*> rowHeaderCells()
const override;
178 virtual int rowIndex()
const override;
179 virtual bool isSelected()
const override;
180 virtual QAccessibleInterface*
table()
const override;
184 virtual void doAction(
const QString &actionName)
override;
190 QPointer<QAbstractItemView >
view;
192 QAccessible::Role m_role;
197friend class QAccessibleTable;
198#if QT_CONFIG(treeview)
199friend class QAccessibleTree;
204class QAccessibleTableHeaderCell:
public QAccessibleInterface
211 QAccessible::Role role()
const override;
214 bool isValid()
const override;
216 QAccessibleInterface *childAt(
int,
int)
const override {
return nullptr; }
217 int childCount()
const override {
return 0; }
218 int indexOfChild(
const QAccessibleInterface *)
const override {
return -1; }
223 QAccessibleInterface *parent()
const override;
224 QAccessibleInterface *
child(
int index)
const override;
229 QPointer<QAbstractItemView>
view;
233friend class QAccessibleTable;
234#if QT_CONFIG(treeview)
235friend class QAccessibleTree;
242class QAccessibleTableCornerButton:
public QAccessibleInterface
250 QAccessible::Role role()
const override {
return QAccessible::Pane; }
253 bool isValid()
const override {
return true; }
255 QAccessibleInterface *childAt(
int,
int)
const override {
return nullptr; }
256 int childCount()
const override {
return 0; }
257 int indexOfChild(
const QAccessibleInterface *)
const override {
return -1; }
262 QAccessibleInterface *parent()
const override {
263 return QAccessible::queryAccessibleInterface(
view);
265 QAccessibleInterface *
child(
int)
const override {
270 QPointer<QAbstractItemView>
view;
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")