gi-dazzle-1.0.2: libdazzle bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Dazzle.Objects.BindingGroup

Description

BindingGroup manages to simplify the process of binding many properties from a Object as a group. As such there is no API to unbind a property from the group.

In particular, this allows you to change the source instance for the bindings. This automatically causes the unbinding of the properties from the old instance and binding to the new instance.

This should not be confused with GtkBindingGroup.

Synopsis

Exported types

newtype BindingGroup Source #

Memory-managed wrapper type.

Constructors

BindingGroup (ManagedPtr BindingGroup) 

Instances

Instances details
Eq BindingGroup Source # 
Instance details

Defined in GI.Dazzle.Objects.BindingGroup

GObject BindingGroup Source # 
Instance details

Defined in GI.Dazzle.Objects.BindingGroup

ManagedPtrNewtype BindingGroup Source # 
Instance details

Defined in GI.Dazzle.Objects.BindingGroup

Methods

toManagedPtr :: BindingGroup -> ManagedPtr BindingGroup

TypedObject BindingGroup Source # 
Instance details

Defined in GI.Dazzle.Objects.BindingGroup

Methods

glibType :: IO GType

HasParentTypes BindingGroup Source # 
Instance details

Defined in GI.Dazzle.Objects.BindingGroup

IsGValue (Maybe BindingGroup) Source #

Convert BindingGroup to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.Dazzle.Objects.BindingGroup

Methods

gvalueGType_ :: IO GType

gvalueSet_ :: Ptr GValue -> Maybe BindingGroup -> IO ()

gvalueGet_ :: Ptr GValue -> IO (Maybe BindingGroup)

type ParentTypes BindingGroup Source # 
Instance details

Defined in GI.Dazzle.Objects.BindingGroup

type ParentTypes BindingGroup = '[Object]

class (GObject o, IsDescendantOf BindingGroup o) => IsBindingGroup o Source #

Type class for types which can be safely cast to BindingGroup, for instance with toBindingGroup.

Instances

Instances details
(GObject o, IsDescendantOf BindingGroup o) => IsBindingGroup o Source # 
Instance details

Defined in GI.Dazzle.Objects.BindingGroup

toBindingGroup :: (MonadIO m, IsBindingGroup o) => o -> m BindingGroup Source #

Cast to BindingGroup, for types for which this is known to be safe. For general casts, use castTo.

Methods

bind

bindingGroupBind Source #

Arguments

:: (HasCallStack, MonadIO m, IsBindingGroup a, IsObject b) 
=> a

self: the BindingGroup

-> Text

sourceProperty: the property on the source to bind

-> b

target: the target Object

-> Text

targetProperty: the property on target to bind

-> [BindingFlags]

flags: the flags used to create the Binding

-> m () 

Creates a binding between sourceProperty on the source object and targetProperty on target. Whenever the sourceProperty is changed the targetProperty is updated using the same value. The binding flags G_BINDING_SYNC_CREATE is automatically specified.

See: objectBindProperty.

bindFull

bindingGroupBindFull Source #

Arguments

:: (HasCallStack, MonadIO m, IsBindingGroup a, IsObject b) 
=> a

self: the BindingGroup

-> Text

sourceProperty: the property on the source to bind

-> b

target: the target Object

-> Text

targetProperty: the property on target to bind

-> [BindingFlags]

flags: the flags used to create the Binding

-> Maybe (GClosure c)

transformTo: a Closure wrapping the transformation function from the source object to the target, or Nothing to use the default

-> Maybe (GClosure d)

transformFrom: a Closure wrapping the transformation function from the target to the source object, or Nothing to use the default

-> m () 

Creates a binding between sourceProperty on the source object and targetProperty on target, allowing you to set the transformation functions to be used by the binding. The binding flags G_BINDING_SYNC_CREATE is automatically specified.

This function is the language bindings friendly version of dzl_binding_group_bind_property_full(), using GClosures instead of function pointers.

See: objectBindPropertyFull.

getSource

bindingGroupGetSource Source #

Arguments

:: (HasCallStack, MonadIO m, IsBindingGroup a) 
=> a

self: the BindingGroup

-> m (Maybe Object)

Returns: the source object.

Gets the source object used for binding properties.

new

bindingGroupNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m BindingGroup

Returns: a new BindingGroup

Creates a new BindingGroup.

setSource

bindingGroupSetSource Source #

Arguments

:: (HasCallStack, MonadIO m, IsBindingGroup a, IsObject b) 
=> a

self: the BindingGroup

-> Maybe b

source: the source Object

-> m () 

Sets source as the source object used for creating property bindings. If there is already a source object all bindings from it will be removed.

Note: All properties that have been bound must exist on source.

Properties

source

The source object used for binding properties.

clearBindingGroupSource :: (MonadIO m, IsBindingGroup o) => o -> m () Source #

Set the value of the “source” property to Nothing. When overloading is enabled, this is equivalent to

clear #source

constructBindingGroupSource :: (IsBindingGroup o, MonadIO m, IsObject a) => a -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “source” property. This is rarely needed directly, but it is used by new.

getBindingGroupSource :: (MonadIO m, IsBindingGroup o) => o -> m (Maybe Object) Source #

Get the value of the “source” property. When overloading is enabled, this is equivalent to

get bindingGroup #source

setBindingGroupSource :: (MonadIO m, IsBindingGroup o, IsObject a) => o -> a -> m () Source #

Set the value of the “source” property. When overloading is enabled, this is equivalent to

set bindingGroup [ #source := value ]