![]() |
![]() |
![]() |
GTK+ 3 Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
#include <gtk/gtk.h> GtkBox; GtkWidget* gtk_box_new (GtkOrientation orientation
,gint spacing
); void gtk_box_pack_start (GtkBox *box
,GtkWidget *child
,gboolean expand
,gboolean fill
,guint padding
); void gtk_box_pack_end (GtkBox *box
,GtkWidget *child
,gboolean expand
,gboolean fill
,guint padding
); gboolean gtk_box_get_homogeneous (GtkBox *box
); void gtk_box_set_homogeneous (GtkBox *box
,gboolean homogeneous
); gint gtk_box_get_spacing (GtkBox *box
); void gtk_box_set_spacing (GtkBox *box
,gint spacing
); void gtk_box_reorder_child (GtkBox *box
,GtkWidget *child
,gint position
); void gtk_box_query_child_packing (GtkBox *box
,GtkWidget *child
,gboolean *expand
,gboolean *fill
,guint *padding
,GtkPackType *pack_type
); void gtk_box_set_child_packing (GtkBox *box
,GtkWidget *child
,gboolean expand
,gboolean fill
,guint padding
,GtkPackType pack_type
);
GtkBox is an 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.
Because GtkBox is a GtkContainer, you may also use
gtk_container_add()
to insert widgets into the box, and they will be
packed with the default values for "expand" and "fill".
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. Note that
spacing is added between the children, while
padding added by gtk_box_pack_start()
or gtk_box_pack_end()
is added
on either side of the widget it belongs to.
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.
Note that a single-row or single-column GtkGrid provides exactly the same functionality as GtkBox.
GtkWidget* gtk_box_new (GtkOrientation orientation
,gint spacing
);
Creates a new GtkBox.
|
the box's orientation. |
|
the number of pixels to place by default between children. |
Returns : |
a new GtkBox. |
Since 3.0
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
.
|
a GtkBox |
|
the GtkWidget to be added to box
|
|
TRUE if the new child is to be given extra space allocated
to box . The extra space will be divided evenly between all children
that use this option
|
|
TRUE if space given to child by the expand option is
actually allocated to child , rather than just padding it. This
parameter has no effect if expand is set to FALSE . A child is
always allocated the full height of a GtkHBox and the full width
of a GtkVBox. This option affects the other dimension
|
|
extra space in pixels to put between this child and its
neighbors, over and above the global amount specified by
"spacing" property. If child is a widget at one of the
reference ends of box , then padding pixels are also put between
child and the reference edge of box
|
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
.
|
a GtkBox |
|
the GtkWidget to be added to box
|
|
TRUE if the new child is to be given extra space allocated
to box . The extra space will be divided evenly between all children
of box that use this option
|
|
TRUE if space given to child by the expand option is
actually allocated to child , rather than just padding it. This
parameter has no effect if expand is set to FALSE . A child is
always allocated the full height of a GtkHBox and the full width
of a GtkVBox. This option affects the other dimension
|
|
extra space in pixels to put between this child and its
neighbors, over and above the global amount specified by
"spacing" property. If child is a widget at one of the
reference ends of box , then padding pixels are also put between
child and the reference edge of box
|
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()
.
|
a GtkBox |
Returns : |
spacing between children |
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
.
|
a GtkBox |
|
the number of pixels to put between children |
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
.
|
a GtkBox |
|
the GtkWidget of the child to query |
|
pointer to return location for "expand" child property. [out] |
|
pointer to return location for "fill" child property. [out] |
|
pointer to return location for "padding" child property. [out] |
|
pointer to return location for "pack-type" child property. [out] |