diff --git a/base_evaluations_analyseCalc.xml b/base_evaluations_analyseCalc.xml
new file mode 100644
index 0000000..48a5db8
--- /dev/null
+++ b/base_evaluations_analyseCalc.xml
@@ -0,0 +1,1688 @@
+
Il semble que ce n'est pas la base de données des évaluations.
" + + ""+ file.getAbsolutePath() +"
"); + JOptionPane.showMessageDialog(frame, texte); + } + } + + try { + + // écriture du node + Path outputFilePath = file.toPath(); + + if (Files.isWritable(outputFilePath)) { + BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8); + fichier.write(XMLBase); + fichier.close(); + + JFrame frame = new JFrame(); + JLabel texte = new JLabel("L'évaluation "+evaluation.getAttributs().get("name")+ " a été enregistrée dans la base de données.
" + + ""+ file.getAbsolutePath() +"
"); + JOptionPane.showMessageDialog(frame, texte); + } else { + JFrame frame = new JFrame(); + JLabel texte = new JLabel("L'évaluation "+evaluation.getAttributs().get("name")+ " n'a pas été enregistrée dans la base de données.
" + + ""+ file.getAbsolutePath() +"
Vous devez avoir des droits pour écrire dans ce dossier.
"); + JOptionPane.showMessageDialog(frame, texte); + } + + } catch (IOException e) { + JFrame frame = new JFrame(); + JLabel texte = new JLabel("L'évaluation "+evaluation.getAttributs().get("name")+ " n'a pas été enregistrée dans la base de données.
" + + ""+ file.getAbsolutePath() +"
"+e.getMessage()+"
"); + JOptionPane.showMessageDialog(frame, texte); + e.printStackTrace(); + } + + }catch (Exception e) { + + } + } + + } + +} diff --git a/src/baseEvaluation/myTableBaseEvaluation.java b/src/baseEvaluation/myTableBaseEvaluation.java index e571d8e..f1b7a30 100644 --- a/src/baseEvaluation/myTableBaseEvaluation.java +++ b/src/baseEvaluation/myTableBaseEvaluation.java @@ -65,7 +65,7 @@ public class myTableBaseEvaluation extends AbstractTableModel{ }else { evaluation[i][2] = dateCreation; } - node fichier = calc.commandes.evaluationsBase.getEnfants().get(i).retourneFirstEnfant("fichier"); + node fichier = calc.commandes.evaluationsBase.getEnfants().get(i).retourneFirstEnfant("classeur"); evaluation[i][3] = fichier.getAttributs().get("titre"); evaluation[i][4] = fichier.getAttributs().get("metaSujet"); evaluation[i][5] = fichier.getAttributs().get("analysis_filename"); diff --git a/src/baseEvaluation/recupeNodeBaseEvaluations.java b/src/baseEvaluation/recupeNodeBaseEvaluations.java index 1fd25d3..4f58136 100644 --- a/src/baseEvaluation/recupeNodeBaseEvaluations.java +++ b/src/baseEvaluation/recupeNodeBaseEvaluations.java @@ -8,7 +8,7 @@ import java.nio.file.Paths; import javax.swing.JLabel; import javax.swing.JOptionPane; - +import calc.*; import xml.node; /** * Récupère la base des évaluations qui se trouve indiqué par commandes.Le fichier d'analyse "+ analysis_filename +" a été extrait de la base.
" - + ""+fileToSave.getAbsolutePath()+"
"); - JOptionPane.showMessageDialog(frame, texte); - }else { - JFrame frame = new JFrame("Erreur"); - JLabel texte = new JLabel("
Le fichier d'analyse n'a pas été extrait de la base.
" - + ""); - JOptionPane.showMessageDialog(frame, texte); - } - } catch (IOException e1) { - e1.printStackTrace(); + if(commandes.os.contains("Win")) { + notError = evaluation.retourneFirstEnfant("fichier").saveNodeEnXML(fileToSave.getName(), fileToSave.getPath().substring(0,fileToSave.getPath().lastIndexOf("\\"))); + }else { + notError = evaluation.retourneFirstEnfant("fichier").saveNodeEnXML(fileToSave.getName(), fileToSave.getPath().substring(0,fileToSave.getPath().lastIndexOf("/"))); + } + if(notError) { + JFrame frame = new JFrame("Extration"); + JLabel texte = new JLabel("
Le fichier d'analyse "+ analysis_filename +" a été extrait de la base.
" + + ""+fileToSave.getAbsolutePath()+"
"); + JOptionPane.showMessageDialog(frame, texte); + }else { + JFrame frame = new JFrame("Erreur"); + JLabel texte = new JLabel("
Le fichier d'analyse n'a pas été extrait de la base.
" + + "");
+ JOptionPane.showMessageDialog(frame, texte);
}
System.out.println("Save as file: " + fileToSave.getAbsolutePath());
new recupeNodeBaseEvaluations();
@@ -411,13 +408,13 @@ private void ListenerAction() {
node evaluation = new node();
evaluation.setNameNode("evaluation");
String name = "Nouvelle évaluation";
- evaluation.getEnfants().add(calc.commandes.sujet);
+ evaluation.getEnfants().add(commandes.sujet);
name = JOptionPane.showInputDialog(null,"Donner un nom à cette évaluation ?",name);
if(name!=null) {
if(!name.isBlank()) {
- evaluation.getEnfants().add(calc.commandes.sujet);
+ evaluation.getEnfants().add(commandes.sujet);
new creerNouvelleEvaluation(evaluation,name,false,false);
new recupeNodeBaseEvaluations();
model.addOrUpdate();
@@ -442,7 +439,7 @@ private void ListenerAction() {
new trierParDateDecroissanteLaBase();
model.addOrUpdate();
table.setModel(model);
- selectRow(calc.commandes.IndexEvaluationCharger);
+ selectRow(commandes.IndexEvaluationCharger);
}
}
});
@@ -465,13 +462,13 @@ private void ListenerAction() {
public void actionPerformed(ActionEvent e) {
new ChargePathBaseEvaluation(false);
if(!ChargePathBaseEvaluation.isErreurLecture()) {
- if(calc.commandes.evaluationsBase!=null) {
+ if(commandes.evaluationsBase!=null) {
baseDonneesEvaluations.getInstance();
}
- if(calc.commandes.PathBaseEvaluationDefaut) {
- lblCheminVersBase.setText(calc.commandes.PathBaseEvaluations);
+ if(commandes.PathBaseEvaluationDefaut) {
+ lblCheminVersBase.setText(commandes.PathBaseEvaluations);
}else {
- lblCheminVersBase.setText(calc.commandes.PathBaseEvaluations+"/"+calc.commandes.NameBaseEvaluations);
+ lblCheminVersBase.setText(commandes.PathBaseEvaluations+"/"+commandes.NameBaseEvaluations);
}
model.addOrUpdate();
table = new JTable(model);
@@ -485,14 +482,14 @@ private void ListenerAction() {
btndefautBaseEvaluation.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(Files.isReadable(Paths.get(""))) {
- calc.commandes.PathBaseEvaluations = Paths.get("").toAbsolutePath().toString();
- calc.commandes.NameBaseEvaluations = "base_evaluations_analyseWriter.xml";
- calc.commandes.PathBaseEvaluationDefaut = true;
+ commandes.PathBaseEvaluations = Paths.get("").toAbsolutePath().toString();
+ commandes.NameBaseEvaluations = "base_evaluations_analyseWriter.xml";
+ commandes.PathBaseEvaluationDefaut = true;
new recupeNodeBaseEvaluations();
- if(calc.commandes.PathBaseEvaluationDefaut) {
- lblCheminVersBase.setText(calc.commandes.PathBaseEvaluations);
+ if(commandes.PathBaseEvaluationDefaut) {
+ lblCheminVersBase.setText(commandes.PathBaseEvaluations);
}else {
- lblCheminVersBase.setText(calc.commandes.PathBaseEvaluations+"/"+calc.commandes.NameBaseEvaluations);
+ lblCheminVersBase.setText(commandes.PathBaseEvaluations+"/"+commandes.NameBaseEvaluations);
}
model.addOrUpdate();
table = new JTable(model);
@@ -519,7 +516,7 @@ private void ListenerAction() {
if (!lsm.isSelectionEmpty()) {
indexSelect = lsm.getMinSelectionIndex();
chargeEvaluation.chargeEnMémoireEvaluationSelected(indexSelect);
- calc.commandes.IndexEvaluationCharger = indexSelect;
+ commandes.IndexEvaluationCharger = indexSelect;
if(!create.isDispose) {
create.getInstance();
}else {
@@ -558,8 +555,8 @@ private void ListenerAction() {
*/
btnSaveEvaluation.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- if(calc.commandes.evaluationChargeEnMemoire!=null) {
- String name = calc.commandes.evaluationChargeEnMemoire.getAttributs().get("name");
+ if(commandes.evaluationChargeEnMemoire!=null) {
+ String name = commandes.evaluationChargeEnMemoire.getAttributs().get("name");
name = JOptionPane.showInputDialog(null,"Voulez-vous renommer l'évaluation ?",name);
if(name!=null) {
if(!name.isBlank()) {
@@ -578,7 +575,7 @@ private void ListenerAction() {
new recupeNodeBaseEvaluations();
model.addOrUpdate();
table.setModel(model);
- selectRow(calc.commandes.IndexEvaluationCharger);
+ selectRow(commandes.IndexEvaluationCharger);
}
});
diff --git a/src/fenetres/chargeBaseAuDemarrage.java b/src/fenetres/chargeBaseAuDemarrage.java
index 8437206..d7afa35 100644
--- a/src/fenetres/chargeBaseAuDemarrage.java
+++ b/src/fenetres/chargeBaseAuDemarrage.java
@@ -50,7 +50,7 @@ public class chargeBaseAuDemarrage extends JFrame {
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
setLocation(( (screenWidth) - getWidth()) / 2, (screenHeight - getHeight()) / 2);
- ImageIcon img = new ImageIcon(getClass().getResource("/resources/evalwriter.png") );
+ ImageIcon img = new ImageIcon(getClass().getResource("/resources/evalcalc.png") );
setIconImage(img.getImage());
setTitle(calc.commandes.Titre + " - La base de données des évaluations");
diff --git a/src/fenetres/create.java b/src/fenetres/create.java
index 8ea51a9..f6d790a 100644
--- a/src/fenetres/create.java
+++ b/src/fenetres/create.java
@@ -64,8 +64,10 @@ import actions.actExpandNode;
import actions.actNewFichierAnalyse;
import actions.actNodeFichier;
import actions.actOpen;
+import actions.actOpenBaseEvaluation;
import actions.actSave;
import actions.actSaveAs;
+import actions.actSaveEvaluation;
import actions.actSetting;
import actions.actSupprimeTitre;
import actions.actTitre1;
@@ -101,11 +103,11 @@ public final class create extends JFrame {
private JMenuBar menuBar = new JMenuBar();
private static JButton buttonEvaluate;
private static JToggleButton tglbtnTousLesNodes;
-// private JPanel panelPrincipal;
private static JScrollPane ScrollPaneTableBouton = new JScrollPane( );
private static JScrollBar verticalScrollBar = ScrollPaneTableBouton.getVerticalScrollBar();
private static JLabel lblInfo = new JLabel("Fichier d'analyse");
private JPanel panelDroiteBoutons= new JPanel();
+ public static boolean isDispose = true;
private static create instance;
@@ -122,13 +124,24 @@ public final class create extends JFrame {
}
public static create getInstance() {
- if (instance == null) {
+ if (isDispose) {
instance = new create();
}
instance.setVisible(true);
+ isDispose = false;
return instance;
}
+ /**
+ * Ferme la fenêtre et quitte.
+ */
+ public static void fermeCreate() {
+ if(!isDispose) {
+ isDispose=true;
+ instance.dispose();
+ }
+ }
+
/**
* Initialize the contents of the frame.
@@ -310,9 +323,7 @@ public final class create extends JFrame {
addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent windowEvent) {
- if(JOptionPane.showConfirmDialog(null,"Voulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) {
- dispose();
- };
+ new actExit().actionPerformed(null);
}
});
@@ -569,6 +580,18 @@ public final class create extends JFrame {
toolBarPrincipal.setName("outils principaux");
+ JButton btnChargeEvaluation = toolBarPrincipal.add( new actOpenBaseEvaluation() );
+ btnChargeEvaluation.setIcon(new ImageIcon(create.class.getResource("/resources/BaseEvaluations.png")));
+ btnChargeEvaluation.setHideActionText(true);
+ toolBarPrincipal.add(btnChargeEvaluation);
+
+ JButton btnSaveEvaluation = toolBarPrincipal.add( new actSaveEvaluation() );
+ btnSaveEvaluation.setIcon(new ImageIcon(create.class.getResource("/resources/saveEvaluation.png")));
+ btnSaveEvaluation.setHideActionText(true);
+ toolBarPrincipal.add(btnSaveEvaluation);
+
+ toolBarPrincipal.addSeparator();
+
JButton buttonLoadFile = toolBarPrincipal.add( new actOpen() );
buttonLoadFile.setIcon(new ImageIcon(create.class.getResource("/resources/fichierAnalyse.png")));
buttonLoadFile.setHideActionText(true);
@@ -679,11 +702,13 @@ public final class create extends JFrame {
public void closeWindows() {
if(JOptionPane.showConfirmDialog(null,"Voulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) {
- dispose();
+ isDispose=true;
+ dispose();
}
}
public void closeDirectlyWindows() {
+ isDispose=true;
this.dispose();
}
diff --git a/src/fenetres/evaluate.java b/src/fenetres/evaluate.java
index 8ba6902..3a35354 100644
--- a/src/fenetres/evaluate.java
+++ b/src/fenetres/evaluate.java
@@ -472,6 +472,15 @@ public class evaluate extends JFrame {
+
+ public static void ferme() {
+ if(!isDispose) {
+ isDispose=true;
+ instance.dispose();
+ }
+ }
+
+
/**
*
* evaluer l'ensemble des fichiers des étudiants
diff --git a/src/fenetres/setting.java b/src/fenetres/setting.java
index 445dccd..d56f0eb 100644
--- a/src/fenetres/setting.java
+++ b/src/fenetres/setting.java
@@ -679,17 +679,11 @@ public final class setting extends JFrame {
if (userSelection == JFileChooser.APPROVE_OPTION) {
File fileToSave = fileChooser.getSelectedFile();
- try {
-
-//
- nodeTransalte.saveNodeEnXML(fileToSave.getName(), fileToSave.getPath().substring(0,fileToSave.getPath().lastIndexOf("\\")));
-
-
- JOptionPane.showMessageDialog(null, "Le fichier \"" + fileToSave.getName() + ".xml\" a été renregistré.\n\nIl se trouve dans le dossier " + fileToSave.getPath());
-
- } catch (IOException e1) {
- e1.printStackTrace();
- }
+ //
+ nodeTransalte.saveNodeEnXML(fileToSave.getName(), fileToSave.getPath().substring(0,fileToSave.getPath().lastIndexOf("\\")));
+
+
+ JOptionPane.showMessageDialog(null, "Le fichier \"" + fileToSave.getName() + ".xml\" a été renregistré.\n\nIl se trouve dans le dossier " + fileToSave.getPath());
}
}
diff --git a/src/resources/BaseEvaluations.png b/src/resources/BaseEvaluations.png
new file mode 100644
index 0000000..175f74b
Binary files /dev/null and b/src/resources/BaseEvaluations.png differ
diff --git a/src/resources/BaseEvaluationsmini.png b/src/resources/BaseEvaluationsmini.png
new file mode 100644
index 0000000..2f3372c
Binary files /dev/null and b/src/resources/BaseEvaluationsmini.png differ
diff --git a/src/resources/accueilChargeEvaluation.png b/src/resources/accueilChargeEvaluation.png
new file mode 100644
index 0000000..c27e585
Binary files /dev/null and b/src/resources/accueilChargeEvaluation.png differ
diff --git a/src/resources/bye-bye.png b/src/resources/bye-bye.png
new file mode 100644
index 0000000..dd168e6
Binary files /dev/null and b/src/resources/bye-bye.png differ
diff --git a/src/resources/sauvegardehistoriqueevaluation.png b/src/resources/sauvegardehistoriqueevaluation.png
new file mode 100644
index 0000000..3d0b953
Binary files /dev/null and b/src/resources/sauvegardehistoriqueevaluation.png differ
diff --git a/src/resources/sauvegardehistoriqueevaluationmini.png b/src/resources/sauvegardehistoriqueevaluationmini.png
new file mode 100644
index 0000000..6eb5318
Binary files /dev/null and b/src/resources/sauvegardehistoriqueevaluationmini.png differ
diff --git a/src/resources/saveEvaluation.png b/src/resources/saveEvaluation.png
new file mode 100644
index 0000000..844f49a
Binary files /dev/null and b/src/resources/saveEvaluation.png differ
diff --git a/src/resources/saveEvaluationmini.png b/src/resources/saveEvaluationmini.png
new file mode 100644
index 0000000..3d0a8d1
Binary files /dev/null and b/src/resources/saveEvaluationmini.png differ
diff --git a/src/xml/node.java b/src/xml/node.java
index 88d069f..b9afd91 100644
--- a/src/xml/node.java
+++ b/src/xml/node.java
@@ -166,6 +166,12 @@ private boolean nodeClose = false;
return null;
}
+ /**
+ * Retourne le premier enfant ayant le nom nameNode.
+ * Sinon retourne un null.
+ * @param nameNode : le nom de l'enfant.
+ * @return
+ */
public node retourneFirstEnfant(String nameNode) {
if(this.nameNode.equals(nameNode)) return this;
for (node nod : enfants) {
@@ -753,19 +759,28 @@ private boolean nodeClose = false;
* @param pathDestination Le répertoire de destination qui sera inclus dans le répertoire courant de l'application.
* @param fourniDestination Le répertoire courant de l'application.
* @throws IOException Exception Input Output
+ * @return Erreur True ou False
*/
- public void saveNodeEnXML(String filename, String pathDestination) throws IOException {
-
-
- if(filename.contains(".xml")) filename = filename.substring(0,filename.lastIndexOf(".xml"));
+ public boolean saveNodeEnXML(String filenameWithExtension, String pathDestination) {
+ if(!filenameWithExtension.contains(".xml")) {
+ filenameWithExtension = filenameWithExtension.substring(0,filenameWithExtension.lastIndexOf(".xml"));
+ }
- Path outputFilePath = Paths.get(pathDestination +"/"+ filename + ".xml");
+ Path outputFilePath = Paths.get(pathDestination +"/"+ filenameWithExtension + ".xml");
- BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8);
-
- fichier.write(this.ecritureXML().toString());
- fichier.close();
-
+ if(Files.isWritable(outputFilePath)){
+ try {
+ BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8);
+ fichier.write(this.ecritureXML().toString());
+ fichier.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ return false;
+ }
+ }else {
+ return false;
+ }
+ return true;
}
/**