MAJ V4.5.0

This commit is contained in:
pablo rodriguez 2024-04-18 13:54:25 +02:00
parent 123acdf027
commit ac0bc585cb
61 changed files with 465 additions and 516 deletions

View File

@ -12,6 +12,6 @@
<classpathentry kind="lib" path="C:/Users/pabr6/git/analyseWriter/MEPTL/miglayout15-swing.jar"/>
<classpathentry kind="lib" path="jgoodies-forms-1.8.0.jar" sourcepath="jgoodies-forms-1.8.0-sources.jar"/>
<classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/Exportation documentation analyseWriter/plugins/documentation.analyseWriter_1.0.0.202212032022.jar"/>
<classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/cXML.jar" sourcepath="/cXML"/>
<classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/cXML.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -3,7 +3,6 @@ package menucontextuel;
import javax.swing.ImageIcon;
import javax.swing.JMenu;
import action.actAllContentChilds;
import cXML.node;
import fenetres.create;
import list.listeDesNodesPourEvaluerPage;
@ -33,8 +32,6 @@ public class MnGroupeMethodeEvaluerMultiple {
mnGroupeMethodeEvaluerMultiple.setIcon( new ImageIcon(create.class.getResource("/resources/evaluatemultiplemini.png")));
if(nod.getNomElt().equals("structurepage")) {
mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(new actAllContentChilds());
mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(mnEvalNamePage.menu());
mnGroupeMethodeEvaluerMultiple.addSeparator();
@ -51,8 +48,6 @@ public class MnGroupeMethodeEvaluerMultiple {
if(nod.getNomElt().equals("text:p") || nod.getNomElt().equals("text:h") || nod.getNomElt().equals("text:list")
|| nod.getNomElt().equals("text:list-item") || nod.getNomElt().equals("text:index-body") ) {
mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(new actAllContentChilds());
mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(mnEvalNameNodeEnfants.menu());
mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(mnEvalPlacementDesEnfants.menu());
@ -60,8 +55,6 @@ public class MnGroupeMethodeEvaluerMultiple {
if(listeDesNodesPourEvaluerPage.isPage(nod)) {
mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(new actAllContentChilds());
mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(mnEvalNameNodeEnfants.menu());
mnGroupeMethodeEvaluerMultiple.addSeparator();

View File

@ -3,7 +3,7 @@ package sousmenuEvaluation;
import javax.swing.ImageIcon;
import javax.swing.JMenu;
import action.actEvalFormatageDirectOui;
import action.actEvalFormatageDirect;
import fenetres.create;
/**
@ -17,8 +17,8 @@ public class mnEvalFormatageDirect{
public static JMenu menu() {
JMenu mnEvalFormatageDirect = new JMenu("Evaluer l'absence ou la présence du formatage direct");
mnEvalFormatageDirect.setIcon( new ImageIcon(create.class.getResource("/resources/sautpagecolonnemini.png")));
mnEvalFormatageDirect.add(new actEvalFormatageDirectOui());
mnEvalFormatageDirect.setIcon( new ImageIcon(create.class.getResource("/resources/evalformatagedirectmini.png")));
mnEvalFormatageDirect.add(new actEvalFormatageDirect());
return mnEvalFormatageDirect;
}
}

View File

@ -3,7 +3,6 @@ package sousmenuEvaluation;
import javax.swing.ImageIcon;
import javax.swing.JMenu;
import action.actAllContentChilds;
import fenetres.create;
/**
@ -15,8 +14,6 @@ public class mnEvalTousParagraphes {
public static JMenu menu() {
JMenu mnEvalTousParagraphes = new JMenu("Tous les paragraphes de texte");
mnEvalTousParagraphes.setIcon( new ImageIcon(create.class.getResource("/resources/menuEvalTousParagraphemini.png")));
mnEvalTousParagraphes.add(new actAllContentChilds());
mnEvalTousParagraphes.addSeparator();
mnEvalTousParagraphes.add(mnEvalNameLegacyStyleTousLesNodes.menu());
mnEvalTousParagraphes.addSeparator();
mnEvalTousParagraphes.add(mnEvalFormatageDirectTousLesNodes.menu());

Binary file not shown.

166
bin/.gitignore vendored
View File

@ -1,159 +1,8 @@
/MEPTL/
/OnLineVersions/
/action/
/auteurcreateurmini.png
/auteurediteur.png
/auteurediteur.svg
/auteurediteurmini.png
/baseEvaluations/
/biblio.png
/biblio.svg
/calcul/
/chargehistoriqueevaluation.png
/chargehistoriqueevaluationmini.png
/collapseAll.svg
/collapseNode.svg
/collapseallmini.png
/collapsenodemini.png
/configuration.png
/configuration.svg
/content.png
/content.svg
/copy.png
/couleur.png
/couleur.svg
/couleurmini.png
/csvstudent.png
/csvstudent.svg
/csvstudentmini.png
/cut.png
/defautBaseEvaluation.png
/defautBaseEvaluation.svg
/dernierenfant.png
/dernierenfant.svg
/dernierenfantmini.png
/dessin.svgparamètres évaluation et feedback.svg
/detailfeedback.png
/detailfeedbackmini.png
/documentation.pdf
/documentation.png
/documentation.svg
/documentationmax.png
/documentationmini.png
/dossieretudiant.png
/dossieretudiant.svg
/dossieretudiantmin.png
/dossieretudiantmini.png
/downnode.png
/downnode.svg
/downnodemini.png
/entetenon.png
/entetenon.svg
/entetenonmini.png
/enteteoui.png
/enteteoui.svg
/enteteouimini.png
/et.png
/et.svg
/etmini.png
/evalFirstChildfalse.png
/evalFirstChildfalsemini.png
/evalFirstChildtrue.png
/evalFirstChildtruemini.png
/evalLastChildfalse.png
/evalLastChildfalsemini.png
/evalLastChildtrue.png
/evalLastChildtruemini.png
/evalPiedPageActivefalse.png
/evalPiedPageActivefalsemini.png
/evalPiedPageActiveoui.png
/evalPiedPageActiveouimini.png
/evalPiedPageActivetrue.png
/evalPiedPageActivetruemini.png
/evalPiedPagePasActivefalse.png
/evalPiedPagePasActivefalsemini.png
/evalPiedPagePasActivetrue.png
/evalPiedPagePasActivetruemini.png
/evalcalc.png
/evalformatagedirect.png
/evalformatagedirect.svg
/evalformatagedirectfalse.png
/evalformatagedirectfalsemini.png
/evalformatagedirectmini.png
/evalformatagedirecttrue.png
/evalformatagedirecttruemini.png
/evalnamepage.png
/evalnamepage.svg
/evalnamepagefalse.png
/evalnamepagefalsemini.png
/evalnamepagemini.png
/evalnamepagetrue.png
/evalnamepagetruemini.png
/evalnamesequence.png
/evalnamesequence.svg
/evalnamesequencemini.png
/evalnode.svg
/evalnodefalse.png
/evalnodefalsemini.png
/evalnodemini.png
/evalnodetrue.png
/evalnodetruemini.png
/evalnombredepagemaxi.png
/evalnombredepagemaxi.svg
/evalnombredepagemaximini.png
/evalnombredepagemini.png
/evalnombredepageminimini.png
/evalnumeroabsoluepage.png
/evalnumeroabsoluepage.svg
/evalnumeroabsoluepagefalse.png
/evalnumeroabsoluepagefalsemini.png
/evalnumeroabsoluepagemini.png
/evalnumeroabsoluepagetrue.png
/evalnumeroabsoluepagetruemini.png
/evalnumeropage.png
/evalnumeropage.svg
/evalnumeropageancrage.png
/evalnumeropageancrage.svg
/evalnumeropageancragefalse.png
/evalnumeropageancragefalsemini.png
/evalnumeropageancragemini.png
/evalnumeropageancragetrue.png
/evalnumeropageancragetruemini.png
/evalnumeropagefalse.png
/evalnumeropagefalsemini.png
/evalnumeropagemini.png
/evalnumeropagetrue.png
/evalnumeropagetruemini.png
/evalpasparagraphevide.png
/evalpasparagraphevide.svg
/evalpasparagraphevidefalse.png
/evalpasparagraphevidefalsemini.png
/evalpasparagraphevidemini.png
/evalpasparagraphevidetrue.png
/evalpasparagraphevidetruemini.png
/evalplacementparagraphefalse.png
/evalplacementparagraphefalsemini.png
/evalplacementparagraphetrue.png
/evalplacementparagraphetruemini.png
/evaltabalgngauche.png
/evaltabalgngauchefalse.png
/evaltabalgngauchefalsemini.png
/evaltabalgngauchemini.png
/evaltabalgngauchetrue.png
/evaltabalgngauchetruemini.png
/evaltabaligngauche.svg
/evaltabstyleleader.png
/evaltabstyleleader.svg
/evaltabstyleleadermini.png
/evaltextuserdefined.png
/evaltextuserdefined.svg
/evaltextuserdefinedmini.png
/evaluate.png
/evaluate.svg
/evaluatemax.png
/evaluatemini.png
/evaluatemultiple.png
/evaluatemultiple.svg
/evaluatemultiplemax.png
/evaluatemultiplemini.png
/evaluer.png
@ -466,6 +315,9 @@
/styleparagraphe.png
/styleparagraphe.svg
/supprime.svg
/supprimeAttribut.png
/supprimeAttribut.svg
/supprimeAttributmini.png
/supprimemini.png
/textclean.png
/textclean.svg
@ -528,15 +380,3 @@
/zipstudent.png
/zipstudent.svg
/zipstudentmini.png
/resources/
/EvalTabDefautStyleLeaderfalse.png
/EvalTabDefautStyleLeaderfalsemini.png
/EvalTabDefautStyleLeadertrue.png
/EvalTabDefautStyleLeadertruemini.png
/supprimeAttribut.png
/supprimeAttribut.svg
/supprimeAttributmini.png
/atraversanalysestylefalse.png
/atraversanalysestylefalsemini.png
/atraversanalysestyletrue.png
/atraversanalysestyletruemini.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 671 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 999 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 999 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 910 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

BIN
bin/evalnode.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 B

BIN
bin/resources/evalnode.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

View File

@ -31,7 +31,7 @@ public class actAllContent extends AbstractAction{
public void actionPerformed(ActionEvent e) {
node nod = (node) fenetres.create.getSelectNode().getUserObject();
if(listeDesNodesAllContent.isAllContent(nod)) {
new allContent(nod,fenetres.create.getTextNodeSelect(),false);
new allContent(nod,fenetres.create.getTextNodeSelect());
}
}
}

View File

@ -1,30 +0,0 @@
package action;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import cXML.node;
import fenetres.allContent;
import fenetres.create;
public class actAllContentChilds extends AbstractAction{
{
putValue( Action.NAME, "Evaluer le contenu de tous les nodes enfants" );
putValue( Action.SHORT_DESCRIPTION, "Evaluer le contenu de tous les nodes enfants" );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/allcontentchildsmini.png")) );
}
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void actionPerformed(ActionEvent e) {
node nod = (node) fenetres.create.getSelectNode().getUserObject();
new allContent(nod,fenetres.create.getTextNodeSelect(),true);
}
}

View File

@ -28,7 +28,7 @@ public class actEvalAncrageNumeroAbsoluePageOui extends AbstractAction{
"<html><p>Si le node dans le fichier de l'étudiant est ancré dans la même page <br>"
+ "(en valeur absolue), alors l'étudiant obtiendra les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalAncrageNumeroAbsoluePage</html>",
+ "d'évaluation evalAncrageNumeroAbsoluePage</p></html>",
new ImageIcon(create.class.getResource("/resources/evalnumeropageancrage.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -29,7 +29,7 @@ public class actEvalEnteteActive extends AbstractAction{
+ "<i>style:header-footer-properties</i> (en-tête activé),<br>"
+ "alors l'étudiant obtiendra les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalEnteteActive</html>",
+ "d'évaluation evalEnteteActive</p></html>",
new ImageIcon(create.class.getResource("/resources/enteteoui.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -29,7 +29,7 @@ public class actEvalEntetePasActive extends AbstractAction{
+ "<i>style:header-footer-properties</i> (en-tête désactivé),<br>"
+ "alors l'étudiant obtiendra les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalEntetePasActive</html>",
+ "d'évaluation evalEntetePasActive</p></html>",
new ImageIcon(create.class.getResource("/resources/entetenon.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -28,7 +28,7 @@ public class actEvalFirstChildTrue extends AbstractAction{
"<html><p>Si ce node est le premier node dans le fichier de l'étudiant alors<br>"
+ "l'étudiant obtiendra les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalFirstChild</html>",
+ "d'évaluation evalFirstChild</p></html>",
new ImageIcon(create.class.getResource("/resources/premierenfant.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);

View File

@ -10,11 +10,11 @@ import cXML.node;
import fenetres.CustomInputDialogSimplePoint;
import fenetres.create;
public class actEvalFormatageDirectOui extends AbstractAction{
public class actEvalFormatageDirect 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/sautpagecolonnemini.png")) );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/evalformatagedirectmini.png")) );
}
/**
*
@ -30,7 +30,7 @@ public class actEvalFormatageDirectOui extends AbstractAction{
+ "et/ou de caractères <i>(style:name=Px)</i>, ou ne contient pas <br>"
+ "une surcharge alors l'étudiant aura les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalFormatageDirect</html>",
+ "d'évaluation evalFormatageDirect</p></html>",
new ImageIcon(create.class.getResource("/resources/evalformatagedirect.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -5,10 +5,9 @@ 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.CustomInputDialogSimplePoint;
import fenetres.create;
public class actEvalInitialCreator extends AbstractAction{
@ -25,29 +24,12 @@ public class actEvalInitialCreator extends AbstractAction{
@Override
public void actionPerformed(ActionEvent e) {
node nod = (node) fenetres.create.getSelectNode().getUserObject();
int point = 0;
if(nod.getAttributs().get("evalNameInitialCreator")!=null) {
point = Integer.valueOf(nod.getAttributs().get("evalNameInitialCreator"));
}
String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
if(a!=null)if(!a.isBlank()) {
try {
point = Integer.valueOf(a);
if(point<=0) {
nod.supprimeAttribut("evalNameInitialCreator");
fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
fenetres.create.getTextNodeSelect().setText("<h2>Erreur la valeur doit être un nombre entier POSITIF SUPÉRIEUR à zéro.<br>Cependant,l'attribut <b>evalNameInitialCreator</b> a été supprimé.</h2>");
}else {
nod.getAttributs().put("evalNameInitialCreator", String.valueOf(point));
}
} catch (Exception e2) {
fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
fenetres.create.getTextNodeSelect().setText("<h2>Erreur la valeur doit être un <b>nombre entier</b>.<br>L'attribut n'a pas été modifiée.</h2>");
}
}
CustomInputDialogSimplePoint.showCustominputDialog(nod,"evalNameInitialCreator",
"<html><p>Si ce node contient le prénom et nom du premier auteur, <br>"
+ "alors l'étudiant obtiendra les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalNameInitialCreator</p></html>",
new ImageIcon(create.class.getResource("/resources/auteurcreateur.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}
}
}

View File

@ -28,7 +28,7 @@ public class actEvalLastChildTrue extends AbstractAction{
"<html><p>Si ce node est le dernier node dans le fichier de l'étudiant alors<br>"
+ "l'étudiant obtiendra les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalLastChild</html>",
+ "d'évaluation evalLastChild</p></html>",
new ImageIcon(create.class.getResource("/resources/dernierenfant.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -28,7 +28,7 @@ public class actEvalNameNodeOui extends AbstractAction{
"<html><p>Si ce node est présent dans le fichier de l'étudiant alors<br>"
+ "l'étudiant obtiendra les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalNameNode</html>",
+ "d'évaluation evalNameNode</p></html>",
new ImageIcon(create.class.getResource("/resources/evalnode.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -31,7 +31,7 @@ public class actEvalNamePageOui extends AbstractAction{
+"<p>Cochez sur la case sur \"Sur toutes les pages\" pour insérer <br>"
+"ou supprimer la méthode sur toutes les pages.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalNamePage</html>",
+ "d'évaluation evalNamePage</p></html>",
new ImageIcon(create.class.getResource("/resources/evalnamepage.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -5,10 +5,9 @@ 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.CustomInputDialogSimplePoint;
import fenetres.create;
public class actEvalNameSequenceOui extends AbstractAction{
@ -19,35 +18,19 @@ public class actEvalNameSequenceOui extends AbstractAction{
private static final long serialVersionUID = 1L;
{
putValue( Action.NAME, "Oui, combien de point?" );
putValue( Action.SHORT_DESCRIPTION, "Evaluer le nom de la séquence" );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/truemini.png")) );
putValue( Action.SHORT_DESCRIPTION, "Evaluer le nom de la variable de séquence" );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/evalnamesequencemini.png")) );
}
@Override
public void actionPerformed(ActionEvent e) {
node nod = (node) fenetres.create.getSelectNode().getUserObject();
int point = 0;
if(nod.getAttributs().get("evalNameSequence")!=null) {
point = Integer.valueOf(nod.getAttributs().get("evalNameSequence"));
CustomInputDialogSimplePoint.showCustominputDialog(nod,"evalNameSequence",
"<html><p>Si ce node contient le nom de la varriable de séquence <br>"
+ "<i>(ex. création d'une catégorie)</i>, alors l'étudiant obtiendra <br>"
+ "les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalNameSequence</p></html>",
new ImageIcon(create.class.getResource("/resources/evalnamesequence.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}
String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
if(a!=null)if(!a.isBlank()) {
try {
point = Integer.valueOf(a);
if(point<=0) {
nod.supprimeAttribut("evalNameSequence");
fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
fenetres.create.getTextNodeSelect().setText("<h2>Erreur la valeur doit être un nombre entier POSITIF SUPÉRIEUR à zéro.<br>Cependant,l'attribut <b>evalNameSequence</b> a été supprimé.</h2>");
}else {
nod.getAttributs().put("evalNameSequence", String.valueOf(point));
}
} catch (Exception e2) {
fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
fenetres.create.getTextNodeSelect().setText("<h2>Erreur la valeur doit être un <b>nombre entier</b>.<br>L'attribut n'a pas été modifiée.</h2>");
}
}
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}
}

View File

@ -31,7 +31,7 @@ public class actEvalNumeroAbsoluePageOui extends AbstractAction{
+"<p>Cochez sur la case sur \"Sur toutes les pages\" pour insérer <br>"
+"ou supprimer la méthode sur toutes les pages.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalNumeroAbsoluePage</html>",
+ "d'évaluation evalNumeroAbsoluePage</p></html>",
new ImageIcon(create.class.getResource("/resources/evalnumeroabsoluepage.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -31,7 +31,7 @@ public class actEvalNumeroPageOui extends AbstractAction{
+"<p>Cochez sur la case sur \"Sur toutes les pages\" pour insérer <br>"
+"ou supprimer la méthode sur toutes les pages.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalNumeroPage</html>",
+ "d'évaluation evalNumeroPage</p></html>",
new ImageIcon(create.class.getResource("/resources/evalnumeropage.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -31,7 +31,7 @@ public class actEvalPasParagrapheVideOui extends AbstractAction{
+"<p>Cochez sur la case sur \"Sur toutes les pages\" pour insérer <br>"
+"ou supprimer la méthode sur toutes les pages.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalPasParagrapheVide</html>",
+ "d'évaluation evalPasParagrapheVide</p></html>",
new ImageIcon(create.class.getResource("/resources/evalpasparagraphevide.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -29,7 +29,7 @@ public class actEvalPiedPageActive extends AbstractAction{
+ "<i>style:header-footer-properties</i> (pied de page désactivé),<br>"
+ "alors l'étudiant obtiendra les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalPiedPageActive</html>",
+ "d'évaluation evalPiedPageActive</p></html>",
new ImageIcon(create.class.getResource("/resources/piedpageoui.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -29,7 +29,7 @@ public class actEvalPiedPagePasActive extends AbstractAction{
+ "<i>style:header-footer-properties</i> (pied de page activé),<br>"
+ "alors l'étudiant obtiendra les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalPiedPagePasActive</html>",
+ "d'évaluation evalPiedPagePasActive</p></html>",
new ImageIcon(create.class.getResource("/resources/piedpagenon.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -7,7 +7,7 @@ import javax.swing.Action;
import javax.swing.ImageIcon;
import cXML.node;
import fenetres.CustomInputDialogSimplePoint;
import fenetres.CustomInputDialogSimplePointCaseCoche;
import fenetres.create;
public class actEvalPlacementParagrapheOui extends AbstractAction{
@ -24,12 +24,13 @@ public class actEvalPlacementParagrapheOui extends AbstractAction{
@Override
public void actionPerformed(ActionEvent e) {
node nod = (node) fenetres.create.getSelectNode().getUserObject();
CustomInputDialogSimplePoint.showCustominputDialog(nod,"evalPlacement",
CustomInputDialogSimplePointCaseCoche.showCustominputDialog(nod,"evalPlacement",
"<html><p>Si ce node dans le fichier de l'étudiant est placé juste après le <br>"
+ "node précédent de ce node, alors l'étudiant obtiendra les points <br>"
+ "ci-dessous.</p><br>"
+ "<p>Cochez la case pour placer ou supprimer la méthode sur<br>tous les nodes frères.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalPlacement</html>",
+ "d'évaluation evalPlacement</p></html>",
new ImageIcon(create.class.getResource("/resources/ordreparagraphe.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -29,7 +29,7 @@ public class actEvalTabAlignementGaucheOui extends AbstractAction{
+ "<i>style:type</i> (alignement à gauche),<br>"
+ "alors l'étudiant obtiendra les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalPiedPagePasActive</html>",
+ "d'évaluation evalPiedPagePasActive</p></html>",
new ImageIcon(create.class.getResource("/resources/evaltabalgngauche.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -29,7 +29,7 @@ public class actEvalTabDefautStyleLeaderOui extends AbstractAction{
+ "<i>style:leader-text</i> (remplissage des caractères par défaut),<br>"
+ "alors l'étudiant obtiendra les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalTABStyleLeaderDefault</html>",
+ "d'évaluation evalTABStyleLeaderDefault</p></html>",
new ImageIcon(create.class.getResource("/resources/evaltabstyleleader.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -7,7 +7,7 @@ import javax.swing.Action;
import javax.swing.ImageIcon;
import cXML.node;
import fenetres.CustomInputDialogSimplePoint;
import fenetres.CustomInputDialogSimplePointCaseCoche;
import fenetres.create;
public class actEvaluerNomDuStyleHeriteTrue extends AbstractAction{
@ -24,11 +24,12 @@ public class actEvaluerNomDuStyleHeriteTrue extends AbstractAction{
@Override
public void actionPerformed(ActionEvent e) {
node nod = (node) fenetres.create.getSelectNode().getUserObject();
CustomInputDialogSimplePoint.showCustominputDialog(nod,"evalNameLegacyStyle",
CustomInputDialogSimplePointCaseCoche.showCustominputDialog(nod,"evalNameLegacyStyle",
"<html><p>Si le node de l'étudiant possède le même style par héritage<br>"
+ "que ce node, alors l'étudiant obtiendra les points ci-dessous.</p><br>"
+ "<p>Cochez la case pour placer ou supprimer la méthode sur<br>tous les nodes frères.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalNameLegacyStyle</html>",
+ "d'évaluation evalNameLegacyStyle</p></html>",
new ImageIcon(create.class.getResource("/resources/heritagestyle.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}

View File

@ -5,10 +5,9 @@ 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.CustomInputDialogSimplePoint;
import fenetres.create;
public class actevalNameCreator extends AbstractAction{
@ -25,29 +24,13 @@ public class actevalNameCreator extends AbstractAction{
@Override
public void actionPerformed(ActionEvent e) {
node nod = (node) fenetres.create.getSelectNode().getUserObject();
int point = 0;
if(nod.getAttributs().get("evalNameCreator")!=null) {
point = Integer.valueOf(nod.getAttributs().get("evalNameCreator"));
}
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("evalNameCreator", String.valueOf(0));
fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
fenetres.create.getTextNodeSelect().setText("<h2>Erreur la valeur doit être un nombre entier POSITIF supérieur à zéro.<br>Cependant,la valeur a été modifiée.<br>evalNameCreator=0.</h2>");
}else {
nod.getAttributs().put("evalNameCreator", String.valueOf(point));
}
} catch (Exception e2) {
fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
fenetres.create.getTextNodeSelect().setText("<h2>Erreur la valeur doit être un nombre entier.<br>L'attribut n'a pas été modifiée.</h2>");
}
}
CustomInputDialogSimplePoint.showCustominputDialog(nod,"evalNameCreator",
"<html><p>Si ce node contient le prénom et nom du dernier auteur <br>"
+ "<i>(auteur des modifications)</i>, alors l'étudiant obtiendra <br>"
+ "les points ci-dessous.</p><br>"
+ "<p>Cliquez sur le bouton supprimer pour retirer la méthode<br>"
+ "d'évaluation evalNameCreator</p></html>",
new ImageIcon(create.class.getResource("/resources/auteurediteur.png")));
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}
}
}

View File

@ -798,20 +798,21 @@ public class evaluationAttribut {
Pattern p = Pattern.compile("^P[0-9]{1,}$");
Matcher m = p.matcher(nameStyleStudent);
if(m.find()) formatageStudent=true;
m = p.matcher(nameStyleSujet);
if(m.find()) formatageSujet=true;
if((formatageSujet && formatageStudent)) {
retour = evaluationFormatageDirect(retour,"Présence formatage direct", "Présence formatage direct", sujet.getAttributs().get("evalFormatageDirect"),"Formatage");
retour = evaluationFormatageDirect(retour,"Présence formatage direct du paragraphe", "Présence formatage direct du paragraphe", sujet.getAttributs().get("evalFormatageDirect"),"Formatage");
}
if((!formatageSujet && !formatageStudent)){
retour = evaluationFormatageDirect(retour,"Absence formatage direct", "Absence formatage direct" , sujet.getAttributs().get("evalFormatageDirect"),"Formatage");
retour = evaluationFormatageDirect(retour,"Absence formatage direct du paragraphe", "Absence formatage direct du paragraphe" , sujet.getAttributs().get("evalFormatageDirect"),"Formatage");
}
if((formatageSujet && !formatageStudent)){
retour = evaluationFormatageDirect(retour,"Présence formatage direct", "Absence formatage direct" , sujet.getAttributs().get("evalFormatageDirect"),"Formatage");
retour = evaluationFormatageDirect(retour,"Présence formatage direct du paragraphe", "Absence formatage direct du paragraphe" , sujet.getAttributs().get("evalFormatageDirect"),"Formatage");
}
if((!formatageSujet && formatageStudent)){
retour = evaluationFormatageDirect(retour,"Absence formatage direct", "Présence formatage direct" , sujet.getAttributs().get("evalFormatageDirect"),"Formatage");
retour = evaluationFormatageDirect(retour,"Absence formatage direct du paragraphe", "Présence formatage direct du paragraphe" , sujet.getAttributs().get("evalFormatageDirect"),"Formatage");
}
}else {
@ -826,9 +827,9 @@ public class evaluationAttribut {
Matcher m = p.matcher(nameStyleSujet);
if(m.find()) formatageSujet=true;
if((formatageSujet)){
retour = evaluationFormatageDirect(retour,null, "Présence formatage direct" , sujet.getAttributs().get("evalFormatageDirect"),"Formatage");
retour = evaluationFormatageDirect(retour,null, "Présence formatage direct du paragraphe" , sujet.getAttributs().get("evalFormatageDirect"),"Formatage");
}else {
retour = evaluationFormatageDirect(retour,null, "Absence formatage direct" , sujet.getAttributs().get("evalFormatageDirect"),"Formatage");
retour = evaluationFormatageDirect(retour,null, "Absence formatage direct du paragraphe" , sujet.getAttributs().get("evalFormatageDirect"),"Formatage");
}
}

View File

@ -5,6 +5,7 @@ import java.awt.Font;
import java.util.ArrayList;
import javax.swing.ImageIcon;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
@ -24,11 +25,14 @@ public class CustomInputDialogActivateStyle {
+ "caractères.</p>");
lblExpliaction.setFont(new Font("Tahoma", Font.BOLD, 12));
lblExpliaction.setForeground(Color.blue);
ImageIcon icon = new ImageIcon(create.class.getResource("/resources/evaluerstyle.png"));
ImageIcon icon = new ImageIcon(create.class.getResource("/resources/evaluerstyle.png"));
JCheckBox chckbxAllBrother = new JCheckBox("<html>Placer la méthode sur tous les nodes frères.</html>");
Object[] message = {
lblTitre,
lblExpliaction,
chckbxAllBrother
};
String[] options = {"Active", "Désactive"};
@ -44,40 +48,62 @@ public class CustomInputDialogActivateStyle {
options[0]);
if (optionSelected == 0) { // Bouton "Ajouter" sélectionné
nod.getAttributs().put("analyseStyle", "true");
//***************************************************************************************************************
//** Place l'attribut EvaluerATraversAnalyseStyle=true au style qui doit être évaluer à travers d'analyseStyle **
//** S'il y a des attributs évaluer avec alors change par **
//***************************************************************************************************************
String nameStyle = nod.getAttributs().get("text:style-name");
ArrayList<node> nodP = commandes.sujet.retourneEnfantsContainAttribut("style:name");
for(int i = 0 ; i < nodP.size();i++) {
if(nodP.get(i).getAttributs().get("style:name").equals(nameStyle)) {
nodP.get(i).getAttributs().put("EvaluerATraversAnalyseStyle", "true");
nodP.get(i).evaluerTrue();
nodP.get(i).changeLesCodesEvaluateursVersCodeATraversAnalyseStyle();
}
}
placeLaMethodeActive(nod);
if(chckbxAllBrother.isSelected()) {
ArrayList<node> nods = nod.retourneTousLesFreres();
for(int i = 0 ; i < nods.size(); i ++) {
placeLaMethodeActive(nods.get(i));
}
}
} else if (optionSelected == 1) { // Bouton "Supprimer" sélectionné
nod.supprimeAttribut("analyseStyle");
//***************************************************************************************************************
//** Place l'attribut EvaluerATraversAnalyseStyle=true au style qui doit être évaluer à travers d'analyseStyle **
//** S'il y a des attributs évaluer avec alors change par **
//***************************************************************************************************************
String nameStyle = nod.getAttributs().get("text:style-name");
ArrayList<node> nodP = commandes.sujet.retourneEnfantsContainAttribut("style:name");
for(int i = 0 ; i < nodP.size();i++) {
if(nodP.get(i).getAttributs().get("style:name").equals(nameStyle)) {
nodP.get(i).getAttributs().put("EvaluerATraversAnalyseStyle", "false");
nodP.get(i).changeLesCodesEvaluateursVersCodeATraversAnalyseStyle();
nodP.get(i).evaluerFalse();
}
}
} else { // Si la boîte de dialogue est annulée ou fermée
supprimeLaMethode(nod);
if(chckbxAllBrother.isSelected()) {
if(chckbxAllBrother.isSelected()) {
ArrayList<node> nods = nod.retourneTousLesFreres();
for(int i = 0 ; i < nods.size(); i ++) {
supprimeLaMethode(nods.get(i));
}
}
}
}else { // Si la boîte de dialogue est annulée ou fermée
}
}
private static void placeLaMethodeActive(node nod) {
nod.getAttributs().put("analyseStyle", "true");
//***************************************************************************************************************
//** Place l'attribut EvaluerATraversAnalyseStyle=true au style qui doit être évaluer à travers d'analyseStyle **
//** S'il y a des attributs évaluer avec alors change par **
//***************************************************************************************************************
String nameStyle = nod.getAttributs().get("text:style-name");
ArrayList<node> nodP = commandes.sujet.retourneEnfantsContainAttribut("style:name");
for(int i = 0 ; i < nodP.size();i++) {
if(nodP.get(i).getAttributs().get("style:name").equals(nameStyle)) {
nodP.get(i).getAttributs().put("EvaluerATraversAnalyseStyle", "true");
nodP.get(i).evaluerTrue();
nodP.get(i).changeLesCodesEvaluateursVersCodeATraversAnalyseStyle();
}
}
}
private static void supprimeLaMethode(node nod) {
nod.supprimeAttribut("analyseStyle");
//***************************************************************************************************************
//** Place l'attribut EvaluerATraversAnalyseStyle=true au style qui doit être évaluer à travers d'analyseStyle **
//** S'il y a des attributs évaluer avec alors change par **
//***************************************************************************************************************
String nameStyle = nod.getAttributs().get("text:style-name");
ArrayList<node> nodP = commandes.sujet.retourneEnfantsContainAttribut("style:name");
for(int i = 0 ; i < nodP.size();i++) {
if(nodP.get(i).getAttributs().get("style:name").equals(nameStyle)) {
nodP.get(i).getAttributs().put("EvaluerATraversAnalyseStyle", "false");
nodP.get(i).changeLesCodesEvaluateursVersCodeATraversAnalyseStyle();
nodP.get(i).evaluerFalse();
}
}
}
}

View File

@ -0,0 +1,93 @@
package fenetres;
import java.awt.Color;
import java.awt.Font;
import java.util.ArrayList;
import javax.swing.ImageIcon;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import cXML.node;
public class CustomInputDialogSimplePointCaseCoche {
public static void showCustominputDialog(node nod, String nameMethod, String explication, ImageIcon icon) {
Integer initialValue = 0;
if (nod.getAttributs().get(nameMethod) != null) {
initialValue = Integer.parseInt(nod.getAttributs().get(nameMethod));
}
JLabel lblTitre = new JLabel("<html><h2>"+nameMethod+"<h2></html>");
lblTitre.setForeground(new Color(50,50,200));
JLabel lblExpliaction = new JLabel(explication);
lblExpliaction.setFont(new Font("Tahoma", Font.BOLD, 12));
lblExpliaction.setForeground(Color.blue);
JTextField textField = new JTextField(String.valueOf(initialValue), 4);
textField.setFont(new Font("Tahoma", Font.BOLD, 14));
textField.setHorizontalAlignment(SwingConstants.LEFT);
JCheckBox caseFrere = new JCheckBox("Placer la méthode sur tous les nodes frères.");
caseFrere.setFont(new Font("Tahoma", Font.BOLD, 12));
caseFrere.setSelected(false);
Object[] message = {
lblTitre,
lblExpliaction,
caseFrere,
"Quel est le nombre de points?", textField
};
String[] options = {"Ajouter", "Supprimer"};
int optionSelected = JOptionPane.showOptionDialog(
null,
message,
"Ajouter ou supprimer la méthode " + nameMethod,
JOptionPane.DEFAULT_OPTION,
JOptionPane.INFORMATION_MESSAGE,
icon,
options,
options[0]);
if (optionSelected == 0) { // Bouton "Ajouter" sélectionné
try {
Integer inputValue = Integer.parseInt(textField.getText());
if(!caseFrere.isSelected()) {
nod.getAttributs().put(nameMethod, String.valueOf(inputValue));
}else {
ajouteAToutesLesFeres(nod, inputValue,nameMethod);
}
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null, "Veuillez saisir un entier valide.", "Erreur", JOptionPane.ERROR_MESSAGE);
}
} else if (optionSelected == 1) { // Bouton "Supprimer" sélectionné
if(!caseFrere.isSelected()) {
nod.supprimeAttribut(nameMethod);
}else {
ajouteAToutesLesFeres(nod,0,nameMethod);
}
} else { // Si la boîte de dialogue est annulée ou fermée
}
}
private static void ajouteAToutesLesFeres(node nod,Integer point,String nameMethod) {
ArrayList<node> nodFeres = nod.retourneTousLesFreres();
for(int i=0; i < nodFeres.size();i++) {
if(point>0) {
nodFeres.get(i).getAttributs().put(nameMethod, String.valueOf(point));
}else {
nodFeres.get(i).supprimeAttribut(nameMethod);
}
}
}
}

View File

@ -1,5 +1,8 @@
package fenetres;
import java.awt.Desktop;
import java.io.IOException;
import java.net.URISyntaxException;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
@ -10,6 +13,7 @@ import java.util.regex.Pattern;
import java.util.stream.Collectors;
import javax.swing.JEditorPane;
import javax.swing.event.HyperlinkEvent;
import javax.swing.text.DefaultCaret;
import MEPTL.commandes;
@ -27,7 +31,28 @@ public class afficheText extends JEditorPane {
*/
private static final long serialVersionUID = 1L;
public afficheText() {
// Appel du constructeur de la classe parente
super();
// Ajout d'un gestionnaire d'événements pour détecter les clics sur les liens
this.addHyperlinkListener(e -> {
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
// Ouvrir le lien dans le navigateur par défaut
try {
Desktop.getDesktop().browse(e.getURL().toURI());
} catch (IOException e1) {
e1.printStackTrace();
} catch (URISyntaxException e1) {
e1.printStackTrace();
}
}
});
}
/**
* Raffraichie l'affichage de la fenête create lorsque selection d'un node.

View File

@ -1,6 +1,7 @@
package fenetres;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@ -8,6 +9,7 @@ import java.awt.event.ActionListener;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
@ -23,7 +25,6 @@ import javax.swing.tree.TreePath;
import MEPTL.commandes;
import cXML.node;
import list.listeDesNodesAllContent;
import java.awt.Color;
public class allContent extends JFrame {
@ -34,21 +35,24 @@ public class allContent extends JFrame {
private JPanel contentPane;
private JTextField textFieldPoint;
private JLabel lblExplication;
node nod;
afficheText J;
JComboBox<String> comboBoxValeur;
private JButton btnAdd = new JButton("Ajouter");
private JButton btnRemove = new JButton("Supprimer");
private JCheckBox chckbxPlaceMethodeChildren = new JCheckBox("<html>Place la méthode sur tous<br>les nodes enfants</html>");
private node nod;
private afficheText J;
private JComboBox<String> comboBoxValeur;
String valeur="strict";
int point=0;
/**
* Evaluation de tous les contenu d'un node.
* @param nod : Le node à évaluer.
* @param J : Affichage du texte
* @param Childs : Si TRUE alors évaluation de tous les contenus des nodes enfants.
* La méthode allContent permet d'évaluer tous les contenus textuel d'un node<br>
* avec les contenus des nodes enfants.
* @param nod : Le node
* @param J : Affichage du texte dans la fenêtre.
*/
public allContent(node nod, afficheText J,boolean Childs) {
public allContent(node nod, afficheText J) {
this.nod=nod;
this.J=J;
@ -65,7 +69,7 @@ public class allContent extends JFrame {
setResizable(false);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(100, 100, 589, 366);
setBounds(100, 100, 700, 354);
ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") );
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
@ -81,40 +85,39 @@ public class allContent extends JFrame {
setContentPane(contentPane);
contentPane.setLayout(null);
JButton btnNewButton = new JButton("Valider");
btnNewButton.setIcon(new ImageIcon(allContent.class.getResource("/resources/truemini.png")));
btnNewButton.setFont(new Font("Tahoma", Font.BOLD, 18));
btnNewButton.setBounds(347, 266, 216, 50);
contentPane.add(btnNewButton);
btnAdd.setIcon(new ImageIcon(allContent.class.getResource("/resources/true.png")));
btnAdd.setFont(new Font("Tahoma", Font.BOLD, 18));
btnAdd.setBounds(458, 261, 216, 50);
contentPane.add(btnAdd);
JLabel lblValeurDeLattribut = new JLabel("Algorithme d'évaluation");
lblValeurDeLattribut.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 13));
lblValeurDeLattribut.setBounds(10, 124, 165, 23);
lblValeurDeLattribut.setBounds(26, 124, 165, 23);
contentPane.add(lblValeurDeLattribut);
JLabel lblDescription = new JLabel("<html>Cet attribut permet d'évaluer le contenu du node et de celui des nodes enfants.<br>Par conséquent, tous les nodes enfants seront évalués.</html>");
lblDescription.setLabelFor(this);
lblDescription.setFont(new Font("Tahoma", Font.PLAIN, 12));
lblDescription.setBounds(10, 11, 520, 50);
lblDescription.setFont(new Font("Tahoma", Font.BOLD, 13));
lblDescription.setBounds(10, 11, 633, 50);
contentPane.add(lblDescription);
comboBoxValeur = new JComboBox<String>();
comboBoxValeur.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 14));
comboBoxValeur.setModel(new DefaultComboBoxModel<String>(new String[] {"strict", "strictSansEspace", "SansCasseEspaceChiffre", "environ"}));
comboBoxValeur.setSelectedItem(valeur);
comboBoxValeur.setBounds(185, 119, 224, 30);
comboBoxValeur.setBounds(201, 119, 216, 30);
contentPane.add(comboBoxValeur);
JLabel lblPoint = new JLabel("Combien de point ?");
lblPoint.setFont(new Font("Tahoma", Font.BOLD, 13));
lblPoint.setBounds(10, 72, 171, 22);
lblPoint.setBounds(26, 72, 171, 22);
contentPane.add(lblPoint);
textFieldPoint = new JTextField();
textFieldPoint.setFont(new Font("Tahoma", Font.BOLD, 14));
textFieldPoint.setHorizontalAlignment(SwingConstants.CENTER);
textFieldPoint.setText("0");
textFieldPoint.setBounds(181, 72, 72, 23);
textFieldPoint.setBounds(201, 72, 72, 23);
textFieldPoint.setColumns(6);
textFieldPoint.setText(String.valueOf(point));
contentPane.add(textFieldPoint);
@ -138,18 +141,99 @@ public class allContent extends JFrame {
lblExplication.setText("<html>Dans le fichier de l'étudiants.<br>Le contenu du node peut être plus ou moins proche (voir le paramètre similude), la CASSE est ignorée.</html>");
}
lblExplication.setBounds(10, 175, 553, 80);
lblExplication.setBounds(26, 170, 633, 80);
contentPane.add(lblExplication);
JLabel lblNewLabel = new JLabel("<html>Pour supprimer l'évaluation, <br>saisissez 0 point.</html>");
lblNewLabel.setVerticalAlignment(SwingConstants.TOP);
lblNewLabel.setHorizontalAlignment(SwingConstants.LEFT);
lblNewLabel.setFont(new Font("Tahoma", Font.ITALIC, 13));
lblNewLabel.setIcon(new ImageIcon(allContent.class.getResource("/resources/falsemini.png")));
lblNewLabel.setBounds(347, 69, 216, 39);
contentPane.add(lblNewLabel);
btnRemove.setIcon(new ImageIcon(allContent.class.getResource("/resources/false.png")));
btnRemove.setFont(new Font("Tahoma", Font.BOLD, 18));
btnRemove.setBounds(232, 261, 216, 50);
contentPane.add(btnRemove);
if(nod.isHasEnfant()) {
boolean EnableChckBox = false;
for(int i = 0 ; i < nod.getNodes().size();i++) {
if( listeDesNodesAllContent.isAllContent(nod.getNodes().get(i))){
EnableChckBox=true;
}
}
chckbxPlaceMethodeChildren.setEnabled(EnableChckBox);
}else {
chckbxPlaceMethodeChildren.setEnabled(false);
}
chckbxPlaceMethodeChildren.setFont(new Font("Tahoma", Font.PLAIN, 12));
chckbxPlaceMethodeChildren.setBounds(458, 68, 216, 30);
contentPane.add(chckbxPlaceMethodeChildren);
Listener();
setVisible(true);
}
private void placeAtrtibutAllContentDansLesNodesChildren(node nod,String methode, Integer point) {
for(int i = 0 ; i < nod.getNodes().size(); i++) {
if( listeDesNodesAllContent.isAllContent(nod.getNodes().get(i))){
nod.getNodes().get(i).getAttributs().put("allContent", methode+String.valueOf(point));
nod.getNodes().get(i).evaluerAllChildTrue(); }
}
}
private void supprimeAttributAllConetnetDansLesNodesChildren(node nod) {
for(int i = 0 ; i < nod.getNodes().size(); i++) {
if( listeDesNodesAllContent.isAllContent(nod.getNodes().get(i))){
nod.getNodes().get(i).supprimeAttribut("allContent"); }
}
}
private void Listener() {
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
int point = Integer.parseInt(textFieldPoint.getText());
if(point<0) point =0;
if(!chckbxPlaceMethodeChildren.isSelected()) {
nod.getAttributs().put("allContent", comboBoxValeur.getSelectedItem().toString() + String.valueOf(point));
nod.evaluerAllChildTrue();
}else {
placeAtrtibutAllContentDansLesNodesChildren(nod,comboBoxValeur.getSelectedItem().toString(),point);
}
J.refreshAffichage(nod);
TreePath path = fenetres.create.getTree().getSelectionPath();
DefaultTreeModel model = (DefaultTreeModel) fenetres.create.getTree().getModel();
DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot();
model.reload(root);
fenetres.create.getTree().setSelectionPath(path);
fenetres.create.getTree().expandPath(path);
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
dispose();
} catch (Exception e2) {
JOptionPane.showMessageDialog(null, "Le nombre de point doit être un entier.");
}
}
});
btnRemove.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(!chckbxPlaceMethodeChildren.isSelected()) {
nod.supprimeAttribut("allContent");
}else {
supprimeAttributAllConetnetDansLesNodesChildren(nod);
}
J.refreshAffichage(nod);
TreePath path = fenetres.create.getTree().getSelectionPath();
DefaultTreeModel model = (DefaultTreeModel) fenetres.create.getTree().getModel();
DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot();
model.reload(root);
fenetres.create.getTree().setSelectionPath(path);
fenetres.create.getTree().expandPath(path);
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
dispose();
}
});
comboBoxValeur.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(comboBoxValeur.getSelectedItem().equals("strict")) {
@ -167,68 +251,5 @@ public class allContent extends JFrame {
}
});
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
int point = Integer.valueOf(textFieldPoint.getText());
if(point<0) point =0;
if(!Childs) {
nod.getAttributs().put("allContent", comboBoxValeur.getSelectedItem().toString() + String.valueOf(point));
nod.evaluerAllChildTrue();
J.refreshAffichage(nod);
}else {
if(nod.getNomElt().equals("page")) {
placeAtrtibutAllContentDansLesNodesDeLaPage(nod,comboBoxValeur.getSelectedItem().toString(),point);
}
if(nod.getNomElt().equals("structurepage")) {
for(int i = 0 ; i < nod.getNodes().size(); i++) {
if(nod.getNodes().get(i).getNomElt().equals("page")) {
placeAtrtibutAllContentDansLesNodesDeLaPage(nod.getNodes().get(i),comboBoxValeur.getSelectedItem().toString(),point);
}
}
}
if(nod.getNomElt().equals("text:index-body")) {
for(int i = 0 ; i < nod.getNodes().size(); i++) {
placeAtrtibutAllContentDansLesNodesDeLaPage(nod,comboBoxValeur.getSelectedItem().toString(),point);
}
}
J.refreshAffichage(nod);
}
dispose();
} catch (Exception e2) {
JOptionPane.showMessageDialog(null, "Le nombre de point doit être un entier.");
}
TreePath path = fenetres.create.getTree().getSelectionPath();
DefaultTreeModel model = (DefaultTreeModel) fenetres.create.getTree().getModel();
DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot();
model.reload(root);
fenetres.create.getTree().setSelectionPath(path);
fenetres.create.getTree().expandPath(path);
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}
});
setVisible(true);
}
private void placeAtrtibutAllContentDansLesNodesDeLaPage(node nod,String methode, Integer point) {
for(int i = 0 ; i < nod.getNodes().size(); i++) {
if( listeDesNodesAllContent.isAllContent(nod.getNodes().get(i))){
nod.getNodes().get(i).getAttributs().put("allContent", methode+String.valueOf(point));
nod.getNodes().get(i).evaluerAllChildTrue(); }
}
}
}

