### 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.