/** * Gère la fermeture du logiciel pendant laquelle on propose à l'utilisateur de sauvegarder ses matrices. */ void MainFrame::OnExit( wxCloseEvent& event ) { int confirmation; confirmation = wxMessageBox("Souhaitez vous enregistrer avant de quitter?", "Confirmation",wxYES_NO | wxCANCEL,this); if (confirmation == wxYES) Enregistrer(); else if(confirmation == wxCANCEL) { event.Veto(); return; } Destroy(); }
Base::Association<Objet> Objet::Ajouter(Objet* _objet) { /// Pour le détruire au cas où ca foire Base::Composition<Objet> temporaire(_objet) ; Base::Association<Objet> resultat(temporaire) ; /// on met à jour le lien contenu/contenant temporaire->conteneur = *this ; contenu.Ajouter(temporaire.Liberer()) ; /// On enregistre l'objet dans le modèle Enregistrer(resultat) ; this->Notifier() ; return resultat ; }
void MainFrame::SurClicViderVariables( wxRibbonButtonBarEvent& event) { int i, confirmation; confirmation = wxMessageBox("Souhaitez vous enregistrer avant d'effacer les variables?", "Confirmation",wxYES_NO | wxCANCEL,this); if (confirmation == wxYES) { Enregistrer(); } else if(confirmation == wxCANCEL) { return; } m_conteneurVariables.Vider(); m_conteneurVariables.MAJGUI(m_arbreVariables); }
void MainFrame::SurClicOuvrir(wxRibbonButtonBarEvent& event) { //On demande à l'utilisateur s'il souhaite enregistrer avant. int confirmation; confirmation = wxMessageBox("Souhaitez vous enregistrer avant d'ouvrir un nouveau fichier?", "Confirmation",wxYES_NO | wxCANCEL,this); //On demande d'abord si l'utilisateur veut enregistrer son trabail en cours if (confirmation == wxYES) { Enregistrer(); } else if (confirmation == wxCANCEL) { return; } //On efface toutes les matrices m_conteneurVariables.Vider(); //Lecture du fichier tinyxml2::XMLDocument fichier; tinyxml2::XMLNode *racine; tinyxml2::XMLNode *noeudMatrice; tinyxml2::XMLElement* curseur; wxFileDialog dialogueOuverture(this, _("Ouvrez un fichier XML"), "", "","XML files (*.XML)|*.XML", wxFD_OPEN|wxFD_FILE_MUST_EXIST); int lignes, colonnes, i,j; char nom; float valeur; if (dialogueOuverture.ShowModal() == wxID_CANCEL) { return; } wxFileInputStream entree(dialogueOuverture.GetPath()); if (!entree.IsOk()) { wxLogError("Impossible d'ouvrir le fichier. '%s'", dialogueOuverture.GetPath()); return; } //Si le fichier s'est bien ouvert et l'utilisateur n'a pas enregistrer : fichier.LoadFile(dialogueOuverture.GetPath()); //on charge le fichier racine = fichier.FirstChild(); racine = racine->NextSibling(); //On passe la déclaration for(noeudMatrice = racine->FirstChild(); noeudMatrice != NULL; noeudMatrice = noeudMatrice->NextSibling()) // Pour chaque <matrice></matrice> { curseur = noeudMatrice->FirstChildElement(); nom = curseur->GetText()[0]; curseur = curseur->NextSiblingElement(); lignes = atoi(curseur->GetText()); curseur = curseur->NextSiblingElement(); colonnes = atoi(curseur->GetText()); m_conteneurVariables.AjouterVariable(nom, lignes, colonnes); //On ajoutee une matrice au conteneur avec le nom et le nombre de lignes/colonnes stocké dans le fichier. //On se sert de deux boucles pour inscrire toutes les valeurs dans le fichier : for(i=0; i<lignes;i++) { for(j=0;j<colonnes;j++) { curseur=curseur->NextSiblingElement(); valeur = atof(curseur->GetText()); m_conteneurVariables.Variable(nom).FixerValeur(i,j,valeur); } } } m_conteneurVariables.MAJGUI(m_arbreVariables); //Lorsque le fichier est fini on met à jour l'arbre. }
void MainFrame::SurClicEnregistrer(wxRibbonButtonBarEvent& event) { Enregistrer(); }
int main( int argc, char ** argv ) { char choix,toto; Contact *ptete = NULL; while ( toto != 'q' ) { printf("\n########> tapez : \n"); printf("\n C -> Creer un contact.\n"); printf("\n S -> Suprimer un contact.\n "); printf("\n M -> Modifier un contact.\n "); printf("\n A -> Affichage des contacts. \n" ); printf("\n E -> Enregistrer sur un fichier. \n"); printf("\n h -> Chargement d'un carnet d'adresse . \n"); printf("\n Q -> Quitter l'application. \n\n"); printf("##################################\n\n"); scanf( "%c", &choix ); switch (choix) { case 'C' : case 'c' : ptete = Carnet( ptete ); break; case 'A' : case 'a' : if (ptete != NULL) { AfficherContact( ptete ); } else { printf("\n \n Liste vide___il y a rien à afficher \n \n"); } break; case 'E' : case 'e' : Enregistrer(ptete); break; case 'H' : case 'h' : ptete = ChargerCarnet (); break; case 'S' : case 's' : ptete = suprimer(ptete); break; case 'M': case 'm': ptete = modifier(ptete); break; case 'Q' : case 'q' : toto = 'q'; break; default : printf (" \n\nErreur !? choix non valide ! \n\n"); break; } getchar (); } return 0; }