haskell-gi-base-0.10.1: Foundation for libraries generated by haskell-gi

Safe HaskellNone
LanguageHaskell98

Data.GI.Base.Signals

Description

Routines for connecting GObjects to signals.

Synopsis

Documentation

data SignalConnectMode Source

Whether to connect a handler to a signal with connectSignal so that it runs before/after the default handler for the given signal.

Constructors

SignalConnectBefore

Run before the default handler.

SignalConnectAfter

Run after the default handler.

connectSignalFunPtr :: GObject o => o -> String -> FunPtr a -> SignalConnectMode -> IO SignalHandlerId Source

Connect a signal to a handler, given as a FunPtr.

on :: forall signal extra o info constraint proxy m. (GObject o, HasSignal signal o, info ~ ResolveSignal signal o, SignalInfo info, KnownSymbol extra, constraint o, MonadIO m) => o -> proxy (signal :: Symbol) (extra :: Symbol) (constraint :: * -> Constraint) -> HaskellCallbackType info -> m SignalHandlerId Source

Same as connectSignal, specifying from the beginning that the handler is to be run before the default handler.

on = connectSignal SignalConnectBefore

after :: forall signal extra o info constraint proxy m. (GObject o, HasSignal signal o, info ~ ResolveSignal signal o, SignalInfo info, KnownSymbol extra, constraint o, MonadIO m) => o -> proxy (signal :: Symbol) (extra :: Symbol) (constraint :: * -> Constraint) -> HaskellCallbackType info -> m SignalHandlerId Source

Connect a signal to a handler, running the handler after the default one.

after = connectSignal SignalConnectAfter

type SignalHandlerId = Word64 Source

Type of a GObject signal handler id.

class SignalInfo info where Source

Information about an overloaded signal.

Associated Types

type HaskellCallbackType info Source

Methods

connectSignal :: (KnownSymbol extra, GObject o, constraint o) => SignalProxy info extra constraint -> o -> HaskellCallbackType info -> SignalConnectMode -> IO SignalHandlerId Source

Connect a Haskell function to a signal of the given GObject, specifying whether the handler will be called before or after the default handler.