{- | 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.Interfaces.Hypertext ( -- * Exported types Hypertext(..) , noHypertext , HypertextK , -- * Methods -- ** hypertextGetLink hypertextGetLink , -- ** hypertextGetLinkIndex hypertextGetLinkIndex , -- ** hypertextGetNLinks hypertextGetNLinks , -- * Signals -- ** LinkSelected HypertextLinkSelectedCallback , HypertextLinkSelectedCallbackC , HypertextLinkSelectedSignalInfo , afterHypertextLinkSelected , hypertextLinkSelectedCallbackWrapper , hypertextLinkSelectedClosure , mkHypertextLinkSelectedCallback , noHypertextLinkSelectedCallback , onHypertextLinkSelected , ) 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 -- interface Hypertext newtype Hypertext = Hypertext (ForeignPtr Hypertext) noHypertext :: Maybe Hypertext noHypertext = Nothing -- signal Hypertext::link-selected type HypertextLinkSelectedCallback = Int32 -> IO () noHypertextLinkSelectedCallback :: Maybe HypertextLinkSelectedCallback noHypertextLinkSelectedCallback = Nothing type HypertextLinkSelectedCallbackC = Ptr () -> -- object Int32 -> Ptr () -> -- user_data IO () foreign import ccall "wrapper" mkHypertextLinkSelectedCallback :: HypertextLinkSelectedCallbackC -> IO (FunPtr HypertextLinkSelectedCallbackC) hypertextLinkSelectedClosure :: HypertextLinkSelectedCallback -> IO Closure hypertextLinkSelectedClosure cb = newCClosure =<< mkHypertextLinkSelectedCallback wrapped where wrapped = hypertextLinkSelectedCallbackWrapper cb hypertextLinkSelectedCallbackWrapper :: HypertextLinkSelectedCallback -> Ptr () -> Int32 -> Ptr () -> IO () hypertextLinkSelectedCallbackWrapper _cb _ arg1 _ = do _cb arg1 onHypertextLinkSelected :: (GObject a, MonadIO m) => a -> HypertextLinkSelectedCallback -> m SignalHandlerId onHypertextLinkSelected obj cb = liftIO $ connectHypertextLinkSelected obj cb SignalConnectBefore afterHypertextLinkSelected :: (GObject a, MonadIO m) => a -> HypertextLinkSelectedCallback -> m SignalHandlerId afterHypertextLinkSelected obj cb = connectHypertextLinkSelected obj cb SignalConnectAfter connectHypertextLinkSelected :: (GObject a, MonadIO m) => a -> HypertextLinkSelectedCallback -> SignalConnectMode -> m SignalHandlerId connectHypertextLinkSelected obj cb after = liftIO $ do cb' <- mkHypertextLinkSelectedCallback (hypertextLinkSelectedCallbackWrapper cb) connectSignalFunPtr obj "link-selected" cb' after type instance AttributeList Hypertext = HypertextAttributeList type HypertextAttributeList = ('[ ] :: [(Symbol, *)]) data HypertextLinkSelectedSignalInfo instance SignalInfo HypertextLinkSelectedSignalInfo where type HaskellCallbackType HypertextLinkSelectedSignalInfo = HypertextLinkSelectedCallback connectSignal _ = connectHypertextLinkSelected type instance SignalList Hypertext = HypertextSignalList type HypertextSignalList = ('[ '("link-selected", HypertextLinkSelectedSignalInfo)] :: [(Symbol, *)]) class ForeignPtrNewtype a => HypertextK a instance (ForeignPtrNewtype o, IsDescendantOf Hypertext o) => HypertextK o type instance ParentTypes Hypertext = HypertextParentTypes type HypertextParentTypes = '[] -- method Hypertext::get_link -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "link_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "link_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Atk" "Hyperlink" -- throws : False -- Skip return : False foreign import ccall "atk_hypertext_get_link" atk_hypertext_get_link :: Ptr Hypertext -> -- _obj : TInterface "Atk" "Hypertext" Int32 -> -- link_index : TBasicType TInt32 IO (Ptr Hyperlink) hypertextGetLink :: (MonadIO m, HypertextK a) => a -> -- _obj Int32 -> -- link_index m Hyperlink hypertextGetLink _obj link_index = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- atk_hypertext_get_link _obj' link_index checkUnexpectedReturnNULL "atk_hypertext_get_link" result result' <- (newObject Hyperlink) result touchManagedPtr _obj return result' -- method Hypertext::get_link_index -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "char_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "char_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TInt32 -- throws : False -- Skip return : False foreign import ccall "atk_hypertext_get_link_index" atk_hypertext_get_link_index :: Ptr Hypertext -> -- _obj : TInterface "Atk" "Hypertext" Int32 -> -- char_index : TBasicType TInt32 IO Int32 hypertextGetLinkIndex :: (MonadIO m, HypertextK a) => a -> -- _obj Int32 -> -- char_index m Int32 hypertextGetLinkIndex _obj char_index = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- atk_hypertext_get_link_index _obj' char_index touchManagedPtr _obj return result -- method Hypertext::get_n_links -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TInt32 -- throws : False -- Skip return : False foreign import ccall "atk_hypertext_get_n_links" atk_hypertext_get_n_links :: Ptr Hypertext -> -- _obj : TInterface "Atk" "Hypertext" IO Int32 hypertextGetNLinks :: (MonadIO m, HypertextK a) => a -> -- _obj m Int32 hypertextGetNLinks _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- atk_hypertext_get_n_links _obj' touchManagedPtr _obj return result