X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/41ce5eff753793c44801ab162b028027ba124a28..66f75561893ea7b4bf429d1882d9cc0407ba932d:/src/common/stattextcmn.cpp diff --git a/src/common/stattextcmn.cpp b/src/common/stattextcmn.cpp index 9558d2dfdd..a29445d7b1 100644 --- a/src/common/stattextcmn.cpp +++ b/src/common/stattextcmn.cpp @@ -24,6 +24,7 @@ #pragma hdrstop #endif +#include "wx/textwrapper.h" #include "wx/private/stattext.h" #ifndef WX_PRECOMP @@ -68,7 +69,7 @@ void wxTextWrapper::Wrap(wxWindow *win, const wxString& text, int widthMax) lineStart = p; } - if ( p == text.end() || *p == _T('\n') ) + if ( p == text.end() || *p == wxT('\n') ) { DoOutputLine(line); @@ -77,7 +78,7 @@ void wxTextWrapper::Wrap(wxWindow *win, const wxString& text, int widthMax) } else // not EOL { - if ( *p == _T(' ') ) + if ( *p == wxT(' ') ) lastSpace = p; line += *p; @@ -126,7 +127,7 @@ protected: virtual void OnNewLine() { - m_text += _T('\n'); + m_text += wxT('\n'); } private: @@ -153,15 +154,28 @@ wxString wxStaticTextBase::GetLabelText() const return RemoveMnemonics(ret); } -/*static*/ +void wxStaticTextBase::SetLabelText(const wxString& text) +{ + wxString str = text; + + if (HasFlag(wxST_MARKUP)) + str = EscapeMarkup(str); // escapes markup and the & characters (which are also mnemonics) + else + str = EscapeMnemonics(text); // escape only the mnemonics + SetLabel(str); +} + +/* static */ wxString wxStaticTextBase::GetLabelText(const wxString& label) { - // remove markup wxString ret = RemoveMarkup(label); + // always remove the markup (this function is static + // and cannot check for wxST_MARKUP presence/absence) + return RemoveMnemonics(ret); } -/*static*/ +/* static */ wxString wxStaticTextBase::RemoveMarkup(const wxString& text) { // strip out of "text" the markup for platforms which don't support it natively @@ -292,6 +306,17 @@ void wxStaticTextBase::UpdateLabel() DoSetLabel(newlabel); } +wxString wxStaticTextBase::GetLabelWithoutMarkup() const +{ + wxString ret(m_labelOrig); + + if (HasFlag(wxST_MARKUP)) + ret = RemoveMarkup(ret); + + // unlike GetLabelText() we don't remove the mnemonics here! + return ret; +} + wxString wxStaticTextBase::GetEllipsizedLabelWithoutMarkup() const { // this function should be used only by ports which do not support