// wxGUIEventLoop for wxGTK
// ----------------------------------------------------------------------------
+typedef union _GdkEvent GdkEvent;
+
class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopBase
{
public:
virtual bool Dispatch();
virtual int DispatchTimeout(unsigned long timeout);
virtual void WakeUp();
+ virtual bool YieldFor(long eventsToProcess);
+
+#if wxUSE_EVENTLOOP_SOURCE
+ virtual wxEventLoopSource *
+ AddSourceForFD(int fd, wxEventLoopSourceHandler *handler, int flags);
+#endif // wxUSE_EVENTLOOP_SOURCE
-protected:
+ void StoreGdkEventForLaterProcessing(GdkEvent* ev)
+ { m_arrGdkEvents.Add(ev); }
+
+private:
// the exit code of this event loop
int m_exitcode;
+ // used to temporarily store events in DoYield()
+ wxArrayPtrVoid m_arrGdkEvents;
+
wxDECLARE_NO_COPY_CLASS(wxGUIEventLoop);
};