wxWidgets/tests/testableframe.cpp
Dimitri Schoolwerth 3fdcd5d5ab Changed licence references to "wxWindows licence".
Use "wxWindows licence" and not "wxWidgets licence" and also use British spelling for licence. Updated new occurrences in recently added files and a couple of previously (r64940) missed ones.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-04 09:21:52 +00:00

88 lines
2.0 KiB
C++

///////////////////////////////////////////////////////////////////////////////
// Name: testableframe.cpp
// Purpose: An improved wxFrame for unit-testing
// Author: Steven Lamerton
// RCS-ID: $Id$
// 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")
{
}
void wxTestableFrame::OnEvent(wxEvent& evt)
{
m_count[evt.GetEventType()]++;
if(! evt.IsCommandEvent() )
evt.Skip();
}
int wxTestableFrame::GetEventCount(wxEventType type)
{
if (type == wxEVT_ANY)
{
//Get the total event count
long total = 0;
for(wxLongToLongHashMap::iterator iter = m_count.begin();
iter != m_count.end();
iter++)
{
total += iter->second;
iter->second = 0;
}
return total;
}
else
{
long count = m_count[type];
m_count[type] = 0;
return count;
}
}
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
m_frame->ClearEventCount(m_type);
m_frame = NULL;
m_win = NULL;
}