]> cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/kitemlistviewaccessible.h
Removing in-class functions and unnecessary destructor
[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 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;
27
28 int childAt(int x, int y) const;
29 int childCount() const;
30 int indexOfChild(const QAccessibleInterface* ) const;
31
32 int navigate(RelationFlag relation, int index, QAccessibleInterface** iface) const;
33 Relation relationTo(int child, const QAccessibleInterface* other, int otherChild) const;
34
35 #ifndef QT_NO_ACTION
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 &params);
39 #endif
40 QVariant invokeMethodEx(Method, int, const QVariantList &);
41
42 // Table2 interface
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) {}
57
58 // Selection
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);
71
72 KItemListView* view() const;
73
74 protected:
75 virtual void modelReset();
76 inline QAccessibleTable2CellInterface* cell(int index) const;
77 inline QAccessible::Role cellRole() const;
78 };
79
80 class KItemListAccessibleCell: public QAccessibleTable2CellInterface
81 {
82 public:
83 KItemListAccessibleCell(KItemListView* view, int m_index);
84
85 QObject* object() const;
86 Role role(int) const;
87 State state(int) const;
88 QRect rect(int) const;
89 bool isValid() 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;
98
99 #ifndef QT_NO_ACTION
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 &params);
103 #endif
104
105 // Cell Interface
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;
115
116 inline int index() const;
117
118 private:
119 QPointer<KItemListView> m_view;
120 int m_index;
121
122 friend class KItemListViewAccessible;
123 };
124
125 class KItemListContainerAccessible : public QAccessibleWidgetEx
126 {
127 Q_ACCESSIBLE_OBJECT
128 public:
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;
134
135 private:
136 inline KItemListContainer* container() const
137 {
138 return static_cast<KItemListContainer* >(object());
139 }
140 };
141
142 #endif // QT_NO_ACCESSIBILITY
143
144 #endif // ACCESSIBLE_ITEMVIEWS_H