]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/framuniv.cpp
added conversion to mac native filenames from local filesystem handler
[wxWidgets.git] / src / univ / framuniv.cpp
index 392227d60f68a7a52e2640c12c9776fc2e7904f5..6347d6252e9abe52b7033df3e0efdf37554d2e36 100644 (file)
@@ -41,11 +41,7 @@ BEGIN_EVENT_TABLE(wxFrame, wxFrameNative)
     EVT_SIZE(wxFrame::OnSize)
 END_EVENT_TABLE()
 
-#if defined(__WXMSW__)
-    IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxFrameMSW)
-#elif defined(__WXGTK__)
-    IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxFrameGTK)
-#endif
+IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow)
 
 // ----------------------------------------------------------------------------
 // ctors
@@ -68,29 +64,41 @@ wxFrame::wxFrame(wxWindow *parent,
 }
 
 // ----------------------------------------------------------------------------
-// geometry
+// menu support
 // ----------------------------------------------------------------------------
 
 void wxFrame::OnSize(wxSizeEvent& event)
 {
+#if wxUSE_MENUS
     PositionMenuBar();
+#endif // wxUSE_MENUS
 
     event.Skip();
 }
 
+#if wxUSE_MENUS
+
 void wxFrame::PositionMenuBar()
 {
-#if wxUSE_MENUS
     if ( m_frameMenuBar )
     {
         // the menubar is positioned above the client size, hence the negative
         // y coord
-        m_frameMenuBar->SetSize(0, -m_frameMenuBar->GetSize().y,
-                                GetClientSize().x, -1);
+        wxCoord heightMbar = m_frameMenuBar->GetSize().y;
+        m_frameMenuBar->SetSize(0,
+
+// FIXME: why doesn't this work as expected in wxGTK??
+#ifdef __WXGTK__
+                                0,
+#else
+                                -heightMbar,
+#endif
+                                GetClientSize().x, heightMbar);
     }
-#endif // wxUSE_MENUS
 }
 
+#endif // wxUSE_MENUS
+
 wxPoint wxFrame::GetClientAreaOrigin() const
 {
     wxPoint pt = wxFrameNative::GetClientAreaOrigin();
@@ -105,3 +113,13 @@ wxPoint wxFrame::GetClientAreaOrigin() const
     return pt;
 }
 
+bool wxFrame::Enable( bool enable )
+{
+    if (!wxFrameNative::Enable(enable))
+       return FALSE;
+#ifdef __WXMICROWIN__
+    if (m_frameMenuBar)
+        m_frameMenuBar->Enable(enable);
+#endif
+    return TRUE;
+}