c - Is it possible to add private data to a GtkWidget? -


is possible add private data gtkwidget?

background:

i have many gtkcheckbottons, these widgets connected same callback. in callback, handle widgets private data (or @ least distinguish between widgets).

example:

// checkbox signal callback void on_checkbox_tcoggled(gtkwidget* widget, gpointer data) {     myclass* me = data;     myprivatedata* priv = widget->priv;  // ???      myclass_foo(me, priv); } 

is possible add private data gtkwidget?

you can use functions g_object_set_data , g_object_get_data add arbitrary data gobject.

myprivatedata *priv = ... g_object_set_data(g_object(widget), "my private data", priv);  // ...  void on_checkbox1_toggled(gtkwidget* widget, gpointer data) {     myclass* me = data;     myprivatedata* priv = (myprivatedata*) g_object_get_data(g_object(widget), "my private data");      myclass_foo(me, priv); } 

Comments