]> 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 63c565721c9a0d7f00327a737ac8067b2267d76d..8ccf5b22ba1d2ab42385360cc0cfcd15736762d4 100644 (file)
 #ifndef _WX_OSX_COCOA_EVTLOOP_H_
 #define _WX_OSX_COCOA_EVTLOOP_H_
 
-class WXDLLIMPEXP_BASE wxGUIEventLoop : public wxEventLoopManual
+class WXDLLIMPEXP_BASE wxGUIEventLoop : public wxCFEventLoop
 {
 public:
-    typedef wxMacEventLoopSource Source;
-
     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();
-    virtual bool YieldFor(long eventsToProcess);
-
-#if wxUSE_EVENTLOOP_SOURCE
-    virtual wxMacEventLoopSource* CreateSource() const
-    {
-        return new wxMacEventLoopSource();
-    }
-
-    virtual wxMacEventLoopSource* CreateSource(int res,
-                                           wxEventLoopSourceHandler* handler,
-                                           int flags) const;
-
-    virtual wxMacEventLoopSource* CreateSource(CFRunLoopSourceRef res,
-                                           wxEventLoopSourceHandler* handler,
-                                           int flags) const
-    {
-        return new wxMacEventLoopSource(res, handler, flags);
-    }
-#endif
 
+    void OSXUseLowLevelWakeup(bool useIt)
+        { m_osxLowLevelWakeUp = useIt ; }
+    
 protected:
-#if wxUSE_EVENTLOOP_SOURCE
-    // adding/removing sources
-    virtual bool DoAddSource(wxAbstractEventLoopSource* source);
-    virtual bool DoRemoveSource(wxAbstractEventLoopSource* source);
-#endif
-
-private:
-    double m_sleepTime;
+    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_