const wxString& name = wxToolBarNameStr);
#endif // wxUSE_TOOLBAR
- virtual int GetMinWidth() const;
- virtual int GetMinHeight() const;
+ virtual wxSize GetMinSize() const;
// sends wxSizeEvent to itself (used after attaching xxxBar)
virtual void SendSizeEvent();
// move/resize the frame interactively, i.e. let the user do it
virtual void InteractiveMove(int flags = wxINTERACTIVE_MOVE);
- virtual int GetMinWidth() const;
- virtual int GetMinHeight() const;
+ virtual wxSize GetMinSize() const;
virtual wxWindow *GetInputWindow() const { return wx_const_cast(wxTopLevelWindow*, this); }
wxFrameBase::DoSetClientSize(width, height);
}
-int wxFrame::GetMinWidth() const
+wxSize wxFrame::GetMinSize() const
{
-#if wxUSE_MENUS
- 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;
+ wxSize size = wxFrameBase::GetMinSize();
#if wxUSE_MENUS
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
#if wxUSE_TOOLBAR
if ( m_frameToolBar )
{
- height += m_frameToolBar->GetSize().y;
+ size.y += m_frameToolBar->GetSize().y;
}
#endif // wxUSE_TOOLBAR
#if wxUSE_STATUSBAR
if ( m_frameStatusBar )
{
- height += m_frameStatusBar->GetSize().y;
+ size.y += m_frameStatusBar->GetSize().y;
}
#endif // wxUSE_STATUSBAR
- if ( height )
- return height + wxMax(0, wxFrameBase::GetMinHeight());
- else
- return wxFrameBase::GetMinHeight();
+ return size;
}
bool wxFrame::Enable(bool enable)
return m_renderer->HitTestFrame(rect, pt+GetClientAreaOrigin(), GetDecorationsStyle());
}
-int wxTopLevelWindow::GetMinWidth() const
+wxSize wxTopLevelWindow::GetMinSize() const
{
+ wxSize size = wxTopLevelWindowNative::GetMinSize();
if ( !m_usingNativeDecorations )
{
- return wxMax(wxTopLevelWindowNative::GetMinWidth(),
- m_renderer->GetFrameMinSize(GetDecorationsStyle()).x);
+ size.IncTo(m_renderer->GetFrameMinSize(GetDecorationsStyle()));
}
- else
- return wxTopLevelWindowNative::GetMinWidth();
-}
-int wxTopLevelWindow::GetMinHeight() const
-{
- if ( !m_usingNativeDecorations )
- {
- return wxMax(wxTopLevelWindowNative::GetMinHeight(),
- m_renderer->GetFrameMinSize(GetDecorationsStyle()).y);
- }
- else
- return wxTopLevelWindowNative::GetMinHeight();
+ return size;
}
// ----------------------------------------------------------------------------