## StBoxLayout

StBoxLayout — a layout container arranging children in a single line

## Synopsis

    struct              StBoxLayout;
    struct              StBoxLayoutClass;
    gboolean            st_box_layout_get_pack_start        (StBoxLayout *box);
    gboolean            st_box_layout_get_vertical          (StBoxLayout *box);
    void                st_box_layout_insert_actor          (StBoxLayout *self,
                                                             ClutterActor *actor,
                                                             int pos);
    void                st_box_layout_insert_before         (StBoxLayout *self,
                                                             ClutterActor *actor,
                                                             ClutterActor *sibling);
    StWidget *          st_box_layout_new                   (void);
    void                st_box_layout_set_pack_start        (StBoxLayout *box,
                                                             gboolean pack_start);
    void                st_box_layout_set_vertical          (StBoxLayout *box,
                                                             gboolean vertical);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----ClutterActor
                   +----StWidget
                         +----StContainer
                               +----StBoxLayout

## Implemented Interfaces

StBoxLayout implements ClutterScriptable, ClutterAnimatable, AtkImplementorIface, ClutterContainer and StScrollable.

## Properties

      "pack-start"               gboolean              : Read / Write
      "vertical"                 gboolean              : Read / Write

## Description

The StBoxLayout arranges its children along a single line, where each child can be allocated either its preferred size or larger if the expand option is set. If the fill option is set, the actor will be allocated more than its requested size. If the fill option is not set, but the expand option is enabled, then the position of the actor within the available space can be determined by the alignment child property.

## Details

### struct StBoxLayout

    struct StBoxLayout;

The contents of this structure are private and should only be accessed through the public API.

### struct StBoxLayoutClass

    struct StBoxLayoutClass {
      StContainerClass parent_class;
    };

### st_box_layout_get_pack_start ()

    gboolean            st_box_layout_get_pack_start        (StBoxLayout *box);

Get the value of the "pack-start" property.

`box` : | A StBoxLayout
Returns : | `TRUE` if pack-start is enabled

### st_box_layout_get_vertical ()

    gboolean            st_box_layout_get_vertical          (StBoxLayout *box);

Get the value of the "vertical" property.

`box` : | A StBoxLayout
Returns : | `TRUE` if the layout is vertical

### st_box_layout_insert_actor ()

    void                st_box_layout_insert_actor          (StBoxLayout *self,
                                                             ClutterActor *actor,
                                                             int pos);

Adds `actor` to `self` at position `pos`. If `pos` is negative or larger than the number of elements in the list then `actor` is added after all the others previously added.

`self` : | A StBoxLayout
`actor` : | A ClutterActor
`pos` : | position to insert actor

### st_box_layout_insert_before ()

    void                st_box_layout_insert_before         (StBoxLayout *self,
                                                             ClutterActor *actor,
                                                             ClutterActor *sibling);

Adds `actor` to `self` at the position before `sibling`. `sibling` cannot be `NULL` and must be already a child of `self`.

`self` : | A StBoxLayout
`actor` : | A ClutterActor
`sibling` : | A previously added ClutterActor

### st_box_layout_new ()

    StWidget *          st_box_layout_new                   (void);

Create a new StBoxLayout.

Returns : | a newly allocated StBoxLayout

### st_box_layout_set_pack_start ()

    void                st_box_layout_set_pack_start        (StBoxLayout *box,
                                                             gboolean pack_start);

Set the value of the "pack-start" property.

`box` : | A StBoxLayout
`pack_start` : | `TRUE` if the layout should use pack-start

### st_box_layout_set_vertical ()

    void                st_box_layout_set_vertical          (StBoxLayout *box,
                                                             gboolean vertical);

Set the value of the "vertical" property

`box` : | A StBoxLayout
`vertical` : | `TRUE` if the layout should be vertical

## Property Details

### The `"pack-start"` property

      "pack-start"               gboolean              : Read / Write

Whether to pack items at the start of the box.

Default value: FALSE

### The `"vertical"` property

      "vertical"                 gboolean              : Read / Write

Whether the layout should be vertical, ratherthan horizontal.

Default value: FALSE