From c3cd9e86c1b9bae547a327e15e458c08fd6ae7d6 Mon Sep 17 00:00:00 2001 From: pablo rodriguez <58742538+1-pablo-rodriguez@users.noreply.github.com> Date: Tue, 10 Dec 2024 15:06:27 +0100 Subject: [PATCH] MAJ --- bin/.gitignore | 4 + bin/actions/actNewFichierAnalyse.class | Bin 6372 -> 8415 bytes bin/fenetres/baliseStyle.class | Bin 2396 -> 2754 bytes bin/fenetres/create$1.class | Bin 1288 -> 1288 bytes bin/fenetres/create$2.class | Bin 1261 -> 1521 bytes bin/fenetres/create.class | Bin 21651 -> 21629 bytes bin/list/listeEvalNameNode.class | Bin 659 -> 715 bytes src/actions/actAllContent.java | 39 +++ src/actions/actCopy.java | 49 ++++ src/actions/actEvalFormatageDirect.java | 59 ++++ src/actions/actEvalTextUserDefinedNon.java | 31 +++ src/actions/actEvalTextUserDefinedOui.java | 37 +++ src/actions/actInsereInformationFalse.java | 31 +++ .../actInsereInformationMultipleFalse.java | 34 +++ .../actInsereInformationMultipleTrue.java | 43 +++ src/actions/actInsereInformationTrue.java | 38 +++ src/actions/actNewFichierAnalyse.java | 55 ++++ src/actions/actPaste.java | 139 ++++++++++ ...RechercheContenuPlusProcheVoisinfalse.java | 31 +++ ...tRechercheContenuPlusProcheVoisintrue.java | 32 +++ src/actions/actRechercheContenufalse.java | 32 +++ src/actions/actRechercheContenutrue.java | 32 +++ src/actions/actmarquenodefalse.java | 33 +++ src/actions/actmarquenodetrue.java | 35 +++ src/actions/actsautmultiplefalse.java | 40 +++ src/actions/actsautmultipletrue.java | 58 ++++ src/actions/addTitreToutesLesPagesFalse.java | 40 +++ src/actions/addTitreToutesLesPagesTrue.java | 40 +++ .../CustomInputDialogSimplePoint.java | 67 +++++ ...CustomInputDialogSimplePointCaseCoche.java | 94 +++++++ src/fenetres/baliseStyle.java | 18 +- src/fenetres/create.java | 252 +++++------------- src/list/listeDesNodesAllContent.java | 56 ++++ src/list/listeDesNodesFormatageDirect.java | 22 ++ src/list/listeDesNodesInfos.java | 27 ++ src/list/listeDesNodesPourEvaluerPage.java | 16 ++ src/list/listeDesNodesRechercheByContenu.java | 32 +++ src/list/listeEvalNameNode.java | 12 +- src/menu/CreatePopupMenu.java | 102 +++++++ src/menu/MnGroupeMethodeEvaluer.java | 68 +++++ src/menu/MnGroupePourFeedback.java | 36 +++ src/menu/MnGroupePourFeedbackNiveau1.java | 27 ++ src/menu/mnAddMenuNiveau1.java | 19 ++ src/menu/mnAddMenuNiveauSup1.java | 20 ++ src/menu/mnArbre.java | 26 ++ src/menu/mnEvalTextUserDefined.java | 21 ++ src/menu/mnEvaluer.java | 20 ++ src/menu/mnGroupeRechercheContenu.java | 26 ++ src/menu/mnInsereInformation.java | 18 ++ src/menu/mnInsereInformationMultiple.java | 20 ++ src/menu/mnMarqueNode.java | 20 ++ src/menu/mnRechercheContenuExact.java | 19 ++ .../mnRechercheContenuPlusProcheVoisin.java | 20 ++ src/menu/mnSaut.java | 21 ++ src/menu/mnSautMultiple.java | 20 ++ src/menu/mnSautNiveau1.java | 20 ++ src/menu/mnTitre.java | 26 ++ src/menu/mnTitreNiveau1.java | 26 ++ src/menu/mnaddTitreToutesLesPages.java | 18 ++ src/resources/copy.png | Bin 0 -> 1041 bytes src/resources/evaluer.png | Bin 0 -> 931 bytes src/resources/evaluermini.png | Bin 0 -> 554 bytes src/resources/paste.png | Bin 0 -> 1331 bytes src/xml/node.java | 10 + 64 files changed, 1940 insertions(+), 191 deletions(-) create mode 100644 src/actions/actAllContent.java create mode 100644 src/actions/actCopy.java create mode 100644 src/actions/actEvalFormatageDirect.java create mode 100644 src/actions/actEvalTextUserDefinedNon.java create mode 100644 src/actions/actEvalTextUserDefinedOui.java create mode 100644 src/actions/actInsereInformationFalse.java create mode 100644 src/actions/actInsereInformationMultipleFalse.java create mode 100644 src/actions/actInsereInformationMultipleTrue.java create mode 100644 src/actions/actInsereInformationTrue.java create mode 100644 src/actions/actPaste.java create mode 100644 src/actions/actRechercheContenuPlusProcheVoisinfalse.java create mode 100644 src/actions/actRechercheContenuPlusProcheVoisintrue.java create mode 100644 src/actions/actRechercheContenufalse.java create mode 100644 src/actions/actRechercheContenutrue.java create mode 100644 src/actions/actmarquenodefalse.java create mode 100644 src/actions/actmarquenodetrue.java create mode 100644 src/actions/actsautmultiplefalse.java create mode 100644 src/actions/actsautmultipletrue.java create mode 100644 src/actions/addTitreToutesLesPagesFalse.java create mode 100644 src/actions/addTitreToutesLesPagesTrue.java create mode 100644 src/fenetres/CustomInputDialogSimplePoint.java create mode 100644 src/fenetres/CustomInputDialogSimplePointCaseCoche.java create mode 100644 src/list/listeDesNodesAllContent.java create mode 100644 src/list/listeDesNodesFormatageDirect.java create mode 100644 src/list/listeDesNodesInfos.java create mode 100644 src/list/listeDesNodesPourEvaluerPage.java create mode 100644 src/list/listeDesNodesRechercheByContenu.java create mode 100644 src/menu/CreatePopupMenu.java create mode 100644 src/menu/MnGroupeMethodeEvaluer.java create mode 100644 src/menu/MnGroupePourFeedback.java create mode 100644 src/menu/MnGroupePourFeedbackNiveau1.java create mode 100644 src/menu/mnAddMenuNiveau1.java create mode 100644 src/menu/mnAddMenuNiveauSup1.java create mode 100644 src/menu/mnArbre.java create mode 100644 src/menu/mnEvalTextUserDefined.java create mode 100644 src/menu/mnEvaluer.java create mode 100644 src/menu/mnGroupeRechercheContenu.java create mode 100644 src/menu/mnInsereInformation.java create mode 100644 src/menu/mnInsereInformationMultiple.java create mode 100644 src/menu/mnMarqueNode.java create mode 100644 src/menu/mnRechercheContenuExact.java create mode 100644 src/menu/mnRechercheContenuPlusProcheVoisin.java create mode 100644 src/menu/mnSaut.java create mode 100644 src/menu/mnSautMultiple.java create mode 100644 src/menu/mnSautNiveau1.java create mode 100644 src/menu/mnTitre.java create mode 100644 src/menu/mnTitreNiveau1.java create mode 100644 src/menu/mnaddTitreToutesLesPages.java create mode 100644 src/resources/copy.png create mode 100644 src/resources/evaluer.png create mode 100644 src/resources/evaluermini.png create mode 100644 src/resources/paste.png diff --git a/bin/.gitignore b/bin/.gitignore index 926549c..4280b7b 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,3 +1,7 @@ /fenetres/ /xml/ /AnalyseCalc/ +/menu/ +/actions/ +/list/ +/resources/ diff --git a/bin/actions/actNewFichierAnalyse.class b/bin/actions/actNewFichierAnalyse.class index a3826ebaf80d6cf9c4dc60dbbe043f92bf0b2b5e..c2eef8a4543ed3cee6cb329d2428a6135f7db01a 100644 GIT binary patch delta 2385 zcmbtVTX0iV6kRJ#dfPN2m=-OHltH8jox-4~ty92)+Oa&eg(7P4HXPbOa#NBU%P9zy|^fR(zr;!;Fq!;*WkXgVcR*Qb}g;%a7bSXYakveynv) zei?aoocH*p1MdSE!?PXUt$wSxHKYerO>BH5-V}-$HAbBojR(wlRC&3AD>WvFqB;6} zy*zFPL*>|_%c@!1rgOerq@=5y(tTtDty^%sIsQ0(&zSAGO?!K^so6QFE?_N#@C2zFLxbP&1ymU6x}pc z)bMdLUnjIcB-|PdDWWVrAgA&=GjT}sStjtMzSWSw| z5@t4XtB>2bT}}?`W}rnyiBXv+SGVZVIyEn@jDX4-ek#qx6sXe6o!o6{+;xQx(lI`E za1Y_09W-VUIi*8q*k$eW@ol@TAyQU##4tq!MRk5@sHeSUh7_)W5j7dLy z$Hz|IOymUwpa+du9uE-tL90i6d3;wAiTKC@EdV4_(%E+E^P422)5Dt|~rK+;3lE}Pny$-Iao-l@|>f z%@Ui(ABe~P>(*r4l>c>62ya~?>3@{&L}B6L{v~i@2(CjZN-z|+;ueg-Fx-pbn2M6U z+Y6VttP#k=Nc6%e+#mr1ahrTc<4)X;D*4`n3d}?$7RzplfSZ`|&#_;V(?a-O#ry+H_$Mr0 z#8O_uldb|hWAlCH#%hlv*86?1EltU~FTT#V@6vQf%QV-T{v!eUe}CYvfAW7Jh?i(D~?sLXSw!Pc!n2y9F}j) za%6ElAmz&B-{#ms4r<84r5Ns$VY3O&VSn4=@Y{Tu)+$^r9c+h&9kSYqLhO?9?#2jo z$Z+?_UEK>E`!EY{VcEXyc_R1G*+d?kfu??R);cq;jxKb!k7zv(B?3f zBZn_?7_(K?vCflS8gu4C$2D&8VN2%MzGqjZ> N|2Vja^Za>i@jv`xdhey|)oJtoU0nku+CR6QhI-QME*a0Z-5nKyA92`;Cx!&FNu-1% zsz|1Vh>Il0qFG8IfK-A>Ba(Dt$*?phd1O*-Q6)LJ$i;0ni{!IP0h<(ZKoN(QabgX6 zDd&L--Yxrs8h)tdmpb`VuOJ!}Mx$bAQWniBrbX4Xs+~6V(xK52IyFU?*6G#`JvyLI zhxF@+0Ua}_Glq1|ux=RDEn~W4T=z`qkx4xW~85)A6%|HfD{=mK`UaurEsWd0CBr`uxp;{p&v$!B9 zvC>K*GcPAIFI6`wCqFscS|K;FC_OVzHzzf%#7e=$prFFK7N{*JRY##D1BijHQb@`# cN=YrUGAyW2D9+ExOi@V6Nd#)0yqaSp0ALe(_5c6? delta 160 zcmX>kdPiu&QCar4HpL~CIjIUIl?AD`N+qckCHl$5#Y%P=h6>e_6B!j*j0_4&CU0aH zoy^0;J$V_UG_w&{LW$W7MO+T37+FkxvLllbquJyVCf&)3tZ9=suo-Q3XI5sOJd>qD oI44uDz@$1kKPSJ)O4-fL!r8z8XvN&g%h;Dp{>HIqvJlq>05b(Mng9R* diff --git a/bin/fenetres/create$1.class b/bin/fenetres/create$1.class index 857f4368e0ddec876df6a46f8e73b5fc74f9833b..9b41d32d65b011715ae2d76cf650c0b1ec591981 100644 GIT binary patch delta 43 ycmeC+>fqWS!NT}(vLs8ofqWS!NT}pvLs8oSAoMMO=S8T3wt@q7H9+^YB zT<`rg;wuZ>P=q_WyHu`q-SxUw1QI2uXfel4o2=h!xUDN~-Kj2CDz%NO`%+tsvt)Cd zJ5pQgWSjN6+v@1DVj_|2y;JeYj8pPOcWv%*Ut#I(mfI*7+-~(yGcI%an!L>eUt@0^ zwDDEF3uae6@4YcwJ0lE>dmAOuVuVpa#W5lhL&CpfU<%gyL_JP^VSPY6&g^mSJx(9T z69-zwXv+MuiX39gpR=3?1ekxm~%m^Gf`wQ>>~9*3=|bb#~v)>A}PYZe(^IQV>5=@}`ei5l4@u ndl=(4GiyOozk~;PB4-9qDGCPUN1w4O%#u3)ZTwY|Z4mnhD35K{ delta 340 zcmX9)yG{a85IwWI(Xe7bMMQ{EX%xgDDn7s$zF#C1#D0UbVxq8FmxRvR!fL++G+S60 zY%J`o{RRtvz&OZF?woVyoVhdi{tSHk^pD?{R{+~MYv~V4PDdC^ek>zP7^&E7I9#e* z4XentM%iX249=c6Z*S7I`X%QR7e4W?`mu&}_ftt_^Vsai1|ei}jUAis(uQeXSE^j* zrsKy}_u8P%rYP0IzhYdm`=vT`?3Of(LhhS3dH)CnstmQ*#;AwbJLY=C!*mBTPe`

