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;
}
}
}