Introduction:

Event propagation means that, when an event/signal is emitted on a particular widget, it can be passed to its parent widget (and that widget, can pass it to its parent, and so on) and, if it has an event handler function, that function will be called. 

The event will propagate until it reaches the top-level widget, or until you cancel the propagation.


Example:

In the example below, I try to show you this behaviour, by having two event handler functions, one in the Gtk::Entry and another in the Gtk::Window.

When you write in the entry, a key release event will be emitted first in the entry and, depending on whether we're letting it propagate, it can reach the window's function too.

If it propagates, the text you're writing will appear on the label above the entry.
