/** * \fn static void buttonCharger( GtkWidget *widget,gpointer data ) * \brief charge les deux structures Graphe et Matrice à partir d'un explorateur de fichier simple * * \return void */ static void buttonCharger( GtkWidget *widget,gpointer data ){ GtkWidget *p_dialog = NULL; GtkWidget *p_information; p_dialog = gtk_file_chooser_dialog_new ("Charger un probleme tsp", NULL, GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); if (gtk_dialog_run (GTK_DIALOG (p_dialog)) == GTK_RESPONSE_ACCEPT){ gchar *file_name = NULL; file_name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (p_dialog)); g = chargerGraphe(file_name); m = chargerMatrice(file_name); g_free (file_name), file_name = NULL; } gtk_widget_destroy (p_dialog); if(!matriceSymetrique(m)){ afficherMessage("Attention ! Matrice asymétrique !",data); } else if(!matricePlanaire(m)){ afficherMessage("Attention ! Matrice non planaire !",data); } }
SPlateau* plateau_chargement(FILE* fichier) { SPlateau* plateau = malloc(sizeof(SPlateau)); plateau->grille = chargerMatrice(fichier); if(plateau->grille) { printf("BON \n"); plateau->taille = getNbLigne(plateau->grille); } else { printf("PAS BON \n"); free(plateau); plateau = NULL; } return plateau; }