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

Safe HaskellNone
LanguageHaskell98

Data.GI.Base

Description

Convenience header for basic GObject-Introspection modules

See the documentation for each individual module for a description and usage help.

Synopsis

Documentation

data AttrOp obj (tag :: AttrOpTag) where #

Constructors for the different operations allowed on an attribute.

Constructors

(:=) :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> b -> AttrOp obj tag infixr 0

Assign a value to an attribute

(:=>) :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> IO b -> AttrOp obj tag infixr 0

Assign the result of an IO action to an attribute

(:~) :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ AttrSet, AttrOpAllowed AttrSet info obj, AttrOpAllowed AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> b) -> AttrOp obj tag infixr 0

Apply an update function to an attribute

(:~>) :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ AttrSet, AttrOpAllowed AttrSet info obj, AttrOpAllowed AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> IO b) -> AttrOp obj tag infixr 0

Apply an IO update function to an attribute

set :: forall o m. MonadIO m => o -> [AttrOp o AttrSet] -> m () #

Set a number of properties for some object.

get :: forall info attr obj result m. (AttrGetC info obj attr result, MonadIO m) => obj -> AttrLabelProxy (attr :: Symbol) -> m result #

Get the value of an attribute for an object.

new :: (Constructible a tag, MonadIO m) => (ManagedPtr a -> a) -> [AttrOp a tag] -> m a #

new' :: (MonadIO m, GObject o) => (ManagedPtr o -> o) -> [IO (GValueConstruct o)] -> m o #

Construct the given GObject, given a set of actions constructing desired GValues to set at construction time.

class IsGValue a where #

A convenience class for marshaling back and forth between Haskell values and GValues.

Minimal complete definition

toGValue, fromGValue

Methods

toGValue :: a -> IO GValue #

fromGValue :: GValue -> IO a #

Instances
IsGValue Bool # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Double # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Float # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Int32 # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Int64 # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Word32 # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Word64 # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue CInt # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue CUInt # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue CLong # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue CULong # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue GType # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue (Maybe String) # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue (Maybe Text) # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue (Ptr a) # 
Instance details

Defined in Data.GI.Base.GValue

Methods

toGValue :: Ptr a -> IO GValue #

fromGValue :: GValue -> IO (Ptr a) #

newtype GValue #

Constructors

GValue (ManagedPtr GValue) 
Instances
BoxedObject GValue # 
Instance details

Defined in Data.GI.Base.GValue

Methods

boxedType :: GValue -> IO GType #

data SignalProxy (object :: *) (info :: *) where #

Support for overloaded signal connectors.

Constructors

PropertyNotify :: (info ~ ResolveAttribute propName o, AttrInfo info, pl ~ AttrLabel info) => AttrLabelProxy propName -> SignalProxy o (GObjectNotifySignalInfo pl) 
Instances
info ~ ResolveSignal slot object => IsLabel slot (SignalProxy object info) # 
Instance details

Defined in Data.GI.Base.Signals

Methods

fromLabel :: SignalProxy object info #

info ~ ResolveSignal slot object => IsLabelProxy slot (SignalProxy object info) #

Support for overloaded labels.

Instance details

Defined in Data.GI.Base.Signals

Methods

fromLabelProxy :: Proxy slot -> SignalProxy object info #

on :: forall object info m. (GObject object, MonadIO m, SignalInfo info) => object -> SignalProxy object info -> HaskellCallbackType info -> m SignalHandlerId #

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

on object signal handler = liftIO $ connectSignal signal object handler SignalConnectBefore

after :: forall object info m. (GObject object, MonadIO m, SignalInfo info) => object -> SignalProxy object info -> HaskellCallbackType info -> m SignalHandlerId #

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

after object signal handler = liftIO $ connectSignal signal object handler SignalConnectAfter