app.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/cocoa/app.h
  3. // Purpose: wxApp class
  4. // Author: David Elliott
  5. // Modified by:
  6. // Created: 2002/11/27
  7. // Copyright: (c) 2002 David Elliott
  8. // Licence: wxWindows licence
  9. /////////////////////////////////////////////////////////////////////////////
  10. #ifndef _WX_COCOA_APP_H_
  11. #define _WX_COCOA_APP_H_
  12. typedef struct __CFRunLoopObserver * CFRunLoopObserverRef;
  13. typedef const struct __CFString * CFStringRef;
  14. #include "wx/osx/core/cfref.h"
  15. // ========================================================================
  16. // wxApp
  17. // ========================================================================
  18. // Represents the application. Derive OnInit and declare
  19. // a new App object to start application
  20. class WXDLLIMPEXP_CORE wxApp: public wxAppBase
  21. {
  22. DECLARE_DYNAMIC_CLASS(wxApp)
  23. // ------------------------------------------------------------------------
  24. // initialization
  25. // ------------------------------------------------------------------------
  26. public:
  27. wxApp();
  28. virtual ~wxApp();
  29. // ------------------------------------------------------------------------
  30. // Cocoa specifics
  31. // ------------------------------------------------------------------------
  32. public:
  33. inline WX_NSApplication GetNSApplication() { return m_cocoaApp; }
  34. virtual void CocoaDelegate_applicationWillBecomeActive();
  35. virtual void CocoaDelegate_applicationDidBecomeActive();
  36. virtual void CocoaDelegate_applicationWillResignActive();
  37. virtual void CocoaDelegate_applicationDidResignActive();
  38. virtual void CocoaDelegate_applicationWillUpdate();
  39. virtual void CF_ObserveMainRunLoopBeforeWaiting(CFRunLoopObserverRef observer, int activity);
  40. protected:
  41. WX_NSApplication m_cocoaApp;
  42. struct objc_object *m_cocoaAppDelegate;
  43. WX_NSThread m_cocoaMainThread;
  44. wxCFRef<CFRunLoopObserverRef> m_cfRunLoopIdleObserver;
  45. wxCFRef<CFStringRef> m_cfObservedRunLoopMode;
  46. // ------------------------------------------------------------------------
  47. // Implementation
  48. // ------------------------------------------------------------------------
  49. public:
  50. // Implement wxAppBase pure virtuals
  51. virtual void Exit();
  52. virtual void WakeUpIdle();
  53. virtual bool Initialize(int& argc, wxChar **argv);
  54. virtual void CleanUp();
  55. virtual bool CallOnInit();
  56. virtual bool OnInit();
  57. virtual bool OnInitGui();
  58. // Set true _before_ initializing wx to force embedded mode (no app delegate, etc.)
  59. static bool sm_isEmbedded;
  60. };
  61. #endif // _WX_COCOA_APP_H_