A simpler programmatic way is gtk_widget_modify_base. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Andreas Stricker Sent: Friday, November 25, 2005 2:29 AM To: gtk-app-devel-list@gnome.org Subject: Re: Setting the background color of a GtkEntry
Michal Kepien schrieb: >>The white part of a text-accepting widget uses the "base" color, not >>the "bg" color. The only way I know to set that is with a style: >> >>style "myEntry" >>{ >> base[NORMAL] = "#ff0000" # or whatever >>} >>class "GtkEntry" style "myEntry" >> >>You can load this setting by placing that text in a file called "foo" >>and then calling gtk_rc_parse("foo"), or you can put it in a string >>called "bar" and call gtk_rc_parse_string(bar). > > > This is some progress... However, what I want to achieve is to dynamically > change the background color without reopening the window (what I want to use the > color change for is validating input - if something's wrong then the entry goes > red, if the entry gets corrected it should be white again). Is it possible to > force a refresh and instantly change the background color of the GtkEntry? When > I use gtk_rc_parse_string() in the callback, it works, but the entry's color is > changed after i TAB a few entries forward. You can change the style direct over the style interface. The function gtk_widget_modify_style() should do the trick: http://www.gtk.org/api/2.6/gtk/GtkWidget.html#gtk-widget-modify-style http://www.gtk.org/api/2.6/gtk/gtk-Resource-Files.html http://www.gtk.org/api/2.6/gtk/GtkStyle.html The style change should apply immediately AFAIK. Cheers, Andy _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list