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();
76 inline QAccessibleTable2CellInterface
* cell(int index
) const;
77 inline QAccessible::Role
cellRole() const;
80 class KItemListAccessibleCell
: public QAccessibleTable2CellInterface
83 KItemListAccessibleCell(KItemListView
* view
, int m_index
);
85 QObject
* object() const;
87 State
state(int) const;
88 QRect
rect(int) const;
90 int childAt(int, int) const;
91 int childCount() const;
92 int indexOfChild(const QAccessibleInterface
*) const;
93 QString
text(Text t
, int child
) const;
94 void setText(Text t
, int child
, const QString
& text
);
95 int navigate(RelationFlag relation
, int m_index
, QAccessibleInterface
** iface
) const;
96 Relation
relationTo(int child
, const QAccessibleInterface
* other
, int otherChild
) const;
97 bool isExpandable() const;
100 int userActionCount(int child
) const;
101 QString
actionText(int action
, Text t
, int child
) const;
102 bool doAction(int action
, int child
, const QVariantList
¶ms
);
106 virtual int columnExtent() const;
107 virtual QList
<QAccessibleInterface
* > columnHeaderCells() const;
108 virtual int columnIndex() const;
109 virtual int rowExtent() const;
110 virtual QList
<QAccessibleInterface
* > rowHeaderCells() const;
111 virtual int rowIndex() const;
112 virtual bool isSelected() const;
113 virtual void rowColumnExtents(int* row
, int* column
, int* rowExtents
, int* columnExtents
, bool* selected
) const;
114 virtual QAccessibleTable2Interface
* table() const;
116 inline int index() const;
119 QPointer
<KItemListView
> m_view
;
122 friend class KItemListViewAccessible
;
125 class KItemListContainerAccessible
: public QAccessibleWidgetEx
129 explicit KItemListContainerAccessible(KItemListContainer
*);
130 virtual ~KItemListContainerAccessible();
131 int childCount () const;
132 int indexOfChild ( const QAccessibleInterface
* child
) const;
133 int navigate ( RelationFlag relation
, int entry
, QAccessibleInterface
** target
) const;
136 inline KItemListContainer
* container() const
138 return static_cast<KItemListContainer
* >(object());
142 #endif // QT_NO_ACCESSIBILITY
144 #endif // ACCESSIBLE_ITEMVIEWS_H