Hello everyone,
Just thought I'd share a solution to a problem that was bugging me. I'll bet many of you already know about this, or know of a better way, but hopefully somebody can use this: In this program I'm writing, I have three buttons that are very similar in function, they just work on a different set of data. Instead of creating three different callbacks, I just use the data parameter of the callback to differentiate between the three buttons. It's probably easiest to demonstrate with an example: void printFunction (GtkWidget* widget, gpointer data) { printf("The value passed in the callback is: %s\n", (gchar*) data); } GtkWidget* buttonA = gtk_button_new("Button A"); GtkWidget* buttonB = gtk_button_new("Button B"); GtkWidget* buttonC = gtk_button_new("Button C"); g_signal_connect(G_OBJECT(buttonA), "clicked", G_CALLBACK(printFunction), "buttonA"); g_signal_connect(G_OBJECT(buttonB), "clicked", G_CALLBACK(printFunction), "buttonB"); g_signal_connect(G_OBJECT(buttonC), "clicked", G_CALLBACK(printFunction), "buttonC"); Hope this helps somebody, and sorry for wasting the other's time. --Matthew _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list