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:

+------------------------------------------------+ | BORDER | | +------------------------------------------+ | | |\\\\\\\\\\\\\\\\DEFAULT\\\\\\\\\\\\\\\\\ | | | |\\+------------------------------------+ | | | |\\| | SPACING 3 | | | | | |\\| +--------------------------------+ | | | | |\\| |########## FOCUS ###############| | | | | |\\| |#+----------------------------+#| | | | | |\\| |#| RELIEF \|#| | | | | |\\| |#| +-----------------------+\|#| | | | | |\\|1|#| + THE TEXT +\|#|2| | | | |\\| |#| +-----------------------+\|#| | | | | |\\| |#| \\\\\ ythickness \\\\\\\\\\|#| | | | | |\\| |#+----------------------------+#| | | | | |\\| |########### 1 ##################| | | | | |\\| +--------------------------------+ | | | | |\\| | default spacing 4 | | | | | |\\+------------------------------------+ | | | |\ ythickness | | | +------------------------------------------+ | | border_width | +------------------------------------------------+

Binding from C File version 2.14

Screenshot

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

Classes

Gtk_Button_Record

type Gtk_Button_Record is new Bin.Gtk_Bin_Record with private;

Ancestors:

Immediate Children:

Primitive operations:

Get_Alignment
Get_Focus_On_Click
Get_Image_Position
Get_Use_Stock
Get_Use_Underline
Glib.Object.Deallocate (Inherited)
Glib.Object.Notify (Inherited)
Glib.Object.Ref (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.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_Alignment
Set_Focus_On_Click
Set_Image_Position
Set_Use_Stock
Set_Use_Underline

Types

Gtk_Button

type Gtk_Button is access all Gtk_Button_Record'Class;

Constants & Global variables

Use_Underline_Property (Glib.Properties.Property_Boolean)

Use_Underline_Property  : constant Glib.Properties.Property_Boolean;

Focus_On_Click_Property (Glib.Properties.Property_Boolean)

Focus_On_Click_Property : constant Glib.Properties.Property_Boolean;

Image_Property (Glib.Properties.Property_Object)

Image_Property          : constant Glib.Properties.Property_Object;
Image_Position_Property : constant Glib.Properties.Property_Enum;

Xalign_Property (Glib.Properties.Property_Float)

Xalign_Property         : constant Glib.Properties.Property_Float;
Image_Position_Property : constant Glib.Properties.Property_Enum;

Child_Displacement_X_Property (Glib.Properties.Property_Int)

Child_Displacement_X_Property   : constant Glib.Properties.Property_Int;

Child_Displacement_Y_Property (Glib.Properties.Property_Int)

Child_Displacement_Y_Property   : constant Glib.Properties.Property_Int;
Default_Border_Property : constant Glib.Properties.Property_Boxed; Default_Outside_Border_Property : constant Glib.Properties.Property_Boxed;

Displace_Focus_Property (Glib.Properties.Property_Boolean)

Displace_Focus_Property         : constant Glib.Properties.Property_Boolean;
Default_Border_Property : constant Glib.Properties.Property_Boxed; Default_Outside_Border_Property : constant Glib.Properties.Property_Boxed;

Image_Spacing_Property (Glib.Properties.Property_Int)

Image_Spacing_Property : constant Glib.Properties.Property_Int;
Inner_Border_Property : constant Glib.Properties.Property_Boxed;

Signal_Clicked (Glib.Signal_Name)

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

Signal_Pressed (Glib.Signal_Name)

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

Signal_Released (Glib.Signal_Name)

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

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_Activate (Glib.Signal_Name)

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

Subprograms & Entries

Gtk_New

procedure Gtk_New 
(Button: out Gtk_Button;
Label: UTF8_String := "");
Create a new button. if Label is not the empty string, then the text appears in the button (and the child of the button is a Gtk_Label). On the other hand, if Label is the empty string, then no child is created for the button and it is your responsibility to add one. This is the recommended way to put a pixmap inside the button.

Gtk_New_From_Stock

procedure Gtk_New_From_Stock 
(Button: out Gtk_Button;
Stock_Id: String);
Create a new button containing the image and text from a stock item. Some stock ids have predefined contants like Gtk.Stock.Stock_OK or Gtk.Stock.Stock_Apply. See Gtk.Stock for a complete list of predefined stock items. Stock_Id: the name of the stock item.

Gtk_New_With_Mnemonic

procedure Gtk_New_With_Mnemonic 
(Button: out Gtk_Button;
Label: UTF8_String);
Create a new button containing a label. Label: The text of the button, with an underscore in front of the mnemonic character If characters in Label are preceded by an underscore, they are underlined indicating that they represent a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button.

Initialize

procedure Initialize 
(Button: access Gtk_Button_Record'Class;
Label: UTF8_String);
Internal initialization function. See the section "Creating your own widgets" in the documentation.

Initialize_From_Stock

procedure Initialize_From_Stock 
(Button: access Gtk_Button_Record'Class;
Stock_Id: String);
Internal initialization function.

Initialize_With_Mnemonic

procedure Initialize_With_Mnemonic 
(Button: access Gtk_Button_Record'Class;
Label: UTF8_String);
Internal initialization function.

Get_Type

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

Set_Relief

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

Get_Relief

function Get_Relief 
(Button: access Gtk_Button_Record) return Gtk.Enums.Gtk_Relief_Style;
Modify the relief style for the button. This modifies only its visual aspect, not its behavior.

Set_Label

procedure Set_Label 
(Button: access Gtk_Button_Record;
Label: UTF8_String);

Get_Label

function Get_Label 
(Button: access Gtk_Button_Record) return UTF8_String;
Set or gets the label of the button. This text is also used to select an icon if Set_Use_Stock was called with a parameter set to True.

Set_Use_Underline

procedure Set_Use_Underline 
(Button: access Gtk_Button_Record;
Use_Underline: Boolean);

Get_Use_Underline

function Get_Use_Underline 
(Button: access Gtk_Button_Record) return Boolean;
Sets whether an underscore used in the button's label designates an accelerator. If True, then if the user presses alt and the character following the underscore, then the button will act as if it had been pressed.

Set_Use_Stock

procedure Set_Use_Stock 
(Button: access Gtk_Button_Record;
Use_Stock: Boolean);

Get_Use_Stock

function Get_Use_Stock 
(Button: access Gtk_Button_Record) return Boolean;
Sets or Gets whether a stock item is used by the button.

Set_Alignment

procedure Set_Alignment 
(Button: access Gtk_Button_Record;
Xalign: Gfloat := 0.5;
Yalign: Gfloat := 0.5);

Get_Alignment

procedure Get_Alignment 
(Button: access Gtk_Button_Record;
Xalign: out Gfloat;
Yalign: out Gfloat);
Specify the alignment of the label inside the button. Passing (0.0, 0.0) indicates the label should be at the top-left corner of the button. (0.5, 0.5) indicates that the label should be centered. This property has no effect unless the button's child is a child of Gtk_Alignment or Gtk_Misc

Set_Focus_On_Click

procedure Set_Focus_On_Click 
(Button: access Gtk_Button_Record;
Focus_On_Click: Boolean := True);

Get_Focus_On_Click

function Get_Focus_On_Click 
(Button: access Gtk_Button_Record) return Boolean;
Sets whether the button will grab focus when it is clicked with the mouse. Setting Focus_On_Click to False is useful in contexts like toolbars where the focus should not be removed from the main area of the application.

Set_Image

procedure Set_Image 
(Button: access Gtk_Button_Record;
Image: access Gtk.Widget.Gtk_Widget_Record'Class);

Get_Image

function Get_Image 
(Button: access Gtk_Button_Record) return Gtk.Widget.Gtk_Widget;
Set the image of the button. You do not need to call Show on the image yourself. This settings might have no effect, depending on the theme configuration that the application's user is using (in particular, the setting "gtk-button-images" indicates whether or not images should be displayed in buttons).

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);
Gets the position of the image relative to the text inside the button. Since: 2.10

Pressed

procedure Pressed  
(Button: access Gtk_Button_Record);
Send the "pressed" signal to the button

Released

procedure Released 
(Button: access Gtk_Button_Record);
Send the "release" signal to the button

Clicked

procedure Clicked  
(Button: access Gtk_Button_Record);
Send the "clicked" signal to the button

Enter

procedure Enter    
(Button: access Gtk_Button_Record);
Send the "enter" signal to the button

Leave

procedure Leave    
(Button: access Gtk_Button_Record);
Send the "leave" signal to the button