]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/cocoa/evtloop.h
guarding agains NULL
[wxWidgets.git] / include / wx / osx / cocoa / evtloop.h
index ed222c2bcbd30fe79a1a8eaf8b789b3fa470a313..8ccf5b22ba1d2ab42385360cc0cfcd15736762d4 100644 (file)
 #ifndef _WX_OSX_COCOA_EVTLOOP_H_
 #define _WX_OSX_COCOA_EVTLOOP_H_
 
-class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopManual
+class WXDLLIMPEXP_BASE wxGUIEventLoop : public wxCFEventLoop
 {
 public:
     wxGUIEventLoop();
-
-    // implement/override base class pure virtual
-    virtual bool Pending() const;
-    virtual bool Dispatch();
-    virtual int DispatchTimeout(unsigned long timeout);
+    ~wxGUIEventLoop();
+    
+    void BeginModalSession( wxWindow* modalWindow );
+    
+    void EndModalSession();
 
     virtual void WakeUp();
 
-private:
-    double m_sleepTime;
+    void OSXUseLowLevelWakeup(bool useIt)
+        { m_osxLowLevelWakeUp = useIt ; }
+    
+protected:
+    virtual int DoDispatchTimeout(unsigned long timeout);
+
+    virtual void DoRun();
+
+    virtual void DoStop();
+
+    virtual CFRunLoopRef CFGetCurrentRunLoop() const;
+    
+    void* m_modalSession;
+    
+    wxWindow* m_modalWindow;
+    
+    WXWindow m_dummyWindow;
+    
+    int m_modalNestedLevel;
+    
+    bool m_osxLowLevelWakeUp;
 };
 
 #endif // _WX_OSX_COCOA_EVTLOOP_H_