Bonjour à tous,

j'utilise un GTKassistant, et j'aimerais, en fonction du numéro de la page ou je me trouve, exécuter certaines fonctions.

Pour ce faire, je voulais utiliser soit "apply" soit "prepare". Mais je n'arrive pas a obtenir ce que je veux...:

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
 GUI->p_builder_NP = gtk_builder_new ();
 
   if (GUI->p_builder_NP != NULL)
   {
      /* Chargement du XML dans p_builder */
      gtk_builder_add_from_file (GUI->p_builder_NP, "NP_assistant.glade", & p_err_NP);
 
      if (p_err_NP == NULL)
      {
         /* 1.- Recuparation d'un pointeur sur la fenetre. */
         GUI->p_NP_assistant = (GtkWidget *) gtk_builder_get_object (GUI->p_builder_NP, "New_project_assistant");
 
         gtk_window_set_default_size(GTK_WINDOW(GUI->p_NP_assistant), 300, 200);
         g_signal_connect(G_OBJECT(GUI->p_NP_assistant), "destroy", G_CALLBACK(cb_quit_NP_assistant), P_data);
         g_signal_connect(G_OBJECT(GUI->p_NP_assistant), "close", G_CALLBACK(cb_quit_NP_assistant), P_data);
         g_signal_connect(G_OBJECT(GUI->p_NP_assistant), "cancel", G_CALLBACK(cb_quit_NP_assistant), P_data);
         g_signal_connect(G_OBJECT(GUI->p_NP_assistant), "apply", G_CALLBACK(cb_NP_Next1), P_data);
...
}
le callback

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void cb_NP_Next1 (GtkWidget * p_wid, NP_User_Data * P_data)
{    printf("toto");
 
        if  (gtk_assistant_get_current_page(GTK_ASSISTANT(P_data->GUI_AE->p_NP_assistant))==1)
        {
            if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(P_data->GUI_AE->p_NP_RadiobutType))==TRUE)
            {P_data->Projet->TypeJeu = 1;
            printf("toto\r\n");}
             else
             {P_data->Projet->TypeJeu = 2;
             printf("titi\r\n");}
        }
 
}
si j'utilise "apply" rien ne se passe.

Si j'utilise "prepare" j'obtiens une erreur windows à l'affichage de mon gtkassistant...


Si vous avez une idée, je suis preneur...

Merci,

Alex