GtkStatusbar

Name

GtkStatusbar -- report messages of minor importance to the user.

Synopsis


#include <gtk/gtk.h>


struct      GtkStatusbar;
struct      GtkStatusbarMsg;
GtkWidget*  gtk_statusbar_new               (void);
guint       gtk_statusbar_get_context_id    (GtkStatusbar *statusbar,
                                             const gchar *context_description);
guint       gtk_statusbar_push              (GtkStatusbar *statusbar,
                                             guint context_id,
                                             const gchar *text);
void        gtk_statusbar_pop               (GtkStatusbar *statusbar,
                                             guint context_id);
void        gtk_statusbar_remove            (GtkStatusbar *statusbar,
                                             guint context_id,
                                             guint message_id);

Object Hierarchy


  GtkObject
   +----GtkWidget
         +----GtkContainer
               +----GtkBox
                     +----GtkHBox
                           +----GtkStatusbar

Signal Prototypes


"text-pushed"
            void        user_function      (GtkStatusbar *statusbar,
                                            guint context_id,
                                            gchar *text,
                                            gpointer user_data);
"text-popped"
            void        user_function      (GtkStatusbar *statusbar,
                                            guint context_id,
                                            gchar *text,
                                            gpointer user_data);

Description

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

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.

Any messages added to a statusbar's stack must specify a context_id 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.

Status bars are created using gtk_statusbar_new().

Messages are added to the bar's stack with gtk_statusbar_push().

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

Details

struct GtkStatusbar

struct GtkStatusbar;

Contains private data that should be modified with the functions described below.


struct GtkStatusbarMsg

struct GtkStatusbarMsg
{
  gchar *text;
  guint context_id;
  guint message_id;
};

Holds the data for a statusbar message. text holds the actual text string. context_id is the context that this message is associated with, and message_id is this particular message's identifier. However, these fields should not be modified directly.


gtk_statusbar_new ()

GtkWidget*  gtk_statusbar_new               (void);

Creates a new GtkStatusbar ready for messages.

Returns :the new GtkStatusbar.


gtk_statusbar_get_context_id ()

guint       gtk_statusbar_get_context_id    (GtkStatusbar *statusbar,
                                             const gchar *context_description);

Returns a new context identifier, given a description of the actual context.

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


gtk_statusbar_push ()

guint       gtk_statusbar_push              (GtkStatusbar *statusbar,
                                             guint context_id,
                                             const gchar *text);

Pushes a new message onto a statusbar's stack.

statusbar :a GtkStatusbar.
context_id :the message's context id, as returned by gkt_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().


gtk_statusbar_pop ()

void        gtk_statusbar_pop               (GtkStatusbar *statusbar,
                                             guint context_id);

Removes the message at the top of a GtkStatusBar's stack.

statusbar :a GtkStatusBar.
context_id :a context identifier.


gtk_statusbar_remove ()

void        gtk_statusbar_remove            (GtkStatusbar *statusbar,
                                             guint context_id,
                                             guint message_id);

Forces the removal of a message from a statusbar's stack. The exact context_id and message_id must be specified.

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

Signals

The "text-pushed" signal

void        user_function                  (GtkStatusbar *statusbar,
                                            guint context_id,
                                            gchar *text,
                                            gpointer user_data);

Is emitted whenever a new message gets pushed onto a statusbar's stack.

statusbar :the object which received the signal.
context_id :the context id of the relevant message/statusbar.
text :the message that was pushed.
user_data :user data set when the signal handler was connected.


The "text-popped" signal

void        user_function                  (GtkStatusbar *statusbar,
                                            guint context_id,
                                            gchar *text,
                                            gpointer user_data);

Is emitted whenever a new message is popped off a statusbar's stack.

statusbar :the object which received the signal.
context_id :the context id of the relevant message/statusbar.
text :the message that was just popped.
user_data :user data set when the signal handler was connected.

See Also

GtkDialog

another way of reporting information to the user.