X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a83f860948059b0273b5cc6d9e43fadad3ebfca..d67e4ac4c2c5e8719a4704cee2025901b778793f:/src/common/stattextcmn.cpp diff --git a/src/common/stattextcmn.cpp b/src/common/stattextcmn.cpp index e9a22fd8f5..95ced81a86 100644 --- a/src/common/stattextcmn.cpp +++ b/src/common/stattextcmn.cpp @@ -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