| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- ///////////////////////////////////////////////////////////////////////////////
- // Name: testableframe.cpp
- // Purpose: An improved wxFrame for unit-testing
- // Author: Steven Lamerton
- // Copyright: (c) 2010 Steven Lamerton
- // Licence: wxWindows licence
- ///////////////////////////////////////////////////////////////////////////////
- // For compilers that support precompilation, includes "wx/wx.h".
- #include "testprec.h"
- #ifdef __BORLANDC__
- #pragma hdrstop
- #endif
- #include "wx/app.h"
- #include "testableframe.h"
- wxTestableFrame::wxTestableFrame() : wxFrame(NULL, wxID_ANY, "Test Frame")
- {
- Move(2000, 200);
- }
- void wxTestableFrame::OnEvent(wxEvent& evt)
- {
- m_count[evt.GetEventType()]++;
- if(! evt.IsCommandEvent() )
- evt.Skip();
- }
- int wxTestableFrame::GetEventCount(wxEventType type)
- {
- return m_count[type];
- }
- void wxTestableFrame::ClearEventCount(wxEventType type)
- {
- m_count[type] = 0;
- }
- EventCounter::EventCounter(wxWindow* win, wxEventType type) : m_type(type),
- m_win(win)
- {
- m_frame = wxStaticCast(wxTheApp->GetTopWindow(), wxTestableFrame);
- m_win->Connect(m_type, wxEventHandler(wxTestableFrame::OnEvent),
- NULL, m_frame);
- }
- EventCounter::~EventCounter()
- {
- m_win->Disconnect(m_type, wxEventHandler(wxTestableFrame::OnEvent),
- NULL, m_frame);
- //This stops spurious counts from previous tests
- Clear();
- m_frame = NULL;
- m_win = NULL;
- }
|