accessible/src/windows/ia2/ia2AccessibleTable.h

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:f51b3bf7301f
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim:expandtab:shiftwidth=2:tabstop=2:
3 */
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7
8 #ifndef _ACCESSIBLE_TABLE_H
9 #define _ACCESSIBLE_TABLE_H
10
11 #include "AccessibleTable.h"
12 #include "AccessibleTable2.h"
13
14 namespace mozilla {
15 namespace a11y {
16
17 class TableAccessible;
18
19 class ia2AccessibleTable : public IAccessibleTable,
20 public IAccessibleTable2
21 {
22 public:
23
24 // IUnknown
25 STDMETHODIMP QueryInterface(REFIID, void**);
26
27 // IAccessibleTable
28 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleAt(
29 /* [in] */ long row,
30 /* [in] */ long column,
31 /* [retval][out] */ IUnknown **accessible);
32
33 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption(
34 /* [retval][out] */ IUnknown **accessible);
35
36 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childIndex(
37 /* [in] */ long rowIndex,
38 /* [in] */ long columnIndex,
39 /* [retval][out] */ long *childIndex);
40
41 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription(
42 /* [in] */ long column,
43 /* [retval][out] */ BSTR *description);
44
45 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtentAt(
46 /* [in] */ long row,
47 /* [in] */ long column,
48 /* [retval][out] */ long *nColumnsSpanned);
49
50 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeader(
51 /* [out] */ IAccessibleTable **accessibleTable,
52 /* [retval][out] */ long *startingRowIndex);
53
54 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex(
55 /* [in] */ long childIndex,
56 /* [retval][out] */ long *columnIndex);
57
58 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns(
59 /* [retval][out] */ long *columnCount);
60
61 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows(
62 /* [retval][out] */ long *rowCount);
63
64 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedChildren(
65 /* [retval][out] */ long *childCount);
66
67 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns(
68 /* [retval][out] */ long *columnCount);
69
70 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows(
71 /* [retval][out] */ long *rowCount);
72
73 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription(
74 /* [in] */ long row,
75 /* [retval][out] */ BSTR *description);
76
77 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtentAt(
78 /* [in] */ long row,
79 /* [in] */ long column,
80 /* [retval][out] */ long *nRowsSpanned);
81
82 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeader(
83 /* [out] */ IAccessibleTable **accessibleTable,
84 /* [retval][out] */ long *startingColumnIndex);
85
86 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex(
87 /* [in] */ long childIndex,
88 /* [retval][out] */ long *rowIndex);
89
90 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedChildren(
91 /* [in] */ long maxChildren,
92 /* [length_is][length_is][size_is][size_is][out] */ long **children,
93 /* [retval][out] */ long *nChildren);
94
95 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
96 /* [in] */ long maxColumns,
97 /* [length_is][length_is][size_is][size_is][out] */ long **columns,
98 /* [retval][out] */ long *nColumns);
99
100 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
101 /* [in] */ long maxRows,
102 /* [length_is][length_is][size_is][size_is][out] */ long **rows,
103 /* [retval][out] */ long *nRows);
104
105 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary(
106 /* [retval][out] */ IUnknown **accessible);
107
108 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected(
109 /* [in] */ long column,
110 /* [retval][out] */ boolean *isSelected);
111
112 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected(
113 /* [in] */ long row,
114 /* [retval][out] */ boolean *isSelected);
115
116 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected(
117 /* [in] */ long row,
118 /* [in] */ long column,
119 /* [retval][out] */ boolean *isSelected);
120
121 virtual HRESULT STDMETHODCALLTYPE selectRow(
122 /* [in] */ long row);
123
124 virtual HRESULT STDMETHODCALLTYPE selectColumn(
125 /* [in] */ long column);
126
127 virtual HRESULT STDMETHODCALLTYPE unselectRow(
128 /* [in] */ long row);
129
130 virtual HRESULT STDMETHODCALLTYPE unselectColumn(
131 /* [in] */ long column);
132
133 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtentsAtIndex(
134 /* [in] */ long index,
135 /* [out] */ long *row,
136 /* [out] */ long *column,
137 /* [out] */ long *rowExtents,
138 /* [out] */ long *columnExtents,
139 /* [retval][out] */ boolean *isSelected);
140
141 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange(
142 /* [retval][out] */ IA2TableModelChange *modelChange);
143
144
145 // IAccessibleTable2
146
147 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_cellAt(
148 /* [in] */ long row,
149 /* [in] */ long column,
150 /* [out, retval] */ IUnknown **cell);
151
152 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedCells(
153 /* [out, retval] */ long *cellCount);
154
155 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedCells(
156 /* [out, size_is(,*nSelectedCells,)] */ IUnknown ***cells,
157 /* [out, retval] */ long *nSelectedCells);
158
159 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
160 /* [out, size_is(,*nColumns)] */ long **selectedColumns,
161 /* [out, retval] */ long *nColumns);
162
163 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
164 /* [out, size_is(,*nRows)] */ long **selectedRows,
165 /* [out, retval] */ long *nRows);
166
167 protected:
168 ia2AccessibleTable(TableAccessible* aTable) : mTable(aTable) {}
169
170 TableAccessible* mTable;
171 };
172
173 } // namespace a11y
174 } // namespace mozilla
175
176 #endif

mercurial