X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1169a91932273bc84c23ed9dbd0a2da064d59d66..e0176dd9fb716ad0a1a8804f0a93e16048f09054:/src/common/ctrlcmn.cpp?ds=sidebyside diff --git a/src/common/ctrlcmn.cpp b/src/common/ctrlcmn.cpp index 4bddbffcea..437aea4a0a 100644 --- a/src/common/ctrlcmn.cpp +++ b/src/common/ctrlcmn.cpp @@ -5,7 +5,7 @@ // Modified by: // Created: 26.07.99 // RCS-ID: $Id$ -// Copyright: (c) wxWindows team +// Copyright: (c) wxWidgets team // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -45,10 +45,6 @@ // implementation // ============================================================================ -wxControlBase::wxControlBase() -{ -} - wxControlBase::~wxControlBase() { // this destructor is required for Darwin @@ -93,29 +89,6 @@ bool wxControlBase::CreateControl(wxWindowBase *parent, return TRUE; } -// inherit colour and font settings from the parent window -void wxControlBase::InheritAttributes() -{ - if ( ShouldInheritColours() ) - { - wxWindow *parent = GetParent(); - - wxCHECK_RET( parent, _T("a control without parent?") ); - - SetBackgroundColour(parent->GetBackgroundColour()); - SetForegroundColour(parent->GetForegroundColour()); - } - -#ifdef __WXPM__ - // - // All OS/2 ctrls use the small font - // - SetFont(*wxSMALL_FONT); -#else - SetFont(GetParent()->GetFont()); -#endif -} - void wxControlBase::Command(wxCommandEvent& event) { (void)GetEventHandler()->ProcessEvent(event); @@ -143,6 +116,19 @@ void wxControlBase::InitCommandEvent(wxCommandEvent& event) const } } + +void wxControlBase::SetLabel( const wxString &label ) +{ + InvalidateBestSize(); + wxWindow::SetLabel(label); +} + +bool wxControlBase::SetFont(const wxFont& font) +{ + InvalidateBestSize(); + return wxWindow::SetFont(font); +} + // ---------------------------------------------------------------------------- // wxStaticBitmap // ---------------------------------------------------------------------------- @@ -154,14 +140,17 @@ wxStaticBitmapBase::~wxStaticBitmapBase() // this destructor is required for Darwin } -wxSize wxStaticBitmapBase::DoGetBestClientSize() const +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