]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/cocoa/app.h
tell user to define _USE_OLD_RW_STL for BC5.6 instead of refusing to compile with...
[wxWidgets.git] / include / wx / cocoa / app.h
... / ...
CommitLineData
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
15typedef struct __CFRunLoopObserver * CFRunLoopObserverRef;
16typedef 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
25class WXDLLEXPORT wxApp: public wxAppBase
26{
27 DECLARE_DYNAMIC_CLASS(wxApp)
28// ------------------------------------------------------------------------
29// initialization
30// ------------------------------------------------------------------------
31public:
32 wxApp();
33 virtual ~wxApp();
34
35// ------------------------------------------------------------------------
36// Cocoa specifics
37// ------------------------------------------------------------------------
38public:
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);
46protected:
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;
52
53// ------------------------------------------------------------------------
54// Implementation
55// ------------------------------------------------------------------------
56public:
57 // Implement wxAppBase pure virtuals
58 virtual void Exit();
59
60 virtual bool Yield(bool onlyIfNeeded = FALSE);
61 virtual void WakeUpIdle();
62
63 virtual bool Initialize(int& argc, wxChar **argv);
64 virtual void CleanUp();
65 virtual bool CallOnInit();
66
67
68 virtual bool OnInit();
69 virtual bool OnInitGui();
70
71#ifdef __WXDEBUG__
72 virtual void OnAssert(const wxChar *file, int line, const wxChar *cond, const wxChar *msg);
73 bool IsInAssert() const { return m_isInAssert; }
74#endif // __WXDEBUG__
75
76 // Set true _before_ initializing wx to force embedded mode (no app delegate, etc.)
77 static bool sm_isEmbedded;
78private:
79#ifdef __WXDEBUG__
80 bool m_isInAssert;
81#endif // __WXDEBUG__
82};
83
84#endif // _WX_COCOA_APP_H_