]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/cocoa/evtloop.h
wxMessageBox off the main thread lost result code.
[wxWidgets.git] / include / wx / osx / cocoa / evtloop.h
index d0040bd92056039af2617257e4efd9c318ec6241..ab15dd94af898ac91c5a6aa9239db857e6752b09 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     declaration of wxGUIEventLoop for wxOSX/Cocoa
 // Author:      Vadim Zeitlin
 // Created:     2008-12-28
-// RCS-ID:      $Id$
 // Copyright:   (c) 2006 Vadim Zeitlin <vadim@wxwindows.org>
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 #ifndef _WX_OSX_COCOA_EVTLOOP_H_
 #define _WX_OSX_COCOA_EVTLOOP_H_
 
-class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopManual
+class WXDLLIMPEXP_BASE wxGUIEventLoop : public wxCFEventLoop
 {
 public:
     wxGUIEventLoop();
-
-    // implement/override base class pure virtual
-    virtual bool Pending() const;
-    virtual bool Dispatch();
-    virtual int DispatchTimeout(unsigned long timeout);
+    ~wxGUIEventLoop();
+    
+    void BeginModalSession( wxWindow* modalWindow );
+    
+    void EndModalSession();
 
     virtual void WakeUp();
-    virtual bool YieldFor(long eventsToProcess);
 
-private:
-    double m_sleepTime;
+    void OSXUseLowLevelWakeup(bool useIt)
+        { m_osxLowLevelWakeUp = useIt ; }
+    
+protected:
+    virtual int DoDispatchTimeout(unsigned long timeout);
+
+    virtual void OSXDoRun();
+    virtual void OSXDoStop();
+
+    virtual CFRunLoopRef CFGetCurrentRunLoop() const;
+    
+    void* m_modalSession;
+    
+    wxWindow* m_modalWindow;
+    
+    WXWindow m_dummyWindow;
+    
+    int m_modalNestedLevel;
+    
+    bool m_osxLowLevelWakeUp;
 };
 
 #endif // _WX_OSX_COCOA_EVTLOOP_H_