<!-- ##### SECTION Title ##### -->
GtkButtonBox

<!-- ##### SECTION Short_Description ##### -->
Base class for GtkHButtonBox and GtkVButtonBox

<!-- ##### SECTION Long_Description ##### -->
<para>
The primary purpose of this class is to keep track of the various properties
of #GtkHButtonBox and #GtkVButtonBox widgets.
</para>
<para>
gtk_button_box_get_child_size() retrieves the minimum width and height 
for widgets in a given button box.
</para>
<para>
The internal padding of buttons can be retrieved and changed per button box using
gtk_button_box_get_child_ipadding() and gtk_button_box_set_child_ipadding()
respectively.
</para>
<para>
gtk_button_box_get_spacing() and gtk_button_box_set_spacing() retrieve and
change default number of pixels between buttons, respectively.
</para>
<para>
gtk_button_box_get_layout() and gtk_button_box_set_layout() retrieve and alter the method
used to spread the buttons in a button box across the container, respectively.
</para>

<para>
The main purpose of GtkButtonBox is to make sure the children have all the same size.
Therefore it ignores the homogeneous property which it inherited from GtkBox, and always
behaves as if homogeneous was %TRUE.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>
<variablelist>
<varlistentry>
<term>#GtkVButtonBox</term>
<listitem><para>Vertical sub-class of #GtkButtonBox.</para></listitem>
</varlistentry>
<varlistentry>
<term>#GtkHButtonBox</term>
<listitem><para>Horizontal sub-class of #GtkButtonBox.</para></listitem>
</varlistentry>
</variablelist>
</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### STRUCT GtkButtonBox ##### -->
<para>
This is a read-only struct; no members should be modified directly.
</para>


<!-- ##### ARG GtkButtonBox:layout-style ##### -->
<para>

</para>

<!-- ##### ARG GtkButtonBox:secondary ##### -->
<para>

</para>

<!-- ##### ARG GtkButtonBox:child-internal-pad-x ##### -->
<para>

</para>

<!-- ##### ARG GtkButtonBox:child-internal-pad-y ##### -->
<para>

</para>

<!-- ##### ARG GtkButtonBox:child-min-height ##### -->
<para>

</para>

<!-- ##### ARG GtkButtonBox:child-min-width ##### -->
<para>

</para>

<!-- ##### MACRO GTK_BUTTONBOX_DEFAULT ##### -->
<para>
Used internally only.
</para>



<!-- ##### MACRO gtk_button_box_get_spacing ##### -->
<para>
Retrieves how much space a button box is placing between each child button.
</para>

@b: a #GtkButtonBox
@Returns: the current spacing applied to the buttons in @widget
@Deprecated: Use gtk_box_get_spacing() instead.


<!-- ##### FUNCTION gtk_button_box_get_layout ##### -->
<para>
Retrieves the method being used to arrange the buttons in a button box.
</para>

@widget: a #GtkButtonBox.
@Returns: the method used to layout buttons in @widget.


<!-- ##### FUNCTION gtk_button_box_get_child_size ##### -->
<para>
Retrieves the current width and height of all child widgets in a button box.
@min_width and @min_height are filled with those values, respectively.
</para>

@widget: a #GtkButtonBox.
@min_width: the width of the buttons contained by @widget.
@min_height: the height of the buttons contained by @widget.
@Deprecated: Use the style properties
<literal>"child-min-width/-height"</literal> instead.


<!-- ##### FUNCTION gtk_button_box_get_child_ipadding ##### -->
<para>
Gets the default number of pixels that pad the buttons in a given button box.
</para>

@widget: a #GtkButtonBox.
@ipad_x: the horizontal padding used by buttons in @widget.
@ipad_y: the vertical padding used by buttons in @widget.
@Deprecated: Use the style properties 
  "<link linkend="GtkButtonBox--s-child-internal-pad-x">child-internal-pad-x</link>"
  and
  "<link linkend="GtkButtonBox--s-child-internal-pad-y">child-internal-pad-y</link>"
  instead.


<!-- ##### FUNCTION gtk_button_box_get_child_secondary ##### -->
<para>

</para>

@widget: 
@child: 
@Returns: 


<!-- ##### MACRO gtk_button_box_set_spacing ##### -->
<para>
Sets the amount of spacing between buttons in a given button box.
</para>

@b: a #GtkButtonBox
@s: the number of pixels of spacing
@Deprecated: Use gtk_box_set_spacing() instead.


<!-- ##### FUNCTION gtk_button_box_set_layout ##### -->
<para>
Changes the way buttons are arranged in their container.
</para>

@widget: a #GtkButtonBox.
@layout_style: the new layout style.


<!-- ##### FUNCTION gtk_button_box_set_child_size ##### -->
<para>
Sets a new default size for the children of a given button box.
</para>

@widget: a #GtkButtonBox
@min_width: a default width for buttons in @widget
@min_height: a default height for buttons in @widget
@Deprecated: This is not supported anymore and can only be set through the theme
  changing the style properties:
  "<link linkend="GtkButtonBox--s-child-min-width">child-min-width</link>"
  and
  "<link linkend="GtkButtonBox--s-child-min-height">child-min-height</link>"
  instead.


<!-- ##### FUNCTION gtk_button_box_set_child_ipadding ##### -->
<para>
Changes the amount of internal padding used by all buttons in a given button
box.
</para>

@widget: a #GtkButtonBox.
@ipad_x: the horizontal padding that should be used by each button in @widget.
@ipad_y: the vertical padding that should be used by each button in @widget.
@Deprecated: Use the style properties
<literal>"child-internal-pad-x/-y"</literal> instead.


<!-- ##### FUNCTION gtk_button_box_set_child_secondary ##### -->
<para>

</para>

@widget: 
@child: 
@is_secondary: 


