Gtk.InfoBar
Description: Reference for Gtk.InfoBar

### Class

# GtkInfoBar

#### Description [src]

    final class Gtk.InfoBar : Gtk.Widget {
      /* No available fields */
    }

`GtkInfoBar` can be show messages to the user without a dialog.

It is often temporarily shown at the top or bottom of a document. In contrast to `GtkDialog`, which has an action area at the bottom, `GtkInfoBar` has an action area at the side.

The API of `GtkInfoBar` is very similar to `GtkDialog`, allowing you to add buttons to the action area with `gtk_info_bar_add_button()` or `gtk_info_bar_new_with_buttons()`. The sensitivity of action widgets can be controlled with `gtk_info_bar_set_response_sensitive()`.

To add widgets to the main content area of a `GtkInfoBar`, use `gtk_info_bar_add_child()`.

Similar to `GtkMessageDialog`, the contents of a `GtkInfoBar` can by classified as error message, warning, informational message, etc, by using `gtk_info_bar_set_message_type()`. GTK may use the message type to determine how the message is displayed.

A simple example for using a `GtkInfoBar`:

    GtkWidget *message_label;
    GtkWidget *widget;
    GtkWidget *grid;
    GtkInfoBar *bar;

    // set up info bar
    widget = gtk_info_bar_new ();
    bar = GTK_INFO_BAR (widget);
    grid = gtk_grid_new ();

    message_label = gtk_label_new ("");
    gtk_info_bar_add_child (bar, message_label);
    gtk_info_bar_add_button (bar,
                             _("_OK"),
                             GTK_RESPONSE_OK);
    g_signal_connect (bar,
                      "response",
                      G_CALLBACK (gtk_widget_hide),
                      NULL);
    gtk_grid_attach (GTK_GRID (grid),
                     widget,
                     0, 2, 1, 1);

    // ...

    // show an error message
    gtk_label_set_text (GTK_LABEL (message_label), "An error occurred!");
    gtk_info_bar_set_message_type (bar, GTK_MESSAGE_ERROR);
    gtk_widget_show (bar);

# GtkInfoBar as GtkBuildable

`GtkInfoBar` supports a custom `<action-widgets>` element, which can contain multiple `<action-widget>` elements. The “response” attribute specifies a numeric response, and the content of the element is the id of widget (which should be a child of the dialogs `action_area`).

`GtkInfoBar` supports adding action widgets by specifying “action” as the “type” attribute of a `<child>` element. The widget will be added either to the action area. The response id has to be associated with the action widget using the `<action-widgets>` element.

# CSS nodes

`GtkInfoBar` has a single CSS node with name infobar. The node may get one of the style classes .info, .warning, .error or .question, depending on the message type. If the info bar shows a close button, that button will have the .close style class applied.

#### Hierarchy

#### Ancestors

- GtkWidget
- GInitiallyUnowned
- GObject

#### Implements

- GtkAccessible
- GtkBuildable
- GtkConstraintTarget

#### Constructors

###### gtk_info_bar_new

Creates a new `GtkInfoBar` object.

###### gtk_info_bar_new_with_buttons

Creates a new `GtkInfoBar` with buttons.

#### Instance methods

###### gtk_info_bar_add_action_widget

Add an activatable widget to the action area of a `GtkInfoBar`.

###### gtk_info_bar_add_button

Adds a button with the given text.

###### gtk_info_bar_add_buttons

Adds multiple buttons.

###### gtk_info_bar_add_child

Adds a widget to the content area of the info bar.

###### gtk_info_bar_get_message_type

Returns the message type of the message area.

###### gtk_info_bar_get_revealed

Returns whether the info bar is currently revealed.

###### gtk_info_bar_get_show_close_button

Returns whether the widget will display a standard close button.

###### gtk_info_bar_remove_action_widget

Removes a widget from the action area of `info_bar`.

###### gtk_info_bar_remove_child

Removes a widget from the content area of the info bar.

###### gtk_info_bar_response

Emits the “response” signal with the given `response_id`.

###### gtk_info_bar_set_default_response

Sets the last widget in the info bar’s action area with the given response_id as the default widget for the dialog.

###### gtk_info_bar_set_message_type

Sets the message type of the message area.

###### gtk_info_bar_set_response_sensitive

Sets the sensitivity of action widgets for `response_id`.

###### gtk_info_bar_set_revealed

Sets whether the `GtkInfoBar` is revealed.

###### gtk_info_bar_set_show_close_button

If true, a standard close button is shown.

##### Methods inherited from GtkWidget (159)

Please see GtkWidget for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GtkAccessible (10)

###### gtk_accessible_get_accessible_role

Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.

###### gtk_accessible_reset_property

Resets the accessible `property` to its default value.

###### gtk_accessible_reset_relation

Resets the accessible `relation` to its default value.

###### gtk_accessible_reset_state

Resets the accessible `state` to its default value.

###### gtk_accessible_update_property

Updates a list of accessible properties.

###### gtk_accessible_update_property_value

Updates an array of accessible properties.

###### gtk_accessible_update_relation

