| Top |
| void | gtk_box_pack_start () |
| void | gtk_box_pack_end () |
| void | gtk_box_pack_start_defaults () |
| void | gtk_box_pack_end_defaults () |
| gboolean | gtk_box_get_homogeneous () |
| void | gtk_box_set_homogeneous () |
| gint | gtk_box_get_spacing () |
| void | gtk_box_set_spacing () |
| void | gtk_box_reorder_child () |
| void | gtk_box_query_child_packing () |
| void | gtk_box_set_child_packing () |
GObject ╰── GInitiallyUnowned ╰── GtkObject ╰── GtkWidget ╰── GtkContainer ╰── GtkBox ├── GtkButtonBox ├── GtkVBox ╰── GtkHBox
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 has a number of derived classes, e.g. 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
“expand”, “fill”, or “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 “expand”,
“fill” and “padding” child properties.
Use gtk_box_query_child_packing() to query these fields.
void gtk_box_pack_start (GtkBox *box,GtkWidget *child,gboolean expand,gboolean fill,guint padding);
Adds child
to box
, packed with reference to the start of box
.
The child
is packed after any other child packed with reference
to the start of box
.
box |
a GtkBox |
|
child |
the GtkWidget to be added to |
|
expand |
|
|
fill |
|
|
padding |
extra space in pixels to put between this child and its
neighbors, over and above the global amount specified by
“spacing” property. If |
void gtk_box_pack_end (GtkBox *box,GtkWidget *child,gboolean expand,gboolean fill,guint padding);
Adds child
to box
, packed with reference to the end of box
.
The child
is packed after (away from end of) any other child
packed with reference to the end of box
.
box |
a GtkBox |
|
child |
the GtkWidget to be added to |
|
expand |
|
|
fill |
|
|
padding |
extra space in pixels to put between this child and its
neighbors, over and above the global amount specified by
“spacing” property. If |
void gtk_box_pack_start_defaults (GtkBox *box,GtkWidget *widget);
gtk_box_pack_start_defaults has been deprecated since version 2.14 and should not be used in newly-written code.
Adds widget
to box
, packed with reference to the start of box
.
The child is packed after any other child packed with reference
to the start of box
.
Parameters for how to pack the child widget
, “expand”,
“fill” and “padding”, are given their default
values, TRUE, TRUE, and 0, respectively.
void gtk_box_pack_end_defaults (GtkBox *box,GtkWidget *widget);
gtk_box_pack_end_defaults has been deprecated since version 2.14 and should not be used in newly-written code.
Adds widget
to box
, packed with reference to the end of box
.
The child is packed after any other child packed with reference
to the start of box
.
Parameters for how to pack the child widget
, “expand”,
“fill” and “padding”, are given their default
values, TRUE, TRUE, and 0, respectively.
gboolean
gtk_box_get_homogeneous (GtkBox *box);
Returns whether the box is homogeneous (all children are the
same size). See gtk_box_set_homogeneous().
void gtk_box_set_homogeneous (GtkBox *box,gboolean homogeneous);
Sets the “homogeneous” property of box
, controlling
whether or not all children of box
are given equal space
in the box.
gint
gtk_box_get_spacing (GtkBox *box);
Gets the value set by gtk_box_set_spacing().
void gtk_box_set_spacing (GtkBox *box,gint spacing);
Sets the “spacing” property of box
, which is the
number of pixels to place between children of box
.
void gtk_box_reorder_child (GtkBox *box,GtkWidget *child,gint position);
Moves child
to a new position
in the list of box
children.
The list is the children field of
GtkBox, and contains both widgets packed GTK_PACK_START
as well as widgets packed GTK_PACK_END, in the order that these
widgets were added to box
.
A widget's position in the box
children list determines where
the widget is packed into box
. A child widget at some position
in the list will be packed just after all other widgets of the
same packing type that appear earlier in the list.
void gtk_box_query_child_packing (GtkBox *box,GtkWidget *child,gboolean *expand,gboolean *fill,guint *padding,GtkPackType *pack_type);
Obtains information about how child
is packed into box
.
box |
a GtkBox |
|
child |
the GtkWidget of the child to query |
|
expand |
pointer to return location for “expand” child property |
|
fill |
pointer to return location for “fill” child property |
|
padding |
pointer to return location for “padding” child property |
|
pack_type |
pointer to return location for “pack-type” child property |
struct GtkBox {
GList *GSEAL (children);
gint16 GSEAL (spacing);
guint GSEAL (homogeneous) : 1;
};
The GtkBox 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.)
struct GtkBoxChild {
GtkWidget *widget;
guint16 padding;
guint expand : 1;
guint fill : 1;
guint pack : 1;
guint is_secondary : 1;
};
GtkBoxChild has been deprecated since version 2.22 and should not be used in newly-written code.
Use gtk_container_get_children() instead.
The GtkBoxChild holds a child widget of GtkBox and describes how the child
is to be packed into the GtkBox. All fields of this GtkBoxChild should be
considered read-only and they should never be set directly by an application.
Use gtk_box_query_child_packing() and gtk_box_set_child_packing() to query
and set the GtkBoxChild.padding, GtkBoxChild.expand, GtkBoxChild.fill and
GtkBoxChild.pack fields.
The GtkBoxChild 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 contains the following fields. (These fields should be considered read-only. They should never be directly set by an application.)
GtkWidget * |
the child widget, packed into the GtkBox. |
|
guint16 |
the number of extra pixels to put between this child and its neighbors, set when packed, zero by default. |
|
guint |
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 |
|
guint |
flag indicates whether any extra space given to this child due to its
|
|
guint |
one of GtkPackType indicating whether the child is packed with reference to the start (top/left) or end (bottom/right) of the GtkBox. |
|
guint |
|
“homogeneous” property“homogeneous” gboolean
Whether the children should all be the same size.
Flags: Read / Write
Default value: FALSE
“spacing” property“spacing” gint
The amount of space between children.
Flags: Read / Write
Allowed values: >= 0
Default value: 0
“expand” child property“expand” gboolean
Whether the child should receive extra space when the parent grows.
Flags: Read / Write
Default value: TRUE
“fill” child property“fill” gboolean
Whether extra space given to the child should be allocated to the child or used as padding.
Flags: Read / Write
Default value: TRUE
“pack-type” child property“pack-type” GtkPackType
A GtkPackType indicating whether the child is packed with reference to the start or end of the parent.
Flags: Read / Write
Default value: GTK_PACK_START
“padding” child property“padding” guint
Extra space to put between the child and its neighbors, in pixels.
Flags: Read / Write
Allowed values: <= G_MAXINT
Default value: 0
“position” child property“position” gint
The index of the child in the parent.
Flags: Read / Write
Allowed values: >= -1
Default value: 0
a derived class that organizes widgets into a row. |
|
a derived class that organizes widgets into a column. |
|
a GtkWidget useful for drawing a border around a GtkBox. |
|
a GtkContainer for organizing widgets into a grid, rather than independent rows or columns. |
|
a GtkContainer for organizing widgets into arbitrary layouts. |