X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/afad4a880e65b7a496c03e09b71c40772c816004..d2e66707deb10dea6f92e3e4092f8a43ef942a5d:/src/univ/framuniv.cpp diff --git a/src/univ/framuniv.cpp b/src/univ/framuniv.cpp index 7f179b0eee..01076f3e65 100644 --- a/src/univ/framuniv.cpp +++ b/src/univ/framuniv.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: univ/frame.cpp +// Name: src/univ/framuniv.cpp // Purpose: wxFrame class for wxUniversal // Author: Vadim Zeitlin // Modified by: @@ -17,10 +17,6 @@ // headers // --------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "univframe.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -28,9 +24,10 @@ #pragma hdrstop #endif - #include "wx/menu.h" +#include "wx/frame.h" + #ifndef WX_PRECOMP - #include "wx/frame.h" + #include "wx/menu.h" #include "wx/statusbr.h" #include "wx/settings.h" #include "wx/toolbar.h" @@ -45,19 +42,17 @@ BEGIN_EVENT_TABLE(wxFrame, wxFrameBase) EVT_SYS_COLOUR_CHANGED(wxFrame::OnSysColourChanged) END_EVENT_TABLE() -IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxTopLevelWindow) - // ---------------------------------------------------------------------------- // ctors // ---------------------------------------------------------------------------- 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; @@ -95,13 +90,6 @@ void wxFrame::OnSize(wxSizeEvent& event) event.Skip(); } -void wxFrame::SendSizeEvent() -{ - wxSizeEvent event(GetSize(), GetId()); - event.SetEventObject(this); - GetEventHandler()->ProcessEvent(event); -} - #if wxUSE_MENUS void wxFrame::PositionMenuBar() @@ -274,10 +262,6 @@ void wxFrame::DoSetClientSize(int width, int height) #if wxUSE_TOOLBAR if ( m_frameToolBar ) { -#if wxUSE_STATUSBAR - height += m_frameStatusBar->GetSize().y; -#endif // wxUSE_STATUSBAR - if ( m_frameToolBar->GetWindowStyleFlag() & wxTB_VERTICAL ) width += m_frameToolBar->GetSize().x; else @@ -288,47 +272,35 @@ void wxFrame::DoSetClientSize(int width, int 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 ) { - 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 ) { - height += m_frameToolBar->GetSize().y; + size.y += m_frameToolBar->GetSize().y; } #endif // wxUSE_TOOLBAR #if wxUSE_STATUSBAR if ( m_frameStatusBar ) { - height += m_frameStatusBar->GetSize().y; + size.y += m_frameStatusBar->GetSize().y; } #endif // wxUSE_STATUSBAR - if ( height ) - return height + wxMax(0, wxFrameBase::GetMinHeight()); - else - return wxFrameBase::GetMinHeight(); + return size; } bool wxFrame::Enable(bool enable)