#endif
}
+#ifdef __WXGTK20__
+ if (multi_line)
+ {
+ if (style & wxTE_RIGHT)
+ gtk_text_view_set_justification( GTK_TEXT_VIEW(m_text), GTK_JUSTIFY_RIGHT );
+ else if (style & wxTE_CENTRE)
+ gtk_text_view_set_justification( GTK_TEXT_VIEW(m_text), GTK_JUSTIFY_CENTER );
+ // Left justify (alignment) is the default and we don't need to apply GTK_JUSTIFY_LEFT
+ }
+ // gtk_entry_set_alignment was introduced in gtk+-2.3.5
+#if GTK_CHECK_VERSION(2, 3, 5)
+ else
+ {
+ if (style & wxTE_RIGHT)
+ gtk_entry_set_alignment( GTK_ENTRY(m_text), 1.0 );
+ else if (style & wxTE_CENTRE)
+ gtk_entry_set_alignment( GTK_ENTRY(m_text), 0.5 );
+ }
+#endif // gtk+-2.3.5
+#endif // __WXGTK20__
// We want to be notified about text changes.
#ifdef __WXGTK20__
}
}
-void wxTextCtrl::ApplyWidgetStyle()
+void wxTextCtrl::DoApplyWidgetStyle(GtkRcStyle *style)
{
- SetWidgetStyle();
- gtk_widget_set_style( m_text, m_widgetStyle );
+ gtk_widget_modify_style(m_text, style);
}
void wxTextCtrl::OnCut(wxCommandEvent& WXUNUSED(event))
{
// FIXME should be different for multi-line controls...
wxSize ret( wxControl::DoGetBestSize() );
- return wxSize(80, ret.y);
+ wxSize best(80, ret.y);
+ CacheBestSize(best);
+ return best;
}
// ----------------------------------------------------------------------------