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.

Binding from C File version 2.8.17

<testgtk>create_status.adb</testgtk>

Screenshot

gtk-status_bar.png

Packages

Messages_List (new Glib.GSlist.Generic_SList)

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

Classes

Gtk_Status_Bar_Record

type Gtk_Status_Bar_Record is new Gtk.Box.Gtk_Box_Record with private;

Ancestors:

Primitive operations:

Get_Context_Id
Get_Has_Resize_Grip
Get_Messages
Glib.Object.Deallocate (Inherited)
Glib.Object.Notify (Inherited)
Glib.Object.Ref (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.Object.Destroy (Inherited)
Gtk.Object.Flag_Is_Set (Inherited)
Gtk.Object.Flags (Inherited)
Gtk.Object.Get_Type (Inherited)
Gtk.Object.Set_Flags (Inherited)
Gtk.Object.Sink (Inherited)
Gtk.Object.Unset_Flags (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.Draw (Inherited)
Gtk.Widget.Ensure_Style (Inherited)
Gtk.Widget.Error_Bell (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_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)
Set_Has_Resize_Grip

Types

Gtk_Status_Bar

type Gtk_Status_Bar is access all Gtk_Status_Bar_Record'Class;

Gtk_Statusbar

subtype Gtk_Statusbar is Gtk_Status_Bar;
This is needed by Gate since the C name is GtkStatusbar

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);
Create a new status bar, in which messages will be displayed.

Initialize

procedure Initialize 
(Statusbar: access Gtk_Status_Bar_Record'Class);
Internal initialization function.

Get_Type

function Get_Type return Gtk.Gtk_Type;
Return the internal value associated with a Gtk_Status_Bar.

Get_Context_Id

function Get_Context_Id 
(Statusbar: access Gtk_Status_Bar_Record;
Context_Description: String) return Context_Id;
Create the context id associated with a special name. If no context is currently associated with Context_Description, then a new context is created.

Get_Messages

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. The first item in the list is the most recent message.

Push

function Push 
(Statusbar: access Gtk_Status_Bar_Record;
Context: Context_Id;
Text: UTF8_String) return Message_Id;
Push a new message on the queue, associated with a specific context. This message is directly displayed in the status bar. A new unique message id is associated with this message.

Pop

procedure Pop 
(Statusbar: access Gtk_Status_Bar_Record;
Context: Context_Id);
Remove the most recent message from a specific context. All other contexts are ignored, and no error is raised if there is no message in Context.

Remove

procedure Remove 
(Statusbar: access Gtk_Status_Bar_Record;
Context: Context_Id;
Message: Message_Id);
Remove a message from the list. The message is only removed if it is in a specific context. Nothing happens if no matching message is found.

Set_Has_Resize_Grip

procedure Set_Has_Resize_Grip 
(Statusbar: access Gtk_Status_Bar_Record;
Setting: Boolean);

Get_Has_Resize_Grip

function Get_Has_Resize_Grip 
(Statusbar: access Gtk_Status_Bar_Record) return Boolean;
Set or gets the value of the resize_grip attribute for a given status bar. This indicates whether the status bar has a handle that, when dragged, will resize the toplevel window that contains the status bar.