ObjectG.bindPropertyFull

Complete version of g_object_bind_property().

Creates a binding between @source_property on @source and @target_property on @target, allowing you to set the transformation functions to be used by the binding.

If @flags contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: if @target_property on @target changes then the @source_property on @source will be updated as well. The @transform_from function is only used in case of bidirectional bindings, otherwise it will be ignored

The binding will automatically be removed when either the @source or the @target instances are finalized. To remove the binding without affecting the @source and the @target you can just call g_object_unref() on the returned #GBinding instance.

A #GObject can have multiple bindings.

The same @user_data parameter will be used for both @transform_to and @transform_from transformation functions; the @notify function will be called once, when the binding is removed. If you need different data for each transformation function, please use g_object_bind_property_with_closures() instead.

Parameters

sourceProperty string

the property on @source to bind

target ObjectG

the target #GObject

targetProperty string

the property on @target to bind

flags GBindingFlags

flags to pass to #GBinding

transformTo GBindingTransformFunc

the transformation function from the @source to the @target, or %NULL to use the default

transformFrom GBindingTransformFunc

the transformation function from the @target to the @source, or %NULL to use the default

userData void*

custom data to be passed to the transformation functions, or %NULL

notify GDestroyNotify

a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required

Return Value

Type: Binding

the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.

Meta

Since

2.26