X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/98363307d3b0c8c4f3182b9a82d7f87ca06a1a82..e6adf05834e880312efa3d59914ecc1d4f5f78a6:/src/univ/framuniv.cpp diff --git a/src/univ/framuniv.cpp b/src/univ/framuniv.cpp index 4ae3912a68..798ac4558d 100644 --- a/src/univ/framuniv.cpp +++ b/src/univ/framuniv.cpp @@ -37,35 +37,27 @@ // implementation // ============================================================================ -BEGIN_EVENT_TABLE(wxFrame, wxFrameNative) +BEGIN_EVENT_TABLE(wxFrame, wxFrameBase) 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, wxTopLevelWindow) // ---------------------------------------------------------------------------- // ctors // ---------------------------------------------------------------------------- -wxFrame::wxFrame() +bool wxFrame::Create(wxWindow *parent, + wxWindowID id, + const wxString& title, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name) { + return wxTopLevelWindow::Create(parent, id, title, pos, size, style, name); } -wxFrame::wxFrame(wxWindow *parent, - wxWindowID id, - const wxString& title, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name) - : wxFrameNative(parent, id, title, pos, size, style, name) -{ - m_renderer = NULL; -} // ---------------------------------------------------------------------------- // menu support @@ -88,15 +80,17 @@ void wxFrame::PositionMenuBar() { // 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, -heightMbar, + GetClientSize().x, heightMbar); } } + #endif // wxUSE_MENUS wxPoint wxFrame::GetClientAreaOrigin() const { - wxPoint pt = wxFrameNative::GetClientAreaOrigin(); + wxPoint pt = wxFrameBase::GetClientAreaOrigin(); #if wxUSE_MENUS if ( m_frameMenuBar ) @@ -108,9 +102,31 @@ wxPoint wxFrame::GetClientAreaOrigin() const return pt; } -bool wxFrame::Enable( bool enable ) +void wxFrame::DoGetClientSize(int *width, int *height) const +{ + wxFrameBase::DoGetClientSize(width, height); +#if wxUSE_MENUS + if ( m_frameMenuBar && height ) + { + (*height) -= m_frameMenuBar->GetSize().y; + } +#endif // wxUSE_MENUS +} + +void wxFrame::DoSetClientSize(int width, int height) +{ +#if wxUSE_MENUS + if ( m_frameMenuBar ) + { + height += m_frameMenuBar->GetSize().y; + } +#endif // wxUSE_MENUS + wxFrameBase::DoSetClientSize(width, height); +} + +bool wxFrame::Enable(bool enable) { - if (!wxFrameNative::Enable(enable)) + if (!wxFrameBase::Enable(enable)) return FALSE; #ifdef __WXMICROWIN__ if (m_frameMenuBar)