evtloop.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. ///////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/osx/cocoa/evtloop.h
  3. // Purpose: declaration of wxGUIEventLoop for wxOSX/Cocoa
  4. // Author: Vadim Zeitlin
  5. // Created: 2008-12-28
  6. // Copyright: (c) 2006 Vadim Zeitlin <vadim@wxwindows.org>
  7. // Licence: wxWindows licence
  8. ///////////////////////////////////////////////////////////////////////////////
  9. #ifndef _WX_OSX_COCOA_EVTLOOP_H_
  10. #define _WX_OSX_COCOA_EVTLOOP_H_
  11. class WXDLLIMPEXP_BASE wxGUIEventLoop : public wxCFEventLoop
  12. {
  13. public:
  14. wxGUIEventLoop();
  15. ~wxGUIEventLoop();
  16. void BeginModalSession( wxWindow* modalWindow );
  17. void EndModalSession();
  18. virtual void WakeUp();
  19. void OSXUseLowLevelWakeup(bool useIt)
  20. { m_osxLowLevelWakeUp = useIt ; }
  21. protected:
  22. virtual int DoDispatchTimeout(unsigned long timeout);
  23. virtual void OSXDoRun();
  24. virtual void OSXDoStop();
  25. virtual CFRunLoopRef CFGetCurrentRunLoop() const;
  26. void* m_modalSession;
  27. wxWindow* m_modalWindow;
  28. WXWindow m_dummyWindow;
  29. int m_modalNestedLevel;
  30. bool m_osxLowLevelWakeUp;
  31. };
  32. #endif // _WX_OSX_COCOA_EVTLOOP_H_