GtkButtonBox

GtkButtonBox — A container for arranging buttons

Synopsis

#include <gtk/gtk.h>

struct              GtkButtonBox;
GtkWidget *         gtk_button_box_new                  (GtkOrientation orientation);
GtkButtonBoxStyle   gtk_button_box_get_layout           (GtkButtonBox *widget);
gboolean            gtk_button_box_get_child_secondary  (GtkButtonBox *widget,
                                                         GtkWidget *child);
gboolean            gtk_button_box_get_child_non_homogeneous
                                                        (GtkButtonBox *widget,
                                                         GtkWidget *child);
void                gtk_button_box_set_layout           (GtkButtonBox *widget,
                                                         GtkButtonBoxStyle layout_style);
void                gtk_button_box_set_child_secondary  (GtkButtonBox *widget,
                                                         GtkWidget *child,
                                                         gboolean is_secondary);
void                gtk_button_box_set_child_non_homogeneous
                                                        (GtkButtonBox *widget,
                                                         GtkWidget *child,
                                                         gboolean non_homogeneous);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkContainer
                     +----GtkBox
                           +----GtkButtonBox
                                 +----GtkHButtonBox
                                 +----GtkVButtonBox

Implemented Interfaces

GtkButtonBox implements AtkImplementorIface, GtkBuildable and GtkOrientable.

Properties

  "layout-style"             GtkButtonBoxStyle     : Read / Write

Child Properties

  "non-homogeneous"          gboolean              : Read / Write
  "secondary"                gboolean              : Read / Write

Style Properties

  "child-internal-pad-x"     gint                  : Read
  "child-internal-pad-y"     gint                  : Read
  "child-min-height"         gint                  : Read
  "child-min-width"          gint                  : Read

Description

A button box should be used to provide a consistent layout of buttons throughout your application. The layout/spacing can be altered by the programmer, or if desired, by the user to alter the 'feel' of a program to a small degree.

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.

The main purpose of GtkButtonBox is to make sure the children have all the same size. GtkButtonBox gives all children the same size, but it does allow 'outliers' to keep their own larger size. To force all children to be strictly the same size without exceptions, you can set the "homogeneous" property to TRUE.

To excempt individual children from homogeneous sizing regardless of their 'outlier' status, you can set the "non-homogeneous" child property.

Details

struct GtkButtonBox

struct GtkButtonBox;

gtk_button_box_new ()

GtkWidget *         gtk_button_box_new                  (GtkOrientation orientation);

Creates a new GtkButtonBox.

orientation :

the box' orientation.

Returns :

a new GtkButtonBox.

Since 3.0


gtk_button_box_get_layout ()

GtkButtonBoxStyle   gtk_button_box_get_layout           (GtkButtonBox *widget);

Retrieves the method being used to arrange the buttons in a button box.

widget :

a GtkButtonBox

Returns :

the method used to lay out buttons in widget.

gtk_button_box_get_child_secondary ()

gboolean            gtk_button_box_get_child_secondary  (GtkButtonBox *widget,
                                                         GtkWidget *child);

Returns whether child should appear in a secondary group of children.

widget :

a GtkButtonBox

child :

a child of widget

Returns :

whether child should appear in a secondary group of children.

Since 2.4


gtk_button_box_get_child_non_homogeneous ()

gboolean            gtk_button_box_get_child_non_homogeneous
                                                        (GtkButtonBox *widget,
                                                         GtkWidget *child);

Returns whether the child is exempted from homogenous sizing.

widget :

a GtkButtonBox

child :

a child of widget

Returns :

TRUE if the child is not subject to homogenous sizing

Since 3.2


gtk_button_box_set_layout ()

void                gtk_button_box_set_layout           (GtkButtonBox *widget,
                                                         GtkButtonBoxStyle layout_style);

Changes the way buttons are arranged in their container.

widget :

a GtkButtonBox

layout_style :

the new layout style

gtk_button_box_set_child_secondary ()

void                gtk_button_box_set_child_secondary  (GtkButtonBox *widget,
                                                         GtkWidget *child,
                                                         gboolean is_secondary);

Sets whether child should appear in a secondary group of children. A typical use of a secondary child is the help button in a dialog.

This group appears after the other children if the style is GTK_BUTTONBOX_START, GTK_BUTTONBOX_SPREAD or GTK_BUTTONBOX_EDGE, and before the other children if the style is GTK_BUTTONBOX_END. For horizontal button boxes, the definition of before/after depends on direction of the widget (see gtk_widget_set_direction()). If the style is GTK_BUTTONBOX_START or GTK_BUTTONBOX_END, then the secondary children are aligned at the other end of the button box from the main children. For the other styles, they appear immediately next to the main children.

widget :

a GtkButtonBox

child :

a child of widget

is_secondary :

if TRUE, the child appears in a secondary group of the button box.

gtk_button_box_set_child_non_homogeneous ()

void                gtk_button_box_set_child_non_homogeneous
                                                        (GtkButtonBox *widget,
                                                         GtkWidget *child,
                                                         gboolean non_homogeneous);

Sets whether the child is exempted from homogeous sizing.

widget :

a GtkButtonBox

child :

a child of widget

non_homogeneous :

the new value

Since 3.2

Property Details

The "layout-style" property

  "layout-style"             GtkButtonBoxStyle     : Read / Write

How to lay out the buttons in the box. Possible values are: spread, edge, start and end.

Default value: GTK_BUTTONBOX_EDGE

Child Property Details

The "non-homogeneous" child property

  "non-homogeneous"          gboolean              : Read / Write

If TRUE, the child will not be subject to homogeneous sizing.

Default value: FALSE


The "secondary" child property

  "secondary"                gboolean              : Read / Write

If TRUE, the child appears in a secondary group of children, suitable for, e.g., help buttons.

Default value: FALSE

Style Property Details

The "child-internal-pad-x" style property

  "child-internal-pad-x"     gint                  : Read

Amount to increase child's size on either side.

Allowed values: >= 0

Default value: 4


The "child-internal-pad-y" style property

  "child-internal-pad-y"     gint                  : Read

Amount to increase child's size on the top and bottom.

Allowed values: >= 0

Default value: 0


The "child-min-height" style property

  "child-min-height"         gint                  : Read

Minimum height of buttons inside the box.

Allowed values: >= 0

Default value: 27


The "child-min-width" style property

  "child-min-width"          gint                  : Read

Minimum width of buttons inside the box.

Allowed values: >= 0

Default value: 85