#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__
}
// GRG, Jun/2000: Changed this after a lot of discussion in
- // the lists. wxWindows 2.2 will have a set of flags to
+ // the lists. wxWidgets 2.2 will have a set of flags to
// customize this behaviour.
SetInsertionPoint(0);
if (!m_widget->window)
return FALSE;
- wxColour sysbg = wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE );
- if (sysbg.Red() == colour.Red() &&
- sysbg.Green() == colour.Green() &&
- sysbg.Blue() == colour.Blue())
- {
- return FALSE; // FIXME or TRUE?
- }
-
if (!m_backgroundColour.Ok())
return FALSE;
}
}
-void wxTextCtrl::ApplyWidgetStyle()
+void wxTextCtrl::DoApplyWidgetStyle(GtkRcStyle *style)
{
-// if (m_windowStyle & wxTE_MULTILINE)
-// {
-// // how ?
-// }
-// else
- {
- 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;
}
// ----------------------------------------------------------------------------