namespace org.freestandards.atspi { /* An interface used by containers whose data is arranged in a tabular form. Objects within tables are always children of the table object. */ interface Table { read property int32 NRows; read property int32 NColumns; read property Reference caption; read property Reference summary; /* Number of rows where all cells are selected. */ read property int32 NSelectedRows; /* Number of columns where all cells are selected. */ read property int32 NSelectedColumns; method GetAccessibleAt { int32 row; int32 column; } reply { Reference cell; } /* Cells in a table are also children of the table in the standard heirarchy. This method gets the child index of the given cell. */ method GetIndexAt { int32 row; int32 column; } reply { int32 index; } /* Indicates which row the child specified by index is on. */ method GetRowAtIndex { int32 index; } reply { int32 row; } /* Indicates which column the child specified by index is on. */ method GetColumnAtIndex { int32 index; } reply { int32 column; } /* Get a textual description of a row. */ method GetRowDescription { int32 row; } reply { string description; } /* Get a textual description of a particular column. */ method GetColumnDescription { int32 column; } reply { string description; } /* Get the number of rows spanned by the table cell at the specific row and column. method GetRowExtentAt { int32 row; int32 column; } reply { int32 rowspan; } /* Get the number of columns spanned by the table cell at the specific row and column. */ method GetColumnExtentAt { int32 row; int32 column; } reply { int32 column_span; } /* Get the header object associated with a particular table row. */ method GetRowHeader { int32 row; } reply { Reference header; } /* Get the header object associated with a particular table column. */ method GetColumnHeader { int32 column; } reply { Reference header; } /* Obtain the indicies of all rows which are currently selected. */ method GetSelectedRows reply { int32 indicies []; } /* Obtain the indicies of all columns which are currently selected. */ method GetSelectedColumns reply { int32 indicies []; } method IsRowSelected { int32 row; } reply { boolean selected; } method IsColumnSelected { int32 column; } reply { boolean selected; } method IsSelected { int32 row; int32 column; } reply { boolean selected; } method AddRowSelection { int32 row; } reply { boolean success; } method AddColumnSelection { int32 column; } reply { boolean success; } method RemoveRowSelection { int32 row; } reply { boolean success; } method RemoveColumnSelection { int32 column; } reply { boolean success; } /* Given a child index determine the row and column indicies and extents and whether the cell is currently selected. */ method GetRowColumnExtentsAtIndex { int32 index; } reply { boolean valid; int32 row; int32 column; int32 row_span; int32 column_span; boolean selected; } } }