]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/private/timer.h
preparation for allowing to use wxTimer in wxBase (heavily modified patch 1113088):
[wxWidgets.git] / include / wx / motif / private / timer.h
diff --git a/include/wx/motif/private/timer.h b/include/wx/motif/private/timer.h
new file mode 100644 (file)
index 0000000..b717a32
--- /dev/null
@@ -0,0 +1,37 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/motif/private/timer.h
+// Purpose:     wxTimer class
+// Author:      Julian Smart
+// Created:     17/09/98
+// RCS-ID:      $Id$
+// Copyright:   (c) Julian Smart
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MOTIF_PRIVATE_TIMER_H_
+#define _WX_MOTIF_PRIVATE_TIMER_H_
+
+#include "wx/private/timer.h"
+
+class WXDLLEXPORT wxMotifTimerImpl : public wxTimerImpl
+{
+public:
+    wxMotifTimerImpl(wxTimer* timer) : wxTimerImpl(timer) { m_id = 0; }
+    virtual ~wxMotifTimerImpl();
+
+    virtual bool Start(int milliseconds = -1, bool oneShot = false);
+    virtual void Stop();
+    virtual bool IsRunning() const { return m_id != 0; }
+
+    // override this to rearm the timer if necessary (i.e. if not one shot) as
+    // X timeouts are removed automatically when they expire
+    virtual void Notify();
+
+protected:
+    // common part of Start() and Notify()
+    void DoStart();
+
+    long m_id;
+};
+
+#endif // _WX_MOTIF_PRIVATE_TIMER_H_