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_TABLECELL_H 9 #define _ACCESSIBLE_TABLECELL_H 10 11 #include "AccessibleTableCell.h" 12 #include "ia2AccessibleHypertext.h" 13 #include "IUnknownImpl.h" 14 15 namespace mozilla { 16 namespace a11y { 17 class TableCellAccessible; 18 19 class ia2AccessibleTableCell : public IAccessibleTableCell, 20 public ia2AccessibleHypertext { 21 public: 22 // IUnknown 23 DECL_IUNKNOWN_INHERITED 24 IMPL_IUNKNOWN_REFCOUNTING_INHERITED(ia2AccessibleHypertext) 25 26 // IAccessibleTableCell 27 28 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_table( 29 /* [out, retval] */ IUnknown** table); 30 31 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtent( 32 /* [out, retval] */ long* nColumnsSpanned); 33 34 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeaderCells( 35 /* [out, size_is(,*nColumnHeaderCells,)] */ IUnknown*** cellAccessibles, 36 /* [out, retval] */ long* nColumnHeaderCells); 37 38 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex( 39 /* [out, retval] */ long* columnIndex); 40 41 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtent( 42 /* [out, retval] */ long* nRowsSpanned); 43 44 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeaderCells( 45 /* [out, size_is(,*nRowHeaderCells,)] */ IUnknown*** cellAccessibles, 46 /* [out, retval] */ long* nRowHeaderCells); 47 48 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex( 49 /* [out, retval] */ long* rowIndex); 50 51 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtents( 52 /* [out] */ long* row, 53 /* [out] */ long* column, 54 /* [out] */ long* rowExtents, 55 /* [out] */ long* columnExtents, 56 /* [out, retval] */ boolean* isSelected); 57 58 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected( 59 /* [out, retval] */ boolean* isSelected); 60 61 protected: 62 using ia2AccessibleHypertext::ia2AccessibleHypertext; 63 64 private: 65 TableCellAccessible* CellAcc(); 66 }; 67 68 } // namespace a11y 69 } // namespace mozilla 70 71 #endif 72