X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/255c07b4df512ff4f844f4d604787b5ea8999530..a5655d37db9baabce654849fd66173f95f74e230:/src/common/stattextcmn.cpp diff --git a/src/common/stattextcmn.cpp b/src/common/stattextcmn.cpp index 89d7eb03f2..95ced81a86 100644 --- a/src/common/stattextcmn.cpp +++ b/src/common/stattextcmn.cpp @@ -69,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); @@ -78,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; @@ -127,7 +127,7 @@ protected: virtual void OnNewLine() { - m_text += _T('\n'); + m_text += wxT('\n'); } private: @@ -154,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 @@ -293,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