+/* This file is part of
+ * ======================================================
+ *
+ * LyX, The Document Processor
+ *
+ * Copyright 1995 Matthias Ettrich
+ * Copyright 1995-2000 The LyX Team.
+ *
+ * ====================================================== */
+
+#ifdef __GNUG__
+#pragma implementation
+#endif
+
#include <config.h>
#include FORMS_H_LOCATION
void C_intern_timeout_cb(int, void * data)
{
Timeout * to = static_cast<Timeout*>(data);
- to->callback();
+ to->emit();
}
}
Timeout::Timeout()
- : type(ONETIME), timeout(0), timeout_id(-1),
- callback_(0), data_(0) {}
+ : type(ONETIME), timeout_ms(0), timeout_id(-1)
+{}
-Timeout::Timeout(int msec, Type t = ONETIME)
- : type(t), timeout(msec), timeout_id(-1),
- callback_(0), data_(0) {}
+Timeout::Timeout(unsigned int msec, Type t)
+ : type(t), timeout_ms(msec), timeout_id(-1)
+{}
Timeout::~Timeout()
{
if (timeout_id != -1)
lyxerr << "Timeout::start: already running!" << endl;
- timeout_id = fl_add_timeout(timeout,
+ timeout_id = fl_add_timeout(timeout_ms,
C_intern_timeout_cb, this);
}
}
-void Timeout::callback(TimeoutCallback cb, void * data)
-{
- callback_ = cb;
- data_ = data;
-}
-
-
-void Timeout::callback()
+void Timeout::emit()
{
timeout_id = -1;
- if (callback_)
- callback_(data_);
+ timeout.emit();
if (type == CONTINOUS)
start();
}
-void Timeout::setType(Type t)
+Timeout & Timeout::setType(Type t)
{
type = t;
+ return *this;
}
-void Timeout::setTimeout(int msec)
+Timeout & Timeout::setTimeout(unsigned int msec)
{
- timeout = msec;
+ timeout_ms = msec;
+ return *this;
}