gi-gobject-2.0.30: GObject bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.GObject.Objects.BindingGroup

Description

The BindingGroup can be used to bind multiple properties from an object collectively.

Use the various methods to bind properties from a single source object to multiple destination objects. Properties can be bound bidirectionally and are connected when the source object is set with bindingGroupSetSource.

Since: 2.72

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.GObject.Objects.BindingGroup

GObject BindingGroup Source # 
Instance details

Defined in GI.GObject.Objects.BindingGroup

ManagedPtrNewtype BindingGroup Source # 
Instance details

Defined in GI.GObject.Objects.BindingGroup

Methods

toManagedPtr :: BindingGroup -> ManagedPtr BindingGroup

TypedObject BindingGroup Source # 
Instance details

Defined in GI.GObject.Objects.BindingGroup

Methods

glibType :: IO GType

HasParentTypes BindingGroup Source # 
Instance details

Defined in GI.GObject.Objects.BindingGroup

IsGValue (Maybe BindingGroup) Source #

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

Instance details

Defined in GI.GObject.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.GObject.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.GObject.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 flag BindingFlagsSyncCreate is automatically specified.

See objectBindProperty for more information.

Since: 2.72

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 flag BindingFlagsSyncCreate is automatically specified.

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

See objectBindPropertyFull for more information.

Since: 2.72

dupSource

bindingGroupDupSource Source #

Arguments

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

self: the BindingGroup

-> m (Maybe Object)

Returns: a Object or Nothing.

Gets the source object used for binding properties.

Since: 2.72

new

bindingGroupNew Source #

Arguments

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

Returns: a new BindingGroup

Creates a new BindingGroup.

Since: 2.72

setSource

bindingGroupSetSource Source #

Arguments

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

self: the BindingGroup

-> Maybe b

source: the source Object, or Nothing to clear it

-> 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 that all properties that have been bound must exist on source.

Since: 2.72

Properties

source

The source object used for binding properties.

Since: 2.72

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 ]