From: Robert Roebling Date: Mon, 16 Jul 2001 08:20:13 +0000 (+0000) Subject: Added symptomatic fix to wrong height in wxStaticText. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/1348e1a5d9c2872a0c29a9cd3d1a4a35c998eeae Added symptomatic fix to wrong height in wxStaticText. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/mac/carbon/stattext.cpp b/src/mac/carbon/stattext.cpp index 6439400bf3..86c4fd7158 100644 --- a/src/mac/carbon/stattext.cpp +++ b/src/mac/carbon/stattext.cpp @@ -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') ) { diff --git a/src/mac/stattext.cpp b/src/mac/stattext.cpp index 6439400bf3..86c4fd7158 100644 --- a/src/mac/stattext.cpp +++ b/src/mac/stattext.cpp @@ -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') ) {