1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxApp class
4 // Author: David Elliott
8 // Copyright: (c) 2002 David Elliott
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_COCOA_APP_H_
13 #define _WX_COCOA_APP_H_
15 typedef struct __CFRunLoopObserver
* CFRunLoopObserverRef
;
16 typedef const struct __CFString
* CFStringRef
;
18 #include "wx/osx/core/cfref.h"
20 // ========================================================================
22 // ========================================================================
23 // Represents the application. Derive OnInit and declare
24 // a new App object to start application
25 class WXDLLIMPEXP_CORE wxApp
: public wxAppBase
27 DECLARE_DYNAMIC_CLASS(wxApp
)
28 // ------------------------------------------------------------------------
30 // ------------------------------------------------------------------------
35 // ------------------------------------------------------------------------
37 // ------------------------------------------------------------------------
39 inline WX_NSApplication
GetNSApplication() { return m_cocoaApp
; }
40 virtual void CocoaDelegate_applicationWillBecomeActive();
41 virtual void CocoaDelegate_applicationDidBecomeActive();
42 virtual void CocoaDelegate_applicationWillResignActive();
43 virtual void CocoaDelegate_applicationDidResignActive();
44 virtual void CocoaDelegate_applicationWillUpdate();
45 virtual void CF_ObserveMainRunLoopBeforeWaiting(CFRunLoopObserverRef observer
, int activity
);
47 WX_NSApplication m_cocoaApp
;
48 struct objc_object
*m_cocoaAppDelegate
;
49 WX_NSThread m_cocoaMainThread
;
50 wxCFRef
<CFRunLoopObserverRef
> m_cfRunLoopIdleObserver
;
51 wxCFRef
<CFStringRef
> m_cfObservedRunLoopMode
;
53 // ------------------------------------------------------------------------
55 // ------------------------------------------------------------------------
57 // Implement wxAppBase pure virtuals
60 virtual bool DoYield(bool onlyIfNeeded
, long eventsToProcess
);
61 virtual void WakeUpIdle();
63 virtual bool Initialize(int& argc
, wxChar
**argv
);
64 virtual void CleanUp();
65 virtual bool CallOnInit();
68 virtual bool OnInit();
69 virtual bool OnInitGui();
72 virtual void OnAssert(const wxChar
*file
, int line
, const wxChar
*cond
, const wxChar
*msg
);
73 bool IsInAssert() const { return m_isInAssert
; }
76 // Set true _before_ initializing wx to force embedded mode (no app delegate, etc.)
77 static bool sm_isEmbedded
;
84 #endif // _WX_COCOA_APP_H_