%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name:        powerevt.tex
%% Purpose:     wxPowerEvent documentation
%% Author:      Vadim Zeitlin
%% Created:     2006-05-27
%% RCS-ID:      $Id: powerevt.tex 39359 2006-05-27 14:09:40Z VZ $
%% Copyright:   (C) 2006 Vadim Zeitlin <vadim@wxwindows.org>
%% License:     wxWindows license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{\class{wxPowerEvent}}\label{wxpowerevent}

The power events are generated when the system power state changes, e.g. the
system is suspended, hibernated, plugged into or unplugged from the wall socket
and so on.

Notice that currently only suspend and resume events are generated and only
under MS Windows platform. To avoid the need to change the code using this
event later when these events are implemented on the other platforms please use
the test \texttt{#ifdef wxHAS\_POWER\_EVENTS} instead of directly testing for
the platform in your code: this symbol will be defined for all platforms
supporting the power events.

\wxheading{Event table macros}

To process power events, use these macros to handle them in
member functions that take a wxPowerEvent argument.

\twocolwidtha{9cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{\textbf{EVT\_POWER\_SUSPENDING(func)}}{System is about to be suspended, this
event can be vetoed to prevent suspend from taking place.}
\twocolitem{\textbf{EVT\_POWER\_SUSPENDED(func)}}{System is about to suspend: normally the
application should quickly (i.e. without user intervention) close all the open
files and network connections here, possibly remembering them to reopen them
later when the system is resumed.}
\twocolitem{\textbf{EVT\_POWER\_SUSPEND\_CANCEL(func)}}{System suspension was cancelled
because some application vetoed it.}
\twocolitem{\textbf{EVT\_POWER\_RESUME(func)}}{System resumed from suspend:
normally the application should restore the state in which it had been before
the suspension.}
\end{twocollist}%

\wxheading{Derived from}

\helpref{wxEvent}{wxevent}\\
\helpref{wxObject}{wxobject}

\wxheading{Include files}

<wx/power.h>

\wxheading{See also}

\helpref{wxGetPowerType}{wxgetpowertype}, \helpref{wxGetBatteryState}{wxgetbatterystate}


\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxPowerEvent::Veto}\label{wxpowereventveto}

\func{void}{Veto}{\void}

Call this to prevent suspend from taking place in 
\texttt{wxEVT\_POWER\_SUSPENDING} handler (it is ignored for all the others).


