module GI.Atk.Interfaces.Hypertext
(
Hypertext(..) ,
noHypertext ,
IsHypertext ,
HypertextGetLinkMethodInfo ,
hypertextGetLink ,
HypertextGetLinkIndexMethodInfo ,
hypertextGetLinkIndex ,
HypertextGetNLinksMethodInfo ,
hypertextGetNLinks ,
C_HypertextLinkSelectedCallback ,
HypertextLinkSelectedCallback ,
HypertextLinkSelectedSignalInfo ,
afterHypertextLinkSelected ,
genClosure_HypertextLinkSelected ,
mk_HypertextLinkSelectedCallback ,
noHypertextLinkSelectedCallback ,
onHypertextLinkSelected ,
wrap_HypertextLinkSelectedCallback ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GI.Atk.Objects.Hyperlink as Atk.Hyperlink
newtype Hypertext = Hypertext (ManagedPtr Hypertext)
noHypertext :: Maybe Hypertext
noHypertext = Nothing
type family ResolveHypertextMethod (t :: Symbol) (o :: *) :: * where
ResolveHypertextMethod "getLink" o = HypertextGetLinkMethodInfo
ResolveHypertextMethod "getLinkIndex" o = HypertextGetLinkIndexMethodInfo
ResolveHypertextMethod "getNLinks" o = HypertextGetNLinksMethodInfo
ResolveHypertextMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveHypertextMethod t Hypertext, O.MethodInfo info Hypertext p) => O.IsLabelProxy t (Hypertext -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveHypertextMethod t Hypertext, O.MethodInfo info Hypertext p) => O.IsLabel t (Hypertext -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
type HypertextLinkSelectedCallback =
Int32 ->
IO ()
noHypertextLinkSelectedCallback :: Maybe HypertextLinkSelectedCallback
noHypertextLinkSelectedCallback = Nothing
type C_HypertextLinkSelectedCallback =
Ptr () ->
Int32 ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_HypertextLinkSelectedCallback :: C_HypertextLinkSelectedCallback -> IO (FunPtr C_HypertextLinkSelectedCallback)
genClosure_HypertextLinkSelected :: HypertextLinkSelectedCallback -> IO Closure
genClosure_HypertextLinkSelected cb = do
let cb' = wrap_HypertextLinkSelectedCallback cb
mk_HypertextLinkSelectedCallback cb' >>= newCClosure
wrap_HypertextLinkSelectedCallback ::
HypertextLinkSelectedCallback ->
Ptr () ->
Int32 ->
Ptr () ->
IO ()
wrap_HypertextLinkSelectedCallback _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
let cb' = wrap_HypertextLinkSelectedCallback cb
cb'' <- mk_HypertextLinkSelectedCallback cb'
connectSignalFunPtr obj "link-selected" cb'' after
instance O.HasAttributeList Hypertext
type instance O.AttributeList Hypertext = HypertextAttributeList
type HypertextAttributeList = ('[ ] :: [(Symbol, *)])
data HypertextLinkSelectedSignalInfo
instance SignalInfo HypertextLinkSelectedSignalInfo where
type HaskellCallbackType HypertextLinkSelectedSignalInfo = HypertextLinkSelectedCallback
connectSignal _ = connectHypertextLinkSelected
type instance O.SignalList Hypertext = HypertextSignalList
type HypertextSignalList = ('[ '("linkSelected", HypertextLinkSelectedSignalInfo)] :: [(Symbol, *)])
class ManagedPtrNewtype a => IsHypertext a
instance IsHypertext Hypertext
instance WrappedPtr Hypertext where
wrappedPtrCalloc = return nullPtr
wrappedPtrCopy = return
wrappedPtrFree = Nothing
foreign import ccall "atk_hypertext_get_link" atk_hypertext_get_link ::
Ptr Hypertext ->
Int32 ->
IO (Ptr Atk.Hyperlink.Hyperlink)
hypertextGetLink ::
(B.CallStack.HasCallStack, MonadIO m, IsHypertext a) =>
a
-> Int32
-> m Atk.Hyperlink.Hyperlink
hypertextGetLink hypertext linkIndex = liftIO $ do
hypertext' <- unsafeManagedPtrCastPtr hypertext
result <- atk_hypertext_get_link hypertext' linkIndex
checkUnexpectedReturnNULL "hypertextGetLink" result
result' <- (newObject Atk.Hyperlink.Hyperlink) result
touchManagedPtr hypertext
return result'
data HypertextGetLinkMethodInfo
instance (signature ~ (Int32 -> m Atk.Hyperlink.Hyperlink), MonadIO m, IsHypertext a) => O.MethodInfo HypertextGetLinkMethodInfo a signature where
overloadedMethod _ = hypertextGetLink
foreign import ccall "atk_hypertext_get_link_index" atk_hypertext_get_link_index ::
Ptr Hypertext ->
Int32 ->
IO Int32
hypertextGetLinkIndex ::
(B.CallStack.HasCallStack, MonadIO m, IsHypertext a) =>
a
-> Int32
-> m Int32
hypertextGetLinkIndex hypertext charIndex = liftIO $ do
hypertext' <- unsafeManagedPtrCastPtr hypertext
result <- atk_hypertext_get_link_index hypertext' charIndex
touchManagedPtr hypertext
return result
data HypertextGetLinkIndexMethodInfo
instance (signature ~ (Int32 -> m Int32), MonadIO m, IsHypertext a) => O.MethodInfo HypertextGetLinkIndexMethodInfo a signature where
overloadedMethod _ = hypertextGetLinkIndex
foreign import ccall "atk_hypertext_get_n_links" atk_hypertext_get_n_links ::
Ptr Hypertext ->
IO Int32
hypertextGetNLinks ::
(B.CallStack.HasCallStack, MonadIO m, IsHypertext a) =>
a
-> m Int32
hypertextGetNLinks hypertext = liftIO $ do
hypertext' <- unsafeManagedPtrCastPtr hypertext
result <- atk_hypertext_get_n_links hypertext'
touchManagedPtr hypertext
return result
data HypertextGetNLinksMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsHypertext a) => O.MethodInfo HypertextGetNLinksMethodInfo a signature where
overloadedMethod _ = hypertextGetNLinks