<!-- ##### SECTION Title ##### -->
GtkStatusbar

<!-- ##### SECTION Short_Description ##### -->
report messages of minor importance to the user.

<!-- ##### SECTION Long_Description ##### -->
<para>
A #GtkStatusbar is usually placed along the bottom of an application's main
#GtkWindow. It may provide a regular commentary of the application's status
(as is usually the case in a web browser, for example), or may be used to
simply output a message when the status changes, (when an upload is complete
in an FTP client, for example). 
It may also have a resize grip (a triangular area in the lower right corner) 
which can be clicked on to resize the window containing the statusbar.
</para>
<para>
Status bars in Gtk+ maintain a stack of messages. The message at
the top of the each bar's stack is the one that will currently be displayed.
</para>
<para>
Any messages added to a statusbar's stack must specify a <emphasis>context_id</emphasis>
that is used to uniquely identify the source of a message. This context_id can be 
generated by gtk_statusbar_get_context_id(), given a message and the
statusbar that it will be added to. Note that messages are stored in a
stack, and when choosing which message to display, the stack structure is
adhered to, regardless of the context identifier of a message.
</para>
<para>
Status bars are created using gtk_statusbar_new().
</para>
<para>
Messages are added to the bar's stack with gtk_statusbar_push().
</para>
<para>
The message at the top of the stack can be removed using gtk_statusbar_pop(). A message can be removed from anywhere in the stack if it's message_id was recorded at the time it was added. This is done using gtk_statusbar_remove().
</para>

<!-- ##### SECTION See_Also ##### -->
<para>
<variablelist>
<varlistentry>
<term>#GtkDialog</term>
<listitem><para>another way of reporting information to the user.</para></listitem>
</varlistentry>
</variablelist>
</para>

<!-- ##### STRUCT GtkStatusbar ##### -->
<para>
Contains private data that should be modified with the functions described below.
</para>


<!-- ##### FUNCTION gtk_statusbar_new ##### -->
<para>
Creates a new #GtkStatusbar ready for messages.
</para>

@Returns: the new #GtkStatusbar.


<!-- ##### FUNCTION gtk_statusbar_get_context_id ##### -->
<para>
Returns a new context identifier, given a description of the actual context.
</para>

@statusbar: a #GtkStatusbar.
@context_description: textual description of what context the new message is
being used in.
@Returns: an integer id.


<!-- ##### FUNCTION gtk_statusbar_push ##### -->
<para>
Pushes a new message onto a statusbar's stack.
</para>

@statusbar: a #GtkStatusbar.
@context_id: the message's context id, as returned by
gtk_statusbar_get_context_id().
@text: the message to add to the statusbar.
@Returns: the message's new message id for use with gtk_statusbar_remove().


<!-- ##### FUNCTION gtk_statusbar_pop ##### -->
<para>
Removes the message at the top of a #GtkStatusBar's stack.
</para>

@statusbar: a #GtkStatusBar.
@context_id: a context identifier.


<!-- ##### FUNCTION gtk_statusbar_remove ##### -->
<para>
Forces the removal of a message from a statusbar's stack. The exact @context_id and @message_id must be specified.
</para>

@statusbar: a #GtkStatusBar.
@context_id: a context identifier.
@message_id: a message identifier, as returned by gtk_statusbar_push().


<!-- ##### FUNCTION gtk_statusbar_set_has_resize_grip ##### -->
<para>
Sets whether the statusbar has a resize grip. %TRUE by default.
</para>

@statusbar: a #GtkStatusBar.
@setting: %TRUE to have a resize grip.


<!-- ##### FUNCTION gtk_statusbar_get_has_resize_grip ##### -->
<para>
Returns whether the statusbar has a resize grip.
</para>

@statusbar: a #GtkStatusBar.
@Returns: %TRUE if the statusbar has a resize grip.


<!-- ##### SIGNAL GtkStatusbar::text-popped ##### -->
<para>
Is emitted whenever a new message is popped off a statusbar's stack.
</para>

@statusbar: the object which received the signal.
@context_id: the context id of the relevant message/statusbar.
@text: the message that was just popped.

<!-- ##### SIGNAL GtkStatusbar::text-pushed ##### -->
<para>
Is emitted whenever a new message gets pushed onto a statusbar's stack.
</para>

@statusbar: the object which received the signal.
@context_id: the context id of the relevant message/statusbar.
@text: the message that was pushed.

