Index

Package: Status_Bar

Description

package Gtk.Status_Bar is

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

Screenshot

gtk-status_bar.png
<testgtk>create_status.adb</testgtk>

Packages

Messages_List (new Glib.GSlist.Generic_SList)

package Messages_List is new Glib.GSlist.Generic_SList (Status_Bar_Msg);
</no_doc>

Implements_Buildable (new Glib.Types.Implements)

Implements_Orientable (new Glib.Types.Implements)

Classes

Gtk_Status_Bar_Record

type Gtk_Status_Bar_Record is new Gtk_Hbox_Record with null record;

Ancestors:

Primitive operations:

Get_Context_Id
Get_Has_Resize_Grip
Get_Message_Area
Get_Messages
Get_Orientation (overriding Gtk.Box.Get_Orientation)
Glib.Object.Deallocate (Inherited)
Glib.Object.Get_Type (Inherited)
Glib.Object.Notify (Inherited)
Glib.Object.Ref (Inherited)
Glib.Object.Ref_Sink (Inherited)
Glib.Object.Unref (Inherited)
Gtk.Box.Get_Child (Inherited)
Gtk.Box.Get_Homogeneous (Inherited)
Gtk.Box.Get_Spacing (Inherited)
Gtk.Box.Pack_End (Inherited)
Gtk.Box.Pack_End_Defaults (Inherited)
Gtk.Box.Pack_Start (Inherited)
Gtk.Box.Pack_Start_Defaults (Inherited)
Gtk.Box.Query_Child_Packing (Inherited)
Gtk.Box.Reorder_Child (Inherited)
Gtk.Box.Set_Child_Packing (Inherited)
Gtk.Box.Set_Homogeneous (Inherited)
Gtk.Box.Set_Spacing (Inherited)
Gtk.Container.Add (Inherited)
Gtk.Container.Check_Resize (Inherited)
Gtk.Container.Child_Get_Property (Inherited)
Gtk.Container.Child_Set_Property (Inherited)
Gtk.Container.Child_Type (Inherited)
Gtk.Container.Forall (Inherited)
Gtk.Container.Foreach (Inherited)
Gtk.Container.Get_Border_Width (Inherited)
Gtk.Container.Get_Children (Inherited)
Gtk.Container.Get_Focus_Chain (Inherited)
Gtk.Container.Get_Focus_Child (Inherited)
Gtk.Container.Get_Focus_Hadjustment (Inherited)
Gtk.Container.Get_Focus_Vadjustment (Inherited)
Gtk.Container.Get_Resize_Mode (Inherited)
Gtk.Container.Propagate_Expose (Inherited)
Gtk.Container.Remove (Inherited)
Gtk.Container.Resize_Children (Inherited)
Gtk.Container.Set_Border_Width (Inherited)
Gtk.Container.Set_Focus_Chain (Inherited)
Gtk.Container.Set_Focus_Child (Inherited)
Gtk.Container.Set_Focus_Hadjustment (Inherited)
Gtk.Container.Set_Focus_Vadjustment (Inherited)
Gtk.Container.Set_Reallocate_Redraws (Inherited)
Gtk.Container.Set_Resize_Mode (Inherited)
Gtk.Container.Unset_Focus_Chain (Inherited)
Gtk.Widget.Activate (Inherited)
Gtk.Widget.Add_Accelerator (Inherited)
Gtk.Widget.Add_Events (Inherited)
Gtk.Widget.Add_Mnemonic_Label (Inherited)
Gtk.Widget.Can_Activate_Accel (Inherited)
Gtk.Widget.Child_Notify (Inherited)
Gtk.Widget.Class_Path (Inherited)
Gtk.Widget.Class_Path_Reversed (Inherited)
Gtk.Widget.Create_Pango_Context (Inherited)
Gtk.Widget.Create_Pango_Layout (Inherited)
Gtk.Widget.Destroy (Inherited)
Gtk.Widget.Draw (Inherited)
Gtk.Widget.Ensure_Style (Inherited)
Gtk.Widget.Error_Bell (Inherited)
Gtk.Widget.Flag_Is_Set (Inherited)
Gtk.Widget.Flags (Inherited)
Gtk.Widget.Freeze_Child_Notify (Inherited)
Gtk.Widget.Get_Allocation_Height (Inherited)
Gtk.Widget.Get_Allocation_Width (Inherited)
Gtk.Widget.Get_Allocation_X (Inherited)
Gtk.Widget.Get_Allocation_Y (Inherited)
Gtk.Widget.Get_Ancestor (Inherited)
Gtk.Widget.Get_Child_Requisition (Inherited)
Gtk.Widget.Get_Child_Visible (Inherited)
Gtk.Widget.Get_Colormap (Inherited)
Gtk.Widget.Get_Composite_Name (Inherited)
Gtk.Widget.Get_Direction (Inherited)
Gtk.Widget.Get_Events (Inherited)
Gtk.Widget.Get_Extension_Events (Inherited)
Gtk.Widget.Get_Has_Tooltip (Inherited)
Gtk.Widget.Get_Name (Inherited)
Gtk.Widget.Get_No_Show_All (Inherited)
Gtk.Widget.Get_Pango_Context (Inherited)
Gtk.Widget.Get_Parent (Inherited)
Gtk.Widget.Get_Parent_Window (Inherited)
Gtk.Widget.Get_Pointer (Inherited)
Gtk.Widget.Get_Root_Window (Inherited)
Gtk.Widget.Get_Size_Request (Inherited)
Gtk.Widget.Get_Snapshot (Inherited)
Gtk.Widget.Get_State (Inherited)
Gtk.Widget.Get_Style (Inherited)
Gtk.Widget.Get_Tooltip_Markup (Inherited)
Gtk.Widget.Get_Tooltip_Text (Inherited)
Gtk.Widget.Get_Tooltip_Window (Inherited)
Gtk.Widget.Get_Toplevel (Inherited)
Gtk.Widget.Get_Visual (Inherited)
Gtk.Widget.Get_Window (Inherited)
Gtk.Widget.Grab_Default (Inherited)
Gtk.Widget.Grab_Focus (Inherited)
Gtk.Widget.Has_Screen (Inherited)
Gtk.Widget.Hide (Inherited)
Gtk.Widget.Hide_All (Inherited)
Gtk.Widget.Input_Shape_Combine_Mask (Inherited)
Gtk.Widget.Intersect (Inherited)
Gtk.Widget.Is_Ancestor (Inherited)
Gtk.Widget.Is_Composited (Inherited)
Gtk.Widget.Is_Focus (Inherited)
Gtk.Widget.Keynav_Failed (Inherited)
Gtk.Widget.List_Mnemonic_Labels (Inherited)
Gtk.Widget.Map (Inherited)
Gtk.Widget.Mnemonic_Activate (Inherited)
Gtk.Widget.Modify_Base (Inherited)
Gtk.Widget.Modify_Bg (Inherited)
Gtk.Widget.Modify_Cursor (Inherited)
Gtk.Widget.Modify_Fg (Inherited)
Gtk.Widget.Modify_Font (Inherited)
Gtk.Widget.Modify_Text (Inherited)
Gtk.Widget.Path (Inherited)
Gtk.Widget.Path_Reversed (Inherited)
Gtk.Widget.Queue_Clear (Inherited)
Gtk.Widget.Queue_Clear_Area (Inherited)
Gtk.Widget.Queue_Draw (Inherited)
Gtk.Widget.Queue_Draw_Area (Inherited)
Gtk.Widget.Queue_Resize (Inherited)
Gtk.Widget.Queue_Resize_No_Redraw (Inherited)
Gtk.Widget.Realize (Inherited)
Gtk.Widget.Region_Intersect (Inherited)
Gtk.Widget.Remove_Accelerator (Inherited)
Gtk.Widget.Remove_Mnemonic_Label (Inherited)
Gtk.Widget.Render_Icon (Inherited)
Gtk.Widget.Reparent (Inherited)
Gtk.Widget.Reset_Rc_Styles (Inherited)
Gtk.Widget.Reset_Shapes (Inherited)
Gtk.Widget.Restore_Default_Style (Inherited)
Gtk.Widget.Send_Expose (Inherited)
Gtk.Widget.Set_Accel_Path (Inherited)
Gtk.Widget.Set_App_Paintable (Inherited)
Gtk.Widget.Set_Child_Visible (Inherited)
Gtk.Widget.Set_Colormap (Inherited)
Gtk.Widget.Set_Composite_Name (Inherited)
Gtk.Widget.Set_Direction (Inherited)
Gtk.Widget.Set_Double_Buffered (Inherited)
Gtk.Widget.Set_Events (Inherited)
Gtk.Widget.Set_Extension_Events (Inherited)
Gtk.Widget.Set_Flags (Inherited)
Gtk.Widget.Set_Has_Tooltip (Inherited)
Gtk.Widget.Set_Name (Inherited)
Gtk.Widget.Set_No_Show_All (Inherited)
Gtk.Widget.Set_Parent (Inherited)
Gtk.Widget.Set_Parent_Window (Inherited)
Gtk.Widget.Set_Redraw_On_Allocate (Inherited)
Gtk.Widget.Set_Scroll_Adjustments (Inherited)
Gtk.Widget.Set_Sensitive (Inherited)
Gtk.Widget.Set_Size_Request (Inherited)
Gtk.Widget.Set_State (Inherited)
Gtk.Widget.Set_Style (Inherited)
Gtk.Widget.Set_Tooltip_Markup (Inherited)
Gtk.Widget.Set_Tooltip_Text (Inherited)
Gtk.Widget.Set_Tooltip_Window (Inherited)
Gtk.Widget.Set_UPosition (Inherited)
Gtk.Widget.Set_USize (Inherited)
Gtk.Widget.Set_Window (Inherited)
Gtk.Widget.Shape_Combine_Mask (Inherited)
Gtk.Widget.Show (Inherited)
Gtk.Widget.Show_All (Inherited)
Gtk.Widget.Show_Now (Inherited)
Gtk.Widget.Size_Allocate (Inherited)
Gtk.Widget.Size_Request (Inherited)
Gtk.Widget.Style_Get_Property (Inherited)
Gtk.Widget.Thaw_Child_Notify (Inherited)
Gtk.Widget.Trigger_Tooltip_Query (Inherited)
Gtk.Widget.Unmap (Inherited)
Gtk.Widget.Unrealize (Inherited)
Gtk.Widget.Unset_Flags (Inherited)
Set_Has_Resize_Grip
Set_Orientation (overriding Gtk.Box.Set_Orientation)

