gtk-0.14.2: Binding to the Gtk+ graphical user interface library.

Maintainergtk2hs-users@lists.sourceforge.net
Stabilityprovisional
Portabilityportable (depends on GHC)
Safe HaskellNone
LanguageHaskell98

Graphics.UI.Gtk.Display.Statusbar

Contents

Description

Report messages of minor importance to the user

Synopsis

Detail

A Statusbar is usually placed along the bottom of an application's main 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 statusbarGetContextId, 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 statusbarNew.

Messages are added to the bar's stack with statusbarPush.

The message at the top of the stack can be removed using statusbarPop. 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 statusbarRemove.

Class Hierarchy

| GObject
| +----Object
| +----Widget
| +----Container
| +----Box
| +----HBox
| +----Statusbar

Types

Constructors

statusbarNew :: IO Statusbar Source

Creates a new Statusbar ready for messages.

Methods

statusbarGetContextId Source

Arguments

:: (StatusbarClass self, GlibString string) 
=> self 
-> string

contextDescription - textual description of what context the new message is being used in.

-> IO ContextId

returns an id that can be used to later remove entries ^ from the Statusbar.

Returns a new context identifier, given a description of the actual context. This id can be used to later remove entries form the Statusbar.

statusbarPush Source

Arguments

:: (StatusbarClass self, GlibString string) 
=> self 
-> ContextId

contextId - the message's context id, as returned by statusbarGetContextId.

-> string

text - the message to add to the statusbar.

-> IO MessageId

returns the message's new message id for use with statusbarRemove.

Pushes a new message onto the Statusbar's stack. It will be displayed as long as it is on top of the stack.

statusbarPop Source

Arguments

:: StatusbarClass self 
=> self 
-> ContextId

contextId - the context identifier used when the message was added.

-> IO () 

Removes the topmost message that has the correct context.

statusbarRemove Source

Arguments

:: StatusbarClass self 
=> self 
-> ContextId

contextId - a context identifier.

-> MessageId

messageId - a message identifier, as returned by statusbarPush.

-> IO () 

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

statusbarSetHasResizeGrip :: StatusbarClass self => self -> Bool -> IO () Source

Sets whether the statusbar has a resize grip. True by default.

statusbarGetHasResizeGrip :: StatusbarClass self => self -> IO Bool Source

Returns whether the statusbar has a resize grip.

statusbarGetMessageArea :: StatusbarClass self => self -> IO Box Source

Retrieves the box containing the label widget.

statusbarRemoveAll Source

Arguments

:: StatusbarClass self 
=> self 
-> Int

contextId a context identifier

-> IO () 

Forces the removal of all messages from a statusbar's stack with the exact contextId.

  • Available since Gtk+ version 2.22

Attributes

statusbarHasResizeGrip :: StatusbarClass self => Attr self Bool Source

Whether the statusbar has a grip for resizing the toplevel window.

Default value: True

Removed in Gtk3.

Signals

textPopped :: (StatusbarClass self, GlibString string) => Signal self (ContextId -> string -> IO ()) Source

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

textPushed :: (StatusbarClass self, GlibString string) => Signal self (ContextId -> string -> IO ()) Source

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

Deprecated

onTextPopped :: (StatusbarClass self, GlibString string) => self -> (ContextId -> string -> IO ()) -> IO (ConnectId self) Source

Called if a message is removed.

afterTextPopped :: (StatusbarClass self, GlibString string) => self -> (ContextId -> string -> IO ()) -> IO (ConnectId self) Source

Called if a message is removed.

onTextPushed :: (StatusbarClass self, GlibString string) => self -> (ContextId -> string -> IO ()) -> IO (ConnectId self) Source

Called if a message is pushed on top of the stack.

afterTextPushed :: (StatusbarClass self, GlibString string) => self -> (ContextId -> string -> IO ()) -> IO (ConnectId self) Source

Called if a message is pushed on top of the stack.