MAJ V4.5.0 ajoute la méthode evalTabAlignGauche permetatnt de placer des

points lorsque l'alignement d'une tabulation est à gauche.
This commit is contained in:
pablo rodriguez 2024-03-22 20:31:55 +01:00
parent bed2ecb8d6
commit c562546557
28 changed files with 693 additions and 52 deletions

View File

@ -5,6 +5,7 @@ import javax.swing.JMenu;
import action.actAllContent;
import action.actEvalInitialCreator;
import action.actEvalTabAlignementGauche;
import action.actevalNameCreator;
import cXML.node;
import fenetres.create;
@ -17,6 +18,7 @@ import list.listeDesNodesFormatageDirect;
import list.listeDesNodesPourEvaluationEntetePage;
import list.listeDesNodesPourEvaluerPage;
import list.listeDesNodesPourEvaluerPiedDePage;
import list.listeDesNodesTabStop;
import list.listeEvalNameNode;
import sousmenuEvaluation.mnAnalyseSpan;
import sousmenuEvaluation.mnAnalyseStyle;
@ -165,6 +167,12 @@ public class MnGroupeMethodeEvaluer {
mnGroupeMethodeEvaluer.add(mnEvalTextUserDefined.menu());
}
if(listeDesNodesTabStop.isStyleTab(nod)) {
mnGroupeMethodeEvaluer.addSeparator();
mnGroupeMethodeEvaluer.add(new actEvalTabAlignementGauche());
}
return mnGroupeMethodeEvaluer;
}

Binary file not shown.

File diff suppressed because one or more lines are too long

139
bin/.gitignore vendored
View File

@ -6,8 +6,145 @@
/fenetres/
/list/
/menucontextuel/
/premierenfantmini.png
/property.png
/property.svg
/quitteEvaluation.png
/quitteEvaluation.svg
/quitteEvaluationmini.png
/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
/removeEvaluation.svg
/removeEvaluaton.png
/removeEvaluatonmini.png
/renommeEvaluation.svg
/renommeEvaluaton.png
/renommeEvaluatonmini.png
/renommeFichierAnalyse.svg
/saut.svg
/sautmini.png
/sautmultiple.png
/sautmultiple.svg
/sautmultiplemini.png
/sautpageColonne.svg
/sautpagecolonne.png
/sautpagecolonnemini.png
/sauvegardeHistoriqueEvaluation.svg
/sauvegardehistoriqueevaluation.png
/sauvegardehistoriqueevaluationmini.png
/save.png
/save.svg
/saveEvaluation.png
/saveEvaluation.svg
/saveEvaluationmini.png
/saveZipEvaluation.png
/saveZipEvaluation.svg
/saveZipEvaluationmini.png
/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
/sousmenuArbre/
/sousmenuEvaluation/
/sousmenuRecherche/
/sousmenuRepresentation/
/logo analyseWriter accueill.svg
/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
/versevaluate.svg
/versevaluatemini.png
/versfichierAnalyse.png
/versfichierAnalyseModifmax.svg
/voir.svg
/voirmini.png
/voirtouteslescolonnes.png
/what.svg
/whatmini.png
/zip.png
/zip.svg
/zipmini.png
/zipstudent.png
/zipstudent.svg
/zipstudentmini.png
/resources/

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 24 KiB

BIN
icons/evaltabalgngauche.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

