<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY pi "&#960;">
<!ENTITY solidus "&#8260;">
]>
<refentry id="GtkBox">
<refmeta>
<refentrytitle role="top_of_page" id="GtkBox.top_of_page">GtkBox</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkBox</refname>
<refpurpose>A container for packing widgets in a single row or column</refpurpose>
</refnamediv>

<refsect1 id="GtkBox.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-box-new">gtk_box_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-box-get-homogeneous">gtk_box_get_homogeneous</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-box-set-homogeneous">gtk_box_set_homogeneous</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-box-get-spacing">gtk_box_get_spacing</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-box-set-spacing">gtk_box_set_spacing</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkBaselinePosition"><returnvalue>GtkBaselinePosition</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-box-get-baseline-position">gtk_box_get_baseline_position</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-box-set-baseline-position">gtk_box_set_baseline_position</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-box-append">gtk_box_append</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-box-prepend">gtk_box_prepend</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-box-remove">gtk_box_remove</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-box-insert-child-after">gtk_box_insert_child_after</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-box-reorder-child-after">gtk_box_reorder_child_after</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkBox.properties" role="properties">
<title role="properties.title">Properties</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="properties_type" colwidth="150px"/>
<colspec colname="properties_name" colwidth="300px"/>
<colspec colname="properties_flags" colwidth="200px"/>
<tbody>
<row><entry role="property_type"><link linkend="GtkBaselinePosition"><type>GtkBaselinePosition</type></link></entry><entry role="property_name"><link linkend="GtkBox--baseline-position">baseline-position</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkBox--homogeneous">homogeneous</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkBox--spacing">spacing</link></entry><entry role="property_flags">Read / Write</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkBox.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="GtkBox-struct">GtkBox</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="GtkBoxClass">GtkBoxClass</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkBox.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
        <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GtkWidget">GtkWidget</link>
            <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkBox
                <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> <link linkend="GtkShortcutsSection">GtkShortcutsSection</link>
                <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GtkShortcutsGroup">GtkShortcutsGroup</link>
</screen>
</refsect1>
<refsect1 id="GtkBox.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkBox implements
 <link linkend="AtkImplementorIface">AtkImplementorIface</link>,  <link linkend="GtkBuildable">GtkBuildable</link>,  <link linkend="GtkConstraintTarget">GtkConstraintTarget</link> and  <link linkend="GtkOrientable">GtkOrientable</link>.</para>

</refsect1>

<refsect1 id="GtkBox.includes"><title>Includes</title><synopsis>#include &lt;gtk/gtk.h&gt;
</synopsis></refsect1>

<refsect1 id="GtkBox.description" role="desc">
<title role="desc.title">Description</title>
<para>The GtkBox widget arranges child widgets into a single row or column,
depending upon the value of its <link linkend="GtkOrientable--orientation"><type>“orientation”</type></link> property. Within
the other dimension, all children are allocated the same size. Of course,
the <link linkend="GtkWidget--halign"><type>“halign”</type></link> and <link linkend="GtkWidget--valign"><type>“valign”</type></link> properties can be used on
the children to influence their allocation.</para>
<para>Use repeated calls to <link linkend="gtk-box-append"><function>gtk_box_append()</function></link> to pack widgets into a GtkBox
from start to end. Use <link linkend="gtk-box-remove"><function>gtk_box_remove()</function></link> to remove widgets from the GtkBox.
<link linkend="gtk-box-insert-child-after"><function>gtk_box_insert_child_after()</function></link> can be used to add a child at a particular position.</para>
<para>Use <link linkend="gtk-box-set-homogeneous"><function>gtk_box_set_homogeneous()</function></link> to specify whether or not all children
of the GtkBox are forced to get the same amount of space.</para>
<para>Use <link linkend="gtk-box-set-spacing"><function>gtk_box_set_spacing()</function></link> to determine how much space will be
minimally placed between all children in the GtkBox. Note that
spacing is added between the children.</para>
<para>Use <link linkend="gtk-box-reorder-child-after"><function>gtk_box_reorder_child_after()</function></link> to move a child to a different
place in the box.</para>
<refsect2><title>CSS nodes</title><para>GtkBox uses a single CSS node with name box.</para>
</refsect2>

