Change in wxWindow the access specifier of the wxEvtHandler event processing and queuing functions

from public to protected. Adapt wxWidgets code and wxWidgets samples to always use wxWindow::GetEventHandler()
when calling such functions on a wxWindow rather than directly using wxWindow::ProcessEvent, etc.
This enables correct event dispatching to the event handlers which have been pushed (with PushEventHandler) on the 
windows.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2009-01-25 11:58:39 +00:00
parent 838ab05ede
commit 004867dbc5
17 changed files with 76 additions and 32 deletions

View File

@@ -817,6 +817,26 @@ public:
virtual void SetNextHandler(wxEvtHandler *handler);
virtual void SetPreviousHandler(wxEvtHandler *handler);
protected:
// NOTE: we change the access specifier of the following wxEvtHandler functions
// so that the user won't be able to call them directly.
// Calling wxWindow::ProcessEvent in fact only works when there are NO
// event handlers pushed on the window.
// To ensure correct operation, instead of wxWindow::ProcessEvent
// you must always call wxWindow::GetEventHandler()->ProcessEvent()
// or HandleWindowEvent().
// The same holds for all other wxEvtHandler functions.
wxEvtHandler::ProcessEvent;
wxEvtHandler::ProcessThreadEvent;
wxEvtHandler::SafelyProcessEvent;
wxEvtHandler::ProcessPendingEvents;
wxEvtHandler::AddPendingEvent;
wxEvtHandler::QueueEvent;
public:
// validators
// ----------