moved toolbar adjustments for the client size from wxTLWMSW to wxFrameMSW to fix problems in wxUniv
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -88,10 +88,6 @@ protected:
|
||||
// common part of Iconize(), Maximize() and Restore()
|
||||
void DoShowWindow(int nShowCmd);
|
||||
|
||||
// implement the geometry-related methods for a top level window
|
||||
virtual void DoSetClientSize(int width, int height);
|
||||
virtual void DoGetClientSize(int *width, int *height) const;
|
||||
|
||||
// get the MSW window flags corresponding to wxWindows ones
|
||||
//
|
||||
// the functions returns the flags (WS_XXX) directly and puts the ext
|
||||
|
@@ -157,6 +157,11 @@ void wxFrame::DoSetClientSize(int width, int height)
|
||||
}
|
||||
#endif // wxUSE_STATUSBAR
|
||||
|
||||
// call GetClientAreaOrigin() to take the toolbar into account
|
||||
wxPoint pt = GetClientAreaOrigin();
|
||||
width += pt.x;
|
||||
height += pt.y;
|
||||
|
||||
wxTopLevelWindow::DoSetClientSize(width, height);
|
||||
}
|
||||
|
||||
@@ -165,6 +170,14 @@ void wxFrame::DoGetClientSize(int *x, int *y) const
|
||||
{
|
||||
wxTopLevelWindow::DoGetClientSize(x, y);
|
||||
|
||||
// account for the possible toolbar
|
||||
wxPoint pt = GetClientAreaOrigin();
|
||||
if ( x )
|
||||
*x -= pt.x;
|
||||
|
||||
if ( y )
|
||||
*y -= pt.y;
|
||||
|
||||
#if wxUSE_STATUSBAR
|
||||
// adjust client area height to take the status bar into account
|
||||
if ( y )
|
||||
|
@@ -386,33 +386,6 @@ wxTopLevelWindowMSW::~wxTopLevelWindowMSW()
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxTopLevelWindowMSW client size
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
void wxTopLevelWindowMSW::DoSetClientSize(int width, int height)
|
||||
{
|
||||
// call GetClientAreaOrigin() to take the toolbar into account
|
||||
wxPoint pt = GetClientAreaOrigin();
|
||||
width += pt.x;
|
||||
height += pt.y;
|
||||
|
||||
wxWindow::DoSetClientSize(width, height);
|
||||
}
|
||||
|
||||
void wxTopLevelWindowMSW::DoGetClientSize(int *x, int *y) const
|
||||
{
|
||||
wxWindow::DoGetClientSize(x, y);
|
||||
|
||||
wxPoint pt = GetClientAreaOrigin();
|
||||
|
||||
if ( x )
|
||||
*x -= pt.x;
|
||||
|
||||
if ( y )
|
||||
*y -= pt.y;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxTopLevelWindowMSW showing
|
||||
// ----------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user