///////////////////////////////////////////////////////////////////////////////
-// Name: include/wx/osx/evtloop.h
-// Purpose: simply forwards to wx/mac/carbon/evtloop.h for consistency with
-// the other Mac headers
+// Name: wx/osx/evtloop.h
+// Purpose: simply forwards to wx/osx/carbon/evtloop.h or
+// wx/osx/cocoa/evtloop.h for consistency with the other Mac
+// headers
// Author: Vadim Zeitlin
// Modified by:
// Created: 2006-01-12
#ifndef _WX_OSX_EVTLOOP_H_
#define _WX_OSX_EVTLOOP_H_
-typedef struct __CFRunLoop * CFRunLoopRef;
+#ifdef __WXOSX_COCOA__
+ #include "wx/osx/cocoa/evtloop.h"
+#else
+ #include "wx/osx/carbon/evtloop.h"
+#endif
-class WXDLLIMPEXP_BASE wxCFEventLoop : public wxEventLoopManual
+class WXDLLIMPEXP_FWD_CORE wxWindow;
+class WXDLLIMPEXP_FWD_CORE wxNonOwnedWindow;
+
+class WXDLLIMPEXP_CORE wxModalEventLoop : public wxGUIEventLoop
{
public:
-#if wxUSE_EVENTLOOP_SOURCE
- virtual wxEventLoopSource *
- AddSourceForFD(int fd, wxEventLoopSourceHandler *handler, int flags);
-#endif // wxUSE_EVENTLOOP_SOURCE
+ wxModalEventLoop(wxWindow *modalWindow);
+ wxModalEventLoop(WXWindow modalNativeWindow);
protected:
- // get the currently executing CFRunLoop
- virtual CFRunLoopRef CFGetCurrentRunLoop() const = 0;
-};
+ virtual void DoRun();
-#if wxUSE_GUI
- #ifdef __WXOSX_COCOA__
- #include "wx/osx/cocoa/evtloop.h"
- #else
- #include "wx/osx/carbon/evtloop.h"
- #endif
-#endif // wxUSE_GUI
+ virtual void DoStop();
+
+ // (in case) the modal window for this event loop
+ wxNonOwnedWindow* m_modalWindow;
+ WXWindow m_modalNativeWindow;
+};
#endif // _WX_OSX_EVTLOOP_H_