]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/carbon/evtloop.h
wxMessageBox off the main thread lost result code.
[wxWidgets.git] / include / wx / osx / carbon / evtloop.h
index dd8a6b448aac0d4f517410c079985fd2c22a7331..f18c7c949478460f1b557cdaa51fbc6a67f80498 100644 (file)
@@ -1,10 +1,9 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        wx/mac/carbon/evtloop.h
+// Name:        wx/osx/carbon/evtloop.h
 // Purpose:     declaration of wxEventLoop for wxMac
 // Author:      Vadim Zeitlin
 // Modified by:
 // Created:     2006-01-12
-// RCS-ID:      $Id$
 // Copyright:   (c) 2006 Vadim Zeitlin <vadim@wxwindows.org>
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 #ifndef _WX_MAC_CARBON_EVTLOOP_H_
 #define _WX_MAC_CARBON_EVTLOOP_H_
 
-// set wxOSX_USE_RUN_APP_EVENT_LOOP to 1 if the standard
-// RunApplicationEventLoop function should be used, otherwise
-// the lower level CarbonEventLoop will be used
-//
-// in the long run we should make this 1 by default but we will have to clean
-// up event handling to make sure we don't miss handling of things like pending
-// events etc and perhaps we will also have to pipe events through an
-// ueber-event-handler to make sure we have one place to do all these
-// house-keeping functions
-#define wxOSX_USE_RUN_APP_EVENT_LOOP 0
+struct OpaqueEventRef;
+typedef OpaqueEventRef *EventRef;
 
-// ----------------------------------------------------------------------------
-// wxEventLoop
-// ----------------------------------------------------------------------------
-
-#if wxOSX_USE_RUN_APP_EVENT_LOOP
-
-class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopBase
+class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxCFEventLoop
 {
 public:
-    wxGUIEventLoop() { m_exitcode = 0; }
-
-    // implement base class pure virtuals
-    virtual int Run();
-    virtual void Exit(int rc = 0);
-    virtual bool Pending() const;
-    virtual bool Dispatch();
-
-private:
-    int m_exitcode;
-};
+    wxGUIEventLoop();
 
-#else // manual event loop
+    virtual void WakeUp();
 
-class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopManual
-{
-public:
-    wxGUIEventLoop() { }
+protected:
+    virtual int DoDispatchTimeout(unsigned long timeout);
 
-    virtual bool Pending() const;
-    virtual bool Dispatch();
+    virtual void OSXDoRun();
+    virtual void OSXDoStop();
 
-    // implement base class pure virtual
-    virtual void WakeUp();
+    virtual CFRunLoopRef CFGetCurrentRunLoop() const;
 };
 
-#endif // auto/manual event loop
-
 #endif // _WX_MAC_CARBON_EVTLOOP_H_