]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/timer.h
fixed infinite recursion in SetFocus()
[wxWidgets.git] / include / wx / motif / timer.h
index 60a9f166ff415e73dac1982d99af3c9fb4d52b8f..28c0d776b4e1cc5d984fa5c0bdc5d351433a4559 100644 (file)
 #define _WX_TIMER_H_
 
 #ifdef __GNUG__
-#pragma interface "timer.h"
+    #pragma interface "timer.h"
 #endif
 
-#include "wx/object.h"
-
-class WXDLLEXPORT wxTimer: public wxObject
+class WXDLLEXPORT wxTimer : public wxTimerBase
 {
-  DECLARE_DYNAMIC_CLASS(wxTimer)
-
- 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);
 
-protected:
-  bool      m_oneShot ;
-  int       m_milli ;
-  int       m_lastMilli ;
-  long      m_id;
+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();
 
-/* Note: these are implemented in common/timercmn.cpp, so need to implement them separately.
- * But you may need to modify timercmn.cpp.
- */
+    virtual bool IsRunning() const { return m_id != 0; }
 
-// Timer functions (milliseconds)
-void WXDLLEXPORT wxStartTimer();
-// Gets time since last wxStartTimer or wxGetElapsedTime
-long WXDLLEXPORT wxGetElapsedTime(bool resetTimer = TRUE);
+protected:
+    void Init();
 
-// EXPERIMENTAL: comment this out if it doesn't compile.
-bool WXDLLEXPORT wxGetLocalTime(long *timeZone, int *dstObserved);
+    long m_id;
 
-// Get number of seconds since 00:00:00 GMT, Jan 1st 1970.
-long WXDLLEXPORT wxGetCurrentTime();
+private:
+    DECLARE_DYNAMIC_CLASS(wxTimer)
+};
 
 #endif
     // _WX_TIMER_H_