xpcAccessibleTableCell.h (1729B)
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=2 et sw=2 tw=80: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 5 * You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef mozilla_a11y_xpcom_xpcAccessibletableCell_h_ 8 #define mozilla_a11y_xpcom_xpcAccessibletableCell_h_ 9 10 #include "nsIAccessibleTable.h" 11 12 #include "xpcAccessibleHyperText.h" 13 14 namespace mozilla { 15 namespace a11y { 16 class TableCellAccessible; 17 18 /** 19 * XPCOM wrapper around TableAccessibleCell class. 20 */ 21 class xpcAccessibleTableCell : public xpcAccessibleHyperText, 22 public nsIAccessibleTableCell { 23 public: 24 explicit xpcAccessibleTableCell(Accessible* aIntl) 25 : xpcAccessibleHyperText(aIntl) {} 26 27 NS_DECL_ISUPPORTS_INHERITED 28 29 // nsIAccessibleTableCell 30 NS_IMETHOD GetTable(nsIAccessibleTable** aTable) final; 31 NS_IMETHOD GetColumnIndex(int32_t* aColIdx) final; 32 NS_IMETHOD GetRowIndex(int32_t* aRowIdx) final; 33 NS_IMETHOD GetColumnExtent(int32_t* aExtent) final; 34 NS_IMETHOD GetRowExtent(int32_t* aExtent) final; 35 NS_IMETHOD GetColumnHeaderCells(nsIArray** aHeaderCells) final; 36 NS_IMETHOD GetRowHeaderCells(nsIArray** aHeaderCells) final; 37 NS_IMETHOD IsSelected(bool* aSelected) final; 38 39 protected: 40 virtual ~xpcAccessibleTableCell() {} 41 42 private: 43 TableCellAccessible* Intl() { return mIntl->AsTableCell(); } 44 45 xpcAccessibleTableCell(const xpcAccessibleTableCell&) = delete; 46 xpcAccessibleTableCell& operator=(const xpcAccessibleTableCell&) = delete; 47 }; 48 49 } // namespace a11y 50 } // namespace mozilla 51 52 #endif // mozilla_a11y_xpcom_xpcAccessibletableCell_h_