X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..8e77fd8bca165aab9709649d79a7cbc6a172d4e1:/include/wx/cocoa/app.h diff --git a/include/wx/cocoa/app.h b/include/wx/cocoa/app.h index d0e7c78261..839a4e012c 100644 --- a/include/wx/cocoa/app.h +++ b/include/wx/cocoa/app.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: cocoa/app.h +// Name: wx/cocoa/app.h // Purpose: wxApp class // Author: David Elliott // Modified by: @@ -12,21 +12,25 @@ #ifndef _WX_COCOA_APP_H_ #define _WX_COCOA_APP_H_ +typedef struct __CFRunLoopObserver * CFRunLoopObserverRef; +typedef const struct __CFString * CFStringRef; + +#include "wx/osx/core/cfref.h" + // ======================================================================== // wxApp // ======================================================================== // Represents the application. Derive OnInit and declare // a new App object to start application -class WXDLLEXPORT wxApp: public wxAppBase +class WXDLLIMPEXP_CORE wxApp: public wxAppBase { DECLARE_DYNAMIC_CLASS(wxApp) - DECLARE_EVENT_TABLE() // ------------------------------------------------------------------------ // initialization // ------------------------------------------------------------------------ public: wxApp(); - virtual ~wxApp() {} + virtual ~wxApp(); // ------------------------------------------------------------------------ // Cocoa specifics @@ -37,10 +41,14 @@ public: virtual void CocoaDelegate_applicationDidBecomeActive(); virtual void CocoaDelegate_applicationWillResignActive(); virtual void CocoaDelegate_applicationDidResignActive(); + virtual void CocoaDelegate_applicationWillUpdate(); + virtual void CF_ObserveMainRunLoopBeforeWaiting(CFRunLoopObserverRef observer, int activity); protected: WX_NSApplication m_cocoaApp; struct objc_object *m_cocoaAppDelegate; WX_NSThread m_cocoaMainThread; + wxCFRef m_cfRunLoopIdleObserver; + wxCFRef m_cfObservedRunLoopMode; // ------------------------------------------------------------------------ // Implementation @@ -49,26 +57,18 @@ public: // Implement wxAppBase pure virtuals virtual void Exit(); - virtual bool Yield(bool onlyIfNeeded = FALSE); virtual void WakeUpIdle(); - + virtual bool Initialize(int& argc, wxChar **argv); virtual void CleanUp(); virtual bool CallOnInit(); - + virtual bool OnInit(); virtual bool OnInitGui(); -#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__ + // Set true _before_ initializing wx to force embedded mode (no app delegate, etc.) + static bool sm_isEmbedded; }; #endif // _WX_COCOA_APP_H_