(:=>) :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b . (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy attr -> IO b -> AttrOp obj tag
Assign the result of an IO action to an attribute
(:~) :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b a . (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 -> (a -> b) -> AttrOp obj tag
Apply an update function to an attribute
(:~>) :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b a . (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 -> (a -> IO b) -> AttrOp obj tag
Apply an IO update function to an attribute
(:!<~) :: forall obj info (attr :: Symbol) (tag1 :: AttrOpTag) b model (tag :: AttrOpTag) . (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag1 info obj, AttrSetTypeConstraint info b, ?_haskell_gi_modelProxy :: ModelProxy model) => AttrLabelProxy attr -> DynVal model b -> AttrOp obj tag
Bind a property to the given DynVal, so that the property is
changed whenever the DynVal is. This requires the implicit
param ?_haskell_gi_modelProxy, of type ModelProxy
model to be set.
(:&=) :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b . (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrTransferTypeConstraint info b, AttrSetTypeConstraint info (AttrTransferType info)) => AttrLabelProxy attr -> b -> AttrOp obj tag
Assign a value to an attribute, allocating any necessary memory for
representing the Haskell value as a C value. Note that it is the
responsibility of the caller to make sure that the memory is freed
when no longer used, otherwise there will be a memory leak. In the
majority of cases you probably want to use := instead, which
has no potential memory leaks (at the cost of sometimes requiring some
explicit Haskell -> C marshalling).
(:<~) :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b model . (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b, AttrOpAllowed 'AttrGet info obj, EqMaybe b (AttrGetType info), ?_haskell_gi_modelProxy :: ModelProxy model) => AttrLabelProxy attr -> DynVal model b -> AttrOp obj tag
Bind a property to the given DynVal, so that the property is
changed whenever the DynVal is. This requires the implicit
param ?_haskell_gi_modelProxy, of type ModelProxy
model to be set. This will only actually set the property
whenever the DynVal changes if the new value of the
DynVal is different from the actual value of the property. If
you want to set the property without checking equality you can use
:!<~ instead.
(:=) :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b . (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy attr -> b -> AttrOp obj tag
Assign a value to an attribute
(:=>) :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b . (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy attr -> IO b -> AttrOp obj tag
Assign the result of an IO action to an attribute
(:~) :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b a . (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 -> (a -> b) -> AttrOp obj tag
Apply an update function to an attribute
(:~>) :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b a . (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 -> (a -> IO b) -> AttrOp obj tag
Apply an IO update function to an attribute