X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/aacbb5dc43ec99d4a5b5cbdfd34ee0112ad58ba1..5f4994df03d1c38b6674d410d500d99cdf201531:/interface/wx/event.h diff --git a/interface/wx/event.h b/interface/wx/event.h index 6d7b85754d..e61807c55d 100644 --- a/interface/wx/event.h +++ b/interface/wx/event.h @@ -318,6 +318,29 @@ public: +/** + Helper class to temporarily change an event to not propagate. +*/ +class wxPropagationDisabler +{ +public: + wxPropagationDisabler(wxEvent& event); + ~wxPropagationDisabler(); +}; + + +/** + Helper class to temporarily lower propagation level. +*/ +class wxPropagateOnce +{ +public: + wxPropagateOnce(wxEvent& event); + ~wxPropagateOnce(); +}; + + + /** @class wxEvtHandler @@ -1065,6 +1088,40 @@ public: //@} + /** + @name Global event filters. + + Methods for working with the global list of event filters. + + Event filters can be defined to pre-process all the events that happen + in an application, see wxEventFilter documentation for more information. + */ + //@{ + + /** + Add an event filter whose FilterEvent() method will be called for each + and every event processed by wxWidgets. + + The filters are called in LIFO order and wxApp is registered as an + event filter by default. The pointer must remain valid until it's + removed with RemoveFilter() and is not deleted by wxEvtHandler. + + @since 2.9.3 + */ + static void AddFilter(wxEventFilter* filter); + + /** + Remove a filter previously installed with AddFilter(). + + It's an error to remove a filter that hadn't been previously added or + was already removed. + + @since 2.9.3 + */ + static void RemoveFilter(wxEventFilter* filter); + + //@} + protected: /** Method called by ProcessEvent() before examining this object event @@ -2608,6 +2665,10 @@ public: Returns the integer identifier corresponding to a listbox, choice or radiobox selection (only if the event was a selection, not a deselection), or a boolean value representing the value of a checkbox. + + For a menu item, this method returns -1 if the item is not checkable or + a boolean value (true or false) for checkable items indicating the new + state of the item. */ int GetInt() const; @@ -3023,27 +3084,29 @@ public: /** @class wxThreadEvent - This class adds some simple functionalities to wxCommandEvent conceived - for inter-threads communications. + This class adds some simple functionality to wxEvent to facilitate + inter-thread communication. - This event is not natively emitted by any control/class: this is just - an helper class for the user. + This event is not natively emitted by any control/class: it is just + a helper class for the user. Its most important feature is the GetEventCategory() implementation which - allows thread events to @b NOT be processed by wxEventLoopBase::YieldFor calls + allows thread events @b NOT to be processed by wxEventLoopBase::YieldFor calls (unless the @c wxEVT_CATEGORY_THREAD is specified - which is never in wx code). @library{wxcore} @category{events,threading} @see @ref overview_thread, wxEventLoopBase::YieldFor + + @since 2.9.0 */ -class wxThreadEvent : public wxCommandEvent +class wxThreadEvent : public wxEvent { public: /** Constructor. */ - wxThreadEvent(wxEventType eventType = wxEVT_COMMAND_THREAD, int id = wxID_ANY); + wxThreadEvent(wxEventType eventType = wxEVT_THREAD, int id = wxID_ANY); /** Clones this event making sure that all internal members which use @@ -3090,6 +3153,37 @@ public: */ template T GetPayload() const; + + /** + Returns extra information integer value. + */ + long GetExtraLong() const; + + /** + Returns stored integer value. + */ + int GetInt() const; + + /** + Returns stored string value. + */ + wxString GetString() const; + + + /** + Sets the extra information value. + */ + void SetExtraLong(long extraLong); + + /** + Sets the integer value. + */ + void SetInt(int intCommand); + + /** + Sets the string value. + */ + void SetString(const wxString& string); }; @@ -3464,8 +3558,8 @@ public: This event is mainly used by wxWidgets implementations. A wxNavigationKeyEvent handler is automatically provided by wxWidgets - when you make a class into a control container with the macro - WX_DECLARE_CONTROL_CONTAINER. + when you enable keyboard navigation inside a window by inheriting it from + wxNavigationEnabled<>. @beginEventTable{wxNavigationKeyEvent} @event{EVT_NAVIGATION_KEY(func)} @@ -3911,6 +4005,10 @@ public: size of the window, you may need to clear the DC explicitly and repaint the whole window. In which case, you may need to call wxWindow::Refresh to invalidate the entire window. + @b Important : Sizers ( see @ref overview_sizer ) rely on size events to function + correctly. Therefore, in a sizer-based layout, do not forget to call Skip on all + size events you catch (and don't catch size events at all when you don't need to). + @beginEventTable{wxSizeEvent} @event{EVT_SIZE(func)} Process a @c wxEVT_SIZE event. @@ -4244,7 +4342,7 @@ wxEventType wxEVT_COMMAND_TOOL_DROPDOWN_CLICKED; wxEventType wxEVT_COMMAND_TOOL_ENTER; wxEventType wxEVT_COMMAND_COMBOBOX_DROPDOWN; wxEventType wxEVT_COMMAND_COMBOBOX_CLOSEUP; -wxEventType wxEVT_COMMAND_THREAD; +wxEventType wxEVT_THREAD; wxEventType wxEVT_LEFT_DOWN; wxEventType wxEVT_LEFT_UP; wxEventType wxEVT_MIDDLE_DOWN; @@ -4346,6 +4444,7 @@ wxEventType wxEVT_HELP; wxEventType wxEVT_DETAILED_HELP; wxEventType wxEVT_COMMAND_TEXT_UPDATED; wxEventType wxEVT_COMMAND_TOOL_CLICKED; +wxEventType wxEVT_WINDOW_MODAL_DIALOG_CLOSED;