_+sD+0NeRH+C^jG_;qG59Eg2#q67Q6wpb3{4;?`c$t2hA=EA=_OyV q140~uJPO#A5%wglf-=ysFI2$+4h1!N@)1si>Eb8B?mCsNAp8f+Q9(KY diff --git a/bin/fenetres/create.class b/bin/fenetres/create.class index 9c56bdd6b0950b8c27260755674af6edeb478425..24c6de01bb75fd26799d0462ef6813f7658ce9a1 100644 GIT binary patch delta 10977 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 diff --git a/bin/list/listeEvalNameNode.class b/bin/list/listeEvalNameNode.class index 18a25ddb492e05f82917baaf3510af2ae8a8a465..16f74f9862f915918827bdf50ce0d78b6eeaca2e 100644 GIT binary patch delta 250 zcmbQtdYYB%)W2Q(7#JAr8MG&IZ8G82@Tthn(a+0INwwCD;$jeF5N2l(Vr1ZeiSjUr zFo-fTaHpr1_$B71`T-SA{84Yn!Jy2@z?xE&SZ>9^pvuU=S6ot=lWJ9xn50`=l3&2c zzzj5!k%0?t`s6;wUe3u3Obm=b%RMHmFll9LZDSA+QrgBKF_VFnWeu380^>2S0V-o= z-~y6T3~WG>4+!}gWEcb(w1AGZU=U((1GO0)W2Q(7#JAr8Pq3oZL$&4@X58}lpFxH}fI$l=!VMJRfhcECVo(P1RDhV3ftin&7bvU>

Le node est copié dans le presse papier.


"); + } + +} diff --git a/src/actions/actEvalFormatageDirect.java b/src/actions/actEvalFormatageDirect.java new file mode 100644 index 0000000..2cd01da --- /dev/null +++ b/src/actions/actEvalFormatageDirect.java @@ -0,0 +1,59 @@ +package actions; + +import java.awt.event.ActionEvent; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.ImageIcon; + +import fenetres.CustomInputDialogSimplePointCaseCoche; +import fenetres.create; +import xml.node; + + +public class actEvalFormatageDirect extends AbstractAction{ + { + putValue( Action.NAME, "Formatage direct du paragraphe ?" ); + putValue( Action.SHORT_DESCRIPTION, "Evaluer la présence ou l'absence du formatage direct du paragraphe." ); + putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/evalformatagedirectmini.png")) ); + } + /** + * + */ + private static final long serialVersionUID = 1L; + + @Override + public void actionPerformed(ActionEvent e) { + node nod = (node) create.getSelectNode().getUserObject(); + String namestyle =""; + String texteInsert = "

Ce paragraphe ne possède pas de formatage direct.


"; + + if(nod.getAttributs().get("text:style-name")!=null) { + namestyle = nod.getAttributs().get("text:style-name"); + Pattern p = Pattern.compile("^P[0-9]{1,}$"); + Matcher m = p.matcher(namestyle); + if(m.find()) { + texteInsert = "

Ce paragraphe possède un formatage direct ayant le style "+namestyle+".


"; + }else { + texteInsert = "

Ce paragraphe ne possède pas un formatage direct.
" + + "Son style est "+ namestyle +".


"; + } + }; + + CustomInputDialogSimplePointCaseCoche.showCustominputDialog(nod,"evalFormatageDirect", + "

Si le node dans le fichier de l'étudiant par comparaison avec ce node,
" + + "contient une surcharge des formats de paragraphe et/ou de
" + + "caractères, (style:name=Px), ou ne contient pas de surcharge au
" + + "style du paragraphe, alors l'étudiant aura les points ci-dessous.


" + + texteInsert + + "

Cochez la case pour placer ou supprimer la méthode sur tous les" + + "
nodes frères.


" + + "

Cliquez sur le bouton supprimer pour retirer la méthode
" + + "d'évaluation evalFormatageDirect.

", + new ImageIcon(create.class.getResource("/resources/evalformatagedirect.png"))); + create.getTextNodeSelect().refreshAffichage(nod); + } + +} diff --git a/src/actions/actEvalTextUserDefinedNon.java b/src/actions/actEvalTextUserDefinedNon.java new file mode 100644 index 0000000..01953b4 --- /dev/null +++ b/src/actions/actEvalTextUserDefinedNon.java @@ -0,0 +1,31 @@ +package actions; + +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.ImageIcon; + +import fenetres.create; +import xml.node; + + +public class actEvalTextUserDefinedNon extends AbstractAction{ + + /** + * + */ + private static final long serialVersionUID = 1L; + { + putValue( Action.NAME, "Supprime évaluer la valeur de la propriété personnalisé" ); + putValue( Action.SHORT_DESCRIPTION, "Supprime l'évaluation de la valeur personnalisé."); + putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/falsemini.png"))); + } + @Override + public void actionPerformed(ActionEvent e) { + node nod = (node) create.getSelectNode().getUserObject(); + nod.supprimeAttribut("evalTextUserDefined"); + create.getTextNodeSelect().refreshAffichage(nod); + } + +} diff --git a/src/actions/actEvalTextUserDefinedOui.java b/src/actions/actEvalTextUserDefinedOui.java new file mode 100644 index 0000000..b1a55fc --- /dev/null +++ b/src/actions/actEvalTextUserDefinedOui.java @@ -0,0 +1,37 @@ +package actions; + +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.ImageIcon; + +import fenetres.CustomInputDialogSimplePoint; +import fenetres.create; +import xml.node; + + +public class actEvalTextUserDefinedOui extends AbstractAction{ + + /** + * + */ + private static final long serialVersionUID = 1L; + { + putValue( Action.NAME, "Oui, combien de point?" ); + putValue( Action.SHORT_DESCRIPTION, "Evaluer la valeur de la propriété personnalisé"); + putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/evaltextuserdefinedmini.png"))); + } + + @Override + public void actionPerformed(ActionEvent e) { + node nod = (node) create.getSelectNode().getUserObject(); + CustomInputDialogSimplePoint.showCustominputDialog(nod,"evalTextUserDefined", + "

Si ce node contient le texte de la propriété définie par l'utilisateur,
" + + "alors l'étudiant obtiendra les points ci-dessous.


" + + "

Cliquez sur le bouton supprimer pour retirer la méthode
" + + "d'évaluation evalTextUserDefined

