GTK+ Reference Manual | ||||
---|---|---|---|---|
#include <gtk/gtk.h> GtkLinkButton; GtkWidget* gtk_link_button_new (const gchar *uri); GtkWidget* gtk_link_button_new_with_label (const gchar *uri, const gchar *label); const gchar* gtk_link_button_get_uri (GtkLinkButton *link_button); void gtk_link_button_set_uri (GtkLinkButton *link_button, const gchar *uri); void (*GtkLinkButtonUriFunc) (GtkLinkButton *button, const gchar *link_, gpointer user_data); GtkLinkButtonUriFunc gtk_link_button_set_uri_hook (GtkLinkButtonUriFunc func, gpointer data, GDestroyNotify destroy); gboolean gtk_link_button_get_visited (GtkLinkButton *link_button); void gtk_link_button_set_visited (GtkLinkButton *link_button, gboolean visited);
GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkContainer +----GtkBin +----GtkButton +----GtkLinkButton
A GtkLinkButton is a GtkButton with a hyperlink, similar to the one used by web browsers, which triggers an action when clicked. It is useful to show quick links to resources.
A link button is created by calling either gtk_link_button_new()
or
gtk_link_button_new_with_label()
. If using the former, the URI you pass
to the constructor is used as a label for the widget.
The URI bound to a GtkLinkButton can be set specifically using
gtk_link_button_set_uri()
, and retrieved using gtk_link_button_get_uri()
.
GtkLinkButton offers a global hook, which is called when the used clicks
on it: see gtk_link_button_set_uri_hook()
.
GtkLinkButton was added in GTK+ 2.10.
typedef struct _GtkLinkButton GtkLinkButton;
The GtkLinkButton struct contains private data only, and should be manipulated using the functions below.
GtkWidget* gtk_link_button_new (const gchar *uri);
Creates a new GtkLinkButton with the URI as its text.
uri : |
a valid URI |
Returns : | a new link button widget. |
Since 2.10
GtkWidget* gtk_link_button_new_with_label (const gchar *uri, const gchar *label);
Creates a new GtkLinkButton containing a label.
uri : |
a valid URI |
label : |
the text of the button |
Returns : | a new link button widget. |
Since 2.10
const gchar* gtk_link_button_get_uri (GtkLinkButton *link_button);
Retrieves the URI set using gtk_link_button_set_uri()
.
link_button : |
a GtkLinkButton |
Returns : | a valid URI. The returned string is owned by the link button and should not be modified or freed. |
Since 2.10
void gtk_link_button_set_uri (GtkLinkButton *link_button, const gchar *uri);
Sets uri
as the URI where the GtkLinkButton points. As a side-effect
this unsets the 'visited' state of the button.
link_button : |
a GtkLinkButton |
uri : |
a valid URI |
Since 2.10
void (*GtkLinkButtonUriFunc) (GtkLinkButton *button, const gchar *link_, gpointer user_data);
The type of a function which is called when the GtkLinkButton is clicked.
button : |
the GtkLinkButton which was clicked |
link_ : |
|
user_data : |
user data that was passed when the function was registered
with gtk_link_button_set_uri_hook()
|
GtkLinkButtonUriFunc gtk_link_button_set_uri_hook (GtkLinkButtonUriFunc func, gpointer data, GDestroyNotify destroy);
Sets func
as the function that should be invoked every time a user clicks
a GtkLinkButton. This function is called before every callback registered
for the "clicked" signal.
func : |
a function called each time a GtkLinkButton is clicked, or NULL
|
data : |
user data to be passed to func , or NULL
|
destroy : |
a GDestroyNotify that gets called when data is no longer needed, or NULL
|
Returns : | the previously set hook function. |
Since 2.10
gboolean gtk_link_button_get_visited (GtkLinkButton *link_button);
Retrieves the 'visited' state of the URI where the GtkLinkButton 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 gtk_link_button_set_visited()
.
link_button : |
a GtkLinkButton |
Returns : | TRUE if the link has been visited, FALSE otherwise
|
Since 2.14
void gtk_link_button_set_visited (GtkLinkButton *link_button, gboolean visited);
Sets the 'visited' state of the URI where the GtkLinkButton
points. See gtk_link_button_get_visited()
for more details.
link_button : |
a GtkLinkButton |
visited : |
the new 'visited' state |
Since 2.14