]> git.saurik.com Git - wxWidgets.git/blob - include/wx/cocoa/app.h
Removed MainLoop, ExitMainLoop, Pending, and Dispatch
[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 // ========================================================================
16 // wxApp
17 // ========================================================================
18 // Represents the application. Derive OnInit and declare
19 // a new App object to start application
20 class WXDLLEXPORT wxApp: public wxAppBase
21 {
22 DECLARE_DYNAMIC_CLASS(wxApp)
23 DECLARE_EVENT_TABLE()
24 // ------------------------------------------------------------------------
25 // initialization
26 // ------------------------------------------------------------------------
27 public:
28 wxApp();
29 virtual ~wxApp() {}
30
31 // ------------------------------------------------------------------------
32 // Cocoa specifics
33 // ------------------------------------------------------------------------
34 public:
35 inline WX_NSApplication GetNSApplication() { return m_cocoaApp; }
36 void CocoaInstallRequestedIdleHandler() { if(m_isIdle) CocoaInstallIdleHandler(); }
37 inline void CocoaRequestIdle() { m_isIdle = true; }
38 protected:
39 WX_NSApplication m_cocoaApp;
40 WX_NSThread m_cocoaMainThread;
41 void CocoaInstallIdleHandler();
42 bool m_isIdle;
43
44 // ------------------------------------------------------------------------
45 // Implementation
46 // ------------------------------------------------------------------------
47 public:
48 // Implement wxAppBase pure virtuals
49 virtual void Exit();
50
51 virtual bool Yield(bool onlyIfNeeded = FALSE);
52 virtual void WakeUpIdle() { CocoaRequestIdle(); }
53
54 virtual bool Initialize(int& argc, wxChar **argv);
55 virtual void CleanUp();
56 virtual bool CallOnInit();
57
58
59 virtual bool OnInit();
60 virtual bool OnInitGui();
61
62 #ifdef __WXDEBUG__
63 virtual void OnAssert(const wxChar *file, int line, const wxChar *cond, const wxChar *msg);
64 bool IsInAssert() const { return m_isInAssert; }
65 #endif // __WXDEBUG__
66
67 private:
68 #ifdef __WXDEBUG__
69 bool m_isInAssert;
70 #endif // __WXDEBUG__
71 };
72
73 #endif // _WX_COCOA_APP_H_