X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/886dd7d28e50c003cc88b81b968d487a3c17b0d7..75d3838010e2d8a9592a4a016e2994f4f0d3070b:/include/wx/app.h?ds=sidebyside diff --git a/include/wx/app.h b/include/wx/app.h index 6143fd4213..35d9b5d06e 100644 --- a/include/wx/app.h +++ b/include/wx/app.h @@ -26,11 +26,11 @@ #include "wx/build.h" #include "wx/init.h" // we must declare wxEntry() -class WXDLLEXPORT_CORE wxApp; -class WXDLLEXPORT_BASE wxAppTraits; -class WXDLLEXPORT_BASE wxCmdLineParser; -class WXDLLEXPORT_BASE wxLog; -class WXDLLEXPORT_BASE wxMessageOutput; +class WXDLLIMPEXP_CORE wxApp; +class WXDLLIMPEXP_BASE wxAppTraits; +class WXDLLIMPEXP_BASE wxCmdLineParser; +class WXDLLIMPEXP_BASE wxLog; +class WXDLLIMPEXP_BASE wxMessageOutput; // ---------------------------------------------------------------------------- // typedefs @@ -57,7 +57,7 @@ enum // VS: Fullscreen/framebuffer application needs to choose display mode prior // to wxWindows initialization. This class holds information about display // mode. It is used by wxApp::Set/GetDisplayMode. -class WXDLLEXPORT_CORE wxDisplayModeInfo +class WXDLLIMPEXP_CORE wxDisplayModeInfo { public: wxDisplayModeInfo() : m_ok(FALSE) {} @@ -79,7 +79,7 @@ private: // wxAppConsole: wxApp for non-GUI applications // ---------------------------------------------------------------------------- -class WXDLLEXPORT_BASE wxAppConsole : public wxEvtHandler +class WXDLLIMPEXP_BASE wxAppConsole : public wxEvtHandler { public: // ctor and dtor @@ -97,6 +97,9 @@ public: // class version! virtual bool Initialize(int& argc, wxChar **argv); + // This gives wxCocoa a chance to call OnInit() with a memory pool in place + virtual bool CallOnInit() { return OnInit(); } + // Called before OnRun(), this is a good place to do initialization -- if // anything fails, return false from here to prevent the program from // continuing. The command line is normally parsed here, call the base @@ -302,7 +305,7 @@ protected: #if wxUSE_GUI -class WXDLLEXPORT_CORE wxAppBase : public wxAppConsole +class WXDLLIMPEXP_CORE wxAppBase : public wxAppConsole { public: wxAppBase(); @@ -376,7 +379,14 @@ public: // parties // // it should return TRUE if more idle events are needed, FALSE if not - virtual bool ProcessIdle() = 0; + virtual bool ProcessIdle() ; + + // Send idle event to window and all subwindows + // 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); // top level window functions @@ -503,7 +513,7 @@ protected: #endif #else // !GUI // can't use typedef because wxApp forward declared as a class - class WXDLLEXPORT_BASE wxApp : public wxAppConsole + class WXDLLIMPEXP_BASE wxApp : public wxAppConsole { }; #endif // GUI/!GUI @@ -516,7 +526,7 @@ protected: // is discouraged, consider using DECLARE_APP() after which you may call // wxGetApp() which will return the object of the correct type (i.e. MyApp and // not wxApp) -WXDLLEXPORT_DATA_BASE(extern wxApp*) wxTheApp; +WXDLLIMPEXP_DATA_BASE(extern wxApp*) wxTheApp; // ---------------------------------------------------------------------------- // global functions @@ -526,13 +536,13 @@ WXDLLEXPORT_DATA_BASE(extern wxApp*) wxTheApp; // ------------------------------------------------------ // Force an exit from main loop -extern void WXDLLEXPORT_BASE wxExit(); +extern void WXDLLIMPEXP_BASE wxExit(); // Yield to other apps/messages -extern bool WXDLLEXPORT_BASE wxYield(); +extern bool WXDLLIMPEXP_BASE wxYield(); // Yield to other apps/messages -extern void WXDLLEXPORT_BASE wxWakeUpIdle(); +extern void WXDLLIMPEXP_BASE wxWakeUpIdle(); // ---------------------------------------------------------------------------- // macros for dynamic creation of the application object @@ -542,7 +552,7 @@ extern void WXDLLEXPORT_BASE wxWakeUpIdle(); // creator function. wxApp can then call this function to create a new app // object. Convoluted, but necessary. -class WXDLLEXPORT_BASE wxAppInitializer +class WXDLLIMPEXP_BASE wxAppInitializer { public: wxAppInitializer(wxAppInitializerFunction fn)