- // this is just a convenience: by providing its implementation here we
- // avoid #ifdefs in the code using it
- static bool IsMainLoopRunning() { return false; }
+#if wxUSE_EXCEPTIONS
+ // Function called if an uncaught exception is caught inside the main
+ // event loop: it may return true to continue running the event loop or
+ // false to stop it (in the latter case it may rethrow the exception as
+ // well)
+ virtual bool OnExceptionInMainLoop();
+#endif // wxUSE_EXCEPTIONS
+
+ // Yield-related hooks
+ // -------------------
+
+ // process all currently pending events right now
+ //
+ // it is an error to call Yield() recursively unless the value of
+ // onlyIfNeeded is true
+ //
+ // WARNING: this function is dangerous as it can lead to unexpected
+ // reentrancies (i.e. when called from an event handler it
+ // may result in calling the same event handler again), use
+ // with _extreme_ care or, better, don't use at all!
+ // NOTE: in wxConsoleBase it doesn't do anything, just a hook for GUI wxApp
+ bool Yield(bool onlyIfNeeded = false)
+ { return DoYield(onlyIfNeeded, wxEVT_CATEGORY_ALL); }
+ bool YieldFor(long eventsToProcess)
+ { return DoYield(true, eventsToProcess); }
+ virtual bool IsYielding() const
+ { return false; }
+ virtual bool IsEventAllowedInsideYield(wxEventCategory WXUNUSED(cat)) const
+ { return true; }
+ // no SafeYield hooks since it uses wxWindow which is not available when wxUSE_GUI=0