analyseWriter/src/action/actSaveEvaluation.java

74 lines
2.7 KiB
Java

package action;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.KeyStroke;
import MEPTL.commandes;
import baseEvaluations.creerNouvelleEvaluation;
import baseEvaluations.ecritureBaseEvaluation;
import baseEvaluations.recupeNodeBaseEvaluations;
import cXML.node;
public class actSaveEvaluation extends AbstractAction{
/**
*
*/
private static final long serialVersionUID = 1L;
{
putValue( Action.NAME, "Enregister l'évaluation" );
putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/saveEvaluationmini.png")) );
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_S );
putValue( Action.SHORT_DESCRIPTION, "Enregistrer l'évaluation dans la base des évaluations. (CTRL+S)" );
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.CTRL_DOWN_MASK ) );
}
@Override
public void actionPerformed(ActionEvent e) {
if(!commandes.sujet.isVide()) {
if(commandes.IndexEvaluationCharger!=-1) {
new recupeNodeBaseEvaluations();
node evaluation = commandes.evaluationsBase.getNodes().get(commandes.IndexEvaluationCharger);
if(evaluation.getAttributs().get("name").equals(commandes.NameEvaluationCharger)) {
commandes.evaluationsBase.getNodes().add(commandes.IndexEvaluationCharger, new creerNouvelleEvaluation(evaluation, commandes.NameEvaluationCharger, false).getEvaluation());
new ecritureBaseEvaluation();
JOptionPane.showMessageDialog(null,"L'évaluation encours " + commandes.NameEvaluationCharger + " a été mise à jour\ndans la base des évaluations.");
}else {
JOptionPane.showMessageDialog(null,"L'évaluation encours n'a été enregistrée\ndans la base des évaluations.\n"
+ "Il y a un problème avec l'index de cette évaluation dans la base.");
}
}else {
new recupeNodeBaseEvaluations();
String name = "Nouvelle évaluation";
name = JOptionPane.showInputDialog(null,"Donner un nom à cette évaluation ?",name);
if(!name.isBlank()) {
new creerNouvelleEvaluation(name,true);
new ecritureBaseEvaluation();
commandes.IndexEvaluationCharger=0;
commandes.NameEvaluationCharger=name;
JOptionPane.showMessageDialog(null,"L'évaluation encours " + name + " a été enregistrée\ndans la base des évaluations.");
}else {
JOptionPane.showMessageDialog(null,"L'évaluation encours n'a été enregistrée\ndans la base des évaluations.");
}
}
}
}
}