don't override GetMinWidth/Height() which are non-virtual any more, override GetMinSize() instead

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-10-29 20:39:31 +00:00
parent adf45b5d48
commit 894057d1dd
4 changed files with 15 additions and 40 deletions

View File

@@ -56,8 +56,7 @@ public:
const wxString& name = wxToolBarNameStr); const wxString& name = wxToolBarNameStr);
#endif // wxUSE_TOOLBAR #endif // wxUSE_TOOLBAR
virtual int GetMinWidth() const; virtual wxSize GetMinSize() const;
virtual int GetMinHeight() const;
// sends wxSizeEvent to itself (used after attaching xxxBar) // sends wxSizeEvent to itself (used after attaching xxxBar)
virtual void SendSizeEvent(); virtual void SendSizeEvent();

View File

@@ -152,8 +152,7 @@ public:
// move/resize the frame interactively, i.e. let the user do it // move/resize the frame interactively, i.e. let the user do it
virtual void InteractiveMove(int flags = wxINTERACTIVE_MOVE); virtual void InteractiveMove(int flags = wxINTERACTIVE_MOVE);
virtual int GetMinWidth() const; virtual wxSize GetMinSize() const;
virtual int GetMinHeight() const;
virtual wxWindow *GetInputWindow() const { return wx_const_cast(wxTopLevelWindow*, this); } virtual wxWindow *GetInputWindow() const { return wx_const_cast(wxTopLevelWindow*, this); }

View File

@@ -285,47 +285,35 @@ void wxFrame::DoSetClientSize(int width, int height)
wxFrameBase::DoSetClientSize(width, height); wxFrameBase::DoSetClientSize(width, height);
} }
int wxFrame::GetMinWidth() const wxSize wxFrame::GetMinSize() const
{ {
#if wxUSE_MENUS wxSize size = wxFrameBase::GetMinSize();
if ( m_frameMenuBar )
{
return wxMax(m_frameMenuBar->GetBestSize().x, wxFrameBase::GetMinWidth());
}
else
#endif // wxUSE_MENUS
return wxFrameBase::GetMinWidth();
}
int wxFrame::GetMinHeight() const
{
int height = 0;
#if wxUSE_MENUS #if wxUSE_MENUS
if ( m_frameMenuBar ) if ( m_frameMenuBar )
{ {
height += m_frameMenuBar->GetSize().y; const wxSize sizeMenu = m_frameMenuBar->GetBestSize();
if ( sizeMenu.x > size.x )
size.x = sizeMenu.x;
size.y += sizeMenu.y;
} }
#endif // wxUSE_MENUS #endif // wxUSE_MENUS
#if wxUSE_TOOLBAR #if wxUSE_TOOLBAR
if ( m_frameToolBar ) if ( m_frameToolBar )
{ {
height += m_frameToolBar->GetSize().y; size.y += m_frameToolBar->GetSize().y;
} }
#endif // wxUSE_TOOLBAR #endif // wxUSE_TOOLBAR
#if wxUSE_STATUSBAR #if wxUSE_STATUSBAR
if ( m_frameStatusBar ) if ( m_frameStatusBar )
{ {
height += m_frameStatusBar->GetSize().y; size.y += m_frameStatusBar->GetSize().y;
} }
#endif // wxUSE_STATUSBAR #endif // wxUSE_STATUSBAR
if ( height ) return size;
return height + wxMax(0, wxFrameBase::GetMinHeight());
else
return wxFrameBase::GetMinHeight();
} }
bool wxFrame::Enable(bool enable) bool wxFrame::Enable(bool enable)

View File

@@ -303,26 +303,15 @@ long wxTopLevelWindow::HitTest(const wxPoint& pt) const
return m_renderer->HitTestFrame(rect, pt+GetClientAreaOrigin(), GetDecorationsStyle()); return m_renderer->HitTestFrame(rect, pt+GetClientAreaOrigin(), GetDecorationsStyle());
} }
int wxTopLevelWindow::GetMinWidth() const wxSize wxTopLevelWindow::GetMinSize() const
{ {
wxSize size = wxTopLevelWindowNative::GetMinSize();
if ( !m_usingNativeDecorations ) if ( !m_usingNativeDecorations )
{ {
return wxMax(wxTopLevelWindowNative::GetMinWidth(), size.IncTo(m_renderer->GetFrameMinSize(GetDecorationsStyle()));
m_renderer->GetFrameMinSize(GetDecorationsStyle()).x);
} }
else
return wxTopLevelWindowNative::GetMinWidth();
}
int wxTopLevelWindow::GetMinHeight() const return size;
{
if ( !m_usingNativeDecorations )
{
return wxMax(wxTopLevelWindowNative::GetMinHeight(),
m_renderer->GetFrameMinSize(GetDecorationsStyle()).y);
}
else
return wxTopLevelWindowNative::GetMinHeight();
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------