]> cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/kitemlistviewaccessible.h
Modify code according to dolphin policy
[dolphin.git] / src / kitemviews / kitemlistviewaccessible.h
1 #ifndef ACCESSIBLE_ITEMVIEWS_H
2 #define ACCESSIBLE_ITEMVIEWS_H
3
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>
9
10 #include "kitemlistview.h"
11 #include "kitemlistcontainer.h"
12
13 #ifndef QT_NO_ACCESSIBILITY
14
15 class KItemListAccessibleCell;
16
17 class KItemListViewAccessible: public QAccessibleTable2Interface, public QAccessibleObjectEx
18 {
19 Q_ACCESSIBLE_OBJECT
20 public:
21 explicit KItemListViewAccessible(KItemListView* view);
22
23 virtual ~KItemListViewAccessible();
24
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;
29
30 int childAt(int x, int y) const;
31 int childCount() const;
32 int indexOfChild(const QAccessibleInterface* ) const;
33
34 int navigate(RelationFlag relation, int index, QAccessibleInterface** iface) const;
35 Relation relationTo(int child, const QAccessibleInterface* other, int otherChild) const;
36
37 #ifndef QT_NO_ACTION
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 &params);
41 #endif
42 QVariant invokeMethodEx(Method, int, const QVariantList &);
43
44 // Table2 interface
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) {}
59
60 // Selection
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);
73
74 KItemListView* view() const;
75
76 protected:
77 virtual void modelReset();
78 inline QAccessibleTable2CellInterface* cell(int index) const;
79 inline QAccessible::Role cellRole() const;
80 };
81
82 class KItemListAccessibleCell: public QAccessibleTable2CellInterface
83 {
84 public:
85 KItemListAccessibleCell(KItemListView* view, int m_index);
86
87 QObject* object() const;
88 Role role(int) const;
89 State state(int) const;
90 QRect rect(int) const;
91 bool isValid() 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;
100
101 #ifndef QT_NO_ACTION
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 &params);
105 #endif
106
107 // Cell Interface
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;
117
118 inline int index() const;
119
120 private:
121 QPointer<KItemListView> m_view;
122 int m_index;
123
124 friend class KItemListViewAccessible;
125 };
126
127 class KItemListContainerAccessible : public QAccessibleWidgetEx
128 {
129 Q_ACCESSIBLE_OBJECT
130 public:
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;
136
137 private:
138 inline KItemListContainer* container() const
139 {
140 return static_cast<KItemListContainer* >(object());
141 }
142 };
143
144 #endif // QT_NO_ACCESSIBILITY
145
146 #endif // ACCESSIBLE_ITEMVIEWS_H