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

## Functions

AtkObject * | atk_table_ref_at ()
gint | atk_table_get_index_at ()
gint | atk_table_get_column_at_index ()
gint | atk_table_get_row_at_index ()
gint | atk_table_get_n_columns ()
gint | atk_table_get_n_rows ()
gint | atk_table_get_column_extent_at ()
gint | atk_table_get_row_extent_at ()
AtkObject * | atk_table_get_caption ()
const gchar * | atk_table_get_column_description ()
const gchar * | atk_table_get_row_description ()
AtkObject * | atk_table_get_column_header ()
AtkObject * | atk_table_get_row_header ()
AtkObject * | atk_table_get_summary ()
void | atk_table_set_caption ()
void | atk_table_set_row_description ()
void | atk_table_set_column_description ()
void | atk_table_set_row_header ()
void | atk_table_set_column_header ()
void | atk_table_set_summary ()
gint | atk_table_get_selected_columns ()
gint | atk_table_get_selected_rows ()
gboolean | atk_table_is_column_selected ()
gboolean | atk_table_is_row_selected ()
gboolean | atk_table_is_selected ()
gboolean | atk_table_add_column_selection ()
gboolean | atk_table_add_row_selection ()
gboolean | atk_table_remove_column_selection ()
gboolean | atk_table_remove_row_selection ()

## Signals

void | column-deleted | Run Last
void | column-inserted | Run Last
void | column-reordered | Run Last
void | model-changed | Run Last
void | row-deleted | Run Last
void | row-inserted | Run Last
void | row-reordered | Run Last

## Types and Values

| AtkTable

## Object Hierarchy

        GInterface
        ╰── AtkTable

## Known Implementations

AtkTable is implemented by AtkNoOpObject.

## Includes

    #include <atk/atk.h>

## Description

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.

## Functions

### atk_table_ref_at ()

    AtkObject *
    atk_table_ref_at (AtkTable *table,
                      gint row,
                      gint column);

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
row | a gint representing a row in `table` |
column | a gint representing a column in `table` |

#### Returns

an AtkObject representing the referred to accessible.

[transfer full]

### atk_table_get_index_at ()

    gint
    atk_table_get_index_at (AtkTable *table,
                            gint row,
                            gint column);

`atk_table_get_index_at` is deprecated and should not be used in newly-written code.

Since 2.12. Use `atk_table_ref_at()` in order to get the accessible that represents the cell at (`row` , `column` )

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
row | a gint representing a row in `table` |
column | a gint representing a column in `table` |

#### Returns

a gint representing the index at specified position. The value -1 is returned if the object at row,column is not a child of table or table does not implement this interface.

### atk_table_get_column_at_index ()

    gint
    atk_table_get_column_at_index (AtkTable *table,
                                   gint index_);

`atk_table_get_column_at_index` is deprecated and should not be used in newly-written code.

Since 2.12.

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

#### Parameters

table | a GObject instance that implements AtkTableInterface |
index_ | a gint representing an index in `table` |

#### Returns

a gint representing the column at the specified index, or -1 if the table does not implement this method.

### atk_table_get_row_at_index ()

    gint
    atk_table_get_row_at_index (AtkTable *table,
                                gint index_);

`atk_table_get_row_at_index` is deprecated and should not be used in newly-written code.

since 2.12.

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

#### Parameters

table | a GObject instance that implements AtkTableInterface |
index_ | a gint representing an index in `table` |

#### Returns

a gint representing the row at the specified index, or -1 if the table does not implement this method.

### atk_table_get_n_columns ()

    gint
    atk_table_get_n_columns (AtkTable *table);

Gets the number of columns in the table.

#### Parameters

table | a GObject instance that implements AtkTableIface |

#### Returns

a gint representing the number of columns, or 0 if value does not implement this interface.

### atk_table_get_n_rows ()

    gint
    atk_table_get_n_rows (AtkTable *table);

Gets the number of rows in the table.

#### Parameters

table | a GObject instance that implements AtkTableIface |

#### Returns

a gint representing the number of rows, or 0 if value does not implement this interface.

### atk_table_get_column_extent_at ()

    gint
    atk_table_get_column_extent_at (AtkTable *table,
                                    gint row,
                                    gint column);

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
row | a gint representing a row in `table` |
column | a gint representing a column in `table` |

#### Returns

