## AtkHyperlink

AtkHyperlink — An ATK object which encapsulates a link or set of links in a hypertext document.

## Synopsis

                        AtkHyperlink;
    enum                AtkHyperlinkStateFlags;
    gchar*              atk_hyperlink_get_uri               (AtkHyperlink *link_,
                                                             gint i);
    AtkObject*          atk_hyperlink_get_object            (AtkHyperlink *link_,
                                                             gint i);
    gint                atk_hyperlink_get_end_index         (AtkHyperlink *link_);
    gint                atk_hyperlink_get_start_index       (AtkHyperlink *link_);
    gboolean            atk_hyperlink_is_valid              (AtkHyperlink *link_);
    gboolean            atk_hyperlink_is_inline             (AtkHyperlink *link_);
    gint                atk_hyperlink_get_n_anchors         (AtkHyperlink *link_);
    gboolean            atk_hyperlink_is_selected_link      (AtkHyperlink *link_);

## Object Hierarchy

      GObject
       +----AtkHyperlink

## Implemented Interfaces

AtkHyperlink implements AtkAction.

## Properties

      "end-index"                gint                  : Read
      "number-of-anchors"        gint                  : Read
      "selected-link"            gboolean              : Read
      "start-index"              gint                  : Read

## Signals

      "link-activated"                                 : Run Last

## Description

An ATK object which encapsulates a link or set of links (for instance in the case of client-side image maps) in a hypertext document. It may implement the AtkAction interface. AtkHyperlink may also be used to refer to inline embedded content, since it allows specification of a start and end offset within the host AtkHypertext object.

## Details

### AtkHyperlink

    typedef struct _AtkHyperlink AtkHyperlink;

The AtkHyperlink structure should not be accessed directly.

### enum AtkHyperlinkStateFlags

    typedef enum
    {
      ATK_HYPERLINK_IS_INLINE = 1 << 0
    } AtkHyperlinkStateFlags;

Describes the type of link

`ATK_HYPERLINK_IS_INLINE` | Link is inline

### atk_hyperlink_get_uri ()

    gchar*              atk_hyperlink_get_uri               (AtkHyperlink *link_,
                                                             gint i);

Get a the URI associated with the anchor specified by `i` of `link_`.

Multiple anchors are primarily used by client-side image maps.

`link_` : | an AtkHyperlink
`i` : | a (zero-index) integer specifying the desired anchor
Returns : | a string specifying the URI

### atk_hyperlink_get_object ()

    AtkObject*          atk_hyperlink_get_object            (AtkHyperlink *link_,
                                                             gint i);

Returns the item associated with this hyperlinks nth anchor. For instance, the returned AtkObject will implement AtkText if `link_` is a text hyperlink, AtkImage if `link_` is an image hyperlink etc.

Multiple anchors are primarily used by client-side image maps.

`link_` : | an AtkHyperlink
`i` : | a (zero-index) integer specifying the desired anchor
Returns : | an AtkObject associated with this hyperlinks i-th anchor

### atk_hyperlink_get_end_index ()

    gint                atk_hyperlink_get_end_index         (AtkHyperlink *link_);

Gets the index with the hypertext document at which this link ends.

`link_` : | an AtkHyperlink
Returns : | the index with the hypertext document at which this link ends

### atk_hyperlink_get_start_index ()

    gint                atk_hyperlink_get_start_index       (AtkHyperlink *link_);

Gets the index with the hypertext document at which this link begins.

`link_` : | an AtkHyperlink
Returns : | the index with the hypertext document at which this link begins

### atk_hyperlink_is_valid ()

    gboolean            atk_hyperlink_is_valid              (AtkHyperlink *link_);

Since the document that a link is associated with may have changed this method returns `TRUE` if the link is still valid (with respect to the document it references) and `FALSE` otherwise.

`link_` : | an AtkHyperlink
Returns : | whether or not this link is still valid

### atk_hyperlink_is_inline ()

    gboolean            atk_hyperlink_is_inline             (AtkHyperlink *link_);

Indicates whether the link currently displays some or all of its content inline. Ordinary HTML links will usually return `FALSE`, but an inline &lt;src&gt; HTML element will return `TRUE`. a *

`link_` : | an AtkHyperlink
Returns : | whether or not this link displays its content inline.

### atk_hyperlink_get_n_anchors ()

    gint                atk_hyperlink_get_n_anchors         (AtkHyperlink *link_);

Gets the number of anchors associated with this hyperlink.

`link_` : | an AtkHyperlink
Returns : | the number of anchors associated with this hyperlink

### atk_hyperlink_is_selected_link ()

    gboolean            atk_hyperlink_is_selected_link      (AtkHyperlink *link_);

Determines whether this AtkHyperlink is selected

Returns:

`link_` : | an AtkHyperlink
Returns : | True is the AtkHyperlink is selected, False otherwise

Since ATK 1.4 @Deprecated: This method is deprecated since ATK version 1.8. Please use ATK_STATE_SELECTED to indicate when a hyperlink within a Hypertext container is selected.

## Property Details

### The "`end-index`" property

      "end-index"                gint                  : Read

The end index of the AtkHyperlink object.

Allowed values: >= 0

Default value: 0

### The "`number-of-anchors`" property

      "number-of-anchors"        gint                  : Read

The number of anchors associated with the AtkHyperlink object.

Allowed values: >= 0

Default value: 0

### The "`selected-link`" property

      "selected-link"            gboolean              : Read

Specifies whether the AtkHyperlink object is selected.

Default value: FALSE

### The "`start-index`" property

      "start-index"              gint                  : Read

The start index of the AtkHyperlink object.

Allowed values: >= 0

Default value: 0

## Signal Details

### The "link-activated" signal

    void                user_function                      (AtkHyperlink *atkhyperlink,
                                                            gpointer      user_data)         : Run Last

The signal link-activated is emitted when a link is activated.

`atkhyperlink` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.