Method
GObjectObjectbind_property_full
since: 2.26
Declaration [src]
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 [src]
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 method. The value is a NUL terminated UTF-8 string. target
-
Type:
GObject
The target
GObject
.The data is owned by the caller of the method. target_property
-
Type:
const gchar*
The property on
target
to bind.The data is owned by the caller of the method. 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 thetarget
, orNULL
to use the default.The argument can be NULL
. transform_from
-
Type:
GBindingTransformFunc
The transformation function from the
target
to thesource
, orNULL
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 method. 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 returned data is owned by the instance. |