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>
8 #include <QtGui/qaccessibleobject.h>
10 #include "kitemlistview.h"
11 #include "kitemlistcontainer.h"
13 #ifndef QT_NO_ACCESSIBILITY
15 class KItemListAccessibleCell
;
17 class KItemListViewAccessible
: public QAccessibleTable2Interface
, public QAccessibleObjectEx
21 explicit KItemListViewAccessible(KItemListView
* view
);
23 Role
role(int child
) const;
24 State
state(int child
) const;
25 QString
text(Text t
, int child
) const;
26 QRect
rect(int child
) const;
28 int childAt(int x
, int y
) const;
29 int childCount() const;
30 int indexOfChild(const QAccessibleInterface
* ) const;
32 int navigate(RelationFlag relation
, int index
, QAccessibleInterface
** iface
) const;
33 Relation
relationTo(int child
, const QAccessibleInterface
* other
, int otherChild
) const;
36 int userActionCount(int child
) const;
37 QString
actionText(int action
, Text t
, int child
) const;
38 bool doAction(int action
, int child
, const QVariantList
¶ms
);
40 QVariant
invokeMethodEx(Method
, int, const QVariantList
&);
43 virtual QAccessibleTable2CellInterface
* cellAt(int row
, int column
) const;
44 virtual QAccessibleInterface
* caption() const;
45 virtual QAccessibleInterface
* summary() const;
46 virtual QString
columnDescription(int column
) const;
47 virtual QString
rowDescription(int row
) const;
48 virtual int columnCount() const;
49 virtual int rowCount() const;
50 virtual QAccessible2::TableModelChange
modelChange() const;
51 virtual void rowsInserted(const QModelIndex
&, int, int) {}
52 virtual void rowsRemoved(const QModelIndex
&, int, int) {}
53 virtual void columnsInserted(const QModelIndex
&, int, int) {}
54 virtual void columnsRemoved(const QModelIndex
&, int, int) {}
55 virtual void rowsMoved(const QModelIndex
&, int, int, const QModelIndex
&, int) {}
56 virtual void columnsMoved(const QModelIndex
&, int, int, const QModelIndex
&, int) {}
59 virtual int selectedCellCount() const;
60 virtual int selectedColumnCount() const;
61 virtual int selectedRowCount() const;
62 virtual QList
<QAccessibleTable2CellInterface
*> selectedCells() const;
63 virtual QList
<int> selectedColumns() const;
64 virtual QList
<int> selectedRows() const;
65 virtual bool isColumnSelected(int column
) const;
66 virtual bool isRowSelected(int row
) const;
67 virtual bool selectRow(int row
);
68 virtual bool selectColumn(int column
);
69 virtual bool unselectRow(int row
);
70 virtual bool unselectColumn(int column
);
72 KItemListView
* view() const;
75 virtual void modelReset();
77 * Create an QAccessibleTable2CellInterface representing the table
78 * cell at the @index. Index is 0-based.
80 inline QAccessibleTable2CellInterface
* cell(int index
) const;
81 inline QAccessible::Role
cellRole() const;
84 class KItemListAccessibleCell
: public QAccessibleTable2CellInterface
87 KItemListAccessibleCell(KItemListView
* view
, int m_index
);
89 QObject
* object() const;
91 State
state(int) const;
92 QRect
rect(int) const;
94 int childAt(int, int) const;
95 int childCount() const;
96 int indexOfChild(const QAccessibleInterface
*) const;
97 QString
text(Text t
, int child
) const;
98 void setText(Text t
, int child
, const QString
& text
);
99 int navigate(RelationFlag relation
, int m_index
, QAccessibleInterface
** iface
) const;
100 Relation
relationTo(int child
, const QAccessibleInterface
* other
, int otherChild
) const;
101 bool isExpandable() const;
104 int userActionCount(int child
) const;
105 QString
actionText(int action
, Text t
, int child
) const;
106 bool doAction(int action
, int child
, const QVariantList
¶ms
);
110 virtual int columnExtent() const;
111 virtual QList
<QAccessibleInterface
* > columnHeaderCells() const;
112 virtual int columnIndex() const;
113 virtual int rowExtent() const;
114 virtual QList
<QAccessibleInterface
* > rowHeaderCells() const;
115 virtual int rowIndex() const;
116 virtual bool isSelected() const;
117 virtual void rowColumnExtents(int* row
, int* column
, int* rowExtents
, int* columnExtents
, bool* selected
) const;
118 virtual QAccessibleTable2Interface
* table() const;
120 inline int index() const;
123 QPointer
<KItemListView
> m_view
;
126 friend class KItemListViewAccessible
;
129 class KItemListContainerAccessible
: public QAccessibleWidgetEx
133 explicit KItemListContainerAccessible(KItemListContainer
*);
134 virtual ~KItemListContainerAccessible();
135 int childCount () const;
136 int indexOfChild ( const QAccessibleInterface
* child
) const;
137 int navigate ( RelationFlag relation
, int entry
, QAccessibleInterface
** target
) const;
140 inline KItemListContainer
* container() const
142 return static_cast<KItemListContainer
* >(object());
146 #endif // QT_NO_ACCESSIBILITY
148 #endif // ACCESSIBLE_ITEMVIEWS_H