## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

## Index

Package: Status_Bar

- Goto spec source

# 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

<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)

    package Implements_Buildable is new Glib.Types.Implements
         (Gtk.Buildable.Gtk_Buildable, Gtk_Status_Bar_Record, Gtk_Status_Bar);

### Implements_Orientable (new Glib.Types.Implements)

    package Implements_Orientable is new Glib.Types.Implements
         (Gtk.Orientable.Gtk_Orientable, Gtk_Status_Bar_Record, Gtk_Status_Bar);

# Classes

### Gtk_Status_Bar_Record

- Goto declaration in source

    type Gtk_Status_Bar_Record is new Gtk_Hbox_Record with null record;

#### Ancestors:

Gtk.Box.Gtk_Box_Record
Gtk.Container.Gtk_Container_Record
Gtk.Widget.Gtk_Widget_Record
Glib.Object.GObject_Record

#### Primitive operations:

Get_Context_Id

- To API doc
- To spec

Get_Has_Resize_Grip

- To API doc
- To spec

Get_Message_Area

- To API doc
- To spec

Get_Messages

- To API doc
- To spec

Get_Orientation

- To API doc
- To spec

(overriding Gtk.Box.Get_Orientation)
Glib.Object.Deallocate

- To API doc
- To spec

(Inherited)
Glib.Object.Get_Type

- To API doc
- To spec

(Inherited)
Glib.Object.Notify

- To API doc
- To spec

(Inherited)
Glib.Object.Ref

- To API doc
- To spec

(Inherited)
Glib.Object.Ref_Sink

- To API doc
- To spec

(Inherited)
Glib.Object.Unref

- To API doc
- To spec

(Inherited)
Gtk.Box.Get_Child

- To API doc
- To spec

(Inherited)
Gtk.Box.Get_Homogeneous

- To API doc
- To spec

(Inherited)
Gtk.Box.Get_Spacing

- To API doc
- To spec

(Inherited)
Gtk.Box.Pack_End

- To API doc
- To spec

(Inherited)
Gtk.Box.Pack_End_Defaults

- To API doc
- To spec

(Inherited)
Gtk.Box.Pack_Start

- To API doc
- To spec

(Inherited)
Gtk.Box.Pack_Start_Defaults

- To API doc
- To spec

(Inherited)
Gtk.Box.Query_Child_Packing

- To API doc
- To spec

(Inherited)
Gtk.Box.Reorder_Child

- To API doc
- To spec

(Inherited)
Gtk.Box.Set_Child_Packing

- To API doc
- To spec

(Inherited)
Gtk.Box.Set_Homogeneous

- To API doc
- To spec

(Inherited)
Gtk.Box.Set_Spacing

- To API doc
- To spec

(Inherited)
Gtk.Container.Add

- To API doc
- To spec

(Inherited)
Gtk.Container.Check_Resize

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Get_Property

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Set_Property

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Type

- To API doc
- To spec

(Inherited)
Gtk.Container.Forall

- To API doc
- To spec

(Inherited)
Gtk.Container.Foreach

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Border_Width

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Children

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Child

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Hadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Vadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Resize_Mode

- To API doc
- To spec

(Inherited)
Gtk.Container.Propagate_Expose

- To API doc
- To spec

(Inherited)
Gtk.Container.Remove

- To API doc
- To spec

(Inherited)
Gtk.Container.Resize_Children

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Border_Width

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Child

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Hadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Vadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Reallocate_Redraws

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Resize_Mode

- To API doc
- To spec

(Inherited)
Gtk.Container.Unset_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Widget.Activate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Accelerator

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Mnemonic_Label

- To API doc
- To spec

(Inherited)
Gtk.Widget.Can_Activate_Accel

- To API doc
- To spec

(Inherited)
Gtk.Widget.Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Class_Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Class_Path_Reversed

- To API doc
- To spec

(Inherited)
Gtk.Widget.Create_Pango_Context

- To API doc
- To spec

(Inherited)
Gtk.Widget.Create_Pango_Layout

- To API doc
- To spec

(Inherited)
Gtk.Widget.Destroy

- To API doc
- To spec

(Inherited)
Gtk.Widget.Draw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Ensure_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Error_Bell

- To API doc
- To spec

(Inherited)
Gtk.Widget.Flag_Is_Set

- To API doc
- To spec

(Inherited)
Gtk.Widget.Flags

- To API doc
- To spec

(Inherited)
Gtk.Widget.Freeze_Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Height

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Width

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_X

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Y

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Ancestor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Child_Requisition

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Child_Visible

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Colormap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Composite_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Direction

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Extension_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Has_Tooltip

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_No_Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Pango_Context

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Parent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Parent_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Pointer

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Root_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Snapshot

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_State

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Markup

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Toplevel

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Visual

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Grab_Default