a gint representing the column extent at specified position, or 0 if value does not implement this interface.

### atk_table_get_row_extent_at ()

    gint
    atk_table_get_row_extent_at (AtkTable *table,
                                 gint row,
                                 gint column);

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
row | a gint representing a row in `table` |
column | a gint representing a column in `table` |

#### Returns

a gint representing the row extent at specified position, or 0 if value does not implement this interface.

### atk_table_get_caption ()

    AtkObject *
    atk_table_get_caption (AtkTable *table);

Gets the caption for the `table` .

#### Parameters

table | a GObject instance that implements AtkTableInterface |

#### Returns

a AtkObject* representing the table caption, or `NULL` if value does not implement this interface.

[nullable][transfer none]

### atk_table_get_column_description ()

    const gchar *
    atk_table_get_column_description (AtkTable *table,
                                      gint column);

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
column | a gint representing a column in `table` |

#### Returns

a gchar* representing the column description, or `NULL` if value does not implement this interface.

### atk_table_get_row_description ()

    const gchar *
    atk_table_get_row_description (AtkTable *table,
                                   gint row);

Gets the description text of the specified row in the table

#### Parameters

table | a GObject instance that implements AtkTableIface |
row | a gint representing a row in `table` |

#### Returns

a gchar* representing the row description, or `NULL` if value does not implement this interface.

[nullable]

### atk_table_get_column_header ()

    AtkObject *
    atk_table_get_column_header (AtkTable *table,
                                 gint column);

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
column | a gint representing a column in the table |

#### Returns

a AtkObject* representing the specified column header, or `NULL` if value does not implement this interface.

[nullable][transfer none]

### atk_table_get_row_header ()

    AtkObject *
    atk_table_get_row_header (AtkTable *table,
                              gint row);

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
row | a gint representing a row in the table |

#### Returns

a AtkObject* representing the specified row header, or `NULL` if value does not implement this interface.

[nullable][transfer none]

### atk_table_get_summary ()

    AtkObject *
    atk_table_get_summary (AtkTable *table);

Gets the summary description of the table.

#### Parameters

table | a GObject instance that implements AtkTableIface |

#### Returns

a AtkObject* representing a summary description of the table, or zero if value does not implement this interface.

[transfer full]

### atk_table_set_caption ()

    void
    atk_table_set_caption (AtkTable *table,
                           AtkObject *caption);

Sets the caption for the table.

#### Parameters

table | a GObject instance that implements AtkTableIface |
caption | a AtkObject representing the caption to set for `table` |

### atk_table_set_row_description ()

    void
    atk_table_set_row_description (AtkTable *table,
                                   gint row,
                                   const gchar *description);

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
row | a gint representing a row in `table` |
description | a gchar representing the description text to set for the specified `row` of `table` |

### atk_table_set_column_description ()

    void
    atk_table_set_column_description (AtkTable *table,
                                      gint column,
                                      const gchar *description);

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
column | a gint representing a column in `table` |
description | a gchar representing the description text to set for the specified `column` of the `table` |

### atk_table_set_row_header ()

    void
    atk_table_set_row_header (AtkTable *table,
                              gint row,
                              AtkObject *header);

Sets the specified row header to `header` .

#### Parameters

table | a GObject instance that implements AtkTableIface |
row | a gint representing a row in `table` |
header | an AtkTable |

### atk_table_set_column_header ()

    void
    atk_table_set_column_header (AtkTable *table,
                                 gint column,
                                 AtkObject *header);

Sets the specified column header to `header` .

#### Parameters

table | a GObject instance that implements AtkTableIface |
column | a gint representing a column in `table` |
header | an AtkTable |

### atk_table_set_summary ()

    void
    atk_table_set_summary (AtkTable *table,
                           AtkObject *accessible);

Sets the summary description of the table.

#### Parameters

table | a GObject instance that implements AtkTableIface |
accessible | an AtkObject representing the summary description to set for `table` |

### atk_table_get_selected_columns ()

    gint
    atk_table_get_selected_columns (AtkTable *table,
                                    gint **selected);

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
selected | a gint** that is to contain the selected columns numbers |

#### Returns

a gint representing the number of selected columns, or `0` if value does not implement this interface.

### atk_table_get_selected_rows ()

    gint
    atk_table_get_selected_rows (AtkTable *table,
                                 gint **selected);

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
selected | a gint** that is to contain the selected row numbers |

