diff --git a/.classpath b/.classpath
index 148593c..4b5675b 100644
--- a/.classpath
+++ b/.classpath
@@ -12,6 +12,6 @@
-
+
diff --git a/analyseWriter.exe b/analyseWriter.exe
index bb484d1..4eca12e 100644
Binary files a/analyseWriter.exe and b/analyseWriter.exe differ
diff --git a/analyseWriter.jar b/analyseWriter.jar
index 09527ed..127f009 100644
Binary files a/analyseWriter.jar and b/analyseWriter.jar differ
diff --git a/bin/.gitignore b/bin/.gitignore
index 56b75eb..00c5928 100644
--- a/bin/.gitignore
+++ b/bin/.gitignore
@@ -3,105 +3,6 @@
/evaluer/
/fenetres/
/list/
-/property.png
-/property.svg
-/recherche.png
-/recherche.svg
-/rechercheDoublon.png
-/rechercheDoublon.svg
-/rechercheDoublonmini.png
-/rechercheancragepage.png
-/rechercheancragepage.svg
-/rechercheancragepagemini.png
-/recherchecontenu.png
-/recherchecontenu.svg
-/recherchecontenumini.png
-/recherchecontenuplusprochevoisin.png
-/recherchecontenuplusprochevoisin.svg
-/recherchecontenuplusprochevoisinmini.png
-/rechercheindex.png
-/rechercheindex.svg
-/rechercheindexmini.png
-/recherchemini.png
-/redo.png
-/saut.svg
-/sautmini.png
-/sautmultiple.png
-/sautmultiple.svg
-/sautmultiplemini.png
-/sautpageColonne.svg
-/sautpagecolonne.png
-/sautpagecolonnemini.png
-/save.png
-/save.svg
-/save_as.png
-/saveas.svg
-/saveasmini.png
-/savemini.png
-/savepreference.png
-/savepreference.svg
-/savepreferencemini.png
-/section.png
-/section.svg
-/sequence.png
-/sequence.svg
-/setting.png
-/setting.svg
-/settingmini.png
-/similitude.png
-/similitude.svg
-/similitudemini.png
-/structurepage.png
-/structurepage.svg
-/stylepage.png
-/stylepage.svg
-/styleparagraphe.png
-/styleparagraphe.svg
-/supprime.svg
-/supprimemini.png
-/textclean.png
-/textclean.svg
-/textcleanmini.png
-/titre.svg
-/titremini.png
-/totalpoint.png
-/totalpoint.svg
-/totalpointmini.png
-/totalpointnode.png
-/totalpointnode.svg
-/totalpointnodemini.png
-/touslesnodes.png
-/touslesnodes.svg
-/touslesnodesmini.png
-/toutext.png
-/toutext.svg
-/toutextmini.png
-/traduction.png
-/traduction.svg
-/traductionmini.png
-/treeClose.png
-/treeClose.svg
-/treeLeaf.png
-/treeLeaf.svg
-/treeOpen.png
-/treeOpen.svg
-/triche.png
-/triche.svg
-/trichemini.png
-/true.png
-/true.svg
-/truemini.png
-/tutoriel.png
-/tutoriel.svg
-/tutorielmini.png
-/undo.png
-/upnode.png
-/upnode.svg
-/upnodemini.png
-/verifhistorique.png
-/verifhistoriquemax.png
-/verifhistoriquemini.png
-/verifhistoriquestudent.png
/verifhistoriquestudent.svg
/verifhistoriquestudentmini.png
/versevaluate.png
diff --git a/bin/MEPTL/meptl.class b/bin/MEPTL/meptl.class
index 9b3b826..5a8c7c1 100644
Binary files a/bin/MEPTL/meptl.class and b/bin/MEPTL/meptl.class differ
diff --git a/bin/evaluer/analyseFichier.class b/bin/evaluer/analyseFichier.class
index 6e919ca..d4850a4 100644
Binary files a/bin/evaluer/analyseFichier.class and b/bin/evaluer/analyseFichier.class differ
diff --git a/bin/fenetres/afficheText.class b/bin/fenetres/afficheText.class
index fa417e4..1c514cd 100644
Binary files a/bin/fenetres/afficheText.class and b/bin/fenetres/afficheText.class differ
diff --git a/bin/fenetres/createPopupMenu.class b/bin/fenetres/createPopupMenu.class
index 707e70a..d57885d 100644
Binary files a/bin/fenetres/createPopupMenu.class and b/bin/fenetres/createPopupMenu.class differ
diff --git a/bin/fenetres/create_act/actEvalFormatageDirectNon.class b/bin/fenetres/create_act/actEvalFormatageDirectNon.class
index bca4adb..0e91767 100644
Binary files a/bin/fenetres/create_act/actEvalFormatageDirectNon.class and b/bin/fenetres/create_act/actEvalFormatageDirectNon.class differ
diff --git a/bin/fenetres/create_act/actEvalFormatageDirectOui.class b/bin/fenetres/create_act/actEvalFormatageDirectOui.class
index 558248a..bf5f09a 100644
Binary files a/bin/fenetres/create_act/actEvalFormatageDirectOui.class and b/bin/fenetres/create_act/actEvalFormatageDirectOui.class differ
diff --git a/bin/fenetres/evaluerLesFichiersEtudiants.class b/bin/fenetres/evaluerLesFichiersEtudiants.class
index db25960..bbe6c7d 100644
Binary files a/bin/fenetres/evaluerLesFichiersEtudiants.class and b/bin/fenetres/evaluerLesFichiersEtudiants.class differ
diff --git a/src/MEPTL/meptl.java b/src/MEPTL/meptl.java
index 6e4ccbc..a834f52 100644
--- a/src/MEPTL/meptl.java
+++ b/src/MEPTL/meptl.java
@@ -1724,7 +1724,7 @@ public class meptl {
}
if(nodSujet.getAttributs().get("creationDate")!=null) {
- if(!(b.getContenu().contains(nodSujet.getAttributs().get("creationDate")))) { //nodSujet.getAttributs().get("creationDate").contains(b.getContenu())
+ if(!(b.getContenu().toString().contains(nodSujet.getAttributs().get("creationDate")))) { //nodSujet.getAttributs().get("creationDate").contains(b.getContenu())
manqueValeurCreationDate = true;
}
}
@@ -1765,6 +1765,7 @@ public class meptl {
erreurs.getAttributs().put("manqueValeurCreationDate", String.valueOf(manqueValeurCreationDate));
erreurs.getAttributs().put("manqueInitialCreator", String.valueOf(manqueInitialCreator));
+
if(nodSujet.getAttributs().get("historiquePresent")!=null) {
if(nodSujet.getAttributs().get("historiquePresent").equalsIgnoreCase("true")) {
if(manqueHistorique) {
diff --git a/src/evaluer/analyseFichier.java b/src/evaluer/analyseFichier.java
index 6e87025..22e4a16 100644
--- a/src/evaluer/analyseFichier.java
+++ b/src/evaluer/analyseFichier.java
@@ -96,7 +96,9 @@ public class analyseFichier {
// verification si au moins une erreur alors l'analyse est terminée
if(Boolean.valueOf(erreurs.getAttributs().get("oneError"))){
- return clotureNodeAnalyse(nodouverture, nodbodyetnotation, nodmenu, erreurs, nodmeta, nodpage, nodparagraph, nodsequence, nodnumerochapitre, nodframes, nodsections, nodtableaux, nodbiblio, nodtablematieres, nodtableillustrations, nodstructurepage, nodSujet.getContenu().get(0), null);
+ String texte = "";
+ if(nodSujet.getContenu().size()>0) texte = nodSujet.getContenu().get(0);
+ return clotureNodeAnalyse(nodouverture, nodbodyetnotation, nodmenu, erreurs, nodmeta, nodpage, nodparagraph, nodsequence, nodnumerochapitre, nodframes, nodsections, nodtableaux, nodbiblio, nodtablematieres, nodtableillustrations, nodstructurepage, texte, null);
}
diff --git a/src/fenetres/afficheText.java b/src/fenetres/afficheText.java
index 6970eb9..b297540 100644
--- a/src/fenetres/afficheText.java
+++ b/src/fenetres/afficheText.java
@@ -437,7 +437,8 @@ public class afficheText extends JEditorPane {
+ "
Nom du fichier d'analyse : "+ commandes.nameSujet + "
");
text.append("Le titre de l'exercice est : " + commandes.analyse_titre+"
");
text.append("Le sujet (metaSujet) est : " + commandes.analyse_metaSujet+"
");
- text.append("L'auteur de l'exercice est : " + commandes.analyse_auteur+"
");
+ text.append("L'auteur de l'exercice est : " + commandes.analyse_auteur+"
");
+ text.append("
");
if(commandes.analyse_baremeABC==true) {
text.append("
La notation est sous la forme d'une note alphabétique ABCDE.
");
text.append("La progression est de " + String.valueOf(commandes.analyse_progression)+ "
");
@@ -450,7 +451,9 @@ public class afficheText extends JEditorPane {
calculNotesProgression C = new calculNotesProgression(commandes.analyse_progression, commandes.analyse_notefrom);
text.append("" + C.getMessageLigne() + "
");
}
- text.append("
");
+ text.append("
");
+ text.append("La distance de Lenvenhein : " + String.valueOf(commandes.tolerance_text)+ ".
");
+ text.append("
");
text.append("Le nom du fichier : " + commandes.analysis_filename + "
");
text.append("Le hash de l'évaluation est : " + commandes.hash + "
");
text.append("
");
@@ -458,16 +461,15 @@ public class afficheText extends JEditorPane {
text.append("
");
text.append("Verification de la presence metaSujet : " + commandes.analyse_presenceMetaSujet + "
");
text.append("
");
- text.append("Contrôle la date de céation : " + commandes.analyse_controleDateCreation+ "
");
+ text.append("Contrôle la date de création : " + commandes.analyse_controleDateCreation+ "
");
text.append("
");
text.append("Contrôle l'auteur initial du fichier : " + commandes.analyse_controle_Initial_Creator + "
");
- text.append("
");
+ text.append("
");
text.append("Dossier de l'analyse contenant les fichiers des étudiants, feedbacks et notes :
");
text.append(""+commandes.path+"
");
- text.append("
");
- text.append("
Fichier d'analyse :
");
+ text.append("
");
+ text.append("Fichier d'analyse :
");
text.append(""+commandes.analysis_filename+"
");
-
setContentType("text/html");
setText(text.toString());
diff --git a/src/fenetres/createPopupMenu.java b/src/fenetres/createPopupMenu.java
index 1d72390..f45dfcb 100644
--- a/src/fenetres/createPopupMenu.java
+++ b/src/fenetres/createPopupMenu.java
@@ -29,6 +29,10 @@ public class createPopupMenu extends JPopupMenu {
*/
private static final long serialVersionUID = 1L;
+ /**
+ * Création de la popupmenu.
+ * @param nod
+ */
public createPopupMenu(node nod) {
if(nod!=null) {
@@ -125,6 +129,8 @@ public class createPopupMenu extends JPopupMenu {
mnEvalTousParagraphes.add(new actAllContentChilds());
mnEvalTousParagraphes.addSeparator();
mnEvalTousParagraphes.add(mnEvalNameLegacyStyleTousLesNodes());
+ mnEvalTousParagraphes.addSeparator();
+ mnEvalTousParagraphes.add(mnEvalFormatageDirectTousLesNodes());
return mnEvalTousParagraphes;
}
@@ -167,6 +173,21 @@ public class createPopupMenu extends JPopupMenu {
return mnEvalFormatageDirect;
}
+ /**
+ * Evaluer l'absence ou la présence du formatage directe.
+ * De tous les nodes de la structurepage.
+ * Uniquement présent sur les paragraphes ou les titres.
+ * @return
+ */
+ private JMenu mnEvalFormatageDirectTousLesNodes() {
+ JMenu mnEvalFormatageDirectTousLesNodes = new JMenu("Evaluer l'absence ou la présence du formatage direct");
+ mnEvalFormatageDirectTousLesNodes.setIcon( new ImageIcon(create.class.getResource("/resources/evalformatagedirectmini.png")));
+ mnEvalFormatageDirectTousLesNodes.add(new actEvalFormatageDirectTousLesNodesTrue());
+ mnEvalFormatageDirectTousLesNodes.add( new actEvalFormatageDirectTousLesNodesFalse());
+ return mnEvalFormatageDirectTousLesNodes;
+ }
+
+
/**
* Evaluer l'absence de paragraphe vide dans les pages.
* Uniquement présent sur les nodes page.
diff --git a/src/fenetres/create_act/actEvalFormatageDirectNon.java b/src/fenetres/create_act/actEvalFormatageDirectNon.java
index 96378c5..d18efb3 100644
--- a/src/fenetres/create_act/actEvalFormatageDirectNon.java
+++ b/src/fenetres/create_act/actEvalFormatageDirectNon.java
@@ -24,6 +24,8 @@ public class actEvalFormatageDirectNon extends AbstractAction{
public void actionPerformed(ActionEvent e) {
node nod = (node) fenetres.create.getSelectNode().getUserObject();
nod.supprimeAttribut("evalFormatageDirect");
- fenetres.create.getTextNodeSelect().refreshAffichage(nod); }
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+
+ }
}
diff --git a/src/fenetres/create_act/actEvalFormatageDirectOui.java b/src/fenetres/create_act/actEvalFormatageDirectOui.java
index 2560607..e384117 100644
--- a/src/fenetres/create_act/actEvalFormatageDirectOui.java
+++ b/src/fenetres/create_act/actEvalFormatageDirectOui.java
@@ -14,7 +14,7 @@ import fenetres.create;
public class actEvalFormatageDirectOui extends AbstractAction{
{
putValue( Action.NAME, "Oui, combien de point?" );
- putValue( Action.SHORT_DESCRIPTION, "Evaluer la présence ou l'basence du formatage direct." );
+ putValue( Action.SHORT_DESCRIPTION, "Evaluer la présence ou l'absence du formatage direct." );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/truemini.png")) );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/truemini.png")) );
}
diff --git a/src/fenetres/create_act/actEvalFormatageDirectTousLesNodesFalse.java b/src/fenetres/create_act/actEvalFormatageDirectTousLesNodesFalse.java
new file mode 100644
index 0000000..b7e75e5
--- /dev/null
+++ b/src/fenetres/create_act/actEvalFormatageDirectTousLesNodesFalse.java
@@ -0,0 +1,48 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+
+import cXML.node;
+import fenetres.create;
+import list.listeDesNodesAnalyseStyle;
+
+public class actEvalFormatageDirectTousLesNodesFalse extends AbstractAction{
+ {
+ putValue( Action.NAME, "Supprime évaluer l'absence ou la présence du formatage direct" );
+ putValue( Action.SHORT_DESCRIPTION, "Supprime évaluer l'absence ou la présence du formatage direct." );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/falsemini.png")) );
+ }
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ if(nod.getNomElt().equals("page")) {
+ supprimeAttribut(nod);
+ }
+ if(nod.getNomElt().equals("structurepage")) {
+ for(int i = 0 ; i < nod.getNodes().size();i++) {
+ if(nod.getNodes().get(i).getNomElt().equals("page")) {
+ supprimeAttribut(nod.getNodes().get(i));
+ }
+ }
+ }
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+ private void supprimeAttribut(node nodePage) {
+ for(int i = 0 ; i < nodePage.getNodes().size();i++) {
+ if(listeDesNodesAnalyseStyle.isAnalyseStyle(nodePage.getNodes().get(i))) {
+ nodePage.getNodes().get(i).supprimeAttribut("evalFormatageDirect");
+ }
+ }
+ }
+
+}
diff --git a/src/fenetres/create_act/actEvalFormatageDirectTousLesNodesTrue.java b/src/fenetres/create_act/actEvalFormatageDirectTousLesNodesTrue.java
new file mode 100644
index 0000000..1478220
--- /dev/null
+++ b/src/fenetres/create_act/actEvalFormatageDirectTousLesNodesTrue.java
@@ -0,0 +1,74 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+import javax.swing.JOptionPane;
+
+import cXML.node;
+import fenetres.baliseStyle;
+import fenetres.create;
+import list.listeDesNodesAnalyseStyle;
+
+public class actEvalFormatageDirectTousLesNodesTrue extends AbstractAction{
+ {
+ putValue( Action.NAME, "Oui, combien de point?" );
+ putValue( Action.SHORT_DESCRIPTION, "Evaluer la présence ou l'absence du formatage direct." );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/truemini.png")) );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/truemini.png")) );
+ }
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ int point = 0;
+ if(nod.getAttributs().get("evalFormatageDirect")!=null) {
+ point = Integer.valueOf(nod.getAttributs().get("evalFormatageDirect"));
+ }
+
+ String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
+
+ if(!a.isEmpty()) {
+ try {
+ point = Integer.valueOf(a);
+ if(point<=0) {
+ nod.getAttributs().put("evalFormatageDirect", String.valueOf(0));
+ fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
+ fenetres.create.getTextNodeSelect().setText("Erreur la valeur doit être un nombre entier POSITIF supérieur à zéro.
Cependant,la valeur a été modifiée.
evalFormatageDirect=0.
");
+ }else {
+ String pointString = String.valueOf(point);
+ if(nod.getNomElt().equals("page")) {
+ ajouteAttribut(nod,pointString);
+ }
+ if(nod.getNomElt().equals("structurepage")) {
+ for(int i = 0 ; i < nod.getNodes().size(); i++) {
+ if(nod.getNodes().get(i).getNomElt().equals("page")) {
+ ajouteAttribut(nod.getNodes().get(i),pointString);
+ }
+ }
+ }
+ }
+ } catch (Exception e2) {
+ fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
+ fenetres.create.getTextNodeSelect().setText("Erreur la valeur doit être un nombre entier.
L'attribut n'a pas été modifiée.
");
+ }
+ }
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+
+ private void ajouteAttribut(node nodePage, String pointString) {
+ for(int i = 0 ; i < nodePage.getNodes().size(); i++) {
+ if(listeDesNodesAnalyseStyle.isAnalyseStyle(nodePage.getNodes().get(i))) {
+ nodePage.getNodes().get(i).getAttributs().put("evalFormatageDirect", pointString);
+ }
+ }
+ }
+
+}
diff --git a/src/fenetres/evaluerLesFichiersEtudiants.java b/src/fenetres/evaluerLesFichiersEtudiants.java
index 97c069a..66f55fe 100644
--- a/src/fenetres/evaluerLesFichiersEtudiants.java
+++ b/src/fenetres/evaluerLesFichiersEtudiants.java
@@ -150,14 +150,17 @@ public class evaluerLesFichiersEtudiants implements Runnable{
node nod = Run.XMLContent(a.getLectDossiers().getEC().getListeContentWriter().get(i));
node nodStudent=null;
try {
- //Supprime l'historique des modifications
- nod.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes");
- nod.supprimeTousLesNodesEnfantWithThisName("text:change-start");
- nod.supprimeTousLesNodesEnfantWithThisName("text:change-end");
- nod.supprimeTousLesNodesEnfantWithThisName("text:deletion");
+
//Création du node de l'étudiant
nodStudent = meptl.LectureFichierEtudiantSousFormeDeNode(nod,a,i);
+
+ //Supprime l'historique des modifications
+ nodStudent.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes");
+ nodStudent.supprimeTousLesNodesEnfantWithThisName("text:change-start");
+ nodStudent.supprimeTousLesNodesEnfantWithThisName("text:change-end");
+ nodStudent.supprimeTousLesNodesEnfantWithThisName("text:deletion");
+
} catch (IOException e1) {
e1.printStackTrace();
}
diff --git a/src/fenetres/filechooserXML.java b/src/fenetres/filechooserXML.java
index 0b07918..3348814 100644
--- a/src/fenetres/filechooserXML.java
+++ b/src/fenetres/filechooserXML.java
@@ -102,7 +102,7 @@ public class filechooserXML extends JFileChooser {
//node.node2(targetString);
node sujetLoad = new node(targetString.toString().replace("\t","").replace("\r", "").replace("\n", ""));
- //Supprime l'historique des modifications
+ //Supprime l'historique des modifications pour pouvoir créer le fichier d'nalyse
sujetLoad.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes");
sujetLoad.supprimeTousLesNodesEnfantWithThisName("text:deletion");
sujetLoad.supprimeTousLesNodesEnfantWithThisName("text:change-start");