View File

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="45"
height="45"
viewBox="0 0 11.90625 11.90625"
version="1.1"
id="svg5"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
sodipodi:docname="evaltabaligngauche.svg"
inkscape:export-filename="evaltabalgngauche.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="14.50748"
inkscape:cx="17.43928"
inkscape:cy="19.920758"
inkscape:window-width="1920"
inkscape:window-height="1009"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
showguides="true">
<sodipodi:guide
position="6.4379146,5.4683354"
orientation="1,0"
id="guide1"
inkscape:locked="false" />
<sodipodi:guide
position="6.4561523,5.4500977"
orientation="0,-1"
id="guide2"
inkscape:locked="false" />
</sodipodi:namedview>
<defs
id="defs2" />
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:#000080;fill-opacity:1;stroke:none;stroke-width:0.899999;stroke-linecap:round;stroke-linejoin:bevel;stroke-dasharray:none"
id="rect3"
width="4.1581998"
height="1.5137306"
x="0.14590174"
y="5.6719303"
ry="0" />
<path
style="fill:#ffffff;stroke:#ff0000;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:bevel;stroke-dasharray:none"
d="M 6.8573819,2.4073788 V 9.0823837 L 11.453287,9.064146"
id="path2" />
<path
style="fill:#000080;fill-opacity:1;stroke:none;stroke-width:0.899999;stroke-linecap:round;stroke-linejoin:bevel;stroke-dasharray:none"
d="M 6.3832014,6.4561521 3.1371604,2.2797148 v 7.6051284 z"
id="path3"
sodipodi:nodetypes="cccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 24 KiB

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,60 @@
package action;
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;
public class actEvalTabAlignementGauche extends AbstractAction{
/**
*
*/
private static final long serialVersionUID = 1L;
{
putValue( Action.NAME, "Evaluer l'alignement à gauche de la tabulation" );
putValue( Action.SHORT_DESCRIPTION, "Evaluer l'alignement à gauche de la tabulation" );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/evaltabalgngauchemini.png")) );
}
@Override
public void actionPerformed(ActionEvent e) {
node nod = (node) fenetres.create.getSelectNode().getUserObject();
int point = 0;
if(nod.getAttributs().get("evalTAB_AlignementAGauche")!=null) {
point = Integer.valueOf(nod.getAttributs().get("evalTAB_AlignementAGauche"));
}
if(nod.getAttributs().get("style:type")==null) {
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("evalTAB_AlignementAGauche", 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>evalTAB_AlignementAGauche=0.</h2>");
}else {
nod.getAttributs().put("evalTAB_AlignementAGauche", 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>");
}
}
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}else {
JOptionPane.showMessageDialog(null,"Il y a un autre alignement dans ce node.");
}
}
}

View File

