MAJ V4.4.1 (le scrollBar vezrtical ne se déplace plus en bas après
chargement d'un nouveau texte dans l'affichage. Amélioration de de la méthode placement et de son affichage)
@ -12,6 +12,6 @@
|
|||||||
<classpathentry kind="lib" path="C:/Users/pabr6/git/analyseWriter/MEPTL/miglayout15-swing.jar"/>
|
<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="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/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"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
3
bin/.gitignore
vendored
@ -3,6 +3,3 @@
|
|||||||
/evaluer/
|
/evaluer/
|
||||||
/fenetres/
|
/fenetres/
|
||||||
/list/
|
/list/
|
||||||
/resources/
|
|
||||||
/nocsvstudent.png
|
|
||||||
/nocsvstudentmini.png
|
|
||||||
|
BIN
bin/nocsvstudent.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
bin/nocsvstudentmini.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
bin/resources/csvstudent.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
bin/resources/csvstudentmini.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
bin/resources/informationmultiple.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
bin/resources/informationmultiplemini.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
bin/resources/nocsvstudent.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
bin/resources/nocsvstudentmini.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
@ -123,6 +123,17 @@ public class evaluation {
|
|||||||
if(pointEnJeu==0) return "Optionnel";
|
if(pointEnJeu==0) return "Optionnel";
|
||||||
|
|
||||||
|
|
||||||
|
//Méthode de comparaison avec calcul de Levenshtein
|
||||||
|
if(Sujet!=null) if(Sujet.contains("╬")) {
|
||||||
|
if(A==null) return "Erreur : -" + pointString;
|
||||||
|
Sujet = Sujet.replace("╬", "");
|
||||||
|
if(TraitementDistanceDeLevenstein(A,Sujet).equals("Correct : ")) {
|
||||||
|
IncrementPointClass(pointEnJeu);
|
||||||
|
return "Correct : +" + pointString;
|
||||||
|
}
|
||||||
|
return "Erreur : -" + pointString;
|
||||||
|
}
|
||||||
|
|
||||||
// autre chose que null, none ou vide (analyse très simple) toutes les autres fonctions sont ignorées
|
// autre chose que null, none ou vide (analyse très simple) toutes les autres fonctions sont ignorées
|
||||||
if(Sujet!=null) if(Sujet.contains("†")) {
|
if(Sujet!=null) if(Sujet.contains("†")) {
|
||||||
if(A==null) return "Erreur : -" + pointString;
|
if(A==null) return "Erreur : -" + pointString;
|
||||||
@ -314,7 +325,7 @@ public class evaluation {
|
|||||||
point = Integer.valueOf(B.substring(B.indexOf("‽")+1,B.length()));
|
point = Integer.valueOf(B.substring(B.indexOf("‽")+1,B.length()));
|
||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
commandes.message.append("<p>** ERREUR sur la ventillation des points : " + B + " **</p>");
|
commandes.message.append("<p>** ERREUR sur la ventillation des points : " + B + " **</p>");
|
||||||
System.out.println("ERREUR sur la ventillation des points : " +B);
|
System.out.println("ERREUR sur la ventillation des points : " + B);
|
||||||
e.getMessage();
|
e.getMessage();
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
@ -667,6 +678,19 @@ public class evaluation {
|
|||||||
return "Erreur : ";
|
return "Erreur : ";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param A
|
||||||
|
* @param Sujet
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private static String TraitementDistanceDeLevenstein(String A, String Sujet) {
|
||||||
|
if(cXML.StringSimilarity.similarity(A, Sujet)>commandes.tolerance_text) {
|
||||||
|
return "Correct : ";
|
||||||
|
}
|
||||||
|
return "Erreur : ";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fonction OU contenant des ET contient le texte du node Sujet
|
* Fonction OU contenant des ET contient le texte du node Sujet
|
||||||
* @param A
|
* @param A
|
||||||
|
@ -579,9 +579,9 @@ public class evaluationAttribut {
|
|||||||
if(!A.isEmpty() && !B.isEmpty()) if(cXML.StringSimilarity.similarity(A, B)>0.92) calcul++;
|
if(!A.isEmpty() && !B.isEmpty()) if(cXML.StringSimilarity.similarity(A, B)>0.92) calcul++;
|
||||||
|
|
||||||
if(calcul==1) {
|
if(calcul==1) {
|
||||||
retour = evaluationPlacement(retour,nodeStudent, sujet.retourneLesContenusEnfants(""), sujet.getAttributs().get("evalPlacement"),"Placement");
|
retour = evaluationPlacement(retour,B, A , sujet.getAttributs().get("evalPlacement"),"Placement");
|
||||||
}else {
|
}else {
|
||||||
retour = evaluationPlacement(retour,null, sujet.retourneLesContenusEnfants(""), sujet.getAttributs().get("evalPlacement"),"Placement");
|
retour = evaluationPlacement(retour,null, A , sujet.getAttributs().get("evalPlacement"),"Placement");
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
node nodeSujetAvant = sujet.retourneLeNodeFrereAvant();
|
node nodeSujetAvant = sujet.retourneLeNodeFrereAvant();
|
||||||
@ -894,14 +894,14 @@ public class evaluationAttribut {
|
|||||||
* @param nameElt
|
* @param nameElt
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private static node evaluationPlacement(node retour, node nodStudent, String contenuParagraph, String point, String nameElt) {
|
private static node evaluationPlacement(node retour, String contenuParagraphStudentAvant, String contenuParagraphSujetAvant, String point, String nameElt) {
|
||||||
node item = null;
|
node item = null;
|
||||||
if(nodStudent!=null) {
|
if(contenuParagraphStudentAvant!=null) {
|
||||||
//compare la même valeur "contenuParagraph" pour obtenir les points mais si un voisinage du contenu.
|
//compare la même valeur "contenuParagraph" pour obtenir les points mais si un voisinage du contenu.
|
||||||
item = retourneNoteAvecResultatsAnalyse("Placement","avant", "Oui","Oui" + "‽" +point, nameElt );
|
item = retourneNoteAvecResultatsAnalyse("Placement","avant", contenuParagraphStudentAvant , contenuParagraphSujetAvant + "╬‽" +point, nameElt );
|
||||||
}else {
|
}else {
|
||||||
evaluation.IncrementPointTotal(Integer.valueOf(point));
|
evaluation.IncrementPointTotal(Integer.valueOf(point));
|
||||||
item = new node("Placement", "Erreur : -"+ point, "avant" , "null", "non", 2, evaluation.getPointEnJeu(),nameElt);
|
item = new node("Placement", "Erreur : -"+ point, "avant" , "null", contenuParagraphSujetAvant , 2, evaluation.getPointEnJeu(),nameElt);
|
||||||
}
|
}
|
||||||
retour.getNodes().add(item);
|
retour.getNodes().add(item);
|
||||||
return retour;
|
return retour;
|
||||||
|
@ -8,7 +8,10 @@ import java.util.List;
|
|||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.swing.JEditorPane;
|
import javax.swing.JEditorPane;
|
||||||
|
import javax.swing.text.DefaultCaret;
|
||||||
|
|
||||||
import MEPTL.commandes;
|
import MEPTL.commandes;
|
||||||
import cXML.node;
|
import cXML.node;
|
||||||
import calcul.calculIntervalleBaremeABCDE;
|
import calcul.calculIntervalleBaremeABCDE;
|
||||||
@ -25,12 +28,17 @@ public class afficheText extends JEditorPane {
|
|||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Raffraichie l'affichage de la fenête create lorsque selection d'un node.
|
* Raffraichie l'affichage de la fenête create lorsque selection d'un node.
|
||||||
* @param nod
|
* @param nod
|
||||||
*/
|
*/
|
||||||
public void refreshAffichage(node nod) {
|
public void refreshAffichage(node nod) {
|
||||||
|
|
||||||
|
//Important pour l'affichage car affiche le texte toujours au début en haut de l'affichage.
|
||||||
|
DefaultCaret caret = (DefaultCaret) this.getCaret();
|
||||||
|
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
|
||||||
|
|
||||||
if(nod!=null) {
|
if(nod!=null) {
|
||||||
setContentType("text/html");
|
setContentType("text/html");
|
||||||
node nodeParent = nod.getParent();
|
node nodeParent = nod.getParent();
|
||||||
@ -323,8 +331,9 @@ public class afficheText extends JEditorPane {
|
|||||||
|
|
||||||
|
|
||||||
setText("<html>"+sb.toString()+"</html>");
|
setText("<html>"+sb.toString()+"</html>");
|
||||||
}
|
|
||||||
if(nod==null) {
|
|
||||||
|
}else {
|
||||||
setText("");
|
setText("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,7 +91,6 @@ public final class create extends JFrame {
|
|||||||
private JPanel panelPrincipal;
|
private JPanel panelPrincipal;
|
||||||
private static create instance;
|
private static create instance;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Création de la fenêtre.</br>
|
* Création de la fenêtre.</br>
|
||||||
*/
|
*/
|
||||||
@ -176,6 +175,8 @@ public final class create extends JFrame {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.setExtendedState(MAXIMIZED_BOTH);
|
this.setExtendedState(MAXIMIZED_BOTH);
|
||||||
|
rightScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
|
||||||
|
// orig = (Point) rightScrollPane.getViewport().getViewPosition().clone();
|
||||||
|
|
||||||
ListenerAction();
|
ListenerAction();
|
||||||
|
|
||||||
|
@ -114,6 +114,8 @@ if(nod!=null) {
|
|||||||
JPopupMenu mnPopupTree = new JPopupMenu();
|
JPopupMenu mnPopupTree = new JPopupMenu();
|
||||||
mnPopupTree.add( mnEvaluer());
|
mnPopupTree.add( mnEvaluer());
|
||||||
if(nod.getLevel()==1 ) {
|
if(nod.getLevel()==1 ) {
|
||||||
|
mnPopupTree.addSeparator();
|
||||||
|
mnPopupTree.add(new actCoefficient());
|
||||||
mnPopupTree.addSeparator();
|
mnPopupTree.addSeparator();
|
||||||
mnPopupTree.add(mnNiveau1());
|
mnPopupTree.add(mnNiveau1());
|
||||||
}
|
}
|
||||||
@ -606,8 +608,6 @@ if(nod!=null) {
|
|||||||
private JMenu mnNiveau1 () {
|
private JMenu mnNiveau1 () {
|
||||||
JMenu mnNiveau1 = new JMenu("Pour représentation & coefficient");
|
JMenu mnNiveau1 = new JMenu("Pour représentation & coefficient");
|
||||||
mnNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/feedbackmini.png"))); ///resources/attributanalysewritermini.png
|
mnNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/feedbackmini.png"))); ///resources/attributanalysewritermini.png
|
||||||
mnNiveau1.add(new actCoefficient());
|
|
||||||
mnNiveau1.addSeparator();
|
|
||||||
mnNiveau1.add(mnSautNiveau1());
|
mnNiveau1.add(mnSautNiveau1());
|
||||||
mnNiveau1.addSeparator();
|
mnNiveau1.addSeparator();
|
||||||
mnNiveau1.add(mnTitreNiveau1());
|
mnNiveau1.add(mnTitreNiveau1());
|
||||||
|
@ -4,8 +4,12 @@ import java.awt.event.ActionEvent;
|
|||||||
|
|
||||||
import javax.swing.AbstractAction;
|
import javax.swing.AbstractAction;
|
||||||
import javax.swing.Action;
|
import javax.swing.Action;
|
||||||
|
import javax.swing.Box;
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
|
||||||
import cXML.node;
|
import cXML.node;
|
||||||
import fenetres.baliseStyle;
|
import fenetres.baliseStyle;
|
||||||
@ -34,23 +38,31 @@ public class actCoefficient extends AbstractAction{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
String a = JOptionPane.showInputDialog(null,"Quel est le coefficient de cette partie de l'évaluation?",poids);
|
|
||||||
|
|
||||||
if(!a.isEmpty()) {
|
JTextField poidsField = new JTextField(8);
|
||||||
try {
|
poidsField.setText(String.valueOf(poids));
|
||||||
poids = Double.valueOf(a);
|
JPanel myPanel = new JPanel();
|
||||||
if(poids<=0) {
|
myPanel.add(new JLabel("Coef. :"));
|
||||||
nod.poids(Double.valueOf(1));
|
myPanel.add(Box.createHorizontalStrut(2)); // a spacer
|
||||||
|
myPanel.add(poidsField);
|
||||||
|
|
||||||
|
|
||||||
|
int result = JOptionPane.showConfirmDialog(null, myPanel, "Saisissez le coefficient", JOptionPane.OK_CANCEL_OPTION);
|
||||||
|
if (result == JOptionPane.OK_OPTION) {
|
||||||
|
try {
|
||||||
|
poids = Double.valueOf(poidsField.getText());
|
||||||
|
if(poids<=0) {
|
||||||
|
nod.poids(Double.valueOf(1));
|
||||||
|
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>poids=1.</h2>");
|
||||||
|
}else {
|
||||||
|
nod.poids(Double.valueOf(poids));
|
||||||
|
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
|
||||||
|
}
|
||||||
|
} catch (Exception e2) {
|
||||||
fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
|
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>poids=1.</h2>");
|
fenetres.create.getTextNodeSelect().setText("<h2>Erreur la valeur doit être un nombre entier.<br>La valeur n'a pas été modifiée.</h2>");
|
||||||
}else {
|
|
||||||
nod.poids(Double.valueOf(poids));
|
|
||||||
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
|
|
||||||
}
|
}
|
||||||
} catch (Exception e2) {
|
|
||||||
fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
|
|
||||||
fenetres.create.getTextNodeSelect().setText("<h2>Erreur la valeur doit être un nombre entier.<br>La valeur n'a pas été modifiée.</h2>");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ public class actEvalEnteteActive extends AbstractAction{
|
|||||||
|
|
||||||
String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
|
String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
|
||||||
|
|
||||||
if(!a.isEmpty()) {
|
if(a!=null)if(!a.isEmpty()) {
|
||||||
try {
|
try {
|
||||||
point = Integer.valueOf(a);
|
point = Integer.valueOf(a);
|
||||||
if(point<=0) {
|
if(point<=0) {
|
||||||
@ -47,6 +47,7 @@ public class actEvalEnteteActive extends AbstractAction{
|
|||||||
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().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);
|
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ public class actEvalPlacementParagrapheOui extends AbstractAction{
|
|||||||
|
|
||||||
String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
|
String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
|
||||||
|
|
||||||
if(!a.isEmpty()) {
|
if(a!=null) if(!a.isEmpty()) {
|
||||||
try {
|
try {
|
||||||
point = Integer.valueOf(a);
|
point = Integer.valueOf(a);
|
||||||
if(point<=0) {
|
if(point<=0) {
|
||||||
|
@ -33,7 +33,7 @@ public class actEvaluerNomDuStyleHeriteTrue extends AbstractAction{
|
|||||||
|
|
||||||
String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
|
String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
|
||||||
|
|
||||||
if(!a.isEmpty()) {
|
if(a!=null) if(!a.isEmpty()) {
|
||||||
try {
|
try {
|
||||||
point = Integer.valueOf(a);
|
point = Integer.valueOf(a);
|
||||||
if(point<=0) {
|
if(point<=0) {
|
||||||
|
@ -30,17 +30,17 @@ public class actTitre1 extends AbstractAction{
|
|||||||
titre = nod.getAttributs().get("titre1");
|
titre = nod.getAttributs().get("titre1");
|
||||||
}
|
}
|
||||||
|
|
||||||
JTextField xField = new JTextField(30);
|
JTextField titreField = new JTextField(30);
|
||||||
xField.setText(titre);
|
titreField.setText(titre);
|
||||||
JPanel myPanel = new JPanel();
|
JPanel myPanel = new JPanel();
|
||||||
myPanel.add(new JLabel("Titre :"));
|
myPanel.add(new JLabel("Titre :"));
|
||||||
myPanel.add(Box.createHorizontalStrut(2)); // a spacer
|
myPanel.add(Box.createHorizontalStrut(2)); // a spacer
|
||||||
myPanel.add(xField);
|
myPanel.add(titreField);
|
||||||
|
|
||||||
|
|
||||||
int result = JOptionPane.showConfirmDialog(null, myPanel, "Saisissez votre titre 1 ", JOptionPane.OK_CANCEL_OPTION);
|
int result = JOptionPane.showConfirmDialog(null, myPanel, "Saisissez votre titre 1 ", JOptionPane.OK_CANCEL_OPTION);
|
||||||
if (result == JOptionPane.OK_OPTION) {
|
if (result == JOptionPane.OK_OPTION) {
|
||||||
nod.titre1(xField.getText());
|
nod.titre1(titreField.getText());
|
||||||
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
|
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,10 +130,6 @@ public class evaluate extends JFrame {
|
|||||||
lblImageDossierEtudiant = new JLabel(imgDossierEtudiant);
|
lblImageDossierEtudiant = new JLabel(imgDossierEtudiant);
|
||||||
panelWest.add(lblImageDossierEtudiant, "flowx,cell 0 2,alignx center,aligny center");
|
panelWest.add(lblImageDossierEtudiant, "flowx,cell 0 2,alignx center,aligny center");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
chckbxfichiersEtudiants = new JCheckBox("<HTML>Les fichiers des étudiants<BR><b>ne sont pas</b> dans des dossiers nominatifs<HTML>");
|
chckbxfichiersEtudiants = new JCheckBox("<HTML>Les fichiers des étudiants<BR><b>ne sont pas</b> dans des dossiers nominatifs<HTML>");
|
||||||
chckbxfichiersEtudiants.addChangeListener(new ChangeListener() {
|
chckbxfichiersEtudiants.addChangeListener(new ChangeListener() {
|
||||||
public void stateChanged(ChangeEvent e) {
|
public void stateChanged(ChangeEvent e) {
|
||||||
@ -390,8 +386,10 @@ public class evaluate extends JFrame {
|
|||||||
public static evaluate getInstance() {
|
public static evaluate getInstance() {
|
||||||
if (instance == null) {
|
if (instance == null) {
|
||||||
instance = new evaluate();
|
instance = new evaluate();
|
||||||
|
}else {
|
||||||
|
instance.setVisible(true);
|
||||||
}
|
}
|
||||||
instance.setVisible(true);
|
|
||||||
if(commandes.fichierAnalyseValide) {
|
if(commandes.fichierAnalyseValide) {
|
||||||
txtpnmessages.afficheChargementFichierAnalyse();
|
txtpnmessages.afficheChargementFichierAnalyse();
|
||||||
}else {
|
}else {
|
||||||
|