analyseCalc/analyseCalc/analyseCalc/analyseCalc/analyseCalc/src/fenetres/create_act/actSave.java

73 lines
2.8 KiB
Java

package fenetres.create_act;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.KeyStroke;
import fenetres.create;
import nodeAC.Ecriture;
public class actSave extends AbstractAction{
/**
*
*/
private static final long serialVersionUID = 1L;
{
putValue( Action.NAME, "Enregister" );
putValue( Action.SMALL_ICON, new ImageIcon( create.class.getResource("/resources/save.png")) );
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_S );
putValue( Action.SHORT_DESCRIPTION, "Enregistrer (CTRL+S)" );
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.CTRL_DOWN_MASK ) );
}
@Override
public void actionPerformed(ActionEvent e) {
Pattern p = Pattern.compile("[.xml]\\b");
Matcher m = p.matcher(calc.commandes.nameSujet);
String message="";
if(m.find()) {
message="\"Voulez-vous enregistrer le fichier \"" + calc.commandes.nameSujet + "\"\n"
+ "Dans le dossier " + calc.commandes.PathFilenameAnalysis;
}else {
message="\"Voulez-vous enregistrer le fichier \"" + calc.commandes.nameSujet + ".xml\"\n"
+ "Dans le dossier " + calc.commandes.PathFilenameAnalysis;
calc.commandes.nameSujet = calc.commandes.nameSujet + ".xml";
}
int input = JOptionPane.showConfirmDialog(null, message);
if(input==0) {
try {
// verificationFichierAnalyse.MiseAJourHashNomFichierAnalyse(calc.commandes.nameSujet);
if(calc.commandes.sujet.retourneFirstEnfantsByName("settings")==null) {
Ecriture.addSetting(calc.commandes.sujet);
}
Ecriture.ecritureNodeEnXML(calc.commandes.sujet, calc.commandes.nameSujet , calc.commandes.PathFilenameAnalysis, Ecriture.typeFichier.fichier_analyse);
// Run.ecritureNodeEnXML(calc.commandes.sujet, calc.commandes.nameSujet ,calc.commandes.PathFilenameAnalysis,"sujet");
if(m.find()) {
fenetres.create.getTextNodeSelect().setText("Le fichier \"" + calc.commandes.nameSujet + " a été réenregistré.\n\n"
+ "Il se trouve dans le dossier " + calc.commandes.PathFilenameAnalysis);
}else {
fenetres.create.getTextNodeSelect().setText("Le fichier \"" + calc.commandes.nameSujet + ".xml\" a été réenregistré.\n\n"
+ "Il se trouve dans le dossier " + calc.commandes.PathFilenameAnalysis);
}
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}