+ bool GetSkipped() const;
+
+ // Determine if this event should be propagating to the parent window.
+ bool ShouldPropagate() const;
+
+ // Stop an event from propagating to its parent window, returns the old
+ // propagation level value
+ int StopPropagation();
+
+ // Resume the event propagation by restoring the propagation level
+ // (returned by StopPropagation())
+ void ResumePropagation(int propagationLevel);
+
+ // this function is used to create a copy of the event polymorphically and
+ // all derived classes must implement it because otherwise wxPostEvent()
+ // for them wouldn't work (it needs to do a copy of the event)
+ virtual wxEvent *Clone() /* =0*/;
+};
+
+//---------------------------------------------------------------------------
+
+// Helper class to temporarily change an event not to propagate.
+class wxPropagationDisabler
+{
+public:
+ wxPropagationDisabler(wxEvent& event);
+ ~wxPropagationDisabler();
+};
+
+
+// Another one to temporarily lower propagation level.
+class wxPropagateOnce
+{
+public:
+ wxPropagateOnce(wxEvent& event);
+ ~wxPropagateOnce();