added support for underlined fonts
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -21,8 +21,15 @@ Major new features in this release
|
|||||||
2.9.0
|
2.9.0
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
All:
|
||||||
|
|
||||||
- Added wxSizerFlags::Top() and Bottom()
|
- Added wxSizerFlags::Top() and Bottom()
|
||||||
|
|
||||||
|
wxGTK:
|
||||||
|
|
||||||
|
- Implemented support for underlined fonts in wxStaticText
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2.8.2
|
2.8.2
|
||||||
-----
|
-----
|
||||||
|
@@ -129,8 +129,34 @@ void wxStaticText::SetLabel( const wxString &label )
|
|||||||
|
|
||||||
bool wxStaticText::SetFont( const wxFont &font )
|
bool wxStaticText::SetFont( const wxFont &font )
|
||||||
{
|
{
|
||||||
|
const bool wasUnderlined = GetFont().GetUnderlined();
|
||||||
|
|
||||||
bool ret = wxControl::SetFont(font);
|
bool ret = wxControl::SetFont(font);
|
||||||
|
|
||||||
|
if ( font.GetUnderlined() != wasUnderlined )
|
||||||
|
{
|
||||||
|
// the underlines for mnemonics are incompatible with using attributes
|
||||||
|
// so turn them off when setting underlined font and restore them when
|
||||||
|
// unsetting it
|
||||||
|
gtk_label_set_use_underline(GTK_LABEL(m_widget), wasUnderlined);
|
||||||
|
|
||||||
|
if ( wasUnderlined )
|
||||||
|
{
|
||||||
|
// it's not underlined any more, remove the attributes we set
|
||||||
|
gtk_label_set_attributes(GTK_LABEL(m_widget), NULL);
|
||||||
|
}
|
||||||
|
else // the text is underlined now
|
||||||
|
{
|
||||||
|
PangoAttrList *attrs = pango_attr_list_new();
|
||||||
|
PangoAttribute *a = pango_attr_underline_new(PANGO_UNDERLINE_SINGLE);
|
||||||
|
a->start_index = 0;
|
||||||
|
a->end_index = -1;
|
||||||
|
pango_attr_list_insert(attrs, a);
|
||||||
|
gtk_label_set_attributes(GTK_LABEL(m_widget), attrs);
|
||||||
|
pango_attr_list_unref(attrs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// adjust the label size to the new label unless disabled
|
// adjust the label size to the new label unless disabled
|
||||||
if (!HasFlag(wxST_NO_AUTORESIZE))
|
if (!HasFlag(wxST_NO_AUTORESIZE))
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user