X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/457e6c54a28bc20cf347ba921755d7d5b296aa2a..aaa6f9ba6bd0be1fe6a34800e6f753ffdc49900c:/docs/latex/wx/timer.tex diff --git a/docs/latex/wx/timer.tex b/docs/latex/wx/timer.tex index f3f885d6cf..dd845dc16c 100644 --- a/docs/latex/wx/timer.tex +++ b/docs/latex/wx/timer.tex @@ -4,25 +4,31 @@ The wxTimer class allows you to execute code at specified intervals. Its 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{wxObject}{wxobject} +\helpref{wxEvtHandler}{wxevthandler} \wxheading{Include files} @@ -34,7 +40,7 @@ be stopped later with \helpref{Stop}{wxtimerstop}. \latexignore{\rtfignore{\wxheading{Members}}} -\membersection{wxTimer::wxTimer}\label{wxtimerctordef} +\membersection{wxTimer::wxTimer}\label{wxtimerwxtimer} \func{}{wxTimer}{\void} @@ -42,20 +48,18 @@ Default constructor. If you use it to construct the object and don't call \helpref{SetOwner}{wxtimersetowner} later, you must override \helpref{Notify}{wxtimernotify} method to process the notifications. -\membersection{wxTimer::wxTimer}\label{wxtimerwxtimer} - \func{}{wxTimer}{\param{wxEvtHandler *}{owner}, \param{int }{id = -1}} 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} @@ -65,14 +69,14 @@ Returns the current interval for the timer (in milliseconds). \constfunc{bool}{IsOneShot}{\void} -Returns 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 TRUE if the timer is running, FALSE if it is stopped. +Returns {\tt true} if the timer is running, {\tt false} if it is stopped. \membersection{wxTimer::Notify}\label{wxtimernotify} @@ -87,21 +91,31 @@ Perform whatever action which is to be taken periodically here. \func{void}{SetOwner}{\param{wxEvtHandler *}{owner}, \param{int }{id = -1}} -Associates the timer with the given {\it owner} object. When the timer is +Associates the timer with the given {\it owner}\/ object. When the timer is running, the owner will receive \helpref{timer events}{wxtimerevent} with -id equal to {\it id} specified here. +id equal to {\it id}\/ specified here. \membersection{wxTimer::Start}\label{wxtimerstart} -\func{bool}{Start}{\param{int}{ milliseconds = -1}, \param{bool}{ oneShot=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). -(Re)starts the timer. If {\it milliseconds} parameter is -1 (value by default), -the previous value is used. Returns FALSE if the timer could not be started, -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}, +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: -If {\it oneShot} is FALSE (the default), the \helpref{Notify}{wxtimernotify} -function will be called repeatedly until the timer is stopped. If TRUE, -it will be called only once and the timer will stop automatically. +\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. \membersection{wxTimer::Stop}\label{wxtimerstop} @@ -143,6 +157,10 @@ void MyFrame::OnTimer(wxTimerEvent& event) \end{verbatim} +\wxheading{Derived from} + +\helpref{wxEvent}{wxevent} + \wxheading{Include files} @@ -159,49 +177,3 @@ void MyFrame::OnTimer(wxTimerEvent& event) Returns the interval of the timer which generated this event. -\section{\class{wxStopWatch}}\label{wxstopwatch} - -The wxStopWatch class allow you to measure time intervalls. - -\wxheading{Include files} - - - -\wxheading{See also} - -\helpref{::wxStartTimer}{wxstarttimer}, \helpref{::wxGetElapsedTime}{wxgetelapsedtime}, \helpref{wxTimer}{wxtimer} - -\latexignore{\rtfignore{\wxheading{Members}}} - -\membersection{wxStopWatch::wxStopWatch} - -\func{}{wxStopWatch}{\void} - -Constructor. This starts the stop watch. - -\membersection{wxStopWatch::Pause}\label{wxstopwatchpause} - -\func{void}{Pause}{\void} - -Pauses the stop watch. Call \helpref{wxStopWatch::Resume}{wxstopwatchresume} to resume -time measuring again. - -\membersection{wxStopWatch::Start} - -\func{void}{Start}{\param{long}{ milliseconds = 0}} - -(Re)starts the stop watch with a given initial value. - -\membersection{wxStopWatch::Resume}\label{wxstopwatchresume} - -\func{void}{Resume}{\void} - -Resumes the stop watch after having been paused with \helpref{wxStopWatch::Pause}{wxstopwatchpause}. - -\membersection{wxStopWatch::Time} - -\func{long}{Time}{\void}\label{wxstopwatchtime} - -Returns the time in milliseconds since the start (or restart) or the last call of -\helpref{wxStopWatch::Pause}{wxstopwatchpause}. -