]> git.saurik.com Git - wxWidgets.git/commitdiff
don't override GetMinWidth/Height() which are non-virtual any more, override GetMinSi...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 29 Oct 2006 20:39:31 +0000 (20:39 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 29 Oct 2006 20:39:31 +0000 (20:39 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/univ/frame.h
include/wx/univ/toplevel.h
src/univ/framuniv.cpp
src/univ/topluniv.cpp

index 1335647d82422782f8637e0bfccd4b9dd179f6c6..d53d940e1be8d5e60c4d06583f70c0834857d577 100644 (file)
@@ -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();
index 8b451f6ba1276bda41a2875cda73ef069aba0087..3ab4c58d322914ae6e6e1ade85b6aacc3c03a8c8 100644 (file)
@@ -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); }
 
index 53dd59c937a67847abd97be05f55f0991e75f4f2..91c5a9d7eb1b04b4b7d8c2c9ca7a665bfe56bd1b 100644 (file)
@@ -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)
index 89c2cfb0c7d8279f3945a1d54f45c32a6db3212b..fd967417a1af631c903329d7d7cab649dd1bc983 100644 (file)
@@ -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;
 }
 
 // ----------------------------------------------------------------------------