struct GObject::Object::NotifySignal

Overview

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with %G_PARAM_EXPLICIT_NOTIFY, then any call to g_object_set_property() results in ::notify being emitted, even if the new value is the same as the old. If they did pass %G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

|[ g_signal_connect (text_view->buffer, "notify::paste-target-list", G_CALLBACK (gtk_text_view_target_list_notify), text_view) ]|

It is important to note that you must use [canonical parameter names][canonical-parameter-names] as detail strings for the notify signal.

Defined in:

lib/gi-crystal/src/auto/g_object-2.0/object.cr

Instance Method Summary

Instance methods inherited from struct GObject::Signal

[](detail : String) : self [], name : String name

Constructor methods inherited from struct GObject::Signal

new(source : GObject::Object, detail : String? = nil) new

Instance Method Detail

def connect(*, after : Bool = false, &block : Proc(GObject::ParamSpec, Nil)) : GObject::SignalConnection #

def connect(handler : Proc(GObject::ParamSpec, Nil), *, after : Bool = false) : GObject::SignalConnection #

def connect(handler : Proc(GObject::Object, GObject::ParamSpec, Nil), *, after : Bool = false) : GObject::SignalConnection #

def emit(pspec : GObject::ParamSpec) : Nil #

def name : String #
Description copied from struct GObject::Signal

The signal name