Types

Gtk_Status_Bar

type Gtk_Status_Bar is access all Gtk_Status_Bar_Record'Class;

Context_Id

type Context_Id is new Guint;

Message_Id

type Message_Id is new Guint;

Status_Bar_Msg

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.

Constants & Global variables

Has_Resize_Grip_Property (Glib.Properties.Property_Boolean)

Has_Resize_Grip_Property : constant Glib.Properties.Property_Boolean;

Signal_Text_Popped (Glib.Signal_Name)

Signal_Text_Popped : constant Glib.Signal_Name := "text-popped";

Signal_Text_Pushed (Glib.Signal_Name)

Signal_Text_Pushed : constant Glib.Signal_Name := "text-pushed";

Subprograms & Entries

Convert

function Convert 
(Msg: Status_Bar_Msg) return System.Address;
<no_doc>

Convert

function Convert 
(Msg: System.Address) return Status_Bar_Msg;

Gtk_New

procedure Gtk_New 
(Statusbar: out Gtk_Status_Bar);

Initialize

procedure Initialize 
(Statusbar: access Gtk_Status_Bar_Record'Class);
Creates a new Gtk.Status_Bar.Gtk_Status_Bar ready for messages.

Get_Type

function Get_Type return Glib.GType;

Get_Context_Id

function Get_Context_Id 
(Statusbar: access Gtk_Status_Bar_Record;
Context_Description: UTF8_String) return Context_Id;
Returns a new context identifier, given a description of the actual context. Note that the description is <emphasis>not</emphasis> shown in the UI. "context_description": textual description of what context the new message is being used in

Get_Has_Resize_Grip

function Get_Has_Resize_Grip 
(Statusbar: access Gtk_Status_Bar_Record) return Boolean;

Set_Has_Resize_Grip

procedure Set_Has_Resize_Grip 
(Statusbar: access Gtk_Status_Bar_Record;
Setting: Boolean);
Sets whether the statusbar has a resize grip. True by default. "setting": True to have a resize grip

Get_Message_Area

function Get_Message_Area 
(Statusbar: access Gtk_Status_Bar_Record) return Gtk.Widget.Gtk_Widget;
Retrieves the box containing the label widget. Since: gtk+ 2.20

Pop

procedure Pop 
(Statusbar: access Gtk_Status_Bar_Record;
Context: Context_Id);
Removes the first message in the GtkStatusBar's stack with the given context id. Note that this may not change the displayed message, if the message at the top of the stack has a different context id. "context": a context identifier

Push

function Push 
(Statusbar: access Gtk_Status_Bar_Record;
Context: Context_Id;
Text: UTF8_String) return Message_Id;
Pushes a new message onto a statusbar's stack. Gtk.Status_Bar.Remove. "context": the message's context id, as returned by Gtk.Status_Bar.Get_Context_Id "text": the message to add to the statusbar

Remove

procedure Remove 
(Statusbar: access Gtk_Status_Bar_Record;
Context: Context_Id;
Message: Message_Id);
Forces the removal of a message from a statusbar's stack. The exact Context_Id and Message_Id must be specified. "context": a context identifier "Message": a message identifier, as returned by Gtk.Status_Bar.Push

Remove_All

procedure Remove_All 
(Statusbar: access Gtk_Status_Bar_Record;
Context: Context_Id);
Forces the removal of all messages from a statusbar's stack with the exact Context_Id. Since: gtk+ 2.22 "context": a context identifier

Get_Messages

function Get_Messages 
(Statusbar: access Gtk_Status_Bar_Record) return Gtk.Status_Bar.Messages_List.GSlist;

Get_Orientation

function Get_Orientation 
(Self: access Gtk_Status_Bar_Record) return Gtk.Enums.Gtk_Orientation;

Set_Orientation

procedure Set_Orientation 
(Self: access Gtk_Status_Bar_Record;
Orientation: Gtk.Enums.Gtk_Orientation);