module GI.Atk.Objects.Hyperlink
(
Hyperlink(..) ,
HyperlinkK ,
toHyperlink ,
noHyperlink ,
hyperlinkGetEndIndex ,
hyperlinkGetNAnchors ,
hyperlinkGetObject ,
hyperlinkGetStartIndex ,
hyperlinkGetUri ,
hyperlinkIsInline ,
hyperlinkIsSelectedLink ,
hyperlinkIsValid ,
HyperlinkEndIndexPropertyInfo ,
getHyperlinkEndIndex ,
HyperlinkNumberOfAnchorsPropertyInfo ,
getHyperlinkNumberOfAnchors ,
HyperlinkSelectedLinkPropertyInfo ,
getHyperlinkSelectedLink ,
HyperlinkStartIndexPropertyInfo ,
getHyperlinkStartIndex ,
HyperlinkLinkActivatedCallback ,
HyperlinkLinkActivatedCallbackC ,
HyperlinkLinkActivatedSignalInfo ,
afterHyperlinkLinkActivated ,
hyperlinkLinkActivatedCallbackWrapper ,
hyperlinkLinkActivatedClosure ,
mkHyperlinkLinkActivatedCallback ,
noHyperlinkLinkActivatedCallback ,
onHyperlinkLinkActivated ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Atk.Types
import GI.Atk.Callbacks
import qualified GI.GObject as GObject
newtype Hyperlink = Hyperlink (ForeignPtr Hyperlink)
foreign import ccall "atk_hyperlink_get_type"
c_atk_hyperlink_get_type :: IO GType
type instance ParentTypes Hyperlink = HyperlinkParentTypes
type HyperlinkParentTypes = '[GObject.Object, Action]
instance GObject Hyperlink where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_atk_hyperlink_get_type
class GObject o => HyperlinkK o
instance (GObject o, IsDescendantOf Hyperlink o) => HyperlinkK o
toHyperlink :: HyperlinkK o => o -> IO Hyperlink
toHyperlink = unsafeCastTo Hyperlink
noHyperlink :: Maybe Hyperlink
noHyperlink = Nothing
type HyperlinkLinkActivatedCallback =
IO ()
noHyperlinkLinkActivatedCallback :: Maybe HyperlinkLinkActivatedCallback
noHyperlinkLinkActivatedCallback = Nothing
type HyperlinkLinkActivatedCallbackC =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkHyperlinkLinkActivatedCallback :: HyperlinkLinkActivatedCallbackC -> IO (FunPtr HyperlinkLinkActivatedCallbackC)
hyperlinkLinkActivatedClosure :: HyperlinkLinkActivatedCallback -> IO Closure
hyperlinkLinkActivatedClosure cb = newCClosure =<< mkHyperlinkLinkActivatedCallback wrapped
where wrapped = hyperlinkLinkActivatedCallbackWrapper cb
hyperlinkLinkActivatedCallbackWrapper ::
HyperlinkLinkActivatedCallback ->
Ptr () ->
Ptr () ->
IO ()
hyperlinkLinkActivatedCallbackWrapper _cb _ _ = do
_cb
onHyperlinkLinkActivated :: (GObject a, MonadIO m) => a -> HyperlinkLinkActivatedCallback -> m SignalHandlerId
onHyperlinkLinkActivated obj cb = liftIO $ connectHyperlinkLinkActivated obj cb SignalConnectBefore
afterHyperlinkLinkActivated :: (GObject a, MonadIO m) => a -> HyperlinkLinkActivatedCallback -> m SignalHandlerId
afterHyperlinkLinkActivated obj cb = connectHyperlinkLinkActivated obj cb SignalConnectAfter
connectHyperlinkLinkActivated :: (GObject a, MonadIO m) =>
a -> HyperlinkLinkActivatedCallback -> SignalConnectMode -> m SignalHandlerId
connectHyperlinkLinkActivated obj cb after = liftIO $ do
cb' <- mkHyperlinkLinkActivatedCallback (hyperlinkLinkActivatedCallbackWrapper cb)
connectSignalFunPtr obj "link-activated" cb' after
getHyperlinkEndIndex :: (MonadIO m, HyperlinkK o) => o -> m Int32
getHyperlinkEndIndex obj = liftIO $ getObjectPropertyCInt obj "end-index"
data HyperlinkEndIndexPropertyInfo
instance AttrInfo HyperlinkEndIndexPropertyInfo where
type AttrAllowedOps HyperlinkEndIndexPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint HyperlinkEndIndexPropertyInfo = (~) ()
type AttrBaseTypeConstraint HyperlinkEndIndexPropertyInfo = HyperlinkK
type AttrGetType HyperlinkEndIndexPropertyInfo = Int32
type AttrLabel HyperlinkEndIndexPropertyInfo = "Hyperlink::end-index"
attrGet _ = getHyperlinkEndIndex
attrSet _ = undefined
attrConstruct _ = undefined
getHyperlinkNumberOfAnchors :: (MonadIO m, HyperlinkK o) => o -> m Int32
getHyperlinkNumberOfAnchors obj = liftIO $ getObjectPropertyCInt obj "number-of-anchors"
data HyperlinkNumberOfAnchorsPropertyInfo
instance AttrInfo HyperlinkNumberOfAnchorsPropertyInfo where
type AttrAllowedOps HyperlinkNumberOfAnchorsPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint HyperlinkNumberOfAnchorsPropertyInfo = (~) ()
type AttrBaseTypeConstraint HyperlinkNumberOfAnchorsPropertyInfo = HyperlinkK
type AttrGetType HyperlinkNumberOfAnchorsPropertyInfo = Int32
type AttrLabel HyperlinkNumberOfAnchorsPropertyInfo = "Hyperlink::number-of-anchors"
attrGet _ = getHyperlinkNumberOfAnchors
attrSet _ = undefined
attrConstruct _ = undefined
getHyperlinkSelectedLink :: (MonadIO m, HyperlinkK o) => o -> m Bool
getHyperlinkSelectedLink obj = liftIO $ getObjectPropertyBool obj "selected-link"
data HyperlinkSelectedLinkPropertyInfo
instance AttrInfo HyperlinkSelectedLinkPropertyInfo where
type AttrAllowedOps HyperlinkSelectedLinkPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint HyperlinkSelectedLinkPropertyInfo = (~) ()
type AttrBaseTypeConstraint HyperlinkSelectedLinkPropertyInfo = HyperlinkK
type AttrGetType HyperlinkSelectedLinkPropertyInfo = Bool
type AttrLabel HyperlinkSelectedLinkPropertyInfo = "Hyperlink::selected-link"
attrGet _ = getHyperlinkSelectedLink
attrSet _ = undefined
attrConstruct _ = undefined
getHyperlinkStartIndex :: (MonadIO m, HyperlinkK o) => o -> m Int32
getHyperlinkStartIndex obj = liftIO $ getObjectPropertyCInt obj "start-index"
data HyperlinkStartIndexPropertyInfo
instance AttrInfo HyperlinkStartIndexPropertyInfo where
type AttrAllowedOps HyperlinkStartIndexPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint HyperlinkStartIndexPropertyInfo = (~) ()
type AttrBaseTypeConstraint HyperlinkStartIndexPropertyInfo = HyperlinkK
type AttrGetType HyperlinkStartIndexPropertyInfo = Int32
type AttrLabel HyperlinkStartIndexPropertyInfo = "Hyperlink::start-index"
attrGet _ = getHyperlinkStartIndex
attrSet _ = undefined
attrConstruct _ = undefined
type instance AttributeList Hyperlink = HyperlinkAttributeList
type HyperlinkAttributeList = ('[ '("end-index", HyperlinkEndIndexPropertyInfo), '("number-of-anchors", HyperlinkNumberOfAnchorsPropertyInfo), '("selected-link", HyperlinkSelectedLinkPropertyInfo), '("start-index", HyperlinkStartIndexPropertyInfo)] :: [(Symbol, *)])
data HyperlinkLinkActivatedSignalInfo
instance SignalInfo HyperlinkLinkActivatedSignalInfo where
type HaskellCallbackType HyperlinkLinkActivatedSignalInfo = HyperlinkLinkActivatedCallback
connectSignal _ = connectHyperlinkLinkActivated
type instance SignalList Hyperlink = HyperlinkSignalList
type HyperlinkSignalList = ('[ '("link-activated", HyperlinkLinkActivatedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "atk_hyperlink_get_end_index" atk_hyperlink_get_end_index ::
Ptr Hyperlink ->
IO Int32
hyperlinkGetEndIndex ::
(MonadIO m, HyperlinkK a) =>
a ->
m Int32
hyperlinkGetEndIndex _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- atk_hyperlink_get_end_index _obj'
touchManagedPtr _obj
return result
foreign import ccall "atk_hyperlink_get_n_anchors" atk_hyperlink_get_n_anchors ::
Ptr Hyperlink ->
IO Int32
hyperlinkGetNAnchors ::
(MonadIO m, HyperlinkK a) =>
a ->
m Int32
hyperlinkGetNAnchors _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- atk_hyperlink_get_n_anchors _obj'
touchManagedPtr _obj
return result
foreign import ccall "atk_hyperlink_get_object" atk_hyperlink_get_object ::
Ptr Hyperlink ->
Int32 ->
IO (Ptr Object)
hyperlinkGetObject ::
(MonadIO m, HyperlinkK a) =>
a ->
Int32 ->
m Object
hyperlinkGetObject _obj i = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- atk_hyperlink_get_object _obj' i
checkUnexpectedReturnNULL "atk_hyperlink_get_object" result
result' <- (newObject Object) result
touchManagedPtr _obj
return result'
foreign import ccall "atk_hyperlink_get_start_index" atk_hyperlink_get_start_index ::
Ptr Hyperlink ->
IO Int32
hyperlinkGetStartIndex ::
(MonadIO m, HyperlinkK a) =>
a ->
m Int32
hyperlinkGetStartIndex _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- atk_hyperlink_get_start_index _obj'
touchManagedPtr _obj
return result
foreign import ccall "atk_hyperlink_get_uri" atk_hyperlink_get_uri ::
Ptr Hyperlink ->
Int32 ->
IO CString
hyperlinkGetUri ::
(MonadIO m, HyperlinkK a) =>
a ->
Int32 ->
m T.Text
hyperlinkGetUri _obj i = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- atk_hyperlink_get_uri _obj' i
checkUnexpectedReturnNULL "atk_hyperlink_get_uri" result
result' <- cstringToText result
freeMem result
touchManagedPtr _obj
return result'
foreign import ccall "atk_hyperlink_is_inline" atk_hyperlink_is_inline ::
Ptr Hyperlink ->
IO CInt
hyperlinkIsInline ::
(MonadIO m, HyperlinkK a) =>
a ->
m Bool
hyperlinkIsInline _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- atk_hyperlink_is_inline _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
foreign import ccall "atk_hyperlink_is_selected_link" atk_hyperlink_is_selected_link ::
Ptr Hyperlink ->
IO CInt
hyperlinkIsSelectedLink ::
(MonadIO m, HyperlinkK a) =>
a ->
m Bool
hyperlinkIsSelectedLink _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- atk_hyperlink_is_selected_link _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
foreign import ccall "atk_hyperlink_is_valid" atk_hyperlink_is_valid ::
Ptr Hyperlink ->
IO CInt
hyperlinkIsValid ::
(MonadIO m, HyperlinkK a) =>
a ->
m Bool
hyperlinkIsValid _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- atk_hyperlink_is_valid _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'