Index

Package: Button

Description

package Gtk.Button is

This package implements a general button widget. This button can be clicked on by the user to start any action. This button does not have multiple states, it can just be temporarily pressed while the mouse is on it, but does not keep its pressed state.

The gtk+ sources provide the following drawing that explains the role of the various spacings that can be set for a button:

Screenshot

gtk-button.png
<testgtk>create_buttons.adb</testgtk>

Packages

Implements_Activatable (new Glib.Types.Implements)

Implements_Buildable (new Glib.Types.Implements)

Classes

Gtk_Button_Record

type Gtk_Button_Record is new Gtk_Bin_Record with null record;

Ancestors:

Immediate Children:

Primitive operations:

Do_Set_Related_Action
Get_Alignment
Get_Event_Window
Get_Focus_On_Click
Get_Image_Position
Get_Related_Action
Get_Use_Action_Appearance
Get_Use_Stock
Get_Use_Underline
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.Bin.Get_Child (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_Alignment
Set_Focus_On_Click
Set_Image_Position
Set_Related_Action
Set_Use_Action_Appearance
Set_Use_Stock
Set_Use_Underline
Sync_Action_Properties

Types

Gtk_Button

type Gtk_Button is access all Gtk_Button_Record'Class;

Constants & Global variables

Focus_On_Click_Property (Glib.Properties.Property_Boolean)

Focus_On_Click_Property : constant Glib.Properties.Property_Boolean;

Image_Position_Property (Gtk.Enums.Property_Gtk_Position_Type)

Image_Position_Property : constant Gtk.Enums.Property_Gtk_Position_Type;

Use_Underline_Property (Glib.Properties.Property_Boolean)

Use_Underline_Property : constant Glib.Properties.Property_Boolean;

Signal_Activate (Glib.Signal_Name)

Signal_Activate : constant Glib.Signal_Name := "activate";

Signal_Clicked (Glib.Signal_Name)

Signal_Clicked : constant Glib.Signal_Name := "clicked";

Signal_Enter (Glib.Signal_Name)

Signal_Enter : constant Glib.Signal_Name := "enter";

Signal_Leave (Glib.Signal_Name)

Signal_Leave : constant Glib.Signal_Name := "leave";

Signal_Pressed (Glib.Signal_Name)

Signal_Pressed : constant Glib.Signal_Name := "pressed";

Signal_Released (Glib.Signal_Name)

Signal_Released : constant Glib.Signal_Name := "released";

Subprograms & Entries

Gtk_New_From_Stock

procedure Gtk_New_From_Stock 
(Button: out Gtk_Button;
Stock_Id: UTF8_String);

Initialize_From_Stock

procedure Initialize_From_Stock 
(Button: access Gtk_Button_Record'Class;
Stock_Id: UTF8_String);
Creates a new Gtk.Button.Gtk_Button containing the image and text from a stock item. Some stock ids have preprocessor macros like GTK_STOCK_OK and GTK_STOCK_APPLY. If Stock_Id is unknown, then it will be treated as a mnemonic label (as for Gtk.Button.Gtk_New_With_Mnemonic). "stock_id": the name of the stock item

Gtk_New

procedure Gtk_New 
(Button: out Gtk_Button;
Label: UTF8_String := "");

Initialize

procedure Initialize 
(Button: access Gtk_Button_Record'Class;
Label: UTF8_String := "");

Gtk_New_With_Mnemonic

procedure Gtk_New_With_Mnemonic 
(Button: out Gtk_Button;
Label: UTF8_String);

Initialize_With_Mnemonic

procedure Initialize_With_Mnemonic 
(Button: access Gtk_Button_Record'Class;
Label: UTF8_String);
Creates a new Gtk.Button.Gtk_Button containing a label. If characters in Label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use '__' (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button. "label": The text of the button, with an underscore in front of the mnemonic character

Get_Type

function Get_Type return Glib.GType;

Clicked

procedure Clicked 
(Button: access Gtk_Button_Record);

Enter

procedure Enter 
(Button: access Gtk_Button_Record);

Get_Alignment

procedure Get_Alignment 
(Button: access Gtk_Button_Record;
Xalign: out Gfloat;
Yalign: out Gfloat);

Set_Alignment

procedure Set_Alignment 
(Button: access Gtk_Button_Record;
Xalign: Gfloat;
Yalign: Gfloat);
Sets the alignment of the child. This property has no effect unless the child is a Gtk.Misc.Gtk_Misc or a GtkAligment. Since: gtk+ 2.4 "xalign": the horizontal position of the child, 0.0 is left aligned, 1.0 is right aligned "yalign": the vertical position of the child, 0.0 is top aligned, 1.0 is bottom aligned

Get_Event_Window

function Get_Event_Window 
(Button: access Gtk_Button_Record) return Gdk.Window.Gdk_Window;
Returns the button's event window if it is realized, null otherwise. This function should be rarely needed. Since: gtk+ 2.22

Get_Focus_On_Click

function Get_Focus_On_Click 
(Button: access Gtk_Button_Record) return Boolean;

Set_Focus_On_Click

procedure Set_Focus_On_Click 
(Button: access Gtk_Button_Record;
Focus_On_Click: Boolean);
Sets whether the button will grab focus when it is clicked with the mouse. Making mouse clicks not grab focus is useful in places like toolbars where you don't want the keyboard focus removed from the main area of the application. Since: gtk+ 2.4 "focus_on_click": whether the button grabs focus when clicked with the mouse

Get_Image

function Get_Image 
(Button: access Gtk_Button_Record) return Gtk.Widget.Gtk_Widget;

Set_Image

procedure Set_Image 
(Button: access Gtk_Button_Record;
Image: access Gtk.Widget.Gtk_Widget_Record'Class);
Set the image of Button to the given widget. Note that it depends on the Gtk.Settings.Gtk_Settings:gtk-button-images setting whether the image will be displayed or not, you don't have to call Gtk.Widget.Show on Image yourself. Since: gtk+ 2.6 "image": a widget to set as the image for the button

Get_Image_Position

function Get_Image_Position 
(Button: access Gtk_Button_Record) return Gtk.Enums.Gtk_Position_Type;

Set_Image_Position

procedure Set_Image_Position 
(Button: access Gtk_Button_Record;
Position: Gtk.Enums.Gtk_Position_Type);
Sets the position of the image relative to the text inside the button. Since: gtk+ 2.10 "position": the position

Get_Label

function Get_Label 
(Button: access Gtk_Button_Record) return UTF8_String;

Set_Label

procedure Set_Label 
(Button: access Gtk_Button_Record;
Label: UTF8_String);
Sets the text of the label of the button to Str. This text is also used to select the stock item if Gtk.Button.Set_Use_Stock is used. This will also clear any previously set labels. "label": a string

Get_Relief

function Get_Relief 
(Button: access Gtk_Button_Record) return Gtk.Enums.Gtk_Relief_Style;

Set_Relief

procedure Set_Relief 
(Button: access Gtk_Button_Record;
Newstyle: Gtk.Enums.Gtk_Relief_Style);

Get_Use_Stock

function Get_Use_Stock 
(Button: access Gtk_Button_Record) return Boolean;

Set_Use_Stock

procedure Set_Use_Stock 
(Button: access Gtk_Button_Record;
Use_Stock: Boolean);
If True, the label set on the button is used as a stock id to select the stock item for the button. "use_stock": True if the button should use a stock item

Get_Use_Underline

function Get_Use_Underline 
(Button: access Gtk_Button_Record) return Boolean;

Set_Use_Underline

procedure Set_Use_Underline 
(Button: access Gtk_Button_Record;
Use_Underline: Boolean);
If true, an underline in the text of the button label indicates the next character should be used for the mnemonic accelerator key. "use_underline": True if underlines in the text indicate mnemonics

Leave

procedure Leave 
(Button: access Gtk_Button_Record);

Pressed

procedure Pressed 
(Button: access Gtk_Button_Record);

Released

procedure Released 
(Button: access Gtk_Button_Record);

Do_Set_Related_Action

procedure Do_Set_Related_Action 
(Self: access Gtk_Button_Record;
Action: access Gtk.Action.Gtk_Action_Record'Class);

Get_Related_Action

function Get_Related_Action 
(Self: access Gtk_Button_Record) return Gtk.Action.Gtk_Action;

Set_Related_Action

procedure Set_Related_Action 
(Self: access Gtk_Button_Record;
Action: access Gtk.Action.Gtk_Action_Record'Class);

Get_Use_Action_Appearance

function Get_Use_Action_Appearance 
(Self: access Gtk_Button_Record) return Boolean;

Set_Use_Action_Appearance

procedure Set_Use_Action_Appearance 
(Self: access Gtk_Button_Record;
Use_Appearance: Boolean);

Sync_Action_Properties

procedure Sync_Action_Properties 
(Self: access Gtk_Button_Record;
Action: access Gtk.Action.Gtk_Action_Record'Class);