", + new ImageIcon(create.class.getResource("/resources/evaltextuserdefined.png"))); + create.getTextNodeSelect().refreshAffichage(nod); + } + } diff --git a/src/actions/actInsereInformationFalse.java b/src/actions/actInsereInformationFalse.java new file mode 100644 index 0000000..eb8e45b --- /dev/null +++ b/src/actions/actInsereInformationFalse.java @@ -0,0 +1,31 @@ +package actions; + +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.ImageIcon; + +import fenetres.create; +import xml.node; + + +public class actInsereInformationFalse extends AbstractAction{ + { + putValue( Action.NAME, "false" ); + putValue( Action.SHORT_DESCRIPTION, "false" ); + 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) create.getSelectNode().getUserObject(); + nod.getAttributs().remove("information"); + create.getTextNodeSelect().refreshAffichage(nod); + } + +} diff --git a/src/actions/actInsereInformationMultipleFalse.java b/src/actions/actInsereInformationMultipleFalse.java new file mode 100644 index 0000000..5283259 --- /dev/null +++ b/src/actions/actInsereInformationMultipleFalse.java @@ -0,0 +1,34 @@ +package actions; + +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.ImageIcon; + +import fenetres.create; +import xml.node; + + + +public class actInsereInformationMultipleFalse extends AbstractAction{ + { + putValue( Action.NAME, "false" ); + putValue( Action.SHORT_DESCRIPTION, "false" ); + 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) create.getSelectNode().getUserObject(); + for(int i = 0 ; i < nod.getEnfants().size();i++) { + nod.getEnfants().get(i).getAttributs().remove("information"); + } + create.getTextNodeSelect().refreshAffichage(nod); + } + +} \ No newline at end of file diff --git a/src/actions/actInsereInformationMultipleTrue.java b/src/actions/actInsereInformationMultipleTrue.java new file mode 100644 index 0000000..a44ef8a --- /dev/null +++ b/src/actions/actInsereInformationMultipleTrue.java @@ -0,0 +1,43 @@ +package actions; + +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.ImageIcon; + +import fenetres.create; +import list.listeDesNodesInfos; +import xml.node; + + + +public class actInsereInformationMultipleTrue extends AbstractAction{ + { + putValue( Action.NAME, "true" ); + putValue( Action.SHORT_DESCRIPTION, "true" ); + 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) create.getSelectNode().getUserObject(); + + for(int i = 0 ; i < nod.getEnfants().size();i++) { + if(listeDesNodesInfos.isInfo(nod.getEnfants().get(i))) { + String content = nod.getEnfants().get(i).getContenuAvecTousLesContenusDesEnfants(); + if(!content.isEmpty()) if(content.replaceAll(" ", "").length()==0) content=content.replaceAll(" ", ""); + if(content.length()>300) content = content.substring(0, 299); + content = nod.getEnfants().get(i).getNameNode() + " : " + content; + nod.getEnfants().get(i).getAttributs().put("information", content); + } + } + + create.getTextNodeSelect().refreshAffichage(nod); + } + +} diff --git a/src/actions/actInsereInformationTrue.java b/src/actions/actInsereInformationTrue.java new file mode 100644 index 0000000..a10dafb --- /dev/null +++ b/src/actions/actInsereInformationTrue.java @@ -0,0 +1,38 @@ +package actions; + +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.ImageIcon; + +import fenetres.create; +import list.listeDesNodesInfos; +import xml.node; + + +public class actInsereInformationTrue extends AbstractAction{ + { + putValue( Action.NAME, "true" ); + putValue( Action.SHORT_DESCRIPTION, "true" ); + 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) create.getSelectNode().getUserObject(); + if(listeDesNodesInfos.isInfo(nod)) { + String content = nod.getContenuAvecTousLesContenusDesEnfants(); + if(!content.isEmpty()) if(content.replaceAll(" ", "").length()==0) content=content.replaceAll(" ", ""); + if(content.length()>300) content = content.substring(0, 299); + content = nod.getNameNode() + " : " + content; + nod.getAttributs().put("information", content); + create.getTextNodeSelect().refreshAffichage(nod); + } + } + +} diff --git a/src/actions/actNewFichierAnalyse.java b/src/actions/actNewFichierAnalyse.java index 4545b4a..f8a49da 100644 --- a/src/actions/actNewFichierAnalyse.java +++ b/src/actions/actNewFichierAnalyse.java @@ -4,6 +4,11 @@ import java.awt.event.ActionEvent; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Enumeration; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import javax.swing.AbstractAction; import javax.swing.Action; @@ -133,5 +138,55 @@ public class actNewFichierAnalyse extends AbstractAction{ commandes.ecritCode = true; } + + public static void placeIsDoublonInStructure(node nod) { + Enumeration pages = Collections.enumeration(nod.getEnfants()); + while(pages.hasMoreElements()) { + node nodLaPage = pages.nextElement(); + Pattern p = Pattern.compile("^text:p$|^text:h$|^text:span$|^text:list$|^text:list-item$|^text:line-break$|^text:span$|^text:tab$|^text:s$"); //le node qui peuvent rechercher par le contenu textuel + ArrayList listTextesInPage = new ArrayList(); + for(int i = 0 ; i < nodLaPage.getEnfants().size();i++) { + Matcher m = p.matcher(nodLaPage.getEnfants().get(i).getNameNode()); + if(m.find()) { + String content = nodLaPage.getEnfants().get(i).getContenuAvecTousLesContenusDesEnfants(); + if(listTextesInPage.contains(content)) { + nodLaPage.getEnfants().get(i).getAttributs().put("isDoublon", "true"); + }else { + nodLaPage.getEnfants().get(i).getAttributs().remove("isDoublon"); + listTextesInPage.add(content); + } + if(nodLaPage.getEnfants().get(i).getEnfants().size()>0) { + placeIsDoublon(nodLaPage.getEnfants().get(i)); + } + } + } + } + } + + + /** + * + * @param 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$|^text:tab$|^text:s$"); //le node qui peuvent rechercher par le contenu textuel + ArrayList listTextesInPage = new ArrayList(); + for(int i = 0 ; i < nod.getEnfants().size();i++) { + Matcher m = p.matcher(nod.getEnfants().get(i).getNameNode()); + if(m.find()) { + String content = nod.getEnfants().get(i).getContenuAvecTousLesContenusDesEnfants(); + if(listTextesInPage.contains(content)) { + nod.getEnfants().get(i).getAttributs().put("isDoublon", "true"); + }else { + nod.getEnfants().get(i).getAttributs().remove("isDoublon"); + listTextesInPage.add(content); + } + if(nod.getEnfants().get(i).getEnfants().size()>0) { + placeIsDoublon(nod.getEnfants().get(i)); + } + } + } + } + } diff --git a/src/actions/actPaste.java b/src/actions/actPaste.java new file mode 100644 index 0000000..5f2b81d --- /dev/null +++ b/src/actions/actPaste.java @@ -0,0 +1,139 @@ +package actions; + +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.awt.event.ActionEvent; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; +import java.io.IOException; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.ImageIcon; +import javax.swing.JOptionPane; +import javax.swing.KeyStroke; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreePath; + +import calc.commandes; +import fenetres.create; +import xml.node; + + + +public class actPaste extends AbstractAction{ + + /** + * + */ + private static final long serialVersionUID = 1L; + { + putValue( Action.NAME, "Coller" ); + putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/resources/paste.png") ) ); + putValue( Action.MNEMONIC_KEY, KeyEvent.VK_V ); + putValue( Action.SHORT_DESCRIPTION, "Coller (CTRL+V)" ); + putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_DOWN_MASK) ); + } + @Override + public void actionPerformed(ActionEvent e) { + String initial = ""; + + Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard(); + String paste; + try { + paste = "" + c.getContents(null).getTransferData(DataFlavor.stringFlavor).toString().replace("\t","").replace("\r", "").replace("\n", ""); + if (!paste.equals(initial)) { + node nodCopy = new node(paste); + + if(!nodCopy.getNameNode().isEmpty()) { + TreePath path = create.getTree().getSelectionPath(); + + node nod = (node) create.getSelectNode().getUserObject(); + DefaultMutableTreeNode nodeMu = create.getSelectNode(); + + MiseInformationDansLeNodeCopierColler(nodCopy,nod); + nod.getEnfants().add(nodCopy); + actNewFichierAnalyse.placeIsDoublonInStructure(commandes.sujet.retourneFirstEnfant("style:style")); + actNewFichierAnalyse.placeIsDoublonInStructure(commandes.sujet.retourneFirstEnfant("page")); + + + DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(nodCopy); + nodeMu.add(node1); + + nodeMu = addNodeMutable(nodCopy,node1); + + DefaultTreeModel model = (DefaultTreeModel) create.getTree().getModel(); + DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot(); + model.reload(root); + + create.getTree().setSelectionPath(path); + create.getTree().expandPath(path); + + }else { + JOptionPane.showMessageDialog(null, "Le collage n'est pas réalisé."); + } + + } + } catch (UnsupportedFlavorException | IOException e1) { + JOptionPane.showConfirmDialog(null, e1.toString()); + e1.printStackTrace(); + } + + try { + Thread.sleep(40); + } catch (InterruptedException ex) { + } + + } + + /** + * + * @param nodePaste + * @param nodeParent + * @return + */ + private static void MiseInformationDansLeNodeCopierColler(node nodePaste, node nodeParent) { + if(nodePaste!=null) { + + nodePaste.setParent(nodeParent); + nodePaste.setLevel(nodeParent.getLevel()+1); + + for(int i=0;i300) content = content.substring(0, 299); + + content = nod.getEnfants().get(i).getNameNode() + " : " + content; + nod.getEnfants().get(i).getAttributs().put("information", content); + } + } + + //Pour le node page + if(informations) { + String content = nod.getContenuAvecTousLesContenusDesEnfants(); + if(!content.isEmpty()) if(content.replaceAll(" ", "").length()==0) content=content.replaceAll(" ", ""); + if(content.length()>300) content = content.substring(0, 299); + + content = nod.getNameNode() + " : " + content; + nod.getAttributs().put("information", content); + } + + create.getTextNodeSelect().refreshAffichage(nod); + } + +} diff --git a/src/actions/addTitreToutesLesPagesFalse.java b/src/actions/addTitreToutesLesPagesFalse.java new file mode 100644 index 0000000..48d6f61 --- /dev/null +++ b/src/actions/addTitreToutesLesPagesFalse.java @@ -0,0 +1,40 @@ +package actions; + +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.ImageIcon; + +import fenetres.create; +import xml.node; + + +public class addTitreToutesLesPagesFalse extends AbstractAction { + { + putValue( Action.NAME, "Supprime tous les titres des pages" ); + putValue( Action.SHORT_DESCRIPTION, "Supprime tous les titres des pages." ); + 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) create.getSelectNode().getUserObject(); + + if(nod.getNameNode().equals("structurepage")) { + for(int i = 0 ; i< nod.getEnfants().size();i++) { + nod.getEnfants().get(i).getAttributs().remove("titre"); + nod.getEnfants().get(i).getAttributs().remove("titre2"); + nod.getEnfants().get(i).getAttributs().remove("titre3"); + nod.getEnfants().get(i).getAttributs().remove("titre1"); + } + } + create.getTextNodeSelect().refreshAffichage(nod); + } + +} + diff --git a/src/actions/addTitreToutesLesPagesTrue.java b/src/actions/addTitreToutesLesPagesTrue.java new file mode 100644 index 0000000..f9916c4 --- /dev/null +++ b/src/actions/addTitreToutesLesPagesTrue.java @@ -0,0 +1,40 @@ +package actions; + +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.ImageIcon; + +import fenetres.create; +import xml.node; + + +public class addTitreToutesLesPagesTrue extends AbstractAction{ + { + putValue( Action.NAME, "Ajoute un titre 1 à toutes les pages" ); + putValue( Action.SHORT_DESCRIPTION, "Ajoute un titre 1 à toutes les pages."); + 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) create.getSelectNode().getUserObject(); //analyseCalc.fenetres.create.getSelectNode().getUserObject(); + + if(nod.getNameNode().equals("structurepage")) { + for(int i = 0 ; i< nod.getEnfants().size();i++) { + nod.getEnfants().get(i).getAttributs().remove("titre"); + nod.getEnfants().get(i).getAttributs().remove("titre2"); + nod.getEnfants().get(i).getAttributs().remove("titre3"); + nod.getEnfants().get(i).getAttributs().put("titre1", "page" + String.valueOf(i+1)); + } + } + create.getTextNodeSelect().refreshAffichage(nod); + + } + +} diff --git a/src/fenetres/CustomInputDialogSimplePoint.java b/src/fenetres/CustomInputDialogSimplePoint.java new file mode 100644 index 0000000..0e467df --- /dev/null +++ b/src/fenetres/CustomInputDialogSimplePoint.java @@ -0,0 +1,67 @@ +package fenetres; + +import java.awt.Color; +import java.awt.Font; + +import javax.swing.ImageIcon; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JTextField; +import javax.swing.SwingConstants; + +import xml.node; + + +public class CustomInputDialogSimplePoint { + public static void showCustominputDialog(node nod, String nameMethod, String explication, ImageIcon icon) { + Integer initialValue = 0; + + if (nod.getAttributs().get(nameMethod) != null) { + initialValue = Integer.parseInt(nod.getAttributs().get(nameMethod)); + } + + JLabel lblTitre = new JLabel("

