2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: power.h
|
2008-03-10 11:24:38 -04:00
|
|
|
// Purpose: interface of wxPowerEvent
|
2008-03-08 08:52:38 -05:00
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
2010-07-13 09:29:13 -04:00
|
|
|
// Licence: wxWindows licence
|
2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2010-12-27 15:47:12 -05:00
|
|
|
enum wxPowerType
|
|
|
|
{
|
|
|
|
wxPOWER_SOCKET,
|
|
|
|
wxPOWER_BATTERY,
|
|
|
|
wxPOWER_UNKNOWN
|
|
|
|
};
|
|
|
|
|
|
|
|
enum wxBatteryState
|
|
|
|
{
|
|
|
|
wxBATTERY_NORMAL_STATE, // system is fully usable
|
|
|
|
wxBATTERY_LOW_STATE, // start to worry
|
|
|
|
wxBATTERY_CRITICAL_STATE, // save quickly
|
|
|
|
wxBATTERY_SHUTDOWN_STATE, // too late
|
|
|
|
wxBATTERY_UNKNOWN_STATE
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
/**
|
|
|
|
@class wxPowerEvent
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
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
|
2009-02-18 12:58:51 -05:00
|
|
|
and so on. wxPowerEvents are emitted by wxWindows.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
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
|
2008-04-10 17:16:38 -04:00
|
|
|
event later when these events are implemented on the other platforms please
|
|
|
|
use the test <tt>ifdef wxHAS_POWER_EVENTS</tt> instead of directly testing for
|
2008-03-08 08:52:38 -05:00
|
|
|
the platform in your code: this symbol will be defined for all platforms
|
|
|
|
supporting the power events.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-04-10 17:16:38 -04:00
|
|
|
@beginEventTable{wxPowerEvent}
|
2009-02-18 12:58:51 -05:00
|
|
|
@event{EVT_POWER_SUSPENDING(func)}
|
2008-04-10 17:16:38 -04:00
|
|
|
System is about to be suspended, this event can be vetoed to prevent
|
|
|
|
suspend from taking place.
|
2009-02-18 12:58:51 -05:00
|
|
|
@event{EVT_POWER_SUSPENDED(func)}
|
2008-04-10 17:16:38 -04:00
|
|
|
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.
|
2009-02-18 12:58:51 -05:00
|
|
|
@event{EVT_POWER_SUSPEND_CANCEL(func)}
|
2008-04-10 17:16:38 -04:00
|
|
|
System suspension was cancelled because some application vetoed it.
|
2009-02-18 12:58:51 -05:00
|
|
|
@event{EVT_POWER_RESUME(func)}
|
2008-04-10 17:16:38 -04:00
|
|
|
System resumed from suspend: normally the application should restore
|
|
|
|
the state in which it had been before the suspension.
|
|
|
|
@endEventTable
|
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@library{wxbase}
|
2008-04-10 17:16:38 -04:00
|
|
|
@category{events}
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-04-10 17:16:38 -04:00
|
|
|
@see ::wxGetPowerType(), ::wxGetBatteryState()
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
class wxPowerEvent : public wxEvent
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
/**
|
2008-04-10 17:16:38 -04:00
|
|
|
Call this to prevent suspend from taking place in @c wxEVT_POWER_SUSPENDING
|
|
|
|
handler (it is ignored for all the others).
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
void Veto();
|
|
|
|
};
|
2008-03-10 11:24:38 -04:00
|
|
|
|