2010-11-09 16 views
2

Eh bien, je veux obtenir la propriété "base" d'un gtkstyle, qui est un type GdkColor, mais je peux juste réussir à l'obtenir. Je sais que je peux utiliser gtk_style_get_style_property()Comment obtenir une propriété spécifique de GtkStyle?

void gtk_style_get_style_property (GtkStyle *style,GType widget_type, const gchar *property_name, GValue *value); 

mais ce que je suis censé mettre en « widget_type » et comment un peux obtenir un type de gdkcolor de la « valeur »?

Répondre

2

Vous devez transmettre le GType d'une classe de widget (par exemple GTK_TYPE_LABEL, GTK_TYPE_BUTTON, etc.) dans widget_type.

Pour obtenir un GdkColor d'un GValue, appelez g_value_get_boxed():

GdkColor *color = (GdkColor *) g_value_get_boxed(value); 
+0

Merci d'avoir répondu à ma question. Mais maintenant je vois que j'aurais pu faire du style- < – user502549

+0

Non, accéder 'widget-> style' directement est déconseillé et sera bientôt retiré de GTK! – ptomato