Pour commencer lorsque tu écris
g_signal_connect(G_OBJECT(rectangle), "button-press-event", G_CALLBACK(attrape_souris), fen);
tu transmets le pointeur fen au Callback. Tu récupères ensuite ce même pointeur dans la dernière variable de la fonction Callback. Ici se sera donc dans mode :
void attrape_souris(GtkWidget *widget, GdkEventButton *event, gpointer mode);
Histoire de parfaire la chose le prototype exact du CallBack est : gboolean user_function (GtkWidget *widget, GdkEventButton *event, gpointer user_data);.
Ceci étant dit, revenons plus précisément à ton problème. Typiquement tu as du utiliser les GtkRadioMenuItem pour le choix dans le menu entre le mode "facile" et "difficile". Transmets ce pointeur au CallBack comme expliquer ci-dessus.
Dans le CallBack tu le récupères donc et tu peux le tester pour connaitre son état grâce à la fonction gboolean gtk_check_menu_item_get_active (GtkCheckMenuItem *check_menu_item);. Ainsi si "facile" est coché tu peux autoriser l'affichage des pierres.
Partager