From 894057d1dd154ad2ee06e911eef818c52789a576 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 29 Oct 2006 20:39:31 +0000 Subject: [PATCH] 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 --- include/wx/univ/frame.h | 3 +-- include/wx/univ/toplevel.h | 3 +-- src/univ/framuniv.cpp | 30 +++++++++--------------------- src/univ/topluniv.cpp | 19 ++++--------------- 4 files changed, 15 insertions(+), 40 deletions(-) diff --git a/include/wx/univ/frame.h b/include/wx/univ/frame.h index 1335647d82..d53d940e1b 100644 --- a/include/wx/univ/frame.h +++ b/include/wx/univ/frame.h @@ -56,8 +56,7 @@ public: 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(); diff --git a/include/wx/univ/toplevel.h b/include/wx/univ/toplevel.h index 8b451f6ba1..3ab4c58d32 100644 --- a/include/wx/univ/toplevel.h +++ b/include/wx/univ/toplevel.h @@ -152,8 +152,7 @@ public: // 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); } diff --git a/src/univ/framuniv.cpp b/src/univ/framuniv.cpp index 53dd59c937..91c5a9d7eb 100644 --- a/src/univ/framuniv.cpp +++ b/src/univ/framuniv.cpp @@ -285,47 +285,35 @@ void wxFrame::DoSetClientSize(int width, int height) 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) diff --git a/src/univ/topluniv.cpp b/src/univ/topluniv.cpp index 89c2cfb0c7..fd967417a1 100644 --- a/src/univ/topluniv.cpp +++ b/src/univ/topluniv.cpp @@ -303,26 +303,15 @@ long wxTopLevelWindow::HitTest(const wxPoint& pt) const 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; } // ---------------------------------------------------------------------------- -- 2.45.2