GtkInfoBar: GTK+ 4 Reference Manual

## GtkInfoBar GtkInfoBar — Report important messages to the user |

## Functions

GtkWidget * | gtk_info_bar_new ()
GtkWidget * | gtk_info_bar_new_with_buttons ()
void | gtk_info_bar_add_action_widget ()
GtkWidget * | gtk_info_bar_add_button ()
void | gtk_info_bar_add_buttons ()
void | gtk_info_bar_set_response_sensitive ()
void | gtk_info_bar_set_default_response ()
void | gtk_info_bar_response ()
void | gtk_info_bar_set_message_type ()
GtkMessageType | gtk_info_bar_get_message_type ()
GtkWidget * | gtk_info_bar_get_action_area ()
GtkWidget * | gtk_info_bar_get_content_area ()
gboolean | gtk_info_bar_get_show_close_button ()
void | gtk_info_bar_set_show_close_button ()
gboolean | gtk_info_bar_get_revealed ()
void | gtk_info_bar_set_revealed ()

## Types and Values

struct | GtkInfoBar

## Includes

    #include <gtk/gtk.h>

## Description

GtkInfoBar is a widget that can be used to show messages to the user without showing a dialog. It is often temporarily shown at the top or bottom of a document. In contrast to GtkDialog, which has a 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_get_content_area()` and add your widgets to the container.

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:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    // set up info bar
    GtkWidget *widget;
    GtkInfoBar *bar;

    widget = gtk_info_bar_new ();
    bar = GTK_INFO_BAR (bar);

    message_label = gtk_label_new ("");
    gtk_widget_show (message_label);
    content_area = gtk_info_bar_get_content_area (bar);
    gtk_container_add (GTK_CONTAINER (content_area),
                       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), message);
    gtk_info_bar_set_message_type (bar,
                                   GTK_MESSAGE_ERROR);
    gtk_widget_show (bar);

### GtkInfoBar as GtkBuildable

The GtkInfoBar implementation of the GtkBuildable interface exposes the content area and action area as internal children with the names “content_area” and “action_area”.

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

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

## Functions

### gtk_info_bar_new ()

    GtkWidget *
    gtk_info_bar_new (void);

Creates a new GtkInfoBar object.

#### Returns

a new GtkInfoBar object

Since: 2.18

### gtk_info_bar_new_with_buttons ()

    GtkWidget *
    gtk_info_bar_new_with_buttons (const gchar *first_button_text,
                                   ...);

Creates a new GtkInfoBar with buttons. Button text/response ID pairs should be listed, with a `NULL` pointer ending the list. A response ID can be any positive number, or one of the values in the GtkResponseType enumeration. If the user clicks one of these dialog buttons, GtkInfoBar will emit the “response” signal with the corresponding response ID.

#### Parameters

first_button_text | ext to go in first button, or `NULL`. | [allow-none]
... | response ID for first button, then additional buttons, ending with `NULL` |

#### Returns

a new GtkInfoBar

### gtk_info_bar_add_action_widget ()

    void
    gtk_info_bar_add_action_widget (GtkInfoBar *info_bar,
                                    GtkWidget *child,
                                    gint response_id);

Add an activatable widget to the action area of a GtkInfoBar, connecting a signal handler that will emit the “response” signal on the message area when the widget is activated. The widget is appended to the end of the message areas action area.

#### Parameters

info_bar | a GtkInfoBar |
child | an activatable widget |
response_id | response ID for `child` |

Since: 2.18

### gtk_info_bar_add_button ()

    GtkWidget *
    gtk_info_bar_add_button (GtkInfoBar *info_bar,
                             const gchar *button_text,
                             gint response_id);

Adds a button with the given text and sets things up so that clicking the button will emit the “response” signal with the given response_id. The button is appended to the end of the info bars's action area. The button widget is returned, but usually you don't need it.

#### Parameters

info_bar | a GtkInfoBar |
button_text | text of button |
response_id | response ID for the button |

#### Returns

the GtkButton widget that was added.

[transfer none][type Gtk.Button]

Since: 2.18

### gtk_info_bar_add_buttons ()

    void
    gtk_info_bar_add_buttons (GtkInfoBar *info_bar,
                              const gchar *first_button_text,
                              ...);

Adds more buttons, same as calling `gtk_info_bar_add_button()` repeatedly. The variable argument list should be `NULL`-terminated as with `gtk_info_bar_new_with_buttons()`. Each button must have both text and response ID.

#### Parameters

info_bar | a GtkInfoBar |
first_button_text | button text |
... | response ID for first button, then more text-response_id pairs, ending with `NULL` |

Since: 2.18

### gtk_info_bar_set_response_sensitive ()

    void
    gtk_info_bar_set_response_sensitive (GtkInfoBar *info_bar,
                                         gint response_id,
                                         gboolean setting);

Calls gtk_widget_set_sensitive (widget, setting) for each widget in the info bars’s action area with the given response_id. A convenient way to sensitize/desensitize dialog buttons.

#### Parameters

info_bar | a GtkInfoBar |
response_id | a response ID |
setting | TRUE for sensitive |

Since: 2.18

### gtk_info_bar_set_default_response ()

    void
    gtk_info_bar_set_default_response (GtkInfoBar *info_bar,
                                       gint response_id);

Sets the last widget in the info bar’s action area with the given response_id as the default widget for the dialog. Pressing “Enter” normally activates the default widget.

Note that this function currently requires `info_bar` to be added to a widget hierarchy.

#### Parameters

info_bar | a GtkInfoBar |
response_id | a response ID |

Since: 2.18

### gtk_info_bar_response ()

    void
    gtk_info_bar_response (GtkInfoBar *info_bar,
                           gint response_id);

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

#### Parameters

info_bar | a GtkInfoBar |
response_id | a response ID |

Since: 2.18

### gtk_info_bar_set_message_type ()

    void
    gtk_info_bar_set_message_type (GtkInfoBar *info_bar,
                                   GtkMessageType message_type);

Sets the message type of the message area.

GTK+ uses this type to determine how the message is displayed.

#### Parameters

info_bar | a GtkInfoBar |
message_type | a GtkMessageType |

Since: 2.18

### gtk_info_bar_get_message_type ()

    GtkMessageType
    gtk_info_bar_get_message_type (GtkInfoBar *info_bar);

Returns the message type of the message area.

#### Parameters

info_bar | a GtkInfoBar |

#### Returns

the message type of the message area.

Since: 2.18

### gtk_info_bar_get_action_area ()

    GtkWidget *
    gtk_info_bar_get_action_area (GtkInfoBar *info_bar);

Returns the action area of `info_bar` .

#### Parameters

info_bar | a GtkInfoBar |

#### Returns

the action area.

[transfer none]

Since: 2.18

### gtk_info_bar_get_content_area ()

    GtkWidget *
    gtk_info_bar_get_content_area (GtkInfoBar *info_bar);

Returns the content area of `info_bar` .

#### Parameters

info_bar | a GtkInfoBar |

#### Returns

the content area.

[transfer none]

Since: 2.18

### gtk_info_bar_get_show_close_button ()

    gboolean
    gtk_info_bar_get_show_close_button (GtkInfoBar *info_bar);

Returns whether the widget will display a standard close button.

#### Parameters

info_bar | a GtkInfoBar |

#### Returns

`TRUE` if the widget displays standard close button

Since: 3.10

### gtk_info_bar_set_show_close_button ()

    void
    gtk_info_bar_set_show_close_button (GtkInfoBar *info_bar,
                                        gboolean setting);

If true, a standard close button is shown. When clicked it emits the response `GTK_RESPONSE_CLOSE`.

#### Parameters

info_bar | a GtkInfoBar |
setting | `TRUE` to include a close button |

Since: 3.10

### gtk_info_bar_get_revealed ()

    gboolean
    gtk_info_bar_get_revealed (GtkInfoBar *info_bar);

#### Parameters

info_bar | a GtkInfoBar |

#### Returns

the current value of the GtkInfoBar:revealed property.

Since: 3.90

### gtk_info_bar_set_revealed ()

    void
    gtk_info_bar_set_revealed (GtkInfoBar *info_bar,
                               gboolean revealed);

Sets the GtkInfoBar:revealed property to `revealed` . This will cause `info_bar` to show up with a slide-in transition.

Note that this settings does not automatically show `info_bar` and thus won't have any effect if it is invisible.

#### Parameters

info_bar | a GtkActionBar |
revealed | The new value of the property |

Since: 3.90

## Types and Values

### struct GtkInfoBar

    struct GtkInfoBar {
      GtkBox parent;
    };

## See Also

GtkStatusbar, GtkMessageDialog