+ wxCHECK_RET( m_widget != NULL, wxT("invalid static text") );
+
+ InvalidateBestSize();
+
+ if (gtk_check_version(2,6,0) && IsEllipsized())
+ {
+ // GTK+ < 2.6 does not support ellipsization so we need to do it
+ // manually and as our ellipsization code doesn't deal with markup, we
+ // have no choice but to ignore it in this case and always use plain
+ // text.
+ GTKSetLabelForLabel(GTK_LABEL(m_widget), GetEllipsizedLabel());
+ }
+ else // Ellipsization not needed or supported by GTK+.
+ {
+ (this->*setter)(GTK_LABEL(m_widget), label);
+ }
+
+ // adjust the label size to the new label unless disabled
+ if ( !HasFlag(wxST_NO_AUTORESIZE) &&
+ !IsEllipsized() ) // if ellipsization is ON, then we don't want to get resized!
+ SetSize( GetBestSize() );
+}