</refsect1>
<refsect1 id="GtkBox.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gtk-box-new" role="function">
<title>gtk_box_new&#160;()</title>
<indexterm zone="gtk-box-new"><primary>gtk_box_new</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_box_new (<parameter><link linkend="GtkOrientation"><type>GtkOrientation</type></link> orientation</parameter>,
             <parameter><link linkend="gint"><type>gint</type></link> spacing</parameter>);</programlisting>
<para>Creates a new <link linkend="GtkBox"><type>GtkBox</type></link>.</para>
<refsect3 id="gtk-box-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>orientation</para></entry>
<entry role="parameter_description"><para>the box’s orientation.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>spacing</para></entry>
<entry role="parameter_description"><para>the number of pixels to place by default between children.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-box-new.returns" role="returns">
<title>Returns</title>
<para> a new <link linkend="GtkBox"><type>GtkBox</type></link>.</para>
</refsect3></refsect2>
<refsect2 id="gtk-box-get-homogeneous" role="function">
<title>gtk_box_get_homogeneous&#160;()</title>
<indexterm zone="gtk-box-get-homogeneous"><primary>gtk_box_get_homogeneous</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_box_get_homogeneous (<parameter><link linkend="GtkBox"><type>GtkBox</type></link> *box</parameter>);</programlisting>
<para>Returns whether the box is homogeneous (all children are the
same size). See <link linkend="gtk-box-set-homogeneous"><function>gtk_box_set_homogeneous()</function></link>.</para>
<refsect3 id="gtk-box-get-homogeneous.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkBox"><type>GtkBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-box-get-homogeneous.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the box is homogeneous.</para>
</refsect3></refsect2>
<refsect2 id="gtk-box-set-homogeneous" role="function">
<title>gtk_box_set_homogeneous&#160;()</title>
<indexterm zone="gtk-box-set-homogeneous"><primary>gtk_box_set_homogeneous</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_box_set_homogeneous (<parameter><link linkend="GtkBox"><type>GtkBox</type></link> *box</parameter>,
                         <parameter><link linkend="gboolean"><type>gboolean</type></link> homogeneous</parameter>);</programlisting>
<para>Sets the <link linkend="GtkBox--homogeneous"><type>“homogeneous”</type></link> property of <parameter>box</parameter>
, controlling
whether or not all children of <parameter>box</parameter>
 are given equal space
in the box.</para>
<refsect3 id="gtk-box-set-homogeneous.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkBox"><type>GtkBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>homogeneous</para></entry>
<entry role="parameter_description"><para>a boolean value, <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to create equal allotments,
<link linkend="FALSE:CAPS"><literal>FALSE</literal></link> for variable allotments</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-box-get-spacing" role="function">
<title>gtk_box_get_spacing&#160;()</title>
<indexterm zone="gtk-box-get-spacing"><primary>gtk_box_get_spacing</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_box_get_spacing (<parameter><link linkend="GtkBox"><type>GtkBox</type></link> *box</parameter>);</programlisting>
<para>Gets the value set by <link linkend="gtk-box-set-spacing"><function>gtk_box_set_spacing()</function></link>.</para>
<refsect3 id="gtk-box-get-spacing.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkBox"><type>GtkBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-box-get-spacing.returns" role="returns">
<title>Returns</title>
<para> spacing between children</para>
</refsect3></refsect2>
<refsect2 id="gtk-box-set-spacing" role="function">
<title>gtk_box_set_spacing&#160;()</title>
<indexterm zone="gtk-box-set-spacing"><primary>gtk_box_set_spacing</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_box_set_spacing (<parameter><link linkend="GtkBox"><type>GtkBox</type></link> *box</parameter>,
                     <parameter><link linkend="gint"><type>gint</type></link> spacing</parameter>);</programlisting>
