X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fb896a322a2ed53d393ee738765ddd3f72cee004..d33704ddf2884c8b1cf1178e3cee6d2e1b4004f0:/include/wx/cocoa/app.h?ds=sidebyside diff --git a/include/wx/cocoa/app.h b/include/wx/cocoa/app.h index 9d4f65acd3..d0e7c78261 100644 --- a/include/wx/cocoa/app.h +++ b/include/wx/cocoa/app.h @@ -4,17 +4,17 @@ // Author: David Elliott // Modified by: // Created: 2002/11/27 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) 2002 David Elliott -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_COCOA_APP_H_ #define _WX_COCOA_APP_H_ -// entrypoint -int WXDLLEXPORT wxEntry( int argc, char *argv[] ); - +// ======================================================================== +// wxApp +// ======================================================================== // Represents the application. Derive OnInit and declare // a new App object to start application class WXDLLEXPORT wxApp: public wxAppBase @@ -33,41 +33,42 @@ public: // ------------------------------------------------------------------------ public: inline WX_NSApplication GetNSApplication() { return m_cocoaApp; } - void CocoaInstallRequestedIdleHandler() { if(m_isIdle) CocoaInstallIdleHandler(); } - inline void CocoaRequestIdle() { m_isIdle = true; } + virtual void CocoaDelegate_applicationWillBecomeActive(); + virtual void CocoaDelegate_applicationDidBecomeActive(); + virtual void CocoaDelegate_applicationWillResignActive(); + virtual void CocoaDelegate_applicationDidResignActive(); protected: WX_NSApplication m_cocoaApp; - void CocoaInstallIdleHandler(); - bool m_isIdle; + struct objc_object *m_cocoaAppDelegate; + WX_NSThread m_cocoaMainThread; // ------------------------------------------------------------------------ // Implementation // ------------------------------------------------------------------------ public: // Implement wxAppBase pure virtuals - virtual int MainLoop(); - virtual void ExitMainLoop(); - virtual bool Initialized(); - virtual bool Pending(); - virtual void Dispatch(); + virtual void Exit(); + virtual bool Yield(bool onlyIfNeeded = FALSE); - virtual bool ProcessIdle(); - - /* Idle Processing */ - void OnIdle(wxIdleEvent& event); - // Send idle event to all top-level windows. - // Returns TRUE if more idle time is requested. - bool SendIdleEvents(); - // Send idle event to window and all subwindows - // Returns TRUE if more idle time is requested. - bool SendIdleEvents(wxWindowCocoa* win); + virtual void WakeUpIdle(); - static bool Initialize(); - static void CleanUp(); + virtual bool Initialize(int& argc, wxChar **argv); + virtual void CleanUp(); + virtual bool CallOnInit(); + virtual bool OnInit(); virtual bool OnInitGui(); - void DeletePendingObjects(); + +#ifdef __WXDEBUG__ + virtual void OnAssert(const wxChar *file, int line, const wxChar *cond, const wxChar *msg); + bool IsInAssert() const { return m_isInAssert; } +#endif // __WXDEBUG__ + +private: +#ifdef __WXDEBUG__ + bool m_isInAssert; +#endif // __WXDEBUG__ }; #endif // _WX_COCOA_APP_H_