Wt::WTimer Class Reference

A utility class which provides timer signals and single-shot timers. More...

#include <Wt/WTimer>

Inheritance diagram for Wt::WTimer:

Inheritance graph
[legend]

List of all members.

Public Slots

void start ()
 Start the timer.
void stop ()
 Stop the timer.

Public Member Functions

 WTimer (WObject *parent=0)
 Construct a new timer with the given parent.
 ~WTimer ()
 Destuctor.
int interval () const
 Get the interval (msec).
void setInterval (int msec)
 Set the interval (msec).
bool isActive () const
 Return if the timer is running.
bool isSingleShot () const
 Is this timer set to fire only once.
void setSingleShot (bool singleShot)
 Configure this timer to fire only once.

Static Public Member Functions

template<class T, class V>
static void singleShot (int msec, T *receiver, void(V::*method)())
 This static function calls a slot after a given time interval.

Public Attributes

EventSignal< void > timeout
 Signal emitted when the timer timeouts.


Detailed Description

A utility class which provides timer signals and single-shot timers.

To use the WTimer class, create a WTimer instance, set the timer interval using setInterval() and connect a slot to the timeout signal. Then, start the timer using start(). An active timer may be cancelled at any time using stop().

By default, a timer will continue to generate events. To create a timer that will fire only once, use setSingleShot(). There is also a convience static method singleShot()

When connecting stateless slot implementations to the timeout signal, these stateless slot implementations will be used as for any other signal (when Ajax is available).

In clients without (enabled) JavaScript support, the minimum resolution of the timer is one second (1000 milli-seconds), and it is probably wise to use timers sparingly.


Member Function Documentation

void Wt::WTimer::setSingleShot ( bool  singleShot  ) 

Configure this timer to fire only once.

A Timer is by default not single shot, and will fire continuously, until it is stopped.

See also:
singleShot()

template<class T, class V>
void Wt::WTimer::singleShot ( int  msec,
T *  receiver,
void(V::*)()  method 
) [inline, static]

This static function calls a slot after a given time interval.

For example, the following code will call this->doSome() after 2 seconds:

   WTimer::singleShot(2000, SLOT(this, MyClass::doSome));

void Wt::WTimer::start (  )  [slot]

Start the timer.

The timer will be isActive(), until either the interval has elapsed, after which the timeout signal is activated, or until stop() is called.


Generated on Fri Apr 24 16:26:00 2009 for Wt by doxygen 1.5.6