]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/framuniv.cpp
wxX11:
[wxWidgets.git] / src / univ / framuniv.cpp
index 08ccc26c63e7120a78d782b3c5f7ab4b896d564f..ae8f7cf2215844541a742efe64c9d444b716f7b6 100644 (file)
@@ -96,6 +96,7 @@ void wxFrame::PositionMenuBar()
         // the menubar is positioned above the client size, hence the negative
         // y coord
         wxCoord heightMbar = m_frameMenuBar->GetSize().y;
+
         m_frameMenuBar->SetSize(0, 
 #ifdef __WXPM__         // FIXME -- remove this, make wxOS2/Univ behave as
                  //          the rest of the world!!!
@@ -263,6 +264,49 @@ void wxFrame::DoSetClientSize(int width, int height)
     wxFrameBase::DoSetClientSize(width, height);
 }
 
+int wxFrame::GetMinWidth() 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;
+
+#if wxUSE_MENUS
+    if ( m_frameMenuBar )
+    {
+        height += m_frameMenuBar->GetSize().y;
+    }
+#endif // wxUSE_MENUS
+
+#if wxUSE_TOOLBAR
+    if ( m_frameToolBar )
+    {
+        height += m_frameToolBar->GetSize().y;
+    }
+#endif // wxUSE_TOOLBAR
+
+#if wxUSE_STATUSBAR
+    if ( m_frameStatusBar )
+    {
+        height += m_frameStatusBar->GetSize().y;
+    }
+#endif // wxUSE_STATUSBAR
+    
+    if ( height )
+        return height + wxMax(0, wxFrameBase::GetMinHeight());
+    else
+        return wxFrameBase::GetMinHeight();
+}
+
 bool wxFrame::Enable(bool enable)
 {
     if (!wxFrameBase::Enable(enable))