]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/framuniv.cpp
bug fix for vista in multi-selection tree
[wxWidgets.git] / src / univ / framuniv.cpp
index 2ce9b25aa46c9ee5941f8547be4aa4be2913f900..91c5a9d7eb1b04b4b7d8c2c9ca7a665bfe56bd1b 100644 (file)
@@ -49,12 +49,12 @@ IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxTopLevelWindow)
 // ----------------------------------------------------------------------------
 
 bool wxFrame::Create(wxWindow *parent,
 // ----------------------------------------------------------------------------
 
 bool wxFrame::Create(wxWindow *parent,
-                wxWindowID id,
-                const wxString& title,
-                const wxPoint& pos,
-                const wxSize& size,
-                long style,
-                const wxString& name)
+                     wxWindowID id,
+                     const wxString& title,
+                     const wxPoint& pos,
+                     const wxSize& size,
+                     long style,
+                     const wxString& name)
 {
     if ( !wxTopLevelWindow::Create(parent, id, title, pos, size, style, name) )
         return false;
 {
     if ( !wxTopLevelWindow::Create(parent, id, title, pos, size, style, name) )
         return false;
@@ -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
-    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 )
     {
 
 #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 )
     {
     }
 #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 )
     {
     }
 #endif // wxUSE_TOOLBAR
 
 #if wxUSE_STATUSBAR
     if ( m_frameStatusBar )
     {
-        height += m_frameStatusBar->GetSize().y;
+        size.y += m_frameStatusBar->GetSize().y;
     }
 #endif // wxUSE_STATUSBAR
 
     }
 #endif // wxUSE_STATUSBAR
 
-    if ( height )
-        return height + wxMax(0, wxFrameBase::GetMinHeight());
-    else
-        return wxFrameBase::GetMinHeight();
+    return size;
 }
 
 bool wxFrame::Enable(bool enable)
 }
 
 bool wxFrame::Enable(bool enable)