make wxWindow::SetAutoLayout() now works for all windows, not just panels

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-05-23 11:26:58 +00:00
parent 112d941fe1
commit 6528a7f145
7 changed files with 28 additions and 55 deletions

View File

@@ -88,8 +88,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxPanel, wxWindow)
#endif
BEGIN_EVENT_TABLE(wxPanel, wxWindow)
EVT_SIZE(wxPanel::OnSize)
WX_EVENT_TABLE_CONTROL_CONTAINER(wxPanel)
END_EVENT_TABLE()
@@ -139,42 +137,3 @@ void wxPanel::InitDialog()
GetEventHandler()->ProcessEvent(event);
}
// ----------------------------------------------------------------------------
// event handlers
// ----------------------------------------------------------------------------
void wxPanel::OnSize(wxSizeEvent& event)
{
if (GetAutoLayout())
Layout();
#if wxUSE_CONSTRAINTS
#if defined(__WXPM__) && 0
else
{
// Need to properly move child windows under OS/2
PSWP pWinSwp = GetSwp();
if (pWinSwp->cx == 0 && pWinSwp->cy == 0 && pWinSwp->fl == 0)
{
// Uninitialized
::WinQueryWindowPos(GetHWND(), pWinSwp);
}
else
{
SWP vSwp;
int nYDiff;
::WinQueryWindowPos(GetHWND(), &vSwp);
nYDiff = pWinSwp->cy - vSwp.cy;
MoveChildren(nYDiff);
pWinSwp->cx = vSwp.cx;
pWinSwp->cy = vSwp.cy;
}
}
#endif
#endif // wxUSE_CONSTRAINTS
event.Skip();
}