X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5cd99866132366b74289e5a08e963723732bae01..b02dd12239c8a59b9a545d9fcb04974f8ad02c6b:/include/wx/evtloop.h?ds=sidebyside diff --git a/include/wx/evtloop.h b/include/wx/evtloop.h index 7a9495afbf..aafd2bce55 100644 --- a/include/wx/evtloop.h +++ b/include/wx/evtloop.h @@ -17,8 +17,7 @@ // TODO: implement wxEventLoopSource for MSW (it should wrap a HANDLE and be // monitored using MsgWaitForMultipleObjects()) -#if defined(__WXOSX__) || defined(__WXGTK20__) || defined(__WXDFB__) || \ - (!wxUSE_GUI && defined(__UNIX__)) +#if defined(__WXOSX__) || (defined(__UNIX__) && !defined(__CYGWIN__)) #define wxUSE_EVENTLOOP_SOURCE 1 #else #define wxUSE_EVENTLOOP_SOURCE 0 @@ -185,7 +184,7 @@ protected: wxDECLARE_NO_COPY_CLASS(wxEventLoopBase); }; -#if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXDFB__) || defined(__UNIX__) +#if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXDFB__) || (defined(__UNIX__) && !defined(__WXOSX__)) // this class can be used to implement a standard event loop logic using // Pending() and Dispatch() @@ -228,20 +227,13 @@ private: #endif // platforms using "manual" loop -// include the header defining wxConsoleEventLoop for Unix systems -#if defined(__UNIX__) - #include "wx/unix/evtloop.h" -#endif - // we're moving away from old m_impl wxEventLoop model as otherwise the user // code doesn't have access to platform-specific wxEventLoop methods and this // can sometimes be very useful (e.g. under MSW this is necessary for // integration with MFC) but currently this is not done for all ports yet (e.g. // wxX11) so fall back to the old wxGUIEventLoop definition below for them -#if defined(__WXPALMOS__) - #include "wx/palmos/evtloop.h" -#elif defined(__WXMSW__) +#if defined(__WXMSW__) // this header defines both console and GUI loops for MSW #include "wx/msw/evtloop.h" #elif defined(__WXOSX__) @@ -256,7 +248,7 @@ private: #include "wx/cocoa/evtloop.h" #elif defined(__WXDFB__) #include "wx/dfb/evtloop.h" -#elif defined(__WXGTK__) +#elif defined(__WXGTK20__) #include "wx/gtk/evtloop.h" #else // other platform @@ -270,6 +262,19 @@ public: wxGUIEventLoop() { m_impl = NULL; } virtual ~wxGUIEventLoop(); +#if wxUSE_EVENTLOOP_SOURCE + // We need to define a base class pure virtual method but we can't provide + // a generic implementation for it so simply fail. + virtual wxEventLoopSource * + AddSourceForFD(int WXUNUSED(fd), + wxEventLoopSourceHandler * WXUNUSED(handler), + int WXUNUSED(flags)) + { + wxFAIL_MSG( "support for event loop sources not implemented" ); + return NULL; + } +#endif // wxUSE_EVENTLOOP_SOURCE + virtual int Run(); virtual void Exit(int rc = 0); virtual bool Pending() const; @@ -302,6 +307,11 @@ protected: #endif // wxUSE_GUI +// include the header defining wxConsoleEventLoop for Unix systems +#if defined(__UNIX__) && !defined(__CYGWIN__) +#include "wx/unix/evtloop.h" +#endif + #if wxUSE_GUI // we use a class rather than a typedef because wxEventLoop is // forward-declared in many places @@ -318,7 +328,7 @@ protected: inline bool wxEventLoopBase::IsRunning() const { return GetActive() == this; } -#if wxUSE_GUI +#if wxUSE_GUI && !defined(__WXOSX__) // ---------------------------------------------------------------------------- // wxModalEventLoop // ----------------------------------------------------------------------------