1 #ifndef ACCESSIBLE_ITEMVIEWS_H
2 #define ACCESSIBLE_ITEMVIEWS_H
4 #include "QtCore/qpointer.h"
5 #include <QtGui/qaccessible.h>
6 #include <QtGui/qaccessible2.h>
7 #include <QtGui/qaccessiblewidget.h>
9 #include "kitemlistview.h"
10 #include "kitemlistcontainer.h"
12 #ifndef QT_NO_ACCESSIBILITY
14 class KItemListAccessibleCell
;
16 class KItemListViewAccessible
: public QAccessibleTable2Interface
, public QAccessibleObjectEx
20 explicit KItemListViewAccessible(KItemListView
*view
);
22 virtual ~KItemListViewAccessible();
24 Role
role(int child
) const;
25 State
state(int child
) const;
26 QString
text(Text t
, int child
) const;
27 QRect
rect(int child
) const;
29 int childAt(int x
, int y
) const;
30 int childCount() const;
31 int indexOfChild(const QAccessibleInterface
*) const;
33 int navigate(RelationFlag relation
, int index
, QAccessibleInterface
**iface
) const;
34 Relation
relationTo(int child
, const QAccessibleInterface
*other
, int otherChild
) const;
37 int userActionCount(int child
) const;
38 QString
actionText(int action
, Text t
, int child
) const;
39 bool doAction(int action
, int child
, const QVariantList
¶ms
);
41 QVariant
invokeMethodEx(Method
, int, const QVariantList
&) { return QVariant(); }
44 virtual QAccessibleTable2CellInterface
*cellAt(int row
, int column
) const;
45 virtual QAccessibleInterface
*caption() const;
46 virtual QAccessibleInterface
*summary() const;
47 virtual QString
columnDescription(int column
) const;
48 virtual QString
rowDescription(int row
) const;
49 virtual int columnCount() const;
50 virtual int rowCount() const;
51 virtual QAccessible2::TableModelChange
modelChange() const;
54 virtual void rowsInserted(const QModelIndex
&, int, int) {}
55 virtual void rowsRemoved(const QModelIndex
&, int, int) {}
56 virtual void columnsInserted(const QModelIndex
&, int, int) {}
57 virtual void columnsRemoved(const QModelIndex
&, int, int) {}
58 virtual void rowsMoved(const QModelIndex
&, int, int, const QModelIndex
&, int) {}
59 virtual void columnsMoved(const QModelIndex
&, int, int, const QModelIndex
&, int) {}
62 virtual int selectedCellCount() const;
63 virtual int selectedColumnCount() const;
64 virtual int selectedRowCount() const;
65 virtual QList
<QAccessibleTable2CellInterface
*> selectedCells() const;
66 virtual QList
<int> selectedColumns() const;
67 virtual QList
<int> selectedRows() const;
68 virtual bool isColumnSelected(int column
) const;
69 virtual bool isRowSelected(int row
) const;
70 virtual bool selectRow(int row
);
71 virtual bool selectColumn(int column
);
72 virtual bool unselectRow(int row
);
73 virtual bool unselectColumn(int column
);
75 KItemListView
*view() const;
78 virtual void modelReset();
81 inline QAccessibleTable2CellInterface
*cell(int index
) const;
82 inline QAccessible::Role
cellRole() const {
83 return QAccessible::Cell
;
87 class KItemListAccessibleCell
: public QAccessibleTable2CellInterface
90 KItemListAccessibleCell(KItemListView
*view
, int m_index
);
92 QObject
*object() const
97 State
state(int) const;
98 QRect
rect(int) const;
101 inline int childAt(int, int) const {
104 inline int childCount() const {
107 inline int indexOfChild(const QAccessibleInterface
*) const {
111 QString
text(Text t
, int child
) const;
112 void setText(Text t
, int child
, const QString
&text
);
114 int navigate(RelationFlag relation
, int m_index
, QAccessibleInterface
**iface
) const;
115 Relation
relationTo(int child
, const QAccessibleInterface
*other
, int otherChild
) const;
117 bool isExpandable() const;
120 int userActionCount(int child
) const;
121 QString
actionText(int action
, Text t
, int child
) const;
122 bool doAction(int action
, int child
, const QVariantList
¶ms
);
126 virtual int columnExtent() const;
127 virtual QList
<QAccessibleInterface
*> columnHeaderCells() const;
128 virtual int columnIndex() const;
129 virtual int rowExtent() const;
130 virtual QList
<QAccessibleInterface
*> rowHeaderCells() const;
131 virtual int rowIndex() const;
132 virtual bool isSelected() const;
133 virtual void rowColumnExtents(int *row
, int *column
, int *rowExtents
, int *columnExtents
, bool *selected
) const;
134 virtual QAccessibleTable2Interface
* table() const;
136 inline int index() const {
141 QPointer
<KItemListView
> m_view
;
144 friend class KItemListViewAccessible
;
147 class KItemListContainerAccessible
: public QAccessibleWidgetEx
151 explicit KItemListContainerAccessible(KItemListContainer
*);
152 virtual ~KItemListContainerAccessible();
153 int childCount () const;
154 int indexOfChild ( const QAccessibleInterface
* child
) const;
155 int navigate ( RelationFlag relation
, int entry
, QAccessibleInterface
** target
) const;
158 inline KItemListContainer
*container() const
160 return static_cast<KItemListContainer
*>(object());
164 #endif // QT_NO_ACCESSIBILITY
166 #endif // ACCESSIBLE_ITEMVIEWS_H