Fixed RefreshRect() call in wxPropertyGrid::DrawItems() to use physical window coordinates instead of logical grid ones

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Jaakko Salli 2010-03-22 16:07:45 +00:00
parent 976e63a7a8
commit e948e2140f
2 changed files with 10 additions and 1 deletions

View File

@ -1433,7 +1433,7 @@ public:
/**
Returns rectangle that fully contains properties between and including
p1 and p2.
p1 and p2. Rectangle is in virtual scrolled window coordinates.
*/
wxRect GetPropertyRect( const wxPGProperty* p1,
const wxPGProperty* p2 ) const;

View File

@ -2530,6 +2530,8 @@ wxRect wxPropertyGrid::GetPropertyRect( const wxPGProperty* p1, const wxPGProper
//
// Return rect which encloses the given property range
// (in logical grid coordinates)
//
int visTop = p1->GetY();
int visBottom;
@ -2572,6 +2574,13 @@ void wxPropertyGrid::DrawItems( const wxPGProperty* p1, const wxPGProperty* p2 )
wxRect r = GetPropertyRect(p1, p2);
if ( r.width > 0 )
{
// Convert rectangle from logical grid coordinates to physical ones
int vx, vy;
GetViewStart(&vx, &vy);
vx *= wxPG_PIXELS_PER_UNIT;
vy *= wxPG_PIXELS_PER_UNIT;
r.x -= vx;
r.y -= vy;
RefreshRect(r);
}
}