1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/accessible/src/windows/ia2/ia2AccessibleTable.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,176 @@ 1.4 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1.5 +/* vim:expandtab:shiftwidth=2:tabstop=2: 1.6 + */ 1.7 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.8 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.9 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.10 + 1.11 +#ifndef _ACCESSIBLE_TABLE_H 1.12 +#define _ACCESSIBLE_TABLE_H 1.13 + 1.14 +#include "AccessibleTable.h" 1.15 +#include "AccessibleTable2.h" 1.16 + 1.17 +namespace mozilla { 1.18 +namespace a11y { 1.19 + 1.20 +class TableAccessible; 1.21 + 1.22 +class ia2AccessibleTable : public IAccessibleTable, 1.23 + public IAccessibleTable2 1.24 +{ 1.25 +public: 1.26 + 1.27 + // IUnknown 1.28 + STDMETHODIMP QueryInterface(REFIID, void**); 1.29 + 1.30 + // IAccessibleTable 1.31 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleAt( 1.32 + /* [in] */ long row, 1.33 + /* [in] */ long column, 1.34 + /* [retval][out] */ IUnknown **accessible); 1.35 + 1.36 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption( 1.37 + /* [retval][out] */ IUnknown **accessible); 1.38 + 1.39 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childIndex( 1.40 + /* [in] */ long rowIndex, 1.41 + /* [in] */ long columnIndex, 1.42 + /* [retval][out] */ long *childIndex); 1.43 + 1.44 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription( 1.45 + /* [in] */ long column, 1.46 + /* [retval][out] */ BSTR *description); 1.47 + 1.48 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtentAt( 1.49 + /* [in] */ long row, 1.50 + /* [in] */ long column, 1.51 + /* [retval][out] */ long *nColumnsSpanned); 1.52 + 1.53 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeader( 1.54 + /* [out] */ IAccessibleTable **accessibleTable, 1.55 + /* [retval][out] */ long *startingRowIndex); 1.56 + 1.57 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex( 1.58 + /* [in] */ long childIndex, 1.59 + /* [retval][out] */ long *columnIndex); 1.60 + 1.61 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns( 1.62 + /* [retval][out] */ long *columnCount); 1.63 + 1.64 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows( 1.65 + /* [retval][out] */ long *rowCount); 1.66 + 1.67 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedChildren( 1.68 + /* [retval][out] */ long *childCount); 1.69 + 1.70 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns( 1.71 + /* [retval][out] */ long *columnCount); 1.72 + 1.73 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows( 1.74 + /* [retval][out] */ long *rowCount); 1.75 + 1.76 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription( 1.77 + /* [in] */ long row, 1.78 + /* [retval][out] */ BSTR *description); 1.79 + 1.80 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtentAt( 1.81 + /* [in] */ long row, 1.82 + /* [in] */ long column, 1.83 + /* [retval][out] */ long *nRowsSpanned); 1.84 + 1.85 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeader( 1.86 + /* [out] */ IAccessibleTable **accessibleTable, 1.87 + /* [retval][out] */ long *startingColumnIndex); 1.88 + 1.89 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex( 1.90 + /* [in] */ long childIndex, 1.91 + /* [retval][out] */ long *rowIndex); 1.92 + 1.93 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedChildren( 1.94 + /* [in] */ long maxChildren, 1.95 + /* [length_is][length_is][size_is][size_is][out] */ long **children, 1.96 + /* [retval][out] */ long *nChildren); 1.97 + 1.98 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns( 1.99 + /* [in] */ long maxColumns, 1.100 + /* [length_is][length_is][size_is][size_is][out] */ long **columns, 1.101 + /* [retval][out] */ long *nColumns); 1.102 + 1.103 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows( 1.104 + /* [in] */ long maxRows, 1.105 + /* [length_is][length_is][size_is][size_is][out] */ long **rows, 1.106 + /* [retval][out] */ long *nRows); 1.107 + 1.108 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary( 1.109 + /* [retval][out] */ IUnknown **accessible); 1.110 + 1.111 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected( 1.112 + /* [in] */ long column, 1.113 + /* [retval][out] */ boolean *isSelected); 1.114 + 1.115 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected( 1.116 + /* [in] */ long row, 1.117 + /* [retval][out] */ boolean *isSelected); 1.118 + 1.119 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected( 1.120 + /* [in] */ long row, 1.121 + /* [in] */ long column, 1.122 + /* [retval][out] */ boolean *isSelected); 1.123 + 1.124 + virtual HRESULT STDMETHODCALLTYPE selectRow( 1.125 + /* [in] */ long row); 1.126 + 1.127 + virtual HRESULT STDMETHODCALLTYPE selectColumn( 1.128 + /* [in] */ long column); 1.129 + 1.130 + virtual HRESULT STDMETHODCALLTYPE unselectRow( 1.131 + /* [in] */ long row); 1.132 + 1.133 + virtual HRESULT STDMETHODCALLTYPE unselectColumn( 1.134 + /* [in] */ long column); 1.135 + 1.136 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtentsAtIndex( 1.137 + /* [in] */ long index, 1.138 + /* [out] */ long *row, 1.139 + /* [out] */ long *column, 1.140 + /* [out] */ long *rowExtents, 1.141 + /* [out] */ long *columnExtents, 1.142 + /* [retval][out] */ boolean *isSelected); 1.143 + 1.144 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange( 1.145 + /* [retval][out] */ IA2TableModelChange *modelChange); 1.146 + 1.147 + 1.148 + // IAccessibleTable2 1.149 + 1.150 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_cellAt( 1.151 + /* [in] */ long row, 1.152 + /* [in] */ long column, 1.153 + /* [out, retval] */ IUnknown **cell); 1.154 + 1.155 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedCells( 1.156 + /* [out, retval] */ long *cellCount); 1.157 + 1.158 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedCells( 1.159 + /* [out, size_is(,*nSelectedCells,)] */ IUnknown ***cells, 1.160 + /* [out, retval] */ long *nSelectedCells); 1.161 + 1.162 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns( 1.163 + /* [out, size_is(,*nColumns)] */ long **selectedColumns, 1.164 + /* [out, retval] */ long *nColumns); 1.165 + 1.166 + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows( 1.167 + /* [out, size_is(,*nRows)] */ long **selectedRows, 1.168 + /* [out, retval] */ long *nRows); 1.169 + 1.170 +protected: 1.171 + ia2AccessibleTable(TableAccessible* aTable) : mTable(aTable) {} 1.172 + 1.173 + TableAccessible* mTable; 1.174 +}; 1.175 + 1.176 +} // namespace a11y 1.177 +} // namespace mozilla 1.178 + 1.179 +#endif