diff --git a/.classpath b/.classpath index 256905e..ea03344 100644 --- a/.classpath +++ b/.classpath @@ -1,7 +1,11 @@ - + + + + + @@ -10,6 +14,6 @@ - + diff --git a/aW.xml b/aW.xml index ba5525e..1547bdb 100644 --- a/aW.xml +++ b/aW.xml @@ -3,7 +3,7 @@ false gui C:\Users\pabr6\git\analyseWriter\MEPTL\analyseWriter.jar - C:\Users\pabr6\OneDrive\Documents\Troisième exercices avec analyseWriter\analyseWriter\analyseWriter.exe + C:\Users\pabr6\OneDrive\Desktop\analyseWriter.exe Erreur diff --git a/analyseWriter.jar b/analyseWriter.jar index 3714db2..b126466 100644 Binary files a/analyseWriter.jar and b/analyseWriter.jar differ diff --git a/bin/.gitignore b/bin/.gitignore index 4c2dcb6..67493bc 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,2 +1,3 @@ -/app/ /MEPTL/ +/app/ +/calcul/ diff --git a/bin/MEPTL/rechercherUnNodeStudent.class b/bin/MEPTL/rechercherUnNodeStudent.class index 6c33b0f..c01f4b8 100644 Binary files a/bin/MEPTL/rechercherUnNodeStudent.class and b/bin/MEPTL/rechercherUnNodeStudent.class differ diff --git a/bin/app/afficheText.class b/bin/app/afficheText.class index 2235139..3004769 100644 Binary files a/bin/app/afficheText.class and b/bin/app/afficheText.class differ diff --git a/bin/app/attributs$1.class b/bin/app/attributs$1.class index a0680d5..ab827b8 100644 Binary files a/bin/app/attributs$1.class and b/bin/app/attributs$1.class differ diff --git a/bin/app/attributs$10.class b/bin/app/attributs$10.class index fca4bdf..3b96dc3 100644 Binary files a/bin/app/attributs$10.class and b/bin/app/attributs$10.class differ diff --git a/bin/app/attributs$11.class b/bin/app/attributs$11.class index e5ed750..fa49633 100644 Binary files a/bin/app/attributs$11.class and b/bin/app/attributs$11.class differ diff --git a/bin/app/attributs$2.class b/bin/app/attributs$2.class index a5ddd1e..7843c9e 100644 Binary files a/bin/app/attributs$2.class and b/bin/app/attributs$2.class differ diff --git a/bin/app/attributs$3.class b/bin/app/attributs$3.class index 99dfd6f..8cd567d 100644 Binary files a/bin/app/attributs$3.class and b/bin/app/attributs$3.class differ diff --git a/bin/app/attributs$4.class b/bin/app/attributs$4.class index e288a44..48c4815 100644 Binary files a/bin/app/attributs$4.class and b/bin/app/attributs$4.class differ diff --git a/bin/app/attributs$5.class b/bin/app/attributs$5.class index 85b60b8..698bd59 100644 Binary files a/bin/app/attributs$5.class and b/bin/app/attributs$5.class differ diff --git a/bin/app/attributs$6.class b/bin/app/attributs$6.class index 534d139..5511b01 100644 Binary files a/bin/app/attributs$6.class and b/bin/app/attributs$6.class differ diff --git a/bin/app/attributs$7.class b/bin/app/attributs$7.class index b342758..ebd75b8 100644 Binary files a/bin/app/attributs$7.class and b/bin/app/attributs$7.class differ diff --git a/bin/app/attributs$8.class b/bin/app/attributs$8.class index 2df7188..cf9c133 100644 Binary files a/bin/app/attributs$8.class and b/bin/app/attributs$8.class differ diff --git a/bin/app/attributs$9.class b/bin/app/attributs$9.class index 92aa609..7e4fb7e 100644 Binary files a/bin/app/attributs$9.class and b/bin/app/attributs$9.class differ diff --git a/bin/app/attributs$MyMouseListener.class b/bin/app/attributs$MyMouseListener.class index ab995c8..6bcdae9 100644 Binary files a/bin/app/attributs$MyMouseListener.class and b/bin/app/attributs$MyMouseListener.class differ diff --git a/bin/app/attributs.class b/bin/app/attributs.class index 46c70e5..60ad300 100644 Binary files a/bin/app/attributs.class and b/bin/app/attributs.class differ diff --git a/bin/app/create$1.class b/bin/app/create$1.class index dee54a0..3cbca94 100644 Binary files a/bin/app/create$1.class and b/bin/app/create$1.class differ diff --git a/bin/app/create$10.class b/bin/app/create$10.class index f82071a..ede9d34 100644 Binary files a/bin/app/create$10.class and b/bin/app/create$10.class differ diff --git a/bin/app/create$11.class b/bin/app/create$11.class index 842ed8b..d3a4823 100644 Binary files a/bin/app/create$11.class and b/bin/app/create$11.class differ diff --git a/bin/app/create$12.class b/bin/app/create$12.class index 3f9c021..aa5eff7 100644 Binary files a/bin/app/create$12.class and b/bin/app/create$12.class differ diff --git a/bin/app/create$13.class b/bin/app/create$13.class index b5a90fc..c08ffc4 100644 Binary files a/bin/app/create$13.class and b/bin/app/create$13.class differ diff --git a/bin/app/create$14.class b/bin/app/create$14.class index 4589b7c..fd94283 100644 Binary files a/bin/app/create$14.class and b/bin/app/create$14.class differ diff --git a/bin/app/create$15.class b/bin/app/create$15.class index 20cc962..e4e2bd9 100644 Binary files a/bin/app/create$15.class and b/bin/app/create$15.class differ diff --git a/bin/app/create$16.class b/bin/app/create$16.class index 7e5b31d..17db0be 100644 Binary files a/bin/app/create$16.class and b/bin/app/create$16.class differ diff --git a/bin/app/create$17.class b/bin/app/create$17.class index 2e59ec1..d419807 100644 Binary files a/bin/app/create$17.class and b/bin/app/create$17.class differ diff --git a/bin/app/create$18.class b/bin/app/create$18.class index bb4cc13..ec31208 100644 Binary files a/bin/app/create$18.class and b/bin/app/create$18.class differ diff --git a/bin/app/create$19.class b/bin/app/create$19.class index 9492bef..ac12f90 100644 Binary files a/bin/app/create$19.class and b/bin/app/create$19.class differ diff --git a/bin/app/create$2.class b/bin/app/create$2.class index f4c5ef5..96a3edb 100644 Binary files a/bin/app/create$2.class and b/bin/app/create$2.class differ diff --git a/bin/app/create$20.class b/bin/app/create$20.class index 0bade60..83bca4c 100644 Binary files a/bin/app/create$20.class and b/bin/app/create$20.class differ diff --git a/bin/app/create$21.class b/bin/app/create$21.class index 62d58b0..bdbaf90 100644 Binary files a/bin/app/create$21.class and b/bin/app/create$21.class differ diff --git a/bin/app/create$22.class b/bin/app/create$22.class index 4260570..7c5dc71 100644 Binary files a/bin/app/create$22.class and b/bin/app/create$22.class differ diff --git a/bin/app/create$23.class b/bin/app/create$23.class index 6491dec..4dfcac2 100644 Binary files a/bin/app/create$23.class and b/bin/app/create$23.class differ diff --git a/bin/app/create$24.class b/bin/app/create$24.class index 86bf27d..a8d3857 100644 Binary files a/bin/app/create$24.class and b/bin/app/create$24.class differ diff --git a/bin/app/create$25.class b/bin/app/create$25.class index 545993d..95d457c 100644 Binary files a/bin/app/create$25.class and b/bin/app/create$25.class differ diff --git a/bin/app/create$26.class b/bin/app/create$26.class index 4f04b3b..c8da538 100644 Binary files a/bin/app/create$26.class and b/bin/app/create$26.class differ diff --git a/bin/app/create$27.class b/bin/app/create$27.class index 16b6fe4..4fdc131 100644 Binary files a/bin/app/create$27.class and b/bin/app/create$27.class differ diff --git a/bin/app/create$28.class b/bin/app/create$28.class index 46c5e9e..388823d 100644 Binary files a/bin/app/create$28.class and b/bin/app/create$28.class differ diff --git a/bin/app/create$29.class b/bin/app/create$29.class index 59d3cd5..aca8ea0 100644 Binary files a/bin/app/create$29.class and b/bin/app/create$29.class differ diff --git a/bin/app/create$3.class b/bin/app/create$3.class index 4c21db9..1163305 100644 Binary files a/bin/app/create$3.class and b/bin/app/create$3.class differ diff --git a/bin/app/create$30.class b/bin/app/create$30.class index 942626b..5ea96f0 100644 Binary files a/bin/app/create$30.class and b/bin/app/create$30.class differ diff --git a/bin/app/create$31.class b/bin/app/create$31.class index 11c976a..3e18624 100644 Binary files a/bin/app/create$31.class and b/bin/app/create$31.class differ diff --git a/bin/app/create$32.class b/bin/app/create$32.class index db97df3..f190d1f 100644 Binary files a/bin/app/create$32.class and b/bin/app/create$32.class differ diff --git a/bin/app/create$33.class b/bin/app/create$33.class index 5110a5a..46799ed 100644 Binary files a/bin/app/create$33.class and b/bin/app/create$33.class differ diff --git a/bin/app/create$34.class b/bin/app/create$34.class index e62918d..378b6bf 100644 Binary files a/bin/app/create$34.class and b/bin/app/create$34.class differ diff --git a/bin/app/create$35.class b/bin/app/create$35.class index 7c559e4..4da8a32 100644 Binary files a/bin/app/create$35.class and b/bin/app/create$35.class differ diff --git a/bin/app/create$36.class b/bin/app/create$36.class index 7ab61c0..7dfd64d 100644 Binary files a/bin/app/create$36.class and b/bin/app/create$36.class differ diff --git a/bin/app/create$37.class b/bin/app/create$37.class index 660d590..9c2c75a 100644 Binary files a/bin/app/create$37.class and b/bin/app/create$37.class differ diff --git a/bin/app/create$38.class b/bin/app/create$38.class index 2c3111c..abb96f0 100644 Binary files a/bin/app/create$38.class and b/bin/app/create$38.class differ diff --git a/bin/app/create$39.class b/bin/app/create$39.class index 498e6c4..0de2165 100644 Binary files a/bin/app/create$39.class and b/bin/app/create$39.class differ diff --git a/bin/app/create$4.class b/bin/app/create$4.class index db16aad..2a0645f 100644 Binary files a/bin/app/create$4.class and b/bin/app/create$4.class differ diff --git a/bin/app/create$40.class b/bin/app/create$40.class index 9608c18..c0ccc8f 100644 Binary files a/bin/app/create$40.class and b/bin/app/create$40.class differ diff --git a/bin/app/create$41.class b/bin/app/create$41.class index 5ee1686..0170525 100644 Binary files a/bin/app/create$41.class and b/bin/app/create$41.class differ diff --git a/bin/app/create$42.class b/bin/app/create$42.class index 8f5de03..373889e 100644 Binary files a/bin/app/create$42.class and b/bin/app/create$42.class differ diff --git a/bin/app/create$43.class b/bin/app/create$43.class index 09fa54e..bc242c7 100644 Binary files a/bin/app/create$43.class and b/bin/app/create$43.class differ diff --git a/bin/app/create$44.class b/bin/app/create$44.class index 303de86..91a8f20 100644 Binary files a/bin/app/create$44.class and b/bin/app/create$44.class differ diff --git a/bin/app/create$45.class b/bin/app/create$45.class index 1927764..02c3ede 100644 Binary files a/bin/app/create$45.class and b/bin/app/create$45.class differ diff --git a/bin/app/create$46.class b/bin/app/create$46.class index 440a77f..5d0ef14 100644 Binary files a/bin/app/create$46.class and b/bin/app/create$46.class differ diff --git a/bin/app/create$47.class b/bin/app/create$47.class index c44c849..050ec68 100644 Binary files a/bin/app/create$47.class and b/bin/app/create$47.class differ diff --git a/bin/app/create$48.class b/bin/app/create$48.class index b05db4b..6e669ca 100644 Binary files a/bin/app/create$48.class and b/bin/app/create$48.class differ diff --git a/bin/app/create$49.class b/bin/app/create$49.class index 86f3bf3..25f3ab2 100644 Binary files a/bin/app/create$49.class and b/bin/app/create$49.class differ diff --git a/bin/app/create$5.class b/bin/app/create$5.class index 7c01741..ccf2470 100644 Binary files a/bin/app/create$5.class and b/bin/app/create$5.class differ diff --git a/bin/app/create$50.class b/bin/app/create$50.class index bd01035..1692e94 100644 Binary files a/bin/app/create$50.class and b/bin/app/create$50.class differ diff --git a/bin/app/create$51.class b/bin/app/create$51.class index 78a35ff..0754ee7 100644 Binary files a/bin/app/create$51.class and b/bin/app/create$51.class differ diff --git a/bin/app/create$52.class b/bin/app/create$52.class index b1aa0a5..37dc9b9 100644 Binary files a/bin/app/create$52.class and b/bin/app/create$52.class differ diff --git a/bin/app/create$53.class b/bin/app/create$53.class index 44c2b89..6feb2ca 100644 Binary files a/bin/app/create$53.class and b/bin/app/create$53.class differ diff --git a/bin/app/create$54.class b/bin/app/create$54.class index d111663..8ff6f8f 100644 Binary files a/bin/app/create$54.class and b/bin/app/create$54.class differ diff --git a/bin/app/create$55.class b/bin/app/create$55.class index 12f3550..56e9980 100644 Binary files a/bin/app/create$55.class and b/bin/app/create$55.class differ diff --git a/bin/app/create$56.class b/bin/app/create$56.class index 519293b..5c2ae1b 100644 Binary files a/bin/app/create$56.class and b/bin/app/create$56.class differ diff --git a/bin/app/create$57.class b/bin/app/create$57.class index ddfd879..bed37ea 100644 Binary files a/bin/app/create$57.class and b/bin/app/create$57.class differ diff --git a/bin/app/create$58.class b/bin/app/create$58.class index e0c8865..5b5868a 100644 Binary files a/bin/app/create$58.class and b/bin/app/create$58.class differ diff --git a/bin/app/create$59.class b/bin/app/create$59.class index 385a94c..f0521cb 100644 Binary files a/bin/app/create$59.class and b/bin/app/create$59.class differ diff --git a/bin/app/create$6.class b/bin/app/create$6.class index 4f539c0..76229ad 100644 Binary files a/bin/app/create$6.class and b/bin/app/create$6.class differ diff --git a/bin/app/create$7.class b/bin/app/create$7.class index 8e1e373..f1e70ab 100644 Binary files a/bin/app/create$7.class and b/bin/app/create$7.class differ diff --git a/bin/app/create$8.class b/bin/app/create$8.class index fbaacdd..79df58b 100644 Binary files a/bin/app/create$8.class and b/bin/app/create$8.class differ diff --git a/bin/app/create$9.class b/bin/app/create$9.class index 3fc6a68..733baa2 100644 Binary files a/bin/app/create$9.class and b/bin/app/create$9.class differ diff --git a/bin/app/create.class b/bin/app/create.class index 5dd59f1..481a286 100644 Binary files a/bin/app/create.class and b/bin/app/create.class differ diff --git a/bin/app/mainApp$1.class b/bin/app/mainApp$1.class index 0769937..40a40b9 100644 Binary files a/bin/app/mainApp$1.class and b/bin/app/mainApp$1.class differ diff --git a/bin/app/mainApp$2.class b/bin/app/mainApp$2.class index c0cf6b3..56ab8eb 100644 Binary files a/bin/app/mainApp$2.class and b/bin/app/mainApp$2.class differ diff --git a/bin/app/mainApp.class b/bin/app/mainApp.class index ea00df2..e478786 100644 Binary files a/bin/app/mainApp.class and b/bin/app/mainApp.class differ diff --git a/bin/app/proprieteFichierAnalyse$1.class b/bin/app/proprieteFichierAnalyse$1.class index 247ab9e..4419ee3 100644 Binary files a/bin/app/proprieteFichierAnalyse$1.class and b/bin/app/proprieteFichierAnalyse$1.class differ diff --git a/bin/app/proprieteFichierAnalyse$2.class b/bin/app/proprieteFichierAnalyse$2.class index 9e1ab04..c58b3ad 100644 Binary files a/bin/app/proprieteFichierAnalyse$2.class and b/bin/app/proprieteFichierAnalyse$2.class differ diff --git a/bin/app/proprieteFichierAnalyse$3.class b/bin/app/proprieteFichierAnalyse$3.class index 3889a32..5ae22f2 100644 Binary files a/bin/app/proprieteFichierAnalyse$3.class and b/bin/app/proprieteFichierAnalyse$3.class differ diff --git a/bin/app/proprieteFichierAnalyse$4.class b/bin/app/proprieteFichierAnalyse$4.class index b2e3dc0..187caf0 100644 Binary files a/bin/app/proprieteFichierAnalyse$4.class and b/bin/app/proprieteFichierAnalyse$4.class differ diff --git a/bin/app/proprieteFichierAnalyse.class b/bin/app/proprieteFichierAnalyse.class index 9132f37..e3fb186 100644 Binary files a/bin/app/proprieteFichierAnalyse.class and b/bin/app/proprieteFichierAnalyse.class differ diff --git a/bin/calcul/listeAttributsAnalyseWriter.class b/bin/calcul/listeAttributsAnalyseWriter.class index c17b510..8631313 100644 Binary files a/bin/calcul/listeAttributsAnalyseWriter.class and b/bin/calcul/listeAttributsAnalyseWriter.class differ diff --git a/bin/calcul/listeNodeAnalyseWriter.class b/bin/calcul/listeNodeAnalyseWriter.class index b4e4397..a38b997 100644 Binary files a/bin/calcul/listeNodeAnalyseWriter.class and b/bin/calcul/listeNodeAnalyseWriter.class differ diff --git a/bin/resources/atraversanalysestyle.png b/bin/resources/atraversanalysestyle.png new file mode 100644 index 0000000..6593a5a Binary files /dev/null and b/bin/resources/atraversanalysestyle.png differ diff --git a/bin/resources/atraversanalysestylemini.png b/bin/resources/atraversanalysestylemini.png new file mode 100644 index 0000000..e4d8607 Binary files /dev/null and b/bin/resources/atraversanalysestylemini.png differ diff --git a/bin/resources/treeClose.png b/bin/resources/treeClose.png new file mode 100644 index 0000000..37244f0 Binary files /dev/null and b/bin/resources/treeClose.png differ diff --git a/bin/resources/treeLeaf.png b/bin/resources/treeLeaf.png new file mode 100644 index 0000000..c7961a0 Binary files /dev/null and b/bin/resources/treeLeaf.png differ diff --git a/icons/atraversanalysestyle.png b/icons/atraversanalysestyle.png new file mode 100644 index 0000000..6593a5a Binary files /dev/null and b/icons/atraversanalysestyle.png differ diff --git a/icons/atraversanalysestyle.svg b/icons/atraversanalysestyle.svg new file mode 100644 index 0000000..edad5ea --- /dev/null +++ b/icons/atraversanalysestyle.svg @@ -0,0 +1,117 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + S + + + + + + diff --git a/icons/atraversanalysestylemini.png b/icons/atraversanalysestylemini.png new file mode 100644 index 0000000..e4d8607 Binary files /dev/null and b/icons/atraversanalysestylemini.png differ diff --git a/icons/treeClose.png b/icons/treeClose.png new file mode 100644 index 0000000..37244f0 Binary files /dev/null and b/icons/treeClose.png differ diff --git a/icons/treeClose.svg b/icons/treeClose.svg new file mode 100644 index 0000000..8654a32 --- /dev/null +++ b/icons/treeClose.svg @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/icons/treeLeaf.png b/icons/treeLeaf.png new file mode 100644 index 0000000..c7961a0 Binary files /dev/null and b/icons/treeLeaf.png differ diff --git a/icons/treeLeaf.svg b/icons/treeLeaf.svg new file mode 100644 index 0000000..3ce910c --- /dev/null +++ b/icons/treeLeaf.svg @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/src/MEPTL/rechercherUnNodeStudent.java b/src/MEPTL/rechercherUnNodeStudent.java index 77e2346..9d0560b 100644 --- a/src/MEPTL/rechercherUnNodeStudent.java +++ b/src/MEPTL/rechercherUnNodeStudent.java @@ -138,10 +138,10 @@ public class rechercherUnNodeStudent { nodStudent = findByContentZero(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a); } - //***************************************************************** - //** Recherche Le node text:p par les différents contenu du node ** - //** text:title - text:subject - text:initial-creator - text:tab ** - //***************************************************************** + //*********************************************** + //** Recherche le node par son nom ** + //** sauf pour draw:frame ** + //*********************************************** if(nodStudent==null) { nodStudent = findByNameNode(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a); } @@ -400,7 +400,7 @@ public class rechercherUnNodeStudent { private static node findDrawFrame(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) { node nodStudent = null; String nameDraw = outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("draw:name")); - System.out.println("recherche image ou cadre =" nameDraw); + System.out.println("recherche image ou cadre ="+ nameDraw); //recherche par le nom de l'objet draw:name par défaut if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod2Student, nameNode, "draw:name", nameDraw); if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod1Student, nameNode, "draw:name", nameDraw); @@ -478,7 +478,9 @@ public class rechercherUnNodeStudent { } /** - * Recherche le node par son nom. Retourne le premier node qui correspond au nom du node.
+ * Recherche le node par son nom.
+ * Retourne le premier node qui correspond au nom du node.
+ * Sauf pour les nodes (draw:frame, ...) * @param nameNode * @param nodSujet * @param nod0Student @@ -489,10 +491,10 @@ public class rechercherUnNodeStudent { */ private static node findByNameNode(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) { node nodStudent = null; + if(nodSujet.getNomElt().equals("draw:frame")) return null; if(nod2Student!=null) if(nod2Student.retourneEnfantsByNameExist(nameNode)) nodStudent = nod2Student.retourneFirstEnfantsByName(nameNode); if(nod1Student!=null) if(nodStudent==null) if(nod1Student.retourneEnfantsByNameExist(nameNode)) nodStudent = nod1Student.retourneFirstEnfantsByName(nameNode); if(nod0Student!=null) if(nodStudent==null) if(nod0Student.retourneEnfantsByNameExist(nameNode)) nodStudent = nod0Student.retourneFirstEnfantsByName(nameNode); - return nodStudent; } @@ -518,6 +520,7 @@ public class rechercherUnNodeStudent { /** * Recherche le node par le contenu simple get(0).
+ * Le nom du node doit contenir "text" ou "style:" pour qu'il soit pris en compte.
* @param nameNode * @param nodSujet * @param nod0Student @@ -528,12 +531,13 @@ public class rechercherUnNodeStudent { */ private static node findByContentZero(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) { node nodStudent = null; - if(!nodSujet.getContenu().isEmpty()) { - if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameContent(nod2Student, nameNode, nodSujet.getContenu().get(0)); - if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameContent(nod1Student, nameNode, nodSujet.getContenu().get(0)); - if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameContent(nod0Student, nameNode, nodSujet.getContenu().get(0)); + if(nodSujet.getNomElt().contains("text")||nodSujet.getNomElt().contains("style:")) { + if(!nodSujet.getContenu().isEmpty()) { + if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameContent(nod2Student, nameNode, nodSujet.getContenu().get(0)); + if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameContent(nod1Student, nameNode, nodSujet.getContenu().get(0)); + if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameContent(nod0Student, nameNode, nodSujet.getContenu().get(0)); + } } - return nodStudent; } diff --git a/src/app/MyTreeCellRenderer.java b/src/app/MyTreeCellRenderer.java new file mode 100644 index 0000000..eea5c7c --- /dev/null +++ b/src/app/MyTreeCellRenderer.java @@ -0,0 +1,39 @@ +package app; + +import java.awt.Color; +import java.awt.Component; + +import javax.swing.JTree; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.DefaultTreeCellRenderer; + +import cXML.node; + +public class MyTreeCellRenderer extends DefaultTreeCellRenderer { + + /** + * + */ + private static final long serialVersionUID = 1L; + + @Override + public Component getTreeCellRendererComponent(JTree tree, Object value, + boolean sel, boolean exp, boolean leaf, int row, boolean hasFocus) { + super.getTreeCellRendererComponent(tree, value, sel, exp, leaf, row, hasFocus); + + // Assuming you have a tree of Strings + node nod = (node) ((DefaultMutableTreeNode) value).getUserObject(); + + // If the node is a leaf and ends with "xxx" +// if (leaf && nod.endsWith("xxx")) { +// // Paint the node in blue +// setForeground(new Color(13, 57 ,115)); +// } + + if(nod.getAttributs().get("evaluer")!=null) { + if(nod.getAttributs().get("evaluer").equals("true")) setForeground(new Color(0, 240 ,50)); + } + + return this; + } +} diff --git a/src/app/afficheText.java b/src/app/afficheText.java index e8b3f03..9811576 100644 --- a/src/app/afficheText.java +++ b/src/app/afficheText.java @@ -24,6 +24,7 @@ public class afficheText extends JEditorPane { private static final long serialVersionUID = 1L; + public void refreshAffichage(node nod) { if(nod!=null) { @@ -42,16 +43,19 @@ public class afficheText extends JEditorPane { String imagereRecherchePlusProcheVoisin= ""; String imagerePremierAuteur= ""; String imagereDernierEditeur= ""; + String imageAtraversAnalyseStyle= ""; StringBuilder sb = new StringBuilder(); sb.append(baliseStyle.balise()); - sb.append("

Parent = " + nodeParent.getNomElt() + "


"); + if(nodeParent!=null) sb.append("

Parent = " + nodeParent.getNomElt() + "


"); sb.append("

Nom du node : " + nod.getNomElt() + "



"); - //sous titre pour identifier les éléments + //********************************************* + //** sous titre pour identifier les éléments ** + //********************************************* if(nod.getNomElt().equals("style:style")) { sb.append("

Nom du style : " + nod.getAttributs().get("style:name")+ "


"); } @@ -59,7 +63,11 @@ public class afficheText extends JEditorPane { sb.append("

Nom du frame : " + outils.withoutCodeAndPointPourRechercheContenuExact(nod.getAttributs().get("draw:name"))+ "


"); } if(nod.getNomElt().equals("style:master-page")) { - sb.append("

Nom du style de page : " + nod.getAttributs().get("style:display-name")+ "


"); + if(nod.getAttributs().get("style:display-name")!=null) { + sb.append("

Nom du style de page : " + nod.getAttributs().get("style:display-name")+ "


"); + }else { + sb.append("

Nom du style de page : " + nod.getAttributs().get("style:name")+ "


"); + } } if(nod.getNomElt().equals("page")) { sb.append("

Numero absolue de la page : " + outils.withoutCodeAndPointPourRechercheContenuExact(nod.getAttributs().get("numeroabsolue")) @@ -67,7 +75,9 @@ public class afficheText extends JEditorPane { } - + //******************************************************** + //** Le logo d'analyseWriter lorsque le node est évalué ** + //******************************************************** if(nod.getAttributs().get("evaluer")!=null) if(nod.getAttributs().get("evaluer").equalsIgnoreCase("true")) { sb.append("

Ce node est évalué.

"); } @@ -107,38 +117,41 @@ public class afficheText extends JEditorPane { } if(Lesattributsdunode.get(i).equals("titre")||Lesattributsdunode.get(i).equals("titre1")||Lesattributsdunode.get(i).equals("titre2")||Lesattributsdunode.get(i).equals("titre3")) { if(nod.getAttributs().get(Lesattributsdunode.get(i)).length()>0) { - sb.append("
  • "+imageTitre + " " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • "+imageTitre + " " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } } if(Lesattributsdunode.get(i).equals("saut") && nod.getAttributs().get(Lesattributsdunode.get(i)).equals("true")) { - sb.append("
  • "+imageSaut + " " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • "+imageSaut + " " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } if(Lesattributsdunode.get(i).equals("addmenu") && nod.getAttributs().get(Lesattributsdunode.get(i)).equals("true")) { - sb.append("
  • "+imageaddmenu + " " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • "+imageaddmenu + " " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } if(Lesattributsdunode.get(i).equals("recherche_index") && nod.getAttributs().get(Lesattributsdunode.get(i)).equals("true")) { - sb.append("
  • "+imagerechercheIndex + " " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • "+imagerechercheIndex + " " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } if(Lesattributsdunode.get(i).equals("recherche_contenu_exact") && nod.getAttributs().get(Lesattributsdunode.get(i)).equals("true")) { sb.append("
  • "+imagerechercheContenuExact + " " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } if(Lesattributsdunode.get(i).equals("analyseStyle") && nod.getAttributs().get(Lesattributsdunode.get(i)).equals("true")) { - sb.append("
  • "+imagereanalyseStyle + " " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • "+imagereanalyseStyle + " " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } if(Lesattributsdunode.get(i).equals("evalNameNode") && !nod.getAttributs().get(Lesattributsdunode.get(i)).equals("0")) { - sb.append("
  • "+imagereEvaleNode + " " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • "+imagereEvaleNode + " " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } if(Lesattributsdunode.get(i).equals("recherche_anchor-page-number") && nod.getAttributs().get(Lesattributsdunode.get(i)).equals("true")) { - sb.append("
  • "+imagereRechercheAncragePage + " " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • "+imagereRechercheAncragePage + " " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } if(Lesattributsdunode.get(i).equals("recherche_contenu_plus_proche_voisin") && nod.getAttributs().get(Lesattributsdunode.get(i)).equals("true")) { - sb.append("
  • "+imagereRecherchePlusProcheVoisin + " " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • "+imagereRecherchePlusProcheVoisin + " " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } if(Lesattributsdunode.get(i).equals("evalNameInitialCreator") && !nod.getAttributs().get(Lesattributsdunode.get(i)).equals("0")) { - sb.append("
  • "+imagerePremierAuteur + " " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • "+imagerePremierAuteur + " " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } if(Lesattributsdunode.get(i).equals("evalNameCreator") && !nod.getAttributs().get(Lesattributsdunode.get(i)).equals("0")) { - sb.append("
  • "+imagereDernierEditeur + " " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • "+imagereDernierEditeur + " " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + } + if(Lesattributsdunode.get(i).equals("EvaluerATraversAnalyseStyle") && nod.getAttributs().get(Lesattributsdunode.get(i)).equals("true")) { + sb.append("
  • "+imageAtraversAnalyseStyle + " " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } @@ -152,7 +165,7 @@ public class afficheText extends JEditorPane { sb.append("
  • Les attributs de Writer
  • "); for(int i=0; i < Lesattributsdunode.size();i++) { if(!listeAttributsAnalyseWriter.isAttributAnalyseWriter(Lesattributsdunode.get(i))) { - sb.append("
  • " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } } sb.append(""); @@ -164,7 +177,7 @@ public class afficheText extends JEditorPane { sb.append("
  • Les attributs d'analyseWriter
  • "); for(int i=0; i < Lesattributsdunode.size();i++) { if(listeAttributsAnalyseWriter.isAttributAnalyseWriter(Lesattributsdunode.get(i))) { - sb.append("
  • " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } } sb.append(""); @@ -173,7 +186,7 @@ public class afficheText extends JEditorPane { sb.append("
  • Les attributs de Writer
  • "); for(int i=0; i < Lesattributsdunode.size();i++) { if(!listeAttributsAnalyseWriter.isAttributAnalyseWriter(Lesattributsdunode.get(i))) { - sb.append("
  • " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } } sb.append(""); @@ -188,7 +201,7 @@ public class afficheText extends JEditorPane { sb.append("
  • Les attributs d'analyseWriter
  • "); for(int i=0; i < Lesattributsdunode.size();i++) { if(listeAttributsAnalyseWriter.isAttributAnalyseWriter(Lesattributsdunode.get(i))) { - sb.append("
  • " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } } sb.append(""); @@ -197,7 +210,7 @@ public class afficheText extends JEditorPane { sb.append("
  • Les attributs de Writer
  • "); for(int i=0; i < Lesattributsdunode.size();i++) { if(!listeAttributsAnalyseWriter.isAttributAnalyseWriter(Lesattributsdunode.get(i))) { - sb.append("
  • " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + sb.append("
  • " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); } } sb.append(""); @@ -205,9 +218,12 @@ public class afficheText extends JEditorPane { } - if(!nod.retourneLesContenusEnfants("").trim().isEmpty()) { - sb.append("

    Contenu


    " + nod.retourneLesContenusEnfants("") ); + if(!nod.getNomElt().equals("fichier")&&!nod.getNomElt().equals("setting")&&!nod.getNomElt().equals("structurepage")) { + if(!nod.retourneLesContenusEnfants("").isEmpty()) { + sb.append("

    Contenu


    " + nod.retourneLesContenusEnfants("") ); + } } + setText(""+sb.toString()+""); } diff --git a/src/app/attributs.java b/src/app/attributs.java index fa3581e..bb703df 100644 --- a/src/app/attributs.java +++ b/src/app/attributs.java @@ -9,13 +9,14 @@ import javax.swing.border.EmptyBorder; import MEPTL.commandes; import cXML.node; +import calcul.listeAttributWriterPasEvaluableAvecCodeEvaluateur; +import calcul.listeAttributWriterValeurPasModifiable; import calcul.listeAttributsAnalyseWriter; +import calcul.listeNodeFormatageDirectDeWriter; import java.awt.FlowLayout; import java.util.ArrayList; import java.util.Enumeration; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import net.miginfocom.swing.MigLayout; import javax.swing.JLabel; @@ -277,8 +278,8 @@ public class attributs extends JFrame { //Enabled false les valeurs ne peuvent pas être modifiées //Enabled false les evaluer si pas evaluable for(int i = 0 ; iLe titre de l'exercice apparaît
    dans les feedbacks des étudiants."); + } + }); btnAideTitre.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png"))); contentPane.add(btnAideTitre, "cell 2 0"); @@ -113,6 +119,11 @@ public class proprieteFichierAnalyse extends JFrame { } btnAideAuteur = new JButton(""); + btnAideAuteur.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JOptionPane.showInternalMessageDialog(null, "L'auteur de l'exercice apparaît
    dans les feedbacks des étudiants."); + } + }); btnAideAuteur.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png"))); contentPane.add(btnAideAuteur, "cell 2 1"); @@ -129,10 +140,18 @@ public class proprieteFichierAnalyse extends JFrame { } btnAideMetaSujet = new JButton(""); + btnAideMetaSujet.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JOptionPane.showInternalMessageDialog(null, "La propriété personnalisé Sujet apparaît dans les feedbacks.
    " + + "Elle est placée sous la note des étudiants.
    " + + "Si la donnée personnalisé Sujet dans les fichiers des étudiants est présente,
    " + + "alors il peut y avoir comparaison avec cet valeur (voir la valeur logique suivante)."); + } + }); btnAideMetaSujet.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png"))); contentPane.add(btnAideMetaSujet, "cell 2 2"); - JLabel lblNewLabel_3 = new JLabel("

    Propriété personnalisé obligatoire dans les
    fichiers des étudiants.

    " ); + JLabel lblNewLabel_3 = new JLabel("

    Propriété personnalisé Sujet obligatoire
    dans les fichiers des étudiants.

    " ); lblNewLabel_3.setFont(new Font("Tahoma", Font.PLAIN, 12)); contentPane.add(lblNewLabel_3, "cell 0 3,alignx left,aligny center"); @@ -145,6 +164,15 @@ public class proprieteFichierAnalyse extends JFrame { } btnAidePresenceMetaSujet = new JButton(""); + btnAidePresenceMetaSujet.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JOptionPane.showInternalMessageDialog(null, "Si la donnée personnalisé Sujet dans les fichiers des étudiants ne correspond pas,
    " + + "à la valeur au-dessus alors le fichier n'est pas le fichier du sujet.
    " + + "La note de l'étudiant sera nulle." + + "

    L'étudiant doit utiliser le fichier remis par l'enseignant.
    " + + "Cette technique peut être utilisée durant les contrôles.
    "); + } + }); btnAidePresenceMetaSujet.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png"))); contentPane.add(btnAidePresenceMetaSujet, "cell 2 3"); @@ -161,6 +189,12 @@ public class proprieteFichierAnalyse extends JFrame { } btnAideBaremeABC = new JButton(""); + btnAideBaremeABC.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JOptionPane.showMessageDialog(null, "Permet d'utiliser une notation alphabétique à 5 niveaux (de A à E).
    " + + "Si le coefficient de progression est de 1 alors la largeur des intervalles est de 20%."); + } + }); btnAideBaremeABC.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png"))); contentPane.add(btnAideBaremeABC, "flowx,cell 2 4"); @@ -179,6 +213,15 @@ public class proprieteFichierAnalyse extends JFrame { } btnAideNoteFrom = new JButton(""); + btnAideNoteFrom.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JOptionPane.showMessageDialog(null, "La notation par défaut est numérique.
    " + + "La note maximale est par défaut de 20 points.
    " + + "La note maximale doit être une valeur supérieur strictement 0 point.

    " + + "Si le coefficient de progression est de 1 alors un exercice à 50% correct
    " + + "aura la note (maximale/2)."); + } + }); btnAideNoteFrom.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png"))); contentPane.add(btnAideNoteFrom, "flowx,cell 2 5"); @@ -194,6 +237,15 @@ public class proprieteFichierAnalyse extends JFrame { } btnAideProgression = new JButton(""); + btnAideProgression.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JOptionPane.showMessageDialog(null, "Le coefficient de progression permet de régler la difficulté de l'exercice.

    " + + "Le coefficient de progression d'affiche dans les feedbacks des étudiants.

    " + + "Le coefficient de progression doit être compris entre ]0 et 10[.
    " + + " Un coef. inférieur à 1 signifie qu'il est facile d'atteindre la note maximale
    " + + " Un coef. supérieur à 1 signifie qu'il est difficile d'atteindre la note maximale."); + } + }); btnAideProgression.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png"))); contentPane.add(btnAideProgression, "cell 2 6"); @@ -210,6 +262,16 @@ public class proprieteFichierAnalyse extends JFrame { } btnAideHistoriquePresent = new JButton(""); + btnAideHistoriquePresent.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JOptionPane.showInternalMessageDialog(null, "Si VRAI alors le suivi des modifications doit être activé dans les fichiers des étudiants.
    " + + "Si ce n'est pas le cas alors l'étudiant aura une note nulle.

    " + + "L'étudiant doit utiliser le fichier remis par l'enseignant.
    " + + "L'enseignant aura activé le suivi des modifications et protégé le suivi par un mot de passe.

    " + + "Cette technique peut être utilisée durant les contrôles.
    " + + "Elle permettra de rechercher les fichiers échangés entre les étudiants en comparant les modifications."); + } + }); btnAideHistoriquePresent.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png"))); contentPane.add(btnAideHistoriquePresent, "cell 2 7"); @@ -227,6 +289,12 @@ public class proprieteFichierAnalyse extends JFrame { } btnAideDateCreation = new JButton(""); + btnAideDateCreation.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JOptionPane.showInternalMessageDialog(null, "Ne modifier pas cette date.
    " + + "Sauf, si vous avez remis aux étudiants un nouveau fichier."); + } + }); btnAideDateCreation.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png"))); contentPane.add(btnAideDateCreation, "cell 2 8"); @@ -243,6 +311,15 @@ public class proprieteFichierAnalyse extends JFrame { } btnAideControleDateCreation = new JButton(""); + btnAideControleDateCreation.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JOptionPane.showInternalMessageDialog(null, "Si VRAI alors la date de création du fichier de l'étudiant doit être identique à celle-ci.
    " + + "Si ce n'est pas le cas alors l'étudiant aura une note nulle.

    " + + "L'étudiant doit utiliser le fichier remis par l'enseignant.

    " + + "Cette technique peut être utilisée durant les contrôles.
    " + + "Elle permettra de rechercher les fichiers réïnitialisés pour effacer l'historique."); + } + }); btnAideControleDateCreation.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png"))); contentPane.add(btnAideControleDateCreation, "cell 2 9,aligny top"); @@ -259,6 +336,12 @@ public class proprieteFichierAnalyse extends JFrame { } btnAideInitial_Creator = new JButton(""); + btnAideInitial_Creator.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JOptionPane.showInternalMessageDialog(null, "Le premier auteur du fichier (créateur).
    " + + "Ne modifier pas, sauf si vous avez fourni un nouveau fichier aux étudiants avec un autre créateur."); + } + }); btnAideInitial_Creator.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png"))); contentPane.add(btnAideInitial_Creator, "cell 2 10"); @@ -275,6 +358,13 @@ public class proprieteFichierAnalyse extends JFrame { } btnAidecontrole_Initial_Creator = new JButton(""); + btnAidecontrole_Initial_Creator.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JOptionPane.showInternalMessageDialog(null, "Si vrai alors le créateur du fichier des étudiants doit correspondre avec cet auteur.
    " + + "Si ce n'est pas le cas, l'étudiant aura une note nulle.

    " + + "Cette technique peut être utilisée pour les contrôles."); + } + }); btnAidecontrole_Initial_Creator.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png"))); contentPane.add(btnAidecontrole_Initial_Creator, "cell 2 11"); @@ -329,26 +419,31 @@ public class proprieteFichierAnalyse extends JFrame { contentPane.add(btnVoirBaremeNumeric, "cell 2 5"); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - commandes.sujet.getAttributs().put("titre", textFieldTitre.getText() ); - commandes.sujet.getAttributs().put("auteur", textFieldAuteur.getText() ); - commandes.sujet.getAttributs().put("metaSujet", textFieldMetaSujet.getText() ); - commandes.sujet.getAttributs().put("presenceMetaSujet", comboBoxPresenceMetaSujet.getSelectedItem().toString() ); - commandes.sujet.getAttributs().put("baremeABC", comboBoxBaremeABC.getSelectedItem().toString() ); - commandes.sujet.getAttributs().put("notefrom", textFieldNoteFrom.getText() ); - commandes.sujet.getAttributs().put("progression", textFieldProgression.getText() ); - commandes.sujet.getAttributs().put("historiquePresent", comboBoxhistoriquePresent.getSelectedItem().toString() ); - commandes.sujet.getAttributs().put("creationDate", textFieldDateCreation.getText() ); - commandes.sujet.getAttributs().put("controleDateCreation", comboBoxcontroleDateCreation.getSelectedItem().toString() ); - commandes.sujet.getAttributs().put("Initial_Creator", textFieldInitial_Creator.getText() ); - commandes.sujet.getAttributs().put("controle_Initial_Creator", comboBoxcontrole_Initial_Creator.getSelectedItem().toString() ); - commandes.sujet.getAttributs().put("link_help", textFieldlink_help.getText() ); - commandes.sujet.getAttributs().put("link_sujet", textFieldlink_sujet.getText() ); - meptl.chargementParametresFichierAnalyse(); - txt.afficheChargementFichierAnalyse(); + if(verifCoefProgression()&&verifBareme()&&formatDateWriter.isCorrect(textFieldDateCreation.getText())) { + commandes.sujet.getAttributs().put("titre", textFieldTitre.getText() ); + commandes.sujet.getAttributs().put("auteur", textFieldAuteur.getText() ); + commandes.sujet.getAttributs().put("metaSujet", textFieldMetaSujet.getText() ); + commandes.sujet.getAttributs().put("presenceMetaSujet", comboBoxPresenceMetaSujet.getSelectedItem().toString() ); + commandes.sujet.getAttributs().put("baremeABC", comboBoxBaremeABC.getSelectedItem().toString() ); + commandes.sujet.getAttributs().put("notefrom", textFieldNoteFrom.getText() ); + commandes.sujet.getAttributs().put("progression", textFieldProgression.getText() ); + commandes.sujet.getAttributs().put("historiquePresent", comboBoxhistoriquePresent.getSelectedItem().toString() ); + commandes.sujet.getAttributs().put("creationDate", textFieldDateCreation.getText() ); + commandes.sujet.getAttributs().put("controleDateCreation", comboBoxcontroleDateCreation.getSelectedItem().toString() ); + commandes.sujet.getAttributs().put("Initial_Creator", textFieldInitial_Creator.getText() ); + commandes.sujet.getAttributs().put("controle_Initial_Creator", comboBoxcontrole_Initial_Creator.getSelectedItem().toString() ); + commandes.sujet.getAttributs().put("link_help", textFieldlink_help.getText() ); + commandes.sujet.getAttributs().put("link_sujet", textFieldlink_sujet.getText() ); + + meptl.chargementParametresFichierAnalyse(); + txt.afficheChargementFichierAnalyse(); + + dispose(); + } + - dispose(); } }); @@ -375,10 +470,7 @@ public class proprieteFichierAnalyse extends JFrame { } private void Refresh() { - - - - if(comboBoxBaremeABC.getSelectedItem().equals("true")) { + if(comboBoxBaremeABC.getSelectedItem().equals("true")) { textFieldNoteFrom.setEditable(false); textFieldNoteFrom.setEditable(false); }else { @@ -387,5 +479,51 @@ public class proprieteFichierAnalyse extends JFrame { } } - + /** + * Retourn true si pas d'erreur dans le coefficient de progression + * @return + */ + private boolean verifCoefProgression() { + double progression; + try { + progression = Double.valueOf(textFieldProgression.getText()); + }catch (Exception e) { + JOptionPane.showMessageDialog(null, "Le coef. de progression doit être une valeur numérique."); + return false; + } + if(progression<0) { + JOptionPane.showMessageDialog(null, "Le coef. de progression doit être positif."); + return false; + } + if(progression>100) { + JOptionPane.showMessageDialog(null, "Le coef. de progression doit être inférieur strictement à 10."); + return false; + } + + return true; + } + + /** + * Retourne true si pas d'erreur dans le barème.
    + * @return + */ + private boolean verifBareme() { + double bareme; + try { + bareme = Double.valueOf(textFieldNoteFrom.getText()); + }catch (Exception e) { + JOptionPane.showMessageDialog(null, "Le barème doit être une valeur numérique."); + return false; + } + if(bareme<0) { + JOptionPane.showMessageDialog(null, "Le barème doit être positif."); + return false; + } + + + return true; + } + + + } diff --git a/src/calcul/formatDateWriter.java b/src/calcul/formatDateWriter.java new file mode 100644 index 0000000..85195fa --- /dev/null +++ b/src/calcul/formatDateWriter.java @@ -0,0 +1,19 @@ +package calcul; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.swing.JOptionPane; + +public class formatDateWriter { + + //** exemple de date correct 2016-01-30T16:52:51 + public static boolean isCorrect(String date) { + Pattern p = Pattern.compile("^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}$"); + Matcher m = p.matcher(date); + if(m.find()) return true; + JOptionPane.showMessageDialog(null, "Le format de la date n'est pas correct."); + return false; + } + +} diff --git a/src/calcul/listeAttributWriterPasEvaluableAvecCodeEvaluateur.java b/src/calcul/listeAttributWriterPasEvaluableAvecCodeEvaluateur.java new file mode 100644 index 0000000..9430865 --- /dev/null +++ b/src/calcul/listeAttributWriterPasEvaluableAvecCodeEvaluateur.java @@ -0,0 +1,22 @@ +package calcul; + +public class listeAttributWriterPasEvaluableAvecCodeEvaluateur { + + public listeAttributWriterPasEvaluableAvecCodeEvaluateur(){ + + } + + /** + * Liste des attributs Writer qui ne peuvent pas être évaluer par un code évaluateurs + * @param nameAttribut + * @return + */ + public static boolean isEvaluable(String nameAttribut) { + if(nameAttribut.equals("style:page-layout-name")) return true; + if(nameAttribut.equals("style:family")) return true; + if(nameAttribut.equals("text:name")) return true; + if(nameAttribut.equals("text:style-name")) return true; + return false; + } + +} diff --git a/src/calcul/listeAttributWriterValeurPasModifiable.java b/src/calcul/listeAttributWriterValeurPasModifiable.java new file mode 100644 index 0000000..ce74a51 --- /dev/null +++ b/src/calcul/listeAttributWriterValeurPasModifiable.java @@ -0,0 +1,27 @@ +package calcul; + +public class listeAttributWriterValeurPasModifiable { + + public listeAttributWriterValeurPasModifiable() { + + } + + + public static boolean isModifiable(String nameAttribut) { + if(nameAttribut.equals("style:name")) return true; + if(nameAttribut.equals("style:display-name")) return true; + if(nameAttribut.equals("style:next-style-name")) return true; + if(nameAttribut.equals("style:parent-style-name")) return true; + if(nameAttribut.equals("style:family")) return true; + if(nameAttribut.equals("style:master-page-name")) return true; + if(nameAttribut.equals("style:page_number"))return true; + if(nameAttribut.equals("style:page-layout-name")) return true; + if(nameAttribut.equals("numeroabsolue")) return true; + if(nameAttribut.equals("numero")) return true; + if(nameAttribut.equals("draw:style-name")) return true; + if(nameAttribut.equals("text:style-name")) return true; + if(nameAttribut.equals("text:name")) return true; + return false; + } + +} diff --git a/src/calcul/listeAttributsAnalyseWriter.java b/src/calcul/listeAttributsAnalyseWriter.java index bba1ce3..d8c4627 100644 --- a/src/calcul/listeAttributsAnalyseWriter.java +++ b/src/calcul/listeAttributsAnalyseWriter.java @@ -29,6 +29,30 @@ public class listeAttributsAnalyseWriter { if(attribut.equals("recherche_contenu_plus_proche_voisin")) return true; if(attribut.equals("numero")) return true; if(attribut.equals("numeroabsolue")) return true; + if(attribut.equals("EvaluerATraversAnalyseStyle")) return true; + + + if(attribut.equals("analysis_filename")) return true; + if(attribut.equals("auteur")) return true; + if(attribut.equals("baremeABC")) return true; + if(attribut.equals("controleDateCreation")) return true; + if(attribut.equals("controle_Initial_Creator")) return true; + if(attribut.equals("creationDate")) return true; + if(attribut.equals("date")) return true; + if(attribut.equals("dateModification")) return true; + if(attribut.equals("dureeEdition")) return true; + if(attribut.equals("filename")) return true; + if(attribut.equals("hash")) return true; + if(attribut.equals("historiquePresent")) return true; + if(attribut.equals("link_help")) return true; + if(attribut.equals("link_sujet")) return true; + if(attribut.equals("metaSujet")) return true; + if(attribut.equals("notefrom")) return true; + if(attribut.equals("presenceMetaSujet")) return true; + if(attribut.equals("producteur")) return true; + if(attribut.equals("progression")) return true; + if(attribut.equals("version")) return true; + return false; } diff --git a/src/calcul/listeNodeAnalyseWriter.java b/src/calcul/listeNodeAnalyseWriter.java index 13bc4f9..14772fe 100644 --- a/src/calcul/listeNodeAnalyseWriter.java +++ b/src/calcul/listeNodeAnalyseWriter.java @@ -14,6 +14,25 @@ public listeNodeAnalyseWriter() { if(nameNode.equals("page")) return true; if(nameNode.equals("structurepage")) return true; if(nameNode.equals("setting")) return true; + if(nameNode.equals("office:meta")) return true; + if(nameNode.equals("style:page")) return true; + if(nameNode.equals("sequences")) return true; + if(nameNode.equals("numerotationchapitre")) return true; + if(nameNode.equals("frames")) return true; + if(nameNode.equals("sections")) return true; + if(nameNode.equals("tableaux")) return true; + if(nameNode.equals("biblio")) return true; + if(nameNode.equals("tablematieres")) return true; + if(nameNode.equals("tableillustrations")) return true; + if(nameNode.equals("structurepage")) return true; + if(nameNode.equals("csv")) return true; + if(nameNode.equals("zip")) return true; + if(nameNode.equals("plagiarism")) return true; + if(nameNode.equals("text:similarity")) return true; + if(nameNode.equals("color")) return true; + if(nameNode.equals("translation")) return true; + if(nameNode.equals("import_moodle")) return true; + return false; } diff --git a/src/calcul/listeNodeFormatageDirectDeWriter.java b/src/calcul/listeNodeFormatageDirectDeWriter.java new file mode 100644 index 0000000..f57437c --- /dev/null +++ b/src/calcul/listeNodeFormatageDirectDeWriter.java @@ -0,0 +1,26 @@ +package calcul; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import cXML.node; + +public class listeNodeFormatageDirectDeWriter { + + public static boolean isFormatageDirect(node nod) { + + //** Si le nom du style est P1, P2, ...Pxx ou T1, T2, ..., Txx alors retourn true. + if(nod.chemin().contains("style:paragraph")) { + + node nodStyleParent = nod.retourneParentAyantLAttribut("style:name"); + + String nomDuStle = nodStyleParent.getAttributs().get("style:name"); + Pattern p = Pattern.compile("^P[0-9]{1,}$|^T[0-9]{1,}$"); + Matcher m = p.matcher(nomDuStle); + if(m.find()) return true; + } + + return false; + } + +} diff --git a/src/resources/atraversanalysestyle.png b/src/resources/atraversanalysestyle.png new file mode 100644 index 0000000..6593a5a Binary files /dev/null and b/src/resources/atraversanalysestyle.png differ diff --git a/src/resources/atraversanalysestylemini.png b/src/resources/atraversanalysestylemini.png new file mode 100644 index 0000000..e4d8607 Binary files /dev/null and b/src/resources/atraversanalysestylemini.png differ diff --git a/src/resources/treeClose.png b/src/resources/treeClose.png new file mode 100644 index 0000000..37244f0 Binary files /dev/null and b/src/resources/treeClose.png differ diff --git a/src/resources/treeLeaf.png b/src/resources/treeLeaf.png new file mode 100644 index 0000000..c7961a0 Binary files /dev/null and b/src/resources/treeLeaf.png differ