X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6d60815d749bfd728b6b62cbd699578a9c60bf3a..01cb1c26171efc494b94d77e4351362bb0eb2e7d:/include/wx/app.h?ds=sidebyside diff --git a/include/wx/app.h b/include/wx/app.h index 69f408ac5a..4c9f5b8b9d 100644 --- a/include/wx/app.h +++ b/include/wx/app.h @@ -13,7 +13,7 @@ #ifndef _WX_APP_H_BASE_ #define _WX_APP_H_BASE_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "appbase.h" #endif @@ -43,16 +43,15 @@ class WXDLLEXPORT wxCmdLineParser; #include "wx/window.h" // for wxTopLevelWindows #endif // wxUSE_GUI -#if wxUSE_LOG - #include "wx/log.h" -#endif - #if WXWIN_COMPATIBILITY_2_2 #include "wx/icon.h" #endif #include "wx/build.h" +class WXDLLEXPORT wxLog; +class WXDLLEXPORT wxMessageOutput; + // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- @@ -72,9 +71,9 @@ class WXDLLEXPORT wxDisplayModeInfo { public: wxDisplayModeInfo() : m_ok(FALSE) {} - wxDisplayModeInfo(unsigned width, unsigned height, unsigned depth) + wxDisplayModeInfo(unsigned width, unsigned height, unsigned depth) : m_width(width), m_height(height), m_depth(depth), m_ok(TRUE) {} - + unsigned GetWidth() const { return m_width; } unsigned GetHeight() const { return m_height; } unsigned GetDepth() const { return m_depth; } @@ -93,7 +92,7 @@ private: class WXDLLEXPORT wxAppBase : public wxEvtHandler { DECLARE_NO_COPY_CLASS(wxAppBase) - + public: wxAppBase(); virtual ~wxAppBase(); @@ -108,10 +107,6 @@ public: // Override: always in GUI application, rarely in console ones. virtual bool OnInit(); - // initializes wxMessageOutput; other responsibilities - // may be added later - virtual void DoInit(); - #if wxUSE_GUI // a platform-dependent version of OnInit(): the code here is likely to // depend on the toolkit. default version does nothing. @@ -151,8 +146,6 @@ public: // Override: rarely. virtual void OnFatalException() { } - virtual bool ProcessIdle() = 0; - // the worker functions - usually not used directly by the user code // ----------------------------------------------------------------- @@ -184,6 +177,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 @@ -282,22 +282,21 @@ public: // user-defined class (default implementation creates a wxLogGui // object) - this log object is used by default by all wxLogXXX() // functions. - virtual wxLog *CreateLogTarget() - #if wxUSE_GUI && wxUSE_LOGGUI && !defined(__WXMICROWIN__) - { return new wxLogGui; } - #else // !GUI - { return new wxLogStderr; } - #endif // wxUSE_GUI + virtual wxLog *CreateLogTarget(); #endif // wxUSE_LOG + // similar to CreateLogTarget() but for the global wxMessageOutput + // object + virtual wxMessageOutput *CreateMessageOutput(); + #if wxUSE_GUI - #if WXWIN_COMPATIBILITY_2_2 +#if WXWIN_COMPATIBILITY_2_2 // get the standard icon used by wxWin dialogs - this allows the user // to customize the standard dialogs. The 'which' parameter is one of // wxICON_XXX values virtual wxIcon GetStdIcon(int WXUNUSED(which)) const { return wxNullIcon; } - #endif +#endif // Get display mode that is used use. This is only used in framebuffer wxWin ports // (such as wxMGL). @@ -389,7 +388,7 @@ protected: wxString m_vendorName, // vendor name (ACME Inc) m_appName, // app name m_className; // class name - + #if wxUSE_GUI // the main top level window - may be NULL wxWindow *m_topWindow; @@ -540,13 +539,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)