]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/timer.h
added dependency handling to Makefiles
[wxWidgets.git] / include / wx / mac / timer.h
index e668d30bec94ea771125a332d26255bd304db86c..1c4469e9a55b759ab98c5d1e21a5f54d4753b800 100644 (file)
 #endif
 
 #include "wx/object.h"
+#include "wx/mac/macnotfy.h"
 
-class WXDLLEXPORT wxTimer: public wxObject
+class wxTimer ;
+
+typedef struct MacTimerInfo
+{
+    TMTask m_task;
+    wxMacNotifierTableRef m_table ;
+    wxTimer* m_timer ;
+} ;
+
+class WXDLLEXPORT wxTimer: public wxTimerBase
 {
 public:
-    wxTimer();
+       wxTimer() { Init(); }
+       wxTimer(wxEvtHandler *owner, int id = -1) : wxTimerBase(owner, id) { Init(); }
     ~wxTimer();
 
     virtual bool Start(int milliseconds = -1,
                        bool one_shot = FALSE); // Start timer
     virtual void Stop();                       // Stop timer
 
-    virtual void Notify() = 0;                 // Override this member
-
-    // Returns the current interval time (0 if stop)
-    int Interval() const { return m_milli; }; 
-    bool OneShot() const { return m_oneShot; }
-
-protected:
-    bool m_oneShot ;
-    int  m_milli ;
-    int  m_lastMilli ;
-
-    long m_id;
+    virtual bool IsRunning() const ;
 
+    MacTimerInfo m_info;
+protected :
+       void Init();
 private:
+
     DECLARE_ABSTRACT_CLASS(wxTimer)
 };
 
-/* Note: these are implemented in common/timercmn.cpp, so need to implement them separately.
- * But you may need to modify timercmn.cpp.
- */
-
 #endif
     // _WX_TIMER_H_