## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

## Index

Package: Link_Button

- Goto spec source

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

Full description

# Classes

### Gtk_Link_Button_Record

- Goto declaration in source
- Goto full declaration in source

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

#### Ancestors:

Gtk.Button.Gtk_Button_Record
Gtk.Bin.Gtk_Bin_Record
Gtk.Container.Gtk_Container_Record
Gtk.Widget.Gtk_Widget_Record
Glib.Object.GObject_Record

#### Primitive operations:

Get_Uri

- To API doc
- To spec

Get_Visited

- To API doc
- To spec

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.Bin.Get_Child

- To API doc
- To spec

(Inherited)
Gtk.Button.Clicked

- To API doc
- To spec

(Inherited)
Gtk.Button.Do_Set_Related_Action

- To API doc
- To spec

(Inherited)
Gtk.Button.Enter

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Alignment

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Event_Window

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Focus_On_Click

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Image

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Image_Position

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Label

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Related_Action

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Relief

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Use_Action_Appearance

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Use_Stock

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Use_Underline

- To API doc
- To spec

(Inherited)
Gtk.Button.Leave

- To API doc
- To spec

(Inherited)
Gtk.Button.Pressed

- To API doc
- To spec

(Inherited)
Gtk.Button.Released

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Alignment

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Focus_On_Click

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Image

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Image_Position

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Label

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Related_Action

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Relief

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Use_Action_Appearance

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Use_Stock

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Use_Underline

- To API doc
- To spec

(Inherited)
Gtk.Button.Sync_Action_Properties

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

- To API doc
- To spec

Set_Visited

- To API doc
- To spec

# Types

### Gtk_Link_Button

- Goto declaration in source

    type Gtk_Link_Button is access all Gtk_Link_Button_Record'Class;

### Uri_Func

- Goto declaration in source

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

# Constants & Global variables

### Uri_Property

- Goto declaration in source

(Glib.Properties.Property_String)

    Uri_Property : constant Glib.Properties.Property_String;

### Visited_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Visited_Property : constant Glib.Properties.Property_Boolean;

# Subprograms & Entries

### Get_Type

- Goto spec in source
- Goto body in source

    function Get_Type return GType;

Return the internal value associated with a Gtk_Link_Button.

### Get_Uri

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    procedure Gtk_New (Widget: out Gtk_Link_Button;Uri: String);

Creates a new Gtk_Link_Button_Record with the URI as its text.

### Initialize

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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.