<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY pi "&#960;">
<!ENTITY solidus "&#8260;">
]>
<refentry id="GtkInfoBar">
<refmeta>
<refentrytitle role="top_of_page" id="GtkInfoBar.top_of_page">GtkInfoBar</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkInfoBar</refname>
<refpurpose>Report important messages to the user</refpurpose>
</refnamediv>

<refsect1 id="GtkInfoBar.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-info-bar-new">gtk_info_bar_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-info-bar-new-with-buttons">gtk_info_bar_new_with_buttons</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-add-action-widget">gtk_info_bar_add_action_widget</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-remove-action-widget">gtk_info_bar_remove_action_widget</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-info-bar-add-button">gtk_info_bar_add_button</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-add-buttons">gtk_info_bar_add_buttons</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-set-response-sensitive">gtk_info_bar_set_response_sensitive</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-set-default-response">gtk_info_bar_set_default_response</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-response">gtk_info_bar_response</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-set-message-type">gtk_info_bar_set_message_type</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkMessageType"><returnvalue>GtkMessageType</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-get-message-type">gtk_info_bar_get_message_type</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-get-show-close-button">gtk_info_bar_get_show_close_button</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-set-show-close-button">gtk_info_bar_set_show_close_button</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-get-revealed">gtk_info_bar_get_revealed</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-set-revealed">gtk_info_bar_set_revealed</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-add-child">gtk_info_bar_add_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-info-bar-remove-child">gtk_info_bar_remove_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkInfoBar.properties" role="properties">
<title role="properties.title">Properties</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="properties_type" colwidth="150px"/>
<colspec colname="properties_name" colwidth="300px"/>
<colspec colname="properties_flags" colwidth="200px"/>
<tbody>
<row><entry role="property_type"><link linkend="GtkMessageType"><type>GtkMessageType</type></link></entry><entry role="property_name"><link linkend="GtkInfoBar--message-type">message-type</link></entry><entry role="property_flags">Read / Write / Construct</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkInfoBar--revealed">revealed</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkInfoBar--show-close-button">show-close-button</link></entry><entry role="property_flags">Read / Write / Construct</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkInfoBar.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="signal_proto_type" colwidth="150px"/>
<colspec colname="signal_proto_name" colwidth="300px"/>
<colspec colname="signal_proto_flags" colwidth="200px"/>
<tbody>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkInfoBar-close">close</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkInfoBar-response">response</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkInfoBar.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GtkInfoBar-struct">GtkInfoBar</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkInfoBar.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
        <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GtkWidget">GtkWidget</link>
            <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkInfoBar
</screen>
</refsect1>
<refsect1 id="GtkInfoBar.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkInfoBar implements
 <link linkend="AtkImplementorIface">AtkImplementorIface</link>,  <link linkend="GtkBuildable">GtkBuildable</link> and  <link linkend="GtkConstraintTarget">GtkConstraintTarget</link>.</para>

</refsect1>

<refsect1 id="GtkInfoBar.includes"><title>Includes</title><synopsis>#include &lt;gtk/gtk.h&gt;
</synopsis></refsect1>

<refsect1 id="GtkInfoBar.description" role="desc">
<title role="desc.title">Description</title>
<para><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> 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 <link linkend="GtkDialog"><type>GtkDialog</type></link>, which
has an action area at the bottom, <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> has an action area
at the side.</para>
<para>The API of <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> is very similar to <link linkend="GtkDialog"><type>GtkDialog</type></link>, allowing you
to add buttons to the action area with <link linkend="gtk-info-bar-add-button"><function>gtk_info_bar_add_button()</function></link> or
<link linkend="gtk-info-bar-new-with-buttons"><function>gtk_info_bar_new_with_buttons()</function></link>. The sensitivity of action widgets
can be controlled with <link linkend="gtk-info-bar-set-response-sensitive"><function>gtk_info_bar_set_response_sensitive()</function></link>.</para>
<para>To add widgets to the main content area of a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link>, use
<link linkend="gtk-info-bar-add-child"><function>gtk_info_bar_add_child()</function></link>.</para>
<para>Similar to <link linkend="GtkMessageDialog"><type>GtkMessageDialog</type></link>, the contents of a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> can by
classified as error message, warning, informational message, etc,
by using <link linkend="gtk-info-bar-set-message-type"><function>gtk_info_bar_set_message_type()</function></link>. GTK+ may use the message type
to determine how the message is displayed.</para>
<para>A simple example for using a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link>:</para>
<informalexample><programlisting role="example"><![CDATA[
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);
]]></programlisting></informalexample>
<para></para>
<refsect2><title>GtkInfoBar as GtkBuildable</title><para>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”.</para>
<para>GtkInfoBar supports a custom &lt;action-widgets> element, which can contain
multiple &lt;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 <parameter>action_area</parameter>
).</para>
</refsect2>
<refsect2><title>CSS nodes</title><para>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.</para>
</refsect2>

