|
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 |