]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/evtloop.h
Document wxKill(wxSIGTERM) reliance on having an open window in wxMSW.
[wxWidgets.git] / include / wx / gtk / evtloop.h
index b47e1874873929ce515328cd5f75c18cbeba2a58..9fb55aa226c3522414d070331eebf42aba4473f2 100644 (file)
 // wxGUIEventLoop for wxGTK
 // ----------------------------------------------------------------------------
 
 // wxGUIEventLoop for wxGTK
 // ----------------------------------------------------------------------------
 
+typedef union  _GdkEvent        GdkEvent;
+
 class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopBase
 {
 public:
     wxGUIEventLoop();
 
 class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopBase
 {
 public:
     wxGUIEventLoop();
 
-    virtual int Run();
-    virtual void Exit(int rc = 0);
+    virtual void ScheduleExit(int rc = 0);
     virtual bool Pending() const;
     virtual bool Dispatch();
     virtual int DispatchTimeout(unsigned long timeout);
     virtual void WakeUp();
     virtual bool Pending() const;
     virtual bool Dispatch();
     virtual int DispatchTimeout(unsigned long timeout);
     virtual void WakeUp();
+    virtual bool YieldFor(long eventsToProcess);
+
+    void StoreGdkEventForLaterProcessing(GdkEvent* ev)
+        { m_arrGdkEvents.Add(ev); }
 
 protected:
 
 protected:
+    virtual int DoRun();
+
+private:
     // the exit code of this event loop
     int m_exitcode;
 
     // 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_
 };
 
 #endif // _WX_GTK_EVTLOOP_H_