</refsect1>
<refsect1 id="GtkInfoBar.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gtk-info-bar-new" role="function">
<title>gtk_info_bar_new&#160;()</title>
<indexterm zone="gtk-info-bar-new"><primary>gtk_info_bar_new</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_info_bar_new (<parameter><type>void</type></parameter>);</programlisting>
<para>Creates a new <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> object.</para>
<refsect3 id="gtk-info-bar-new.returns" role="returns">
<title>Returns</title>
<para> a new <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> object</para>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-new-with-buttons" role="function">
<title>gtk_info_bar_new_with_buttons&#160;()</title>
<indexterm zone="gtk-info-bar-new-with-buttons"><primary>gtk_info_bar_new_with_buttons</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_info_bar_new_with_buttons (<parameter>const <link linkend="gchar"><type>gchar</type></link> *first_button_text</parameter>,
                               <parameter>...</parameter>);</programlisting>
<para>Creates a new <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> with buttons. Button text/response ID
pairs should be listed, with a <link linkend="NULL:CAPS"><literal>NULL</literal></link> pointer ending the list.
A response ID can be any positive number,
or one of the values in the <link linkend="GtkResponseType"><type>GtkResponseType</type></link> enumeration. If the
user clicks one of these dialog buttons, GtkInfoBar will emit
the “response” signal with the corresponding response ID.</para>
<refsect3 id="gtk-info-bar-new-with-buttons.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>first_button_text</para></entry>
<entry role="parameter_description"><para>ext to go in first button, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>...</para></entry>
<entry role="parameter_description"><para>response ID for first button, then additional buttons, ending
with <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-info-bar-new-with-buttons.returns" role="returns">
<title>Returns</title>
<para> a new <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-add-action-widget" role="function">
<title>gtk_info_bar_add_action_widget&#160;()</title>
<indexterm zone="gtk-info-bar-add-action-widget"><primary>gtk_info_bar_add_action_widget</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_info_bar_add_action_widget (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>,
                                <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> response_id</parameter>);</programlisting>
<para>Add an activatable widget to the action area of a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link>,
connecting a signal handler that will emit the <link linkend="GtkInfoBar-response"><type>“response”</type></link>
signal on the message area when the widget is activated. The widget
is appended to the end of the message areas action area.</para>
<refsect3 id="gtk-info-bar-add-action-widget.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>an activatable widget</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>response_id</para></entry>
<entry role="parameter_description"><para>response ID for <parameter>child</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-remove-action-widget" role="function">
<title>gtk_info_bar_remove_action_widget&#160;()</title>
<indexterm zone="gtk-info-bar-remove-action-widget"><primary>gtk_info_bar_remove_action_widget</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_info_bar_remove_action_widget (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>,
                                   <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>);</programlisting>
<para>Removes a widget from the action area of <parameter>info_bar</parameter>
, after
it been put there by a call to <link linkend="gtk-info-bar-add-action-widget"><function>gtk_info_bar_add_action_widget()</function></link>
or <link linkend="gtk-info-bar-add-button"><function>gtk_info_bar_add_button()</function></link>.</para>
<refsect3 id="gtk-info-bar-remove-action-widget.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>an action widget to remove</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-add-button" role="function">
<title>gtk_info_bar_add_button&#160;()</title>
<indexterm zone="gtk-info-bar-add-button"><primary>gtk_info_bar_add_button</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_info_bar_add_button (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>,
                         <parameter>const <link linkend="gchar"><type>gchar</type></link> *button_text</parameter>,
                         <parameter><link linkend="gint"><type>gint</type></link> response_id</parameter>);</programlisting>
