Method
GObjectObjectbind_property
since: 2.26
Declaration [src]
GBinding*
g_object_bind_property (
GObject* source,
const gchar* source_property,
GObject* target,
const gchar* target_property,
GBindingFlags flags
)
Description [src]
Creates a binding between source_property on source and target_property
on target.
Whenever the source_property is changed the target_property is
updated using the same value. For instance:
g_object_bind_property (action, "active", widget, "sensitive", 0);
Will result in the “sensitive” property of the widget GObject instance to be
updated with the same value of the “active” property of the action GObject
instance.
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 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.
Removing the binding by calling g_object_unref() on it must only be done if
the binding, source and target are only used from a single thread and it
is clear that both source and target outlive the binding. Especially it
is not safe to rely on this if the binding, source or target can be
finalized from different threads. Keep another reference to the binding and
use g_binding_unbind() instead to be on the safe side.
A GObject can have multiple bindings.
Available since: 2.26
Parameters
source_property-
Type:
const gchar*The property on
sourceto bind.The data is owned by the caller of the method. The value is a NUL terminated UTF-8 string. target-
Type:
GObjectThe target
GObject.The data is owned by the caller of the method. target_property-
Type:
const gchar*The property on
targetto bind.The data is owned by the caller of the method. The value is a NUL terminated UTF-8 string. flags-
Type:
GBindingFlagsFlags to pass to
GBinding.
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. |