1 \section{\class{wxTimer
}}\label{wxtimer
}
3 The wxTimer class allows you to execute code at specified intervals. Its
4 precision is platform-dependent, but in general will not be better than
1ms nor
7 There are two different ways to use this class:
10 \item You may derive a new class from wxTimer and override the
11 \helpref{Notify
}{wxtimernotify
} member to perform the required action.
12 \item Or you may redirect the notifications to any
13 \helpref{wxEvtHandler
}{wxevthandler
} derived object by using the non default
14 constructor or
\helpref{SetOwner
}{wxtimersetowner
}. Then use
{\tt EVT
\_TIMER}
15 macro to connect it to the event handler which will receive
16 \helpref{wxTimerEvent
}{wxtimerevent
} notifications.
19 In any case, you must start the timer with
\helpref{Start
}{wxtimerstart
}
20 after constructing it before it actually starts sending notifications. It can
21 be stopped later with
\helpref{Stop
}{wxtimerstop
}.
23 \wxheading{Derived from
}
25 \helpref{wxObject
}{wxobject
}
27 \wxheading{Include files
}
33 \helpref{::wxStartTimer
}{wxstarttimer
},
\helpref{::wxGetElapsedTime
}{wxgetelapsedtime
},
\helpref{wxStopWatch
}{wxstopwatch
}
35 \latexignore{\rtfignore{\wxheading{Members
}}}
37 \membersection{wxTimer::wxTimer
}{wxtimerctordef
}
39 \func{}{wxTimer
}{\void}
41 Default constructor. If you use it to construct the object and don't call
42 \helpref{SetOwner
}{wxtimersetowner
} later, you must override
43 \helpref{Notify
}{wxtimernotify
} method to process the notifications.
45 \membersection{wxTimer::wxTimer
}{wxtimerwxtimer
}
47 \func{}{wxTimer
}{\param{wxEvtHandler *
}{owner
},
\param{int
}{id = -
1}}
49 Creates a timer and associates it with
{\it owner
}. Please see
50 \helpref{SetOwner
}{wxtimersetowner
} for the description of parameters.
52 \membersection{wxTimer::
\destruct{wxTimer
}}
54 \func{}{\destruct{wxTimer
}}{\void}
56 Destructor. Stops the timer if it is running.
58 \membersection{wxTimer::GetInterval
}{wxtimergetinterval
}
60 \constfunc{int
}{GetInterval
}{\void}
62 Returns the current interval for the timer (in milliseconds).
64 \membersection{wxTimer::IsOneShot
}{wxtimerisoneshot
}
66 \constfunc{bool
}{IsOneShot
}{\void}
68 Returns TRUE if the timer is one shot, i.e. if it will stop after firing the
69 first notification automatically.
71 \membersection{wxTimer::IsRunning
}{wxtimerisrunning
}
73 \constfunc{bool
}{IsRunning
}{\void}
75 Returns TRUE if the timer is running, FALSE if it is stopped.
77 \membersection{wxTimer::Notify
}{wxtimernotify
}
79 \func{void
}{Notify
}{\void}
81 This member should be overridden by the user if the default constructor was
82 used and
\helpref{SetOwner
}{wxtimersetowner
} wasn't called.
84 Perform whatever action which is to be taken periodically here.
86 \membersection{wxTimer::SetOwner
}{wxtimersetowner
}
88 \func{void
}{SetOwner
}{\param{wxEvtHandler *
}{owner
},
\param{int
}{id = -
1}}
90 Associates the timer with the given
{\it owner
} object. When the timer is
91 running, the owner will receive
\helpref{timer events
}{wxtimerevent
} with
92 id equal to
{\it id
} specified here.
94 \membersection{wxTimer::Start
}{wxtimerstart
}
96 \func{bool
}{Start
}{\param{int
}{ milliseconds = -
1},
\param{bool
}{ oneShot=FALSE
}}
98 (Re)starts the timer. If
{\it milliseconds
} parameter is -
1 (value by default),
99 the previous value is used. Returns FALSE if the timer could not be started,
100 TRUE otherwise (in MS Windows timers are a limited resource).
102 If
{\it oneShot
} is FALSE (the default), the
\helpref{Notify
}{wxtimernotify
}
103 function will be called repeatedly until the timer is stopped. If TRUE,
104 it will be called only once and the timer will stop automatically.
106 \membersection{wxTimer::Stop
}{wxtimerstop
}
108 \func{void
}{Stop
}{\void}
112 \section{\class{wxTimerEvent
}}\label{wxtimerevent
}
114 wxTimerEvent object is passed to the event handler of timer events.
119 class MyFrame : public wxFrame
123 void OnTimer(wxTimerEvent& event);
129 BEGIN_EVENT_TABLE(MyFrame, wxFrame)
130 EVT_TIMER(TIMER_ID, MyFrame::OnTimer)
134 : m_timer(this, TIMER_ID)
136 m_timer.Start(
1000); //
1 second interval
139 void MyFrame::OnTimer(wxTimerEvent& event)
141 // do whatever you want to do every second here
146 \wxheading{Include files
}
152 \helpref{wxTimer
}{wxtimer
}
154 \latexignore{\rtfignore{\wxheading{Members
}}}
156 \membersection{wxTimerEvent::GetInterval
}{wxtimereventgetinterval
}
158 \constfunc{int
}{GetInterval
}{\void}
160 Returns the interval of the timer which generated this event.
162 \section{\class{wxStopWatch
}}\label{wxstopwatch
}
164 The wxStopWatch class allow you to measure time intervalls.
166 \wxheading{Include files
}
172 \helpref{::wxStartTimer
}{wxstarttimer
},
\helpref{::wxGetElapsedTime
}{wxgetelapsedtime
},
\helpref{wxTimer
}{wxtimer
}
174 \latexignore{\rtfignore{\wxheading{Members
}}}
176 \membersection{wxStopWatch::wxStopWatch
}
178 \func{}{wxStopWatch
}{\void}
180 Constructor. This starts the stop watch.
182 \membersection{wxStopWatch::Pause
}\label{wxstopwatchpause
}
184 \func{void
}{Pause
}{\void}
186 Pauses the stop watch. Call
\helpref{wxStopWatch::Resume
}{wxstopwatchresume
} to resume
187 time measuring again.
189 \membersection{wxStopWatch::Start
}
191 \func{void
}{Start
}{\param{long
}{ milliseconds =
0}}
193 (Re)starts the stop watch with a given initial value.
195 \membersection{wxStopWatch::Resume
}\label{wxstopwatchresume
}
197 \func{void
}{Resume
}{\void}
199 Resumes the stop watch after having been paused with
\helpref{wxStopWatch::Pause
}{wxstopwatchpause
}.
201 \membersection{wxStopWatch::Time
}
203 \func{long
}{Time
}{\void}\label{wxstopwatchtime
}
205 Returns the time in milliseconds since the start (or restart) or the last call of
206 \helpref{wxStopWatch::Pause
}{wxstopwatchpause
}.