As a consequence of the RC format going away, calling gtk_rc_parse()
or
gtk_rc_parse_string()
won't have any effect on a widgets appearance.
The way to replace these calls is using a custom GtkStyleProvider,
either for an individual widget through gtk_style_context_add_provider()
or for all widgets on a screen through gtk_style_context_add_provider_for_screen()
.
Typically, the provider will be a GtkCssProvider, which parse CSS
information from a file or from a string.
Example 49. Using a custom GtkStyleProvider
1 2 3 4 5 6 7 8 9 10 11 12 13 |
GtkStyleContext *context; GtkCssProvider *provider; context = gtk_widget_get_style_context (widget); provider = gtk_css_provider_new (); gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (provider), ".frame1 {\n" " border-image: url('gradient1.png') 10 10 10 10 stretch;\n" "}\n", -1, NULL); gtk_style_context_add_provider (context, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); g_object_unref (provider); |
Notice that you can also get style information from custom resources by implementing the GtkStyleProvider interface yourself. This is an advanced feature that should be rarely used.