Next: , Previous: GtkProgressBar, Up: Top


13 GtkStatusbar

Report messages of minor importance to the user

13.1 Overview

A <gtk-statusbar> is usually placed along the bottom of an application's main <gtk-window>. 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.

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.

13.2 Usage

— Class: <gtk-statusbar>

Derives from <gtk-hbox>.

This class defines the following slots:

has-resize-grip
Whether the statusbar has a grip for resizing the toplevel
— Signal on <gtk-statusbar>: text-pushed (arg0 <guint>) (arg1 <gchararray>)

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

— Signal on <gtk-statusbar>: text-popped (arg0 <guint>) (arg1 <gchararray>)

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

— Function: gtk-statusbar-new ⇒  (ret <gtk-widget>)

Creates a new <gtk-statusbar> ready for messages.

ret
the new <gtk-statusbar>.
— Function: gtk-statusbar-get-context-id (self <gtk-statusbar>) (context_description mchars) ⇒  (ret unsigned-int)
— Method: get-context-id

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

statusbar
a <gtk-statusbar>.
context-description
textual description of what context the new message is being used in.
ret
an integer id.
— Function: gtk-statusbar-push (self <gtk-statusbar>) (context_id unsigned-int) (text mchars) ⇒  (ret unsigned-int)
— Method: push

Pushes a new message onto a statusbar's stack.

statusbar
a <gtk-statusbar>.
context-id
the message's context id, as returned by gtk-statusbar-get-context-id.
text
the message to add to the statusbar.
ret
the message's new message id for use with gtk-statusbar-remove.
— Function: gtk-statusbar-pop (self <gtk-statusbar>) (context_id unsigned-int)
— Method: pop

Removes the message at the top of a <gtk-status-bar>'s stack.

statusbar
a <gtk-status-bar>.
context-id
a context identifier.
— Function: gtk-statusbar-remove (self <gtk-statusbar>) (context_id unsigned-int) (message_id unsigned-int)
— Method: remove

Forces the removal of a message from a statusbar's stack. The exact context-id and message-id must be specified.

statusbar
a <gtk-status-bar>.
context-id
a context identifier.
message-id
a message identifier, as returned by gtk-statusbar-push.
— Function: gtk-statusbar-set-has-resize-grip (self <gtk-statusbar>) (setting bool)
— Method: set-has-resize-grip

Sets whether the statusbar has a resize grip. ‘#t’ by default.

statusbar
a <gtk-status-bar>.
setting
#t’ to have a resize grip.
— Function: gtk-statusbar-get-has-resize-grip (self <gtk-statusbar>) ⇒  (ret bool)
— Method: get-has-resize-grip

Returns whether the statusbar has a resize grip.

statusbar
a <gtk-status-bar>.
ret
#t’ if the statusbar has a resize grip.