<para>Sets the <link linkend="GtkBox--spacing"><type>“spacing”</type></link> property of <parameter>box</parameter>
, which is the
number of pixels to place between children of <parameter>box</parameter>
.</para>
<refsect3 id="gtk-box-set-spacing.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkBox"><type>GtkBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>spacing</para></entry>
<entry role="parameter_description"><para>the number of pixels to put between children</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-box-get-baseline-position" role="function">
<title>gtk_box_get_baseline_position&#160;()</title>
<indexterm zone="gtk-box-get-baseline-position"><primary>gtk_box_get_baseline_position</primary></indexterm>
<programlisting language="C"><link linkend="GtkBaselinePosition"><returnvalue>GtkBaselinePosition</returnvalue></link>
gtk_box_get_baseline_position (<parameter><link linkend="GtkBox"><type>GtkBox</type></link> *box</parameter>);</programlisting>
<para>Gets the value set by <link linkend="gtk-box-set-baseline-position"><function>gtk_box_set_baseline_position()</function></link>.</para>
<refsect3 id="gtk-box-get-baseline-position.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkBox"><type>GtkBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-box-get-baseline-position.returns" role="returns">
<title>Returns</title>
<para> the baseline position</para>
</refsect3></refsect2>
<refsect2 id="gtk-box-set-baseline-position" role="function">
<title>gtk_box_set_baseline_position&#160;()</title>
<indexterm zone="gtk-box-set-baseline-position"><primary>gtk_box_set_baseline_position</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_box_set_baseline_position (<parameter><link linkend="GtkBox"><type>GtkBox</type></link> *box</parameter>,
                               <parameter><link linkend="GtkBaselinePosition"><type>GtkBaselinePosition</type></link> position</parameter>);</programlisting>
<para>Sets the baseline position of a box. This affects
only horizontal boxes with at least one baseline aligned
child. If there is more vertical space available than requested,
and the baseline is not allocated by the parent then
<parameter>position</parameter>
 is used to allocate the baseline wrt the
extra space available.</para>
<refsect3 id="gtk-box-set-baseline-position.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkBox"><type>GtkBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>position</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkBaselinePosition"><type>GtkBaselinePosition</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-box-append" role="function">
<title>gtk_box_append&#160;()</title>
<indexterm zone="gtk-box-append"><primary>gtk_box_append</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_box_append (<parameter><link linkend="GtkBox"><type>GtkBox</type></link> *box</parameter>,
                <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>);</programlisting>
<para>Adds <parameter>child</parameter>
 as the last child to <parameter>box</parameter>
.</para>
<refsect3 id="gtk-box-append.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkBox"><type>GtkBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkWidget"><type>GtkWidget</type></link> to append</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-box-prepend" role="function">
<title>gtk_box_prepend&#160;()</title>
<indexterm zone="gtk-box-prepend"><primary>gtk_box_prepend</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_box_prepend (<parameter><link linkend="GtkBox"><type>GtkBox</type></link> *box</parameter>,
                 <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>);</programlisting>
<para>Adds <parameter>child</parameter>
 as the first child to <parameter>box</parameter>
.</para>
<refsect3 id="gtk-box-prepend.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkBox"><type>GtkBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkWidget"><type>GtkWidget</type></link> to prepend</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-box-remove" role="function">
<title>gtk_box_remove&#160;()</title>
<indexterm zone="gtk-box-remove"><primary>gtk_box_remove</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_box_remove (<parameter><link linkend="GtkBox"><type>GtkBox</type></link> *box</parameter>,
                <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>);</programlisting>
<para>Removes a child widget from <parameter>box</parameter>
, after it has been
added with <link linkend="gtk-box-append"><function>gtk_box_append()</function></link>, <link linkend="gtk-box-prepend"><function>gtk_box_prepend()</function></link>, or
<link linkend="gtk-box-insert-child-after"><function>gtk_box_insert_child_after()</function></link>.</para>
<refsect3 id="gtk-box-remove.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkBox"><type>GtkBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>the child to remove</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-box-insert-child-after" role="function">
<title>gtk_box_insert_child_after&#160;()</title>
<indexterm zone="gtk-box-insert-child-after"><primary>gtk_box_insert_child_after</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_box_insert_child_after (<parameter><link linkend="GtkBox"><type>GtkBox</type></link> *box</parameter>,
                            <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>,
                            <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *sibling</parameter>);</programlisting>
