09f7f79f2d
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
126 lines
4.4 KiB
TeX
126 lines
4.4 KiB
TeX
\section{\class{wxIdleEvent}}\label{wxidleevent}
|
|
|
|
This class is used for idle events, which are generated when the system becomes
|
|
idle. Note that, unless you do something specifically, the idle events are not
|
|
sent if the system remains idle once it has become it, e.g. only a single idle
|
|
event will be generated until something else resulting in more normal events
|
|
happens and only then is the next idle event sent again. If you need to ensure
|
|
a continuous stream of idle events, you can either use
|
|
\helpref{RequestMore}{wxidleeventrequestmore} method in your handler or call
|
|
\helpref{wxWakeUpIdle}{wxwakeupidle} periodically (for example from timer
|
|
event), but note that both of these approaches (and especially the first one)
|
|
increase the system load and so should be avoided if possible.
|
|
|
|
By default, idle events are sent to all windows (and also
|
|
\helpref{wxApp}{wxapp}, as usual). If this is causing a significant
|
|
overhead in your application, you can call \helpref{wxIdleEvent::SetMode}{wxidleeventsetmode} with
|
|
the value wxIDLE\_PROCESS\_SPECIFIED, and set the wxWS\_EX\_PROCESS\_IDLE extra
|
|
window style for every window which should receive idle events.
|
|
|
|
\wxheading{Derived from}
|
|
|
|
\helpref{wxEvent}{wxevent}\\
|
|
\helpref{wxObject}{wxobject}
|
|
|
|
\wxheading{Include files}
|
|
|
|
<wx/event.h>
|
|
|
|
\wxheading{Event table macros}
|
|
|
|
To process an idle event, use this event handler macro to direct input to a member
|
|
function that takes a wxIdleEvent argument.
|
|
|
|
\twocolwidtha{7cm}
|
|
\begin{twocollist}\itemsep=0pt
|
|
\twocolitem{{\bf EVT\_IDLE(func)}}{Process a wxEVT\_IDLE event.}
|
|
\end{twocollist}%
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxUpdateUIEvent}{wxupdateuievent},
|
|
\helpref{wxWindow::OnInternalIdle}{wxwindowoninternalidle}
|
|
|
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
|
|
|
\membersection{wxIdleEvent::wxIdleEvent}\label{wxidleeventctor}
|
|
|
|
\func{}{wxIdleEvent}{\void}
|
|
|
|
Constructor.
|
|
|
|
\membersection{wxIdleEvent::CanSend}\label{wxidleeventcansend}
|
|
|
|
\func{static bool}{CanSend}{\param{wxWindow*}{ window}}
|
|
|
|
Returns {\tt true} if it is appropriate to send idle events to
|
|
this window.
|
|
|
|
This function looks at the mode used (see \helpref{wxIdleEvent::SetMode}{wxidleeventsetmode}),
|
|
and the wxWS\_EX\_PROCESS\_IDLE style in {\it window} to determine whether idle events should be sent to
|
|
this window now. By default this will always return {\tt true} because
|
|
the update mode is initially wxIDLE\_PROCESS\_ALL. You can change the mode
|
|
to only send idle events to windows with the wxWS\_EX\_PROCESS\_IDLE extra window style set.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxIdleEvent::SetMode}{wxidleeventsetmode}
|
|
|
|
\membersection{wxIdleEvent::GetMode}\label{wxidleeventgetmode}
|
|
|
|
\func{static wxIdleMode}{GetMode}{\void}
|
|
|
|
Static function returning a value specifying how wxWidgets
|
|
will send idle events: to all windows, or only to those which specify that they
|
|
will process the events.
|
|
|
|
See \helpref{wxIdleEvent::SetMode}{wxidleeventsetmode}.
|
|
|
|
\membersection{wxIdleEvent::RequestMore}\label{wxidleeventrequestmore}
|
|
|
|
\func{void}{RequestMore}{\param{bool}{ needMore = true}}
|
|
|
|
Tells wxWidgets that more processing is required. This function can be called by an OnIdle
|
|
handler for a window or window event handler to indicate that wxApp::OnIdle should
|
|
forward the OnIdle event once more to the application windows. If no window calls this function
|
|
during OnIdle, then the application will remain in a passive event loop (not calling OnIdle) until a
|
|
new event is posted to the application by the windowing system.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxIdleEvent::MoreRequested}{wxidleeventmorerequested}
|
|
|
|
\membersection{wxIdleEvent::MoreRequested}\label{wxidleeventmorerequested}
|
|
|
|
\constfunc{bool}{MoreRequested}{\void}
|
|
|
|
Returns true if the OnIdle function processing this event requested more processing time.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxIdleEvent::RequestMore}{wxidleeventrequestmore}
|
|
|
|
\membersection{wxIdleEvent::SetMode}\label{wxidleeventsetmode}
|
|
|
|
\func{static void}{SetMode}{\param{wxIdleMode }{mode}}
|
|
|
|
Static function for specifying how wxWidgets will send idle events: to
|
|
all windows, or only to those which specify that they
|
|
will process the events.
|
|
|
|
{\it mode} can be one of the following values.
|
|
The default is wxIDLE\_PROCESS\_ALL.
|
|
|
|
\begin{verbatim}
|
|
enum wxIdleMode
|
|
{
|
|
// Send idle events to all windows
|
|
wxIDLE_PROCESS_ALL,
|
|
|
|
// Send idle events to windows that have
|
|
// the wxWS_EX_PROCESS_IDLE flag specified
|
|
wxIDLE_PROCESS_SPECIFIED
|
|
};
|
|
\end{verbatim}
|
|
|