///////////////////////////////////////////////////////////////////////////////
-// 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_