MAJ V4.4.2

This commit is contained in:
pablo rodriguez 2022-12-30 17:55:33 +01:00
parent db596e9a09
commit 9148a5e556
27 changed files with 467 additions and 39 deletions

Binary file not shown.

Binary file not shown.

14
bin/.gitignore vendored
View File

@ -3,7 +3,13 @@
/evaluer/ /evaluer/
/fenetres/ /fenetres/
/list/ /list/
/resources/ /voir.svg
/ajoutetitretouteslespages.png /voirmini.png
/ajoutetitretouteslespages.svg /what.svg
/ajoutetitretouteslespagesmini.png /whatmini.png
/zip.png
/zip.svg
/zipmini.png
/zipstudent.png
/zipstudent.svg
/zipstudentmini.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,93 @@
<?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.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="ajoutetitretouteslespages.svg"
inkscape:export-filename="ajoutetitretouteslespagesmini.png"
inkscape:export-xdpi="51.200001"
inkscape:export-ydpi="51.200001"
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="6.3118084"
inkscape:cx="8.7930426"
inkscape:cy="45.549545"
inkscape:window-width="1920"
inkscape:window-height="1009"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g2647"
transform="matrix(0.28793276,0,0,0.26458333,-0.38675935,2.6906589)"
style="stroke-width:0.958596">
<path
id="rect984"
style="fill:#000000;stroke-width:191.719;stroke-linecap:round;stroke-linejoin:round;paint-order:fill markers stroke;stop-color:#000000"
d="m 18.34554,-6.6838893 -0.24475,0.1035157 0.179632,1.3066406 -1.966974,0.8378907 -0.177387,-1.3066407 -10.7442682,4.5820313 0.1796324,1.30664048 -1.96473,0.8378906 -0.1796325,-1.30468744 -0.3368108,0.14257809 2.2768414,16.56054497 0.013473,-0.0059 2.0770005,15.115234 15.2552872,-6.505859 -2.276842,-16.5605451 -0.01347,0.0059 z m -0.0067,1.8437501 0.238013,1.7324219 -1.96473,0.8378906 -0.238013,-1.7324219 z M 15.900292,-2.9983423 17.528212,8.8434549 7.8505123,12.97236 6.2203475,1.1286108 Z m 2.73715,0.3242187 0.238014,1.73046868 -1.964731,0.83789065 L 16.672712,-1.836233 Z M 18.933835,-0.51006116 19.17185,1.2223608 17.207118,2.0602514 16.969105,0.32782938 Z M 5.6320512,0.58173568 5.8700642,2.3122045 3.9030887,3.1500949 3.6650757,1.4196263 Z m 13.6004238,1.07421872 0.238013,1.7304685 -1.96473,0.837891 -0.238012,-1.730469 z m -13.3040302,1.0898435 0.2380129,1.730469 -1.96473,0.839844 -0.2380131,-1.732422 z m 13.6026692,1.076172 0.238013,1.730469 -1.964731,0.837891 -0.238012,-1.730469 z m -13.3040302,1.087891 0.2380129,1.732422 -1.96473,0.83789 -0.238013,-1.732421 z m 13.6004232,1.076172 0.238013,1.732422 -1.96473,0.83789 -0.238012,-1.732422 z M 6.5234773,7.0758759 6.7614904,8.8063449 4.7967603,9.6442355 4.5587472,7.9157199 Z m 13.6026687,1.076172 0.231278,1.6894536 -1.953504,0.8320315 -0.179632,-1.3066415 -0.01126,0.0039 -0.05164,-0.3808586 z M 6.8221163,9.2418915 7.0601294,10.972361 5.0953992,11.812205 4.8573863,10.079782 Z m 13.6071597,1.0273435 0.238014,1.732423 -1.964732,0.837889 -0.238012,-1.732421 z m -13.3107662,1.13672 0.2402585,1.732419 -1.9669755,0.837892 -0.238013,-1.732422 z m 10.8722552,0.703125 1.62792,11.843748 -9.6799448,4.128906 -1.6279198,-11.84375 z m 2.73715,0.326171 0.238013,1.730468 -1.96473,0.837891 -0.238012,-1.730469 z m -13.3107662,1.136718 0.2312769,1.689452 -1.9512577,0.832032 -0.1796324,-1.30664 -0.013473,0.0059 -0.051645,-0.382812 z m 13.6071602,1.027344 0.238013,1.732421 -1.96473,0.83789 -0.238013,-1.732421 z M 7.7202786,15.689156 7.960537,17.421578 5.9935615,18.259468 5.7555486,16.527046 Z m 13.6026684,1.076172 0.238014,1.730468 -1.964731,0.837891 -0.238012,-1.730469 z M 8.0189177,17.855171 8.2569306,19.58564 6.2922005,20.423531 6.0541875,18.693062 Z m 13.6026683,1.076172 0.238013,1.730469 -1.96473,0.837891 -0.240257,-1.730469 z m -13.3040294,1.087891 0.2380129,1.732422 -1.96473,0.83789 -0.2402584,-1.732422 z m 13.6004234,1.076172 0.238013,1.732422 -1.964731,0.83789 -0.238012,-1.732422 z M 8.6139502,22.185251 8.8519634,23.915718 6.8872332,24.753609 6.64922,23.02314 Z m 13.6026688,1.074217 0.238013,1.732422 -1.96473,0.837891 -0.238012,-1.732422 z m -13.3040294,1.091797 0.238012,1.730469 -1.9647295,0.83789 -0.2380131,-1.730467 z m 0.2963929,2.164063 0.2380121,1.732422 -1.9647289,0.83789 -0.2380132,-1.732422 z m 0.2986394,2.164062 0.2380132,1.732422 -1.9647305,0.837891 -0.238013,-1.730469 z" />
<text
xml:space="preserve"
style="font-size:13.3333px;line-height:1.25;font-family:'C.A. Gatintas';-inkscape-font-specification:'C.A. Gatintas';text-align:center;text-anchor:middle;fill:#008080;stroke-width:0.958596"
x="9.6482239"
y="15.382297"
id="text2186"
transform="matrix(1,-0.48925329,0.20865383,0.89791543,0,0)"><tspan
sodipodi:role="line"
id="tspan2184"
x="9.6482239"
y="15.382297"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:Arial;-inkscape-font-specification:Arial;fill:#008080;stroke-width:0.958596">T</tspan></text>
<text
xml:space="preserve"
style="font-size:13.3333px;line-height:1.25;font-family:'C.A. Gatintas';-inkscape-font-specification:'C.A. Gatintas';text-align:center;text-anchor:middle;fill:#008080;stroke-width:0.958596"
x="8.372529"
y="32.285374"
id="text2468"
transform="matrix(1,-0.48925329,0.20865383,0.89791543,0,0)"><tspan
sodipodi:role="line"
id="tspan2466"
x="8.372529"
y="32.285374"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:Arial;-inkscape-font-specification:Arial;fill:#008080;stroke-width:0.958596">T</tspan></text>
</g>
<rect
style="fill:#f2f2f2;stroke:#000000;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="rect566"
width="3.479259"
height="4.2337971"
x="7.1398783"
y="1.2383752" />
<rect
style="fill:#f2f2f2;stroke:#000000;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="rect568"
width="3.479259"
height="4.2337971"
x="7.1398783"
y="6.272171" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

