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 // ========================================================================
17 // ========================================================================
18 // Represents the application. Derive OnInit and declare
19 // a new App object to start application
20 class WXDLLEXPORT wxApp
: public wxAppBase
22 DECLARE_DYNAMIC_CLASS(wxApp
)
24 // ------------------------------------------------------------------------
26 // ------------------------------------------------------------------------
31 // ------------------------------------------------------------------------
33 // ------------------------------------------------------------------------
35 inline WX_NSApplication
GetNSApplication() { return m_cocoaApp
; }
36 void CocoaInstallRequestedIdleHandler() { if(m_isIdle
) CocoaInstallIdleHandler(); }
37 inline void CocoaRequestIdle() { m_isIdle
= true; }
39 WX_NSApplication m_cocoaApp
;
40 WX_NSThread m_cocoaMainThread
;
41 void CocoaInstallIdleHandler();
44 // ------------------------------------------------------------------------
46 // ------------------------------------------------------------------------
48 // Implement wxAppBase pure virtuals
49 virtual int MainLoop();
50 virtual void ExitMainLoop();
51 virtual bool Pending();
52 virtual bool Dispatch();
56 virtual bool Yield(bool onlyIfNeeded
= FALSE
);
57 virtual void WakeUpIdle() { CocoaRequestIdle(); }
59 virtual bool Initialize(int& argc
, wxChar
**argv
);
60 virtual void CleanUp();
61 virtual bool CallOnInit();
64 virtual bool OnInit();
65 virtual bool OnInitGui();
68 virtual void OnAssert(const wxChar
*file
, int line
, const wxChar
*cond
, const wxChar
*msg
);
69 bool IsInAssert() const { return m_isInAssert
; }
78 #endif // _WX_COCOA_APP_H_