void WindowTestCase::FocusEvent() { #ifndef __WXOSX__ EventCounter setfocus(m_window, wxEVT_SET_FOCUS); EventCounter killfocus(m_window, wxEVT_KILL_FOCUS); m_window->SetFocus(); CPPUNIT_ASSERT_EQUAL(1, setfocus.GetCount()); CPPUNIT_ASSERT(m_window->HasFocus()); wxButton* button = new wxButton(wxTheApp->GetTopWindow(), wxID_ANY); wxYield(); button->SetFocus(); CPPUNIT_ASSERT_EQUAL(1, killfocus.GetCount()); CPPUNIT_ASSERT(!m_window->HasFocus()); #endif }
void WindowTestCase::Focus() { #ifndef __WXOSX__ CPPUNIT_ASSERT(!m_window->HasFocus()); if ( m_window->AcceptsFocus() ) { m_window->SetFocus(); CPPUNIT_ASSERT(m_window->HasFocus()); } //Set the focus back to the main window wxTheApp->GetTopWindow()->SetFocus(); if ( m_window->AcceptsFocusFromKeyboard() ) { m_window->SetFocusFromKbd(); CPPUNIT_ASSERT(m_window->HasFocus()); } #endif }