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/. */
7 #ifndef MOZILLA_A11Y_XPCOM_XPACCESSIBLETABLE_H_
8 #define MOZILLA_A11Y_XPCOM_XPACCESSIBLETABLE_H_
10 #include "nsAString.h"
19 class TableAccessible
;
21 class xpcAccessibleTable
24 xpcAccessibleTable(mozilla::a11y::TableAccessible
* aTable
) : mTable(aTable
) { }
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
,
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
,
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
);
64 mozilla::a11y::TableAccessible
* mTable
;
68 } // namespace mozilla
70 #endif // MOZILLA_A11Y_XPCOM_XPACCESSIBLETABLE_H_