Здрасьте!
Дамы и господа, леди и джентельмены, учу С и GTK+, хочу сделать валидацию, которая будет окрашивать границу виджета в красный (или фон).
Есть код:

GtkWidget* myEntry = gtk_entry_new();
g_signal_connect(myEntry,"key-release-event",G_CALLBACK(check),NULL);

в check пробовал:
GtkStyleContext *myStyle = gtk_widget_get_style_context(GTK_WIDGET(entryDate));
GdkRGBA fuck = { 1.0, 0.0, 0.0, 0.0 };
g_object_set(GTK_WIDGET(entryDate), GTK_STYLE_PROPERTY_BACKGROUND_COLOR, fuck);

и пробовал:
GtkStyleContext *myStyle = gtk_widget_get_style_context(entryDate);
GtkCssProvider *myCss = gtk_css_provider_new();

gtk_css_provider_load_from_path(myCss,"entryDate.css", NULL);
gtk_style_context_add_provider(myStyle,GTK_STYLE_PROVIDER(myCss), GTK_STYLE_PROVIDER_PRIORITY_USER);

entryDate.css:
.entry {
background: #669999;
border-width: 3
border-color: red;
}


но эти приемы, как я понимаю, требуют отрисовывать виджет вновь.
А как сделать (и возможно ли вообще в GTK) изменить стиль виджета «на лету»?








 ,






URL записи