<para>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.</para>
<refsect3 id="gtk-info-bar-add-button.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>button_text</para></entry>
<entry role="parameter_description"><para>text of button</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>response_id</para></entry>
<entry role="parameter_description"><para>response ID for the button</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-info-bar-add-button.returns" role="returns">
<title>Returns</title>
<para>the <link linkend="GtkButton"><type>GtkButton</type></link> widget
that was added. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>type</acronym> Gtk.Button]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-add-buttons" role="function">
<title>gtk_info_bar_add_buttons&#160;()</title>
<indexterm zone="gtk-info-bar-add-buttons"><primary>gtk_info_bar_add_buttons</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_info_bar_add_buttons (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>,
                          <parameter>const <link linkend="gchar"><type>gchar</type></link> *first_button_text</parameter>,
                          <parameter>...</parameter>);</programlisting>
<para>Adds more buttons, same as calling <link linkend="gtk-info-bar-add-button"><function>gtk_info_bar_add_button()</function></link>
repeatedly. The variable argument list should be <link linkend="NULL:CAPS"><literal>NULL</literal></link>-terminated
as with <link linkend="gtk-info-bar-new-with-buttons"><function>gtk_info_bar_new_with_buttons()</function></link>. Each button must have both
text and response ID.</para>
<refsect3 id="gtk-info-bar-add-buttons.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>first_button_text</para></entry>
<entry role="parameter_description"><para>button text</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>...</para></entry>
<entry role="parameter_description"><para>response ID for first button, then more text-response_id pairs,
ending with <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-set-response-sensitive" role="function">
<title>gtk_info_bar_set_response_sensitive&#160;()</title>
<indexterm zone="gtk-info-bar-set-response-sensitive"><primary>gtk_info_bar_set_response_sensitive</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_info_bar_set_response_sensitive (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>,
                                     <parameter><link linkend="gint"><type>gint</type></link> response_id</parameter>,
                                     <parameter><link linkend="gboolean"><type>gboolean</type></link> setting</parameter>);</programlisting>
<para>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.</para>
<refsect3 id="gtk-info-bar-set-response-sensitive.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>response_id</para></entry>
<entry role="parameter_description"><para>a response ID</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>setting</para></entry>
<entry role="parameter_description"><para>TRUE for sensitive</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-set-default-response" role="function">
<title>gtk_info_bar_set_default_response&#160;()</title>
<indexterm zone="gtk-info-bar-set-default-response"><primary>gtk_info_bar_set_default_response</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_info_bar_set_default_response (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>,
                                   <parameter><link linkend="gint"><type>gint</type></link> response_id</parameter>);</programlisting>
<para>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.</para>
<para>Note that this function currently requires <parameter>info_bar</parameter>
 to
be added to a widget hierarchy.</para>
<refsect3 id="gtk-info-bar-set-default-response.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>response_id</para></entry>
<entry role="parameter_description"><para>a response ID</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-response" role="function">
<title>gtk_info_bar_response&#160;()</title>
<indexterm zone="gtk-info-bar-response"><primary>gtk_info_bar_response</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_info_bar_response (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>,
                       <parameter><link linkend="gint"><type>gint</type></link> response_id</parameter>);</programlisting>
<para>Emits the “response” signal with the given <parameter>response_id</parameter>
.</para>
<refsect3 id="gtk-info-bar-response.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>response_id</para></entry>
<entry role="parameter_description"><para>a response ID</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-set-message-type" role="function">
<title>gtk_info_bar_set_message_type&#160;()</title>
<indexterm zone="gtk-info-bar-set-message-type"><primary>gtk_info_bar_set_message_type</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_info_bar_set_message_type (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>,
                               <parameter><link linkend="GtkMessageType"><type>GtkMessageType</type></link> message_type</parameter>);</programlisting>
