Added a simple unit test for wxWindow::ClientToScreen().
Check that this function works consistently for the TLW and its children and grand-children. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
ab45fb147b
commit
44040e5eca
@ -29,6 +29,8 @@
|
||||
#include "wx/clipbrd.h"
|
||||
#include "wx/dataobj.h"
|
||||
|
||||
#include "asserthelper.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// test class
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -43,12 +45,14 @@ private:
|
||||
CPPUNIT_TEST( DisplaySize );
|
||||
CPPUNIT_TEST( URLDataObject );
|
||||
CPPUNIT_TEST( ParseFileDialogFilter );
|
||||
CPPUNIT_TEST( ClientToScreen );
|
||||
CPPUNIT_TEST( FindWindowAtPoint );
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
|
||||
void DisplaySize();
|
||||
void URLDataObject();
|
||||
void ParseFileDialogFilter();
|
||||
void ClientToScreen();
|
||||
void FindWindowAtPoint();
|
||||
|
||||
DECLARE_NO_COPY_CLASS(MiscGUIFuncsTestCase)
|
||||
@ -134,6 +138,39 @@ void MiscGUIFuncsTestCase::ParseFileDialogFilter()
|
||||
);
|
||||
}
|
||||
|
||||
void MiscGUIFuncsTestCase::ClientToScreen()
|
||||
{
|
||||
wxWindow* const tlw = wxTheApp->GetTopWindow();
|
||||
CPPUNIT_ASSERT( tlw );
|
||||
|
||||
wxPanel* const
|
||||
p1 = new wxPanel(tlw, wxID_ANY, wxPoint(0, 0), wxSize(100, 50));
|
||||
wxPanel* const
|
||||
p2 = new wxPanel(tlw, wxID_ANY, wxPoint(0, 50), wxSize(100, 50));
|
||||
wxWindow* const
|
||||
b = new wxWindow(p2, wxID_ANY, wxPoint(10, 10), wxSize(30, 10));
|
||||
|
||||
// We need this to realize the windows created above under wxGTK.
|
||||
wxYield();
|
||||
|
||||
const wxPoint tlwOrig = tlw->ClientToScreen(wxPoint(0, 0));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL
|
||||
(
|
||||
tlwOrig + wxPoint(0, 50),
|
||||
p2->ClientToScreen(wxPoint(0, 0))
|
||||
);
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL
|
||||
(
|
||||
tlwOrig + wxPoint(10, 60),
|
||||
b->ClientToScreen(wxPoint(0, 0))
|
||||
);
|
||||
|
||||
p1->Destroy();
|
||||
p2->Destroy();
|
||||
}
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user