Fix setting wxStaticText alignment under wxGTK.

The alignment was ignored unless a wxST_ELLIPSIZE_XXX style was already used.
Apparently calling gtk_label_set_ellipsize(PANGO_ELLIPSIZE_NONE) resets the
alignment, so set the alignment after setting the ellipsization style, not
before.

Another possible solution would be to avoid calling gtk_label_set_ellipsize()
completely if no ellipsization styles are given but maybe the original code
didn't do this for some (unknown and undocumented) reason so keep it this way.

Closes #10716.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64876 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2010-07-11 10:43:28 +00:00
parent 5778dedc92
commit 6794ca461c

View File

@@ -72,12 +72,6 @@ bool wxStaticText::Create(wxWindow *parent,
gtk_label_set_justify(GTK_LABEL(m_widget), justify);
// GTK_JUSTIFY_LEFT is 0, RIGHT 1 and CENTER 2
static const float labelAlignments[] = { 0.0, 1.0, 0.5 };
gtk_misc_set_alignment(GTK_MISC(m_widget), labelAlignments[justify], 0.0);
gtk_label_set_line_wrap( GTK_LABEL(m_widget), TRUE );
#ifdef __WXGTK26__
if (!gtk_check_version(2,6,0))
{
@@ -94,6 +88,12 @@ bool wxStaticText::Create(wxWindow *parent,
}
#endif // __WXGTK26__
// GTK_JUSTIFY_LEFT is 0, RIGHT 1 and CENTER 2
static const float labelAlignments[] = { 0.0, 1.0, 0.5 };
gtk_misc_set_alignment(GTK_MISC(m_widget), labelAlignments[justify], 0.0);
gtk_label_set_line_wrap( GTK_LABEL(m_widget), TRUE );
SetLabel(label);
m_parent->DoAddChild( this );