]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/evtloop.h
Use the same logic for closing dialogs as for handling Escape key.
[wxWidgets.git] / include / wx / gtk / evtloop.h
index b47e1874873929ce515328cd5f75c18cbeba2a58..d08356786232838577439ce8d9736ff1e91e6937 100644 (file)
@@ -15,6 +15,8 @@
 // wxGUIEventLoop for wxGTK
 // ----------------------------------------------------------------------------
 
+typedef union  _GdkEvent        GdkEvent;
+
 class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopBase
 {
 public:
@@ -26,12 +28,24 @@ 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;
 
-    DECLARE_NO_COPY_CLASS(wxGUIEventLoop)
+    // used to temporarily store events in DoYield()
+    wxArrayPtrVoid m_arrGdkEvents;
+
+    wxDECLARE_NO_COPY_CLASS(wxGUIEventLoop);
 };
 
 #endif // _WX_GTK_EVTLOOP_H_