Hi;

On 15 November 2015 at 19:32, Allin Cottrell <cottr...@wfu.edu> wrote:
> I'm trying to set a custom background for a GtkEntry (as a temporary thing,
> by way of an alert for invalid input). I can do that fine for gtk 2 using
> gtk_widget_modify_base(), but am struggling with gtk 3.

Use:

  gtk_style_context_add_class (gtk_widget_get_style_context (entry),
GTK_STYLE_CLASS_ERROR);

Themes will usually honour this style class for entries, and will set
a red "glow" around it.

Alternatively, use a custom CSS snippet by using a GtkCssProvider
associated with the default screen, and define your own error class,
e.g.

  .error-entry { background-color: red; }

provider = gtk_css_provider_new ();
gtk_css_provider_load_from_data (provider, css_definitions, -1, NULL);
gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);

Then add and remove the "error-entry" style class on the GtkEntry as
appropriate.

My strong suggestion is not not hijack the style machinery for this
case, and use the system already in place.

Ciao,
 Emmanuele.

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to