#ifndef _WX_TIMER_H_
#define _WX_TIMER_H_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "timer.h"
#endif
-#include "wx/object.h"
-
-class WXDLLEXPORT wxTimer: public wxObject
+class WXDLLEXPORT wxTimer : public wxTimerBase
{
- DECLARE_DYNAMIC_CLASS(wxTimer)
-
- friend void wxTimerCallback (wxTimer * timer);
-
- public:
- wxTimer();
- ~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
- inline int Interval() { return m_milli ; }; // Returns the current interval time (0 if stop)
-
+ friend void wxTimerCallback(wxTimer * timer);
+
+public:
+ wxTimer() { Init(); }
+ wxTimer(wxEvtHandler *owner, int id = -1) : wxTimerBase(owner, id)
+ { Init(); }
+ ~wxTimer();
+
+ virtual bool Start(int milliseconds = -1, bool oneShot = FALSE);
+ virtual void Stop();
+
+ virtual bool IsRunning() const { return m_id != 0; }
+
protected:
- bool m_oneShot ;
- int m_milli ;
- int m_lastMilli ;
- long m_id;
-
+ void Init();
+
+ long m_id;
+
+private:
+ DECLARE_DYNAMIC_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_
+// _WX_TIMER_H_