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 27
|
typedef struct {
GtkWidget* window_to_update;
guchar* current_view;
guchar selected_view;
}
strdef;
GtkWidget* create_main_window(void) {
// ...
guchar crt_view = 0;
strdef param = {v_box_2, &crt_view, 0};
button1 = gtk_button_new_with_label("button1");
button2 = gtk_button_new_with_label("button2");
button3 = gtk_button_new_with_label("button3");
param.selected_view = (guchar) 0;
g_signal_connect(GTK_BUTTON(button1), "clicked", G_CALLBACK(fct), ¶m);
param.selected_view = (guchar) 1;
g_signal_connect(GTK_BUTTON(button2), "clicked", G_CALLBACK(fct), ¶m);
param.selected_view = (guchar) 2;
g_signal_connect(GTK_BUTTON(button3), "clicked", G_CALLBACK(fct), ¶m);
}
static void fct(GtkButton *widget, gpointer data) {
strdef* test = (strdef*) data;
g_print("%i\n",(guchar) test->selected_view);
} |
Partager