1 /*************************************************************************
3 * File Name (AccessibleTableCell.idl)
5 * IAccessible2 IDL Specification
7 * Copyright (c) Linux Foundation 2007, 2009
8 * Copyright (c) IBM Corp. 2006
9 * Copyright (c) Sun Microsystems, Inc. 2000, 2006
11 * This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU Lesser General Public
13 * License version 2.1, as published by the Free Software Foundation; either
14 * version 2.1 of the License, or (at your option) any later version.
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * Lesser General Public License for more details.
21 * You should have received a copy of the GNU Lesser General Public
22 * License along with this library; if not, write to the Free Software
23 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
25 ************************************************************************/
30 import
"Accessible2.idl";
32 /** @brief This interface gives access to the cells of a two-dimensional table.
34 Please also refer to the IAccessibleTable2 interface.
37 [object, uuid(594116B1
-C99F
-4847-AD06
-0A7A86ECE645
)]
38 interface IAccessibleTableCell
: IUnknown
41 /** @brief Returns the number of columns occupied by this cell accessible.
43 The result is greater than 1 if the specified cell spans multiple columns.
44 @param [out] nColumnsSpanned
45 Returns the 1 based column extent of the specified cell.
48 [propget] HRESULT columnExtent
50 [out, retval] long *nColumnsSpanned
53 /** @brief Returns the column headers as an array of cell accessibles.
55 @param [out] cellAccessibles
56 Pointer to an array of references to cell accessibles. The array is allocated
57 by the server. Free it with CoTaskMemFree.
58 @param [out] nColumnHeaderCells
59 The number of accessibles returned; the size of the returned array.
61 @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively
63 [propget] HRESULT columnHeaderCells
65 [out, size_is(,*nColumnHeaderCells
,)] IUnknown
***cellAccessibles
,
66 [out, retval] long *nColumnHeaderCells
69 /** @brief Translates this cell accessible into the corresponding column index.
71 @param [out] columnIndex
72 Returns the 0 based column index of the cell of the specified cell or the index of
73 the first column if the cell spans multiple columns.
76 [propget] HRESULT columnIndex
78 [out, retval] long *columnIndex
81 /** @brief Returns the number of rows occupied by this cell accessible.
83 @param [out] nRowsSpanned
84 Returns the row extent of the specified cell.
87 [propget] HRESULT rowExtent
89 [out, retval] long *nRowsSpanned
92 /** @brief Returns the row headers as an array of cell accessibles.
94 @param [out] cellAccessibles
95 Pointer to an array of references to cell accessibles. The array is allocated
96 by the server. Free it with CoTaskMemFree.
97 @param [out] nRowHeaderCells
98 The number of accessibles returned; the size of the returned array.
100 @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively
102 [propget] HRESULT rowHeaderCells
104 [out, size_is(,*nRowHeaderCells
,)] IUnknown
***cellAccessibles
,
105 [out, retval] long *nRowHeaderCells
108 /** @brief Translates this cell accessible into the corresponding row index.
110 @param [out] rowIndex
111 Returns the 0 based row index of the specified cell or the index of
112 the first row if the cell spans multiple rows.
115 [propget] HRESULT rowIndex
117 [out, retval] long *rowIndex
120 /** @brief Returns a boolean value indicating whether this cell is selected.
122 @param [out] isSelected
123 Returns TRUE if the specified cell is selected and FALSE otherwise.
126 [propget] HRESULT isSelected
128 [out, retval] boolean *isSelected
131 /** @brief Gets the row and column indexes and extents of this cell accessible
132 and whether or not it is selected.
134 This is a convenience function. It is not mandatory to implement it.
138 0 based column index.
139 @param [out] rowExtents
140 Number of cells spanned by this cell in this row.
141 @param [out] columnExtents
142 Number of cells spanned by this cell in this column.
143 @param [out] isSelected
144 Indicates if the specified cell is selected.
147 [propget] HRESULT rowColumnExtents
151 [out] long *rowExtents
,
152 [out] long *columnExtents
,
153 [out, retval] boolean *isSelected
156 /** @brief Returns a reference to the accessbile of the containing table.
159 Returns a reference to the IUnknown of the containing table.
162 [propget] HRESULT table
164 [out, retval] IUnknown
**table