View File

@ -84,6 +84,7 @@ public class rechercherUnNodeStudent {
if(nodSujet.getNomElt().contains("text:")) { if(nodSujet.getNomElt().contains("text:")) {
nodStudent = findNodeByContenuTextuel(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a); nodStudent = findNodeByContenuTextuel(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
if(nameNode.equals("text:line-break")) return nodStudent; if(nameNode.equals("text:line-break")) return nodStudent;
if(nodSujet.getAttributs().get("isDoublon")!=null) if(nodSujet.getAttributs().get("isDoublon").equals("true")) return nodStudent;
if(nodStudent!=null) return nodStudent; if(nodStudent!=null) return nodStudent;
} }
@ -243,7 +244,7 @@ public class rechercherUnNodeStudent {
if(nodSujet.retourneLesContenusEnfants("").length()<1) return null; if(nodSujet.retourneLesContenusEnfants("").length()<1) return null;
String valueAttribut = evaluation.withoutCodeAndPointPourRechercheContenuExact(nodSujet.retourneLesContenusEnfants("")); String valueAttribut = evaluation.withoutCodeAndPointPourRechercheContenuExact(nodSujet.retourneLesContenusEnfants(""));
Pattern p = Pattern.compile("^text:p$|^text:h$|^text:span$|^text:list|^text:line-break$|^text:note$"); //le node qui peuvent rechercher par le contenu textuel Pattern p = Pattern.compile("^text:p$|^text:h$|^text:span$|^text:list|^text:line-break$|^text:note$|^text:tab$"); //le node qui peuvent rechercher par le contenu textuel
Matcher m = p.matcher(nameNode); Matcher m = p.matcher(nameNode);
if(m.find()) { if(m.find()) {
@ -253,9 +254,10 @@ public class rechercherUnNodeStudent {
if(nod2Student!=null) if(nodStudent==null) { if(nod2Student!=null) if(nodStudent==null) {
ArrayList<node> tousLesfreres = nod2Student.retourneTousLesFreres(); //Retourne tous les frère d'une même page ArrayList<node> tousLesfreres = nod2Student.retourneTousLesFreres(); //Retourne tous les frère d'une même page
for(int i = 0 ; i < tousLesfreres.size();i++) { for(int i = 0 ; i < tousLesfreres.size();i++) {
if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNameNodeByFindContentExactly(tousLesfreres.get(i).getNodes(), valueAttribut, nameNode); if(nodStudent==null) if(!tousLesfreres.get(i).equals(nod2Student)) nodStudent = a.retourneFirstNameNodeByFindContentExactly(tousLesfreres.get(i).getNodes(), valueAttribut, nameNode);
} }
} }
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNameNodeByFindContentExactly(nod1Student.getNodes(), valueAttribut, nameNode); if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNameNodeByFindContentExactly(nod1Student.getNodes(), valueAttribut, nameNode);
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNameNodeByFindContentExactly(nod0Student.getNodes(), valueAttribut, nameNode); if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNameNodeByFindContentExactly(nod0Student.getNodes(), valueAttribut, nameNode);
@ -287,18 +289,8 @@ public class rechercherUnNodeStudent {
}else { }else {
//méthode texte rigoureusement exact //Recherche le doublon
if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeDoublonStudent(nod2Student.getNodes(), valueAttribut, nameNode, nodSujet); if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeDoublonStudent(nod2Student.getNodes(), valueAttribut, nameNode, nodSujet);
// if(nod2Student!=null) if(nodStudent==null) {
// ArrayList<node> tousLesfreres = nod2Student.retourneTousLesFreres(); //Retourne tous les frère d'une même page
// for(int i = 0 ; i < tousLesfreres.size();i++) {
// if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeDoublonStudent(tousLesfreres.get(i).getNodes(), valueAttribut, nameNode, nodSujet);
// }
// }
// if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeDoublonStudent(nod1Student.getNodes(), valueAttribut, nameNode, nodSujet);
// if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeDoublonStudent(nod0Student.getNodes(), valueAttribut, nameNode, nodSujet);
} }
} }

View File

@ -592,7 +592,11 @@ public class evaluationAttribut {
} }
}else { }else {
node nodeSujetAvant = sujet.retourneLeNodeFrereAvant(); node nodeSujetAvant = sujet.retourneLeNodeFrereAvant();
retour = evaluationPlacement(retour,null, nodeSujetAvant.retourneLesContenusEnfants(""), sujet.getAttributs().get("evalPlacement"),"Placement"); if(nodeSujetAvant!=null) {
retour = evaluationPlacement(retour,null, nodeSujetAvant.retourneLesContenusEnfants(""), sujet.getAttributs().get("evalPlacement"),"Placement");
}else {
retour = evaluationPlacement(retour,null, "", sujet.getAttributs().get("evalPlacement"),"Placement");
}
} }
return retour; return retour;
} }

