{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (garetxe@gmail.com) -} module GI.Atk.Objects.Hyperlink ( -- * Exported types Hyperlink(..) , HyperlinkK , toHyperlink , noHyperlink , -- * Methods -- ** hyperlinkGetEndIndex hyperlinkGetEndIndex , -- ** hyperlinkGetNAnchors hyperlinkGetNAnchors , -- ** hyperlinkGetObject hyperlinkGetObject , -- ** hyperlinkGetStartIndex hyperlinkGetStartIndex , -- ** hyperlinkGetUri hyperlinkGetUri , -- ** hyperlinkIsInline hyperlinkIsInline , -- ** hyperlinkIsSelectedLink hyperlinkIsSelectedLink , -- ** hyperlinkIsValid hyperlinkIsValid , -- * Properties -- ** EndIndex HyperlinkEndIndexPropertyInfo , getHyperlinkEndIndex , -- ** NumberOfAnchors HyperlinkNumberOfAnchorsPropertyInfo , getHyperlinkNumberOfAnchors , -- ** SelectedLink HyperlinkSelectedLinkPropertyInfo , getHyperlinkSelectedLink , -- ** StartIndex HyperlinkStartIndexPropertyInfo , getHyperlinkStartIndex , -- * Signals -- ** LinkActivated 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 -- signal Hyperlink::link-activated type HyperlinkLinkActivatedCallback = IO () noHyperlinkLinkActivatedCallback :: Maybe HyperlinkLinkActivatedCallback noHyperlinkLinkActivatedCallback = Nothing type HyperlinkLinkActivatedCallbackC = Ptr () -> -- object Ptr () -> -- user_data 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 -- VVV Prop "end-index" -- Type: TBasicType TInt32 -- Flags: [PropertyReadable] 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 -- VVV Prop "number-of-anchors" -- Type: TBasicType TInt32 -- Flags: [PropertyReadable] 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 -- VVV Prop "selected-link" -- Type: TBasicType TBoolean -- Flags: [PropertyReadable] 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 -- VVV Prop "start-index" -- Type: TBasicType TInt32 -- Flags: [PropertyReadable] 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, *)]) -- method Hyperlink::get_end_index -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TInt32 -- throws : False -- Skip return : False foreign import ccall "atk_hyperlink_get_end_index" atk_hyperlink_get_end_index :: Ptr Hyperlink -> -- _obj : TInterface "Atk" "Hyperlink" IO Int32 hyperlinkGetEndIndex :: (MonadIO m, HyperlinkK a) => a -> -- _obj m Int32 hyperlinkGetEndIndex _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- atk_hyperlink_get_end_index _obj' touchManagedPtr _obj return result -- method Hyperlink::get_n_anchors -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TInt32 -- throws : False -- Skip return : False foreign import ccall "atk_hyperlink_get_n_anchors" atk_hyperlink_get_n_anchors :: Ptr Hyperlink -> -- _obj : TInterface "Atk" "Hyperlink" IO Int32 hyperlinkGetNAnchors :: (MonadIO m, HyperlinkK a) => a -> -- _obj m Int32 hyperlinkGetNAnchors _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- atk_hyperlink_get_n_anchors _obj' touchManagedPtr _obj return result -- method Hyperlink::get_object -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Atk" "Object" -- throws : False -- Skip return : False foreign import ccall "atk_hyperlink_get_object" atk_hyperlink_get_object :: Ptr Hyperlink -> -- _obj : TInterface "Atk" "Hyperlink" Int32 -> -- i : TBasicType TInt32 IO (Ptr Object) hyperlinkGetObject :: (MonadIO m, HyperlinkK a) => a -> -- _obj Int32 -> -- i 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' -- method Hyperlink::get_start_index -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TInt32 -- throws : False -- Skip return : False foreign import ccall "atk_hyperlink_get_start_index" atk_hyperlink_get_start_index :: Ptr Hyperlink -> -- _obj : TInterface "Atk" "Hyperlink" IO Int32 hyperlinkGetStartIndex :: (MonadIO m, HyperlinkK a) => a -> -- _obj m Int32 hyperlinkGetStartIndex _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- atk_hyperlink_get_start_index _obj' touchManagedPtr _obj return result -- method Hyperlink::get_uri -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : False -- Skip return : False foreign import ccall "atk_hyperlink_get_uri" atk_hyperlink_get_uri :: Ptr Hyperlink -> -- _obj : TInterface "Atk" "Hyperlink" Int32 -> -- i : TBasicType TInt32 IO CString hyperlinkGetUri :: (MonadIO m, HyperlinkK a) => a -> -- _obj Int32 -> -- i 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' -- method Hyperlink::is_inline -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "atk_hyperlink_is_inline" atk_hyperlink_is_inline :: Ptr Hyperlink -> -- _obj : TInterface "Atk" "Hyperlink" IO CInt hyperlinkIsInline :: (MonadIO m, HyperlinkK a) => a -> -- _obj m Bool hyperlinkIsInline _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- atk_hyperlink_is_inline _obj' let result' = (/= 0) result touchManagedPtr _obj return result' -- method Hyperlink::is_selected_link -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "atk_hyperlink_is_selected_link" atk_hyperlink_is_selected_link :: Ptr Hyperlink -> -- _obj : TInterface "Atk" "Hyperlink" IO CInt {-# DEPRECATED hyperlinkIsSelectedLink ["(Since version 1.8)","Please use ATK_STATE_FOCUSABLE for all links,","and ATK_STATE_FOCUSED for focused links."]#-} hyperlinkIsSelectedLink :: (MonadIO m, HyperlinkK a) => a -> -- _obj 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' -- method Hyperlink::is_valid -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "atk_hyperlink_is_valid" atk_hyperlink_is_valid :: Ptr Hyperlink -> -- _obj : TInterface "Atk" "Hyperlink" IO CInt hyperlinkIsValid :: (MonadIO m, HyperlinkK a) => a -> -- _obj m Bool hyperlinkIsValid _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- atk_hyperlink_is_valid _obj' let result' = (/= 0) result touchManagedPtr _obj return result'