X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/298ca00cdc879c3b040192f1b8b3132fa1d89078..f014d4bf3e18198c273b3c119ad1a08d46d12c82:/include/wx/event.h diff --git a/include/wx/event.h b/include/wx/event.h index 7d82d855a3..e488280322 100644 --- a/include/wx/event.h +++ b/include/wx/event.h @@ -273,6 +273,7 @@ BEGIN_DECLARE_EVENT_TYPES() DECLARE_EVENT_TYPE(wxEVT_UPDATE_UI, 440) DECLARE_EVENT_TYPE(wxEVT_SIZING, 441) DECLARE_EVENT_TYPE(wxEVT_MOVING, 442) + DECLARE_EVENT_TYPE(wxEVT_HIBERNATE, 443) // Generic command events // Note: a click is a higher-level event than button down/up @@ -1288,6 +1289,7 @@ private: /* wxEVT_ACTIVATE wxEVT_ACTIVATE_APP + wxEVT_HIBERNATE */ class WXDLLIMPEXP_CORE wxActivateEvent : public wxEvent @@ -2105,7 +2107,10 @@ private: // event handler and related classes // ============================================================================ -typedef void (wxEvtHandler::*wxObjectEventFunction)(wxEvent&); +// for backwards compatibility and to prevent eVC 4 for ARM from crashing with +// internal compiler error when compiling wx, we define wxObjectEventFunction +// as a wxObject method even though it can only be a wxEvtHandler one +typedef void (wxObject::*wxObjectEventFunction)(wxEvent&); // we can't have ctors nor base struct in backwards compatibility mode or // otherwise we won't be able to initialize the objects with an agregate, so @@ -2417,8 +2422,14 @@ protected: #if wxUSE_THREADS #if defined (__VISAGECPP__) + const wxCriticalSection& Lock() const { return m_eventsLocker; } + wxCriticalSection& Lock() { return m_eventsLocker; } + wxCriticalSection m_eventsLocker; # else + const wxCriticalSection& Lock() const { return *m_eventsLocker; } + wxCriticalSection& Lock() { return *m_eventsLocker; } + wxCriticalSection* m_eventsLocker; # endif #endif @@ -2513,76 +2524,76 @@ typedef void (wxEvtHandler::*wxMouseCaptureChangedEventFunction)(wxMouseCaptureC #define wxCommandEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxCommandEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxCommandEventFunction, &func) #define wxScrollEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxScrollEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxScrollEventFunction, &func) #define wxScrollWinEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxScrollWinEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxScrollWinEventFunction, &func) #define wxSizeEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxSizeEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxSizeEventFunction, &func) #define wxMoveEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxMoveEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxMoveEventFunction, &func) #define wxPaintEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxPaintEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxPaintEventFunction, &func) #define wxNcPaintEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxNcPaintEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxNcPaintEventFunction, &func) #define wxEraseEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxEraseEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxEraseEventFunction, &func) #define wxMouseEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxMouseEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxMouseEventFunction, &func) #define wxCharEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxCharEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxCharEventFunction, &func) #define wxKeyEventHandler(func) wxCharEventHandler(func) #define wxFocusEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxFocusEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxFocusEventFunction, &func) #define wxChildFocusEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxChildFocusEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxChildFocusEventFunction, &func) #define wxActivateEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxActivateEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxActivateEventFunction, &func) #define wxMenuEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxMenuEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxMenuEventFunction, &func) #define wxJoystickEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxJoystickEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxJoystickEventFunction, &func) #define wxDropFilesEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxDropFilesEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxDropFilesEventFunction, &func) #define wxInitDialogEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxInitDialogEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxInitDialogEventFunction, &func) #define wxSysColourChangedEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxSysColourChangedEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxSysColourChangedEventFunction, &func) #define wxDisplayChangedEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxDisplayChangedEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxDisplayChangedEventFunction, &func) #define wxUpdateUIEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxUpdateUIEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxUpdateUIEventFunction, &func) #define wxIdleEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxIdleEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxIdleEventFunction, &func) #define wxCloseEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxCloseEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxCloseEventFunction, &func) #define wxShowEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxShowEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxShowEventFunction, &func) #define wxIconizeEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxIconizeEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxIconizeEventFunction, &func) #define wxMaximizeEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxMaximizeEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxMaximizeEventFunction, &func) #define wxNavigationKeyEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxNavigationKeyEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxNavigationKeyEventFunction, &func) #define wxPaletteChangedEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxPaletteChangedEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxPaletteChangedEventFunction, &func) #define wxQueryNewPaletteEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxQueryNewPaletteEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxQueryNewPaletteEventFunction, &func) #define wxWindowCreateEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxWindowCreateEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWindowCreateEventFunction, &func) #define wxWindowDestroyEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxWindowDestroyEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWindowDestroyEventFunction, &func) #define wxSetCursorEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxSetCursorEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxSetCursorEventFunction, &func) #define wxNotifyEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxNotifyEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxNotifyEventFunction, &func) #define wxHelpEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxHelpEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxHelpEventFunction, &func) #define wxContextMenuEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxContextMenuEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxContextMenuEventFunction, &func) #define wxMouseCaptureChangedEventHandler(func) \ - (wxObjectEventFunction)wxStaticCastEvent(wxMouseCaptureChangedEventFunction, &func) + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxMouseCaptureChangedEventFunction, &func) #endif // wxUSE_GUI @@ -2677,6 +2688,7 @@ typedef void (wxEvtHandler::*wxMouseCaptureChangedEventFunction)(wxMouseCaptureC #define EVT_CHILD_FOCUS(func) wx__DECLARE_EVT0(wxEVT_CHILD_FOCUS, wxChildFocusEventHandler(func)) #define EVT_ACTIVATE(func) wx__DECLARE_EVT0(wxEVT_ACTIVATE, wxActivateEventHandler(func)) #define EVT_ACTIVATE_APP(func) wx__DECLARE_EVT0(wxEVT_ACTIVATE_APP, wxActivateEventHandler(func)) +#define EVT_HIBERNATE(func) wx__DECLARE_EVT0(wxEVT_HIBERNATE, wxActivateEventHandler(func)) #define EVT_END_SESSION(func) wx__DECLARE_EVT0(wxEVT_END_SESSION, wxCloseEventHandler(func)) #define EVT_QUERY_END_SESSION(func) wx__DECLARE_EVT0(wxEVT_QUERY_END_SESSION, wxCloseEventHandler(func)) #define EVT_DROP_FILES(func) wx__DECLARE_EVT0(wxEVT_DROP_FILES, wxDropFilesEventHandler(func))