|
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_XPACCESSIBLETABLE_H_ |
|
8 #define MOZILLA_A11Y_XPCOM_XPACCESSIBLETABLE_H_ |
|
9 |
|
10 #include "nsAString.h" |
|
11 #include "nscore.h" |
|
12 |
|
13 class nsIAccessible; |
|
14 class nsIArray; |
|
15 |
|
16 namespace mozilla { |
|
17 namespace a11y { |
|
18 |
|
19 class TableAccessible; |
|
20 |
|
21 class xpcAccessibleTable |
|
22 { |
|
23 public: |
|
24 xpcAccessibleTable(mozilla::a11y::TableAccessible* aTable) : mTable(aTable) { } |
|
25 |
|
26 nsresult GetCaption(nsIAccessible** aCaption); |
|
27 nsresult GetSummary(nsAString& aSummary); |
|
28 nsresult GetColumnCount(int32_t* aColumnCount); |
|
29 nsresult GetRowCount(int32_t* aRowCount); |
|
30 nsresult GetCellAt(int32_t aRowIndex, int32_t aColumnIndex, |
|
31 nsIAccessible** aCell); |
|
32 nsresult GetCellIndexAt(int32_t aRowIndex, int32_t aColumnIndex, |
|
33 int32_t* aCellIndex); |
|
34 nsresult GetColumnIndexAt(int32_t aCellIndex, int32_t* aColumnIndex); |
|
35 nsresult GetRowIndexAt(int32_t aCellIndex, int32_t* aRowIndex); |
|
36 nsresult GetRowAndColumnIndicesAt(int32_t aCellIndex, int32_t* aRowIndex, |
|
37 int32_t* aColumnIndex); |
|
38 nsresult GetColumnExtentAt(int32_t row, int32_t column, |
|
39 int32_t* aColumnExtent); |
|
40 nsresult GetRowExtentAt(int32_t row, int32_t column, |
|
41 int32_t* aRowExtent); |
|
42 nsresult GetColumnDescription(int32_t aColIdx, nsAString& aDescription); |
|
43 nsresult GetRowDescription(int32_t aRowIdx, nsAString& aDescription); |
|
44 nsresult IsColumnSelected(int32_t aColIdx, bool* _retval); |
|
45 nsresult IsRowSelected(int32_t aRowIdx, bool* _retval); |
|
46 nsresult IsCellSelected(int32_t aRowIdx, int32_t aColIdx, bool* _retval); |
|
47 nsresult GetSelectedCellCount(uint32_t* aSelectedCellCount); |
|
48 nsresult GetSelectedColumnCount(uint32_t* aSelectedColumnCount); |
|
49 nsresult GetSelectedRowCount(uint32_t* aSelectedRowCount); |
|
50 nsresult GetSelectedCells(nsIArray** aSelectedCell); |
|
51 nsresult GetSelectedCellIndices(uint32_t* aCellsArraySize, |
|
52 int32_t** aCellsArray); |
|
53 nsresult GetSelectedColumnIndices(uint32_t* aColsArraySize, |
|
54 int32_t** aColsArray); |
|
55 nsresult GetSelectedRowIndices(uint32_t* aRowsArraySize, |
|
56 int32_t** aRowsArray); |
|
57 nsresult SelectColumn(int32_t aColIdx); |
|
58 nsresult SelectRow(int32_t aRowIdx); |
|
59 nsresult UnselectColumn(int32_t aColIdx); |
|
60 nsresult UnselectRow(int32_t aRowIdx); |
|
61 nsresult IsProbablyForLayout(bool* aIsForLayout); |
|
62 |
|
63 protected: |
|
64 mozilla::a11y::TableAccessible* mTable; |
|
65 }; |
|
66 |
|
67 } // namespace a11y |
|
68 } // namespace mozilla |
|
69 |
|
70 #endif // MOZILLA_A11Y_XPCOM_XPACCESSIBLETABLE_H_ |