示例#1
0
/**
 * 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 ;
    }
示例#3
0
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);
}
示例#4
0
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.
}
示例#5
0
void MainFrame::SurClicEnregistrer(wxRibbonButtonBarEvent& event)
{
	Enregistrer();
}
示例#6
0
文件: prog.c 项目: simard/MasterCCI
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;
	

}