+#if wxUSE_EXCEPTIONS
+ // call the specified handler on the given object with the given event
+ //
+ // this method only exists to allow catching the exceptions thrown by any
+ // event handler, it would lead to an extra (useless) virtual function call
+ // if the exceptions were not used, so it doesn't even exist in that case
+ virtual void HandleEvent(wxEvtHandler *handler,
+ wxEventFunction func,
+ wxEvent& event) const;
+
+ // Called when an unhandled C++ exception occurs inside OnRun(): note that
+ // the main event loop has already terminated by now and the program will
+ // exit, if you need to really handle the exceptions you need to override
+ // OnExceptionInMainLoop()
+ virtual void OnUnhandledException();
+#endif // wxUSE_EXCEPTIONS
+
+ // event processing functions
+ // --------------------------
+
+ // return true if we're running event loop, i.e. if the events can
+ // (already) be dispatched
+ static bool IsMainLoopRunning();
+
+ // process all events in the wxHandlersWithPendingEvents list -- it is necessary
+ // to call this function to process posted events. This happens during each