AccessibleTableCell.idl (6613B)
1 /************************************************************************* 2 * 3 * File Name (AccessibleTableCell.idl) 4 * 5 * IAccessible2 IDL Specification 6 * 7 * Copyright (c) 2007, 2013 Linux Foundation 8 * Copyright (c) 2006 IBM Corporation 9 * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 10 * All rights reserved. 11 * 12 * 13 * Redistribution and use in source and binary forms, with or without 14 * modification, are permitted provided that the following conditions 15 * are met: 16 * 17 * 1. Redistributions of source code must retain the above copyright 18 * notice, this list of conditions and the following disclaimer. 19 * 20 * 2. Redistributions in binary form must reproduce the above 21 * copyright notice, this list of conditions and the following 22 * disclaimer in the documentation and/or other materials 23 * provided with the distribution. 24 * 25 * 3. Neither the name of the Linux Foundation nor the names of its 26 * contributors may be used to endorse or promote products 27 * derived from this software without specific prior written 28 * permission. 29 * 30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 31 * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 32 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 33 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 34 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 35 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 36 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 37 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 38 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 40 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 41 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 42 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 43 * 44 * This BSD License conforms to the Open Source Initiative "Simplified 45 * BSD License" as published at: 46 * http://www.opensource.org/licenses/bsd-license.php 47 * 48 * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 49 * mark may be used in accordance with the Linux Foundation Trademark 50 * Policy to indicate compliance with the IAccessible2 specification. 51 * 52 ************************************************************************/ 53 54 import "objidl.idl"; 55 import "oaidl.idl"; 56 import "oleacc.idl"; 57 import "Accessible2.idl"; 58 59 /** @brief This interface gives access to the cells of a two-dimensional table. 60 61 Please also refer to the IAccessibleTable2 interface. 62 63 */ 64 [object, uuid(594116B1-C99F-4847-AD06-0A7A86ECE645)] 65 interface IAccessibleTableCell : IUnknown 66 { 67 68 /** @brief Returns the number of columns occupied by this cell accessible. 69 70 The result is greater than 1 if the specified cell spans multiple columns. 71 @param [out] nColumnsSpanned 72 Returns the 1 based column extent of the specified cell. 73 @retval S_OK 74 */ 75 [propget] HRESULT columnExtent 76 ( 77 [out, retval] long *nColumnsSpanned 78 ); 79 80 /** @brief Returns the column headers as an array of cell accessibles. 81 82 @param [out] cellAccessibles 83 Pointer to an array of references to cell accessibles. The array is allocated 84 by the server. The client must free it with CoTaskMemFree. 85 @param [out] nColumnHeaderCells 86 The number of accessibles returned; the size of the returned array. 87 @retval S_OK 88 @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively 89 */ 90 [propget] HRESULT columnHeaderCells 91 ( 92 [out, size_is(,*nColumnHeaderCells)] IUnknown ***cellAccessibles, 93 [out, retval] long *nColumnHeaderCells 94 ); 95 96 /** @brief Translates this cell accessible into the corresponding column index. 97 98 @param [out] columnIndex 99 Returns the 0 based column index of the cell of the specified cell or the index of 100 the first column if the cell spans multiple columns. 101 @retval S_OK 102 */ 103 [propget] HRESULT columnIndex 104 ( 105 [out, retval] long *columnIndex 106 ); 107 108 /** @brief Returns the number of rows occupied by this cell accessible. 109 110 @param [out] nRowsSpanned 111 Returns the row extent of the specified cell. 112 @retval S_OK 113 */ 114 [propget] HRESULT rowExtent 115 ( 116 [out, retval] long *nRowsSpanned 117 ); 118 119 /** @brief Returns the row headers as an array of cell accessibles. 120 121 @param [out] cellAccessibles 122 Pointer to an array of references to cell accessibles. The array is allocated 123 by the server. The client must free it with CoTaskMemFree. 124 @param [out] nRowHeaderCells 125 The number of accessibles returned; the size of the returned array. 126 @retval S_OK 127 @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively 128 */ 129 [propget] HRESULT rowHeaderCells 130 ( 131 [out, size_is(,*nRowHeaderCells)] IUnknown ***cellAccessibles, 132 [out, retval] long *nRowHeaderCells 133 ); 134 135 /** @brief Translates this cell accessible into the corresponding row index. 136 137 @param [out] rowIndex 138 Returns the 0 based row index of the specified cell or the index of 139 the first row if the cell spans multiple rows. 140 @retval S_OK 141 */ 142 [propget] HRESULT rowIndex 143 ( 144 [out, retval] long *rowIndex 145 ); 146 147 /** @brief Returns a boolean value indicating whether this cell is selected. 148 149 @param [out] isSelected 150 Returns TRUE if the specified cell is selected and FALSE otherwise. 151 @retval S_OK 152 */ 153 [propget] HRESULT isSelected 154 ( 155 [out, retval] boolean *isSelected 156 ); 157 158 /** @brief Gets the row and column indexes and extents of this cell accessible 159 and whether or not it is selected. 160 161 This is a convenience function. It is not mandatory to implement it. 162 @param [out] row 163 0 based row index. 164 @param [out] column 165 0 based column index. 166 @param [out] rowExtents 167 Number of cells spanned by this cell in this row. 168 @param [out] columnExtents 169 Number of cells spanned by this cell in this column. 170 @param [out] isSelected 171 Indicates if the specified cell is selected. 172 @retval S_OK 173 */ 174 [propget] HRESULT rowColumnExtents 175 ( 176 [out] long *row, 177 [out] long *column, 178 [out] long *rowExtents, 179 [out] long *columnExtents, 180 [out, retval] boolean *isSelected 181 ); 182 183 /** @brief Returns a reference to the accessbile of the containing table. 184 185 @param [out] table 186 Returns a reference to the IUnknown of the containing table. 187 @retval S_OK 188 */ 189 [propget] HRESULT table 190 ( 191 [out, retval] IUnknown **table 192 ); 193 194 }