@ -29,8 +29,7 @@ public class chargeEvaluationSelected {
node sujetLoad = new node(Run.ecritureXMLDansStringBuilder(evaluation.retourneFirstEnfantsByName("fichier"), Run.TypeFile.Sujet).replace("\t","").replace("\r", "").replace("\n", ""));
commandes.sujet = sujetLoad;
// Chargement provisoire du node sujet depuis la base
// Chargement provisoire du node sujet depuis la base
commandes.nameSujet = evaluation.getAttributs().get("analysis_filename");
commandes.PathFilenameAnalysis = evaluation.getAttributs().get("PathFilenameAnalysis");

View File

@ -426,6 +426,12 @@ public class evaluationAttribut {
retour = evalNombreDePageMini(sujet,nodeStudent,retour,nameElt);
}
//evaluation de l'alignement à gauche d'une tabulation.
if(k.equals("evalTAB_AlignementAGauche") && sujet.getNomElt().equals("style:tab-stop")) {
retour = evalTabAlignGauche(sujet,nodeStudent,retour,nameElt);
}
//evaluation de la présence ou de l'absence d'un style Parent
//uniquement si ce n'est pas au travers d'analyseStyle
if(k.equals("evalLegacyStyleParentPresent") && sujet.getNomElt().equals("style:style")) {
@ -880,8 +886,41 @@ public class evaluationAttribut {
return retour;
}
/**
*
* @param sujet
* @param nodeStudent
* @param retour
* @param nameElt
* @return
*/
private static node evalTabAlignGauche(node sujet,node nodeStudent, node retour, String nameElt) {
String reponseSujet = "Alignement gauche";
String reponseStudent = "Null";
if(nodeStudent!=null) {
if(nodeStudent.getAttributs().get("style:type")==null) {
reponseStudent = "Alignement gauche";
}else {
reponseStudent = nodeStudent.getAttributs().get("style:type");
}
retour = evaluationTabAlignGauche(retour,reponseStudent,reponseSujet , sujet.getAttributs().get("evalTAB_AlignementAGauche"),"Tab alignement gauche");
}else {
retour = evaluationTabAlignGauche(retour,null, reponseSujet, sujet.getAttributs().get("evalTAB_AlignementAGauche"),"Tab alignement gauche");
}
return retour;
}
/**
*
* @param sujet
* @param nodeStudent
* @param retour
* @param nameElt
* @return
*/
private static node evalNombreDePageMaxi(node sujet,node nodeStudent, node retour, String nameElt) {
int point = 0;
int nombrePage = 1;
@ -908,6 +947,15 @@ public class evaluationAttribut {
return retour;
}
/**
*
* @param sujet
* @param nodeStudent
* @param retour
* @param nameElt
* @return
*/
private static node evalNombreDePageMini(node sujet,node nodeStudent, node retour, String nameElt) {
int point = 0;
int nombrePage = 1;
@ -1200,6 +1248,28 @@ public class evaluationAttribut {
}
/**
*
* @param retour
* @param nbAttributStudent
* @param nbAttribut
* @param point
* @param nameElt
* @return
*/
private static node evaluationTabAlignGauche(node retour, String AttributStudent, String AttributSujet, String point, String nameElt) {
node item = null;
if(AttributStudent!=null) {
item = retourneNoteAvecResultatsAnalyse(AttributSujet,"Gauche", AttributStudent,AttributSujet + "" +point, nameElt );
}else {
evaluation.IncrementPointTotal(Integer.valueOf(point));
item = new node(AttributSujet, "Erreur", "Gauche" , "null", AttributSujet, 2, evaluation.getPointEnJeu(),nameElt);
}
retour.getNodes().add(item);
return retour;
}
/**
* Evaluation le champ auteur (éditeur).
* @param retour

View File

@ -81,6 +81,7 @@ public class afficheText extends JEditorPane {
String imageEvalNombreDePageMaxi= "<img src="+afficheText.class.getResource("/resources/evalnombredepagemaximini.png").toString()+">";
String imageEvalNombreDePageMini= "<img src="+afficheText.class.getResource("/resources/evalnombredepageminimini.png").toString()+">";
String imageEvalLegacyStyleParentPresent= "<img src="+afficheText.class.getResource("/resources/menulegacystyleparentpresentmini.png").toString()+">";
String imageEvalTabAlignGauche= "<img src="+afficheText.class.getResource("/resources/evaltabalgngauchemini.png").toString()+">";
StringBuilder sb = new StringBuilder();
@ -270,6 +271,9 @@ public class afficheText extends JEditorPane {
if(Lesattributsdunode.get(i).equals("evalLegacyStyleParentPresent") && !nod.getAttributs().get(Lesattributsdunode.get(i)).equals("0")) {
sb.append("<li class=\"p4\">"+imageEvalLegacyStyleParentPresent+ "<b> " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"</b></li>");
}
if(Lesattributsdunode.get(i).equals("evalTAB_AlignementAGauche") && !nod.getAttributs().get(Lesattributsdunode.get(i)).equals("0")) {
sb.append("<li class=\"p4\">"+imageEvalTabAlignGauche+ "<b> " + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"</b></li>");
}
}
}
sb.append("</ul>");

View File

@ -8,6 +8,7 @@ public class listMethodeEvaluationAnalyseWriter {
switch (attribut) {
case "evalNameNode": return true;
case "evalLegacyStyleParentPresent": return true;
case "evalTAB_AlignementAGauche": return true;
default:
return false;

View File

@ -62,6 +62,7 @@ public class listeAttributsAnalyseWriter {
case "evalNombreDePageMaxi": return true;
case "evalNombreDePageMini": return true;
case "evalLegacyStyleParentPresent": return true;
case "evalTAB_AlignementAGauche": return true;
case "analysis_filename": return true;
case "auteur": return true;

View File

@ -36,6 +36,8 @@ public class listeDesNodesAllContent {
case "style:style":return false;
case "style:default-style\"":return false;
case "saut:automatique":return false;
case "style:tab-stops":return false;
default: return true;
}

View File

@ -0,0 +1,16 @@
package list;
import cXML.node;
public class listeDesNodesTabStop {
/**
* Retourne TRUE si on peut utiliser la procédure analyseStyle.</br>
* @param nod
* @return
*/
public static Boolean isStyleTab(node nod) {
if(nod.getNomElt().equals("style:tab-stop")) return true;
return false;
}
}

View File

@ -14,7 +14,7 @@ public class listeEvalNameNode {
if(nod.getNomElt().contains("dc:")) return true;
if(nod.getNomElt().contains("text:")) return true;
if(nod.getNomElt().contains("draw:")) return true;
if(nod.getNomElt().equals("style:tab-stop")) return true;
if(nod.getNomElt().contains("style:tab-stop")) return true;
return false;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B