"+nameMethod+"

"); + lblTitre.setForeground(new Color(50,50,200)); + + JLabel lblExpliaction = new JLabel(explication); + lblExpliaction.setFont(new Font("Tahoma", Font.BOLD, 12)); + lblExpliaction.setForeground(Color.blue); + + JTextField textField = new JTextField(String.valueOf(initialValue), 4); + textField.setFont(new Font("Tahoma", Font.BOLD, 14)); + textField.setHorizontalAlignment(SwingConstants.LEFT); + + Object[] message = { + lblTitre, + lblExpliaction, + "Quel est le nombre de points?", textField + }; + + String[] options = {"Ajouter", "Supprimer"}; + + int optionSelected = JOptionPane.showOptionDialog( + null, + message, + "Ajouter ou supprimer la méthode " + nameMethod, + JOptionPane.DEFAULT_OPTION, + JOptionPane.INFORMATION_MESSAGE, + icon, + options, + options[0]); + + if (optionSelected == 0) { // Bouton "Ajouter" sélectionné + try { + Integer inputValue = Integer.parseInt(textField.getText()); + nod.getAttributs().put(nameMethod, String.valueOf(inputValue)); + } catch (NumberFormatException e) { + JOptionPane.showMessageDialog(null, "Veuillez saisir un entier valide.", "Erreur", JOptionPane.ERROR_MESSAGE); + } + } else if (optionSelected == 1) { // Bouton "Supprimer" sélectionné + nod.supprimeAttribut(nameMethod); + } else { // Si la boîte de dialogue est annulée ou fermée + + } + + + } +} diff --git a/src/fenetres/CustomInputDialogSimplePointCaseCoche.java b/src/fenetres/CustomInputDialogSimplePointCaseCoche.java new file mode 100644 index 0000000..6795a9e --- /dev/null +++ b/src/fenetres/CustomInputDialogSimplePointCaseCoche.java @@ -0,0 +1,94 @@ +package fenetres; + +import java.awt.Color; +import java.awt.Font; +import java.util.ArrayList; + +import javax.swing.ImageIcon; +import javax.swing.JCheckBox; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JTextField; +import javax.swing.SwingConstants; + +import xml.node; + + + +public class CustomInputDialogSimplePointCaseCoche { + public static void showCustominputDialog(node nod, String nameMethod, String explication, ImageIcon icon) { + Integer initialValue = 0; + + if (nod.getAttributs().get(nameMethod) != null) { + initialValue = Integer.parseInt(nod.getAttributs().get(nameMethod)); + } + + JLabel lblTitre = new JLabel("

"+nameMethod+"

