Method

GObjectObjectbind_property_full

since: 2.26

Declaration

GBinding*
g_object_bind_property_full (
  GObject* source,
  const gchar* source_property,
  GObject* target,
  const gchar* target_property,
  GBindingFlags flags,
  GBindingTransformFunc transform_to,
  GBindingTransformFunc transform_from,
  gpointer user_data,
  GDestroyNotify notify
)

Description

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. This will release the reference that is being held on the GBinding instance; if you want to hold on to the GBinding instance, you will need to hold a reference to it.

To remove the binding, call g_binding_unbind().

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.

Available since: 2.26

The implementation of this method is provided by g_object_bind_property_with_closures() in language bindings

Parameters

source_property

Type: const gchar*

The property on source to bind.

The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
target

Type: GObject

The target GObject.

The data is owned by the caller of the function.
target_property

Type: const gchar*

The property on target to bind.

The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
flags

Type: GBindingFlags

Flags to pass to GBinding.

transform_to

Type: GBindingTransformFunc

The transformation function from the source to the target, or NULL to use the default.

The argument can be NULL.
transform_from

Type: GBindingTransformFunc

The transformation function from the target to the source, or NULL to use the default.

The argument can be NULL.
user_data

Type: gpointer

Custom data to be passed to the transformation functions, or NULL.

The argument can be NULL.
The data is owned by the caller of the function.
notify

Type: GDestroyNotify

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

The argument can be NULL.

Return value

Type: GBinding

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

The data is owned by the instance.