#### Returns

a gint representing the number of selected rows, or zero if value does not implement this interface.

### atk_table_is_column_selected ()

    gboolean
    atk_table_is_column_selected (AtkTable *table,
                                  gint column);

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
column | a gint representing a column in `table` |

#### Returns

a gboolean representing if the column is selected, or 0 if value does not implement this interface.

### atk_table_is_row_selected ()

    gboolean
    atk_table_is_row_selected (AtkTable *table,
                               gint row);

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
row | a gint representing a row in `table` |

#### Returns

a gboolean representing if the row is selected, or 0 if value does not implement this interface.

### atk_table_is_selected ()

    gboolean
    atk_table_is_selected (AtkTable *table,
                           gint row,
                           gint column);

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

#### Parameters

table | a GObject instance that implements AtkTableIface |
row | a gint representing a row in `table` |
column | a gint representing a column in `table` |

#### Returns

a gboolean representing if the cell is selected, or 0 if value does not implement this interface.

### atk_table_add_column_selection ()

    gboolean
    atk_table_add_column_selection (AtkTable *table,
                                    gint column);

Adds the specified `column` to the selection.

#### Parameters

table | a GObject instance that implements AtkTableIface |
column | a gint representing a column in `table` |

#### Returns

a gboolean representing if the column was successfully added to the selection, or 0 if value does not implement this interface.

### atk_table_add_row_selection ()

    gboolean
    atk_table_add_row_selection (AtkTable *table,
                                 gint row);

Adds the specified `row` to the selection.

#### Parameters

table | a GObject instance that implements AtkTableIface |
row | a gint representing a row in `table` |

#### Returns

a gboolean representing if row was successfully added to selection, or 0 if value does not implement this interface.

### atk_table_remove_column_selection ()

    gboolean
    atk_table_remove_column_selection (AtkTable *table,
                                       gint column);

Adds the specified `column` to the selection.

#### Parameters

table | a GObject instance that implements AtkTableIface |
column | a gint representing a column in `table` |

#### Returns

a gboolean representing if the column was successfully removed from the selection, or 0 if value does not implement this interface.

### atk_table_remove_row_selection ()

    gboolean
    atk_table_remove_row_selection (AtkTable *table,
                                    gint row);

Removes the specified `row` from the selection.

#### Parameters

table | a GObject instance that implements AtkTableIface |
row | a gint representing a row in `table` |

#### Returns

a gboolean representing if the row was successfully removed from the selection, or 0 if value does not implement this interface.

## Types and Values

### AtkTable

    typedef struct _AtkTable AtkTable;

## Signal Details

### The `“column-deleted”` signal

    void
    user_function (AtkTable *atktable,
                   int       arg1,
                   int       arg2,
                   gpointer  user_data)

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

#### Parameters

atktable | the object which received the signal. |
arg1 | The index of the first column deleted. |
arg2 | The number of columns deleted. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“column-inserted”` signal

    void
    user_function (AtkTable *atktable,
                   int       arg1,
                   int       arg2,
                   gpointer  user_data)

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

#### Parameters

atktable | the object which received the signal. |
arg1 | The index of the column inserted. |
arg2 | The number of colums inserted. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“column-reordered”` signal

    void
    user_function (AtkTable *atktable,
                   gpointer  user_data)

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

#### Parameters

atktable | the object which received the signal. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“model-changed”` signal

    void
    user_function (AtkTable *atktable,
                   gpointer  user_data)

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

#### Parameters

atktable | the object which received the signal. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“row-deleted”` signal

    void
    user_function (AtkTable *atktable,
                   int       arg1,
                   int       arg2,
                   gpointer  user_data)

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

#### Parameters

atktable | the object which received the signal. |
arg1 | The index of the first row deleted. |
arg2 | The number of rows deleted. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“row-inserted”` signal

    void
    user_function (AtkTable *atktable,
                   int       arg1,
                   int       arg2,
                   gpointer  user_data)

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

#### Parameters

atktable | the object which received the signal. |
arg1 | The index of the first row inserted. |
arg2 | The number of rows inserted. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“row-reordered”` signal

    void
    user_function (AtkTable *atktable,
                   gpointer  user_data)

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

#### Parameters

atktable | the object which received the signal. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last