+#endif // wxHAS_POWER_EVENTS
+
+
+ void UpdatePowerSettings(wxPowerType powerType, wxBatteryState batteryState)
+ {
+ wxString powerStr;
+ switch ( m_powerType = powerType )
+ {
+ case wxPOWER_SOCKET:
+ powerStr = _T("wall");
+ break;
+
+ case wxPOWER_BATTERY:
+ powerStr = _T("battery");
+ break;
+
+ default:
+ wxFAIL_MSG(_T("unknown wxPowerType value"));
+ // fall through
+
+ case wxPOWER_UNKNOWN:
+ powerStr = _T("psychic");
+ break;
+ }
+
+ wxString batteryStr;
+ switch ( m_batteryState = batteryState )
+ {
+ case wxBATTERY_NORMAL_STATE:
+ batteryStr = _T("charged");
+ break;
+
+ case wxBATTERY_LOW_STATE:
+ batteryStr = _T("low");
+ break;
+
+ case wxBATTERY_CRITICAL_STATE:
+ batteryStr = _T("critical");
+ break;
+
+ case wxBATTERY_SHUTDOWN_STATE:
+ batteryStr = _T("empty");
+ break;
+
+ default:
+ wxFAIL_MSG(_T("unknown wxBatteryState value"));
+ // fall through
+
+ case wxBATTERY_UNKNOWN_STATE:
+ batteryStr = _T("unknown");
+ break;
+ }
+
+ SetStatusText(wxString::Format(
+ _T("System is on %s power, battery state is %s"),
+ powerStr.c_str(),
+ batteryStr.c_str()));
+ }