package Implements_Buildable is new Glib.Types.Implements (Gtk.Buildable.Gtk_Buildable, Gtk_Table_Record, Gtk_Table);
type Gtk_Table_Record is new Gtk_Container_Record with null record;
type Gtk_Table is access all Gtk_Table_Record'Class;
Column_Spacing_Property : constant Glib.Properties.Property_Uint;
Homogeneous_Property : constant Glib.Properties.Property_Boolean;
N_Columns_Property : constant Glib.Properties.Property_Uint;
N_Rows_Property : constant Glib.Properties.Property_Uint;
Row_Spacing_Property : constant Glib.Properties.Property_Uint;
procedure Initialize
( | Table | : access Gtk_Table_Record'Class; |
Rows | : Guint; | |
Columns | : Guint; | |
Homogeneous | : Boolean); |
function Get_Type return Glib.GType;
procedure Attach
( | Table | : access Gtk_Table_Record; |
Child | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Left_Attach | : Guint; | |
Right_Attach | : Guint; | |
Top_Attach | : Guint; | |
Bottom_Attach | : Guint; | |
Xoptions | : Gtk.Enums.Gtk_Attach_Options := Expand or Fill; | |
Yoptions | : Gtk.Enums.Gtk_Attach_Options := Expand or Fill; | |
Xpadding | : Guint := 0; | |
Ypadding | : Guint := 0); |
procedure Attach_Defaults
( | Table | : access Gtk_Table_Record; |
Widget | : access Gtk.Widget.Gtk_Widget_Record'Class; | |
Left_Attach | : Guint; | |
Right_Attach | : Guint; | |
Top_Attach | : Guint; | |
Bottom_Attach | : Guint); |
function Get_Col_Spacing
( | Table | : access Gtk_Table_Record; |
Column | : Guint) return Guint; |
procedure Set_Col_Spacing
( | Table | : access Gtk_Table_Record; |
Column | : Guint; | |
Spacing | : Guint); |
function Get_Default_Col_Spacing
( | Table | : access Gtk_Table_Record) return Guint; |
function Get_Default_Row_Spacing
( | Table | : access Gtk_Table_Record) return Guint; |
function Get_Homogeneous
( | Table | : access Gtk_Table_Record) return Boolean; |
procedure Set_Homogeneous
( | Table | : access Gtk_Table_Record; |
Homogeneous | : Boolean); |
function Get_Row_Spacing
( | Table | : access Gtk_Table_Record; |
Row | : Guint) return Guint; |
procedure Set_Row_Spacing
( | Table | : access Gtk_Table_Record; |
Row | : Guint; | |
Spacing | : Guint); |
procedure Get_Size
( | Table | : access Gtk_Table_Record; |
Rows | : out Guint; | |
Columns | : out Guint); |
procedure Resize
( | Table | : access Gtk_Table_Record; |
Rows | : Guint; | |
Columns | : Guint); |
procedure Set_Col_Spacings
( | Table | : access Gtk_Table_Record; |
Spacing | : Guint); |
procedure Set_Row_Spacings
( | Table | : access Gtk_Table_Record; |
Spacing | : Guint); |
function "+"
( | Widget | : access Gtk_Table_Record'Class) return Gtk.Buildable.Gtk_Buildable renames Implements_Buildable.To_Interface; |
function "-"
( | Interf | : Gtk.Buildable.Gtk_Buildable) return Gtk_Table renames Implements_Buildable.To_Object; |
A Gtk_Table is a container that can contain any number of children. Each of them is attached to a specific row and a specific column in widget.
Every row in the table must have the same height, and every column must have the same width if the table was said as Homogeneous. But you can also decide to have an heterogeneous table, where the width and height are set by the children contained in the table. Check out the Gtk_Sheet widget for a different kind of table that can also contain text and images in a more efficient way.