bool wxStaticText::SetFont(const wxFont& font) { if ( !wxControl::SetFont(font) ) return false; AutoResizeIfNecessary(); return true; }
bool wxGenericStaticText::DoSetLabelMarkup(const wxString& markup) { if ( !wxStaticTextBase::DoSetLabelMarkup(markup) ) return false; if ( !m_markupText ) m_markupText = new wxMarkupText(markup); else m_markupText->SetMarkup(markup); AutoResizeIfNecessary(); Refresh(); return true; }
void wxGenericStaticText::SetLabel(const wxString& label) { wxControl::SetLabel(label); DoSetLabel(GetEllipsizedLabel()); AutoResizeIfNecessary(); #if wxUSE_MARKUP if ( m_markupText ) { delete m_markupText; m_markupText = NULL; } #endif // wxUSE_MARKUP Refresh(); }
void wxStaticText::SetLabel(const wxString& label) { #ifdef SS_ENDELLIPSIS long styleReal = ::GetWindowLong(GetHwnd(), GWL_STYLE); if ( HasFlag(wxST_ELLIPSIZE_END) ) { // adding SS_ENDELLIPSIS or SS_ENDELLIPSIS "disables" the correct // newline handling in static texts: the newlines in the labels are // shown as square. Thus we don't use it even on newer OS when // the static label contains a newline. if ( label.Contains(wxT('\n')) ) styleReal &= ~SS_ENDELLIPSIS; else styleReal |= SS_ENDELLIPSIS; ::SetWindowLong(GetHwnd(), GWL_STYLE, styleReal); } else // style not supported natively { styleReal &= ~SS_ENDELLIPSIS; ::SetWindowLong(GetHwnd(), GWL_STYLE, styleReal); } #endif // SS_ENDELLIPSIS // save the label in m_labelOrig with both the markup (if any) and // the mnemonics characters (if any) m_labelOrig = label; #ifdef SS_ENDELLIPSIS if ( styleReal & SS_ENDELLIPSIS ) DoSetLabel(GetLabel()); else #endif // SS_ENDELLIPSIS DoSetLabel(GetEllipsizedLabel()); InvalidateBestSize(); if ( !IsEllipsized() ) // if ellipsize is ON, then we don't want to get resized! { AutoResizeIfNecessary(); } }