MAJ V4.5.0 ajoute la méthode evalTabAlignGauche permetatnt de placer des
points lorsque l'alignement d'une tabulation est à gauche.
@ -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;
|
||||
|
||||
}
|
||||
|
139
bin/.gitignore
vendored
@ -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/
|
||||
|
287
bin/logo analyseWriter accueill.svg
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
icons/evaltabalgngauche.png
Normal file
After Width: | Height: | Size: 805 B |
BIN
icons/evaltabalgngauchemini.png
Normal file
After Width: | Height: | Size: 514 B |
75
icons/evaltabaligngauche.svg
Normal 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 |
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 24 KiB |
60
src/action/actEvalTabAlignementGauche.java
Normal 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.");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -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");
|
||||
|
||||
|
@ -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
|
||||
|
@ -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>");
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
16
src/list/listeDesNodesTabStop.java
Normal 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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
||||
|
BIN
src/resources/evaltabalgngauche.png
Normal file
After Width: | Height: | Size: 805 B |
BIN
src/resources/evaltabalgngauchemini.png
Normal file
After Width: | Height: | Size: 514 B |