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 virtual ~KItemListViewAccessible();
25 Role
role(int child
) const;
26 State
state(int child
) const;
27 QString
text(Text t
, int child
) const;
28 QRect
rect(int child
) const;
30 int childAt(int x
, int y
) const;
31 int childCount() const;
32 int indexOfChild(const QAccessibleInterface
* ) const;
34 int navigate(RelationFlag relation
, int index
, QAccessibleInterface
** iface
) const;
35 Relation
relationTo(int child
, const QAccessibleInterface
* other
, int otherChild
) const;
38 int userActionCount(int child
) const;
39 QString
actionText(int action
, Text t
, int child
) const;
40 bool doAction(int action
, int child
, const QVariantList
¶ms
);
42 QVariant
invokeMethodEx(Method
, int, const QVariantList
&);
45 virtual QAccessibleTable2CellInterface
* cellAt(int row
, int column
) const;
46 virtual QAccessibleInterface
* caption() const;
47 virtual QAccessibleInterface
* summary() const;
48 virtual QString
columnDescription(int column
) const;
49 virtual QString
rowDescription(int row
) const;
50 virtual int columnCount() const;
51 virtual int rowCount() const;
52 virtual QAccessible2::TableModelChange
modelChange() const;
53 virtual void rowsInserted(const QModelIndex
&, int, int) {}
54 virtual void rowsRemoved(const QModelIndex
&, int, int) {}
55 virtual void columnsInserted(const QModelIndex
&, int, int) {}
56 virtual void columnsRemoved(const QModelIndex
&, int, int) {}
57 virtual void rowsMoved(const QModelIndex
&, int, int, const QModelIndex
&, int) {}
58 virtual void columnsMoved(const QModelIndex
&, int, int, const QModelIndex
&, int) {}
61 virtual int selectedCellCount() const;
62 virtual int selectedColumnCount() const;
63 virtual int selectedRowCount() const;
64 virtual QList
<QAccessibleTable2CellInterface
*> selectedCells() const;
65 virtual QList
<int> selectedColumns() const;
66 virtual QList
<int> selectedRows() const;
67 virtual bool isColumnSelected(int column
) const;
68 virtual bool isRowSelected(int row
) const;
69 virtual bool selectRow(int row
);
70 virtual bool selectColumn(int column
);
71 virtual bool unselectRow(int row
);
72 virtual bool unselectColumn(int column
);
74 KItemListView
* view() const;
77 virtual void modelReset();
78 inline QAccessibleTable2CellInterface
* cell(int index
) const;
79 inline QAccessible::Role
cellRole() const;
82 class KItemListAccessibleCell
: public QAccessibleTable2CellInterface
85 KItemListAccessibleCell(KItemListView
* view
, int m_index
);
87 QObject
* object() const;
89 State
state(int) const;
90 QRect
rect(int) const;
92 int childAt(int, int) const;
93 int childCount() const;
94 int indexOfChild(const QAccessibleInterface
*) const;
95 QString
text(Text t
, int child
) const;
96 void setText(Text t
, int child
, const QString
& text
);
97 int navigate(RelationFlag relation
, int m_index
, QAccessibleInterface
** iface
) const;
98 Relation
relationTo(int child
, const QAccessibleInterface
* other
, int otherChild
) const;
99 bool isExpandable() const;
102 int userActionCount(int child
) const;
103 QString
actionText(int action
, Text t
, int child
) const;
104 bool doAction(int action
, int child
, const QVariantList
¶ms
);
108 virtual int columnExtent() const;
109 virtual QList
<QAccessibleInterface
* > columnHeaderCells() const;
110 virtual int columnIndex() const;
111 virtual int rowExtent() const;
112 virtual QList
<QAccessibleInterface
* > rowHeaderCells() const;
113 virtual int rowIndex() const;
114 virtual bool isSelected() const;
115 virtual void rowColumnExtents(int* row
, int* column
, int* rowExtents
, int* columnExtents
, bool* selected
) const;
116 virtual QAccessibleTable2Interface
* table() const;
118 inline int index() const;
121 QPointer
<KItemListView
> m_view
;
124 friend class KItemListViewAccessible
;
127 class KItemListContainerAccessible
: public QAccessibleWidgetEx
131 explicit KItemListContainerAccessible(KItemListContainer
*);
132 virtual ~KItemListContainerAccessible();
133 int childCount () const;
134 int indexOfChild ( const QAccessibleInterface
* child
) const;
135 int navigate ( RelationFlag relation
, int entry
, QAccessibleInterface
** target
) const;
138 inline KItemListContainer
* container() const
140 return static_cast<KItemListContainer
* >(object());
144 #endif // QT_NO_ACCESSIBILITY
146 #endif // ACCESSIBLE_ITEMVIEWS_H