GtkBox Base class for box containers GtkBox is an abstract widget which encapsulates functionality for a particular kind of container, one that organizes a variable number of widgets into a rectangular area. GtkBox currently has two derived classes, #GtkHBox and #GtkVBox. The rectangular area of a GtkBox is organized into either a single row or a single column of child widgets depending upon whether the box is of type #GtkHBox or #GtkVBox, respectively. Thus, all children of a GtkBox are allocated one dimension in common, which is the height of a row, or the width of a column. GtkBox uses a notion of packing. Packing refers to adding widgets with reference to a particular position in a #GtkContainer. For a GtkBox, there are two reference positions: the start and the end of the box. For a #GtkVBox, the start is defined as the top of the box and the end is defined as the bottom. For a #GtkHBox the start is defined as the left side and the end is defined as the right side. Use repeated calls to gtk_box_pack_start() to pack widgets into a GtkBox from start to end. Use gtk_box_pack_end() to add widgets from end to start. You may intersperse these calls and add widgets from both ends of the same GtkBox. Use gtk_box_pack_start_defaults() or gtk_box_pack_end_defaults() to pack widgets into a GtkBox if you do not need to specify the #GtkBox:expand, #GtkBox:fill, or #GtkBox:padding child properties for the child to be added. Because GtkBox is a #GtkContainer, you may also use gtk_container_add() to insert widgets into the box, and they will be packed as if with gtk_box_pack_start_defaults(). Use gtk_container_remove() to remove widgets from the GtkBox. Use gtk_box_set_homogeneous() to specify whether or not all children of the GtkBox are forced to get the same amount of space. Use gtk_box_set_spacing() to determine how much space will be minimally placed between all children in the GtkBox. Use gtk_box_reorder_child() to move a GtkBox child to a different place in the box. Use gtk_box_set_child_packing() to reset the #GtkBox:expand, #GtkBox:fill and #GtkBox:padding child properties. Use gtk_box_query_child_packing() to query these fields. #GtkHBox a derived class that organizes widgets into a row. #GtkVBox a derived class that organizes widgets into a column. #GtkFrame a #GtkWidget useful for drawing a border around a GtkBox. #GtkTable a #GtkContainer for organizing widgets into a grid, rather than independent rows or columns. #GtkLayout a #GtkContainer for organizing widgets into arbitrary layouts. The #GtkBox-struct describes an instance of GtkBox and contains the following fields. (These fields should be considered read-only. They should never be set by an application.) @children: a list of children belonging the GtkBox. The data is a list of structures of type #GtkBoxChild-struct. @spacing: the number of pixels to put between children of the GtkBox, zero by default. Use gtk_box_set_spacing() to set this field. @homogeneous: a flag that if %TRUE forces all children to get equal space in the GtkBox; %FALSE by default. Use gtk_box_set_homogeneous() to set this field. The #GtkBoxChild-struct holds a child widget of GtkBox and describes how the child is to be packed into the GtkBox. Use gtk_box_query_child_packing() and gtk_box_set_child_packing() to query and reset the padding, expand, fill, and pack fields. #GtkBoxChild-struct contains the following fields. (These fields should be considered read-only. They should never be directly set by an application.) @widget: the child widget, packed into the GtkBox. @padding: the number of extra pixels to put between this child and its neighbors, set when packed, zero by default. @expand: flag indicates whether extra space should be given to this child. Any extra space given to the parent GtkBox is divided up among all children with this attribute set to %TRUE; set when packed, %TRUE by default. @fill: flag indicates whether any extra space given to this child due to its @expand attribute being set is actually allocated to the child, rather than being used as padding around the widget; set when packed, %TRUE by default. @pack: one of #GtkPackType indicating whether the child is packed with reference to the start (top/left) or end (bottom/right) of the GtkBox. @is_secondary: @box: @child: @expand: @box @fill: @padding: @box: @child: @expand: @fill: @padding: @box: @widget: @box: @widget: @box: @Returns: @box: @homogeneous: @box: @Returns: @box: @spacing: @box: @child: @position: @box: @child: @expand: @fill: @padding: @pack_type: @box: @child: @expand: @fill: @padding: @pack_type: