X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a074f61eae458e21b1b42f3381ac2c96d1704b97..cc5de8fe047e00cf3fbaa16b3a02a9aac7caf16e:/src/mac/carbon/stattext.cpp?ds=sidebyside diff --git a/src/mac/carbon/stattext.cpp b/src/mac/carbon/stattext.cpp index 3cb7739700..21ed1ed771 100644 --- a/src/mac/carbon/stattext.cpp +++ b/src/mac/carbon/stattext.cpp @@ -13,14 +13,18 @@ #if wxUSE_STATTEXT -#include "wx/app.h" #include "wx/stattext.h" + +#ifndef WX_PRECOMP + #include "wx/app.h" + #include "wx/utils.h" + #include "wx/dc.h" + #include "wx/dcclient.h" + #include "wx/settings.h" +#endif // WX_PRECOMP + #include "wx/notebook.h" #include "wx/tabctrl.h" -#include "wx/dc.h" -#include "wx/dcclient.h" -#include "wx/utils.h" -#include "wx/settings.h" #include "wx/mac/uma.h" @@ -39,7 +43,7 @@ bool wxStaticText::Create( wxWindow *parent, { m_macIsUserPane = false; - m_label = wxStripMenuCodes( label ); + m_label = GetLabelText( label ); if ( !wxControl::Create( parent, id, pos, size, style, wxDefaultValidator, name ) ) return false; @@ -81,24 +85,32 @@ wxSize wxStaticText::DoGetBestSize() const if ( m_font.MacGetThemeFontID() != kThemeCurrentPortFont ) { err = GetThemeTextDimensions( - (m_label.Length() > 0 ? (CFStringRef)str : CFSTR(" ")), + (!m_label.empty() ? (CFStringRef)str : CFSTR(" ")), m_font.MacGetThemeFontID(), kThemeStateActive, false, &bounds, &baseline ); verify_noerr( err ); } else { +#if wxMAC_USE_CORE_GRAPHICS + wxClientDC dc(const_cast(this)); + wxCoord width, height ; + dc.GetTextExtent( m_label , &width, &height); + bounds.h = width; + bounds.v = height; +#else wxMacWindowStateSaver sv( this ); ::TextFont( m_font.MacGetFontNum() ); ::TextSize( (short)(m_font.MacGetFontSize()) ); ::TextFace( m_font.MacGetFontStyle() ); err = GetThemeTextDimensions( - (m_label.Length() > 0 ? (CFStringRef)str : CFSTR(" ")), + (!m_label.empty() ? (CFStringRef)str : CFSTR(" ")), kThemeCurrentPortFont, kThemeStateActive, false, &bounds, &baseline ); verify_noerr( err ); +#endif } - if ( m_label.Length() == 0 ) + if ( m_label.empty() ) bounds.h = 0; bounds.h += MacGetLeftBorderSize() + MacGetRightBorderSize(); @@ -109,7 +121,7 @@ wxSize wxStaticText::DoGetBestSize() const void wxStaticText::SetLabel( const wxString& st ) { - m_label = wxStripMenuCodes( st ); + m_label = GetLabelText( st ); wxMacCFStringHolder str( m_label, m_font.GetEncoding() ); CFStringRef ref = str; @@ -145,4 +157,3 @@ bool wxStaticText::SetFont(const wxFont& font) } #endif //if wxUSE_STATTEXT -