propagate_event
function propagate_event(widget:Gtk.Widget, event:Gdk.Event):void {
// Gjs wrapper for gtk_propagate_event()
}Sends an event to a widget, propagating the event to parent widgets if the event remains unhandled.
Events received by GTK+ from GDK normally begin in main_do_event. Depending on the type of event, existence of modal dialogs, grabs, etc., the event may be propagated; if so, this function is used.
propagate_event calls Gtk.Widget.prototype.event on each widget it decides to send the event to. So Gtk.Widget.prototype.event is the lowest-level function; it simply emits the Gtk.Widget::event and possibly an event-specific signal on a widget. propagate_event is a bit higher-level, and main_do_event is the highest level.
All that said, you most likely don't want to use any of these functions; synthesizing events is rarely needed. There are almost certainly better ways to achieve your goals. For example, use Gdk.invalidate_rect or Gtk.Widget.prototype.queue_draw instead of making up expose events.
- widget
- event
an event