<para>Inserts <parameter>child</parameter>
 in the position after <parameter>sibling</parameter>
 in the list
of <parameter>box</parameter>
 children. If <parameter>sibling</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, insert <parameter>child</parameter>
 at
the first position.</para>
<refsect3 id="gtk-box-insert-child-after.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkBox"><type>GtkBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkWidget"><type>GtkWidget</type></link> to insert</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>sibling</para></entry>
<entry role="parameter_description"><para>the sibling to move <parameter>child</parameter>
after, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-box-reorder-child-after" role="function">
<title>gtk_box_reorder_child_after&#160;()</title>
<indexterm zone="gtk-box-reorder-child-after"><primary>gtk_box_reorder_child_after</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_box_reorder_child_after (<parameter><link linkend="GtkBox"><type>GtkBox</type></link> *box</parameter>,
                             <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>,
                             <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *sibling</parameter>);</programlisting>
<para>Moves <parameter>child</parameter>
 to the position after <parameter>sibling</parameter>
 in the list
of <parameter>box</parameter>
 children. If <parameter>sibling</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, move <parameter>child</parameter>
 to
the first position.</para>
<refsect3 id="gtk-box-reorder-child-after.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>box</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkBox"><type>GtkBox</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkWidget"><type>GtkWidget</type></link> to move, must be a child of <parameter>box</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>sibling</para></entry>
<entry role="parameter_description"><para>the sibling to move <parameter>child</parameter>
after, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkBox.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GtkBox-struct" role="struct">
<title>struct GtkBox</title>
<indexterm zone="GtkBox-struct"><primary>GtkBox</primary></indexterm>
<programlisting language="C">struct GtkBox;</programlisting>
</refsect2>
<refsect2 id="GtkBoxClass" role="struct">
<title>struct GtkBoxClass</title>
<indexterm zone="GtkBoxClass"><primary>GtkBoxClass</primary></indexterm>
<programlisting language="C">struct GtkBoxClass {
  GtkWidgetClass parent_class;
};
</programlisting>
<refsect3 id="GtkBoxClass.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>

</refsect1>
<refsect1 id="GtkBox.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkBox--baseline-position" role="property"><title>The <literal>“baseline-position”</literal> property</title>
<indexterm zone="GtkBox--baseline-position"><primary>GtkBox:baseline-position</primary></indexterm>
<programlisting>  “baseline-position”        <link linkend="GtkBaselinePosition"><type>GtkBaselinePosition</type></link></programlisting>
<para>The position of the baseline aligned widgets if extra space is available.</para><para>Owner: GtkBox</para>
<para>Flags: Read / Write</para>
<para>Default value: GTK_BASELINE_POSITION_CENTER</para>
</refsect2>
<refsect2 id="GtkBox--homogeneous" role="property"><title>The <literal>“homogeneous”</literal> property</title>
<indexterm zone="GtkBox--homogeneous"><primary>GtkBox:homogeneous</primary></indexterm>
<programlisting>  “homogeneous”              <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether the children should all be the same size.</para><para>Owner: GtkBox</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkBox--spacing" role="property"><title>The <literal>“spacing”</literal> property</title>
<indexterm zone="GtkBox--spacing"><primary>GtkBox:spacing</primary></indexterm>
<programlisting>  “spacing”                  <link linkend="gint"><type>gint</type></link></programlisting>
<para>The amount of space between children.</para><para>Owner: GtkBox</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= 0</para>
<para>Default value: 0</para>
</refsect2>

</refsect1>
<refsect1 id="GtkBox.see-also">
<title>See Also</title>
<para><link linkend="GtkGrid"><type>GtkGrid</type></link></para>

</refsect1>

</refentry>
