Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
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/. */
8 #ifndef _ACCESSIBLE_TABLE_H
9 #define _ACCESSIBLE_TABLE_H
11 #include "AccessibleTable.h"
12 #include "AccessibleTable2.h"
14 namespace mozilla {
15 namespace a11y {
17 class TableAccessible;
19 class ia2AccessibleTable : public IAccessibleTable,
20 public IAccessibleTable2
21 {
22 public:
24 // IUnknown
25 STDMETHODIMP QueryInterface(REFIID, void**);
27 // IAccessibleTable
28 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleAt(
29 /* [in] */ long row,
30 /* [in] */ long column,
31 /* [retval][out] */ IUnknown **accessible);
33 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption(
34 /* [retval][out] */ IUnknown **accessible);
36 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childIndex(
37 /* [in] */ long rowIndex,
38 /* [in] */ long columnIndex,
39 /* [retval][out] */ long *childIndex);
41 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription(
42 /* [in] */ long column,
43 /* [retval][out] */ BSTR *description);
45 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtentAt(
46 /* [in] */ long row,
47 /* [in] */ long column,
48 /* [retval][out] */ long *nColumnsSpanned);
50 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeader(
51 /* [out] */ IAccessibleTable **accessibleTable,
52 /* [retval][out] */ long *startingRowIndex);
54 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex(
55 /* [in] */ long childIndex,
56 /* [retval][out] */ long *columnIndex);
58 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns(
59 /* [retval][out] */ long *columnCount);
61 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows(
62 /* [retval][out] */ long *rowCount);
64 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedChildren(
65 /* [retval][out] */ long *childCount);
67 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns(
68 /* [retval][out] */ long *columnCount);
70 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows(
71 /* [retval][out] */ long *rowCount);
73 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription(
74 /* [in] */ long row,
75 /* [retval][out] */ BSTR *description);
77 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtentAt(
78 /* [in] */ long row,
79 /* [in] */ long column,
80 /* [retval][out] */ long *nRowsSpanned);
82 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeader(
83 /* [out] */ IAccessibleTable **accessibleTable,
84 /* [retval][out] */ long *startingColumnIndex);
86 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex(
87 /* [in] */ long childIndex,
88 /* [retval][out] */ long *rowIndex);
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);
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);
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);
105 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary(
106 /* [retval][out] */ IUnknown **accessible);
108 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected(
109 /* [in] */ long column,
110 /* [retval][out] */ boolean *isSelected);
112 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected(
113 /* [in] */ long row,
114 /* [retval][out] */ boolean *isSelected);
116 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected(
117 /* [in] */ long row,
118 /* [in] */ long column,
119 /* [retval][out] */ boolean *isSelected);
121 virtual HRESULT STDMETHODCALLTYPE selectRow(
122 /* [in] */ long row);
124 virtual HRESULT STDMETHODCALLTYPE selectColumn(
125 /* [in] */ long column);
127 virtual HRESULT STDMETHODCALLTYPE unselectRow(
128 /* [in] */ long row);
130 virtual HRESULT STDMETHODCALLTYPE unselectColumn(
131 /* [in] */ long column);
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);
141 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange(
142 /* [retval][out] */ IA2TableModelChange *modelChange);
145 // IAccessibleTable2
147 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_cellAt(
148 /* [in] */ long row,
149 /* [in] */ long column,
150 /* [out, retval] */ IUnknown **cell);
152 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedCells(
153 /* [out, retval] */ long *cellCount);
155 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedCells(
156 /* [out, size_is(,*nSelectedCells,)] */ IUnknown ***cells,
157 /* [out, retval] */ long *nSelectedCells);
159 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
160 /* [out, size_is(,*nColumns)] */ long **selectedColumns,
161 /* [out, retval] */ long *nColumns);
163 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
164 /* [out, size_is(,*nRows)] */ long **selectedRows,
165 /* [out, retval] */ long *nRows);
167 protected:
168 ia2AccessibleTable(TableAccessible* aTable) : mTable(aTable) {}
170 TableAccessible* mTable;
171 };
173 } // namespace a11y
174 } // namespace mozilla
176 #endif