View File

@ -13,8 +13,6 @@ import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Enumeration;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
@ -54,10 +52,12 @@ import action.actEvalAncrageNumeroAbsoluePageOui;
import action.actEvalEnteteActive;
import action.actEvalEntetePasActive;
import action.actEvalFirstChildTrue;
import action.actEvalFormatageDirectOui;
import action.actEvalFormatageDirect;
import action.actEvalInitialCreator;
import action.actEvalLastChildTrue;
import action.actEvalNameNodeOui;
import action.actEvalNamePageOui;
import action.actEvalNameSequenceOui;
import action.actEvalNumeroAbsoluePageOui;
import action.actEvalNumeroPageOui;
import action.actEvalPasParagrapheVideOui;
@ -91,6 +91,7 @@ import action.actTotalPoint;
import action.actTotalPointNode;
import action.actTutoriels;
import action.actUpNode;
import action.actevalNameCreator;
import cXML.Run;
import cXML.node;
import list.listeDesNodesAllContent;
@ -124,10 +125,11 @@ public final class create extends JFrame {
private JMenuBar menuBar = new JMenuBar();
private static JButton buttonEvaluate;
private JPanel panelPrincipal;
private JPanel panelDroiteBoutons= new JPanel();
private JPanel panelDroiteBoutons= new JPanel();
private static create instance;
public static boolean isDispose = true;
private static JLabel lblInfo = new JLabel("Fichier d'analyse");
private final JLabel lblNewLabel_1 = new JLabel("Les méthodes d'évaluation");
private final JButton btnAttribut= new JButton(new actAttribut());
private final JButton btnAllContent = new JButton(new actAllContent());
@ -135,7 +137,7 @@ public final class create extends JFrame {
private final JButton btnanalyseStyletrue = new JButton(new actEvaluerStyleTrue());
private final JButton btnevalSautPageColonnetrue = new JButton(new actEvalSautPageColonneOui());
private final JButton btnevalNameNodetrue = new JButton(new actEvalNameNodeOui());
private final JButton btnevalFormatageDirecttrue = new JButton(new actEvalFormatageDirectOui());
private final JButton btnevalFormatageDirecttrue = new JButton(new actEvalFormatageDirect());
private final JButton btnevalPlacementtrue = new JButton(new actEvalPlacementParagrapheOui());
private final JButton btnevalFirstChildtrue = new JButton(new actEvalFirstChildTrue());
private final JButton btnevalLastChildtrue = new JButton(new actEvalLastChildTrue());
@ -151,8 +153,10 @@ public final class create extends JFrame {
private final JButton btnevalTABAlignementAGauchetrue = new JButton(new actEvalTabAlignementGaucheOui());
private final JButton btnevalTABStyleLeaderDefaulttrue = new JButton(new actEvalTabDefautStyleLeaderOui());
private final JButton btnEvaluerATraversAnalyseStyletrue = new JButton(new actEvaluerATraversAnalyseStyleTrue());
private final JButton btnevalNameInitialCreator = new JButton(new actEvalInitialCreator());
private final JButton btnevalNameCreator = new JButton(new actevalNameCreator());
private final JButton btnevalNameSequence = new JButton(new actEvalNameSequenceOui());
/**
* Création de la fenêtre.</br>
*/
@ -198,6 +202,12 @@ public final class create extends JFrame {
btnevalTABStyleLeaderDefaulttrue.setEnabled(false);
btnEvaluerATraversAnalyseStyletrue.setIcon(new ImageIcon(create.class.getResource("/resources/atraversanalysestyle.png")));
btnEvaluerATraversAnalyseStyletrue.setEnabled(false);
btnevalNameInitialCreator.setIcon(new ImageIcon(create.class.getResource("/resources/auteurcreateur.png")));
btnevalNameInitialCreator.setEnabled(false);
btnevalNameCreator.setIcon(new ImageIcon(create.class.getResource("/resources/auteurediteur.png")));
btnevalNameCreator.setEnabled(false);
btnevalNameSequence.setIcon(new ImageIcon(create.class.getResource("/resources/evalnamesequence.png")));
btnevalNameSequence.setEnabled(false);
setBackground(new Color(255, 255, 255));
try {
@ -293,7 +303,6 @@ public final class create extends JFrame {
JScrollPane rightScrollPane = new JScrollPane();
textNodeSelect.setBackground(Color.LIGHT_GRAY);
// rightScrollPane.setViewportView(textNodeSelect);
textNodeSelect.setFont(new Font("Monospaced", Font.PLAIN, 15));
JScrollPane ScrollPaneTableBouton = new JScrollPane( );
@ -301,8 +310,6 @@ public final class create extends JFrame {
panelDroiteBoutons.setBorder(null);
panelDroiteBoutons.setLayout(new MigLayout("", "[40px:n,fill][40px:n,fill][40px:n,fill][40px:n,fill][40px:n,fill][40px:n,fill]", "[20px][40px][40px][60px][60px][60px][60px][60px][60px][60px][60px][60px][60px]"));
// ScrollPaneTableBouton = new JScrollPane(panelDroiteBoutons);
rightScrollPane.setViewportView(panelDroiteBoutons);
ScrollPaneTableBouton = new JScrollPane(textNodeSelect);
lblNewLabel_1.setIcon(new ImageIcon(create.class.getResource("/resources/evaluermini.png")));
@ -385,6 +392,15 @@ public final class create extends JFrame {
btnevalPasParagrapheVidetrue.setText("");
panelDroiteBoutons.add(btnevalPasParagrapheVidetrue, "cell 3 4");
btnevalNameInitialCreator.setText("");
panelDroiteBoutons.add(btnevalNameInitialCreator, "cell 4 4");
btnevalNameCreator.setText("");
panelDroiteBoutons.add(btnevalNameCreator, "cell 5 4");
btnevalNameSequence.setText("");
panelDroiteBoutons.add(btnevalNameSequence, "cell 0 5");
JSplitPane splitPane2 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, rightScrollPane, ScrollPaneTableBouton );
splitPane2.setBounds(10, 10, 1364, 783);
@ -437,7 +453,9 @@ public final class create extends JFrame {
selectNode = (DefaultMutableTreeNode) tree.getSelectionPath().getLastPathComponent();
node nod = (node) selectNode.getUserObject(); //node sélectionné.
new CreatePopupMenu(nod); // création du popup menu.
textNodeSelect.setEditable(true);
textNodeSelect.refreshAffichage(nod); //affiche des informations sur le node.
textNodeSelect.setEditable(false);
// refreshTree(); //repaint l'arbre.
if(tree.isCollapsed(tree.getSelectionPath())){
tree.expandPath(tree.getSelectionPath()); //Etend le node sélectionné.
@ -458,7 +476,9 @@ public final class create extends JFrame {
selectNode = (DefaultMutableTreeNode) tree.getSelectionPath().getLastPathComponent();
node nod = (node) selectNode.getUserObject(); //node sélectionné.
new CreatePopupMenu(nod); // création du popup menu.
textNodeSelect.setEditable(true);
textNodeSelect.refreshAffichage(nod); //affiche des informations sur le node.
textNodeSelect.setEditable(false);
btnevalNameLegacyStyleTrue.setEnabled(false);
btnanalyseStyletrue.setEnabled(false);
@ -480,7 +500,10 @@ public final class create extends JFrame {
btnEvalPiedPagePasActivetrue.setEnabled(false);
btnevalTABAlignementAGauchetrue.setEnabled(false);
btnevalTABStyleLeaderDefaulttrue.setEnabled(false);
btnEvaluerATraversAnalyseStyletrue.setEnabled(false);
btnEvaluerATraversAnalyseStyletrue.setEnabled(false);
btnevalNameInitialCreator.setEnabled(false);
btnevalNameCreator.setEnabled(false);
btnevalNameSequence.setEnabled(false);
if(listeDesNodesAllContent.isAllContent(nod)) {
btnAllContent.setEnabled(true);
@ -537,6 +560,15 @@ public final class create extends JFrame {
if(nod.getNomElt().equals("style:style")) {
btnEvaluerATraversAnalyseStyletrue.setEnabled(true);
}
if(nod.getNomElt().equals("meta:initial-creator")) {
btnevalNameInitialCreator.setEnabled(true);
}
if(nod.getNomElt().equals("dc:creator")) {
btnevalNameCreator.setEnabled(true);
}
if(nod.getNomElt().equals("text:sequence-decl")) {
btnevalNameSequence.setEnabled(true);
}
}
}
});
@ -792,72 +824,72 @@ public final class create extends JFrame {
/**
* Annule une action.</br>
*/
@SuppressWarnings("unused")
private AbstractAction actUndo = new AbstractAction() {
// /**
// * Annule une action.</br>
// */
// @SuppressWarnings("unused")
// private AbstractAction actUndo = new AbstractAction() {
//
// private static final long serialVersionUID = 1L;
//
// {
// putValue( Action.NAME, "Annuler" );
// putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/undo.png") ) );
// putValue( Action.MNEMONIC_KEY, KeyEvent.VK_U );
// putValue( Action.SHORT_DESCRIPTION, "Annuler (CTRL+Z)" );
// putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_Z, KeyEvent.CTRL_DOWN_MASK ) );
// }
//
// @Override public void actionPerformed( ActionEvent e ) {
// System.out.println( "Undo" );
// }
// };
private static final long serialVersionUID = 1L;
{
putValue( Action.NAME, "Annuler" );
putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/undo.png") ) );
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_U );
putValue( Action.SHORT_DESCRIPTION, "Annuler (CTRL+Z)" );
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_Z, KeyEvent.CTRL_DOWN_MASK ) );
}
@Override public void actionPerformed( ActionEvent e ) {
System.out.println( "Undo" );
}
};
/**
*
*/
@SuppressWarnings("unused")
private AbstractAction actRedo = new AbstractAction() {
/**
*
*/
private static final long serialVersionUID = 1L;
{
putValue( Action.NAME, "Refaire" );
putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/redo.png") ) );
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_R );
putValue( Action.SHORT_DESCRIPTION, "Refaire (CTRL+U)" );
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, KeyEvent.CTRL_DOWN_MASK ) );
}
@Override public void actionPerformed( ActionEvent e ) {
System.out.println( "Redo" );
}
};
// /**
// *
// */
// @SuppressWarnings("unused")
// private AbstractAction actRedo = new AbstractAction() {
//
// /**
// *
// */
// private static final long serialVersionUID = 1L;
//
// {
// putValue( Action.NAME, "Refaire" );
// putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/redo.png") ) );
// putValue( Action.MNEMONIC_KEY, KeyEvent.VK_R );
// putValue( Action.SHORT_DESCRIPTION, "Refaire (CTRL+U)" );
// putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, KeyEvent.CTRL_DOWN_MASK ) );
// }
//
// @Override public void actionPerformed( ActionEvent e ) {
// System.out.println( "Redo" );
// }
// };
/**
*
*/
@SuppressWarnings("unused")
private AbstractAction actCut = new AbstractAction() {
// /**
// *
// */
// @SuppressWarnings("unused")
// private AbstractAction actCut = new AbstractAction() {
//
// private static final long serialVersionUID = 1L;
//
// {
// putValue( Action.NAME, "Couper" );
// putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/cut.png") ) );
// putValue( Action.MNEMONIC_KEY, KeyEvent.VK_T );
// putValue( Action.SHORT_DESCRIPTION, "Couper (CTRL+X)" );
// putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK ) );
// }
//
// @Override public void actionPerformed( ActionEvent e ) {
// System.out.println( "Cut" );
// }
// };
private static final long serialVersionUID = 1L;
{
putValue( Action.NAME, "Couper" );
putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/cut.png") ) );
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_T );
putValue( Action.SHORT_DESCRIPTION, "Couper (CTRL+X)" );
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK ) );
}
@Override public void actionPerformed( ActionEvent e ) {
System.out.println( "Cut" );
}
};
private final JLabel lblNewLabel_1 = new JLabel("Les méthodes d'évaluation d'un node");
/**

View File

@ -367,7 +367,7 @@ public class descriptionNode {
return descriptionNode;
}
case "text:s": {
descriptionNode = descriptionNode + "<p>Ce node est celui d'un espace [UNICODE (U+0020,ESAPCE)].<br>Cet élément est utilisé pour représenter le deuxième caractère et tous les suivants dans une séquence de caractères.<br>Entre deux champs consécutifs, il y a toujours un node text:s, par exemple.</p>";
descriptionNode = descriptionNode + "<p>Ce node est celui d'une espace blanc [UNICODE (U+0020,ESAPCE)].<br>Cet élément est utilisé pour représenter le deuxième caractère et tous les suivants dans une séquence de caractères.<br><a href=\"https://fr.wikipedia.org/wiki/Espace_(typographie)\">Wikipédia</a></p>";
return descriptionNode;
}
case "style:background-image": {

View File

@ -40,6 +40,7 @@ public class listeDesNodesEvalPlacement {
case "text:sender-email": return true;
case "text:hidden-text": return true;
case "text:hidden-paragraph": return true;
case "text:index-title": return true;
default:
return false;