X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe161a2685012cf90bb5bfe95f2260aee71d8ad7..2cdd63c6b1d473ffd7726f619085997b0737952e:/src/common/ctrlcmn.cpp diff --git a/src/common/ctrlcmn.cpp b/src/common/ctrlcmn.cpp index eab0f889f1..36a45a6c15 100644 --- a/src/common/ctrlcmn.cpp +++ b/src/common/ctrlcmn.cpp @@ -68,13 +68,6 @@ bool wxControlBase::Create(wxWindow *parent, return ret; } - -void wxControlBase::Init() -{ - m_adjustMinSize = true; -} - - bool wxControlBase::CreateControl(wxWindowBase *parent, wxWindowID id, const wxPoint& pos, @@ -86,14 +79,14 @@ bool wxControlBase::CreateControl(wxWindowBase *parent, // even if it's possible to create controls without parents in some port, // it should surely be discouraged because it doesn't work at all under // Windows - wxCHECK_MSG( parent, FALSE, wxT("all controls must have parents") ); + wxCHECK_MSG( parent, false, wxT("all controls must have parents") ); if ( !CreateBase(parent, id, pos, size, style, validator, name) ) - return FALSE; + return false; parent->AddChild(this); - return TRUE; + return true; } void wxControlBase::Command(wxCommandEvent& event) @@ -123,22 +116,17 @@ void wxControlBase::InitCommandEvent(wxCommandEvent& event) const } } -void wxControlBase::SetLabel(const wxString& label) + +void wxControlBase::SetLabel( const wxString &label ) { + InvalidateBestSize(); wxWindow::SetLabel(label); - if (GetAdjustMinSizeFlag()) - SetBestSize(wxDefaultSize); } - bool wxControlBase::SetFont(const wxFont& font) { - bool ret = wxWindow::SetFont(font); - - if (GetAdjustMinSizeFlag()) - SetBestSize(wxDefaultSize); - - return ret; + InvalidateBestSize(); + return wxWindow::SetFont(font); } // ---------------------------------------------------------------------------- @@ -154,12 +142,15 @@ wxStaticBitmapBase::~wxStaticBitmapBase() wxSize wxStaticBitmapBase::DoGetBestSize() const { + wxSize best; wxBitmap bmp = GetBitmap(); if ( bmp.Ok() ) - return wxSize(bmp.GetWidth(), bmp.GetHeight()); - - // this is completely arbitrary - return wxSize(16, 16); + best = wxSize(bmp.GetWidth(), bmp.GetHeight()); + else + // this is completely arbitrary + best = wxSize(16, 16); + CacheBestSize(best); + return best; } #endif // wxUSE_STATBMP