GtkHeaderBar

## GtkHeaderBar GtkHeaderBar — A box with a centered child |

## Synopsis

    #include <gtk/gtk.h>

    struct              GtkHeaderBar;
    GtkWidget *         gtk_header_bar_new                  (void);
    void                gtk_header_bar_set_title            (GtkHeaderBar *bar,
                                                             const gchar *title);
    const gchar *       gtk_header_bar_get_title            (GtkHeaderBar *bar);
    void                gtk_header_bar_set_subtitle         (GtkHeaderBar *bar,
                                                             const gchar *subtitle);
    const gchar *       gtk_header_bar_get_subtitle         (GtkHeaderBar *bar);
    void                gtk_header_bar_set_custom_title     (GtkHeaderBar *bar,
                                                             GtkWidget *title_widget);
    GtkWidget *         gtk_header_bar_get_custom_title     (GtkHeaderBar *bar);
    void                gtk_header_bar_pack_start           (GtkHeaderBar *bar,
                                                             GtkWidget *child);
    void                gtk_header_bar_pack_end             (GtkHeaderBar *bar,
                                                             GtkWidget *child);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkWidget
                   +----GtkContainer
                         +----GtkHeaderBar

## Implemented Interfaces

GtkHeaderBar implements AtkImplementorIface and GtkBuildable.

## Properties

      "custom-title"             GtkWidget*            : Read / Write / Construct
      "hpadding"                 gint                  : Read / Write
      "spacing"                  gint                  : Read / Write
      "subtitle"                 gchar*                : Read / Write
      "title"                    gchar*                : Read / Write
      "vpadding"                 gint                  : Read / Write

## Child Properties

      "pack-type"                GtkPackType           : Read / Write
      "position"                 gint                  : Read

## Description

GtkHeaderBar is similar to a horizontal GtkBox, it allows to place children at the start or the end. In addition, it allows a title to be displayed. The title will be centered wrt to the widget of the box, even if the children at either side take up different amounts of space.

## Details

### struct GtkHeaderBar

    struct GtkHeaderBar;

### gtk_header_bar_new ()

    GtkWidget *         gtk_header_bar_new                  (void);

Creates a new GtkHeaderBar widget.

Returns : | a new GtkHeaderBar

Since 3.10

### gtk_header_bar_set_title ()

    void                gtk_header_bar_set_title            (GtkHeaderBar *bar,
                                                             const gchar *title);

Sets the title of the GtkHeaderBar. The title should help a user identify the current view. A good title should not include the application name.

`bar` : | a GtkHeaderBar
`title` : | a title. [allow-none]

Since 3.10

### gtk_header_bar_get_title ()

    const gchar *       gtk_header_bar_get_title            (GtkHeaderBar *bar);

Retrieves the title of the header. See `gtk_header_bar_set_title()`.

`bar` : | a GtkHeaderBar
Returns : | the title of the header, or `NULL` if none has been set explicitely. The returned string is owned by the widget and must not be modified or freed.

Since 3.10

### gtk_header_bar_set_subtitle ()

    void                gtk_header_bar_set_subtitle         (GtkHeaderBar *bar,
                                                             const gchar *subtitle);

Sets the subtitle of the GtkHeaderBar. The title should give a user an additional detail to help him identify the current view.

`bar` : | a GtkHeaderBar
`subtitle` : | a subtitle. [allow-none]

Since 3.10

### gtk_header_bar_get_subtitle ()

    const gchar *       gtk_header_bar_get_subtitle         (GtkHeaderBar *bar);

Retrieves the subtitle of the header. See `gtk_header_bar_set_subtitle()`.

`bar` : | a GtkHeaderBar
Returns : | the subtitle of the header, or `NULL` if none has been set explicitely. The returned string is owned by the widget and must not be modified or freed.

Since 3.10

### gtk_header_bar_set_custom_title ()

    void                gtk_header_bar_set_custom_title     (GtkHeaderBar *bar,
                                                             GtkWidget *title_widget);

Sets a custom title for the GtkHeaderBar. The title should help a user identify the current view. This supercedes any title set by `gtk_header_bar_set_title()`. You should set the custom title to `NULL`, for the header title label to be visible again.

`bar` : | a GtkHeaderBar
`title_widget` : | a custom widget to use for a title. [allow-none]

Since 3.10

### gtk_header_bar_get_custom_title ()

    GtkWidget *         gtk_header_bar_get_custom_title     (GtkHeaderBar *bar);

Retrieves the custom title widget of the header. See `gtk_header_bar_set_custom_title()`.

`bar` : | a GtkHeaderBar
Returns : | the custom title widget of the header, or `NULL` if none has been set explicitely. [transfer none]

Since 3.10

### gtk_header_bar_pack_start ()

    void                gtk_header_bar_pack_start           (GtkHeaderBar *bar,
                                                             GtkWidget *child);

Adds `child` to `box`, packed with reference to the start of the `box`.

`bar` : | A GtkHeaderBar
`child` : | the GtkWidget to be added to `bar`

Since 3.10

### gtk_header_bar_pack_end ()

    void                gtk_header_bar_pack_end             (GtkHeaderBar *bar,
                                                             GtkWidget *child);

Adds `child` to `box`, packed with reference to the end of the `box`.

`bar` : | A GtkHeaderBar
`child` : | the GtkWidget to be added to `bar`

Since 3.10

## Property Details

### The `"custom-title"` property

      "custom-title"             GtkWidget*            : Read / Write / Construct

Custom title widget to display.

### The `"hpadding"` property

      "hpadding"                 gint                  : Read / Write

The amount of space to the left and right of children.

Allowed values: >= 0

Default value: 6

### The `"spacing"` property

      "spacing"                  gint                  : Read / Write

The amount of space between children.

Allowed values: >= 0

Default value: 6

### The `"subtitle"` property

      "subtitle"                 gchar*                : Read / Write

The subtitle to display.

Default value: NULL

### The `"title"` property

      "title"                    gchar*                : Read / Write

The title to display.

Default value: NULL

### The `"vpadding"` property

      "vpadding"                 gint                  : Read / Write

The amount of space to the above and below children.

Allowed values: >= 0

Default value: 6

## Child Property Details

### The `"pack-type"` child property

      "pack-type"                GtkPackType           : Read / Write

A GtkPackType indicating whether the child is packed with reference to the start or end of the parent.

Default value: GTK_PACK_START

### The `"position"` child property

      "position"                 gint                  : Read

The index of the child in the parent.

Allowed values: >= G_MAXULONG

Default value: 0

## See Also

GtkBox