<para>Sets the message type of the message area.</para>
<para>GTK+ uses this type to determine how the message is displayed.</para>
<refsect3 id="gtk-info-bar-set-message-type.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>message_type</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkMessageType"><type>GtkMessageType</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-get-message-type" role="function">
<title>gtk_info_bar_get_message_type&#160;()</title>
<indexterm zone="gtk-info-bar-get-message-type"><primary>gtk_info_bar_get_message_type</primary></indexterm>
<programlisting language="C"><link linkend="GtkMessageType"><returnvalue>GtkMessageType</returnvalue></link>
gtk_info_bar_get_message_type (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>);</programlisting>
<para>Returns the message type of the message area.</para>
<refsect3 id="gtk-info-bar-get-message-type.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-info-bar-get-message-type.returns" role="returns">
<title>Returns</title>
<para> the message type of the message area.</para>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-get-show-close-button" role="function">
<title>gtk_info_bar_get_show_close_button&#160;()</title>
<indexterm zone="gtk-info-bar-get-show-close-button"><primary>gtk_info_bar_get_show_close_button</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_info_bar_get_show_close_button (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>);</programlisting>
<para>Returns whether the widget will display a standard close button.</para>
<refsect3 id="gtk-info-bar-get-show-close-button.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-info-bar-get-show-close-button.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the widget displays standard close button</para>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-set-show-close-button" role="function">
<title>gtk_info_bar_set_show_close_button&#160;()</title>
<indexterm zone="gtk-info-bar-set-show-close-button"><primary>gtk_info_bar_set_show_close_button</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_info_bar_set_show_close_button (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>,
                                    <parameter><link linkend="gboolean"><type>gboolean</type></link> setting</parameter>);</programlisting>
<para>If true, a standard close button is shown. When clicked it emits
the response <link linkend="GTK-RESPONSE-CLOSE:CAPS"><literal>GTK_RESPONSE_CLOSE</literal></link>.</para>
<refsect3 id="gtk-info-bar-set-show-close-button.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>setting</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to include a close button</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-get-revealed" role="function">
<title>gtk_info_bar_get_revealed&#160;()</title>
<indexterm zone="gtk-info-bar-get-revealed"><primary>gtk_info_bar_get_revealed</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_info_bar_get_revealed (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>);</programlisting>
<para>Returns whether the info bar is currently revealed.</para>
<refsect3 id="gtk-info-bar-get-revealed.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-info-bar-get-revealed.returns" role="returns">
<title>Returns</title>
<para> the current value of the <link linkend="GtkInfoBar--revealed"><type>“revealed”</type></link> property</para>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-set-revealed" role="function">
<title>gtk_info_bar_set_revealed&#160;()</title>
<indexterm zone="gtk-info-bar-set-revealed"><primary>gtk_info_bar_set_revealed</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_info_bar_set_revealed (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>,
                           <parameter><link linkend="gboolean"><type>gboolean</type></link> revealed</parameter>);</programlisting>
<para>Sets the <link linkend="GtkInfoBar--revealed"><type>“revealed”</type></link> property to <parameter>revealed</parameter>
. Changing this will make
<parameter>info_bar</parameter>
 reveal (<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>) or conceal (<link linkend="FALSE:CAPS"><literal>FALSE</literal></link>) itself via a sliding transition.</para>
<para>Note: this does not show or hide <parameter>info_bar</parameter>
 in the <link linkend="GtkWidget--visible"><type>“visible”</type></link> sense,
so revealing has no effect if <link linkend="GtkWidget--visible"><type>“visible”</type></link> is <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>.</para>
<refsect3 id="gtk-info-bar-set-revealed.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>revealed</para></entry>
<entry role="parameter_description"><para>The new value of the property</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-add-child" role="function">
<title>gtk_info_bar_add_child&#160;()</title>
<indexterm zone="gtk-info-bar-add-child"><primary>gtk_info_bar_add_child</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_info_bar_add_child (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>,
                        <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>);</programlisting>
<para>Adds a widget to the content area of the info bar.</para>
<refsect3 id="gtk-info-bar-add-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>the child to be added</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-info-bar-remove-child" role="function">
<title>gtk_info_bar_remove_child&#160;()</title>
<indexterm zone="gtk-info-bar-remove-child"><primary>gtk_info_bar_remove_child</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_info_bar_remove_child (<parameter><link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar</parameter>,
                           <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>);</programlisting>