- To API doc
- To spec

(Inherited)
Gtk.Widget.Grab_Focus

- To API doc
- To spec

(Inherited)
Gtk.Widget.Has_Screen

- To API doc
- To spec

(Inherited)
Gtk.Widget.Hide

- To API doc
- To spec

(Inherited)
Gtk.Widget.Hide_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Input_Shape_Combine_Mask

- To API doc
- To spec

(Inherited)
Gtk.Widget.Intersect

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Ancestor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Composited

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Focus

- To API doc
- To spec

(Inherited)
Gtk.Widget.Keynav_Failed

- To API doc
- To spec

(Inherited)
Gtk.Widget.List_Mnemonic_Labels

- To API doc
- To spec

(Inherited)
Gtk.Widget.Map

- To API doc
- To spec

(Inherited)
Gtk.Widget.Mnemonic_Activate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Base

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Bg

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Cursor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Fg

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Font

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Path_Reversed

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Clear

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Clear_Area

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Draw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Draw_Area

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Resize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Resize_No_Redraw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Realize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Region_Intersect

- To API doc
- To spec

(Inherited)
Gtk.Widget.Remove_Accelerator

- To API doc
- To spec

(Inherited)
Gtk.Widget.Remove_Mnemonic_Label

- To API doc
- To spec

(Inherited)
Gtk.Widget.Render_Icon

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reparent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reset_Rc_Styles

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reset_Shapes

- To API doc
- To spec

(Inherited)
Gtk.Widget.Restore_Default_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Send_Expose

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Accel_Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_App_Paintable

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Child_Visible

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Colormap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Composite_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Direction

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Double_Buffered

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Extension_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Flags

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Has_Tooltip

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_No_Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Parent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Parent_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Redraw_On_Allocate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Scroll_Adjustments

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Sensitive

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_State

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Markup

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_UPosition

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_USize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Shape_Combine_Mask

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show_Now

- To API doc
- To spec

(Inherited)
Gtk.Widget.Size_Allocate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Style_Get_Property

- To API doc
- To spec

(Inherited)
Gtk.Widget.Thaw_Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Trigger_Tooltip_Query

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unmap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unrealize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unset_Flags

- To API doc
- To spec

(Inherited)
Pop

- To API doc
- To spec

Push

- To API doc
- To spec

Remove

- To API doc
- To spec

Remove_All

- To API doc
- To spec

Set_Has_Resize_Grip

- To API doc
- To spec

Set_Orientation

- To API doc
- To spec

(overriding Gtk.Box.Set_Orientation)

# Types

### Gtk_Status_Bar

- Goto declaration in source

    type Gtk_Status_Bar is access all Gtk_Status_Bar_Record'Class;

### Context_Id

- Goto declaration in source

    type Context_Id is new Guint;

### Message_Id

- Goto declaration in source

    type Message_Id is new Guint;

### Status_Bar_Msg

- Goto declaration in source

    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

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Has_Resize_Grip_Property : constant Glib.Properties.Property_Boolean;

### Signal_Text_Popped

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Text_Pushed

- Goto declaration in source

(Glib.Signal_Name)

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

# Subprograms & Entries

### Convert

- Goto spec in source

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

<no_doc>

### Convert

- Goto spec in source

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

### Gtk_New

- Goto spec in source

    procedure Gtk_New (Statusbar: out Gtk_Status_Bar);

### Initialize

- Goto spec in source

    procedure Initialize (Statusbar: access Gtk_Status_Bar_Record'Class);

Creates a new Gtk.Status_Bar.Gtk_Status_Bar ready for messages.

### Get_Type

- Goto spec in source
- Goto body in source

    function Get_Type return Glib.GType;

### Get_Context_Id

- Goto spec in source

    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

- Goto spec in source

    function Get_Has_Resize_Grip (Statusbar: access Gtk_Status_Bar_Record) return Boolean;

### Set_Has_Resize_Grip

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

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

### Get_Orientation

- Goto spec in source

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

### Set_Orientation

- Goto spec in source

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

### +

- Goto spec in source

    function "+" (Widget: access Gtk_Status_Bar_Record'Class) return Gtk.Buildable.Gtk_Buildable renames Implements_Buildable.To_Interface;

### -

- Goto spec in source

    function "-" (Interf: Gtk.Buildable.Gtk_Buildable) return Gtk_Status_Bar renames Implements_Buildable.To_Object;

### +

- Goto spec in source

    function "+" (Widget: access Gtk_Status_Bar_Record'Class) return Gtk.Orientable.Gtk_Orientable renames Implements_Orientable.To_Interface;

### -

- Goto spec in source

    function "-" (Interf: Gtk.Orientable.Gtk_Orientable) return Gtk_Status_Bar renames Implements_Orientable.To_Object;