haskell-gi-base-0.22.0: 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 Source #

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 () Source #

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 Source #

Get the value of an attribute for an object.

data GClosure a Source #

The basic type. This corresponds to a wrapped GClosure on the C side, which is a boxed object.

Instances
BoxedObject (GClosure a) Source # 
Instance details

Defined in Data.GI.Base.GClosure

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

Allocate a new instance of the given type, with the given attributes.

class IsGValue a where Source #

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

Instances
IsGValue Bool Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Double Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Float Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Int32 Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Int64 Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Word32 Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Word64 Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue CInt Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue CUInt Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue CLong Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue CULong Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue GType Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue (Maybe String) Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue (Maybe Text) Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue (StablePtr a) Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue (Ptr a) Source # 
Instance details

Defined in Data.GI.Base.GValue

newtype GValue Source #

Haskell-side representation of a GValue.

Constructors

GValue (ManagedPtr GValue) 
Instances
BoxedObject GValue Source # 
Instance details

Defined in Data.GI.Base.GValue

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

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) Source #

Support for overloaded labels.

Instance details

Defined in Data.GI.Base.Signals

Methods

fromLabel :: SignalProxy object info #

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

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 Source #

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

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