Override AdjustForParentClientOrigin() in wxNonOwnedWindow to do nothing.

No real changes, just replace an IsTopLevel() check in the base class
implementation of AdjustForParentClientOrigin() and override it for all top
level windows in wxNonOwnedWindow instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2012-03-05 13:00:55 +00:00
parent c6907dcd41
commit bddea8d14f
2 changed files with 16 additions and 10 deletions

View File

@ -58,6 +58,17 @@ public:
}
#endif // wxUSE_GRAPHICS_CONTEXT
// Overridden base class methods.
// ------------------------------
virtual void AdjustForParentClientOrigin(int& WXUNUSED(x), int& WXUNUSED(y),
int WXUNUSED(sizeFlags) = 0) const
{
// Non owned windows positions don't need to be adjusted for parent
// client area origin so simply do nothing here.
}
protected:
virtual bool DoClearShape()
{

View File

@ -2607,17 +2607,12 @@ void wxWindowBase::GetPositionConstraint(int *x, int *y) const
void wxWindowBase::AdjustForParentClientOrigin(int& x, int& y, int sizeFlags) const
{
// don't do it for the dialogs/frames - they float independently of their
// parent
if ( !IsTopLevel() )
wxWindow *parent = GetParent();
if ( !(sizeFlags & wxSIZE_NO_ADJUSTMENTS) && parent )
{
wxWindow *parent = GetParent();
if ( !(sizeFlags & wxSIZE_NO_ADJUSTMENTS) && parent )
{
wxPoint pt(parent->GetClientAreaOrigin());
x += pt.x;
y += pt.y;
}
wxPoint pt(parent->GetClientAreaOrigin());
x += pt.x;
y += pt.y;
}
}