GtkBox {RGtk2} | R Documentation

## GtkBox

### Description

Base class for box containers

### Methods and Functions

`gtkBoxPackStart(object, child, expand = TRUE, fill = TRUE, padding = 0)`
`gtkBoxPackEnd(object, child, expand = TRUE, fill = TRUE, padding = 0)`
`gtkBoxPackStartDefaults(object, widget)`
`gtkBoxPackEndDefaults(object, widget)`
`gtkBoxGetHomogeneous(object)`
`gtkBoxSetHomogeneous(object, homogeneous)`
`gtkBoxGetSpacing(object)`
`gtkBoxSetSpacing(object, spacing)`
`gtkBoxReorderChild(object, child, position)`
`gtkBoxQueryChildPacking(object, child)`
`gtkBoxSetChildPacking(object, child, expand, fill, padding, pack.type)`

### Hierarchy

    GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBox
                                     +----GtkButtonBox
                                     +----GtkVBox
                                     +----GtkHBox

### Interfaces

GtkBox implements AtkImplementorIface, `GtkBuildable` and `GtkOrientable`.

### Detailed Description

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 `gtkBoxPackStart` to pack widgets into a GtkBox from start to end. Use `gtkBoxPackEnd` to add widgets from end to start. You may intersperse these calls and add widgets from both ends of the same GtkBox.

Use `gtkBoxPackStartDefaults` or `gtkBoxPackEndDefaults` 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 `gtkContainerAdd` to insert widgets into the box, and they will be packed as if with `gtkBoxPackStartDefaults`. Use `gtkContainerRemove` to remove widgets from the GtkBox.

Use `gtkBoxSetHomogeneous` to specify whether or not all children of the GtkBox are forced to get the same amount of space.

Use `gtkBoxSetSpacing` to determine how much space will be minimally placed between all children in the GtkBox.

Use `gtkBoxReorderChild` to move a GtkBox child to a different place in the box.

Use `gtkBoxSetChildPacking` to reset the `"expand"`, `"fill"` and `"padding"` child properties. Use `gtkBoxQueryChildPacking` to query these fields.

### Structures

`GtkBox`

  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.)

  `spacing`

    [integer]

  `homogeneous`

    [numeric]

`GtkBoxChild`

  The `GtkBoxChild` holds a child widget of GtkBox and describes how the child is to be packed into the GtkBox. Use `gtkBoxQueryChildPacking` and `gtkBoxSetChildPacking` 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.)

  `widget`

    [`GtkWidget`] the child widget, packed into the GtkBox.

  `padding`

    [integer] the number of extra pixels to put between this child and its neighbors, set when packed, zero by default.

  `expand`

    [numeric] 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 `TRUE`; set when packed, `TRUE` by default.

  `fill`

    [numeric] flag indicates whether any extra space given to this child due to its `expand` attribute being set is actually allocated to the child, rather than being used as padding around the widget; set when packed, `TRUE` by default.

  `pack`

    [numeric] one of `GtkPackType` indicating whether the child is packed with reference to the start (top/left) or end (bottom/right) of the GtkBox.

  `isSecondary`

    [numeric] `TRUE` if the child is secondary

### Properties

`homogeneous` [logical : Read / Write]

  Whether the children should all be the same size. Default value: FALSE

`spacing` [integer : Read / Write]

  The amount of space between children. Allowed values: >= 0 Default value: 0

### Author(s)

Derived by RGtkGen from GTK+ documentation

### References

https://developer.gnome.org/gtk2/stable/GtkBox.html

[Package RGtk2 version 2.20.36.3 Index]