Object Hierarchy:

Object hierarchy for Table


[ CCode ( type_id = "atk_table_get_type ()" ) ]
public interface Table : Object

Table 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 Table are typically referred to as "cells". Those cells should implement the interface TableCell, but Atk doesn't require them to be direct children of the current Table. They can be grand-children, grand-grand-children etc. Table provides the API needed to get a individual cell based on the row and column numbers.

Children of Table 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, Table includes provision for offering simplified summary information, as well as row and column headers and captions. Headers and captions are Objects which may implement other interfaces (#AtkText, Image, etc.) as appropriate. Table summaries may themselves be (simplified) Tables, etc.

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

All known implementing classes:

Namespace: Atk
Package: atk




Inherited Members: