_
BarA status bar is a special widget in which you can display messages. This type of widget is generally found at the bottom of application windows, and is used to display help or error messages.
This widget works as a stack of messages, ie all older messages are kept when a new one is inserted. It is of course possible to remove the most recent message from the stack. This stack behavior is especially useful when messages can be displayed from several places in your application. Thus, each one subprogram that needs to print a message can simply push it on the stack, and does not need to make sure that the user has had enough time to read the previous message (a timeout can be set to automatically remove the message after a specific delay)
Each message is associated with a specific Context_Id. Each of this context can have a special name, and these context can be used to organize the messages into categories (for instance one for help messages and one for error messages). You can then selectively remove the most recent message of each category.
Widget Hierarchy |
---|
Gtk_Object (see section Package Gtk.Object)
\___ Gtk_Widget (see section Package Gtk.Widget)
\___ Gtk_Container (see section Package Gtk.Container)
\___ Gtk_Box (see section Package Gtk.Box)
\___ Gtk_Status_Bar (see section Package Gtk.Status
|
Signals |
---|
Types |
---|
type Context_Id is new Guint; | |
| |
subtype Gtk_Statusbar is Gtk_Status_Bar; | |
This is needed by Gate since the C name is GtkStatusbar
| |
type Message_Id is new Guint; | |
| |
type Status_Bar_Msg is record Text : Interfaces.C.Strings.chars_ptr; Context : Context_Id; Message : Message_Id; end record; | |
A message from the queue. Each of this message is associated with a
specific context, and has a specific number.
|
Subprograms |
---|
function Convert (Msg : Status_Bar_Msg) return System.Address; | ||
| ||
procedure Gtk_New (Statusbar : out Gtk_Status_Bar); | ||
Create a new status bar, in which messages will be displayed.
| ||
function Get_Type return Gtk.Gtk_Type; | ||
Return the internal value associated with a Gtk_Status_Bar.
| ||
function Get_Context_Id (Statusbar : access Gtk_Status_Bar_Record; Context_Description : in String) return Context_Id; | ||
Create the context id associated with a special name. | ||
function Get_Messages (Statusbar : access Gtk_Status_Bar_Record) return Messages_List.GSlist; | ||
Return a list of all the messages currently stored in the queue. | ||
function Push (Statusbar : access Gtk_Status_Bar_Record; Context : in Context_Id; Text : in String) return Message_Id; | ||
Push a new message on the queue, associated with a specific context. | ||
procedure Pop (Statusbar : access Gtk_Status_Bar_Record; Context : in Context_Id); | ||
Remove the most recent message from a specific context. All other | ||
procedure Remove (Statusbar : access Gtk_Status_Bar_Record; Context : in Context_Id; Message : in Message_Id); | ||
Remove a message from the list. |