### Interface

# Atk Table

#### Description [src]

    interface Atk.Table : GObject.Object

The ATK interface implemented for UI components which contain tabular or row/column information.

`AtkTable` should be implemented by components which present elements ordered via rows and columns. It may also be used to present tree-structured information if the nodes of the trees can be said to contain multiple “columns”. Individual elements of an `AtkTable` are typically referred to as “cells”. Those cells should implement the interface `AtkTableCell`, but `Atk` doesn’t require them to be direct children of the current `AtkTable`. They can be grand-children, grand-grand-children etc. `AtkTable` provides the API needed to get a individual cell based on the row and column numbers.

Children of `AtkTable` are frequently “lightweight” objects, that is, they may not have backing widgets in the host UI toolkit. They are therefore often transient.

Since tables are often very complex, `AtkTable` includes provision for offering simplified summary information, as well as row and column headers and captions. Headers and captions are `AtkObjects` which may implement other interfaces (`AtkText`, `AtkImage`, etc.) as appropriate. `AtkTable` summaries may themselves be (simplified) `AtkTables`, etc.

Note for implementors: in the past, `AtkTable` required that all the cells should be direct children of `AtkTable`, and provided some index based methods to request the cells. The practice showed that that forcing made `AtkTable` implementation complex, and hard to expose other kind of children, like rows or captions. Right now, index-based methods are deprecated.

#### Prerequisite

In order to implement Table, your type must inherit from`GObject`.

#### Implementations

- AtkNoOpObject

#### Instance methods

###### atk_table_add_column_selection

Adds the specified `column` to the selection.

###### atk_table_add_row_selection

Adds the specified `row` to the selection.

###### atk_table_get_caption

Gets the caption for the `table`.

###### atk_table_get_column_at_index

Gets a #gint representing the column at the specified `index_`.

deprecated: Unknown

###### atk_table_get_column_description

Gets the description text of the specified `column` in the table.

###### atk_table_get_column_extent_at

Gets the number of columns occupied by the accessible object at the specified `row` and `column` in the `table`.

###### atk_table_get_column_header

Gets the column header of a specified column in an accessible table.

###### atk_table_get_index_at

Gets a #gint representing the index at the specified `row` and `column`.

deprecated: Unknown

###### atk_table_get_n_columns

Gets the number of columns in the table.

###### atk_table_get_n_rows

Gets the number of rows in the table.

###### atk_table_get_row_at_index

Gets a #gint representing the row at the specified `index_`.

deprecated: Unknown

###### atk_table_get_row_description

Gets the description text of the specified row in the table.

###### atk_table_get_row_extent_at

Gets the number of rows occupied by the accessible object at a specified `row` and `column` in the `table`.

###### atk_table_get_row_header

Gets the row header of a specified row in an accessible table.

###### atk_table_get_selected_columns

Gets the selected columns of the table by initializing **selected with the selected column numbers. This array should be freed by the caller.

###### atk_table_get_selected_rows

Gets the selected rows of the table by initializing **selected with the selected row numbers. This array should be freed by the caller.

###### atk_table_get_summary

Gets the summary description of the table.

###### atk_table_is_column_selected

Gets a boolean value indicating whether the specified `column` is selected.

###### atk_table_is_row_selected

Gets a boolean value indicating whether the specified `row` is selected.

###### atk_table_is_selected

Gets a boolean value indicating whether the accessible object at the specified `row` and `column` is selected.

###### atk_table_ref_at

Get a reference to the table cell at `row`, `column`. This cell should implement the interface `AtkTableCell`.

###### atk_table_remove_column_selection

Adds the specified `column` to the selection.

###### atk_table_remove_row_selection

Removes the specified `row` from the selection.

###### atk_table_set_caption

Sets the caption for the table.

###### atk_table_set_column_description

Sets the description text for the specified `column` of the `table`.

###### atk_table_set_column_header

Sets the specified column header to `header`.

###### atk_table_set_row_description

Sets the description text for the specified `row` of `table`.

###### atk_table_set_row_header

