gi-atk-2.0.18: Atk bindings

Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com)
Safe Haskell | None
Language | Haskell2010

GI.Atk.Interfaces.HyperlinkImpl

Contents

- Exported types
- Methods
  - getHyperlink

Description

AtkHyperlinkImpl allows AtkObjects to refer to their associated AtkHyperlink instance, if one exists. AtkHyperlinkImpl differs from AtkHyperlink in that AtkHyperlinkImpl is an interface, whereas AtkHyperlink is a object type. The AtkHyperlinkImpl interface allows a client to query an AtkObject for the availability of an associated AtkHyperlink instance, and obtain that instance. It is thus particularly useful in cases where embedded content or inline content within a text object is present, since the embedding text object implements AtkHypertext and the inline/embedded objects are exposed as children which implement AtkHyperlinkImpl, in addition to their being obtainable via AtkHypertext:getLink followed by AtkHyperlink:getObject.

The AtkHyperlinkImpl interface should be supported by objects exposed within the hierarchy as children of an AtkHypertext container which correspond to "links" or embedded content within the text. HTML anchors are not, for instance, normally exposed this way, but embedded images and components which appear inline in the content of a text object are. The AtkHyperlinkIface interface allows a means of determining which children are hyperlinks in this sense of the word, and for obtaining their corresponding AtkHyperlink object, from which the embedding range, URI, etc. can be obtained.

To some extent this interface exists because, for historical reasons, AtkHyperlink was defined as an object type, not an interface. Thus, in order to interact with AtkObjects via AtkHyperlink semantics, a new interface was required.

Synopsis

- newtype HyperlinkImpl = HyperlinkImpl (ManagedPtr HyperlinkImpl)
- noHyperlinkImpl :: Maybe HyperlinkImpl
- class ManagedPtrNewtype a => IsHyperlinkImpl a
- hyperlinkImplGetHyperlink :: (HasCallStack, MonadIO m, IsHyperlinkImpl a) => a -> m Hyperlink

# Exported types

newtype HyperlinkImpl Source #

Memory-managed wrapper type.

Constructors

HyperlinkImpl (ManagedPtr HyperlinkImpl) |

Instances

WrappedPtr HyperlinkImpl Source # |
Instance details Defined in GI.Atk.Interfaces.HyperlinkImpl Methods wrappedPtrCalloc :: IO (Ptr HyperlinkImpl) Source # wrappedPtrCopy :: HyperlinkImpl -> IO HyperlinkImpl Source # wrappedPtrFree :: Maybe (FunPtr (Ptr HyperlinkImpl -> IO ())) Source #
IsHyperlinkImpl HyperlinkImpl Source # |
Instance details Defined in GI.Atk.Interfaces.HyperlinkImpl

noHyperlinkImpl :: Maybe HyperlinkImpl Source #

A convenience alias for `Nothing` :: `Maybe` `HyperlinkImpl`.

class ManagedPtrNewtype a => IsHyperlinkImpl a Source #

Type class for types which implement `HyperlinkImpl`.

Instances

IsHyperlinkImpl HyperlinkImpl Source # |
Instance details Defined in GI.Atk.Interfaces.HyperlinkImpl

# Methods

## getHyperlink

hyperlinkImplGetHyperlink Source #

Arguments

:: (HasCallStack, MonadIO m, IsHyperlinkImpl a) |
=> a | `impl`: a `Object` instance that implements AtkHyperlinkImplIface
-> m Hyperlink | Returns: an AtkHyperlink object which points to this implementing AtkObject.

Gets the hyperlink associated with this object.

Since: 1.12