X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..b838cfc9151aea38402ad2b1ba5d2f97cf94e973:/src/univ/framuniv.cpp diff --git a/src/univ/framuniv.cpp b/src/univ/framuniv.cpp index b55c96ae49..6347d6252e 100644 --- a/src/univ/framuniv.cpp +++ b/src/univ/framuniv.cpp @@ -5,7 +5,7 @@ // Modified by: // Created: 19.05.01 // RCS-ID: $Id$ -// Copyright: (c) 2001 Vadim Zeitlin +// Copyright: (c) 2001 SciTech Software, Inc. (www.scitechsoft.com) // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -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; +}