Sets the specified row header to `header`.

###### atk_table_set_summary

Sets the summary description of the table.

#### Signals

###### Atk.Table::column-deleted

The “column-deleted” signal is emitted by an object which implements the AtkTable interface when a column is deleted.

###### Atk.Table::column-inserted

The “column-inserted” signal is emitted by an object which implements the AtkTable interface when a column is inserted.

###### Atk.Table::column-reordered

The “column-reordered” signal is emitted by an object which implements the AtkTable interface when the columns are reordered.

###### Atk.Table::model-changed

The “model-changed” signal is emitted by an object which implements the AtkTable interface when the model displayed by the table changes.

###### Atk.Table::row-deleted

The “row-deleted” signal is emitted by an object which implements the AtkTable interface when a row is deleted.

###### Atk.Table::row-inserted

The “row-inserted” signal is emitted by an object which implements the AtkTable interface when a row is inserted.

###### Atk.Table::row-reordered

The “row-reordered” signal is emitted by an object which implements the AtkTable interface when the rows are reordered.

#### Interface structure

    struct AtkTableIface {
      GTypeInterface parent;
      AtkObject* (* ref_at) (
        AtkTable* table,
        gint row,
        gint column
      );
      gint (* get_index_at) (
        AtkTable* table,
        gint row,
        gint column
      );
      gint (* get_column_at_index) (
        AtkTable* table,
        gint index_
      );
      gint (* get_row_at_index) (
        AtkTable* table,
        gint index_
      );
      gint (* get_n_columns) (
        AtkTable* table
      );
      gint (* get_n_rows) (
        AtkTable* table
      );
      gint (* get_column_extent_at) (
        AtkTable* table,
        gint row,
        gint column
      );
      gint (* get_row_extent_at) (
        AtkTable* table,
        gint row,
        gint column
      );
      AtkObject* (* get_caption) (
        AtkTable* table
      );
      const gchar* (* get_column_description) (
        AtkTable* table,
        gint column
      );
      AtkObject* (* get_column_header) (
        AtkTable* table,
        gint column
      );
      const gchar* (* get_row_description) (
        AtkTable* table,
        gint row
      );
      AtkObject* (* get_row_header) (
        AtkTable* table,
        gint row
      );
      AtkObject* (* get_summary) (
        AtkTable* table
      );
      void (* set_caption) (
        AtkTable* table,
        AtkObject* caption
      );
      void (* set_column_description) (
        AtkTable* table,
        gint column,
        const gchar* description
      );
      void (* set_column_header) (
        AtkTable* table,
        gint column,
        AtkObject* header
      );
      void (* set_row_description) (
        AtkTable* table,
        gint row,
        const gchar* description
      );
      void (* set_row_header) (
        AtkTable* table,
        gint row,
        AtkObject* header
      );
      void (* set_summary) (
        AtkTable* table,
        AtkObject* accessible
      );
      gint (* get_selected_columns) (
        AtkTable* table,
        gint** selected
      );
      gint (* get_selected_rows) (
        AtkTable* table,
        gint** selected
      );
      gboolean (* is_column_selected) (
        AtkTable* table,
        gint column
      );
      gboolean (* is_row_selected) (
        AtkTable* table,
        gint row
      );
      gboolean (* is_selected) (
        AtkTable* table,
        gint row,
        gint column
      );
      gboolean (* add_row_selection) (
        AtkTable* table,
        gint row
      );
      gboolean (* remove_row_selection) (
        AtkTable* table,
        gint row
      );
      gboolean (* add_column_selection) (
        AtkTable* table,
        gint column
      );
      gboolean (* remove_column_selection) (
        AtkTable* table,
        gint column
      );
      void (* row_inserted) (
        AtkTable* table,
        gint row,
        gint num_inserted
      );
      void (* column_inserted) (
        AtkTable* table,
        gint column,
        gint num_inserted
      );
      void (* row_deleted) (
        AtkTable* table,
        gint row,
        gint num_deleted
      );
      void (* column_deleted) (
        AtkTable* table,
        gint column,
        gint num_deleted
      );
      void (* row_reordered) (
        AtkTable* table
      );
      void (* column_reordered) (
        AtkTable* table
      );
      void (* model_changed) (
        AtkTable* table
      );

    }

