Index

Package: Link_Button

Description

package Gtk.Link_Button is
A Gtk_Link_Button is like a regular button with contents that appear like a web browser hyperlink. It is associated with a URI. The URI is passed to a callback procedure that is invoked when the user clicks the button. This widget also keeps track of whether it has been clicked, and changes color after it has been visited.

Binding from C File version 2.16.6

<testgtk>create_link_buttons.adb</testgtk>

Packages

Generic_Uri_Hook (generic)

Classes

Gtk_Link_Button_Record

type Gtk_Link_Button_Record is new
     Gtk.Button.Gtk_Button_Record with private;

Ancestors:

Primitive operations:

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.Button.Clicked (Inherited)
Gtk.Button.Do_Set_Related_Action (Inherited)
Gtk.Button.Enter (Inherited)
Gtk.Button.Get_Alignment (Inherited)
Gtk.Button.Get_Event_Window (Inherited)
Gtk.Button.Get_Focus_On_Click (Inherited)
Gtk.Button.Get_Image (Inherited)
Gtk.Button.Get_Image_Position (Inherited)
Gtk.Button.Get_Label (Inherited)
Gtk.Button.Get_Related_Action (Inherited)
Gtk.Button.Get_Relief (Inherited)
Gtk.Button.Get_Use_Action_Appearance (Inherited)
Gtk.Button.Get_Use_Stock (Inherited)
Gtk.Button.Get_Use_Underline (Inherited)
Gtk.Button.Leave (Inherited)
Gtk.Button.Pressed (Inherited)
Gtk.Button.Released (Inherited)
Gtk.Button.Set_Alignment (Inherited)
Gtk.Button.Set_Focus_On_Click (Inherited)
Gtk.Button.Set_Image (Inherited)
Gtk.Button.Set_Image_Position (Inherited)
Gtk.Button.Set_Label (Inherited)
Gtk.Button.Set_Related_Action (Inherited)
Gtk.Button.Set_Relief (Inherited)
Gtk.Button.Set_Use_Action_Appearance (Inherited)
Gtk.Button.Set_Use_Stock (Inherited)
Gtk.Button.Set_Use_Underline (Inherited)
Gtk.Button.Sync_Action_Properties (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)

Types

Gtk_Link_Button

type Gtk_Link_Button is access all Gtk_Link_Button_Record'Class;

Uri_Func

type Uri_Func is access procedure
     (Button : System.Address;
      Link   : Interfaces.C.Strings.chars_ptr;
      Data   : System.Address);

Constants & Global variables

Subprograms & Entries

Get_Type

function Get_Type return GType;
Return the internal value associated with a Gtk_Link_Button.

Get_Uri

function Get_Uri 
(Link_Button: access Gtk_Link_Button_Record) return String;
Retrieves the URI set using Set_Uri. Return value: a valid URI. The returned string is owned by the link button and should not be modified or freed.

Get_Visited

function Get_Visited 
(Link_Button: access Gtk_Link_Button_Record) return Boolean;
Retrieves the 'visited' state of the URI where the Link_Button points. The button becomes visited when it is clicked. If the URI is changed on the button, the 'visited' state is unset again. The state may also be changed using Set_Visited. Return value: True if the link has been visited, False otherwise

Gtk_New

procedure Gtk_New 
(Widget: out Gtk_Link_Button;
Uri: String);
Creates a new Gtk_Link_Button_Record with the URI as its text.

Initialize

procedure Initialize 
(Widget: access Gtk_Link_Button_Record'Class;
Uri: String);
Creates a new Gtk_Link_Button_Record with the URI as its text.

Gtk_New_With_Label

procedure Gtk_New_With_Label 
(Widget: out Gtk_Link_Button;
Uri: String;
Label: String);
Creates a new Gtk_Link_Button_Record containing a label.

Initialize_With_Label

procedure Initialize_With_Label 
(Widget: access Gtk_Link_Button_Record'Class;
Uri: String;
Label: String);
Creates a new Gtk_Link_Button containing a label.

Set_Uri

procedure Set_Uri 
(Link_Button: access Gtk_Link_Button_Record;
Uri: String);
Sets Uri as the URI where the Gtk_Link_Button points. As a side-effect this unsets the 'visited' state of the button.

Set_Uri_Hook

function Set_Uri_Hook 
(Func: Uri_Func;
Data: System.Address;
Destroy: G_Destroy_Notify) return Uri_Func;
Func: a function called each time a Gtk_Link_Button is clicked, or null Data: user data to be passed to Func, or null Destroy: called when Data is no longer needed, or null Sets Func as the subprogram that should be invoked every time a user clicks a Gtk_Link_Button. This function is called before every callback registered for the "clicked" signal. Returns the previously set hook function.

Set_Visited

procedure Set_Visited 
(Link_Button: access Gtk_Link_Button_Record;
Visited: Boolean);
Sets the 'visited' state of the URI where the #GtkLinkButton points. See Get_Visited for more details.