<para>Removes a widget from the content area of the info bar,
after it has been added with <link linkend="gtk-info-bar-add-child"><function>gtk_info_bar_add_child()</function></link>.</para>
<refsect3 id="gtk-info-bar-remove-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkInfoBar"><type>GtkInfoBar</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>a child that has been added to the content area</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkInfoBar.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GtkInfoBar-struct" role="struct">
<title>GtkInfoBar</title>
<indexterm zone="GtkInfoBar-struct"><primary>GtkInfoBar</primary></indexterm>
<programlisting language="C">typedef struct _GtkInfoBar GtkInfoBar;</programlisting>
</refsect2>

</refsect1>
<refsect1 id="GtkInfoBar.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkInfoBar--message-type" role="property"><title>The <literal>“message-type”</literal> property</title>
<indexterm zone="GtkInfoBar--message-type"><primary>GtkInfoBar:message-type</primary></indexterm>
<programlisting>  “message-type”             <link linkend="GtkMessageType"><type>GtkMessageType</type></link></programlisting>
<para>The type of the message.</para>
<para>The type may be used to determine the appearance of the info bar.</para>
<para>Owner: GtkInfoBar</para>
<para>Flags: Read / Write / Construct</para>
<para>Default value: GTK_MESSAGE_INFO</para>
</refsect2>
<refsect2 id="GtkInfoBar--revealed" role="property"><title>The <literal>“revealed”</literal> property</title>
<indexterm zone="GtkInfoBar--revealed"><primary>GtkInfoBar:revealed</primary></indexterm>
<programlisting>  “revealed”                 <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Controls whether the info bar shows its contents or not.</para><para>Owner: GtkInfoBar</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkInfoBar--show-close-button" role="property"><title>The <literal>“show-close-button”</literal> property</title>
<indexterm zone="GtkInfoBar--show-close-button"><primary>GtkInfoBar:show-close-button</primary></indexterm>
<programlisting>  “show-close-button”        <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether to include a standard close button.</para>
<para>Owner: GtkInfoBar</para>
<para>Flags: Read / Write / Construct</para>
<para>Default value: FALSE</para>
</refsect2>

</refsect1>
<refsect1 id="GtkInfoBar.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkInfoBar-close" role="signal"><title>The <literal>“close”</literal> signal</title>
<indexterm zone="GtkInfoBar-close"><primary>GtkInfoBar::close</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *infobar,
               <link linkend="gpointer"><type>gpointer</type></link>    user_data)</programlisting>
<para>The ::close signal is a
<link linkend="GtkBindingSignal">keybinding signal</link>
which gets emitted when the user uses a keybinding to dismiss
the info bar.</para>
<para>The default binding for this signal is the Escape key.</para>
<refsect3 id="GtkInfoBar-close.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkInfoBar-response" role="signal"><title>The <literal>“response”</literal> signal</title>
<indexterm zone="GtkInfoBar-response"><primary>GtkInfoBar::response</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkInfoBar"><type>GtkInfoBar</type></link> *info_bar,
               <link linkend="gint"><type>gint</type></link>        response_id,
               <link linkend="gpointer"><type>gpointer</type></link>    user_data)</programlisting>
<para>Emitted when an action widget is clicked or the application programmer
calls <link linkend="gtk-info-bar-response"><function>gtk_info_bar_response()</function></link>. The <parameter>response_id</parameter>
 depends on which action
widget was clicked.</para>
<refsect3 id="GtkInfoBar-response.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>info_bar</para></entry>
<entry role="parameter_description"><para>the object on which the signal is emitted</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>response_id</para></entry>
<entry role="parameter_description"><para>the response ID</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2>
</refsect1>
<refsect1 id="GtkInfoBar.see-also">
<title>See Also</title>
<para><link linkend="GtkStatusbar"><type>GtkStatusbar</type></link>, <link linkend="GtkMessageDialog"><type>GtkMessageDialog</type></link></para>

</refsect1>

</refentry>