View File

@ -16,6 +16,8 @@ import fenetres.create_act.actCollapseNode;
import fenetres.create_act.actCopy; import fenetres.create_act.actCopy;
import fenetres.create_act.actDeleteNode; import fenetres.create_act.actDeleteNode;
import fenetres.create_act.actDownNode; import fenetres.create_act.actDownNode;
import fenetres.create_act.actEvalAncrageNumeroAbsoluePageEnfantsNon;
import fenetres.create_act.actEvalAncrageNumeroAbsoluePageEnfantsOui;
import fenetres.create_act.actEvalAncrageNumeroAbsoluePageNon; import fenetres.create_act.actEvalAncrageNumeroAbsoluePageNon;
import fenetres.create_act.actEvalAncrageNumeroAbsoluePageOui; import fenetres.create_act.actEvalAncrageNumeroAbsoluePageOui;
import fenetres.create_act.actEvalEnteteActive; import fenetres.create_act.actEvalEnteteActive;
@ -45,6 +47,8 @@ import fenetres.create_act.actEvalPiedPageActive;
import fenetres.create_act.actEvalPiedPageActiveNon; import fenetres.create_act.actEvalPiedPageActiveNon;
import fenetres.create_act.actEvalPiedPagePasActive; import fenetres.create_act.actEvalPiedPagePasActive;
import fenetres.create_act.actEvalPiedPagePasActiveNon; import fenetres.create_act.actEvalPiedPagePasActiveNon;
import fenetres.create_act.actEvalPlacementEnfantNon;
import fenetres.create_act.actEvalPlacementEnfantOui;
import fenetres.create_act.actEvalPlacementParagrapheNon; import fenetres.create_act.actEvalPlacementParagrapheNon;
import fenetres.create_act.actEvalPlacementParagrapheOui; import fenetres.create_act.actEvalPlacementParagrapheOui;
import fenetres.create_act.actEvalSautPageColonneNon; import fenetres.create_act.actEvalSautPageColonneNon;
@ -67,6 +71,8 @@ import fenetres.create_act.actInsereInformationFalse;
import fenetres.create_act.actInsereInformationMultipleFalse; import fenetres.create_act.actInsereInformationMultipleFalse;
import fenetres.create_act.actInsereInformationMultipleTrue; import fenetres.create_act.actInsereInformationMultipleTrue;
import fenetres.create_act.actInsereInformationTrue; import fenetres.create_act.actInsereInformationTrue;
import fenetres.create_act.actNameNodeEnfantsNon;
import fenetres.create_act.actNameNodeEnfantsOui;
import fenetres.create_act.actOu; import fenetres.create_act.actOu;
import fenetres.create_act.actPaste; import fenetres.create_act.actPaste;
import fenetres.create_act.actRechercheAnchorPageNumberFalse; import fenetres.create_act.actRechercheAnchorPageNumberFalse;
@ -163,7 +169,7 @@ public class createPopupMenu extends JPopupMenu {
} }
// Le groupe méthode évaluer les nodes enfants // Le groupe méthode évaluer les nodes enfants
if(listeDesNodesContientEnfant.isContientEnfant(nod)) { if(listeDesNodesContientEnfant.isContientEnfant(nod) && nod.getNodes().size()>0) {
mnPopupTree.addSeparator(); mnPopupTree.addSeparator();
mnPopupTree.add(mnGroupeMethodeEvaluerMultiple(nod)); mnPopupTree.add(mnGroupeMethodeEvaluerMultiple(nod));
} }
@ -355,6 +361,15 @@ public class createPopupMenu extends JPopupMenu {
return mnEvalAncrageNumeroAbsoluPageAncrage; return mnEvalAncrageNumeroAbsoluPageAncrage;
} }
private JMenu mnEvalAncrageNumeroAbsoluPageEnfants() {
JMenu mnEvalAncrageNumeroAbsoluPageEnfants = new JMenu("Ancrage dans la page de tous les nodes enfants");
mnEvalAncrageNumeroAbsoluPageEnfants.setIcon(new ImageIcon(create.class.getResource("/resources/evalnumeropageancragemini.png")));
mnEvalAncrageNumeroAbsoluPageEnfants.add(new actEvalAncrageNumeroAbsoluePageEnfantsOui());
mnEvalAncrageNumeroAbsoluPageEnfants.add(new actEvalAncrageNumeroAbsoluePageEnfantsNon());
return mnEvalAncrageNumeroAbsoluPageEnfants;
}
/** /**
* Menu Titre pour le niveau 1.</br> * Menu Titre pour le niveau 1.</br>
@ -518,6 +533,14 @@ public class createPopupMenu extends JPopupMenu {
return mnEvalNameNode; return mnEvalNameNode;
} }
private JMenu mnEvalNameNodeEnfants() {
JMenu mnEvalNameNodeEnfants = new JMenu("Evaluer la présence de tous les nodes enfants");
mnEvalNameNodeEnfants.setIcon(new ImageIcon(create.class.getResource("/resources/evalnodemini.png")));
mnEvalNameNodeEnfants.add(new actNameNodeEnfantsOui());
mnEvalNameNodeEnfants.add(new actNameNodeEnfantsNon());
return mnEvalNameNodeEnfants;
}
/** /**
* Menu évaluer une variable de séquence.</br> * Menu évaluer une variable de séquence.</br>
* @return * @return
@ -657,6 +680,14 @@ public class createPopupMenu extends JPopupMenu {
return mnPlacementParagraphe; return mnPlacementParagraphe;
} }
private JMenu mnEvalPlacementDesEnfants() {
JMenu mnEvalPlacementDesEnfants = new JMenu("Placement de tous les enfants");
mnEvalPlacementDesEnfants.setIcon(new ImageIcon(create.class.getResource("/resources/ordreparagraphemini.png")));
mnEvalPlacementDesEnfants.add(new actEvalPlacementEnfantOui());
mnEvalPlacementDesEnfants.add(new actEvalPlacementEnfantNon());
return mnEvalPlacementDesEnfants;
}
/** /**
* Menu pour évaluer si le node est le dernier enfant.</br> * Menu pour évaluer si le node est le dernier enfant.</br>
* @return * @return
@ -915,21 +946,25 @@ public class createPopupMenu extends JPopupMenu {
} }
if(listeDesNodesAllContent.isAllContent(nod) ) { if(nod.getNomElt().equals("text:p") || nod.getNomElt().equals("text:h") || nod.getNomElt().equals("text:list") || nod.getNomElt().equals("text:list-item")) {
if(listeDesNodesPourEvaluerPage.isPage(nod)) { mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.addSeparator(); mnGroupeMethodeEvaluerMultiple.add(new actAllContentChilds());
mnGroupeMethodeEvaluerMultiple.add(new actAllContentChilds()); mnGroupeMethodeEvaluerMultiple.addSeparator();
} mnGroupeMethodeEvaluerMultiple.add(mnEvalNameNodeEnfants());
} mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(mnEvalPlacementDesEnfants());
if(listeDesNodesEvalPlacement.isPlacement(nod)) {
if(listeDesNodesPourEvaluerPage.isPage(nod)) {
mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(mnEvalPlacementParagraphe());
}
} }
if(listeDesNodesPourEvaluerPage.isPage(nod)) { if(listeDesNodesPourEvaluerPage.isPage(nod)) {
mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(new actAllContentChilds());
mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(mnEvalNameNodeEnfants());
mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(mnEvalAncrageNumeroAbsoluPageEnfants());
mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(mnEvalPlacementParagraphe());
mnGroupeMethodeEvaluerMultiple.addSeparator(); mnGroupeMethodeEvaluerMultiple.addSeparator();
mnGroupeMethodeEvaluerMultiple.add(mnEvaluerStylesParagraphes()); mnGroupeMethodeEvaluerMultiple.add(mnEvaluerStylesParagraphes());
mnGroupeMethodeEvaluerMultiple.addSeparator(); mnGroupeMethodeEvaluerMultiple.addSeparator();

View File

@ -0,0 +1,30 @@
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;
public class actEvalAncrageNumeroAbsoluePageEnfantsNon extends AbstractAction{
{
putValue( Action.NAME, "Supprime évaluer de l'ancrage au numéro absolue de la page de tous les nodes enfants" );
putValue( Action.SHORT_DESCRIPTION, "Supprime l'évaluation de l'ancrage au numéro absolue de la page de tous les nodes enfants." );
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();
for(int i = 0 ; i < nod.getNodes().size();i++) {
nod.getNodes().get(i).supprimeAttribut("evalAncrageNumeroAbsoluePage");
}
fenetres.create.getTextNodeSelect().refreshAffichage(nod); }
}

View File

@ -0,0 +1,58 @@
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;
public class actEvalAncrageNumeroAbsoluePageEnfantsOui extends AbstractAction{
{
putValue( Action.NAME, "Oui, combien de point?" );
putValue( Action.SHORT_DESCRIPTION, "Evaluer l'ancrage au numéro absolue de tous les nodes enfants" );
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("evalAncrageNumeroAbsoluePage")!=null) {
point = Integer.valueOf(nod.getAttributs().get("evalAncrageNumeroAbsoluePage"));
}
String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
if(!a.isEmpty()) {
try {
point = Integer.valueOf(a);
if(point<=0) {
for(int i = 0 ; i < nod.getNodes().size();i++) {
nod.getNodes().get(i).getAttributs().put("evalAncrageNumeroAbsoluePage", 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>evalAncrageNumeroAbsoluePage=0.</h2>");
}else {
for(int i = 0 ; i < nod.getNodes().size();i++) {
nod.getNodes().get(i).getAttributs().put("evalAncrageNumeroAbsoluePage", 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);
}
}

View File

@ -16,7 +16,6 @@ public class actEvalAncrageNumeroAbsoluePageOui extends AbstractAction{
putValue( Action.NAME, "Oui, combien de point?" ); putValue( Action.NAME, "Oui, combien de point?" );
putValue( Action.SHORT_DESCRIPTION, "Evaluer l'ancrage au numéro absolue de la page" ); putValue( Action.SHORT_DESCRIPTION, "Evaluer l'ancrage au numéro absolue de la page" );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/truemini.png")) ); 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,35 @@
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.listeDesNodesEvalPlacement;
public class actEvalPlacementEnfantNon extends AbstractAction{
{
putValue( Action.NAME, "Supprimer évaluer le placement de tous les enfants" );
putValue( Action.SHORT_DESCRIPTION, "Supprime l'évaluation du placement de tous les enfants" );
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();
for(int i =0 ; i < nod.getNodes().size(); i++) {
if(listeDesNodesEvalPlacement.isPlacement(nod.getNodes().get(i))) {
nod.getNodes().get(i).getAttributs().put("evalPlacement", "0");
}
}
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}
}

View File

@ -0,0 +1,62 @@
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.listeDesNodesEvalPlacement;
public class actEvalPlacementEnfantOui extends AbstractAction{
{
putValue( Action.NAME, "Oui, combien de point?" );
putValue( Action.SHORT_DESCRIPTION, "Evaluer le placement de tous les enfants");
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("evalPlacement")!=null) {
point = Integer.valueOf(nod.getAttributs().get("evalPlacement"));
}
String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
if(a!=null) if(!a.isEmpty()) {
try {
point = Integer.valueOf(a);
if(point<=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>evalPlacement=0.</h2>");
for(int i =0 ; i < nod.getNodes().size(); i++) {
if(listeDesNodesEvalPlacement.isPlacement(nod.getNodes().get(i))) {
nod.getNodes().get(i).getAttributs().put("evalPlacement", "0");
}
}
}else {
for(int i =0 ; i < nod.getNodes().size(); i++) {
if(listeDesNodesEvalPlacement.isPlacement(nod.getNodes().get(i))) {
nod.getNodes().get(i).getAttributs().put("evalPlacement", 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);
}
}

View File

@ -0,0 +1,31 @@
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;
public class actNameNodeEnfantsNon extends AbstractAction{
{
putValue( Action.NAME, "Supprime l'évaluation de la présence de tous les nodes enfants" );
putValue( Action.SHORT_DESCRIPTION, "Supprime l'évaluation de la présence de tous les nodes enfants." );
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();
for(int i = 0 ; i < nod.getNodes().size();i++) {
nod.getNodes().get(i).supprimeAttribut("evalNameNode");
}
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}
}

View File

@ -0,0 +1,57 @@
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;
public class actNameNodeEnfantsOui extends AbstractAction{
{
putValue( Action.NAME, "Oui, combien de point?" );
putValue( Action.SHORT_DESCRIPTION, "Evaluer la présence de tous les nodes enfants." );
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("evalNameNode")!=null) {
point = Integer.valueOf(nod.getAttributs().get("evalNameNode"));
}
String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
if(!a.isEmpty()) {
try {
point = Integer.valueOf(a);
if(point<=0) {
for(int i = 0 ; i < nod.getNodes().size();i++) {
nod.getNodes().get(i).getAttributs().put("evalNameNode", 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>evalNameNode=0.</h2>");
}else {
for(int i = 0 ; i < nod.getNodes().size();i++) {
nod.getNodes().get(i).getAttributs().put("evalNameNode", 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);
}
}

View File

@ -95,9 +95,10 @@ public class actNewFichierAnalyse extends AbstractAction{
commandes.sujet = meptl.LectureFichierEtudiantSousFormeDeNode(commandes.sujet,b,0); commandes.sujet = meptl.LectureFichierEtudiantSousFormeDeNode(commandes.sujet,b,0);
//Pour les sujets, il faut rechercher les nodes en doublons (par exemple : text:p, text:h, text:list-item) //Pour les sujets, il faut rechercher les nodes en doublons (par exemple : text:p, text:h, text:list-item)
//L'information sera portée par l'attribut isDoublon="1" ou isDoublon="2", etc.. //L'information sera portée par l'attribut isDoublon="true"
// Cela permet de recherche par le numéro du child. // Cela permet de recherche par le numéro du child.
placeIsDoublonInStructure(commandes.sujet.retourneFirstEnfantsByName("structurepage")); placeIsDoublonInStructure(commandes.sujet.retourneFirstEnfantsByName("structurepage"));
placeIsDoublonInStylePage(commandes.sujet.retourneFirstEnfantsByName("style:page"));
commandes.sujet.getAttributs().put("analysis_filename","sujet.xml"); commandes.sujet.getAttributs().put("analysis_filename","sujet.xml");
@ -142,11 +143,10 @@ public class actNewFichierAnalyse extends AbstractAction{
public static void placeIsDoublonInStructure(node nod) { public static void placeIsDoublonInStructure(node nod) {
if(nod.getNomElt().equals("structurepage")) {
Enumeration<node> pages = Collections.enumeration(nod.getNodes()); Enumeration<node> pages = Collections.enumeration(nod.getNodes());
while(pages.hasMoreElements()) { while(pages.hasMoreElements()) {
node nodLaPage = pages.nextElement(); node nodLaPage = pages.nextElement();
Pattern p = Pattern.compile("^text:p$|^text:h$|^text:list$|^text:list-item$|^text:line-break$|^text:span$"); //le node qui peuvent rechercher par le contenu textuel Pattern p = Pattern.compile("^text:p$|^text:h$|^text:list$|^text:list-item$|^text:line-break$|^text:span$|^text:tab$"); //le node qui peuvent rechercher par le contenu textuel
ArrayList<String> listTextesInPage = new ArrayList<String>(); ArrayList<String> listTextesInPage = new ArrayList<String>();
for(int i = 0 ; i < nodLaPage.getNodes().size();i++) { for(int i = 0 ; i < nodLaPage.getNodes().size();i++) {
Matcher m = p.matcher(nodLaPage.getNodes().get(i).getNomElt()); Matcher m = p.matcher(nodLaPage.getNodes().get(i).getNomElt());
@ -164,15 +164,40 @@ public class actNewFichierAnalyse extends AbstractAction{
} }
} }
} }
}
} }
public static void placeIsDoublonInStylePage(node nod) {
Enumeration<node> pages = Collections.enumeration(nod.getNodes());
while(pages.hasMoreElements()) {
node nodLaPage = pages.nextElement();
Pattern p = Pattern.compile("^text:p$|^text:h$|^text:list$|^text:list-item$|^text:line-break$|^text:span$|^text:tab$"); //le node qui peuvent rechercher par le contenu textuel
ArrayList<String> listTextesInPage = new ArrayList<String>();
for(int i = 0 ; i < nodLaPage.getNodes().size();i++) {
Matcher m = p.matcher(nodLaPage.getNodes().get(i).getNomElt());
if(m.find()) {
String content = nodLaPage.getNodes().get(i).retourneLesContenusEnfants("");
if(listTextesInPage.contains(content)) {
nodLaPage.getNodes().get(i).getAttributs().put("isDoublon", "true");
}else {
nodLaPage.getNodes().get(i).getAttributs().remove("isDoublon");
listTextesInPage.add(content);
}
}
if(nodLaPage.getNodes().get(i).getNodes().size()>0) {
placeIsDoublon(nodLaPage.getNodes().get(i));
}
}
}
}
/** /**
* *
* @param nod * @param nod
*/ */
private static void placeIsDoublon(node nod) { private static void placeIsDoublon(node nod) {
Pattern p = Pattern.compile("^text:p$|^text:h$|^text:list$|^text:list-item$|^text:line-break$|^text:span$"); //le node qui peuvent rechercher par le contenu textuel Pattern p = Pattern.compile("^text:p$|^text:h$|^text:list$|^text:list-item$|^text:line-break$|^text:span$|^text:tab$"); //le node qui peuvent rechercher par le contenu textuel
ArrayList<String> listTextesInPage = new ArrayList<String>(); ArrayList<String> listTextesInPage = new ArrayList<String>();
for(int i = 0 ; i < nod.getNodes().size();i++) { for(int i = 0 ; i < nod.getNodes().size();i++) {
Matcher m = p.matcher(nod.getNodes().get(i).getNomElt()); Matcher m = p.matcher(nod.getNodes().get(i).getNomElt());

View File

@ -57,7 +57,6 @@ public class listeAttributsAnalyseWriter {
case "evalFormatageDirect": return true; case "evalFormatageDirect": return true;
case "evalSautPageColonne": return true; case "evalSautPageColonne": return true;
case "evalPasParagrapheVide": return true; case "evalPasParagrapheVide": return true;
case "evalAUnStyleParent":return true; // A faire avautation de l'existence d'un style parent
case "analysis_filename": return true; case "analysis_filename": return true;
case "auteur": return true; case "auteur": return true;

View File

@ -20,6 +20,8 @@ public class listeDesNodesEvalPlacement {
case "text:initial-creator": return true; case "text:initial-creator": return true;
case "text:creator": return true; case "text:creator": return true;
case "text:editing-cycles": return true; case "text:editing-cycles": return true;
case "text:tab":return true;
case "text:page-number":return true;
case "draw:frame": return true; case "draw:frame": return true;