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()
|
// common part of Iconize(), Maximize() and Restore()
|
||||||
void DoShowWindow(int nShowCmd);
|
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
|
// get the MSW window flags corresponding to wxWindows ones
|
||||||
//
|
//
|
||||||
// the functions returns the flags (WS_XXX) directly and puts the ext
|
// 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
|
#endif // wxUSE_STATUSBAR
|
||||||
|
|
||||||
|
// call GetClientAreaOrigin() to take the toolbar into account
|
||||||
|
wxPoint pt = GetClientAreaOrigin();
|
||||||
|
width += pt.x;
|
||||||
|
height += pt.y;
|
||||||
|
|
||||||
wxTopLevelWindow::DoSetClientSize(width, height);
|
wxTopLevelWindow::DoSetClientSize(width, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -165,6 +170,14 @@ void wxFrame::DoGetClientSize(int *x, int *y) const
|
|||||||
{
|
{
|
||||||
wxTopLevelWindow::DoGetClientSize(x, y);
|
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
|
#if wxUSE_STATUSBAR
|
||||||
// adjust client area height to take the status bar into account
|
// adjust client area height to take the status bar into account
|
||||||
if ( y )
|
if ( y )
|
||||||
|
@@ -170,8 +170,8 @@ long wxTopLevelWindowMSW::MSWGetCreateWindowFlags(long *exflags) const
|
|||||||
*exflags |= WS_EX_TOPMOST;
|
*exflags |= WS_EX_TOPMOST;
|
||||||
|
|
||||||
#ifdef __WIN32__
|
#ifdef __WIN32__
|
||||||
if ( m_exStyle & wxFRAME_EX_CONTEXTHELP )
|
if ( m_exStyle & wxFRAME_EX_CONTEXTHELP )
|
||||||
*exflags |= WS_EX_CONTEXTHELP;
|
*exflags |= WS_EX_CONTEXTHELP;
|
||||||
#endif // __WIN32__
|
#endif // __WIN32__
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -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
|
// wxTopLevelWindowMSW showing
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user