No description available.

###### Interface members

`parent` |
    GTypeInterface
| No description available.
`ref_at` |
    AtkObject* (* ref_at) (
        AtkTable* table,
        gint row,
        gint column
      )
| No description available.
`get_index_at` |
    gint (* get_index_at) (
        AtkTable* table,
        gint row,
        gint column
      )
| No description available.
`get_column_at_index` |
    gint (* get_column_at_index) (
        AtkTable* table,
        gint index_
      )
| No description available.
`get_row_at_index` |
    gint (* get_row_at_index) (
        AtkTable* table,
        gint index_
      )
| No description available.
`get_n_columns` |
    gint (* get_n_columns) (
        AtkTable* table
      )
| No description available.
`get_n_rows` |
    gint (* get_n_rows) (
        AtkTable* table
      )
| No description available.
`get_column_extent_at` |
    gint (* get_column_extent_at) (
        AtkTable* table,
        gint row,
        gint column
      )
| No description available.
`get_row_extent_at` |
    gint (* get_row_extent_at) (
        AtkTable* table,
        gint row,
        gint column
      )
| No description available.
`get_caption` |
    AtkObject* (* get_caption) (
        AtkTable* table
      )
| No description available.
`get_column_description` |
    const gchar* (* get_column_description) (
        AtkTable* table,
        gint column
      )
| No description available.
`get_column_header` |
    AtkObject* (* get_column_header) (
        AtkTable* table,
        gint column
      )
| No description available.
`get_row_description` |
    const gchar* (* get_row_description) (
        AtkTable* table,
        gint row
      )
| No description available.
`get_row_header` |
    AtkObject* (* get_row_header) (
        AtkTable* table,
        gint row
      )
| No description available.
`get_summary` |
    AtkObject* (* get_summary) (
        AtkTable* table
      )
| No description available.
`set_caption` |
    void (* set_caption) (
        AtkTable* table,
        AtkObject* caption
      )
| No description available.
`set_column_description` |
    void (* set_column_description) (
        AtkTable* table,
        gint column,
        const gchar* description
      )
| No description available.
`set_column_header` |
    void (* set_column_header) (
        AtkTable* table,
        gint column,
        AtkObject* header
      )
| No description available.
`set_row_description` |
    void (* set_row_description) (
        AtkTable* table,
        gint row,
        const gchar* description
      )
| No description available.
`set_row_header` |
    void (* set_row_header) (
        AtkTable* table,
        gint row,
        AtkObject* header
      )
| No description available.
`set_summary` |
    void (* set_summary) (
        AtkTable* table,
        AtkObject* accessible
      )
| No description available.
`get_selected_columns` |
    gint (* get_selected_columns) (
        AtkTable* table,
        gint** selected
      )
| No description available.
`get_selected_rows` |
    gint (* get_selected_rows) (
        AtkTable* table,
        gint** selected
      )
| No description available.
`is_column_selected` |
    gboolean (* is_column_selected) (
        AtkTable* table,
        gint column
      )
| No description available.
`is_row_selected` |
    gboolean (* is_row_selected) (
        AtkTable* table,
        gint row
      )
| No description available.
`is_selected` |
    gboolean (* is_selected) (
        AtkTable* table,
        gint row,
        gint column
      )
| No description available.
`add_row_selection` |
    gboolean (* add_row_selection) (
        AtkTable* table,
        gint row
      )
| No description available.
`remove_row_selection` |
    gboolean (* remove_row_selection) (
        AtkTable* table,
        gint row
      )
| No description available.
`add_column_selection` |
    gboolean (* add_column_selection) (
        AtkTable* table,
        gint column
      )
| No description available.
`remove_column_selection` |
    gboolean (* remove_column_selection) (
        AtkTable* table,
        gint column
      )
