Report messages of minor importance to the user
Class GtkStatusbar
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.
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.
One could say that a statusbar maintains one stack of messages for display purposes, but allows multiple message producers to maintain sub-stacks of the messages they produced (via context ids).
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 its message_id was recorded at the time it was added. This is done using gtk_statusbar_remove().
Methods | |
get_context_id | Returns a new context identifier, given a description of the actual context. |
get_has_resize_grip | Returns whether the statusbar has a resize grip. |
get_message_area | Retrieves the box containing the label widget. |
pop | Removes the first message in the GtkStatusBar's stack with the given context id. |
push | Pushes a new message onto a statusbar's stack. |
remove | Forces the removal of a message from a statusbar's stack. |
set_has_resize_grip | Sets whether the statusbar has a resize grip. true by default. |
Returns a new context identifier, given a description of the actual context.
GtkStatusbar.get_context_id( context_description )
context_description | textual description of what context the new message is being used in |
Return | an integer id |
Note that the description is not shown in the UI.
Returns whether the statusbar has a resize grip.
GtkStatusbar.get_has_resize_grip()
Return | true if the statusbar has a resize grip. |
Retrieves the box containing the label widget.
GtkStatusbar.get_message_area()
Return | a GtkHBox |
Removes the first message in the GtkStatusBar's stack with the given context id.
GtkStatusbar.pop( context_id )
context_id | a context identifier |
Note that this may not change the displayed message, if the message at the top of the stack has a different context id.
Pushes a new message onto a statusbar's stack.
GtkStatusbar.push( context_id, text )
context_id | the message's context id, as returned by get_context_id() |
text | the message to add to the statusbar |
Return | a message id that can be used with remove(). |
Forces the removal of a message from a statusbar's stack.
GtkStatusbar.remove( context_id, message_id )
context_id | a context identifier |
message_id | a message identifier, as returned by push() |
The exact context_id and message_id must be specified.
Sets whether the statusbar has a resize grip. true by default.
GtkStatusbar.set_has_resize_grip( setting )
setting | true to have a resize grip |