Add wxEventFilter and related functionality.

Allow defining event filters to globally pre-process all application events
without having to override wxApp::FilterEvent().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2011-11-22 13:18:50 +00:00
parent feb32e3165
commit 58cc15871d
18 changed files with 350 additions and 24 deletions

View File

@@ -1088,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