]> git.saurik.com Git - wxWidgets.git/blob - include/wx/cocoa/app.h
* Add public wxApp::sm_isEmbedded flag like on wxMac. Default initialization
[wxWidgets.git] / include / wx / cocoa / app.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: cocoa/app.h
3 // Purpose: wxApp class
4 // Author: David Elliott
5 // Modified by:
6 // Created: 2002/11/27
7 // RCS-ID: $Id$
8 // Copyright: (c) 2002 David Elliott
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_COCOA_APP_H_
13 #define _WX_COCOA_APP_H_
14
15 typedef struct __CFRunLoopObserver * CFRunLoopObserverRef;
16 typedef const struct __CFString * CFStringRef;
17
18 #include "wx/mac/corefoundation/cfref.h"
19
20 // ========================================================================
21 // wxApp
22 // ========================================================================
23 // Represents the application. Derive OnInit and declare
24 // a new App object to start application
25 class WXDLLEXPORT wxApp: public wxAppBase
26 {
27 DECLARE_DYNAMIC_CLASS(wxApp)
28 DECLARE_EVENT_TABLE()
29 // ------------------------------------------------------------------------
30 // initialization
31 // ------------------------------------------------------------------------
32 public:
33 wxApp();
34 virtual ~wxApp();
35
36 // ------------------------------------------------------------------------
37 // Cocoa specifics
38 // ------------------------------------------------------------------------
39 public:
40 inline WX_NSApplication GetNSApplication() { return m_cocoaApp; }
41 virtual void CocoaDelegate_applicationWillBecomeActive();
42 virtual void CocoaDelegate_applicationDidBecomeActive();
43 virtual void CocoaDelegate_applicationWillResignActive();
44 virtual void CocoaDelegate_applicationDidResignActive();
45 virtual void CocoaDelegate_applicationWillUpdate();
46 virtual void CF_ObserveMainRunLoopBeforeWaiting(CFRunLoopObserverRef observer, int activity);
47 protected:
48 WX_NSApplication m_cocoaApp;
49 struct objc_object *m_cocoaAppDelegate;
50 WX_NSThread m_cocoaMainThread;
51 wxCFRef<CFRunLoopObserverRef> m_cfRunLoopIdleObserver;
52 wxCFRef<CFStringRef> m_cfObservedRunLoopMode;
53
54 // ------------------------------------------------------------------------
55 // Implementation
56 // ------------------------------------------------------------------------
57 public:
58 // Implement wxAppBase pure virtuals
59 virtual void Exit();
60
61 virtual bool Yield(bool onlyIfNeeded = FALSE);
62 virtual void WakeUpIdle();
63
64 virtual bool Initialize(int& argc, wxChar **argv);
65 virtual void CleanUp();
66 virtual bool CallOnInit();
67
68
69 virtual bool OnInit();
70 virtual bool OnInitGui();
71
72 #ifdef __WXDEBUG__
73 virtual void OnAssert(const wxChar *file, int line, const wxChar *cond, const wxChar *msg);
74 bool IsInAssert() const { return m_isInAssert; }
75 #endif // __WXDEBUG__
76
77 // Set true _before_ initializing wx to force embedded mode (no app delegate, etc.)
78 static bool sm_isEmbedded;
79 private:
80 #ifdef __WXDEBUG__
81 bool m_isInAssert;
82 #endif // __WXDEBUG__
83 };
84
85 #endif // _WX_COCOA_APP_H_