added wxPowerEvent; moved power functions stubs to common/powercmn.cpp

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-05-27 14:09:40 +00:00
parent 9fa1b6aad4
commit 355debca06
37 changed files with 2660 additions and 277 deletions

View File

@@ -54,6 +54,7 @@
#include "wx/evtloop.h"
#include "wx/module.h"
#include "wx/power.h"
#include "wx/sysopt.h"
#if wxUSE_DRAG_AND_DROP
@@ -3078,6 +3079,14 @@ WXLRESULT wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
}
}
break;
case WM_POWERBROADCAST:
{
bool vetoed;
processed = HandlePower(wParam, lParam, &vetoed);
rc.result = processed && vetoed ? BROADCAST_QUERY_DENY : TRUE;
}
break;
}
if ( !processed )
@@ -3785,6 +3794,62 @@ bool wxWindowMSW::HandleSetCursor(WXHWND WXUNUSED(hWnd),
return false;
}
bool wxWindowMSW::HandlePower(WXWPARAM wParam,
WXLPARAM WXUNUSED(lParam),
bool *vetoed)
{
wxEventType evtType;
switch ( wParam )
{
case PBT_APMQUERYSUSPEND:
evtType = wxEVT_POWER_SUSPENDING;
break;
case PBT_APMQUERYSUSPENDFAILED:
evtType = wxEVT_POWER_SUSPEND_CANCEL;
break;
case PBT_APMSUSPEND:
evtType = wxEVT_POWER_SUSPENDED;
break;
case PBT_APMRESUMESUSPEND:
evtType = wxEVT_POWER_RESUME;
break;
default:
wxLogDebug(_T("Unknown WM_POWERBROADCAST(%d) event"), wParam);
// fall through
// these messages are currently not mapped to wx events
case PBT_APMQUERYSTANDBY:
case PBT_APMQUERYSTANDBYFAILED:
case PBT_APMSTANDBY:
case PBT_APMRESUMESTANDBY:
case PBT_APMBATTERYLOW:
case PBT_APMPOWERSTATUSCHANGE:
case PBT_APMOEMEVENT:
case PBT_APMRESUMEAUTOMATIC:
case PBT_APMRESUMECRITICAL:
evtType = wxEVT_NULL;
break;
}
// don't handle unknown messages
if ( evtType == wxEVT_NULL )
return false;
// TODO: notify about PBTF_APMRESUMEFROMFAILURE in case of resume events?
wxPowerEvent event(evtType);
if ( !GetEventHandler()->ProcessEvent(event) )
return false;
*vetoed = event.IsVetoed();
return true;
}
// ---------------------------------------------------------------------------
// owner drawn stuff
// ---------------------------------------------------------------------------