Creates an expression evaluating to the given object
with a weak reference.
Once the object
is disposed, it will fail to evaluate.
This expression is meant to break reference cycles.
If you want to keep a reference to object
, use [ctorGtk
.ConstantExpression.new].
Bind target
's property named property
to self
.
The value that self
evaluates to is set via g_object_set()
on
target
. This is repeated whenever self
changes to ensure that
the object's property stays synchronized with self
.
If self
's evaluation fails, target
's property
is not updated.
You can ensure that this doesn't happen by using a fallback
expression.
Note that this function takes ownership of self
. If you want
to keep it around, you should [methodGtk
.Expression.ref] it beforehand.
the target object to bind to
name of the property on target
to bind to
the this argument for the evaluation of self
Evaluates the given expression and on success stores the result
in value
.
The GType
of value
will be the type given by
[methodGtk
.Expression.get_value_type].
It is possible that expressions cannot be evaluated - for example
when the expression references objects that have been destroyed or
set to NULL
. In that case value
will remain empty and FALSE
will be returned.
Gets the GType
that this expression evaluates to.
This type is constant and will not change over the lifetime of this expression.
Checks if the expression is static.
A static expression will never change its result when
[methodGtk
.Expression.evaluate] is called on it with the same arguments.
That means a call to [methodGtk
.Expression.watch] is not necessary because
it will never trigger a notify.
Acquires a reference on the given GtkExpression
.
Releases a reference on the given GtkExpression
.
If the reference was the last, the resources associated to the self
are
freed.
Watch the given expression
for changes.
The notify
function will be called whenever the evaluation of self
may have changed.
GTK cannot guarantee that the evaluation did indeed change when the notify
gets invoked, but it guarantees the opposite: When it did in fact change,
the notify
will be invoked.
the this
argument to watch
callback to invoke when the expression changes
Creates an expression evaluating to the given object
with a weak reference.
Once the object
is disposed, it will fail to evaluate.
This expression is meant to break reference cycles.
If you want to keep a reference to object
, use [ctorGtk
.ConstantExpression.new].
A
GObject
value in aGtkExpression
.