Bonjour,
Je voudrai ajouter une propriété de style de type GdkColor à mon widget.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 style "my_style" { MyWidget::my-color = shade(@bg_color, 0.96) } widget_class "*<MyWidget>" style "my_style"Mais j'obtiens cette erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 // ... static void my_widget_class_init (MyWidgetClass *klass) { GtkWidgetClass *widget_class = (GtkWidgetClass *) klass; //... gtk_widget_class_install_style_property(widget_class, g_param_spec_boxed("my-color", "My color", "Display my color", GDK_TYPE_COLOR, G_PARAM_WRITABLE|G_PARAM_READABLE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB ) ); } // ... static void my_widget_expose (MyWidget *my) { GdkColor color_property; gtk_widget_style_get (widget, "my-color", &color_property, NULL); g_print("my-color: {red: %x, green: %x, blue: %x}\n", color_property.red, color_property.green, color_property.blue); }
Pouvez-vous m'aider a trouver mon erreur ?Failed to retrieve property `MyWidget::my-color' of type `GdkColor' from rc file value "((GString*) 0x7f8fe00018a0)" of type `GString'
Edit:
Si, dans ma feuille de style, je remplace "shade(@bg_color, 0.96)" par "@bg_color" Alors là ca marche ...
Partager