Interface

Gtk-4.0GtkEventControllerFocusSignalSignatures

interface SignalSignatures {
    enter: () => void;
    leave: () => void;
    notify: (arg0: GObject.ParamSpec) => void;
    "notify::contains-focus": (pspec: GObject.ParamSpec) => void;
    "notify::is-focus": (pspec: GObject.ParamSpec) => void;
    "notify::name": (pspec: GObject.ParamSpec) => void;
    "notify::propagation-limit": (pspec: GObject.ParamSpec) => void;
    "notify::propagation-phase": (pspec: GObject.ParamSpec) => void;
    "notify::widget": (pspec: GObject.ParamSpec) => void;
}

Hierarchy (View Summary)

Index

Properties

enter: () => void

Emitted whenever the focus enters into the widget or one of its descendents.

Note that this means you may not get an ::enter signal even though the widget becomes the focus location, in certain cases (such as when the focus moves from a descendent of the widget to the widget itself). If you are interested in these cases, you can monitor the Gtk.EventControllerFocus.is_focus property for changes.

leave: () => void

Emitted whenever the focus leaves the widget hierarchy that is rooted at the widget that the controller is attached to.

Note that this means you may not get a ::leave signal even though the focus moves away from the widget, in certain cases (such as when the focus moves from the widget to a descendent). If you are interested in these cases, you can monitor the Gtk.EventControllerFocus.is_focus property for changes.

"notify::contains-focus": (pspec: GObject.ParamSpec) => void
"notify::is-focus": (pspec: GObject.ParamSpec) => void
"notify::name": (pspec: GObject.ParamSpec) => void
"notify::propagation-limit": (pspec: GObject.ParamSpec) => void
"notify::propagation-phase": (pspec: GObject.ParamSpec) => void
"notify::widget": (pspec: GObject.ParamSpec) => void

Properties - Inherited from Gtk.EventController.SignalSignatures

notify: (arg0: GObject.ParamSpec) => void

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 GObject.ParamFlags.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 GObject.ParamFlags.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][class@GObject.ParamSpec#parameter-names] as detail strings for the notify signal.