add a unit test checking that events are really propagated as they're supposed to
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -92,6 +92,13 @@ public:
|
||||
virtual int OnRun();
|
||||
virtual int OnExit();
|
||||
|
||||
// used by events propagation test
|
||||
virtual int FilterEvent(wxEvent& event);
|
||||
virtual bool ProcessEvent(wxEvent& event);
|
||||
|
||||
void SetFilterEventFunc(FilterEventFunc f) { m_filterEventFunc = f; }
|
||||
void SetProcessEventFunc(ProcessEventFunc f) { m_processEventFunc = f; }
|
||||
|
||||
#ifdef __WXDEBUG__
|
||||
virtual void OnAssertFailure(const wxChar *,
|
||||
int,
|
||||
@@ -112,6 +119,10 @@ private:
|
||||
bool m_detail;
|
||||
bool m_timing;
|
||||
vector<string> m_registries;
|
||||
|
||||
// event handling hooks
|
||||
FilterEventFunc m_filterEventFunc;
|
||||
ProcessEventFunc m_processEventFunc;
|
||||
};
|
||||
|
||||
IMPLEMENT_APP_CONSOLE(TestApp)
|
||||
@@ -120,6 +131,8 @@ TestApp::TestApp()
|
||||
: m_list(false),
|
||||
m_longlist(false)
|
||||
{
|
||||
m_filterEventFunc = NULL;
|
||||
m_processEventFunc = NULL;
|
||||
}
|
||||
|
||||
// Init
|
||||
@@ -185,6 +198,33 @@ bool TestApp::OnCmdLineParsed(wxCmdLineParser& parser)
|
||||
return TestAppBase::OnCmdLineParsed(parser);
|
||||
}
|
||||
|
||||
// Event handling
|
||||
int TestApp::FilterEvent(wxEvent& event)
|
||||
{
|
||||
if ( m_filterEventFunc )
|
||||
return (*m_filterEventFunc)(event);
|
||||
|
||||
return TestAppBase::FilterEvent(event);
|
||||
}
|
||||
|
||||
bool TestApp::ProcessEvent(wxEvent& event)
|
||||
{
|
||||
if ( m_processEventFunc )
|
||||
return (*m_processEventFunc)(event);
|
||||
|
||||
return TestAppBase::ProcessEvent(event);
|
||||
}
|
||||
|
||||
extern void SetFilterEventFunc(FilterEventFunc func)
|
||||
{
|
||||
wxGetApp().SetFilterEventFunc(func);
|
||||
}
|
||||
|
||||
extern void SetProcessEventFunc(ProcessEventFunc func)
|
||||
{
|
||||
wxGetApp().SetProcessEventFunc(func);
|
||||
}
|
||||
|
||||
// Run
|
||||
//
|
||||
int TestApp::OnRun()
|
||||
|
Reference in New Issue
Block a user