2008-08-15 Mark Doffman <mark.doffman@codethink.co.uk>
[platform/core/uifw/at-spi2-atk.git] / xml / org.freedesktop.atspi.Table.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <node xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" name="/node">
3
4
5
6
7
8 <interface name="org.freedesktop.atspi.Table">
9   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
10     <p>An interface used by containers whose contained data is arranged in 
11       a "tabular" (i.e.\ row-column) fashion.  Tables may resemble a two-dimensional
12       grid, as in a spreadsheet, or may feature objects which span multiple rows and/or
13       columns, but whose bounds are aligned on a row/column matrix.  Thus, the Table
14       interface may be used to represent "spreadsheets" as well as "frames".  </p>
15
16     <p>Objects within tables are children of the Table instance, and they may be referenced
17       either via a child index or via a row/column pair.  
18       Their role may be ROLE_TABLE_CELL, but table 'cells' may have other roles as well.
19       These 'cells' may implement other interfaces, such as Text, Action, Image, 
20       and Component, and should do so as appropriate to their onscreen representation
21       and/or behavior.</p>
22   </tp:docstring>
23   <tp:property name="nRows" type="i" access="read">
24   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
25     <p>The total number of rows in this table (including empty rows),
26       exclusive of any rows which are programmatically hidden.
27       Rows which are merely scrolled out of view are included.</p>
28   </tp:docstring>
29   </tp:property>
30   <tp:property name="nColumns" type="i" access="read">
31   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
32     <p>The total number of columns in this table (including empty columns),
33       exclusive of columns which are programmatically hidden.
34       Columns which are scrolled out of view or clipped by the current
35       viewport are included. </p>
36   </tp:docstring>
37   </tp:property>
38   <tp:property name="caption" type="o" access="read">
39   <tp:docstring>
40     An Accessible which represents of a caption for a Table.
41   </tp:docstring>
42   </tp:property>
43   <tp:property name="summary" type="o" access="read">
44   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
45     <p>An accessible object which summarizes the contents of a Table.
46       This object is frequently itself a Table instance, albeit a simplified one.</p>
47   </tp:docstring>
48   </tp:property>
49   <tp:property name="nSelectedRows" type="i" access="read">
50   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
51     <p>The number of rows currently selected.  
52       A selected row is one in which all included cells are selected.
53       @note Not all tables support row selection.</p>
54   </tp:docstring>
55   </tp:property>
56   <tp:property name="nSelectedColumns" type="i" access="read">
57   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
58     <p>The number of columns currently selected.  
59       A selected column is one in which all included cells are selected.
60       @note Not all tables support column selection.</p>
61   </tp:docstring>
62   </tp:property>
63   <method name="getAccessibleAt">
64     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
65       <p>Get the table cell at the specified row and column indices.
66         @note    To get the accessible object at a particular (x, y) screen coordinate,
67         use Accessible::getAccessibleAtPoint ().    </p>
68     </tp:docstring>
69     <arg direction="in" name="row" type="i">
70     <tp:docstring>
71       the specified table row, zero-indexed.
72     </tp:docstring>
73     </arg>
74     <arg direction="in" name="column" type="i">
75     <tp:docstring>
76       the specified table column, zero-indexed.
77     </tp:docstring>
78     </arg>
79     <arg direction="out" type="o" tp:type="Accessible">
80     <tp:docstring>
81       an Accessible object representing the specified table cell.
82     </tp:docstring>
83     </arg>
84   </method>
85   <method name="getIndexAt">
86     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
87       <p>Get the 1-D child index corresponding to the specified 2-D row and column indices.
88         @note    To get the accessible object at a particular (x, y) screen coordinate,
89         use Accessible::getAccessibleAtPoint.    </p>
90     </tp:docstring>
91     <arg direction="in" name="row" type="i">
92     <tp:docstring>
93       the specified table row, zero-indexed.
94     </tp:docstring>
95     </arg>
96     <arg direction="in" name="column" type="i">
97     <tp:docstring>
98       the specified table column, zero-indexed.@see getRowAtIndex, getColumnAtIndex
99     </tp:docstring>
100     </arg>
101     <arg direction="out" type="i">
102     <tp:docstring>
103       a long integer which serves as the index of a specified cell in thetable, in a form usable by Accessible::getChildAtIndex.
104     </tp:docstring>
105     </arg>
106   </method>
107   <method name="getRowAtIndex">
108     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
109       <p>Get the table row index occupied by the child at a particular 1-D child index.    </p>
110     </tp:docstring>
111     <arg direction="in" name="index" type="i">
112     <tp:docstring>
113       the specified child index, zero-indexed.@see getIndexAt(), getColumnAtIndex()
114     </tp:docstring>
115     </arg>
116     <arg direction="out" type="i">
117     <tp:docstring>
118       a long integer indicating the first row spanned by the child of atable, at the specified 1-D (zero-offset) \c index.
119     </tp:docstring>
120     </arg>
121   </method>
122   <method name="getColumnAtIndex">
123     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
124       <p>Get the table column index occupied by the child at a particular 1-D child index.    </p>
125     </tp:docstring>
126     <arg direction="in" name="index" type="i">
127     <tp:docstring>
128       the specified child index, zero-indexed.@see getIndexAt(), getRowAtIndex()
129     </tp:docstring>
130     </arg>
131     <arg direction="out" type="i">
132     <tp:docstring>
133       a long integer indicating the first column spanned by the child of atable, at the specified 1-D (zero-offset) \c index.
134     </tp:docstring>
135     </arg>
136   </method>
137   <method name="getRowDescription">
138     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
139       <p>Get a text description of a particular table row.  This differs from
140         AccessibleTable_getRowHeader, which returns an Accessible.</p>
141     </tp:docstring>
142     <arg direction="in" name="row" type="i">
143     <tp:docstring>
144       the specified table row, zero-indexed.
145     </tp:docstring>
146     </arg>
147     <arg direction="out" type="s">
148     <tp:docstring>
149       a UTF-8 string describing the specified table row, if available.
150     </tp:docstring>
151     </arg>
152   </method>
153   <method name="getColumnDescription">
154     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
155       <p>Get a text description of a particular table column.  This differs from
156         AccessibleTable_getColumnHeader, which returns an Accessible.</p>
157     </tp:docstring>
158     <arg direction="in" name="column" type="i">
159     <tp:docstring>
160       the specified table column, zero-indexed.
161     </tp:docstring>
162     </arg>
163     <arg direction="out" type="s">
164     <tp:docstring>
165       a UTF-8 string describing the specified table column, if available.
166     </tp:docstring>
167     </arg>
168   </method>
169   <method name="getRowExtentAt">
170     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
171       <p>Get the number of rows spanned by the table cell at the specific row and column.
172         (some tables can have cells which span multiple rows and/or columns).    </p>
173     </tp:docstring>
174     <arg direction="in" name="row" type="i">
175     <tp:docstring>
176       the specified table row, zero-indexed.
177     </tp:docstring>
178     </arg>
179     <arg direction="in" name="column" type="i">
180     <tp:docstring>
181       the specified table column, zero-indexed.
182     </tp:docstring>
183     </arg>
184     <arg direction="out" type="i">
185     <tp:docstring>
186       a long integer indicating the number of rows spanned by the specified cell.
187     </tp:docstring>
188     </arg>
189   </method>
190   <method name="getColumnExtentAt">
191     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
192       <p>Get the number of columns spanned by the table cell at the specific row and column.
193         (some tables can have cells which span multiple rows and/or columns).    </p>
194     </tp:docstring>
195     <arg direction="in" name="row" type="i">
196     <tp:docstring>
197       the specified table row, zero-indexed.
198     </tp:docstring>
199     </arg>
200     <arg direction="in" name="column" type="i">
201     <tp:docstring>
202       the specified table column, zero-indexed.
203     </tp:docstring>
204     </arg>
205     <arg direction="out" type="i">
206     <tp:docstring>
207       a long integer indicating the number of columns spanned by the specified cell.
208     </tp:docstring>
209     </arg>
210   </method>
211   <method name="getRowHeader">
212     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
213       <p>Get the header associated with a table row, if available.  This differs from
214         getRowDescription, which returns a string.    </p>
215     </tp:docstring>
216     <arg direction="in" name="row" type="i">
217     <tp:docstring>
218       the specified table row, zero-indexed.
219     </tp:docstring>
220     </arg>
221     <arg direction="out" type="o" tp:type="Accessible">
222     <tp:docstring>
223       an Accessible representatin of the specified table row, if available.
224     </tp:docstring>
225     </arg>
226   </method>
227   <method name="getColumnHeader">
228     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
229       <p>Get the header associated with a table column, if available, as an 
230         instance of Accessible.  This differs from
231         getColumnDescription, which returns a string.    </p>
232     </tp:docstring>
233     <arg direction="in" name="column" type="i">
234     <tp:docstring>
235       the specified table column, zero-indexed.
236     </tp:docstring>
237     </arg>
238     <arg direction="out" type="o" tp:type="Accessible">
239     <tp:docstring>
240       an Accessible representatin of the specified table column, if available.
241     </tp:docstring>
242     </arg>
243   </method>
244   <method name="getSelectedRows">
245     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
246       <p>Obtain the indices of all rows which are currently selected.  
247         @note Not all tables support row selection.    </p>
248     </tp:docstring>
249     <arg direction="out" type="ai" tp:type="LongSeq">
250     <tp:docstring>
251       a sequence of integers comprising the indices of rows currently selected.
252     </tp:docstring>
253     </arg>
254   </method>
255   <method name="getSelectedColumns">
256     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
257       <p>Obtain the indices of all columns which are currently selected.  
258         @note Not all tables support column selection.    </p>
259     </tp:docstring>
260     <arg direction="out" type="ai" tp:type="LongSeq">
261     <tp:docstring>
262       a sequence of integers comprising the indices of columns currently selected.
263     </tp:docstring>
264     </arg>
265   </method>
266   <method name="isRowSelected">
267     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
268       <p>Determine whether a table row is selected.  
269         @note Not all tables support row selection.    </p>
270     </tp:docstring>
271     <arg direction="in" name="row" type="i">
272     <tp:docstring>
273       the row being queried.
274     </tp:docstring>
275     </arg>
276     <arg direction="out" type="b" tp:type="boolean">
277     <tp:docstring>
278       \c True if the specified row is currently selected, \c False if not.
279     </tp:docstring>
280     </arg>
281   </method>
282   <method name="isColumnSelected">
283     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
284       <p>Determine whether a table column is selected.  
285         @note Not all tables support column selection.    </p>
286     </tp:docstring>
287     <arg direction="in" name="column" type="i">
288     <tp:docstring>
289       the column being queried.
290     </tp:docstring>
291     </arg>
292     <arg direction="out" type="b" tp:type="boolean">
293     <tp:docstring>
294       \c True if the specified column is currently selected, \c False if not.
295     </tp:docstring>
296     </arg>
297   </method>
298   <method name="isSelected">
299     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
300       <p>Determine whether the cell at a specific row and column is selected.
301         @param row a row occupied by the cell whose state is being queried.
302         @param column a column occupied by the cell whose state is being queried.    </p>
303     </tp:docstring>
304     <arg direction="in" name="row" type="i"/>
305     <arg direction="in" name="column" type="i"/>
306     <arg direction="out" type="b" tp:type="boolean">
307     <tp:docstring>
308       \c True if the specified cell is currently selected, \c False if not.
309     </tp:docstring>
310     </arg>
311   </method>
312   <method name="addRowSelection">
313     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
314       <p>Select the specified row, adding it to the current row selection,
315         if the table's selection model permits it.    </p>
316
317       <p>@param row
318         @note Possible reasons for addRowSelection to return \c False
319         include:
320         \li The table does not support Selection
321         \li The table row includes cells which do not have STATE_SELECTABLE
322         \li The table does not support selection by row
323         \li The table does not support selection of multiple rows, and
324         one row is already selected.
325         \li The table does not support non-contiguous selections (i.e.
326         does not include STATE_MULTISELECTABLE), and the specified row
327         would result in selection of non-contiguous rows.
328         \li The table does not support user-instigated selection.    </p>
329     </tp:docstring>
330     <arg direction="in" name="row" type="i"/>
331     <arg direction="out" type="b" tp:type="boolean">
332     <tp:docstring>
333       \c True if the specified row was successfully selected, \c False if not. 
334     </tp:docstring>
335     </arg>
336   </method>
337   <method name="addColumnSelection">
338     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
339       <p>Select the specified column, adding it to the current column selection,
340         if the table's selection model permits it.    </p>
341
342       <p>@param column
343         @note Possible reasons for addColumnSelection to return \c False
344         include:
345         \li The table does not support Selection
346         \li The table column includes cells which do not have STATE_SELECTABLE
347         \li The table does not support selection by column
348         \li The table does not support selection of multiple columns, and
349         one column is already selected.
350         \li The table does not support non-contiguous selections (i.e.
351         does not include STATE_MULTISELECTABLE), and the specified column
352         would result in selection of non-contiguous columns.
353         \li The table does not support user-instigated selection.    </p>
354     </tp:docstring>
355     <arg direction="in" name="column" type="i"/>
356     <arg direction="out" type="b" tp:type="boolean">
357     <tp:docstring>
358       \c True if the specified column was successfully selected, \c False if not. 
359     </tp:docstring>
360     </arg>
361   </method>
362   <method name="removeRowSelection">
363     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
364       <p>Remove the specified row from current row selection,
365         if the table's selection model permits it.    </p>
366
367       <p>@param row
368         @note Possible reasons for removeRowSelection to return \c False
369         include:
370         \li The table does not support user-instigated Selection
371         \li The table has no selected rows or does not support deselection by row    </p>
372     </tp:docstring>
373     <arg direction="in" name="row" type="i"/>
374     <arg direction="out" type="b" tp:type="boolean">
375     <tp:docstring>
376       \c True if the specified row was successfully de-selected, \c False if not. 
377     </tp:docstring>
378     </arg>
379   </method>
380   <method name="removeColumnSelection">
381     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
382       <p>Remove the specified column from current column selection,
383         if the table's selection model permits it.    </p>
384
385       <p>@param column
386         @note Possible reasons for removeColumnSelection to return \c False
387         include:
388         \li The table does not support user-instigated modification of
389         selection state
390         \li The table has no selected columns or does not support 
391         deselection by column.    </p>
392     </tp:docstring>
393     <arg direction="in" name="column" type="i"/>
394     <arg direction="out" type="b" tp:type="boolean">
395     <tp:docstring>
396       \c True if the specified column was successfully de-selected, \c False if not. 
397     </tp:docstring>
398     </arg>
399   </method>
400   <method name="getRowColumnExtentsAtIndex">
401     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
402       <p>Given a child index, determine the row and column indices and 
403         extents, and whether the cell is currently selected.  If
404         the child at \c index is not a cell (for instance, if it is 
405         a summary, caption, etc.), \c False is returned.    </p>
406
407       <p>@param index the index of the Table child whose row/column 
408         extents are requested.
409         @param row back-filled with the first table row associated with
410         the cell with child index \c index.
411         @param col back-filled with the first table column associated 
412         with the cell with child index \c index.
413         @param row_extents back-filled with the number of table rows 
414         across which child \c i extends.
415         @param col_extents back-filled with the number of table columns
416         across which child \c i extends.
417         @param is_selected a boolean which is back-filled with \c True
418         if the child at index \c i corresponds to a selected table cell,
419         \c False otherwise.    </p>
420
421       <p>Example:
422         If the Table child at index '6' extends across columns 5 and 6 of
423         row 2 of a Table instance, and is currently selected, then
424         \code
425         retval = table::getRowColumnExtentsAtIndex (6, row, col, 
426         row_extents,
427         col_extents,
428         is_selected);
429         \endcode
430         will return True, and after the call
431         \c row, \c col, \c row_extents, \c col_extents,
432         and \c is_selected will contain \c 2, \c 5, \c 1, \c 2, and 
433         \c True, respectively.    </p>
434     </tp:docstring>
435     <arg direction="in" name="index" type="i"/>
436     <arg direction="out" name="row" type="i"/>
437     <arg direction="out" name="col" type="i"/>
438     <arg direction="out" name="row_extents" type="i"/>
439     <arg direction="out" name="col_extents" type="i"/>
440     <arg direction="out" name="is_selected" type="b" tp:type="boolean"/>
441     <arg direction="out" type="b" tp:type="boolean">
442     <tp:docstring>
443       \c True if the index is associated with a valid tablecell, \c False if the index does not correspond to a cell.  If \c False is returned, the values of the out parameters are undefined.@since AT-SPI 1.7.0
444     </tp:docstring>
445     </arg>
446   </method>
447   <method name="unImplemented">
448     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
449       <p>\cond
450         unImplemented:    </p>
451
452       <p>placeholders for future expansion.</p>
453     </tp:docstring>
454   </method>
455   <method name="unImplemented2">
456   </method>
457   <method name="unImplemented3">
458   </method>
459   <method name="unImplemented4">
460   </method>
461   <method name="unImplemented5">
462   </method>
463   <method name="unImplemented6">
464   </method>
465   <method name="unImplemented7">
466   </method>
467 </interface>
468 </node>