MAJ V4.2.2

Ajout le menu pour tous les nodes de paragraphe et de texte de la
méthode evalFormatageDirect
modifications pour prendre en compte la date de création et le présence
de l'historique des modification.
This commit is contained in:
pablo rodriguez 2023-02-03 14:26:11 +01:00
parent 39f274dc7e
commit 485737518b
21 changed files with 171 additions and 117 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>

Binary file not shown.

Binary file not shown.

99
bin/.gitignore vendored
View File

@ -3,105 +3,6 @@
/evaluer/
/fenetres/
/list/
/property.png
/property.svg
/recherche.png
/recherche.svg
/rechercheDoublon.png
/rechercheDoublon.svg
/rechercheDoublonmini.png
/rechercheancragepage.png
/rechercheancragepage.svg
/rechercheancragepagemini.png
/recherchecontenu.png
/recherchecontenu.svg
/recherchecontenumini.png
/recherchecontenuplusprochevoisin.png
/recherchecontenuplusprochevoisin.svg
/recherchecontenuplusprochevoisinmini.png
/rechercheindex.png
/rechercheindex.svg
/rechercheindexmini.png
/recherchemini.png
/redo.png
/saut.svg
/sautmini.png
/sautmultiple.png
/sautmultiple.svg
/sautmultiplemini.png
/sautpageColonne.svg
/sautpagecolonne.png
/sautpagecolonnemini.png
/save.png
/save.svg
/save_as.png
/saveas.svg
/saveasmini.png
/savemini.png
/savepreference.png
/savepreference.svg
/savepreferencemini.png
/section.png
/section.svg
/sequence.png
/sequence.svg
/setting.png
/setting.svg
/settingmini.png
/similitude.png
/similitude.svg
/similitudemini.png
/structurepage.png
/structurepage.svg
/stylepage.png
/stylepage.svg
/styleparagraphe.png
/styleparagraphe.svg
/supprime.svg
/supprimemini.png
/textclean.png
/textclean.svg
/textcleanmini.png
/titre.svg
/titremini.png
/totalpoint.png
/totalpoint.svg
/totalpointmini.png
/totalpointnode.png
/totalpointnode.svg
/totalpointnodemini.png
/touslesnodes.png
/touslesnodes.svg
/touslesnodesmini.png
/toutext.png
/toutext.svg
/toutextmini.png
/traduction.png
/traduction.svg
/traductionmini.png
/treeClose.png
/treeClose.svg
/treeLeaf.png
/treeLeaf.svg
/treeOpen.png
/treeOpen.svg
/triche.png
/triche.svg
/trichemini.png
/true.png
/true.svg
/truemini.png
/tutoriel.png
/tutoriel.svg
/tutorielmini.png
/undo.png
/upnode.png
/upnode.svg
/upnodemini.png
/verifhistorique.png
/verifhistoriquemax.png
/verifhistoriquemini.png
/verifhistoriquestudent.png
/verifhistoriquestudent.svg
/verifhistoriquestudentmini.png
/versevaluate.png

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1724,7 +1724,7 @@ public class meptl {
}
if(nodSujet.getAttributs().get("creationDate")!=null) {
if(!(b.getContenu().contains(nodSujet.getAttributs().get("creationDate")))) { //nodSujet.getAttributs().get("creationDate").contains(b.getContenu())
if(!(b.getContenu().toString().contains(nodSujet.getAttributs().get("creationDate")))) { //nodSujet.getAttributs().get("creationDate").contains(b.getContenu())
manqueValeurCreationDate = true;
}
}
@ -1765,6 +1765,7 @@ public class meptl {
erreurs.getAttributs().put("manqueValeurCreationDate", String.valueOf(manqueValeurCreationDate));
erreurs.getAttributs().put("manqueInitialCreator", String.valueOf(manqueInitialCreator));
if(nodSujet.getAttributs().get("historiquePresent")!=null) {
if(nodSujet.getAttributs().get("historiquePresent").equalsIgnoreCase("true")) {
if(manqueHistorique) {

View File

@ -96,7 +96,9 @@ public class analyseFichier {
// verification si au moins une erreur alors l'analyse est terminée
if(Boolean.valueOf(erreurs.getAttributs().get("oneError"))){
return clotureNodeAnalyse(nodouverture, nodbodyetnotation, nodmenu, erreurs, nodmeta, nodpage, nodparagraph, nodsequence, nodnumerochapitre, nodframes, nodsections, nodtableaux, nodbiblio, nodtablematieres, nodtableillustrations, nodstructurepage, nodSujet.getContenu().get(0), null);
String texte = "";
if(nodSujet.getContenu().size()>0) texte = nodSujet.getContenu().get(0);
return clotureNodeAnalyse(nodouverture, nodbodyetnotation, nodmenu, erreurs, nodmeta, nodpage, nodparagraph, nodsequence, nodnumerochapitre, nodframes, nodsections, nodtableaux, nodbiblio, nodtablematieres, nodtableillustrations, nodstructurepage, texte, null);
}

View File

@ -437,7 +437,8 @@ public class afficheText extends JEditorPane {
+ "<p>Nom du fichier d'analyse : <b>"+ commandes.nameSujet + "</b></p><hr><br>");
text.append("<h3>Le titre de l'exercice est : <u>" + commandes.analyse_titre+"</u></h3>");
text.append("<p>Le sujet (metaSujet) est : <b>" + commandes.analyse_metaSujet+"</b></p>");
text.append("<p>L'auteur de l'exercice est : <b>" + commandes.analyse_auteur+"</b></p>");
text.append("<p>L'auteur de l'exercice est : <b>" + commandes.analyse_auteur+"</b></p>");
text.append("<br><hr><br>");
if(commandes.analyse_baremeABC==true) {
text.append("<br><p>La notation est sous la forme d'une <b><u>note alphabétique ABCDE</u></b>.</p>");
text.append("<p>La progression est de <b>" + String.valueOf(commandes.analyse_progression)+ "</b></p>");
@ -450,7 +451,9 @@ public class afficheText extends JEditorPane {
calculNotesProgression C = new calculNotesProgression(commandes.analyse_progression, commandes.analyse_notefrom);
text.append("<p>" + C.getMessageLigne() + "</p>");
}
text.append("<br>");
text.append("<br><hr><br>");
text.append("<p>La distance de Lenvenhein : " + String.valueOf(commandes.tolerance_text)+ ".</p>");
text.append("<br><hr><br>");
text.append("<p>Le nom du fichier : <b>" + commandes.analysis_filename + "</b></p>");
text.append("<p>Le hash de l'évaluation est : <b>" + commandes.hash + "<b></p>");
text.append("<br>");
@ -458,16 +461,15 @@ public class afficheText extends JEditorPane {
text.append("<br>");
text.append("<p>Verification de la presence metaSujet : <b>" + commandes.analyse_presenceMetaSujet + "</b></p>");
text.append("<br>");
text.append("<p>Contrôle la date de céation : <b>" + commandes.analyse_controleDateCreation+ "</b></p>");
text.append("<p>Contrôle la date de création : <b>" + commandes.analyse_controleDateCreation+ "</b></p>");
text.append("<br>");
text.append("<p>Contrôle l'auteur initial du fichier : <b>" + commandes.analyse_controle_Initial_Creator + "</b></p>");
text.append("<br>");
text.append("<br><hr><br>");
text.append("<p><b><u>Dossier de l'analyse contenant les fichiers des étudiants, feedbacks et notes</u></b> :</p>");
text.append("<p class=\"city\"><b>"+commandes.path+"</b></p>");
text.append("<br>");
text.append("<br><p><b><u>Fichier d'analyse</u></b> :</p>");
text.append("<br><hr><br>");
text.append("<p><b><u>Fichier d'analyse</u></b> :</p>");
text.append("<p class=\"city\"><b>"+commandes.analysis_filename+"</b></p>");
setContentType("text/html");
setText(text.toString());

View File

@ -29,6 +29,10 @@ public class createPopupMenu extends JPopupMenu {
*/
private static final long serialVersionUID = 1L;
/**
* Création de la popupmenu.</br>
* @param nod
*/
public createPopupMenu(node nod) {
if(nod!=null) {
@ -125,6 +129,8 @@ public class createPopupMenu extends JPopupMenu {
mnEvalTousParagraphes.add(new actAllContentChilds());
mnEvalTousParagraphes.addSeparator();
mnEvalTousParagraphes.add(mnEvalNameLegacyStyleTousLesNodes());
mnEvalTousParagraphes.addSeparator();
mnEvalTousParagraphes.add(mnEvalFormatageDirectTousLesNodes());
return mnEvalTousParagraphes;
}
@ -167,6 +173,21 @@ public class createPopupMenu extends JPopupMenu {
return mnEvalFormatageDirect;
}
/**
* Evaluer l'absence ou la présence du formatage directe.</br>
* De tous les nodes de la structurepage.</br>
* Uniquement présent sur les paragraphes ou les titres.</br>
* @return
*/
private JMenu mnEvalFormatageDirectTousLesNodes() {
JMenu mnEvalFormatageDirectTousLesNodes = new JMenu("Evaluer l'absence ou la présence du formatage direct");
mnEvalFormatageDirectTousLesNodes.setIcon( new ImageIcon(create.class.getResource("/resources/evalformatagedirectmini.png")));
mnEvalFormatageDirectTousLesNodes.add(new actEvalFormatageDirectTousLesNodesTrue());
mnEvalFormatageDirectTousLesNodes.add( new actEvalFormatageDirectTousLesNodesFalse());
return mnEvalFormatageDirectTousLesNodes;
}
/**
* Evaluer l'absence de paragraphe vide dans les pages.</br>
* Uniquement présent sur les nodes page.</br>

View File

@ -24,6 +24,8 @@ public class actEvalFormatageDirectNon extends AbstractAction{
public void actionPerformed(ActionEvent e) {
node nod = (node) fenetres.create.getSelectNode().getUserObject();
nod.supprimeAttribut("evalFormatageDirect");
fenetres.create.getTextNodeSelect().refreshAffichage(nod); }
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}
}

View File

@ -14,7 +14,7 @@ import fenetres.create;
public class actEvalFormatageDirectOui extends AbstractAction{
{
putValue( Action.NAME, "Oui, combien de point?" );
putValue( Action.SHORT_DESCRIPTION, "Evaluer la présence ou l'basence du formatage direct." );
putValue( Action.SHORT_DESCRIPTION, "Evaluer la présence ou l'absence du formatage direct." );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/truemini.png")) );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/truemini.png")) );
}

View File

@ -0,0 +1,48 @@
package fenetres.create_act;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import cXML.node;
import fenetres.create;
import list.listeDesNodesAnalyseStyle;
public class actEvalFormatageDirectTousLesNodesFalse extends AbstractAction{
{
putValue( Action.NAME, "Supprime évaluer l'absence ou la présence du formatage direct" );
putValue( Action.SHORT_DESCRIPTION, "Supprime évaluer l'absence ou la présence du formatage direct." );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/falsemini.png")) );
}
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void actionPerformed(ActionEvent e) {
node nod = (node) fenetres.create.getSelectNode().getUserObject();
if(nod.getNomElt().equals("page")) {
supprimeAttribut(nod);
}
if(nod.getNomElt().equals("structurepage")) {
for(int i = 0 ; i < nod.getNodes().size();i++) {
if(nod.getNodes().get(i).getNomElt().equals("page")) {
supprimeAttribut(nod.getNodes().get(i));
}
}
}
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}
private void supprimeAttribut(node nodePage) {
for(int i = 0 ; i < nodePage.getNodes().size();i++) {
if(listeDesNodesAnalyseStyle.isAnalyseStyle(nodePage.getNodes().get(i))) {
nodePage.getNodes().get(i).supprimeAttribut("evalFormatageDirect");
}
}
}
}

View File

@ -0,0 +1,74 @@
package fenetres.create_act;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import cXML.node;
import fenetres.baliseStyle;
import fenetres.create;
import list.listeDesNodesAnalyseStyle;
public class actEvalFormatageDirectTousLesNodesTrue extends AbstractAction{
{
putValue( Action.NAME, "Oui, combien de point?" );
putValue( Action.SHORT_DESCRIPTION, "Evaluer la présence ou l'absence du formatage direct." );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/truemini.png")) );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/truemini.png")) );
}
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void actionPerformed(ActionEvent e) {
node nod = (node) fenetres.create.getSelectNode().getUserObject();
int point = 0;
if(nod.getAttributs().get("evalFormatageDirect")!=null) {
point = Integer.valueOf(nod.getAttributs().get("evalFormatageDirect"));
}
String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
if(!a.isEmpty()) {
try {
point = Integer.valueOf(a);
if(point<=0) {
nod.getAttributs().put("evalFormatageDirect", String.valueOf(0));
fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
fenetres.create.getTextNodeSelect().setText("<h2>Erreur la valeur doit être un nombre entier POSITIF supérieur à zéro.<br>Cependant,la valeur a été modifiée.<br>evalFormatageDirect=0.</h2>");
}else {
String pointString = String.valueOf(point);
if(nod.getNomElt().equals("page")) {
ajouteAttribut(nod,pointString);
}
if(nod.getNomElt().equals("structurepage")) {
for(int i = 0 ; i < nod.getNodes().size(); i++) {
if(nod.getNodes().get(i).getNomElt().equals("page")) {
ajouteAttribut(nod.getNodes().get(i),pointString);
}
}
}
}
} catch (Exception e2) {
fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
fenetres.create.getTextNodeSelect().setText("<h2>Erreur la valeur doit être un nombre entier.<br>L'attribut n'a pas été modifiée.</h2>");
}
}
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}
private void ajouteAttribut(node nodePage, String pointString) {
for(int i = 0 ; i < nodePage.getNodes().size(); i++) {
if(listeDesNodesAnalyseStyle.isAnalyseStyle(nodePage.getNodes().get(i))) {
nodePage.getNodes().get(i).getAttributs().put("evalFormatageDirect", pointString);
}
}
}
}

View File

@ -150,14 +150,17 @@ public class evaluerLesFichiersEtudiants implements Runnable{
node nod = Run.XMLContent(a.getLectDossiers().getEC().getListeContentWriter().get(i));
node nodStudent=null;
try {
//Supprime l'historique des modifications
nod.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes");
nod.supprimeTousLesNodesEnfantWithThisName("text:change-start");
nod.supprimeTousLesNodesEnfantWithThisName("text:change-end");
nod.supprimeTousLesNodesEnfantWithThisName("text:deletion");
//Création du node de l'étudiant
nodStudent = meptl.LectureFichierEtudiantSousFormeDeNode(nod,a,i);
//Supprime l'historique des modifications
nodStudent.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes");
nodStudent.supprimeTousLesNodesEnfantWithThisName("text:change-start");
nodStudent.supprimeTousLesNodesEnfantWithThisName("text:change-end");
nodStudent.supprimeTousLesNodesEnfantWithThisName("text:deletion");
} catch (IOException e1) {
e1.printStackTrace();
}

View File

@ -102,7 +102,7 @@ public class filechooserXML extends JFileChooser {
//node.node2(targetString);
node sujetLoad = new node(targetString.toString().replace("\t","").replace("\r", "").replace("\n", ""));
//Supprime l'historique des modifications
//Supprime l'historique des modifications pour pouvoir créer le fichier d'nalyse
sujetLoad.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes");
sujetLoad.supprimeTousLesNodesEnfantWithThisName("text:deletion");
sujetLoad.supprimeTousLesNodesEnfantWithThisName("text:change-start");