X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fd587c7a5e2424a3a29012ac3efa6fff84dba035..1ebd017e14fe820f790487702bf493fb0e772429:/include/wx/event.h?ds=sidebyside diff --git a/include/wx/event.h b/include/wx/event.h index 909ffbc405..63c852c617 100644 --- a/include/wx/event.h +++ b/include/wx/event.h @@ -230,7 +230,7 @@ BEGIN_DECLARE_EVENT_TYPES() DECLARE_EVENT_TYPE(wxEVT_END_SESSION, 403) DECLARE_EVENT_TYPE(wxEVT_QUERY_END_SESSION, 404) DECLARE_EVENT_TYPE(wxEVT_ACTIVATE_APP, 405) - DECLARE_EVENT_TYPE(wxEVT_POWER, 406) + // 406..408 are power events DECLARE_EVENT_TYPE(wxEVT_ACTIVATE, 409) DECLARE_EVENT_TYPE(wxEVT_CREATE, 410) DECLARE_EVENT_TYPE(wxEVT_DESTROY, 411) @@ -266,6 +266,12 @@ BEGIN_DECLARE_EVENT_TYPES() DECLARE_EVENT_TYPE(wxEVT_SIZING, 441) DECLARE_EVENT_TYPE(wxEVT_MOVING, 442) DECLARE_EVENT_TYPE(wxEVT_HIBERNATE, 443) + // more power events follow -- see wx/power.h + + // Clipboard events + DECLARE_EVENT_TYPE(wxEVT_COMMAND_TEXT_COPY, 444) + DECLARE_EVENT_TYPE(wxEVT_COMMAND_TEXT_CUT, 445) + DECLARE_EVENT_TYPE(wxEVT_COMMAND_TEXT_PASTE, 446) // Generic command events // Note: a click is a higher-level event than button down/up @@ -1978,17 +1984,28 @@ private: class WXDLLIMPEXP_CORE wxHelpEvent : public wxCommandEvent { public: + // how was this help event generated? + enum Origin + { + Origin_Unknown, // unrecognized event source + Origin_Keyboard, // event generated from F1 key press + Origin_HelpButton // event from [?] button on the title bar (Windows) + }; + wxHelpEvent(wxEventType type = wxEVT_NULL, wxWindowID winid = 0, - const wxPoint& pt = wxDefaultPosition) + const wxPoint& pt = wxDefaultPosition, + Origin origin = Origin_Unknown) : wxCommandEvent(type, winid), - m_pos(pt), m_target(), m_link() + m_pos(pt), + m_origin(GuessOrigin(origin)) { } wxHelpEvent(const wxHelpEvent & event) : wxCommandEvent(event), m_pos(event.m_pos), m_target(event.m_target), - m_link(event.m_link) + m_link(event.m_link), + m_origin(event.m_origin) { } // Position of event (in screen coordinates) @@ -2005,15 +2022,52 @@ public: virtual wxEvent *Clone() const { return new wxHelpEvent(*this); } + // optional indication of the event source + Origin GetOrigin() const { return m_origin; } + void SetOrigin(Origin origin) { m_origin = origin; } + protected: wxPoint m_pos; wxString m_target; wxString m_link; + Origin m_origin; + + // we can try to guess the event origin ourselves, even if none is + // specified in the ctor + static Origin GuessOrigin(Origin origin); private: DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxHelpEvent) }; +// A Clipboard Text event is sent when a window intercepts text copy/cut/paste +// message, i.e. the user has cut/copied/pasted data from/into a text control +// via ctrl-C/X/V, ctrl/shift-del/insert, a popup menu command, etc. +// NOTE : under windows these events are *NOT* generated automatically +// for a Rich Edit text control. +/* +wxEVT_COMMAND_TEXT_COPY +wxEVT_COMMAND_TEXT_CUT +wxEVT_COMMAND_TEXT_PASTE +*/ + +class WXDLLIMPEXP_CORE wxClipboardTextEvent : public wxCommandEvent +{ +public: + wxClipboardTextEvent(wxEventType type = wxEVT_NULL, + wxWindowID winid = 0) + : wxCommandEvent(type, winid) + { } + wxClipboardTextEvent(const wxClipboardTextEvent & event) + : wxCommandEvent(event) + { } + + virtual wxEvent *Clone() const { return new wxClipboardTextEvent(*this); } + +private: + DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxClipboardTextEvent) +}; + // A Context event is sent when the user right clicks on a window or // presses Shift-F10 // NOTE : Under windows this is a repackaged WM_CONTETXMENU message @@ -2107,7 +2161,6 @@ private: #endif // wxUSE_GUI /* TODO - wxEVT_POWER, wxEVT_MOUSE_CAPTURE_CHANGED, wxEVT_SETTING_CHANGED, // WM_WININICHANGE (NT) / WM_SETTINGCHANGE (Win95) // wxEVT_FONT_CHANGED, // WM_FONTCHANGE: roll into wxEVT_SETTING_CHANGED, but remember to propagate @@ -2531,6 +2584,7 @@ typedef void (wxEvtHandler::*wxNotifyEventFunction)(wxNotifyEvent&); typedef void (wxEvtHandler::*wxHelpEventFunction)(wxHelpEvent&); typedef void (wxEvtHandler::*wxContextMenuEventFunction)(wxContextMenuEvent&); typedef void (wxEvtHandler::*wxMouseCaptureChangedEventFunction)(wxMouseCaptureChangedEvent&); +typedef void (wxEvtHandler::*wxClipboardTextEventFunction)(wxClipboardTextEvent&); // these typedefs don't have the same name structure as the others, keep for // backwards compatibility only @@ -2611,6 +2665,8 @@ typedef void (wxEvtHandler::*wxMouseCaptureChangedEventFunction)(wxMouseCaptureC (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxContextMenuEventFunction, &func) #define wxMouseCaptureChangedEventHandler(func) \ (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxMouseCaptureChangedEventFunction, &func) +#define wxClipboardTextEventHandler(func) \ + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxClipboardTextEventFunction, &func) #endif // wxUSE_GUI @@ -3002,6 +3058,11 @@ typedef void (wxEvtHandler::*wxMouseCaptureChangedEventFunction)(wxMouseCaptureC #define EVT_CONTEXT_MENU(func) wx__DECLARE_EVT0(wxEVT_CONTEXT_MENU, wxContextMenuEventHandler(func)) #define EVT_COMMAND_CONTEXT_MENU(winid, func) wx__DECLARE_EVT1(wxEVT_CONTEXT_MENU, winid, wxContextMenuEventHandler(func)) +// Clipboard text Events +#define EVT_TEXT_CUT(winid, func) wx__DECLARE_EVT1(wxEVT_COMMAND_TEXT_CUT, winid, wxClipboardTextEventHandler(func)) +#define EVT_TEXT_COPY(winid, func) wx__DECLARE_EVT1(wxEVT_COMMAND_TEXT_COPY, winid, wxClipboardTextEventHandler(func)) +#define EVT_TEXT_PASTE(winid, func) wx__DECLARE_EVT1(wxEVT_COMMAND_TEXT_PASTE, winid, wxClipboardTextEventHandler(func)) + // ---------------------------------------------------------------------------- // Global data // ----------------------------------------------------------------------------