TableCellAccessible.h (1601B)
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_TableCellAccessible_h__ 8 #define mozilla_a11y_TableCellAccessible_h__ 9 10 #include "nsTArray.h" 11 #include <stdint.h> 12 13 namespace mozilla { 14 namespace a11y { 15 16 class Accessible; 17 class TableAccessible; 18 19 /** 20 * Abstract interface implemented by table cell accessibles. 21 */ 22 class TableCellAccessible { 23 public: 24 /** 25 * Return the table this cell is in. 26 */ 27 virtual TableAccessible* Table() const = 0; 28 29 /** 30 * Return the column of the table this cell is in. 31 */ 32 virtual uint32_t ColIdx() const = 0; 33 34 /** 35 * Return the row of the table this cell is in. 36 */ 37 virtual uint32_t RowIdx() const = 0; 38 39 /** 40 * Return the column extent of this cell. 41 */ 42 virtual uint32_t ColExtent() const { return 1; } 43 44 /** 45 * Return the row extent of this cell. 46 */ 47 virtual uint32_t RowExtent() const { return 1; } 48 49 /** 50 * Return the column header cells for this cell. 51 */ 52 virtual void ColHeaderCells(nsTArray<Accessible*>* aCells) = 0; 53 54 /** 55 * Return the row header cells for this cell. 56 */ 57 virtual void RowHeaderCells(nsTArray<Accessible*>* aCells) = 0; 58 59 /** 60 * Returns true if this cell is selected. 61 */ 62 virtual bool Selected() = 0; 63 }; 64 65 } // namespace a11y 66 } // namespace mozilla 67 68 #endif // mozilla_a11y_TableCellAccessible_h__