| No description available.
`row_inserted` |
    void (* row_inserted) (
        AtkTable* table,
        gint row,
        gint num_inserted
      )
| No description available.
`column_inserted` |
    void (* column_inserted) (
        AtkTable* table,
        gint column,
        gint num_inserted
      )
| No description available.
`row_deleted` |
    void (* row_deleted) (
        AtkTable* table,
        gint row,
        gint num_deleted
      )
| No description available.
`column_deleted` |
    void (* column_deleted) (
        AtkTable* table,
        gint column,
        gint num_deleted
      )
| No description available.
`row_reordered` |
    void (* row_reordered) (
        AtkTable* table
      )
| No description available.
`column_reordered` |
    void (* column_reordered) (
        AtkTable* table
      )
| No description available.
`model_changed` |
    void (* model_changed) (
        AtkTable* table
      )
| No description available.

#### Virtual methods

###### Atk.Table.add_column_selection

Adds the specified `column` to the selection.

###### Atk.Table.add_row_selection

Adds the specified `row` to the selection.

###### Atk.Table.column_deleted

No description available.

###### Atk.Table.column_inserted

No description available.

###### Atk.Table.column_reordered

No description available.

###### Atk.Table.get_caption

Gets the caption for the `table`.

###### Atk.Table.get_column_at_index

Gets a #gint representing the column at the specified `index_`.

deprecated: Unknown

###### Atk.Table.get_column_description

Gets the description text of the specified `column` in the table.

###### Atk.Table.get_column_extent_at

Gets the number of columns occupied by the accessible object at the specified `row` and `column` in the `table`.

###### Atk.Table.get_column_header

Gets the column header of a specified column in an accessible table.

###### Atk.Table.get_index_at

Gets a #gint representing the index at the specified `row` and `column`.

deprecated: Unknown

###### Atk.Table.get_n_columns

Gets the number of columns in the table.

###### Atk.Table.get_n_rows

Gets the number of rows in the table.

###### Atk.Table.get_row_at_index

Gets a #gint representing the row at the specified `index_`.

deprecated: Unknown

###### Atk.Table.get_row_description

Gets the description text of the specified row in the table.

###### Atk.Table.get_row_extent_at

Gets the number of rows occupied by the accessible object at a specified `row` and `column` in the `table`.

###### Atk.Table.get_row_header

Gets the row header of a specified row in an accessible table.

###### Atk.Table.get_selected_columns

Gets the selected columns of the table by initializing **selected with the selected column numbers. This array should be freed by the caller.

###### Atk.Table.get_selected_rows

Gets the selected rows of the table by initializing **selected with the selected row numbers. This array should be freed by the caller.

###### Atk.Table.get_summary

Gets the summary description of the table.

###### Atk.Table.is_column_selected

Gets a boolean value indicating whether the specified `column` is selected.

###### Atk.Table.is_row_selected

Gets a boolean value indicating whether the specified `row` is selected.

###### Atk.Table.is_selected

Gets a boolean value indicating whether the accessible object at the specified `row` and `column` is selected.

###### Atk.Table.model_changed

No description available.

###### Atk.Table.ref_at

Get a reference to the table cell at `row`, `column`. This cell should implement the interface `AtkTableCell`.

###### Atk.Table.remove_column_selection

Adds the specified `column` to the selection.

###### Atk.Table.remove_row_selection

Removes the specified `row` from the selection.

###### Atk.Table.row_deleted

No description available.

###### Atk.Table.row_inserted

No description available.

###### Atk.Table.row_reordered

No description available.

###### Atk.Table.set_caption

Sets the caption for the table.

###### Atk.Table.set_column_description

Sets the description text for the specified `column` of the `table`.

###### Atk.Table.set_column_header

Sets the specified column header to `header`.

###### Atk.Table.set_row_description

Sets the description text for the specified `row` of `table`.

###### Atk.Table.set_row_header

Sets the specified row header to `header`.

###### Atk.Table.set_summary

Sets the summary description of the table.