precision is platform-dependent, but in general will not be better than 1ms nor
worse than 1s.
-There are two different ways to use this class:
+There are three different ways to use this class:
\begin{enumerate}
\item You may derive a new class from wxTimer and override the
\helpref{Notify}{wxtimernotify} member to perform the required action.
\item Or you may redirect the notifications to any
-\helpref{wxEvtHandler}{wxevthandler} derived object by using the non default
-constructor or \helpref{SetOwner}{wxtimersetowner}. Then use {\tt EVT\_TIMER}
+\helpref{wxEvtHandler}{wxevthandler} derived object by using the non-default
+constructor or \helpref{SetOwner}{wxtimersetowner}. Then use the {\tt EVT\_TIMER}
macro to connect it to the event handler which will receive
\helpref{wxTimerEvent}{wxtimerevent} notifications.
+\item Or you may use a derived class and the {\tt EVT\_TIMER}
+macro to connect it to an event handler defined in the derived class.
+If the default constructor is used, the timer object will be its
+own owner object, since it is derived from wxEvtHandler.
\end{enumerate}
In any case, you must start the timer with \helpref{Start}{wxtimerstart}
after constructing it before it actually starts sending notifications. It can
be stopped later with \helpref{Stop}{wxtimerstop}.
+{\bf Note:} A timer can only be used from the main thread.
+
\wxheading{Derived from}
+\helpref{wxEvtHandler}{wxevthandler}
\helpref{wxObject}{wxobject}
\wxheading{Include files}
\wxheading{See also}
-\helpref{::wxStartTimer}{wxstarttimer}, \helpref{::wxGetElapsedTime}{wxgetelapsedtime}, \helpref{wxStopWatch}{wxstopwatch}
+\helpref{wxStopWatch}{wxstopwatch}
\latexignore{\rtfignore{\wxheading{Members}}}
Creates a timer and associates it with {\it owner}. Please see
\helpref{SetOwner}{wxtimersetowner} for the description of parameters.
-\membersection{wxTimer::\destruct{wxTimer}}
+\membersection{wxTimer::\destruct{wxTimer}}\label{wxtimerdtor}
\func{}{\destruct{wxTimer}}{\void}
Destructor. Stops the timer if it is running.
-\membersection{wxTimer::GetInterval}{wxtimergetinterval}
+\membersection{wxTimer::GetInterval}\label{wxtimergetinterval}
\constfunc{int}{GetInterval}{\void}
Returns the current interval for the timer (in milliseconds).
+\membersection{wxTimer::GetOwner}\label{wxtimergetowner}
+
+\constfunc{wxEvtHandler}{GetOwner}{\void}
+
+Returns the current {\it owner} of the timer.
+If non-\NULL this is the event handler which will receive the
+\helpref{timer events}{wxtimerevent} when the timer is running.
+
+\membersection{wxTimer::GetId}\label{wxtimergetid}
+
+\constfunc{int}{GetId}{\void}
+
+Returns the ID of the events generated by this timer.
+
\membersection{wxTimer::IsOneShot}\label{wxtimerisoneshot}
\constfunc{bool}{IsOneShot}{\void}
-Returns {\tt TRUE} if the timer is one shot, i.e.\ if it will stop after firing the
+Returns {\tt true} if the timer is one shot, i.e.\ if it will stop after firing the
first notification automatically.
\membersection{wxTimer::IsRunning}\label{wxtimerisrunning}
\constfunc{bool}{IsRunning}{\void}
-Returns {\tt TRUE} if the timer is running, {\tt FALSE} if it is stopped.
+Returns {\tt true} if the timer is running, {\tt false} if it is stopped.
\membersection{wxTimer::Notify}\label{wxtimernotify}
\membersection{wxTimer::Start}\label{wxtimerstart}
-\func{bool}{Start}{\param{int}{milliseconds = -1}, \param{bool }{oneShot = {\tt FALSE}}}
+\func{bool}{Start}{\param{int }{milliseconds = -1}, \param{bool }{oneShot = {\tt false}}}
(Re)starts the timer. If {\it milliseconds}\/ parameter is -1 (value by default),
-the previous value is used. Returns {\tt FALSE} if the timer could not be started,
-{\tt TRUE} otherwise (in MS Windows timers are a limited resource).
+the previous value is used. Returns {\tt false} if the timer could not be started,
+{\tt true} otherwise (in MS Windows timers are a limited resource).
-If {\it oneShot}\/ is {\tt FALSE} (the default), the \helpref{Notify}{wxtimernotify}
-function will be called repeatedly until the timer is stopped. If {\tt TRUE},
+If {\it oneShot}\/ is {\tt false} (the default), the \helpref{Notify}{wxtimernotify}
+function will be called repeatedly until the timer is stopped. If {\tt true},
it will be called only once and the timer will stop automatically. To make your
-code more readable you may also use the following symbolic constants
-\twocolwidtha{5cm}%
+code more readable you may also use the following symbolic constants:
+
+\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{wxTIMER\_CONTINUOUS}{Start a normal, continuously running, timer}
\twocolitem{wxTIMER\_ONE\_SHOT}{Start a one shot timer}
\end{twocollist}
-
If the timer was already running, it will be stopped by this method before
restarting it.
Stops the timer.
+
+
+
+
+%% wxTimerEvent
+
+
\section{\class{wxTimerEvent}}\label{wxtimerevent}
wxTimerEvent object is passed to the event handler of timer events.
\end{verbatim}
+\wxheading{Derived from}
+
+\helpref{wxEvent}{wxevent}
+
\wxheading{Include files}
<wx/timer.h>
Returns the interval of the timer which generated this event.
+
+\membersection{wxTimerEvent::GetTimer}\label{wxtimereventgettimer}
+
+\constfunc{wxTimer\&}{GetTimer}{\void}
+
+Returns the timer object which generated this event.
+