// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef __GTKTIMERH__
-#define __GTKTIMERH__
+#ifndef _WX_GTK_TIMER_H_
+#define _WX_GTK_TIMER_H_
//-----------------------------------------------------------------------------
// wxTimer
{ Init(); }
virtual ~wxTimer();
- virtual bool Start( int millisecs = -1, bool oneShot = FALSE );
+ virtual bool Start(int millisecs = -1, bool oneShot = false);
virtual void Stop();
- virtual bool IsRunning() const { return m_tag != -1; }
+ virtual bool IsRunning() const { return m_sourceId != 0; }
-protected:
+private:
void Init();
- int m_tag;
+ unsigned m_sourceId;
-private:
DECLARE_ABSTRACT_CLASS(wxTimer)
};
-#endif // __GTKTIMERH__
+#endif // _WX_GTK_TIMER_H_
#include "wx/timer.h"
-#include "gtk/gtk.h"
+#include <gtk/gtk.h>
// ----------------------------------------------------------------------------
// wxTimer
IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
extern "C" {
-static gint timeout_callback( gpointer data )
+static gboolean timeout_callback(gpointer data)
{
wxTimer *timer = (wxTimer*)data;
// Release lock again.
gdk_threads_leave();
- if (timer->IsOneShot())
- return FALSE;
-
- return TRUE;
+ return !timer->IsOneShot();
}
}
void wxTimer::Init()
{
- m_tag = -1;
+ m_sourceId = 0;
m_milli = 1000;
}
wxTimer::~wxTimer()
{
- wxTimer::Stop();
+ Stop();
}
bool wxTimer::Start( int millisecs, bool oneShot )
{
(void)wxTimerBase::Start(millisecs, oneShot);
- if (m_tag != -1)
- g_source_remove( m_tag );
+ if (m_sourceId != 0)
+ g_source_remove(m_sourceId);
- m_tag = g_timeout_add( m_milli, timeout_callback, this );
+ m_sourceId = g_timeout_add(m_milli, timeout_callback, this);
- return TRUE;
+ return true;
}
void wxTimer::Stop()
{
- if (m_tag != -1)
+ if (m_sourceId != 0)
{
- g_source_remove( m_tag );
- m_tag = -1;
+ g_source_remove(m_sourceId);
+ m_sourceId = 0;
}
}