diff --git a/bin/.gitignore b/bin/.gitignore index 47bca82..bd43c24 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -6,112 +6,8 @@ /calcul/ /evaluer/ /fenetres/ -/lesnodesevaluermini.png /list/ -/loadpreference.svg -/loadpreferencemini.png -/loadpreferences.png -/logo analyseWriter accueill.svg -/logo.png -/logo.svg -/marquenode.png -/marquenode.svg -/marquenodemini.png -/menuEvalTousParagraphe.png -/menuEvalTousParagraphe.svg -/menuEvalTousParagraphemini.png /menucontextuel/ -/menulegacystyleparentpresent.png -/menulegacystyleparentpresentmini.png -/meta.png -/meta.svg -/new.png -/newlogo.png -/newlogo.svg -/newlogomini.png -/nocsvstudent.png -/nocsvstudentmini.png -/nodeFichier.png -/nodeFichier_FichierAnalyse.svg -/nodeFichiermax.png -/nodeFichiermini.png -/nodetail.png -/nodetail.svg -/nodetailfeedback.png -/nodetailfeedbackmini.png -/nodetailmini.png -/nofeedback.png -/nofeedbackmini.png -/nofeedbackstudent.png -/nofeedbackstudent.svg -/nofeedbackstudentmini.png -/nologo.png -/nonewlogo.png -/nonewlogomini.png -/nonotestudent.png -/nonotestudentl.svg -/nonotestudentmini.png -/notestudent.png -/notestudentmini.png -/noverifhistoriquestudent.png -/noverifhistoriquestudentmini.png -/nozipstudent.png -/nozipstudentmini.png -/numerotationchapitre.png -/numerotationchapitre.svg -/objet.png -/objet.svg -/odreparagraphe.png -/odreparagraphemini.png -/open.png -/open.svg -/open2.png -/openmax.png -/openmini.png -/ordreparagraphe.png -/ordreparagraphe.svg -/ordreparagraphemini.png -/ou.png -/ouenviron.png -/ouenviron.svg -/ouenvironmini.png -/ouenvironsimilitude.png -/ouenvironsimilitude.svg -/ouenvironsimilitudemini.png -/oumini.png -/oustrict.png -/oustrict.svg -/oustrictmini.png -/oustrictseps.png -/oustrictseps.svg -/oustrictsepsmini.png -/paragraphe_source.svg -/paste.png -/piedpagenon.png -/piedpagenon.svg -/piedpagenonmini.png -/piedpageoui.png -/piedpageoui.svg -/piedpageouimini.png -/poids.svg -/poidsmini.png -/premierenfant.png -/premierenfant.svg -/premierenfantmini.png -/property.png -/property.svg -/quitteEvaluation.png -/quitteEvaluation.svg -/quitteEvaluationmini.png -/quitteListe.svg -/quitteliste.png -/quittelistemini.png -/recherche.png -/recherche.svg -/rechercheDoublon.png -/rechercheDoublon.svg -/rechercheDoublonmini.png -/rechercheancragepage.png /rechercheancragepage.svg /rechercheancragepagemini.png /recherchecontenu.png @@ -251,6 +147,3 @@ /zipstudent.png /zipstudent.svg /zipstudentmini.png -/evalnombreparagraphe.png -/evalnombreparagraphe.svg -/evalnombreparagraphemini.png diff --git a/bin/evalnombreparagraphe.png b/bin/evalnombreparagraphe.png new file mode 100644 index 0000000..6adcae9 Binary files /dev/null and b/bin/evalnombreparagraphe.png differ diff --git a/bin/evalnombreparagraphe.svg b/bin/evalnombreparagraphe.svg new file mode 100644 index 0000000..88bc363 --- /dev/null +++ b/bin/evalnombreparagraphe.svg @@ -0,0 +1,125 @@ + + + + diff --git a/bin/evalnombreparagraphemini.png b/bin/evalnombreparagraphemini.png new file mode 100644 index 0000000..ebb186d Binary files /dev/null and b/bin/evalnombreparagraphemini.png differ diff --git a/src/MEPTL/commandes.java b/src/MEPTL/commandes.java index bc2ae2f..6ee5f2d 100644 --- a/src/MEPTL/commandes.java +++ b/src/MEPTL/commandes.java @@ -29,6 +29,7 @@ public class commandes { //** Le node base de données des évaluations public static node evaluationsBase = null; public static node evaluationChargeEnMemoire = null; + public static int hashCodeEvaluationSave = 0; //** Le node contenant les listes des étudiants public static node listesEtudiants = null; diff --git a/src/action/actExit.java b/src/action/actExit.java index c28057e..76ad2f2 100644 --- a/src/action/actExit.java +++ b/src/action/actExit.java @@ -9,6 +9,7 @@ import javax.swing.ImageIcon; import javax.swing.JOptionPane; import javax.swing.KeyStroke; +import MEPTL.commandes; import fenetres.baseDonneesEvaluations; import fenetres.create; import fenetres.evaluate; @@ -32,11 +33,20 @@ public class actExit extends AbstractAction { @Override public void actionPerformed(ActionEvent e) { - if(JOptionPane.showConfirmDialog(null,"Voulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) { - baseDonneesEvaluations.ferme(); - create.fermeCreate(); - evaluate.ferme(); - } + int H = commandes.evaluationChargeEnMemoire.hashCode(); + if(H==commandes.hashCodeEvaluationSave){ + if(JOptionPane.showConfirmDialog(null,"Voulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) { + baseDonneesEvaluations.ferme(); + create.fermeCreate(); + evaluate.ferme(); + } + }else{ + if(JOptionPane.showConfirmDialog(null,"Vous avez apporté des modifications à cette évaluation.\nVoulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) { + baseDonneesEvaluations.ferme(); + create.fermeCreate(); + evaluate.ferme(); + } + } } } diff --git a/src/baseEvaluations/chargeEvaluation.java b/src/baseEvaluations/chargeEvaluation.java index 00d8c46..0154ec0 100644 --- a/src/baseEvaluations/chargeEvaluation.java +++ b/src/baseEvaluations/chargeEvaluation.java @@ -71,6 +71,7 @@ public class chargeEvaluation { //* Charge le node sujet provisoirement commandes.evaluationChargeEnMemoire = evaluation; + commandes.hashCodeEvaluationSave = evaluation.hashCode(); commandes.NameEvaluationCharger= evaluation.getAttributs().get("name"); commandes.path = evaluation.getAttributs().get("path"); //Dossier des fichiers des étudiants diff --git a/src/baseEvaluations/creerNouvelleEvaluation.java b/src/baseEvaluations/creerNouvelleEvaluation.java index 8a8f275..87c5e3c 100644 --- a/src/baseEvaluations/creerNouvelleEvaluation.java +++ b/src/baseEvaluations/creerNouvelleEvaluation.java @@ -52,6 +52,7 @@ public class creerNouvelleEvaluation { evaluation.getAttributs().put("dateModification", calcul.formatDateWriter.DateLibreOffice(aujourdhui)); evaluation.getNodes().add(commandes.sujet); commandes.evaluationChargeEnMemoire = evaluation; + commandes.hashCodeEvaluationSave = evaluation.hashCode(); }else { //Mise à jour if(!importation) evaluation.getAttributs().put("dateModification", calcul.formatDateWriter.DateLibreOffice(aujourdhui)); diff --git a/src/baseEvaluations/recupeNodeBaseEvaluations.java b/src/baseEvaluations/recupeNodeBaseEvaluations.java index 45441ff..fda0fef 100644 --- a/src/baseEvaluations/recupeNodeBaseEvaluations.java +++ b/src/baseEvaluations/recupeNodeBaseEvaluations.java @@ -54,7 +54,10 @@ public class recupeNodeBaseEvaluations { evaluations = evaluations.allFirstNodesEvaluationFichierOnly(targetString.toString().replace("\t","").replace("\r", "").replace("\n", "")); - if(evaluations!=null) commandes.evaluationsBase = evaluations; + if(evaluations!=null) { + commandes.evaluationsBase = evaluations; + commandes.hashCodeEvaluationSave = evaluations.hashCode(); + } if(evaluations.getNodes().size()>0) HasEvaluation=true; }catch (Exception e) { diff --git a/src/fenetres/afficheText.java b/src/fenetres/afficheText.java index a69dc3d..b440623 100644 --- a/src/fenetres/afficheText.java +++ b/src/fenetres/afficheText.java @@ -474,9 +474,10 @@ public class afficheText extends JEditorPane { StringBuilder text = new StringBuilder(); text.append(baliseStyle.balise()); - text.append("
Fichier d'analyse créé avec la version : " + v + "
" - + "Nom du fichier d'analyse : "+ commandes.nameSujet + "
" - + "Nom de l'évaluation : "+ commandes.NameEvaluationCharger + "
Fichier d'analyse créé avec la version : " + v + "
" + + "Nom du fichier d'analyse : "+ commandes.sujet.getAttributs().get("analysis_filename") + "
" + + "Nom de l'évaluation : "+ commandes.NameEvaluationCharger + "
Le sujet (metaSujet) est : " + commandes.analyse_metaSujet+"
"); text.append("L'auteur de l'exercice est : " + commandes.analyse_auteur+"
"); diff --git a/src/fenetres/baliseStyle.java b/src/fenetres/baliseStyle.java index 192df24..3de37e4 100644 --- a/src/fenetres/baliseStyle.java +++ b/src/fenetres/baliseStyle.java @@ -21,6 +21,7 @@ public class baliseStyle { + ".city { background-color: transparent;color: #008B8B;padding: 10px;}" + ".rouge { background-color: #8B0000;color: white;padding: 10px;}" + "li.p2{color:green;font-family:\"Arial\";font-size: 15pt;margin-bottom: 0cm; margin-top: 0cm; line-height: 0%; background: transparent; margin-left: 0cm; white-space: pre;}" + + ".red {color:#FF0505}" + "li.p4{color:#1122EE;font-family:\"Arial\";font-size: 15pt;margin-bottom: 0cm; margin-top: 0cm; line-height: 0%; background: transparent; margin-left: 0cm; white-space: pre;}" + "li.p3{color:red;font-family:\"Arial\";font-size: 14pt;margin-bottom: 0cm; margin-top: 0cm; line-height: 0%; background: transparent; margin-left: 0cm; white-space: pre;}" + "li.p5{color:#55BB11;font-family:\"Arial\";font-size: 16pt;margin-bottom: 0cm; margin-top: 0cm; line-height: 0%; background: transparent; margin-left: 0cm; white-space: pre;}" diff --git a/src/fenetres/create.java b/src/fenetres/create.java index 768a489..839dd6b 100644 --- a/src/fenetres/create.java +++ b/src/fenetres/create.java @@ -622,15 +622,22 @@ 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) { - baseDonneesEvaluations.ferme(); - evaluate.ferme(); - fermeCreate(); - }; + int H = commandes.evaluationChargeEnMemoire.hashCode(); + if(H==commandes.hashCodeEvaluationSave){ + if(JOptionPane.showConfirmDialog(null,"Voulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) { + baseDonneesEvaluations.ferme(); + evaluate.ferme(); + fermeCreate(); + } + }else{ + if(JOptionPane.showConfirmDialog(null,"Vous avez apporté des modifications à cette évaluation.\nVoulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) { + baseDonneesEvaluations.ferme(); + create.fermeCreate(); + } + } } }); - } diff --git a/src/fenetres/evaluate.java b/src/fenetres/evaluate.java index 85cafa3..95a6c9e 100644 --- a/src/fenetres/evaluate.java +++ b/src/fenetres/evaluate.java @@ -179,9 +179,11 @@ public class evaluate extends JFrame { if(chckbxfichiersEtudiants.isSelected()) { commandes.fichierStudentMoodle=true; lblImageDossierEtudiant.setIcon(new ImageIcon(getClass().getResource("/resources/fichieretudiant.png"))); + commandes.evaluationChargeEnMemoire.getAttributs().put("fichierStudentMoodle", "true" ); }else { commandes.fichierStudentMoodle=false; lblImageDossierEtudiant.setIcon(new ImageIcon(getClass().getResource("/resources/dossieretudiant.png"))); + commandes.evaluationChargeEnMemoire.getAttributs().put("fichierStudentMoodle", "false" ); } } }); @@ -192,8 +194,10 @@ public class evaluate extends JFrame { public void stateChanged(ChangeEvent e) { if(chckPasDeProgression.isSelected()) { commandes.noAfficheProgression=true; + commandes.evaluationChargeEnMemoire.getAttributs().put("noAfficheProgression", "true" ); }else { commandes.noAfficheProgression=false; + commandes.evaluationChargeEnMemoire.getAttributs().put("noAfficheProgression", "false" ); } } }); @@ -214,9 +218,11 @@ public class evaluate extends JFrame { if(chckbxnoFeedback.isSelected()) { lblNoFeedBack.setIcon(new ImageIcon(getClass().getResource("/resources/nofeedbackstudent.png"))); commandes.sansFeeback=true; + commandes.evaluationChargeEnMemoire.getAttributs().put("sansFeeback", "true" ); }else { lblNoFeedBack.setIcon(new ImageIcon(getClass().getResource("/resources/feedbackstudent.png"))); commandes.sansFeeback=false; + commandes.evaluationChargeEnMemoire.getAttributs().put("sansFeeback", "false" ); } } }); @@ -238,9 +244,11 @@ public class evaluate extends JFrame { if(chckbxNoDetail.isSelected()) { lblNoDeatail.setIcon(new ImageIcon(getClass().getResource("/resources/nodetailfeedback.png"))); commandes.noDetail=true; + commandes.evaluationChargeEnMemoire.getAttributs().put("noDetail", "true" ); }else { lblNoDeatail.setIcon(new ImageIcon(getClass().getResource("/resources/detailfeedback.png"))); commandes.noDetail=false; + commandes.evaluationChargeEnMemoire.getAttributs().put("noDetail", "false" ); } } }); @@ -268,9 +276,11 @@ public class evaluate extends JFrame { if(chckbxNoNote.isSelected()) { lblnonote.setIcon(new ImageIcon(evaluate.class.getResource("/resources/nonotestudent.png"))); commandes.noNote=true; + commandes.evaluationChargeEnMemoire.getAttributs().put("noNote", "true" ); }else { lblnonote.setIcon(new ImageIcon(evaluate.class.getResource("/resources/notestudent.png"))); commandes.noNote=false; + commandes.evaluationChargeEnMemoire.getAttributs().put("noNote", "false" ); } } }); @@ -291,9 +301,11 @@ public class evaluate extends JFrame { if(chckbxZipfeedback.isSelected()) { lblnozip.setIcon(new ImageIcon(evaluate.class.getResource("/resources/zipstudent.png"))); commandes.zipfeedback=true; + commandes.evaluationChargeEnMemoire.getAttributs().put("zipfeedback", "true" ); }else { lblnozip.setIcon(new ImageIcon(evaluate.class.getResource("/resources/nozipstudent.png"))); commandes.zipfeedback=false; + commandes.evaluationChargeEnMemoire.getAttributs().put("zipfeedback", "false" ); } } }); @@ -303,9 +315,11 @@ public class evaluate extends JFrame { if(chckbxVerif.isSelected()) { lblVerifHistorique.setIcon(new ImageIcon(evaluate.class.getResource("/resources/verifhistoriquestudent.png"))); commandes.verifHisto2=true; + commandes.evaluationChargeEnMemoire.getAttributs().put("verifHisto2", "true" ); }else { lblVerifHistorique.setIcon(new ImageIcon(evaluate.class.getResource("/resources/noverifhistoriquestudent.png"))); commandes.verifHisto2=false; + commandes.evaluationChargeEnMemoire.getAttributs().put("verifHisto2", "false" ); } } }); @@ -342,9 +356,11 @@ public class evaluate extends JFrame { if(chckCSVNotes.isSelected()) { lblCsvNote.setIcon(new ImageIcon(evaluate.class.getResource("/resources/csvstudent.png"))); commandes.ecritNoteCSV=true; + commandes.evaluationChargeEnMemoire.getAttributs().put("ecritNoteCSV", "true" ); }else { lblCsvNote.setIcon(new ImageIcon(evaluate.class.getResource("/resources/nocsvstudent.png"))); commandes.ecritNoteCSV=false; + commandes.evaluationChargeEnMemoire.getAttributs().put("ecritNoteCSV", "false" ); } } }); @@ -369,9 +385,11 @@ public class evaluate extends JFrame { lblNewLogo.setIcon(new ImageIcon(evaluate.class.getResource("/resources/newlogo.png"))); chckbxNoLogo.setSelected(true); commandes.newLogo=true; + commandes.evaluationChargeEnMemoire.getAttributs().put("newLogo", "true" ); }else { lblNewLogo.setIcon(new ImageIcon(evaluate.class.getResource("/resources/nonewlogo.png"))); commandes.newLogo=false; + commandes.evaluationChargeEnMemoire.getAttributs().put("newLogo", "false" ); } } }); @@ -390,14 +408,14 @@ public class evaluate extends JFrame { if(chckbxNoLogo.isSelected()) { lblnologo.setIcon(new ImageIcon(evaluate.class.getResource("/resources/nologo.png"))); commandes.noLogo=true; + commandes.evaluationChargeEnMemoire.getAttributs().put("noLogo", "true" ); }else { lblnologo.setIcon(new ImageIcon(evaluate.class.getResource("/resources/logo.png"))); commandes.noLogo=false; + commandes.evaluationChargeEnMemoire.getAttributs().put("noLogo", "false" ); } } }); - - JPanel panelCentre = new JPanel(); @@ -445,11 +463,19 @@ public class evaluate 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) { - baseDonneesEvaluations.ferme(); - create.fermeCreate(); - ferme(); - } + if(commandes.evaluationChargeEnMemoire.hashCode()==commandes.hashCodeEvaluationSave){ + if(JOptionPane.showConfirmDialog(null,"Voulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) { + baseDonneesEvaluations.ferme(); + create.fermeCreate(); + ferme(); + } + }else{ + if(JOptionPane.showConfirmDialog(null,"Vous avez apporté des modifications à cette évaluation.\nVoulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) { + baseDonneesEvaluations.ferme(); + create.fermeCreate(); + ferme(); + } + } } });