Updates a list of accessible relations.

###### gtk_accessible_update_relation_value

Updates an array of accessible relations.

###### gtk_accessible_update_state

Updates a list of accessible states. See the `GtkAccessibleState` documentation for the value types of accessible states.

###### gtk_accessible_update_state_value

Updates an array of accessible states.

##### Methods inherited from GtkBuildable (1)

###### gtk_buildable_get_buildable_id

Gets the ID of the `buildable` object.

#### Properties

###### Gtk.InfoBar:message-type

The type of the message.

###### Gtk.InfoBar:revealed

Whether the info bar shows its contents.

###### Gtk.InfoBar:show-close-button

Whether to include a standard close button.

##### Properties inherited from GtkWidget (34)

###### Gtk.Widget:can-focus

Whether the widget or any of its descendents can accept the input focus.

###### Gtk.Widget:can-target

Whether the widget can receive pointer events.

###### Gtk.Widget:css-classes

A list of css classes applied to this widget.

###### Gtk.Widget:css-name

The name of this widget in the CSS tree.

###### Gtk.Widget:cursor

The cursor used by `widget`.

###### Gtk.Widget:focus-on-click

Whether the widget should grab focus when it is clicked with the mouse.

###### Gtk.Widget:focusable

Whether this widget itself will accept the input focus.

###### Gtk.Widget:halign

How to distribute horizontal space if widget gets extra space.

###### Gtk.Widget:has-default

Whether the widget is the default widget.

###### Gtk.Widget:has-focus

Whether the widget has the input focus.

###### Gtk.Widget:has-tooltip

Enables or disables the emission of the ::query-tooltip signal on `widget`.

###### Gtk.Widget:height-request

Override for height request of the widget.

###### Gtk.Widget:hexpand

Whether to expand horizontally.

###### Gtk.Widget:hexpand-set

Whether to use the `hexpand` property.

###### Gtk.Widget:layout-manager

The `GtkLayoutManager` instance to use to compute the preferred size of the widget, and allocate its children.

###### Gtk.Widget:margin-bottom

Margin on bottom side of widget.

###### Gtk.Widget:margin-end

Margin on end of widget, horizontally.

###### Gtk.Widget:margin-start

Margin on start of widget, horizontally.

###### Gtk.Widget:margin-top

Margin on top side of widget.

###### Gtk.Widget:name

The name of the widget.

###### Gtk.Widget:opacity

The requested opacity of the widget.

###### Gtk.Widget:overflow

How content outside the widget’s content area is treated.

###### Gtk.Widget:parent

The parent widget of this widget.

###### Gtk.Widget:receives-default

Whether the widget will receive the default action when it is focused.

###### Gtk.Widget:root

The `GtkRoot` widget of the widget tree containing this widget.

###### Gtk.Widget:scale-factor

The scale factor of the widget.

###### Gtk.Widget:sensitive

Whether the widget responds to input.

###### Gtk.Widget:tooltip-markup

Sets the text of tooltip to be the given string, which is marked up with Pango markup.

###### Gtk.Widget:tooltip-text

Sets the text of tooltip to be the given string.

###### Gtk.Widget:valign

How to distribute vertical space if widget gets extra space.

###### Gtk.Widget:vexpand

Whether to expand vertically.

###### Gtk.Widget:vexpand-set

Whether to use the `vexpand` property.

###### Gtk.Widget:visible

Whether the widget is visible.

###### Gtk.Widget:width-request

Override for width request of the widget.

##### Properties inherited from GtkAccessible (1)

###### Gtk.Accessible:accessible-role

The accessible role of the given `GtkAccessible` implementation.

#### Signals

###### Gtk.InfoBar::close

Gets emitted when the user uses a keybinding to dismiss the info bar.

###### Gtk.InfoBar::response

Emitted when an action widget is clicked.

##### Signals inherited from GtkWidget (13)

###### Gtk.Widget::destroy

Signals that all holders of a reference to the widget should release the reference that they hold.

###### Gtk.Widget::direction-changed

Emitted when the text direction of a widget changes.

###### Gtk.Widget::hide

Emitted when `widget` is hidden.

###### Gtk.Widget::keynav-failed

Emitted if keyboard navigation fails.

###### Gtk.Widget::map

Emitted when `widget` is going to be mapped.

###### Gtk.Widget::mnemonic-activate

Emitted when a widget is activated via a mnemonic.

###### Gtk.Widget::move-focus

Emitted when the focus is moved.

###### Gtk.Widget::query-tooltip

Emitted when the widgets tooltip is about to be shown.

###### Gtk.Widget::realize

Emitted when `widget` is associated with a `GdkSurface`.

###### Gtk.Widget::show

Emitted when `widget` is shown.

###### Gtk.Widget::state-flags-changed

Emitted when the widget state changes.

###### Gtk.Widget::unmap

Emitted when `widget` is going to be unmapped.

###### Gtk.Widget::unrealize

Emitted when the `GdkSurface` associated with `widget` is destroyed.

##### Signals inherited from GObject (1)

###### GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.