fixed setting colour of wxStaticText in case the label contains XML special characters

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2004-06-27 13:42:17 +00:00
parent 1dbeee5774
commit 66bd83b4ec
6 changed files with 100 additions and 14 deletions

View File

@@ -132,19 +132,20 @@ void wxStaticText::SetLabel( const wxString &label )
#ifdef __WXGTK20__
// Build the colorized version of the label (markup only allowed
// under GTK2):
wxString colorlabel = label;
// If the color has been set, create a markup string to pass to
// the label setter
if (m_foregroundColour.Ok())
{
// If the color has been set, create a markup string to pass to
// the label setter
wxString colorlabel;
colorlabel.Printf(_T("<span foreground=\"#%02x%02x%02x\">%s</span>"),
m_foregroundColour.Red(), m_foregroundColour.Green(),
m_foregroundColour.Blue(), label.c_str());
m_foregroundColour.Blue(),
wxEscapeStringForPangoMarkup(label).c_str());
gtk_label_set_markup( GTK_LABEL(m_widget), wxGTK_CONV( colorlabel ) );
}
gtk_label_set_markup( GTK_LABEL(m_widget), wxGTK_CONV( colorlabel ) );
else
#else
gtk_label_set( GTK_LABEL(m_widget), wxGTK_CONV( m_label ) );
gtk_label_set( GTK_LABEL(m_widget), wxGTK_CONV( m_label ) );
#endif
// adjust the label size to the new label unless disabled