]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/power.h
simpler implementation that also works over remote connections by Kevin O.
[wxWidgets.git] / include / wx / power.h
index f1a23b9fe27cae0e1b9e887411a6207a325e5056..e55cd60bcc63b3fb4ea479a575c287fa65c30629 100644 (file)
@@ -42,13 +42,16 @@ enum wxBatteryState
 // compiling in the code for handling them which is never going to be invoked
 // under the other platforms, we define wxHAS_POWER_EVENTS symbol if this event
 // is available, it should be used to guard all code using wxPowerEvent
-#ifdef __WXMSW__
+#ifdef __WINDOWS__
 
 #define wxHAS_POWER_EVENTS
 
 class WXDLLIMPEXP_BASE wxPowerEvent : public wxEvent
 {
 public:
+    wxPowerEvent()            // just for use by wxRTTI
+        : m_veto(false) { }
+
     wxPowerEvent(wxEventType evtType) : wxEvent(wxID_NONE, evtType)
     {
         m_veto = false;
@@ -67,19 +70,18 @@ public:
 private:
     bool m_veto;
 
-    DECLARE_ABSTRACT_CLASS(wxPowerEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxPowerEvent)
 };
 
-extern WXDLLIMPEXP_BASE const wxEventType wxEVT_POWER_SUSPENDING;
-extern WXDLLIMPEXP_BASE const wxEventType wxEVT_POWER_SUSPENDED;
-extern WXDLLIMPEXP_BASE const wxEventType wxEVT_POWER_SUSPEND_CANCEL;
-extern WXDLLIMPEXP_BASE const wxEventType wxEVT_POWER_RESUME;
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_BASE, wxEVT_POWER_SUSPENDING, wxPowerEvent );
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_BASE, wxEVT_POWER_SUSPENDED, wxPowerEvent );
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_BASE, wxEVT_POWER_SUSPEND_CANCEL, wxPowerEvent );
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_BASE, wxEVT_POWER_RESUME, wxPowerEvent );
 
 typedef void (wxEvtHandler::*wxPowerEventFunction)(wxPowerEvent&);
 
 #define wxPowerEventHandler(func) \
-    (wxObjectEventFunction)(wxEventFunction) \
-        wxStaticCastEvent(wxPowerEventFunction, &func)
+    wxEVENT_HANDLER_CAST(wxPowerEventFunction, func)
 
 #define EVT_POWER_SUSPENDING(func) \
     wx__DECLARE_EVT0(wxEVT_POWER_SUSPENDING, wxPowerEventHandler(func))