"); + lblTitre.setForeground(new Color(50,50,200)); + + JLabel lblExpliaction = new JLabel(explication); + lblExpliaction.setFont(new Font("Tahoma", Font.BOLD, 12)); + lblExpliaction.setForeground(Color.blue); + + JTextField textField = new JTextField(String.valueOf(initialValue), 4); + textField.setFont(new Font("Tahoma", Font.BOLD, 14)); + textField.setHorizontalAlignment(SwingConstants.LEFT); + + JCheckBox caseFrere = new JCheckBox("Placer la méthode sur tous les nodes frères."); + caseFrere.setFont(new Font("Tahoma", Font.BOLD, 12)); + caseFrere.setSelected(false); + + Object[] message = { + lblTitre, + lblExpliaction, + caseFrere, + "Quel est le nombre de points?", textField + }; + + String[] options = {"Ajouter", "Supprimer"}; + + int optionSelected = JOptionPane.showOptionDialog( + null, + message, + "Ajouter ou supprimer la méthode " + nameMethod, + JOptionPane.DEFAULT_OPTION, + JOptionPane.INFORMATION_MESSAGE, + icon, + options, + options[0]); + + if (optionSelected == 0) { // Bouton "Ajouter" sélectionné + try { + Integer inputValue = Integer.parseInt(textField.getText()); + if(!caseFrere.isSelected()) { + nod.getAttributs().put(nameMethod, String.valueOf(inputValue)); + }else { + ajouteAToutesLesFeres(nod, inputValue,nameMethod); + } + + } catch (NumberFormatException e) { + JOptionPane.showMessageDialog(null, "Veuillez saisir un entier valide.", "Erreur", JOptionPane.ERROR_MESSAGE); + } + } else if (optionSelected == 1) { // Bouton "Supprimer" sélectionné + if(!caseFrere.isSelected()) { + nod.supprimeAttribut(nameMethod); + }else { + ajouteAToutesLesFeres(nod,0,nameMethod); + } + + } else { // Si la boîte de dialogue est annulée ou fermée + + } + } + + private static void ajouteAToutesLesFeres(node nod,Integer point,String nameMethod) { + ArrayList nodFeres = nod.retourneAllBroters(); + for(int i=0; i < nodFeres.size();i++) { + if(point>0) { + nodFeres.get(i).getAttributs().put(nameMethod, String.valueOf(point)); + }else { + nodFeres.get(i).supprimeAttribut(nameMethod); + } + } + } +} diff --git a/src/fenetres/baliseStyle.java b/src/fenetres/baliseStyle.java index 14316a3..3de37e4 100644 --- a/src/fenetres/baliseStyle.java +++ b/src/fenetres/baliseStyle.java @@ -9,23 +9,27 @@ public class baliseStyle { public static String balise() { return ""; } diff --git a/src/fenetres/create.java b/src/fenetres/create.java index f743c5f..4d25367 100644 --- a/src/fenetres/create.java +++ b/src/fenetres/create.java @@ -80,6 +80,7 @@ import actions.actUpNode; import actions.actsautfalse; import actions.actsauttrue; import calc.commandes; +import menu.CreatePopupMenu; import net.miginfocom.swing.MigLayout; import xml.node; @@ -179,7 +180,7 @@ public final class create extends JFrame { toolBarPrincipal.setLayout(layout); getContentPane().add(toolBarPrincipal,BorderLayout.NORTH); - this.createPopupMenuTree(null); + //this.CreatePopupMenu(null); JPanel panelLeft = new JPanel(); panelLeft.setLayout(new BorderLayout()); @@ -202,64 +203,60 @@ public final class create extends JFrame { panelLeft.add(leftScrollPane,BorderLayout.CENTER); JScrollPane rightScrollPane = new JScrollPane(); - - textNodeSelect.setBackground(Color.LIGHT_GRAY); - textNodeSelect.setFont(new Font("Monospaced", Font.PLAIN, 15)); - - ScrollPaneTableBouton = new JScrollPane( ); - panelDroiteBoutons.setBackground(Color.LIGHT_GRAY); - panelDroiteBoutons.setBorder(null); - panelDroiteBoutons.setLayout(new MigLayout("", "[40px:n,fill][40px:n,fill][40px:n,fill][40px:n,fill][40px:n,fill][40px:n,fill]", "[20px][40px][40px][60px][60px][60px][60px][60px][60px][60px][60px][60px][60px]")); + textNodeSelect.setBackground(Color.LIGHT_GRAY); + textNodeSelect.setFont(new Font("Monospaced", Font.PLAIN, 15)); + + ScrollPaneTableBouton = new JScrollPane( ); + panelDroiteBoutons.setBackground(Color.LIGHT_GRAY); + + panelDroiteBoutons.setBorder(null); + panelDroiteBoutons.setLayout(new MigLayout("", "[40px:n,fill][40px:n,fill][40px:n,fill][40px:n,fill][40px:n,fill][40px:n,fill]", "[20px][40px][40px][60px][60px][60px][60px][60px][60px][60px][60px][60px][60px]")); + + rightScrollPane.setViewportView(panelDroiteBoutons); + ScrollPaneTableBouton.setViewportView(textNodeSelect); + + JSplitPane splitPane2 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, rightScrollPane, ScrollPaneTableBouton ); + splitPane2.setBounds(10, 10, 1364, 783); + splitPane2.setDividerLocation(0.4); + splitPane2.setOneTouchExpandable(true); + SplitPaneUI spui = splitPane2.getUI(); + if (spui instanceof BasicSplitPaneUI) { + ((BasicSplitPaneUI) spui).getDivider().addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent arg0) { + if (arg0.getClickCount() == 2) { + Dimension size1 = rightScrollPane.getPreferredSize(); + int dividerLocation = splitPane2.getOrientation() == JSplitPane.HORIZONTAL_SPLIT ? + size1.width : size1.height; + splitPane2.setDividerLocation(dividerLocation); + } + } + }); + } + + JSplitPane splitPane1 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panelLeft, splitPane2 ); + splitPane1.setBounds(10, 10, 1364, 783); //10, 10, 1364, 783 + splitPane1.setDividerLocation(0.25); - rightScrollPane.setViewportView(panelDroiteBoutons); - ScrollPaneTableBouton.setViewportView(textNodeSelect); - - JSplitPane splitPane2 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, rightScrollPane, ScrollPaneTableBouton ); - splitPane2.setBounds(10, 10, 1364, 783); - splitPane2.setDividerLocation(0.4); - splitPane2.setOneTouchExpandable(true); - SplitPaneUI spui = splitPane2.getUI(); - if (spui instanceof BasicSplitPaneUI) { - ((BasicSplitPaneUI) spui).getDivider().addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent arg0) { - if (arg0.getClickCount() == 2) { - Dimension size1 = rightScrollPane.getPreferredSize(); - int dividerLocation = splitPane2.getOrientation() == JSplitPane.HORIZONTAL_SPLIT ? - size1.width : size1.height; - splitPane2.setDividerLocation(dividerLocation); - } - } - }); - } - - JSplitPane splitPane1 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panelLeft, splitPane2 ); - splitPane1.setBounds(10, 10, 1364, 783); //10, 10, 1364, 783 - splitPane1.setDividerLocation(0.25); - + + leftScrollPane.setViewportView(tree); + tree.setFont(new Font("Tahoma", Font.PLAIN, 16)); + + getContentPane().add(splitPane1, BorderLayout.CENTER); + + if(commandes.fichierAnalyseValide) { + tree.setVisible(true); + constructionTree(); + }else { + tree.setVisible(false); + } - leftScrollPane.setViewportView(tree); - tree.setFont(new Font("Tahoma", Font.PLAIN, 16)); - - getContentPane().add(splitPane1, BorderLayout.CENTER); - - if(commandes.fichierAnalyseValide) { - tree.setVisible(true); - constructionTree(); - }else { - tree.setVisible(false); - } - - - this.setExtendedState(MAXIMIZED_BOTH); - rightScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); - - - - positionScrollDebut(); - - ListenerAction(); + this.setExtendedState(MAXIMIZED_BOTH); + rightScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); + + positionScrollDebut(); + ListenerAction(); } @@ -278,11 +275,23 @@ public final class create extends JFrame { public void mouseClicked(MouseEvent e) { if(tree.getSelectionPath()!=null) { selectNode = (DefaultMutableTreeNode) tree.getSelectionPath().getLastPathComponent(); - node nod = (node) selectNode.getUserObject(); - createPopupMenuTree(nod); - textNodeSelect.refreshAffichage(nod); + node nod = (node) selectNode.getUserObject(); //node sélectionné. + new CreatePopupMenu(nod); // création du popup menu. + textNodeSelect.setEditable(true); + textNodeSelect.refreshAffichage(nod); //affiche des informations sur le node. + textNodeSelect.setEditable(false); +// refreshTree(); //repaint l'arbre. + if(tree.isCollapsed(tree.getSelectionPath())){ + tree.expandPath(tree.getSelectionPath()); //Etend le node sélectionné. + }else { + tree.collapsePath(tree.getSelectionPath()); + } + } +// selectNode = (DefaultMutableTreeNode) tree.getSelectionPath().getLastPathComponent(); +// node nod = (node) selectNode.getUserObject(); +// createPopupMenuTree(nod); +// textNodeSelect.refreshAffichage(nod); } - } }); @@ -304,7 +313,7 @@ public final class create extends JFrame { * Création du menu contextuel du tree * @return */ - private void createPopupMenuTree(node nod) { + private void CreatePopupMenu2(node nod) { if(nod!=null) { @@ -655,124 +664,7 @@ public final class create extends JFrame { JButton buttonExit = toolBarPrincipal.add( new actExit() ); buttonExit.setHideActionText( true ); -// toolBarPrincipal = new JToolBar(); -// toolBarPrincipal.setFloatable(false); -// toolBarPrincipal.setRollover(true); -// -// toolBarPrincipal.setName("outils principaux"); -// -// JButton btnChargeEvaluation = toolBarPrincipal.add( new actOpenBaseEvaluation() ); -// btnChargeEvaluation.setIcon(new ImageIcon(create.class.getResource("/resources/BaseEvaluations.png"))); -// btnChargeEvaluation.setHideActionText(true); -// toolBarPrincipal.add(btnChargeEvaluation); -// -// JButton btnSaveEvaluation = toolBarPrincipal.add( new actSaveEvaluation() ); -// btnSaveEvaluation.setIcon(new ImageIcon(create.class.getResource("/resources/saveEvaluation.png"))); -// btnSaveEvaluation.setHideActionText(true); -// toolBarPrincipal.add(btnSaveEvaluation); -// -// toolBarPrincipal.addSeparator(); -// -// JButton buttonLoadFile = toolBarPrincipal.add( new actOpen() ); -// buttonLoadFile.setIcon(new ImageIcon(create.class.getResource("/resources/fichierAnalyse.png"))); -// buttonLoadFile.setHideActionText(true); -// toolBarPrincipal.add(buttonLoadFile); -// -// JButton btnNewFichierAnalyse = toolBarPrincipal.add( new actNewFichierAnalyse() ); -// btnNewFichierAnalyse.setIcon(new ImageIcon(create.class.getResource("/resources/fichierODF.png"))); -// btnNewFichierAnalyse.setHideActionText(true); -// toolBarPrincipal.add(btnNewFichierAnalyse); -// -// toolBarPrincipal.addSeparator(); -// -// buttonEvaluate = toolBarPrincipal.add( new actEvaluer() ); -// buttonEvaluate.setIcon(new ImageIcon(create.class.getResource("/resources/evaluate.png"))); -// -// toolBarPrincipal.addSeparator(); -// -// JButton btnAfficheInformationFichierAnalyse = toolBarPrincipal.add( new actAfficheInformationFichierAnalyse() ); -// btnAfficheInformationFichierAnalyse.setIcon(new ImageIcon(create.class.getResource("/resources/fichierAnalyseInfo.png"))); -// btnAfficheInformationFichierAnalyse.setHideActionText(true); -// toolBarPrincipal.add(btnAfficheInformationFichierAnalyse); -// -// JButton btnNodeFichier = toolBarPrincipal.add( new actNodeFichier() ); -// btnNodeFichier.setIcon(new ImageIcon(create.class.getResource("/resources/nodeFichier.png"))); -// btnNodeFichier.setHideActionText(true); -// toolBarPrincipal.add(btnNodeFichier); -// -// JButton btnSetting = toolBarPrincipal.add( new actSetting()); -// btnSetting.setIcon(new ImageIcon(create.class.getResource("/resources/setting.png"))); -// toolBarPrincipal.add(btnSetting); -// -// -// toolBarPrincipal.addSeparator(); -// -// JButton btnEvaluerTrue = toolBarPrincipal.add( new actEvalueTrue() ); -// btnEvaluerTrue.setIcon(new ImageIcon(create.class.getResource("/resources/evaluertrue.png"))); -// btnEvaluerTrue.setHideActionText(true); -// toolBarPrincipal.add(btnEvaluerTrue); -// -// JButton btnEvaluerFalse = toolBarPrincipal.add(new actEvalueFalse() ); -// btnEvaluerFalse.setIcon(new ImageIcon(create.class.getResource("/resources/evaluerfalse.png"))); -// btnEvaluerFalse.setHideActionText(true); -// toolBarPrincipal.add(btnEvaluerFalse); -// -// JButton btnEvaluerTouteLaBrancheEtLesEnfantTrue = toolBarPrincipal.add( new actEvaluerTousEnfantsTrue() ); -// btnEvaluerTouteLaBrancheEtLesEnfantTrue.setIcon(new ImageIcon(create.class.getResource("/resources/evaluertouslesenfants.png"))); -// btnEvaluerTouteLaBrancheEtLesEnfantTrue.setHideActionText(true); -// toolBarPrincipal.add(btnEvaluerTouteLaBrancheEtLesEnfantTrue); -// -// JButton btnEvaluerTouteLaBrancheEtLesEnfantFalse = toolBarPrincipal.add( new actEvaluerTousEnfantsFalse() ); -// btnEvaluerTouteLaBrancheEtLesEnfantFalse.setIcon(new ImageIcon(create.class.getResource("/resources/evaluertouslesenfantsfaux.png"))); -// btnEvaluerTouteLaBrancheEtLesEnfantTrue.setHideActionText(true); -// toolBarPrincipal.add(btnEvaluerTouteLaBrancheEtLesEnfantFalse); -// -// toolBarPrincipal.addSeparator(); -// -// -// JButton btnAttribut = new JButton(new actAttribut()); -// btnAttribut.setText(""); -// btnAttribut.setIcon(new ImageIcon(create.class.getResource("/resources/attribut.png"))); -// toolBarPrincipal.add(btnAttribut); -// -// toolBarPrincipal.addSeparator(); -// -// JButton btnTotalPoint = new JButton(new actTotalPoint()); -// btnTotalPoint.setToolTipText("Nombre de point total dans l'exercice."); -// btnTotalPoint.setText(""); -// btnTotalPoint.setIcon(new ImageIcon(create.class.getResource("/resources/totalpoint.png"))); -// toolBarPrincipal.add(btnTotalPoint); -// -// JButton btnTotalPointNode = toolBarPrincipal.add( new actTotalPointNode() ); -// btnTotalPointNode.setIcon(new ImageIcon(create.class.getResource("/resources/totalpointnode.png"))); -// btnTotalPointNode.setHideActionText(true); -// toolBarPrincipal.add(btnTotalPointNode); -// -// toolBarPrincipal.addSeparator(); -// -// -// tglbtnTousLesNodes = new JToggleButton(""); -// tglbtnTousLesNodes.setAction(new actTousLesNodesEvaluer()); -// tglbtnTousLesNodes.setIcon(new ImageIcon(create.class.getResource("/resources/lesnodesevaluer.png"))); -// toolBarPrincipal.add(tglbtnTousLesNodes); -// -// toolBarPrincipal.addSeparator(); -// -// JButton btnAbout = toolBarPrincipal.add( new actAbout() ); -// btnAbout.setIcon(new ImageIcon(create.class.getResource("/resources/apropos.png"))); -// btnAbout.setHideActionText( true ); -// toolBarPrincipal.add(btnAbout); -// -// -// JButton btnNewButton = toolBarPrincipal.add( new actTutoriels()); -// btnNewButton.setIcon(new ImageIcon(create.class.getResource("/resources/tutoriel.png"))); -// btnNewButton.setHideActionText(true); -// toolBarPrincipal.add(btnNewButton); -// -// toolBarPrincipal.addSeparator(); -// -// JButton buttonExit = toolBarPrincipal.add( new actExit() ); -// buttonExit.setHideActionText( true ); + } @@ -993,6 +885,8 @@ public final class create extends JFrame { } } + + } diff --git a/src/list/listeDesNodesAllContent.java b/src/list/listeDesNodesAllContent.java new file mode 100644 index 0000000..495130d --- /dev/null +++ b/src/list/listeDesNodesAllContent.java @@ -0,0 +1,56 @@ +package list; + +import xml.node; + +public class listeDesNodesAllContent { + /** + * Retourne TRUE si on peut évaluer le contenu du node.
+ * @param nod + * @return + */ + public static boolean isAllContent(node nod) { + + String nameNode = nod.getNameNode(); + + if(nameNode.contains("style:")) return false; + + switch (nameNode) { + case "fichier":return false; + case "number:text":return false; + case "text:page-count":return false; + case "OU":return false; + case "text:conditional-text":return false; + case "text:bookmark":return false; + case "style:tab-stop":return false; + case "style:text-properties":return false; + case "style:paragraph-properties":return false; + case "style:style":return false; + case "style:default-style\"":return false; + case "saut:automatique":return false; + case "style:tab-stops":return false; + case "sequences":return false; + case "text:sequence-dec":return false; + case "numerotationchapitre":return false; + case "text:outline-level-style":return false; + case "style:list-level-properties":return false; + case "style:list-level-label-alignment":return false; + case "frames":return false; + case "style:graphic-properties":return false; + case "office:meta":return false; + case "meta:document-statistic":return false; + case "draw:contour-polygon":return false; + case "text:s":return false; + case "text:database-display":return false; + case "sections":return false; + case "tableaux":return false; + case "biblio":return false; + case "tablematieres":return false; + case "tableillustrations":return false; + + default: return true; + } + + + + } +} diff --git a/src/list/listeDesNodesFormatageDirect.java b/src/list/listeDesNodesFormatageDirect.java new file mode 100644 index 0000000..95333df --- /dev/null +++ b/src/list/listeDesNodesFormatageDirect.java @@ -0,0 +1,22 @@ +package list; + +import xml.node; + +public class listeDesNodesFormatageDirect { + + + public static boolean isFormatageDirect(node nod) { + + String nameNode = nod.getNameNode(); + + switch (nameNode) { + case "text:p": return true; + case "text:h": return true; + + default: + return false; + } + + } + +} diff --git a/src/list/listeDesNodesInfos.java b/src/list/listeDesNodesInfos.java new file mode 100644 index 0000000..6167476 --- /dev/null +++ b/src/list/listeDesNodesInfos.java @@ -0,0 +1,27 @@ +package list; + +import xml.node; + +public class listeDesNodesInfos { + + public static boolean isInfo(node nod) { + + String nameNode = nod.getNameNode(); + + switch (nameNode) { + case "text:p": return true; + case "text:h": return true; + case "text:list": return true; + case "text:list-item": return true; + case "page": return true; + case "text:span": return true; + case "text:index-title": return true; + + default: + return false; + } + + + } + +} diff --git a/src/list/listeDesNodesPourEvaluerPage.java b/src/list/listeDesNodesPourEvaluerPage.java new file mode 100644 index 0000000..fe1d57e --- /dev/null +++ b/src/list/listeDesNodesPourEvaluerPage.java @@ -0,0 +1,16 @@ +package list; + +import xml.node; + +public class listeDesNodesPourEvaluerPage { + + /** + * Retourne TRUE si c'est une page.
+ * @param nod + * @return + */ + public static Boolean isPage(node nod) { + if(nod.getNameNode().equals("page")) return true; + return false; + } +} \ No newline at end of file diff --git a/src/list/listeDesNodesRechercheByContenu.java b/src/list/listeDesNodesRechercheByContenu.java new file mode 100644 index 0000000..9267a85 --- /dev/null +++ b/src/list/listeDesNodesRechercheByContenu.java @@ -0,0 +1,32 @@ +package list; + +import xml.node; + +public class listeDesNodesRechercheByContenu { + + /** + * Retourne TRUE si on peut utiliser la recherche par contenu textuel.
+ * La rechercher par contenu se réalise par les méthodes suivantes:
+ * 1-Recherche par le contenu exact (ignore la case, et les espace au début et fin).
+ * 2-Recherche par le contenu du plus proche voisin.
+ * 3-Recherche par l'index;
+ * @param nod + * @return + */ + public static Boolean isRechercheByContenu(node nod) { + if(nod.getNameNode().contains("text:p")) return true; + if(nod.getNameNode().contains("text:line-break")) return true; + if(nod.getNameNode().contains("text:h")) return true; + if(nod.getNameNode().contains("text:span")) return true; + if(nod.getNameNode().equals("draw:text-box")) return true; + if(nod.getNameNode().equals("text:soft-page-break")) return true; + if(nod.getNameNode().contains("text:list")) return true; + if(nod.getNameNode().contains("text:section")) return true; + if(nod.getNameNode().equals("table:table-cell")) return true; + if(nod.getNameNode().equals("table:table-row")) return true; + if(nod.getNameNode().equals("draw:frame")) return true; + return false; + } + + +} \ No newline at end of file diff --git a/src/list/listeEvalNameNode.java b/src/list/listeEvalNameNode.java index 45f1754..e4d32c2 100644 --- a/src/list/listeEvalNameNode.java +++ b/src/list/listeEvalNameNode.java @@ -1,6 +1,6 @@ package list; -import nodeAC.nodeAC; +import xml.node; public class listeEvalNameNode { @@ -9,11 +9,13 @@ public class listeEvalNameNode { * @param nod * @return */ - public static boolean isNodeEvalNameNode(nodeAC nod) { + public static boolean isNodeEvalNameNode(node nod) { - if(nod.getNomElt().contains("meta:")) return true; - if(nod.getNomElt().contains("dc:")) return true; - if(nod.getNomElt().contains("text:")) return true; + if(nod.getNameNode().contains("meta:")) return true; + if(nod.getNameNode().contains("dc:")) return true; + if(nod.getNameNode().contains("text:")) return true; + if(nod.getNameNode().contains("draw:")) return true; + if(nod.getNameNode().contains("style:tab-stop")) return true; return false; } diff --git a/src/menu/CreatePopupMenu.java b/src/menu/CreatePopupMenu.java new file mode 100644 index 0000000..5741dbb --- /dev/null +++ b/src/menu/CreatePopupMenu.java @@ -0,0 +1,102 @@ +package menu; + +import javax.swing.JPopupMenu; + +import actions.actAttribut; +import actions.actCoefficient; +import actions.actCopy; +import actions.actDeleteNode; +import actions.actPaste; +import fenetres.create; +import list.listeDesNodesAllContent; +import list.listeDesNodesPourEvaluerPage; +import list.listeDesNodesRechercheByContenu; +import list.listeEvalNameNode; +import xml.node; + + + +public class CreatePopupMenu extends JPopupMenu{ + + /** + * + */ + private static final long serialVersionUID = 1L; + + /** + * Création de la popupmenu.
+ * @param nod + */ + public CreatePopupMenu(node nod ) { + + if(nod!=null) { + + + //************************************************************** + //** La popupMenu qui s'affiche sur le tree pour les niveau 1 ** + //************************************************************** + JPopupMenu mnPopupTree = new JPopupMenu(); + mnPopupTree.add( mnEvaluer.menu()); + if(nod.getLevel()==1 ) { + mnPopupTree.addSeparator(); + mnPopupTree.add(new actCoefficient()); + mnPopupTree.addSeparator(); + mnPopupTree.add(MnGroupePourFeedbackNiveau1.menu(nod)); + if(nod.getNameNode().equals("structurepage")) { + mnPopupTree.addSeparator(); + mnPopupTree.add( MnGroupeMethodeEvaluer.menu(nod)); + } + } + + //******************************************** + //** Pour les nodes de niveau supérieur à 1 ** + //******************************************** + if(nod.getLevel()>1 ) { + + // Le groupe représentation dans le feedback + mnPopupTree.addSeparator(); + mnPopupTree.add(MnGroupePourFeedback.menu(nod)); + + // Le groupe méthode de recherche + if(listeDesNodesRechercheByContenu.isRechercheByContenu(nod)) { + mnPopupTree.addSeparator(); + mnPopupTree.add(mnGroupeRechercheContenu.menu(nod)); + } + + + // Le groupe méthode évaluer le node + if(listeEvalNameNode.isNodeEvalNameNode(nod)||listeDesNodesAllContent.isAllContent(nod)|| + listeDesNodesPourEvaluerPage.isPage(nod) ) { + mnPopupTree.addSeparator(); + mnPopupTree.add(MnGroupeMethodeEvaluer.menu(nod)); + } + + + // Le groupe accès aux attributs + mnPopupTree.addSeparator(); + mnPopupTree.add(new actAttribut()); + + } + + // Le groupe Arbre + mnPopupTree.addSeparator(); + mnPopupTree.add(mnArbre.menu()); + mnPopupTree.addSeparator(); + mnPopupTree.add(new actCopy()); + mnPopupTree.addSeparator(); + mnPopupTree.add(new actPaste()); + mnPopupTree.addSeparator(); + mnPopupTree.add(new actDeleteNode()); + + + //************************************* + //** Applique le popMenu sur la tree ** + //************************************* + create.getTree().setComponentPopupMenu(mnPopupTree); + + } + } + + + +} diff --git a/src/menu/MnGroupeMethodeEvaluer.java b/src/menu/MnGroupeMethodeEvaluer.java new file mode 100644 index 0000000..cc0c518 --- /dev/null +++ b/src/menu/MnGroupeMethodeEvaluer.java @@ -0,0 +1,68 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actAllContent; +import actions.actEvalFormatageDirect; +import actions.actEvalInitialCreator; +import actions.actEvalNameNodeOui; +import actions.actevalNameCreator; +import fenetres.create; +import list.listeDesNodesAllContent; +import list.listeDesNodesFormatageDirect; +import list.listeEvalNameNode; +import xml.node; + + +public class MnGroupeMethodeEvaluer { + public static JMenu menu(node nod) { + JMenu mnGroupeMethodeEvaluer = new JMenu("Evaluer le node"); + + //Image pour evaluer le node + mnGroupeMethodeEvaluer.setIcon( new ImageIcon(create.class.getResource("/resources/evaluatemini.png"))); + + + + // Pour la méthode AllContent + if(listeDesNodesAllContent.isAllContent(nod) ) { +// mnGroupeMethodeEvaluer.addSeparator(); + mnGroupeMethodeEvaluer.add(new actAllContent()); + } + + // Pour la méthode evalFormatageDirect + if(listeDesNodesFormatageDirect.isFormatageDirect(nod)) { + mnGroupeMethodeEvaluer.addSeparator(); + mnGroupeMethodeEvaluer.add(new actEvalFormatageDirect()); + + } + + // Pour la méthode evalNameNode + if(listeEvalNameNode.isNodeEvalNameNode(nod)) { + mnGroupeMethodeEvaluer.addSeparator(); + mnGroupeMethodeEvaluer.add(new actEvalNameNodeOui()); + } + + + + if(nod.getNameNode().equals("meta:initial-creator")) { + mnGroupeMethodeEvaluer.addSeparator(); + mnGroupeMethodeEvaluer.add(new actEvalInitialCreator()); + } + if(nod.getNameNode().equals("dc:creator")) { + mnGroupeMethodeEvaluer.addSeparator(); + mnGroupeMethodeEvaluer.add(new actevalNameCreator()); + } + + + if(nod.getNameNode().equals("text:user-defined") ) { //nod.getNomElt().equals("meta:user-defined") + mnGroupeMethodeEvaluer.addSeparator(); + mnGroupeMethodeEvaluer.add(mnEvalTextUserDefined.menu()); + } + + + + return mnGroupeMethodeEvaluer; + + } +} diff --git a/src/menu/MnGroupePourFeedback.java b/src/menu/MnGroupePourFeedback.java new file mode 100644 index 0000000..2e1aad2 --- /dev/null +++ b/src/menu/MnGroupePourFeedback.java @@ -0,0 +1,36 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import fenetres.create; +import list.listeDesNodesInfos; +import list.listeDesNodesPourEvaluerPage; +import xml.node; + + + +public class MnGroupePourFeedback { + public static JMenu menu(node nod) { + JMenu mnPourFeedback = new JMenu("Représentation dans le feedback"); + mnPourFeedback.setIcon(new ImageIcon(create.class.getResource("/resources/feedbackmini.png"))); + mnPourFeedback.add(mnSaut.menu()); + if(listeDesNodesInfos.isInfo(nod)) { + mnPourFeedback.addSeparator(); + mnPourFeedback.add(mnInsereInformation.menu()); + } + mnPourFeedback.addSeparator(); + mnPourFeedback.add(mnTitre.menu()); + mnPourFeedback.addSeparator(); + mnPourFeedback.add(mnAddMenuNiveauSup1.menu()); + if(listeDesNodesPourEvaluerPage.isPage(nod)) { + mnPourFeedback.addSeparator(); + mnPourFeedback.add(mnInsereInformationMultiple.menu()); + mnPourFeedback.addSeparator(); + mnPourFeedback.add(mnSautMultiple.menu()); + mnPourFeedback.addSeparator(); + mnPourFeedback.add(mnMarqueNode.menu()); + } + return mnPourFeedback; + } +} diff --git a/src/menu/MnGroupePourFeedbackNiveau1.java b/src/menu/MnGroupePourFeedbackNiveau1.java new file mode 100644 index 0000000..0f5dc47 --- /dev/null +++ b/src/menu/MnGroupePourFeedbackNiveau1.java @@ -0,0 +1,27 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import fenetres.create; +import xml.node; + + +public class MnGroupePourFeedbackNiveau1 { + public static JMenu menu(node nod) { + JMenu mnNiveau1 = new JMenu("Représentation dans le feedback"); + mnNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/feedbackmini.png"))); ///resources/attributanalysewritermini.png + mnNiveau1.add(mnSautNiveau1.menu()); + mnNiveau1.addSeparator(); + mnNiveau1.add(mnTitreNiveau1.menu()); + if(nod.getLevel()>1) { + mnNiveau1.addSeparator(); + mnNiveau1.add(mnAddMenuNiveau1.menu()); + } + if(nod.getNameNode().equals("structurepage")) { + mnNiveau1.addSeparator(); + mnNiveau1.add(mnaddTitreToutesLesPages.menu()); + } + return mnNiveau1; + } +} diff --git a/src/menu/mnAddMenuNiveau1.java b/src/menu/mnAddMenuNiveau1.java new file mode 100644 index 0000000..28bd562 --- /dev/null +++ b/src/menu/mnAddMenuNiveau1.java @@ -0,0 +1,19 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actAddMenuFalse; +import actions.actAddMenuTrue; +import fenetres.create; + + +public class mnAddMenuNiveau1 { + public static JMenu menu(){ + JMenu mnAddMenuNiveau1= new JMenu("Lien"); //addMenu + mnAddMenuNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/addmenumini.png"))); + mnAddMenuNiveau1.add(new actAddMenuTrue()); + mnAddMenuNiveau1.add(new actAddMenuFalse()); + return mnAddMenuNiveau1; + } +} diff --git a/src/menu/mnAddMenuNiveauSup1.java b/src/menu/mnAddMenuNiveauSup1.java new file mode 100644 index 0000000..14405ec --- /dev/null +++ b/src/menu/mnAddMenuNiveauSup1.java @@ -0,0 +1,20 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actAddMenuFalse; +import actions.actAddMenuTrue; +import fenetres.create; + + + +public class mnAddMenuNiveauSup1 { + public static JMenu menu() { + JMenu mnAddMenuNiveauSup1= new JMenu("Lien"); //addMenu + mnAddMenuNiveauSup1.setIcon( new ImageIcon(create.class.getResource("/resources/addmenumini.png"))); + mnAddMenuNiveauSup1.add(new actAddMenuTrue()); + mnAddMenuNiveauSup1.add(new actAddMenuFalse()); + return mnAddMenuNiveauSup1; + } +} diff --git a/src/menu/mnArbre.java b/src/menu/mnArbre.java new file mode 100644 index 0000000..d0b8f68 --- /dev/null +++ b/src/menu/mnArbre.java @@ -0,0 +1,26 @@ +package menu; + +import javax.swing.JMenu; + +import actions.actCollapseAll; +import actions.actCollapseNode; +import actions.actDownNode; +import actions.actExpandAll; +import actions.actExpandNode; +import actions.actUpNode; + + +public class mnArbre { + public static JMenu menu() { + JMenu mnManageTree = new JMenu("Arbre"); + mnManageTree.add(new actUpNode()); + mnManageTree.add(new actDownNode()); + mnManageTree.addSeparator(); + mnManageTree.add(new actExpandAll()); + mnManageTree.add(new actExpandNode()); + mnManageTree.addSeparator(); + mnManageTree.add(new actCollapseAll()); + mnManageTree.add(new actCollapseNode()); + return mnManageTree; + } +} \ No newline at end of file diff --git a/src/menu/mnEvalTextUserDefined.java b/src/menu/mnEvalTextUserDefined.java new file mode 100644 index 0000000..f05fc33 --- /dev/null +++ b/src/menu/mnEvalTextUserDefined.java @@ -0,0 +1,21 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actEvalTextUserDefinedNon; +import actions.actEvalTextUserDefinedOui; +import fenetres.create; + + +public class mnEvalTextUserDefined { + + public static JMenu menu(){ + JMenu mnEvalTextUserDefined = new JMenu("Evaluer la valeur de la propriété"); + mnEvalTextUserDefined.setIcon(new ImageIcon(create.class.getResource("/resources/evaltextuserdefinedmini.png"))); + mnEvalTextUserDefined.add(new actEvalTextUserDefinedOui()); + mnEvalTextUserDefined.add(new actEvalTextUserDefinedNon()); + return mnEvalTextUserDefined; + } + +} diff --git a/src/menu/mnEvaluer.java b/src/menu/mnEvaluer.java new file mode 100644 index 0000000..fc49fab --- /dev/null +++ b/src/menu/mnEvaluer.java @@ -0,0 +1,20 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actEvalueFalse; +import actions.actEvalueTrue; +import fenetres.create; + + + +public class mnEvaluer { + public static JMenu menu(){ + JMenu mnEvaluer = new JMenu("Evaluer"); + mnEvaluer.setIcon( new ImageIcon(create.class.getResource("/resources/evaluermini.png"))); + mnEvaluer.add(new actEvalueTrue()); + mnEvaluer.add(new actEvalueFalse()); + return mnEvaluer; + } +} diff --git a/src/menu/mnGroupeRechercheContenu.java b/src/menu/mnGroupeRechercheContenu.java new file mode 100644 index 0000000..9485324 --- /dev/null +++ b/src/menu/mnGroupeRechercheContenu.java @@ -0,0 +1,26 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import fenetres.create; +import list.listeDesNodesRechercheByContenu; +import xml.node; + + +public class mnGroupeRechercheContenu { + public static JMenu menu(node nod) { + JMenu mnGroupeRechercheContenu = new JMenu("Recherche le node"); + mnGroupeRechercheContenu.setIcon( new ImageIcon(create.class.getResource("/resources/recherchemini.png"))); + + if(listeDesNodesRechercheByContenu.isRechercheByContenu(nod)) { + if(nod.getContenuAvecTousLesContenusDesEnfants().length()>0) { + mnGroupeRechercheContenu.add(mnRechercheContenuExact.menu()); + mnGroupeRechercheContenu.addSeparator(); + mnGroupeRechercheContenu.add(mnRechercheContenuPlusProcheVoisin.menu()); + } + + } + return mnGroupeRechercheContenu; + } +} \ No newline at end of file diff --git a/src/menu/mnInsereInformation.java b/src/menu/mnInsereInformation.java new file mode 100644 index 0000000..182d01f --- /dev/null +++ b/src/menu/mnInsereInformation.java @@ -0,0 +1,18 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actInsereInformationFalse; +import actions.actInsereInformationTrue; +import fenetres.create; + +public class mnInsereInformation { + public static JMenu menu() { + JMenu mnInsereInformation = new JMenu("Insère l'information contenu du node"); + mnInsereInformation.setIcon( new ImageIcon(create.class.getResource("/resources/informationmini.png"))); + mnInsereInformation.add(new actInsereInformationTrue()); + mnInsereInformation.add(new actInsereInformationFalse()); + return mnInsereInformation; + } +} diff --git a/src/menu/mnInsereInformationMultiple.java b/src/menu/mnInsereInformationMultiple.java new file mode 100644 index 0000000..10ffa88 --- /dev/null +++ b/src/menu/mnInsereInformationMultiple.java @@ -0,0 +1,20 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actInsereInformationMultipleFalse; +import actions.actInsereInformationMultipleTrue; +import fenetres.create; + + + +public class mnInsereInformationMultiple { + public static JMenu menu() { + JMenu mnInsereInformationMultiple = new JMenu("Insère les informations contenus de tous les nodes enfants"); + mnInsereInformationMultiple.setIcon( new ImageIcon(create.class.getResource("/resources/informationmultiplemini.png"))); + mnInsereInformationMultiple.add(new actInsereInformationMultipleTrue()); + mnInsereInformationMultiple.add(new actInsereInformationMultipleFalse()); + return mnInsereInformationMultiple; + } +} diff --git a/src/menu/mnMarqueNode.java b/src/menu/mnMarqueNode.java new file mode 100644 index 0000000..1bf0844 --- /dev/null +++ b/src/menu/mnMarqueNode.java @@ -0,0 +1,20 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actmarquenodefalse; +import actions.actmarquenodetrue; +import fenetres.create; + + +public class mnMarqueNode { + + public static JMenu menu() { + JMenu mnMarqueNode = new JMenu("Marque le node évalué dans le feedback"); + mnMarqueNode.setIcon( new ImageIcon(create.class.getResource("/resources/marquenodemini.png"))); + mnMarqueNode.add(new actmarquenodetrue()); + mnMarqueNode.add(new actmarquenodefalse()); + return mnMarqueNode; + } +} diff --git a/src/menu/mnRechercheContenuExact.java b/src/menu/mnRechercheContenuExact.java new file mode 100644 index 0000000..b23eb20 --- /dev/null +++ b/src/menu/mnRechercheContenuExact.java @@ -0,0 +1,19 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actRechercheContenufalse; +import actions.actRechercheContenutrue; +import fenetres.create; + + +public class mnRechercheContenuExact { + public static JMenu menu(){ + JMenu mnRechercheContenu = new JMenu("Recherche par le contenu exact"); + mnRechercheContenu.setIcon(new ImageIcon(create.class.getResource("/resources/recherchecontenumini.png"))); + mnRechercheContenu.add( new actRechercheContenutrue()); + mnRechercheContenu.add( new actRechercheContenufalse()); + return mnRechercheContenu; + } +} diff --git a/src/menu/mnRechercheContenuPlusProcheVoisin.java b/src/menu/mnRechercheContenuPlusProcheVoisin.java new file mode 100644 index 0000000..fb6005f --- /dev/null +++ b/src/menu/mnRechercheContenuPlusProcheVoisin.java @@ -0,0 +1,20 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actRechercheContenuPlusProcheVoisinfalse; +import actions.actRechercheContenuPlusProcheVoisintrue; +import fenetres.create; + + + +public class mnRechercheContenuPlusProcheVoisin { + public static JMenu menu(){ + JMenu mnRechercheContenuPlusProcheVoisin2 = new JMenu("Recherche par le plus proche voisin"); + mnRechercheContenuPlusProcheVoisin2.setIcon(new ImageIcon(create.class.getResource("/resources/recherchecontenuplusprochevoisinmini.png"))); + mnRechercheContenuPlusProcheVoisin2.add( new actRechercheContenuPlusProcheVoisintrue()); + mnRechercheContenuPlusProcheVoisin2.add(new actRechercheContenuPlusProcheVoisinfalse()); + return mnRechercheContenuPlusProcheVoisin2; + } +} \ No newline at end of file diff --git a/src/menu/mnSaut.java b/src/menu/mnSaut.java new file mode 100644 index 0000000..62e54a5 --- /dev/null +++ b/src/menu/mnSaut.java @@ -0,0 +1,21 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actsautfalse; +import actions.actsauttrue; +import fenetres.create; + + + +public class mnSaut { + + public static JMenu menu() { + JMenu mnSaut = new JMenu("Saut de ligne avant"); + mnSaut.setIcon( new ImageIcon(create.class.getResource("/resources/sautmini.png"))); + mnSaut.add(new actsauttrue()); + mnSaut.add(new actsautfalse()); + return mnSaut; + } +} \ No newline at end of file diff --git a/src/menu/mnSautMultiple.java b/src/menu/mnSautMultiple.java new file mode 100644 index 0000000..7caeb06 --- /dev/null +++ b/src/menu/mnSautMultiple.java @@ -0,0 +1,20 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actsautmultiplefalse; +import actions.actsautmultipletrue; +import fenetres.create; + + + +public class mnSautMultiple { + public static JMenu menu() { + JMenu mnSautMultiple = new JMenu("Saut de ligne entre les nodes"); + mnSautMultiple.setIcon( new ImageIcon(create.class.getResource("/resources/sautmultiplemini.png"))); + mnSautMultiple.add(new actsautmultipletrue()); + mnSautMultiple.add(new actsautmultiplefalse()); + return mnSautMultiple; + } +} diff --git a/src/menu/mnSautNiveau1.java b/src/menu/mnSautNiveau1.java new file mode 100644 index 0000000..c5dbc7c --- /dev/null +++ b/src/menu/mnSautNiveau1.java @@ -0,0 +1,20 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actsautfalse; +import actions.actsauttrue; +import fenetres.create; + + + +public class mnSautNiveau1 { + public static JMenu menu(){ + JMenu mnSautNiveau1 = new JMenu("Saut de ligne avant"); + mnSautNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/sautmini.png"))); + mnSautNiveau1.add(new actsauttrue()); + mnSautNiveau1.add(new actsautfalse()); + return mnSautNiveau1; + } +} diff --git a/src/menu/mnTitre.java b/src/menu/mnTitre.java new file mode 100644 index 0000000..3446f4e --- /dev/null +++ b/src/menu/mnTitre.java @@ -0,0 +1,26 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actSupprimeTitre; +import actions.actTitre1; +import actions.actTitre2; +import actions.actTitre3; +import actions.actTitrePrincipal; +import fenetres.create; + + +public class mnTitre { + public static JMenu menu() { + JMenu mnTitre = new JMenu("Titre"); + mnTitre.setIcon( new ImageIcon(create.class.getResource("/resources/titremini.png"))); + mnTitre.add(new actTitrePrincipal()); + mnTitre.add(new actTitre1()); + mnTitre.add(new actTitre2()); + mnTitre.add(new actTitre3()); + mnTitre.addSeparator(); + mnTitre.add(new actSupprimeTitre()); + return mnTitre; + } +} \ No newline at end of file diff --git a/src/menu/mnTitreNiveau1.java b/src/menu/mnTitreNiveau1.java new file mode 100644 index 0000000..f74eeda --- /dev/null +++ b/src/menu/mnTitreNiveau1.java @@ -0,0 +1,26 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.actSupprimeTitre; +import actions.actTitre1; +import actions.actTitre2; +import actions.actTitre3; +import actions.actTitrePrincipal; +import fenetres.create; + + +public class mnTitreNiveau1 { + public static JMenu menu() { + JMenu mnTitreNiveau1 = new JMenu("Titre"); + mnTitreNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/titremini.png"))); + mnTitreNiveau1.add(new actTitrePrincipal()); + mnTitreNiveau1.add(new actTitre1()); + mnTitreNiveau1.add(new actTitre2()); + mnTitreNiveau1.add(new actTitre3()); + mnTitreNiveau1.addSeparator(); + mnTitreNiveau1.add(new actSupprimeTitre()); + return mnTitreNiveau1; + } +} diff --git a/src/menu/mnaddTitreToutesLesPages.java b/src/menu/mnaddTitreToutesLesPages.java new file mode 100644 index 0000000..d12f989 --- /dev/null +++ b/src/menu/mnaddTitreToutesLesPages.java @@ -0,0 +1,18 @@ +package menu; + +import javax.swing.ImageIcon; +import javax.swing.JMenu; + +import actions.addTitreToutesLesPagesFalse; +import actions.addTitreToutesLesPagesTrue; +import fenetres.create; + +public class mnaddTitreToutesLesPages { + public static JMenu menu() { + JMenu mnaddTitreToutesLesPages = new JMenu("Ajoute un titre à toutes les pages"); + mnaddTitreToutesLesPages.setIcon( new ImageIcon(create.class.getResource("/resources/ajoutetitretouteslespagesmini.png"))); + mnaddTitreToutesLesPages.add(new addTitreToutesLesPagesTrue()); + mnaddTitreToutesLesPages.add(new addTitreToutesLesPagesFalse()); + return mnaddTitreToutesLesPages; + } +} diff --git a/src/resources/copy.png b/src/resources/copy.png new file mode 100644 index 0000000000000000000000000000000000000000..ce5258ff5afb0baf7629dbf40a82a747bdbfa95d GIT binary patch literal 1041 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 + * @return + */ + public ArrayList retourneAllBroters(){ + return this.parent.getEnfants(); + } + + public node retournePreviousBrother() { if(this.parent!=null) { int indexOfThis = this.parent.enfants.indexOf(this);