X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/17a1ebd101f0653e69736416a2a28d0ada423141..dfa0b52f4ac947d5e7566dabb81c39bbf881fac5:/include/wx/app.h diff --git a/include/wx/app.h b/include/wx/app.h index 4508ef1bca..8b813caa33 100644 --- a/include/wx/app.h +++ b/include/wx/app.h @@ -34,13 +34,7 @@ class WXDLLIMPEXP_BASE wxCmdLineParser; class WXDLLIMPEXP_BASE wxLog; class WXDLLIMPEXP_BASE wxMessageOutput; -// wxUSE_EVTLOOP_IN_APP is a temporary hack needed until all ports are updated -// to use wxEventLoop, otherwise we get linking errors on wxMac, it's going to -// disappear a.s.a.p. -#ifdef __WXMAC__ - #define wxUSE_EVTLOOP_IN_APP 0 -#else - #define wxUSE_EVTLOOP_IN_APP 1 +#if wxUSE_GUI class WXDLLEXPORT wxEventLoop; #endif @@ -116,20 +110,6 @@ public: // crash. virtual void OnFatalException() { } -#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(); - - // Called when an unhandled C++ exception occurs inside OnRun(): note that - // the exception type is lost by now, so if you really want to handle the - // exception you should override OnRun() and put a try/catch around - // MainLoop() call there - virtual void OnUnhandledException() { } -#endif // wxUSE_EXCEPTIONS - // Called from wxExit() function, should terminate the application a.s.a.p. virtual void Exit(); @@ -237,6 +217,12 @@ public: virtual void HandleEvent(wxEvtHandler *handler, wxEventFunction func, wxEvent& event) const; + + // Called when an unhandled C++ exception occurs inside OnRun(): note that + // the exception type is lost by now, so if you really want to handle the + // exception you should override OnRun() and put a try/catch around + // MainLoop() call there or use OnExceptionInMainLoop() + virtual void OnUnhandledException() { } #endif // wxUSE_EXCEPTIONS // process all events in the wxPendingEvents list -- it is necessary to @@ -381,12 +367,8 @@ public: // (already) be dispatched static bool IsMainLoopRunning() { -#if wxUSE_EVTLOOP_IN_APP wxAppBase *app = wx_static_cast(wxAppBase *, GetInstance()); return app && app->m_mainLoop != NULL; -#else - return false; -#endif } // execute the main GUI loop, the function returns when the loop ends @@ -430,8 +412,14 @@ public: // Returns true if more idle time is requested. virtual bool SendIdleEvents(wxWindow* win, wxIdleEvent& event); - // Perform standard OnIdle behaviour: call from port's OnIdle - void OnIdle(wxIdleEvent& event); + +#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 // top level window functions @@ -511,6 +499,9 @@ public: // returns true if the program is successfully initialized bool Initialized() { return true; } + // perform standard OnIdle behaviour, ensure that this is always called + void OnIdle(wxIdleEvent& event); + protected: // delete all objects in wxPendingDelete list @@ -520,11 +511,9 @@ protected: virtual wxAppTraits *CreateTraits(); -#if wxUSE_EVTLOOP_IN_APP // the main event loop of the application (may be NULL if the loop hasn't // been started yet or has already terminated) wxEventLoop *m_mainLoop; -#endif // wxUSE_EVTLOOP_IN_APP // the main top level window (may be NULL) wxWindow *m_topWindow; @@ -540,11 +529,11 @@ protected: Yes } m_exitOnFrameDelete; - // true if the apps whats to use the best visual on systems where + // true if the app wants to use the best visual on systems where // more than one are available (Sun, SGI, XFree86 4.0 ?) bool m_useBestVisual; - // does any of our windows has focus? + // does any of our windows have focus? bool m_isActive; @@ -566,8 +555,10 @@ protected: #include "wx/motif/app.h" #elif defined(__WXMGL__) #include "wx/mgl/app.h" - #elif defined(__WXGTK__) + #elif defined(__WXGTK20__) #include "wx/gtk/app.h" + #elif defined(__WXGTK__) + #include "wx/gtk1/app.h" #elif defined(__WXX11__) #include "wx/x11/app.h" #elif defined(__WXMAC__) @@ -635,7 +626,7 @@ public: #define IMPLEMENT_WXWIN_MAIN_CONSOLE \ int main(int argc, char **argv) { return wxEntry(argc, argv); } -// port-specific header could have defined it already in some special wau +// port-specific header could have defined it already in some special way #ifndef IMPLEMENT_WXWIN_MAIN #define IMPLEMENT_WXWIN_MAIN IMPLEMENT_WXWIN_MAIN_CONSOLE #endif // defined(IMPLEMENT_WXWIN_MAIN)