diff --git a/bin/.gitignore b/bin/.gitignore
index 1f05cf0..6f5d98a 100644
--- a/bin/.gitignore
+++ b/bin/.gitignore
@@ -1,6 +1,3 @@
-/MEPTL/
-/calcul/
-/evaluer/
/fenetres/
/list/
-/resources/
+/evaluer/
diff --git a/bin/allContentChild.svg b/bin/allContentChild.svg
new file mode 100644
index 0000000..7e3089a
--- /dev/null
+++ b/bin/allContentChild.svg
@@ -0,0 +1,213 @@
+
+
diff --git a/bin/allcontentchilds.png b/bin/allcontentchilds.png
new file mode 100644
index 0000000..2154d94
Binary files /dev/null and b/bin/allcontentchilds.png differ
diff --git a/bin/allcontentchildsmini.png b/bin/allcontentchildsmini.png
new file mode 100644
index 0000000..35c4f85
Binary files /dev/null and b/bin/allcontentchildsmini.png differ
diff --git a/bin/evaluer/evaluationAttribut.class b/bin/evaluer/evaluationAttribut.class
index d7257f3..0608d89 100644
Binary files a/bin/evaluer/evaluationAttribut.class and b/bin/evaluer/evaluationAttribut.class differ
diff --git a/bin/resources/allcontentchilds.png b/bin/resources/allcontentchilds.png
new file mode 100644
index 0000000..2154d94
Binary files /dev/null and b/bin/resources/allcontentchilds.png differ
diff --git a/bin/resources/allcontentchildsmini.png b/bin/resources/allcontentchildsmini.png
new file mode 100644
index 0000000..35c4f85
Binary files /dev/null and b/bin/resources/allcontentchildsmini.png differ
diff --git a/icons/allContentChild.svg b/icons/allContentChild.svg
new file mode 100644
index 0000000..7e3089a
--- /dev/null
+++ b/icons/allContentChild.svg
@@ -0,0 +1,213 @@
+
+
diff --git a/icons/allcontentchilds.png b/icons/allcontentchilds.png
new file mode 100644
index 0000000..2154d94
Binary files /dev/null and b/icons/allcontentchilds.png differ
diff --git a/icons/allcontentchildsmini.png b/icons/allcontentchildsmini.png
new file mode 100644
index 0000000..35c4f85
Binary files /dev/null and b/icons/allcontentchildsmini.png differ
diff --git a/src/evaluer/evaluationAttribut.java b/src/evaluer/evaluationAttribut.java
index 17de45a..6a223ed 100644
--- a/src/evaluer/evaluationAttribut.java
+++ b/src/evaluer/evaluationAttribut.java
@@ -4,6 +4,7 @@ import java.util.Enumeration;
import cXML.node;
import list.listeAttributsAnalyseWriter;
+import list.listeDesNodesEvalPlacement;
public class evaluationAttribut {
@@ -150,6 +151,7 @@ public class evaluationAttribut {
/**
* Analyse tous les attributs et les contenus d'un node.
* Les attributs et les contenus doivent posséder la caractère ‽ ou ‼.
+ * Ou le node doit posséder des attributs d'analyseWriter comme allContent="1", etc...
*
* @param nodeStudent : le node de l'étudiant.
* @param sujet : le node du sujet
@@ -163,6 +165,7 @@ public class evaluationAttribut {
while(key.hasMoreElements()) {
String k = key.nextElement();
+ // evaluer les attributs de Writer avec l'évaluateur ‽
if( sujet.getAttributs().get(k).contains("‽")){
if(nodeStudent!=null) {
String valueAttributStudent = nodeStudent.getAttributs().get(k);
@@ -207,6 +210,7 @@ public class evaluationAttribut {
}
}
+ // evaluer la non activation de l'entête.
if(k.equals("evalEntetePasActive") && sujet.getNomElt().equals("style:header-style")) {
if(nodeStudent!=null) {
int nbA=0;
@@ -231,6 +235,7 @@ public class evaluationAttribut {
}
}
+ // evaluer l'activation de l'entête
if(k.equals("evalEnteteActive") && sujet.getNomElt().equals("style:header-style")) {
if(nodeStudent!=null) {
int nbAs=0;
@@ -249,6 +254,7 @@ public class evaluationAttribut {
}
}
+ //evaluer la non activation du pied de page.
if(k.equals("evalPiedPagePasActive") && sujet.getNomElt().equals("style:footer-style")) {
if(nodeStudent!=null) {
int nbA=0;
@@ -273,6 +279,7 @@ public class evaluationAttribut {
}
}
+ // evaluer l'activation du pied de page
if(k.equals("evalPiedPageActive") && sujet.getNomElt().equals("style:footer-style")) {
if(nodeStudent!=null) {
int nbAs=0;
@@ -291,6 +298,7 @@ public class evaluationAttribut {
}
}
+ // evaluation du nom de la séquence.
if(k.equals("evalNameSequence") && sujet.getNomElt().equals("text:sequence-decl")) {
if(nodeStudent!=null) {
retour = evaluNameSequence(retour,nodeStudent, sujet.getAttributs().get("text:name"), sujet.getAttributs().get("evalNameSequence"),"Séquence");
@@ -299,6 +307,7 @@ public class evaluationAttribut {
}
}
+ // evaluation du nom de la page
if(k.equals("evalNamePage") && sujet.getNomElt().equals("page")) {
if(nodeStudent!=null) {
retour = evaluNamePage(retour,nodeStudent, sujet.getAttributs().get("style:master-page-name"), sujet.getAttributs().get("evalNamePage"),"Page");
@@ -307,6 +316,7 @@ public class evaluationAttribut {
}
}
+ // evaluation de la propriété personnalisé dans la structure du document
if(k.equals("evalTextUserDefined") && sujet.getNomElt().equals("text:user-defined") && sujet.chemin().contains("structurepage")) {
if(nodeStudent!=null) {
retour = evaluTextUserDefined(retour,nodeStudent, sujet.getAttributs().get("text:name"), sujet.getAttributs().get("evalTextUserDefined"),"Propriété personnalisé");
@@ -315,6 +325,7 @@ public class evaluationAttribut {
}
}
+ // evaluation du numéro de la page.
if(k.equals("evalNumeroPage") && sujet.getNomElt().equals("page")) {
if(nodeStudent!=null) {
retour = evaluNumeroPage(retour,nodeStudent, sujet.getAttributs().get("numero"), sujet.getAttributs().get("evalNumeroPage"),"numéro");
@@ -323,6 +334,7 @@ public class evaluationAttribut {
}
}
+ // evaluation du numéro absolu de la page.
if(k.equals("evalNumeroAbsoluePage") && sujet.getNomElt().equals("page")) {
if(nodeStudent!=null) {
retour = evaluNumeroAbsoluePage(retour,nodeStudent, sujet.getAttributs().get("numeroabsolue"), sujet.getAttributs().get("evalNumeroAbsoluePage"),"numéro absolue");
@@ -331,6 +343,33 @@ public class evaluationAttribut {
}
}
+ // evaluation du placement du paragraphe
+ if(k.equals("evalPlacement") && listeDesNodesEvalPlacement.isPlacement(sujet)) {
+ if(nodeStudent!=null) {
+ int calcul = 0;
+
+ node nodeSujetfrereAvant = sujet.retourneLeNodeFrereAvant();
+ node nodeStudentfereAvant = nodeStudent.retourneLeNodeFrereAvant();
+
+ if(nodeSujetfrereAvant==null) nodeSujetfrereAvant = new node();
+ if(nodeStudentfereAvant==null) nodeStudentfereAvant = new node();
+
+ String A = nodeSujetfrereAvant.retourneLesContenusEnfants("");
+ String B = nodeStudentfereAvant.retourneLesContenusEnfants("");
+ if(A.isEmpty() && B.isEmpty()) calcul++;
+ if(!A.isEmpty() && !B.isEmpty()) if(cXML.StringSimilarity.similarity(A, B)>0.92) calcul++;
+
+ if(calcul==1) {
+ retour = evaluPlacement(retour,nodeStudent, sujet.retourneLesContenusEnfants(""), sujet.getAttributs().get("evalPlacement"),"Placement");
+ }else {
+ retour = evaluPlacement(retour,null, sujet.retourneLesContenusEnfants(""), sujet.getAttributs().get("evalPlacement"),"Placement");
+ }
+ }else {
+ node nodeSujetAvant = sujet.retourneLeNodeFrereAvant();
+ retour = evaluPlacement(retour,null, nodeSujetAvant.retourneLesContenusEnfants(""), sujet.getAttributs().get("evalPlacement"),"Placement");
+ }
+ }
+
}
@@ -564,7 +603,8 @@ public class evaluationAttribut {
/**
- * evalue la valeur de la propriété personalisée dans la structure ("text:name") de text:user-defined
+ * Evaluer la valeur de la propriété personalisée dans la structure ("text:name") de text:user-defined.
+ *
* @param retour
* @param nodStudent
* @param textUserDefined
@@ -585,7 +625,8 @@ public class evaluationAttribut {
}
/**
- *
+ * Méthode permettant d'évaluer le numéro de la page.
+ *
* @param retour
* @param nodStudent
* @param numeroPage
@@ -606,7 +647,8 @@ public class evaluationAttribut {
}
/**
- *
+ * Méthode permettant d'évaluer le numéro absolu de la page.
+ *
* @param retour
* @param nodStudent
* @param numeroAbsoluePage
@@ -626,6 +668,29 @@ public class evaluationAttribut {
return retour;
}
+
+ /**
+ *
+ * @param retour
+ * @param nodStudent
+ * @param contenuParagraph
+ * @param point
+ * @param nameElt
+ * @return
+ */
+ private static node evaluPlacement(node retour, node nodStudent, String contenuParagraph, String point, String nameElt) {
+ node item = null;
+ if(nodStudent!=null) {
+ //compare la même valeur "contenuParagraph" pour obtenir les points mais si un vosinage du contenu.
+ item = retourneNoteAvecResultatsAnalyse("Placement","", contenuParagraph,contenuParagraph + "‽" +point, nameElt );
+ }else {
+ evaluation.IncrementPointTotal(Integer.valueOf(point));
+ item = new node("Placement", "Erreur : -"+ point, "" , "null", contenuParagraph, 2, evaluation.getPointEnJeu(),nameElt);
+ }
+ retour.getNodes().add(item);
+ return retour;
+ }
+
/**
* Retourne le node avec les résultats de la comparaison entre les deux valeurs (étudiant et sujet).
*