X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/584bede0618774ad7f62476c9adddeb9776fb737..31a06b07cce898a22d0ca3992501e85da9c22f13:/src/mac/stattext.cpp diff --git a/src/mac/stattext.cpp b/src/mac/stattext.cpp index 68e1453ba8..d364a2c5be 100644 --- a/src/mac/stattext.cpp +++ b/src/mac/stattext.cpp @@ -23,10 +23,10 @@ #include #if !USE_SHARED_LIBRARY -IMPLEMENT_DYNAMIC_CLASS(wxStaticText, wxStaticTextBase) +IMPLEMENT_DYNAMIC_CLASS(wxStaticText, wxControl) #endif -#include +#include "wx/mac/uma.h" BEGIN_EVENT_TABLE(wxStaticText, wxStaticTextBase) EVT_PAINT(wxStaticText::OnPaint) @@ -189,14 +189,17 @@ void wxStaticText::OnPaint( wxPaintEvent &event ) wxSize wxStaticText::DoGetBestSize() const { - int x , y ; - int widthTextMax = 0, widthLine, + int x,y ; + int widthTextMax = 0, widthLine, heightTextTotal = 0, heightLineDefault = 0, heightLine = 0; - + wxString curLine; - for ( const wxChar *pc = m_label; ; pc++ ) { - if ( *pc == wxT('\n') || *pc == wxT('\0') ) { - if ( !curLine ) { + for ( const wxChar *pc = m_label; ; pc++ ) + { + if ( *pc == wxT('\n') || *pc == wxT('\0') ) + { + if ( !curLine ) + { // we can't use GetTextExtent - it will return 0 for both width // and height and an empty line should count in height // calculation @@ -206,12 +209,17 @@ wxSize wxStaticText::DoGetBestSize() const GetTextExtent(_T("W"), NULL, &heightLineDefault); heightTextTotal += heightLineDefault; + + heightTextTotal++; // FIXME: why is this necessary? } - else { + else + { GetTextExtent(curLine, &widthLine, &heightLine); if ( widthLine > widthTextMax ) widthTextMax = widthLine; heightTextTotal += heightLine; + + heightTextTotal++; // FIXME: why is this necessary? } if ( *pc == wxT('\n') ) {