X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a69be60b0f1dac4713e6650ca3ca9fe5a53de062..3e2d47e1a96977aa31c8af18f96e9363000f3ca5:/include/wx/app.h diff --git a/include/wx/app.h b/include/wx/app.h index 424420c731..f9474bed5b 100644 --- a/include/wx/app.h +++ b/include/wx/app.h @@ -13,26 +13,10 @@ #ifndef _WX_APP_H_BASE_ #define _WX_APP_H_BASE_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "appbase.h" #endif -// ---------------------------------------------------------------------------- -// typedefs -// ---------------------------------------------------------------------------- - -#if (defined(__WXMSW__) && !defined(__WXMICROWIN__)) || defined (__WXPM__) - class WXDLLEXPORT wxApp; - typedef wxApp* (*wxAppInitializerFunction)(); -#else - // returning wxApp* won't work with gcc - #include "wx/object.h" - - typedef wxObject* (*wxAppInitializerFunction)(); -#endif - -class WXDLLEXPORT wxCmdLineParser; - // ---------------------------------------------------------------------------- // headers we have to include here // ---------------------------------------------------------------------------- @@ -49,9 +33,18 @@ class WXDLLEXPORT wxCmdLineParser; #include "wx/build.h" +class WXDLLEXPORT wxApp; +class WXDLLEXPORT wxCmdLineParser; class WXDLLEXPORT wxLog; class WXDLLEXPORT wxMessageOutput; +// ---------------------------------------------------------------------------- +// typedefs +// ---------------------------------------------------------------------------- + +// the type of the function used to create a wxApp object on program start up +typedef wxApp* (*wxAppInitializerFunction)(); + // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- @@ -146,8 +139,6 @@ public: // Override: rarely. virtual void OnFatalException() { } - virtual bool ProcessIdle() = 0; - // the worker functions - usually not used directly by the user code // ----------------------------------------------------------------- @@ -179,6 +170,13 @@ public: // may result in calling the same event handler again), use // with _extreme_ care or, better, don't use at all! virtual bool Yield(bool onlyIfNeeded = FALSE) = 0; + + // this virtual function is called in the GUI mode when the application + // becomes idle and normally just sends wxIdleEvent to all interested + // parties + // + // it should return TRUE if more idle events are needed, FALSE if not + virtual bool ProcessIdle() = 0; #endif // wxUSE_GUI // application info: name, description, vendor @@ -427,8 +425,6 @@ protected: #include "wx/mac/app.h" #elif defined(__WXPM__) #include "wx/os2/app.h" - #elif defined(__WXSTUBS__) - #include "wx/stubs/app.h" #endif #else // !GUI // can't use typedef because wxApp forward declared as a class @@ -534,13 +530,13 @@ public: #if !wxUSE_GUI || defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXPM__) || defined(__WXMGL__) #define IMPLEMENT_WXWIN_MAIN \ - extern int wxEntry( int argc, char *argv[] ); \ - int main(int argc, char *argv[]) { return wxEntry(argc, argv); } + extern int wxEntry( int argc, char **argv ); \ + int main(int argc, char **argv) { return wxEntry(argc, argv); } #elif defined(__WXMAC__) && defined(__UNIX__) // wxMac seems to have a specific wxEntry prototype #define IMPLEMENT_WXWIN_MAIN \ - extern int wxEntry( int argc, char *argv[], bool enterLoop = 1 ); \ - int main(int argc, char *argv[]) { return wxEntry(argc, argv); } + extern int wxEntry( int argc, char **argv, bool enterLoop = TRUE ); \ + int main(int argc, char **argv) { return wxEntry(argc, argv); } #elif defined(__WXMSW__) && defined(WXUSINGDLL) // NT defines APIENTRY, 3.x not #if !defined(WXAPIENTRY)