From c8a390a0e733b487c8b908a6b4db688536e659b1 Mon Sep 17 00:00:00 2001 From: pablo rodriguez <58742538+1-pablo-rodriguez@users.noreply.github.com> Date: Sat, 4 Jun 2022 15:43:08 +0200 Subject: [PATCH] MAJ v4.0.2 --- bin/.gitignore | 11 + bin/app/create$1.class | Bin 1947 -> 1947 bytes bin/app/create$10.class | Bin 1433 -> 1433 bytes bin/app/create$11.class | Bin 1431 -> 1431 bytes bin/app/create$12.class | Bin 2831 -> 2831 bytes bin/app/create$13.class | Bin 1771 -> 1771 bytes bin/app/create$14.class | Bin 1772 -> 1772 bytes bin/app/create$15.class | Bin 1772 -> 1772 bytes bin/app/create$16.class | Bin 1772 -> 1772 bytes bin/app/create$17.class | Bin 2285 -> 2285 bytes bin/app/create$18.class | Bin 2286 -> 2286 bytes bin/app/create$19.class | Bin 1435 -> 1435 bytes bin/app/create$2.class | Bin 1586 -> 1586 bytes bin/app/create$20.class | Bin 1429 -> 1429 bytes bin/app/create$21.class | Bin 2674 -> 2674 bytes bin/app/create$22.class | Bin 2457 -> 2457 bytes bin/app/create$23.class | Bin 2195 -> 2195 bytes bin/app/create$3.class | Bin 1709 -> 1709 bytes bin/app/create$4.class | Bin 1424 -> 1424 bytes bin/app/create$5.class | Bin 3407 -> 3407 bytes bin/app/create$6.class | Bin 3801 -> 3801 bytes bin/app/create$7.class | Bin 2099 -> 2099 bytes bin/app/create$8.class | Bin 1433 -> 1433 bytes bin/app/create$9.class | Bin 1433 -> 1433 bytes bin/app/create.class | Bin 26998 -> 19599 bytes bin/app/evaluate$1.class | Bin 2552 -> 2021 bytes bin/app/evaluate$10.class | Bin 1283 -> 1283 bytes bin/app/evaluate$11.class | Bin 1031 -> 1031 bytes bin/app/evaluate$12.class | Bin 1454 -> 1783 bytes bin/app/evaluate$13.class | Bin 2057 -> 1454 bytes bin/app/evaluate$14.class | Bin 1639 -> 2057 bytes bin/app/evaluate$15.class | Bin 1905 -> 1639 bytes bin/app/evaluate$16.class | Bin 3652 -> 1905 bytes bin/app/evaluate$17.class | Bin 2108 -> 3652 bytes bin/app/evaluate$2.class | Bin 1631 -> 1631 bytes bin/app/evaluate$3.class | Bin 3089 -> 3089 bytes bin/app/evaluate$4.class | Bin 2535 -> 2535 bytes bin/app/evaluate$5.class | Bin 2811 -> 2811 bytes bin/app/evaluate$6.class | Bin 3818 -> 3818 bytes bin/app/evaluate$7.class | Bin 4981 -> 4981 bytes bin/app/evaluate$8.class | Bin 1786 -> 1786 bytes bin/app/evaluate$9.class | Bin 2111 -> 2111 bytes bin/app/evaluate.class | Bin 14353 -> 13840 bytes icons/savepreference.png | Bin 0 -> 3221 bytes icons/savepreference.svg | 167 ++++++++ icons/savepreferencemini.png | Bin 0 -> 1553 bytes src/MEPTL/meptl.java | 6 +- src/app/ProgressBar.java | 72 ++++ src/app/attributs.java | 76 ++-- src/app/baliseStyle.java | 25 ++ src/app/create.java | 464 ++++------------------- src/app/evaluate.java | 218 ++++++----- src/app/evaluerLesFichiersEtudiants.java | 15 +- src/app/listeAttributsAnalyseWriter.java | 34 ++ src/app/savePreferences.java | 14 + src/resources/savepreference.png | Bin 0 -> 3221 bytes src/resources/savepreferencemini.png | Bin 0 -> 1553 bytes 57 files changed, 580 insertions(+), 522 deletions(-) create mode 100644 icons/savepreference.png create mode 100644 icons/savepreference.svg create mode 100644 icons/savepreferencemini.png create mode 100644 src/app/ProgressBar.java create mode 100644 src/app/baliseStyle.java create mode 100644 src/app/listeAttributsAnalyseWriter.java create mode 100644 src/app/savePreferences.java create mode 100644 src/resources/savepreference.png create mode 100644 src/resources/savepreferencemini.png diff --git a/bin/.gitignore b/bin/.gitignore index f13ae4e..ea6304a 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1 +1,12 @@ /app/ +/attributmini.png +/saut.svg +/sautmini.png +/titre.svg +/titremini.png +/voir.svg +/voirmini.png +/what.svg +/whatmini.png +/MEPTL/ +/resources/ diff --git a/bin/app/create$1.class b/bin/app/create$1.class index 469cf89f7b658ceb7e7b9f8c2b48c9cb344ee607..5c38a40505b09caf4aee2111d597939657f2cb80 100644 GIT binary patch delta 77 zcmV-T0J8s^51S9Ll?ECC@c;<{_5cw9_W&gU_y8~g`2aWp`T#}&@sqCxcp?G*00sg7 j01N^E022ZM03QMZ03red04V|l0678%06_u=lSv0s9-I)Y delta 77 zcmV~$O$tCz0EN+8Up*-$nVFFCH^4*0&_tP9jeW?-B3Pnx9{=&b+e9RC$rO+)qmZT4 gOr?$Fdd-?fVlLJ{j E0L$hFKL7v# delta 49 zcmbQqJ(GLGCl)CdR|ZZNF9tytZw7T19|j{9Uj{1{KL!sL*U3Dr_G~Oc3>+-MlLJ{j E0P{}>?*IS* diff --git a/bin/app/create$11.class b/bin/app/create$11.class index c13f5124752c54f42b3d0917437531e470c2feac..f8014c3027d939351c468486f81a7f1e83923723 100644 GIT binary patch delta 49 zcmbQvJ)L{Q2No%2Ee1|zeFi~h0|s?wLk1&eBL*vGV+Idqt;t-h_H4}N3>?fBll@se E0NWG?=>Px# delta 49 zcmbQvJ)L{Q2No%oNCr-pI0iwMcm{Qr1O_9PL+-!ll@se E00N8&nE(I) diff --git a/bin/app/create$12.class b/bin/app/create$12.class index 9246b202aa4f6d0249832fe2cc2af10cd46d3541..c54464873375c20877185703b6858333379f6217 100644 GIT binary patch delta 109 zcmeAd>lfRg%_+oe&%nv-!XU`(%Am^Z#-Ph=KiQV^qZhLmP{@ZtlG&F*hS`rngV~?K zhB=tQlR1PgE@+!lsTHAkvWE;g*ld?mpP7M3UdO(Oy)#}Wz0zo Mo0!ukS8z=S0384odH?_b delta 109 zcmeAd>lfRg%_+o^$H2)_%pk~8!l24h%Am`VH`$i+qZdmhP^g+glBI@0hNYH4gQbqa zhNX$Ylcj|rkfn_wnx&l~fu(~XgQb(9l%!Atb_P!79tJ_?UIt0#_Q?lXTa}n60=bic+$jvQ%u^XOnWr(BGtXpj TWS+&~&ODpJk9p4I47L^kEn*Nk delta 65 zcmaFE`-XSJW>!9yZ48_&yBP#o_Ap4YY@2+LwN;7b0FZkK$UV#;%W{N4ljSIbIm-zK UN0yTe?kuMm{8&y;&R}Z+0CryzsQ>@~ diff --git a/bin/app/create$15.class b/bin/app/create$15.class index 4ab4260bcbf3fe49b962e6a3570d59e4b5306690..c2f30be8f5042cbe9a870a99cbee783801f60919 100644 GIT binary patch delta 65 zcmaFE`-XSJW>!At#SEOxD;NZsS29R4FP?mmwN;6EEs(n&$lbso%e;|6lX(+^IrCNq UN9Jt|?#$a6{Frx4&R}Z+09Wo2r2qf` delta 65 zcmaFE`-XSJW>!9yOAMSW*BJy^ZZJr)T$+54wN;7b4v>2f$i2@X%kqFhljR|UIm;6U UN0z4y?kvw3{8*k(&R}Z+0HEs>6#xJL diff --git a/bin/app/create$16.class b/bin/app/create$16.class index 05da56a57ec669de8c3b700ee608fc228fce350d..ad49bfa6c796ec53f46376dcb35c62b6c2106a15 100644 GIT binary patch delta 65 zcmaFE`-XSJW>!At{S2JUM;HW|k1|Ly@1J~-wN;7vB#?U=$UVa#%Y2qWlldHjIrBvZ UN9Icm?#!1N{Ftvy&R}Z+0D^iG5dZ)H delta 65 zcmaFE`-XSJW>!9ycMO~?pBV&MzA#9#yqkQGwN;7b2ax*<$oYA-(to56v%zXAj|xML6!L>gEsRk20iB2 s3?|HP7~GlPGK2!z3CtfDQkg$8o2ns>D#vs?1Q!sy5k|V*vnAwhaUT diff --git a/bin/app/create$18.class b/bin/app/create$18.class index dbe5785af21aa333993368ef8fa3d3d585cf04df..f52e08a239e7c3f317c42b801c278377d6cec079 100644 GIT binary patch delta 89 zcmaDS_)c&`5IZ09KL$<~W(GkP76wV?f0Gl~w^*@o0J)qDvMk&Tsw_MV+AO>bdMtbl qCM^66?koZfp+I&5i!ehfiwHw5izq`0ix@*Wi#S6qi_~O4js*a{D-I9< delta 89 zcmaDS_)c&`5IY~ME(0g45rZJBF@q$l?&JjaEmo}NK&}OYEUOiRDyubvHmePT9;+>b q39B80JF7iID3G1N>co)B>dcVK>cUXM>dH{g>c&vZ>N(kuV*voZBoCqh diff --git a/bin/app/create$19.class b/bin/app/create$19.class index dd5a1adb4af58fbaa649972fcbbc483c310020c8..e2071e660f841b8cab7e8c6d7873c35514b82d89 100644 GIT binary patch delta 49 zcmbQuJ)3*O7ZxcNB?e9wbp}Be4F+`+*5lY?13 E0N2w8z5oCK delta 49 zcmbQuJ)3*O7ZxejKn70MFa|-^a0YeO2nHk8NCqp`C>WSlY?13 E0RKD*ZU6uP diff --git a/bin/app/create$2.class b/bin/app/create$2.class index ee4a3eff7d38af1707d360be0efd915e26af6f1d..ba46f0f4d50eded881cb94af6fde29cde03b791e 100644 GIT binary patch delta 53 zcmdnQvx#Rz7ONN&F9Ro&5Q89-FoPZav&sKhT)9}B8Q54{82DIR JC;PH`000sU36=l= delta 53 zcmbQrJ(YXI6Ba4fR0dAgECxZ=Yz9@<90mi{Tm}o)JO($`)XD!?T)9|_7}!{g8TeRB JCi}8_002QI3w8hi diff --git a/bin/app/create$21.class b/bin/app/create$21.class index 9000f7ddfb7e15c0d1c687e9caec0099b4ef2db4..6df719df07e7e0726d78aa32540b2165ba618beb 100644 GIT binary patch delta 86 zcmew)@=0XF0uCV-Zw5}500u#pKn7KoAO>9)@6DSygc*%k!hmAo46-bd3|cHv3|=fT p41O%J4B;$s4Bag84EtFU7*4VzGF)IuVz|tb%y5S#d-8YAY5*OD6cqpf delta 86 zcmew)@=0XF0uCY8Dh5v0dImw(1_o8uMh0Ehs?D1?gc*%kTY+M246>{p3|g$63|_3= q41TOV4B@Q34Bf1K4EtI88BVfJV7S0Kk>N7yB!)YzvnGG%tOfw2_ZM{l diff --git a/bin/app/create$22.class b/bin/app/create$22.class index 92369db5c089fd738900b8c8a527c91b701f2b21..8359d6f5e0ea3fef02ae1f79f1f58467bf8fd4a1 100644 GIT binary patch delta 97 zcmbO!JX3hXH+CVGLIzHjG6q4Gat2kF3I<)4!pR&Qo9tL>fkJf*vMdci;YJ2+mL>*0 xmSzSMmKFwgARWZg&JfPh!4S>T$&k#_#gNU?!%)Q1%TUVF$572OVe$`-g#Zw`7NP(E delta 97 zcmbO!JX3hXH+CV`1q__5OBn=NmoccaE@#kXT`-x0W0M{08lccx23gkiK;aDx+N>KH z^jJ4Bn6PeUa0k*stlJpES+_Gpv+iI>X5Gn<&AOYRh;(%lmGw# delta 89 zcmbO%I9YH5BRe1KaRyG-GYo>PXBi|}k5A@jUuDI53CO+7Aj^7{L6!9ygEs4R20hjr s3?{5M8Qg(%5bGU=aMrsF(X96vl3DLFWU)SA$Yp)VP|W&x@@Mu104ZG>Bme*a diff --git a/bin/app/create$3.class b/bin/app/create$3.class index 0d55b167a4696afc8bd3ab434692e16da9f39671..9e3e189877074eae15958feea4a49c4dca722af4 100644 GIT binary patch delta 57 zcmZ3>yOwvuDONEiRR&HbEe1g*Z3a~)9R^D#T?R)c)yWT7yOwvuDONG&5C%@>NCrXXC7zRh?kjW2N`|5(W$AQU*8XoXI~~T)CJl8Q7Ss82Fg0 JCws7Z002Um3y%N* diff --git a/bin/app/create$5.class b/bin/app/create$5.class index 71a0cf01f3b18274656788210a61a9345467c589..3b81f075dbd5ac70d6806277c8bcb458f8f0d300 100644 GIT binary patch delta 171 zcmX>vbzW-25iTjFPzFw>NCrWsCg9B4GLkLq2Lp+d9VajEwVJcu~VJc$iWGZ3kXDVfw z%T&&=gsFmIKT{>cSs;CZsfyt;Q#HdorW%GnK>9yZJ)lIVbnzZVxe6J`W0bQk`ct$f`+BEj;(14n%_ z8t`JxYe+#OO8TU1ebbn#rudps*POOOCRz|`$zCgt*0a92=$ot7+^qllF^)DSsjW$A R$1C6w1(T*|_x}4B+yS9cE9U?J diff --git a/bin/app/create$6.class b/bin/app/create$6.class index 90f3efaefc7bf9d3b2048d90ed872575dfec994b..74645129f1be57aeaa02f69becde2d1cae6854be 100644 GIT binary patch delta 150 zcmV~$xoQFd7=_XMf0Z&sVmH1MPrP{0%u-1i*u52yJ&Rz-3Jmlx~w^V3ftb!FKXL+;+3u{1xh%9_819Se`CdBo}$k zV{jK@_j;|<>vXpldBIhffszcBWu!b~m2e#|;#iA`LQEB7rUY}PSSW+1SH6^EsRG|B zvr>hP>TLDKkKWnogT2}u)WKJuU-=vr5Lld(6**g(KdbO>RW4TJW)1GvR)c{Na)&N=p%#%R}eij1T b015)#01g7)03-t606+rZ07nAjlhp@amaG%O delta 69 zcmdliuvuV(GP@k}Zw5{l1_nVEMg~%>^N7`Rw? Z82DIt8B|#K7#vvm8QfWfCSPTb0|0;p3T*%Y diff --git a/bin/app/create$8.class b/bin/app/create$8.class index ae5bb944db3983cf9510864a6fadbc4a265dd144..844838b4aebebf22828c26e52b51c355002037cb 100644 GIT binary patch delta 49 zcmV-10M7rJ3z-YB@&p~RR${-H3knB*~vVt_G~O#3>+-llLJ{j E0MdU4hX4Qo diff --git a/bin/app/create$9.class b/bin/app/create$9.class index 98b690a9a5291c89f3d19d0d492ba9fd995a77dc..0c8c792e045e57b30142d8e00784e3e455203bbf 100644 GIT binary patch delta 49 zcmbQqJ(GLGCl)DYCI(Jsb_PLa4hD5*P6i`pE(R-RZUzr#rpY|4_H4}j3>?e?lLJ{j E0K0w$ivR!s delta 49 zcmbQqJ(GLGCl)CdLk3P3GX_Bxa|U%53kD+=O9m?zD+Ui1!^u3X_G~P63>+->lLJ{j E0OIEeI{*Lx diff --git a/bin/app/create.class b/bin/app/create.class index 890d53ec4f43911ac7d56a5f9ddc9efbe2cd7048..e13e9afdba5c81cee03aa3815a7f0dc873f4d365 100644 GIT binary patch literal 19599 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 Z1W)ly)Trn+@LbGj)GAI?!fHKIx{Tm zrQO~Oy(vs@*lK#jpoGgjK_8Ca(%}ht9Rb zmPm0;%?bhyg|OH8#n%?>XLu7S=a%oq^#hRBLBi@0UgG7bHLmKp=<7T4A~V`$lo{T} zK4*)+DR_Y49Vtorn=70ljTGV8Og=N3F6+iFA+l+n8LdMzvJAo{S(Qv0Ny8Q{kz>ev z#Lm8yYqwltgkjVro>^9i@wkyQT&BRFdy;fHX)F-~k|{DAa+wuXO-h*Ru&a7pIeCC*5iw_8!B9Vxa5@V{Si6crT&&`}Ll`&meo`aIzz^kKBPOBDQ z5ZdD6f8y#Jgk>v5ZYiau+t3-tS2!NR*MyaB7Ov}Dw97Cw!F7h0aDwn$`%s4$_c8f` z9;?N)?C_3~Fm2VcL_z3w7!&x$?c2A6gfmNPAG?bE$ASK&$t%T~3A6^Oo3JkK%=(^R z8IuwEY zP@%suMfb5wo>!_R;Wg}*J6RmQ!}lO)@Z$%}pav(UHHezc4`8)O>;577qZkya=}d diff --git a/bin/app/evaluate$11.class b/bin/app/evaluate$11.class index d7ad2d4f240a92638fc65697f3cd78fb2f8d251a..d2f2d6fdbf97130eac23ddd87da67bf17ef67f6c 100644 GIT binary patch delta 35 qcmZqYXy@2a$}E_|z{#A+Ajq7>pvs)hpv#;xxsBO^v1sysW)A?2xd=J{ delta 35 qcmZqYXy@2a$}AYoz{#AzAjq7^pvs)YpvxRRxsBO^F>~^MW)A>~H3$R% diff --git a/bin/app/evaluate$12.class b/bin/app/evaluate$12.class index 84ad9834b386062c37556c872225f14703501879..a477cc03c75ee613bf612c21fc129b9258be8e80 100644 GIT binary patch delta 908 zcmZ`%OHUI~6#j0fp$`f|d1y!^)kp*u4EV<414~7qm1+?L6uC@qrvuY_n>$k;3#_^@ zF&Y!nojc=3V`3r;B$~K!XN*6>KjF@JI}oD_7w6nF_nhxL=X`VD)&Fb=fBp6GGk_t8 zt?;+@_9U0gv>aD587oPamy8>1>qn*Ih%T8U%FG-pM@Ekj|#IE6C-oF-^qrmIx9DL3^o?lP0f2+rbM zwbR$tf1aQzTM*J6VU8iKl4}Vb#1KK_uwgKpN$Lvev0cRF04`OZ`#Q8?T&ceGy{d#T zj#K~>1P9W|%v4G@M6pPDjyVyeah;$wZy5!P$ze|I4Tnur+sZKlG8aUKAdx84c9gL) zkL?%6W~Ak+o9;f5b9-W<{C6&Q{L7nFYM0eWTve=Bigr(57&kE$K$hTOZOwJvsfnkL zPkO6lC}$De!n9JsDTuW+a~x{25sTWwByMg?dUnHcSuuin+#%3J*(GS(Lt8@6NQ=8!_4jEp9>fAcLqhPpWtNqu zO64#Xu@nF$Xz>{TMMPjASN*PyHa28kYOJJbX^Jk{tlHuqAa*tBp9{T29enD!%~xOh zyDOj2IU9{d^&K4hfZiP(>WvOG&Ftc&7Y;_-y))i4)9k}8E~u~f3hP5c`J)H|+B!no zCYrVT=+Y_})E;0&dx(_w2y-eoqUs_bwSGwAsyYcqaZUL~6)#j2Rc)BIZH&D@h(srM zabp`Z(YrgiSL>vCoucro@G-l%b2A)4?` zrFboCQAa%1+{O_5kC>^c>zkS!er?siKnFuO?l|t6>)ToB7dTybucKRC@+#4T59*Hp zsMaya5VSqdv{z&B9+i9jMzawa#FkqOu{{9BnOld#M${-WfV+cS1RiIO!|sfRG4^ zEFvO@TJa5yVgqer69aVKOPLT@o{K*8lQVq80BM-kNuuQMe0hPyZ&<%D6dgase`}65if{3ZpOOW?rdhaC=aGS zO5zLI7jF;h576KP5>1TH#$Vz;@Wptxc$;L-nK^U5%gik2-gX;be}4Q7U<`c4__oQk zz1vbXdFV z&Q$l<18E##$d(*OG=$=zR2`u)9M^G-FtN}BE4c5H6rI#UCGQCnCvcL%tc&n(jiIOC zwg;+FkM?9(#~Fr9d_{gswn77C6f&q_N=KFK{c~Si3PRB|aSrFBcCvT$0z-@EUhcV5^HY$gz^X2?{T&;y@r`p-1x(v zg+~0ZkkVcwtG(&)ZQsEB<|8yN;|ei$;VN+@Fpq1LyRbl!h+xoJ>>wUDX(q7n3p`Vk AH~;_u literal 2057 zcmaJ?S#uOs6#i~H(4C;1d&F0=;gd zQIa>^py?`k@c0Q6-2yuo+?(!VDZS-KbETn~R3)ybhCJoRkw9N66W`98Tg{6Q^kN5&TM|YPly#BXS(SvVuGdyTp}h2g2m>XFd_3*^qGArDVlaGm+!m zCvdvZajK)QR*Kz8fL8aNZTdl7CUo%*W=yyO+aFPB)fO8bm^(|wEitoDc-$Th&0^lf zT-(qZ;o9)AKxU>=P02-ux^=C#Vy^@O$BM)jZ08*NVKYS{og?`zg?T=`E7YHwub zNaO`^%1JUN)qKp#*p(=fNjAMS-K=q$sta+dNJ$3H|3MeW@j9&M%FI?)U!R`t**7?{ zHd3>Rt6#XMi|^~jBfq1!cpv@6{FeN-Wjs;L@BR~eujZZnfn^-Lk76b})|QnzWXJnP zAK*l$KAkUT?-%<<`*G(1Ugqkz%;^Z92Veolr|2<0N5Am}4jEtKwDA?r8DFDne1mJ$ zo##HA;0Ot?;sW0S6^ypwe#YQ5+*5aP@n`HQ-b3#_yml9t4I+4etIK$M8S+;~($eH_ zaCsMDK3zsr12Le1>}1q1zQuauJM1yOhhzMJqsEUoY5bG{*w%8=20(YXjrR!QeV*+` fm$QM-5BS}M5AjhZbNIZ&TmK6+czu1$y9>_0f^Zhi diff --git a/bin/app/evaluate$14.class b/bin/app/evaluate$14.class index 0c8d69d423664a21be036e653191333a9c29eb39..47696b302ac9e955e40f54938fc2ccb6f21ff91e 100644 GIT binary patch delta 976 zcmaJ=OHUI~7(KUBC@q6v!3PF#To6lr%tBd^>H-xMY_ZacSf9i6whT8_+OjASo#Z~g*E!$$Zsw=>xXt(V_lHjaPT=9P z?^{RvU@E1l(_GTIq-K*`nv8^(e=YU&$|kq6c~j+g;&@qyhg9^1_Q!doDo(L7D`A6E6$gO{l!NR;G*B6zl8HI&>dVu>l!YWa7iG{ zbzCXqW*Ph?S~ny9Su#t=_^mSXt5hgpi1vMGq-z?GTd-U&9vX6y9@VGtokI{muUGYjnP^89?)_@`UBeL4jBLd delta 504 zcmaJ-O-ma=7=C8QxVWU4t{<2~+M!@tQ%DYi;MYOawqmw^M5DD$bxdY;W!+tpRq&)o zd$jA_OFzA-F^UB#^d|m=o(uj1FXC)^>8Uf!JoCKo`#dx6e2D#tYFBp`mjDJ}?rGPL z5{6r{OiPrREtqK)SHolJDR;QNRS|nPJ0uw-lz60G7VMIJ^5h@hr})X_e;wGf;hE{| zb0fG?evhfh5@_7>GR3mszR)lZT?4~J6q9HnP)kO`fs2vy#be zReZ4?#Vqo{c7zq?3A%>N@XdnRoSDM;b?BD`^V|*D4QK21&WhZ(Tqmtz0q<12C1|NT zT5e{tY&m{TD!4Q);Jv)w3q!U;&=&k8tt21ZMmmFZ<7KOHj_w*dQhKl6U&q0i@llN@ z4$wqD;UWEuPWlDC^eaZ_H)QE|EYO3XM}54VhaxA?{sZG@Fj7@C*YNrnQ~F#DZ;oU} z!KmDIGywD%jr0T$XccYr6fZ*EUo~Fhm1H4b#1e?C=8`E`Mp0se{6wH6mnL&WVmL&Y HP{8g1ME`s= diff --git a/bin/app/evaluate$15.class b/bin/app/evaluate$15.class index e2208285f75a425b4515d9866a23c32592468605..30335747157a2b468fe163228113cdfed033f2c8 100644 GIT binary patch delta 821 zcmaJrm~5rP+p> zvjc8$Pr?bD4Equtl~W9j#aYJ-hPkhMrW=@!oyH(T=Z^g-T|*P&`GbY-G|n(IWObce z+|vTbi?Ab$nijaZIF8q?)%|DlYf|pObJMli`b`Qn|^{oh?Tf%oR&h%G_Ri z6L?&4>FT4vT>MVD7IoSyVj8znm|`CxJzJ zxP%e13^`n;wSoM}3Qeycep0ssA6hcN=A~TzM)q5j(Xt-nuVV+ ob<1Y<7B%tUF76R|5*o24a34C^B)u6>qA3y<6%!3kQ%FGh2Lx@;bN~PV delta 1016 zcmZ`&%TLrm82`;qu}~_)BFG|`H4(F*upmBAkcTWFZ-fO!MJ;7m7IxdUTb^Rz>XG!~ z(Zqv^H$1FF665P&P^15aXA{rrw*?GpY%<^1&V2KGd^7#3e#=p|e!O@IpaIKk%Ev>6 zAyc1?3&YmzsA>2Et>M9*6QT08@2ft4&=N^=*3v~XII*|NaoGLJ>|R5}O(Uvzi$w+1 zI3=ToA#Yln(}FS0hy*(gTSSDVq86u}Wlve{S%%!9Dbun;BB@)^M4B)YbqqNzx-MeE z(rnXm(Jr7tMm&o7Ci)mk{%5u-F)^uN0E04`uk7wLgdH3n>`^gecAOn08S^O39_-mB$H>l=sQODn*o#vaVMg^nTffih% z%+QJu#Tl&9dvX)qqh7zaH-%#>DfB9RDWwVvNy4*9 uOd&i!n+TuFU@~T9`UNPDNmMjX%N{IXk+K9o#U&aFfu$X$pL;Ys@c#l^BlGJ3 diff --git a/bin/app/evaluate$16.class b/bin/app/evaluate$16.class index 8693f12f5677a28268a9d07c6302e5e9700f3fb9..06c2de3717cd6a5285063d860453e5e65322d000 100644 GIT binary patch delta 1052 zcmZ`%O-~b16g{u6I53O|MNkNsl8B)w6u;4;h!zl`fKX6W)M5H4g?6S+hfg(SYg{Oq zpWwp8xWPpwnz(Xh{10yYS{Mycx9aT_V%0dwygT#Wx%Zs&?tNLaULwEx@$3bFHr!f~ zU+<_48rp0^=$2~54BgvsCOp))H|SgWzFg(?n<8b*nwm)YBl#%%F1y`S9MVO?&|_M! zSd`I%0}}Q#lufI1sz0vkQGbtaiKs9Y9K<1e##PUb*ekAz+E#{=4owqrVXBs4I@!n3 zCLzF3Vb}4B0tF{<(w6yyw2UsCmC(&l>eN-|Eq_p?W-KGApasfLn#mN*CbkX)bUPCQl z5eCn{?O|{Unw#Hp@+{IsY;~N4)MQwlhzkjG4Au61UTyn|mx}IS3tTkH-S*?+hIDCg z4gL&vHhKQ@PU|j60Dprb{uX8Y9qRdewD1pTS`=40fk87`Cp%u#I66B%?EPL(}K;szP1 zC4`9-)w4)UC0sw-sXmv$B+N=QUKGdO1e&K~7Z$Kc(G4%HOZ3WAEbB1)+@#k9?=QKo B{!ah^ literal 3652 zcmai13wRt=75;B#=}eaCYoWYa%C@$4lcrs(RVk@xNK;9>NnV`S^rS(f`iQrkfBk-jcCGftl@|8-$h{_R*I-fk&txAuuBxv4bTq5}1{% zKdY5HYi-vK&lQ-PnY`81Cy;3O24y37o{1z*OhQA-go%>`v`kZrX4Ho*g+`MgEC0pc70eLv>8&6q@UAGoPqfQMyXtlQD9jnr!vht7W2%9KGSWj zTiGfp>+>}50)aELz6`vwUywm| z$S#c7(r?fA6`B6Zk~^HlQY_Q)Lb7o@oOZ_w0uvcD37j}A!_Bb+fyL8A-BbGWwMRZ$vvF(c`6Wzlo(0_~Gn z4eI5k^mRP!PB)ap(l_yPoGqX$VaZKH0;gm;;}|2bW3yHR=aAw2i06mvWKi(!k`kGL zwIt{HDNSeEdpGBn=b8*qL9^Nl1?foN3Ozpx?NvBWN81#dxI>n`9nwTQs9Te`POJ&c z&veE?*0evdNwv<-*{j-0@0^-9~Y-gadBi082ilh}xqflWl0D|TS} z>9U)S^_8Z;l)-CEY(}041u|U6y7h*8?NCKOZ#o(A#4W@n;?wrB>aa$<7X3OdVEkPj zJ-xYX!7COmmjz~GE4Hx;OIA3d&^WGwxR#RW#f3_Sc@@b;Cf)!`;3P)UUiN*axX$)j zVV=L|xJ=_ynY?-h|6_ym@l|d)P&bCfIwzgPURQXI9Rk&X?ajmLR-DL?x9pOv(vX1LjCy$D`NHsYo zzJjkZ?m{#~ig=_=fVz6?&z&Nfv4BH*o+5`EIy7 zEV)G)1RRh7$4f*>P4yc(25nYC8h)ot+uiPD~T)%7Ld$^6`e~9zjwWDms)+7$$ z2Rgpb^$BQ9+@T0;B!S&tvBL=s+)0dvsDKFh?f9{YpWrU4R$g4T9KtcF2iH^^Isci7 zpW_zY!QVp_N|&09cdllyeZ3etniCT>q@ni@DF00Z}u(rzz3(S|AOLr5i&#{DM# zpe|>oFNb*98Od1#(lPKS4!P$aW)By0ukva$|T&w7n+P8hyTE zPHrwPAHys8bYpaA2mdZ6tI!UkQ9FXU+C5mR-HSEaeORX*MNYdPTe-KMb|!;kNO(2Q z=chm?HdMnEhnP-+OAX`L*guM{u9j4H1wAd}=+>qJ6bAuX9e%6-~*N88=tIhe5!)a zRB&~5kA~{`0KPDW>ki!%dOdc;W!Q!?g--PyMihAMJy#)mDC5 z!7s1E+3GodIrZBL#;?QD)bHuGYIj-c9tJXwL(KEO_?QZgGUU`BxuHOB+VXW33A-a#^T4YXkA`vmvTxB6u7$vnDci|yC%orbGj59%pY`GhC3@u#5mmlR~1O9@?_?e(;fyeo){&!N;tDh(M I+ko_c0oU*xNB{r; diff --git a/bin/app/evaluate$17.class b/bin/app/evaluate$17.class index d4cbd67cba3bf174219142fd2a4222951eb9777c..6cae3f602149e43b9be1246dc1612d472e28853e 100644 GIT binary patch literal 3652 zcmai1dwd*K89g_db~ekTNw@DO+tS)ins%*Lp`@ZANhR$jjomboR>aBXCYg42W|^67 zQxHWfzVQ9FiV7--ib`8HkqADZim3QP@qvnOd_VqEfBN&>nb~v`BIfr?cIVzZ_nz;Z z^L^jVL;tzwJ^;J%Hyw2XO=hW-mB&oGYzA`Ej*E3@0;`Xh$IOYWf827$vK_;I;F*P> zqYzlGBhc(i&ob>n>G^y<*wZB-_6jt1x{e>1PB6&55j+-@H_)aT#!UPQU(kx5vb3!3?{IQYx>NhOkjn;`p$9F z8M5FIGMd^TVARH$z(oSc&MS3uiZum%pFEKOMOrm4QiU>sXAnuRBa5zM6}Uc$op`p6 zXK}CduzQ?9j!DnJ#kfR3SH_b2M+KH=dSZ+r+3~XW1TLk*`El0^x};z5tdcTW0=p^B zQ%jo8bPgQIZOyeLKnE@AC={eEJu`5<5Zd!_xsHxGGI53~yGNygPSCdod7T*(Sd;0A zK~}v#GfB5L<9Cux2VG{e0N?l?m0V`1Gm(6D*o_LVFgnC+TRvp%W7h*`qmBioM-9M1a z7TjXdbeLcU4&gAfuw(|~ijDIwh;u240bHeQm{&-yHt-Ud0!xUbv+Q{cvCHz9VXk-L zyiMa%8N7O@U|<9UyOi%JFnNj`lGw}Yz@zCZLLL*y){->Jm4%3-Fa%X5x+enZsEWmH z0_i1S2_*MW2QyGq={QOw&W#{}BFjy|KbFKOTop-4ATtkfho2mL6aX{9N5JwJ2N0b; zQ+ldKn~OMF7L#zyz;R5lEOQU#^HR`Z+gu@|RR?`#B`tF(I`LWq*Wsl~@NxI}{*rVe z)dg16n61+-mRu(^Sx*CAh8uLee0KaNSVfBlUV&GV0k_N$mPIjApng`$fEr7)*skMM z+YZu1G@ZmrT%|;Qoq^ZmCK_X&g#?v}3rE!%>b*A_coW{t z7Q#|19frTHR+MVtev&9LEY`=9c&mZ8;qB}Pfg9PCE~_3@+Ypj?C*G~&UBnkgIXiv> z?@`&MmlP#7E7vJ*!#Eke$>EiDo1sPDG*kKkKyAw?ogFHOy(lpWE=PdK1tk# zu!$CFi#;<nzesA}P#q94l9Z5+ln9?yxLBhihlpO<~#XYP>l6@g4d$KRg`CXZsvuYHs zwv_)(ND`mJeLC)q{W=c{1D_AoWTFkoi9p5rMFU^L{cQiE?B9+RMk@{_aSmV6@nw$B zP-EahC13*u>~o9Vc96hBn@`*g|l(<57EZck}0P2e#BB=A#8+UKTc$}nwx4yh#4__={!sLPq* z$x&W*#&hPdv=jIho7_`3a^6J*k*$rSoWB#2#<-rd3eL8WO0c*evc)bW+pO*aJ7%p? z8vLJzz?U2Ifmt}(YnI|xp3H|=Hgy6gtC!^MstPbqyPbmV`n*H+%3$1O2{L*dhxa;l zZ&Pw5`lKIR;rao|A@RHn*YN_n01Nq~hfj&-W_7gi>lX4OpxRY}V?qORGnhrXi;-z#-1<;W~rh2no-}75o(F!QKe2 zILC1KvZ$NJzM)C<_O_+^D(G*U#=y{N3{K)j6}-5uzJlRtj1Hy7wR>@7s6J)qC*kz9 zZL8p#Hm!nko2cN#DZJw}uAj!qq126&cuiXcudUz>6}+W#e&W5+#QQ4vKn1r%b6lvN z&)_3dxcv<7Y(0ynv$*Rt?yM&bQ@A@^Hm#k(7dTeI1F5f8@U>IW>#HN*tl+yh;}Z28 zznuDE1=F`L&y;jdP6iXYnx=JWj}|UvfgRS`WplgEfHGfP|LBBF(^B ztq~ivMcAn|k=`#4i9SU z@rahjquK^MrftOI+C_Lm+l0SsoAD2Aix65SRH!vlAy$Zb;Me#KHA>*0_${8GrFPDQ{&!N+tDnE}w+`w50;-Dy AQvd(} delta 781 zcmY*XOHUI~7(I77cKVoD9##a3ToX;SAv6YAAa01FqODe_6~PB%dkcfpJJ`-3-~)8y z!iB+c$MOtpA`FgE9b?FOR;cHskIw73hH(Z>+C|YA zi>3?XnRLp}2P2rk4GohFp+<4kl{#+XmbVtlgr{&vgTc_|{Rp=0(NRFri)n|$CCq4; z_UkL5wkaJZX6gQ_aB^b7VTd11&l>Ya$};41YRsvaa(eJsJ_L&)n@lEoUbv=Zi6vgG z*DO(ROj}A(;jZNVs!R$=CNJ315z>&3x27Ce?&X9GLt;*Y&Cv7@!D7`BWgYiWVF=i+ zFJOn?v{P9kcSwRT%7YtUBrn%%W!tQX z-U#N8V?o1xhSmn}{}=06Y`p)R&t*ya41yuyy$B?{_ULy-!Am{9tVR)5o6xK_+aZFI}Ed4P$7}-gj!+G)yBe+0zFU8LgfI_~10~cSTE4hi-Ca!GYYG50E z+qk}k+glKC5!>yw+@*8_<(BFe+;sv5Di|i$fgqr^BdB(uOYH<#6X;P7;)L4WP_Tc8 qWmf_5VF?dN!$ZQVPh5yW8!1r PW#VTLWfGVy&gKCCVoM3| delta 59 zcmcc5bDw9!0#@1Y44jOA7-Sj$GN>~CW3XiW&)~wuz~IBg$PmT&eezybUtTr_HYRok PUM3C(Q6|pG;%puO{8tT_ diff --git a/bin/app/evaluate$3.class b/bin/app/evaluate$3.class index 103ca40dbb526f101fad695e91b10876bf7d8415..a1da93e9116bc6072cd2186f0778fe52871b996c 100644 GIT binary patch delta 119 zcmWN{y9z-80D$4Ye{w17IfLUeAh+C(TV#?_7OTY@cmcD?q_ZfCl2I8vmWSY*ze{)t z-`h+SkTy?bM8yJAi!3d%vCPgOIb^=;Dk*E^tdqAv*(R~A|7^3c!^$pudmQa^a=_V` Vt3z&%xI5@B z4WbN5vqa`-nrCjv(gGWc?95ya!FOFIVTH6cO4g~`U~2O}TP$p|vcujkM|+&?b9TVh UAvZ_d9rJX;%PAjcmq+UG1M9L9*8l(j diff --git a/bin/app/evaluate$4.class b/bin/app/evaluate$4.class index f0148aef5ca0c9764b0f0ad002aae68a21734669..03f009f060dab3dcf6bd7e85c54384e5c8e38a51 100644 GIT binary patch delta 95 zcmaDZ{9JfLBZsUL11FO^gDjH=gDR6JgC&y}gA0>4gAbDrLll$K?LljfyssPz;7Q+Al diff --git a/bin/app/evaluate$6.class b/bin/app/evaluate$6.class index 3957292891bd003fa0624c020fde9b5ef4930bf4..d4d59043a25abca9fa753818d0645c16bdbefd71 100644 GIT binary patch delta 205 zcmV~$y)Hum0EXf3dj}y$YzB$L&@>&I*jWjSiLHsD7a+X=O}aEObZ9vYeoKXDXf@g( zB`7Kg;TCMttMEL%uopHKg0P?giV7(y&YC7!*9?*7*-(l?GZT!E+fpCf8e~Vq>}r%f zjkB*9WhFRJl0!{U(G*9T<5-KFD9x#sscMBYt#YnS>Z);}FBJ9F6hhGB2*sb)8o~^5$pW{mqAe`HbR2-G9c{IRgLy delta 205 zcmV~$y-Gp>0EXf3dxuC)xHSZw8blg|c3X>DnraIgx`5~c3S18K57Np0j3iMsN>eO~ zqF-^0x`npzDtexN*biF^K^Q5)mO{3bW=C0eHN&3f+1CyH}`(s017Q?xuy t+p~1M%$+y5ca8@~JUY*l<1wCH;>BfN-Q>;he7MV}zv=pyUYt(${sBWLH?sf$ diff --git a/bin/app/evaluate$7.class b/bin/app/evaluate$7.class index cbee3d2deba2f52dbc36033af62de45301858dc8..c4cadd9cd79a60fcf31e13d68a2ff49d3dbfe057 100644 GIT binary patch delta 201 zcmWN{yGud=90lNW&W|F^Ol~el3JwX4fs0EnmmqLzy10l#TSH4zgHv;ZQxLQ|3jP7E z4Xp;{qouc)dPyzq<@)iBQlnJWi^LlU=nio;v8fg^YQt3rIo%_#M(sFq#nJpBU>xqIG6vJ?>5u` delta 201 zcmWN{y(`249LMp`=l#VIamhkX8C)6FEw`{-O5JqRWs$*Vu$T-cv%#d4)u{XdR)cQA zVIWVPr-b9@Io$f{m1L9bW;vaysEs{k*w+vT%2QQ=LlrsFB$ciC^o|!#)XJ$kIa5F9 z8stJbE*teqqtrCcwWhey0=HV?PRrbDl?Scys12U9&9io?>zEhScvYRmUA(!6clYw) w0X{vwWMB4rQC9{oW_JcY WW)B7xW={qOW-kVJX5YyV+2a6X1B=?+2a6zpbKvR diff --git a/bin/app/evaluate.class b/bin/app/evaluate.class index f31f0a84221c6620bc8db06eff236c12ce783253..d0dfa9506e726d06b2aebb765b4bc2b78a282a8c 100644 GIT binary patch literal 13840 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 gf5osJe}S+Ie?71le^ycsFSr_i(ypF literal 14353 zcmb7L34GPX@t@iElK0Ew7YGT0Pf(wV62cJ>1O=pq5G0rYk^pjOd?ddlPu~&W0Ra!J zQt`qIMa2Ve1aBlSYSh-EJ*>U#VXJMeN2}J_+FI?U_Wzyz{eJIALO=gT$?k7=W_EUV zc6MfV^YWL^JWoV()C)dROlGL7tJ+#0iljp+%ST?O@^eD#L*3QM4dGZv^`ZrdP}E{7 zOInF=D6+yzB*XF8^7{Eqyojl^HXci+Lb22e5U`3sSALkumx{+D^Fj%xkqrg(n(g-4 zOha1Zv6K}{Ee*vmz=%RHX^a5K7g-ls8cKBz0B8uU(*Q#Oupk_W0?N zu$8E7T2b)bwBl5zQLUY==dSB+4{MNQT`Juc3dd4O^c1pC+iA6)J1^c1E{5AUtHWLG zmesZ{)Os!?VztnZD)&5)HS5O9$23VE2}$ zx>H@TsFh5HIs`dT$Xi`oI2BKbkicDOS0dh#04U_0z_^DM!YW#eEr>_jEUa@mTJ&TVhLhke zd|n!?$Y{DzFU1IaEw(l+utlF;v5{!5Sr<>I`gh3ib=~2V%}7&dJt&r-O==+s#c&as z4negx-e&bD5kPxmye-@gb?Dz$hQ9gn)^rp~7?K%7%tFSVCT3xYa)hDXn)^}ct7&fs z^HxKCCsXm9a4ejf%jBsX4~_E*BYyJG43mzhX+AoUX=wg78#~ocGijFeigHyp< zzoLYgPBtk>NBQV0{c(@?(_ES*AoEN*T0pQD3&~IOQ>_hhs!7KPNPT~h>3&*hgEW{l zRzMc_2RXq{jW)>XCLJpvP5nV;_-UC9vcja}1mukVAT#~6(gs;$(l`M*vp>j*ep+jT zoNZF2fUN5ea+04yHi%`?cme5P8kR4%u~Vn`sojP-$D}HOi41^&;Lo*T;wDWHnDYj} zK)_u#Ov zguKOux!j~F0(0d67)bdF8)lnHQw8Q)?1_BCTOWlXsfWq+)Ah97M>oKNNq==D1T(*6 z-8tCGCf!IkVOw=rsoF>=i5*r^IbK@`8%j6MHt1%Iug{DPiEzqFOzw(x_~}-<%||=Y zlcTEPO}d@#fF%IYWmYntPPAedA6=P8wkegsQ8U{aDQ2armoICW?Wb#Kmu!){^cK-n z-M;ZFr1u_^?xp)|e)aTVgj{|@8&cJ}4Rn|uFljeE2os#NQX&Hfy29Zi2P}JUFFov| zhcJ=Gx~0tx)vfVpG!$#Ik|sSuk1`cChf`u@%LmRthI-tjCukp-!cc&W0P>K*CW{#` z?Ki21GE9d8c)ryhN=G30c+!H+O*j_GTUjr&WqQh_r|B6OK)}w6r(-|Tl4>cFVGCJEiaj5QmK!=&2&V* z8m)^bVC}2xqFt$t^K{)$-=gozIz1!E-!thI`o7Dhz=D81f7hjONZ8o0cEaTkP5Kf2 z7`q;mgG-Tf3r6KFk#yjwwh}<{(N7!&ua?!bi8X{a;uP`ItMoHr=;v502uMbFfqr4q zFX?rgF&mC)bRKcLtuYkCHjx2D2){DPPeTm)4G1lcCsLh4=(i@lMQ_8_huYeh#^;f! zjYqrUF&rkd^Hjs$Ss-Z8yEqzFTFI1;eh;CDE=R*1;aGbdD(1Lbjo}WP5rf`mB7^<_ zj@L|^a#C0KnQP88=#Na5Yo?tzdCHVC*UX$MjrQ-na=PvWw4Z)Qe-b(Tndu~lO}*Kj z{g%h%L0d%7f9bC&+VwK%6HH>x!sfg99iRO@y>eN3MU z2m4Cs@AOX}{R1nkH?pi*Z9EcBnDj6DH-x#Y4yRa|%~G}#d-r4d!lWPU$4i)rc)4Q3gxXK8kX1yC4+JvgA7L!I$x$PcHr2>fs{oV`ILV(ZGsY?xfa0QTu2 zWAH!9^9B>DT5UgO)8tawzas&-5I)Z)(a=auB-{blO~xJuQ`c%mBEc!aDHB7|-W`ls z?J2vyG1v+yD`D_(rsEx1&J%Guu1c`Y3P#33C&jh31v_tUa8}TfFLabEOe&*c1|Px{ zY>&h@Y@FzfH??3qNNvMLACKyHDlBrHT!RBlCp1{epg1^imXg7k6-;72!LCp;*cOW6 z7kb;`$)w#IkA`EgQSC`TkEBn9l`$q&&`Sm+$sJ-5F&fw&h@>AmDHb2503h+GLZ;h2Ru~H3e+X&;+{;KA!2w z+Qfl9Rw9^=xoZ*>u0?t=i714#=_VaYBMhE_Y38K8KAuhn@hbx1hhdWv&@sIP8qZ$L zLaLJuhLc+AsE$1?*?e*q@NAQY(l8&Nj9sJmR-P4^mkx{jZ!rAS3Hc(JZ!5~dG}zB` zL}~W&JdO2kJ1l*HUJx=BBCG7_}VC#iS zqsfbT2@F8Qigid72@hR&oNn?mZj$35EkO_b5A0$&ECyOdu*%C#UcoCt2QH^2)@RZn z=3^kPBc0g>uYxskts>~HF?lV+5jIkBdtOik*LBI0t{6aWG5Ks!da*{fw!=Mkmujk` zfnaIaQrW0h&<#;#>Do;iDf)q#Pw%H6*xrtc$Oi8?uqSq4PXc-(`sI>H8hlP}EO$@A ztsah0*xuAm@T;{kX3`-tS{Kv&extcVMMA9@BP9x|ZGwyLDy0<+C18KnTfx=!OAQw9 z!I_rmt_@XyD6@p)I!eY}&$RF$<6?^Kp>P7^yShS&(1Azc!}Z@11#}JWhDNV|Ob|P^ zYG+J~rZXGeCWCOFVILjyER1Y2=`dmB0;VN{GqT<$=ds;i;enaB2Zm!|Qncy&& zvrE{Z7r}pB98V+kO$Q@LA;^Fin>1Pmyo71a-~%SCXqPSY2qp|P*z*L=ok%(y45cSw zwUg;2sBeKXI@^DS!Ixo+IdXT0Lhuogp{~R^G5AoTM{;1vAo{>45GcmD8XKrqpLjmL z#xW+YSGcIDH4%>>*Auh+yp3kS)#B^nYVi$BRe7gx&dGANo9!*Qo|lhrggc$@u`bHX zfB1R3ZPIQw=?FR!pM0yyJNY)a&DdRavCz7Rg{|bRTrJK7!WM1tvOMO}E`Gkv%At2J)3H@mRY5z2P++>-++%!l5D)_2f_d@-Chz74v3W84imX+ z+Fj$aLk@0@OTMOHa|KZ;`CrH%xv(gdi)|80rp3 z(@|+YVDgJHOOcIjTbD|H&uWv-Z<+jU!I9`JKV|88-_PIU@B8?bf-|SN6R}jA$v@y9 zA_PcAEDNU1Te%3Uz(3}n`1n=Wr`(ZPFV0*d-G#yGx?8O-$tjuqQ(25*T{vUF4^oHC zNU>qk9L7K7Wf=8f-l;Pf5lp>Q<2Hu6^n&>K4V)MSYAyjE5`cbwov?usvKUQPN8Ac7 z$9eZU8=?Sjnfx}t1LSTC3iX`$l~9@)DIZN;P-GEIWDT7-=$CSi~nHq zhx|vIcw@|p#$(}D5mv1T>vcvX@)jc!sT^c9C-g7iV7Acwiy-|qd)m4HHFkc|HUMs; zo=|E{}aO0IX!LSb5_^je`5*_FlYvU z0ZBQDQ!MKMKtw2JJz}{;RG$^tD?Wq(vLXXg;I4qNJEAe2oEP?~{+m&{*ak9+K(-SG15?s0=k1Kq;94Kg0aW8eS|$Qg|dHq?Yc z$3b*rcTd7PlFp`uEht61^M$psCm!~#Cp?#TU=alUu+6|Ntv#BOiHLK-d zDxB15Mjf=RmbAjH5;e{+6oRQKet1#;%a5VfV8Q*t!k_xZ3zjTvtZA-avbf1m2*{4` zH(0@xWO%hJJI?C160PA@D+mt;i5C%2i>c0*h_%#l{981*p%9g^-%xNL#|V*R`W!12 ztc+TzP?J>0=aFbPRfmum?vltt847Lzm>3sIry#3?GI6e{B0^!POTmU0{$i$z%K~PJ zuL~gvuxjSj8tOczQ~V7fNg&uEjZ6#H7SUKJD2ErOJr1b>pd5G*AE8KBXJ{P`M7hoj zg2eo~$%cYLAL=gw8EjU4@hAtPP=fa_9HdRPUcrT}aGA@4gOKLSDsME^CUrhmS?(e& zJBpt_FoK?Ks0$Hr{6BcMbXFu7OGhQd0=r;zGxk0hwX*Zk(}h@t%deX165+DUUN3bv))FwIeh%T0Af-b#j(E$y&KG2EFO>MHCILF^1A zJMD!$u*bf6b>(F%)HYLHBQ(4MXsGLuRrcrht;AHxU{v2>+Hq(Sa<`K3ogE%-Fx7Th z@PIp!oE2Vb17hE(n~=g#JD{A1ZSvgB!u@BcTV(Wn8>BgxrIsPF5wfc4jK0%Uw-t=; zLN>aZZ>T$PzWOD7pE$5Tf(S8$_)w?bf~^Pk*otV2Vwb7z5@KWAso*3}AuhD$1HM)+ zHXu4f-6Krq(Q|i;T*Km(!oX#^&s6sdT{l>7ap|_y+bAuXI9x=vn`x@w|G$_Pz#3`~ zGI0LEl3qa>3L1gs(($kx<;$w(Jk8)NLp=ne>vs%j&O4P9x}h{vd%Y25Va8$@~kFk~^dZlfh( zYLbq^-HZqCOpZpjrHG30<-?c4b%~M-8(qikl`fIF)FqPSx%DTj*u`Y2jtV>+}qAUVOczS@}(}{}r zLq5es-dC!6>4d62nz;&T{)jN)OebUMuyw9$J9-rl=_k$T8jEI zsWs^SbiSyk3n);8Sp)8Xpb4D|xM5C5JAnHN^|(t#d&v1&iP*hk-5 zW#FfmzLTMstE4GIKd^gVUFGrg(oZw=ntbEm8|A;w(3=i{MroW_{tj9u_R;TFmA_a1 zLHUQh^bz3u=;Kx8f9<8eEuOTGKFiSOllqueRj~4wmG!bW!@fzL3=f$&se*?BA3S}G z-ZCKcaCy~!E-yl_lv%W)HrhmKtl$wEiAMtI&|W^QhexA*v;*uZGd1wx(pJGoWH=~j zs2-CW>sUS3IJA!&Y>aUgJU$0JK?6?$aBd!X3}F`4IfkZchNb~{S_Plr436qdmtHTQ z)WfsTKg*frto|HGUmwrG?B@3JDf_qv|5xz*3@`AWjcSG)GQ2dy%@uqGerI@fhR>2I z&Z^*0j*(W)h=q2mf;+&7)cVUv(9j*up`EMIqG*p+aNI_V4u*#AJhbyPS`ui<3QpT- z$-&UjorktTqiqD*#tJ^)M%y?T8oKk)F4Sn7fwsAVziOjx9t;iLm*(d7HI23vXj?1z z3L9sD6v@piP_)WbV4 z&JHO1Edk*34!wEMdpmmX?BQK#+m#*LR;RnAt%C2#@O^4^VHg2SLUQQj{LY>@2=kO*vm%oa4M>kNEZ>AXUqAq>}Z;W~P7b}Y{QAxT~T}WHh<#d_aPFvM&bh&zr zu2ApLmFiD)wfda4d5Y;8&tY_}=UBSlGmUQWoJ`w2r(3JD5{{`Lcd7JL>d`9zX4>z)k}}?#sMouPp7K6PPkW!GKJPc_Iq$dVdGGg-xqlKX zGS@zHct2)O^p@vC&TucXkjp(A_$i#uiZ^+d@zXemJs9gMeg8Y3U0GyKvB{?1eU@@_I3CuaCZTbM@=_q>1i zf8KclbdJO$wo3jnc|>dQTCD`XzYTxkJGhJeE-sK>2E;3X`92<){Sc43zKb_{uj-iu z?XjJijG$xqXZ&+e91op)jeh}7e+gP9c|WI7ywt}(_A2n31F8$Vu&uTSKoMSq~u?N%<#?}pWMsr&;}W_c$BAlHvp%5J5t(kb7c z=+CR|PjoELVf{<6iYCam2Nw1#fq9qY=h9g`A%M+`&SG?)rfJ~&6a6`-@DujjMg3Ax zeG>vcjp_sHB^nmrp9JJHDW6$GKo4L+h<*-HzlN)-U%(}M9W8I*UEQzf1o|};@;7uU zy-BChZ?Vnap%!|VEIg8l(eEii@6q}6K3>{=K-=gKcq8{A?WB)D^G|s8^=ImZIe3=- zg11h8g^~Ca6h8xnzXRf*`0rm#c*WwU&v_Vq!2$Y`kHC|aO1wsy&WdN_2}&J%adTb7 z&3Jnvn`4=+5ROV2+z5?9XiVdIqEgBO^=YBclovG*cz8?|q2|S?8&xrCMHq9f@}XAD z)9EN>poZ7n^3u!RFxZGico#zI%c?$AvZ_}N>7h3uG5J@MQD(ygZ$=H9ApTQ1S19-q z;yz{6NC&1HFpU!h20o1qb69_v7Qif?Brua)m@x$~lQQavl@7rR0X)kqM}|%9$Sh>Q zD>jB2I9>Tyy8HyOB--orO6lYX;MCy)Yw8& zK9>{_t`-C%V7Q>iWkCamOE+NTAuJb!l0b=zP?xh>{7+oQXyvsOc!)Y7BpaH$(b%f zj{QpnuQX8V;vJvEE6w7Sx_B5UDF{OYLtTXFIfS8EgrP2iGf-~4HbEa280MnS$e|C* zq7M`FtZm?-R0{(cJmV)q^J03dWnyr@9|iAlaHkjcpRQ*jK_|z!VaIvWju*T@??BfW8Y8Z8oc6J z&eM1ezAT=B#|$%Zv3?@1!B65HunKqJMa^EG%a7yn%!_;qZW-s{V406Qx;p-h7x3pu zlNEElI*b>ovD~1h!b;TfV&pNFAU}G#TFXty7B(Y6wp?9`QP>;_VXI` zJfEpv;uiG^htw~5o%)Dd)hFDhz5q93gYK~{gkyt7srS^0>Ll2Y+3J9rg&J&-+NEZr z=AmusJT(V3FTJErQYWKUL|-UYb5SeC%>Sgmf|?I=eomc&nmpaOTGgOdf;l#;d8qj@ zvoWd`wIOOMeP7K-%~WB!N!6iNs&-PFT7cS6^-DTdor>Bp7)9J=J2veGj0vyFvv!|a zxRYA;DY*Zz56gB^nfQp#H{XYk(VmQ2fimipmQyC3a+*_acFL_zxlzj9s#!=tl{5*b zw45^Ol+&DYvr}$$%8gP=)Y7X~HcY5c5}K?;iDOom_O}je)LIE^)LCxuqWeP{&hAI( zf`03u{hhl1oPquORPL~?3z>b!hSMH`7KwXdrb&-a;xBv?N3ZgJI z7y)2knuq;0jSa8C9l$}oQn$l>$hH^aU90=A&!`)97^fwXPxofsf9pZ}Z`b`e!486d zx9-2Up#K5QcZG7x2lM6;5_kzQn=6#8NRF$${h`#u{h^>eJD^C9q1*+>4l6G@`9FuU zz(L?If`43dFH+49bAIv{{8#Z{%m-x_755!0|$Y=;Ph&or~A_ah8ixRE^9|LF?&Nmue=d=(#!S22}* z4c<>lLz$#=j~ z-l-KcMd72i1eT2g%Pz)O-A>$H$L(X7l5oHM~z- z#gVp+ajfEA+<-r;PDj`xE`Avm9rpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H13?fNH zK~z|U#hH0@RP`0dzrVN4%zLwCGD%2c5=f9WAhPeEh(&OrROPhQ zP(dsdcdJ;JQ)&gP)}=z#DsCh|LINQK0trn_m}HX7WVSbNfBoZ47P1i%+J4WOGv~eE z_L=+cy}$c@L-79*Nqhjn==MFJ!T(DU04x9-088Rp1t0>D0cZo6g!ymL^`T4vw*wdk z6FdZ9AAl+V4FCiTz~bjvn#te&q=A-6gTjdiMXhH21^|_bJ2XtAPyiGFy364xUNnE! zWez(}13*)At5#TCb}Sl;Jq+LofaU}=n;54iKIi<94okDM58caLbNM=O3^gcd#W1A5 zI>zY7)+__i2w)xnD}XuxVE}E4rsS=>VHs_)umFHYe+ykyQkDt8ndr*^$OkYSz)1iR z0Ie|HNACemjlc9Ea13RH0V8%{yu=Ldv0718DiV$DRuttO z0JVnEXAH3b>@3UPW9PXi>>Nk62HWEH0b*wt$V<(YAV)m-u{c0K)|D_dab5voFIy5w{%PpAj=95UwDs<=j~eMrA9oTcd41r}u^5oQ z8t{)d?ZEtgiS%N@RaQICcYtkqafg_a>>-O6%(0FieQC#7UDr`qT!zoS+$Tf@f!g@c z8k^hYG>suic=V}lVqJspWdQF3I1V##jftn2zYfjGFJ>qpH&p?3RgZwb1tpTBb-G7JNMeEY9T*|EwW zbzT1efDfim8^C`7S|t;AmL937-nai?ukDd&3@1+4;7naTv_5{=yB~h4{BZDatq_lI zgc*pfF#VbUeQYkW226hwxN|a)>jv)s0{He;VC`1`#{hr2wjXLe=AtNS#PrK2^niWo zjh$k}$x|B3vULC~nx%E%BdS>PMyR$9gdEBk|g7iC$~z0w$R6lqP!9prCI<{04cja z+OsnpiRS-e#dX&9{#VYKLEd@)<9v_Xy_Nv7qG_>6H2N-pg8=^BBYUKu0H!4M57t$> z4(yKu;gJAzV9eisjk{M4N2)iuqtAPv>{UP7^JSqZNzVW%hq?JEiDoCybJg1l9`SY^ zQ}1g;AQ%Dw1lrp0*1I40qcLF>fFnKZ);JdUY~aj2G;Y)=q%{p=V5))R9hazWy59k&4Qjgt&MF=B`Fy2BN_*%$-R|?lBX_ zjyh+aP0zg=uRrV402o4CWC%s=g_*A-U7*Q;-yHgrua)_1$IjhXO}%`ggQiUGoUBaT z^Q&LlUwP}DO{%7TCCh3F0NCyP^}|w9#;jX&H%~~Xp^sOcMpbo9Fd7pI0GtBQ1fUIO z%8PbF$8F^RGKLCGnB2pXtYj9Kl~12JrL#1jJ#8`>H)Shv`x}y4D`j_smKwt?r`6F-ryutTzM%N;%--IotTr zBXfJSC%Ii%vGi&RW)|pEzx>&?OvTBn*)4&#pe)P51iXwymDg$M8WNIZV}(UfUJvQ= z!V0I=6Rwq8_0yp!0G!FB({;gW?Y=;~T4>b$nq(-Nq<-`CUsAY=$2YBCYfnm4YlD%~ z;lSqgzq3B_>gueSwUe*so`%4Xg6KAglTsbp5u_}^$=f^--U!*w2$dCdwl(yD;ze9 zILXS}XAzbiYk=et7&gNo1Qbz;t{s)4(a&^4FPgKxFaQ9$uD@AysPx{$K%gDFB3w_4MU?Fe2ru8Uv-;}5P}!q z*eRc`sXYbYQ<#A$wu5&-7p<9j8S6^Ag`%lh6k|!Fd56P3EX&EKWV%_q3k>fB#h8m3 zh5@;)dA{IpxFhuAsn*hhq-r@FSu^tw-yey^U#{+|4TiaC3}{AR1B z>k%O?z6!InY$M$^ye?NVfKW^jR+Lv(-AxEdm1X%I00Ef3EcI{?%EBy7o3g-baeDfN z?MsY}N7jPnY2o_nTN{f$pICICWAUsP4%`m2tRx95=`>BG=GFkmbLO_+5^RG(5JQ*j zpeV}o=sbE*VIJU|vxg7>DBiGSW6pvb9^=!p1_j+!V$iSG{pSi=AS zp6BnP2p-pUg9ktunhHgQ_-0+#zrqC^)-V8|M?)1#ETX|YU>TBZo-`_J{&f?LZ$JJ3 zz_P9of*|Yw@HWgm%_M%11~bS+4DdXU0sz$@XXJ2ec&Nbb;)i9k$z!L?IrP}#)!mv5 znEn}p>94IYeYWFFV<4gcfML`+ITVOr9As0e6K1(Ncj~&5wR7k9(rmzlY|p_dZIC13Q(7dnZJO(cy`*5^?$BKw(4_@SKg?Zv>rWZZ(O>@|Ns|NwtB!^Pr^;&e zh=0+vZ6z(e_1k^(&Gd+@`gx2i=?+53SP;ZDQGIsW=Fk5QblDMADZW=|_TAvh88zs$ z5IGt`+sRTmaz=ws$pE^QoV1lk%EVbNdwTYSx_uw51@Lft+t&qGFnm;7VsSd|r7h|h zXZ8ZGd&D@m#pQvnsW@A>XTqU}7fI8%e6^@hNPP{?7X1^ts(??) z&^1K~w;Vsfur~XRY~F}Fle0%9C*_WJSsdTp>so)o(yeT0ik%^dQ7Glrof-r|EQM8Mb_u%)D*x5hEY83@%>#Qmk;9}^>O3+HSv zjQ0ss{M)G+GG)oN@~%}}YR0llW?wUmw)OkMaZx1(n-Qoi@e56L&8jTFQB#%l+{*Xf z(|`e)|A#-+*QrrNs)*u|0(kD~2#c_>m>)uam1!)heBWyZ6I%DVR( z@ahIYN;mvuHN&|cyky?89IM-VQ9yM~MWn7u4px;l%CSh55{bN2TbKSxyH$JB1)J>P z+Ue=6J!OY8XY}l}$qT&{J%}31Fd+CF^uY1rvqG@3NfU+FENbvCleQim(7!!{e$I#2 zUwI>C;WxQ*$E78Yo}9$+=iijX)+Pi_6#Ipy2EVE(yCf<4+T5-C{TI6Sket&1Nb!TS z7SfL7hZ(DNG(T*(+nF`e%R1a3go3Wh5ChFx)OV&i-c;YF>&iYc8h&ohw!#xbS@)tv zlu-bxFg$ybg>zm@v-DUBgwmjgRYCYpG1Q{Dzu#YdvDW$zb%z>3ngnSt00000NkvXX Hu0mjfp}8$x literal 0 HcmV?d00001 diff --git a/icons/savepreference.svg b/icons/savepreference.svg new file mode 100644 index 0000000..0b91d0b --- /dev/null +++ b/icons/savepreference.svg @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icons/savepreferencemini.png b/icons/savepreferencemini.png new file mode 100644 index 0000000000000000000000000000000000000000..1cf341da8b153a5ad0fb2c10f9c920ec3dd4bf55 GIT binary patch literal 1553 zcmV+s2JZQZP)SjkZQBvBgkpW2(ef zt??0RYq3TQjTT$2wTU&RwL;ROP=yrm5sWJe>@Lq;*kN{eW_D+%fACP66;1jjlib{M z@9)c;bI(!X|A_#g8e98=9T*FiGr;YvsaY590q~4Lm6U{-0*ywyM^OT_y}$1a$GMLK z5CNzG$m6$20HEG}<0_G{d*M`ge{EG=SldS*vKnHoy?5{wO)(oj+wsACMNzPA*It3+ z+~?wBqu+5lhHP#@_yqt5Kp_Euh>Dw0pa4ZL1&8l#0PIQG**U)S%S#t8imI%xc~$iL zbO0dB0R$9Pe0)sw*-dNL-s=1>IgSz-}N5YVzL0Kn@NWdL3P z3IMnTq1WT__yLd4`-qz&5A|lVE{mvml>^(SMpuDTFb2{ zEHJKEvRHq&{lShdo83c_q$49W`S_fiECv9MR-Nwe>mTe91mPBd+av%4+)^`urNI+4 zDwzlwY`D>4TTxhGj5Hb5yUR*)uGKf3(XuR2uplplqA2+NG9GnWhr4a|5&*XVNCW`L zu0!VutvxOwLNwPkx?83Z9=GUM`5!q6zP&rp+tN02SJzf~XUm(}`3Aj?002g#QO!(C z)l5%LqzQt690-6U2+T-H(%o*qZ{ppaD*%Mi6j@Z_jiT%l$r3+*Www4H&1y}ATSLpD zhZj9VZDq;#YnImzEo-;r6&ekC!=Ym*JN5bqvTXB)I7#whUqz)=lqA0F{S6t{n_D=y zTWA8{2B47F%a%k=%bazQF_@D>%&}2am~PTrl0`uodeB;WxwNa|wTimZ`o^YJmd9PY zGc%@t3Lp*uoG$Kxy|-`O!EdT|IbE(h9M4w)kN|)r3174>bygmuH&1H1aS<9uWy+eD z9U7DT$8;16dMn0McH>Bs?)AQKOGM*>O5$lXt*+C39QNe$`mR0YF`OJ`%w#OX|q>`L?xMCBxO%aQ55jjhlB2Z zYm+cwJDIip+=Za?v!%Rft~NSqUu156KFP4e^T6Jre$ivKw7LguO`bu=kyk#y@^C!% zi~$WO key = nod.getAttributs().keys(); while(key.hasMoreElements()) { + String k = key.nextElement(); - String value = nod.getAttributs().get(k); - String point = "0"; - JCheckBox checkEval = new JCheckBox(); - boolean evaluer = false; - if(value.contains("‽")||value.contains("‼")) { - evaluer=true; - if(value.contains("‽")) { - point = value.substring(value.lastIndexOf("‽")+1,value.length()); - value = value.substring(0,value.lastIndexOf("‽")); - } - if(value.contains("‼")) { - point = value.substring(value.lastIndexOf("‼")+1,value.length()); - value = value.substring(0,value.lastIndexOf("‼")); + if(!listeAttributsAnalyseWriter.isAttributAnalyseWriter(k)) { + String value = nod.getAttributs().get(k); + String point = "0"; + JCheckBox checkEval = new JCheckBox(); + boolean evaluer = false; + if(value.contains("‽")||value.contains("‼")) { + evaluer=true; + if(value.contains("‽")) { + point = value.substring(value.lastIndexOf("‽")+1,value.length()); + value = value.substring(0,value.lastIndexOf("‽")); + } + if(value.contains("‼")) { + point = value.substring(value.lastIndexOf("‼")+1,value.length()); + value = value.substring(0,value.lastIndexOf("‼")); + } } + + JTextField txtFielPoints = new JTextField(point); + txtFielPoints.setColumns(2); + checkEval.setSelected(evaluer); + + Leslabels.add(new JLabel(k)); + Lesvaleurs.add(new JTextField(value)); + Lespoints.add(txtFielPoints); + Lesevaluer.add(checkEval); } - JTextField txtFielPoints = new JTextField(point); - txtFielPoints.setColumns(2); - checkEval.setSelected(evaluer); - - Leslabels.add(new JLabel(k)); - Lesvaleurs.add(new JTextField(value)); - Lespoints.add(txtFielPoints); - Lesevaluer.add(checkEval); } - + //Placement dans le panel des informations for(int i = 0 ; i" + + "h1 {margin-bottom: 0.25cm;font-size: 18pt;font-family:\"Arial\";text-align:center;font-weight: bold;}" + + "h2 {color:red;margin-bottom: 0.25cm;font-size: 18pt;font-family:\"Arial\";text-align:center;font-weight: bold;}" + + "h4 {text-align:left;font-family: \"Arial\"; font-size: 16pt; font-weight: bold; line-height: 110%;}" + + "hr { display: block; margin-top: 0.5em; margin-bottom: 8em; margin-left: 2em; margin-right: 2em; border-style: inset; border-width: 4px;}" + + "spanpablo { float: right; width: 8em; font-size: 250%; font-family: algerian, courier; line-height: 80%; margin-right: 1%; color: red; text-align: center}" + + "p.p1{color:blue;font-family:\"Arial\";font-size: 14pt;margin-bottom: 0cm; margin-top: 0cm; line-height: 0%; background: transparent; margin-left: 0cm; white-space: pre;}" + + "li.p2{color:green;font-family:\"Arial\";font-size: 14pt;margin-bottom: 0cm; margin-top: 0cm; line-height: 0%; background: transparent; margin-left: 0cm; white-space: pre;}" + + "li.p3{color:red;font-family:\"Arial\";font-size: 14pt;margin-bottom: 0cm; margin-top: 0cm; line-height: 0%; background: transparent; margin-left: 0cm; white-space: pre;}" + + + "p.p4{margin-left: 0px; margin-bottom: 0cm; margin-top: 4px; line-height: 115%}" + + ""; + } + +} diff --git a/src/app/create.java b/src/app/create.java index 4ec97b6..21c15ef 100644 --- a/src/app/create.java +++ b/src/app/create.java @@ -5,41 +5,36 @@ import java.awt.Color; import java.awt.Desktop; import java.awt.Dimension; import java.awt.Font; -import java.awt.SystemColor; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.File; import java.io.IOException; +import java.util.ArrayList; import java.util.Enumeration; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.ImageIcon; import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JComboBox; import javax.swing.JEditorPane; import javax.swing.JFileChooser; import javax.swing.JFrame; -import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPopupMenu; import javax.swing.JScrollPane; -import javax.swing.JSeparator; import javax.swing.JSplitPane; -import javax.swing.JTabbedPane; -import javax.swing.JTextField; import javax.swing.JToolBar; import javax.swing.JTree; import javax.swing.KeyStroke; -import javax.swing.SwingConstants; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.tree.DefaultMutableTreeNode; @@ -59,7 +54,6 @@ import cXML.Run; import cXML.node; import java.awt.event.InputEvent; -import javax.swing.tree.DefaultTreeModel; @@ -71,51 +65,7 @@ public class create extends JFrame { private JEditorPane textNodeSelect = new JEditorPane(); private JToolBar toolBar = new JToolBar(); private JMenuBar menuBar = new JMenuBar(); - - - private JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); - - // les éléments de l'évaluation - private JTextField textFieldTitreAvantLeSaut = new JTextField(); - private JComboBox comboBoxAttribut = new JComboBox(); - private JEditorPane editorPaneInformationNode = new JEditorPane(); - private JEditorPane editorPaneInfosAttribut = new JEditorPane(); - private JEditorPane editorPaneInfosNode = new JEditorPane(); - private JCheckBox chckbxEvaluerNode = new JCheckBox("Evaluer un ou des éléments de ce node."); - private JCheckBox chckbxSautApresTitre = new JCheckBox("Insérer un titre puis un saut avant l'évaluation de ce node."); - private JCheckBox chckbxEvaluerPresenceDeCeNode = new JCheckBox("Evaluer la présence de ce node."); - private JTextField textField_NombrePointEvalThisNode = new JTextField(); - private JCheckBox chckbxEvaluerAttribut = new JCheckBox("Evaluer l'attribut"); - private JTextField textField_NombrePointAttribut = new JTextField(); - private JEditorPane editorPaneAttribut = new JEditorPane(); - private JEditorPane editorPaneContenuNode = new JEditorPane(); - private JCheckBox chckbxEvaluerContenuDuNode = new JCheckBox("Evaluer le contenu du node ci-dessous"); - private JTextField textFieldNombrePointContenuNode = new JTextField(); - private JButton btnEtendu = new JButton("→ Tolérance"); - private JButton btnOuExact = new JButton("¦ OU"); - private JButton btnContient = new JButton("{ Contient }"); - private JButton btnColor = new JButton("# Couleur"); - private JButton btnBordure = new JButton("Bordure"); - private String messg = "Valeur de l'attribut - fonctions - évaluateur et point"; - private JLabel lblType = new JLabel(messg); - private JEditorPane editorPaneContenuEnfant = new JEditorPane(); - private JTextField textField_DistanceSimilitude = new JTextField(); - private JTextField textFieldNbrPointContenuEnfant = new JTextField(); - private JCheckBox chckbxEvaluerSimilitude = new JCheckBox("Evaluer le contenu complet avec les nodes enfants (Similitude)"); - private JCheckBox chckbxIgnoreValeurNumerique = new JCheckBox("Ignorer les valeurs numériques"); - private JCheckBox chckbxIgnoreLaCasse = new JCheckBox("Ignore la casse"); - private JCheckBox chckbxIgnoreLesCaracteresSpeciaux = new JCheckBox("Ignore les caractères spéciaux"); - private final JPanel panelStyleStructure = new JPanel(); - private String messg2 = "Le style du paragraphe est : "; - private JLabel lblLeStyleDeParagrapheDuParagraphe = new JLabel(messg2); - private final JLabel lblAttribut_analyseStyle = new JLabel("Sélectionner l'attribut"); - private final JComboBox comboBoxAttribut_analyseStyle = new JComboBox(); - private JCheckBox chckbx_EvaluateStyleDeParagraphe = new JCheckBox("Evaluer le style de paragraphe"); - private JTextField textField_evaluateStyleParagrapheAttributNbrPoint = new JTextField(); - private JEditorPane editorPane_evaluateStyleParagrapheAttribut = new JEditorPane(); - private JLabel lbl_NombrePointAttributEvaluationStyleParagraphe = new JLabel("Nombre point"); - private JScrollPane scrollPane_evaluationAttributStyleParagraphe = new JScrollPane(); /** * Create the application. @@ -142,10 +92,10 @@ public class create extends JFrame { /*Chargement des images*/ - ImageIcon img1 = new ImageIcon(getClass().getResource("/attribut.png") ); - ImageIcon img3 = new ImageIcon(getClass().getResource("/property.png") ); - ImageIcon img4 = new ImageIcon(getClass().getResource("/content.png") ); - ImageIcon img2 = new ImageIcon(getClass().getResource("/structurepage.png") ); +// ImageIcon img1 = new ImageIcon(getClass().getResource("/attribut.png") ); +// ImageIcon img3 = new ImageIcon(getClass().getResource("/property.png") ); +// ImageIcon img4 = new ImageIcon(getClass().getResource("/content.png") ); +// ImageIcon img2 = new ImageIcon(getClass().getResource("/structurepage.png") ); //frame = new JFrame(); @@ -164,24 +114,6 @@ public class create extends JFrame { // Construction et injection de la barre de menu setJMenuBar( this.createMenuBar() ); - tree.setModel(new DefaultTreeModel( - new DefaultMutableTreeNode("Charger un fichier d'analyse") { - { - DefaultMutableTreeNode node_1; - add(new DefaultMutableTreeNode("node fichier")); - node_1 = new DefaultMutableTreeNode("node style"); - node_1.add(new DefaultMutableTreeNode("paragraphe")); - node_1.add(new DefaultMutableTreeNode("caractère")); - add(node_1); - node_1 = new DefaultMutableTreeNode("strcturepage"); - node_1.add(new DefaultMutableTreeNode("page")); - node_1.add(new DefaultMutableTreeNode("page")); - node_1.add(new DefaultMutableTreeNode("page")); - node_1.add(new DefaultMutableTreeNode("page")); - add(node_1); - } - } - )); tree.setVisibleRowCount(30); // Ajoute le menu contextuel de la tree @@ -193,6 +125,10 @@ public class create extends JFrame { this.createPopupMenuTree(null); getContentPane().setLayout(new BorderLayout(2, 2)); contentPane.add( toolBar, BorderLayout.NORTH ); + toolBar.addSeparator(); + + JButton button_2 = toolBar.add( actExit ); + button_2.setHideActionText( true ); // The content of the window if(commandes.fichierAnalyseValide) tree = commandes.tree; @@ -204,260 +140,12 @@ public class create extends JFrame { getContentPane().add(panel, BorderLayout.CENTER); panel.setLayout(null); - tabbedPane.setBounds(816, 10, 600, 785); - panel.add(tabbedPane); - - JPanel panelProperties = new JPanel(); - panelProperties.setLayout(null); - tabbedPane.addTab("Propriétés", img3, panelProperties, null); - - chckbxEvaluerNode.setFont(new Font("Tahoma", Font.BOLD, 12)); - chckbxEvaluerNode.setBounds(6, 144, 285, 23); - panelProperties.add(chckbxEvaluerNode); - - chckbxSautApresTitre.setFont(new Font("Tahoma", Font.BOLD, 12)); - chckbxSautApresTitre.setBounds(6, 342, 461, 23); - panelProperties.add(chckbxSautApresTitre); - - textFieldTitreAvantLeSaut.setFont(new Font("Tahoma", Font.PLAIN, 12)); - textFieldTitreAvantLeSaut.setColumns(10); - textFieldTitreAvantLeSaut.setBounds(10, 395, 536, 33); - panelProperties.add(textFieldTitreAvantLeSaut); - - JLabel lblNewLabel_1 = new JLabel("Texte à insérer avant l'évaluation de ce node. (Si un saut est inséré)"); - lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 12)); - lblNewLabel_1.setBounds(6, 372, 511, 23); - panelProperties.add(lblNewLabel_1); - - chckbxEvaluerPresenceDeCeNode.setFont(new Font("Tahoma", Font.BOLD, 12)); - chckbxEvaluerPresenceDeCeNode.setBounds(6, 458, 226, 23); - panelProperties.add(chckbxEvaluerPresenceDeCeNode); - - JScrollPane scrollPane_1 = new JScrollPane(); - scrollPane_1.setBounds(10, 11, 536, 125); - panelProperties.add(scrollPane_1); - editorPaneInfosNode.setEditable(false); - - - scrollPane_1.setViewportView(editorPaneInfosNode); - editorPaneInfosNode.setText((String) null); - - JScrollPane scrollPane_2 = new JScrollPane(); - scrollPane_2.setBounds(10, 235, 536, 100); - panelProperties.add(scrollPane_2); - - - scrollPane_2.setViewportView(editorPaneInformationNode); - editorPaneInformationNode.setText((String) null); - editorPaneInformationNode.setEditable(false); - - textField_NombrePointEvalThisNode.setText("1"); - textField_NombrePointEvalThisNode.setHorizontalAlignment(SwingConstants.CENTER); - textField_NombrePointEvalThisNode.setFont(new Font("Tahoma", Font.BOLD, 12)); - textField_NombrePointEvalThisNode.setColumns(10); - textField_NombrePointEvalThisNode.setBounds(360, 459, 45, 20); - panelProperties.add(textField_NombrePointEvalThisNode); - - JLabel lblNbrePointsPourEvaluerCeNode = new JLabel("Nbre point"); - lblNbrePointsPourEvaluerCeNode.setFont(new Font("Tahoma", Font.BOLD, 12)); - lblNbrePointsPourEvaluerCeNode.setBounds(271, 462, 79, 14); - panelProperties.add(lblNbrePointsPourEvaluerCeNode); - - JPanel panelAttributs = new JPanel(); - panelAttributs.setLayout(null); - tabbedPane.addTab("Attributs", img1, panelAttributs, null); - comboBoxAttribut.setToolTipText("Les attributs présents dans ce node."); - comboBoxAttribut.setMaximumRowCount(10); - - comboBoxAttribut.setFont(new Font("Tahoma", Font.PLAIN, 14)); - comboBoxAttribut.setBounds(10, 31, 510, 31); - panelAttributs.add(comboBoxAttribut); - - JScrollPane scrollPane_3 = new JScrollPane(); - scrollPane_3.setBounds(10, 201, 536, 135); - panelAttributs.add(scrollPane_3); - - scrollPane_3.setViewportView(editorPaneAttribut); - editorPaneAttribut.setFont(new Font("Tahoma", Font.BOLD, 16)); - - JLabel lblAttribut = new JLabel("Sélectionner l'attribut"); - lblAttribut.setFont(new Font("Tahoma", Font.BOLD, 12)); - lblAttribut.setBounds(10, 11, 149, 22); - panelAttributs.add(lblAttribut); - - textField_NombrePointAttribut.setText("0"); - textField_NombrePointAttribut.setHorizontalAlignment(SwingConstants.CENTER); - textField_NombrePointAttribut.setFont(new Font("Tahoma", Font.BOLD, 12)); - textField_NombrePointAttribut.setColumns(10); - textField_NombrePointAttribut.setBounds(114, 126, 57, 31); - panelAttributs.add(textField_NombrePointAttribut); - - JLabel lblNewLabel = new JLabel("Nombre point"); - lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 12)); - lblNewLabel.setBounds(16, 134, 94, 14); - panelAttributs.add(lblNewLabel); - - chckbxEvaluerAttribut.setFont(new Font("Tahoma", Font.BOLD, 14)); - chckbxEvaluerAttribut.setBounds(10, 97, 269, 23); - panelAttributs.add(chckbxEvaluerAttribut); - - JLabel lblAvertissement = new JLabel(""); - lblAvertissement.setVerticalAlignment(SwingConstants.TOP); - lblAvertissement.setForeground(Color.RED); - lblAvertissement.setBounds(153, 11, 393, 22); - panelAttributs.add(lblAvertissement); - - lblType.setVerticalAlignment(SwingConstants.TOP); - lblType.setHorizontalAlignment(SwingConstants.LEFT); - lblType.setBounds(10, 168, 547, 22); - panelAttributs.add(lblType); - - JScrollPane scrollPane_3_1 = new JScrollPane(); - scrollPane_3_1.setBounds(10, 389, 536, 323); - panelAttributs.add(scrollPane_3_1); - - scrollPane_3_1.setViewportView(editorPaneInfosAttribut); - - btnEtendu.setBounds(10, 347, 100, 31); - panelAttributs.add(btnEtendu); - - btnOuExact.setBounds(120, 347, 90, 30); - panelAttributs.add(btnOuExact); - - btnContient.setBounds(220, 347, 100, 30); - panelAttributs.add(btnContient); - - btnColor.setBounds(330, 347, 90, 30); - panelAttributs.add(btnColor); - - btnBordure.setBounds(430, 347, 90, 30); - panelAttributs.add(btnBordure); - - JPanel panelContenu = new JPanel(); - panelContenu.setLayout(null); - tabbedPane.addTab("Contenu", img4, panelContenu, null); - - JScrollPane scrollPane = new JScrollPane(); - scrollPane.setBounds(10, 67, 530, 86); - panelContenu.add(scrollPane); - editorPaneContenuNode.setEditable(false); - - scrollPane.setViewportView(editorPaneContenuNode); - - chckbxEvaluerContenuDuNode.setFont(new Font("Tahoma", Font.BOLD, 12)); - chckbxEvaluerContenuDuNode.setBounds(6, 25, 304, 23); - panelContenu.add(chckbxEvaluerContenuDuNode); - - JLabel lblNbrPointContenuNode = new JLabel("Nbre point contenu node"); - lblNbrPointContenuNode.setFont(new Font("Tahoma", Font.BOLD, 12)); - lblNbrPointContenuNode.setBounds(316, 27, 155, 19); - panelContenu.add(lblNbrPointContenuNode); - - textFieldNombrePointContenuNode.setText("0"); - textFieldNombrePointContenuNode.setHorizontalAlignment(SwingConstants.CENTER); - textFieldNombrePointContenuNode.setFont(new Font("Tahoma", Font.BOLD, 12)); - textFieldNombrePointContenuNode.setColumns(10); - textFieldNombrePointContenuNode.setBounds(481, 22, 59, 30); - panelContenu.add(textFieldNombrePointContenuNode); - - JScrollPane scrollPane_4 = new JScrollPane(); - scrollPane_4.setBounds(10, 258, 530, 242); - panelContenu.add(scrollPane_4); - editorPaneContenuEnfant.setEditable(false); - scrollPane_4.setViewportView(editorPaneContenuEnfant); - - JLabel lblNbrePointContenu = new JLabel("Nbre point contenu complet avec ceux des nodes enfants"); - lblNbrePointContenu.setFont(new Font("Tahoma", Font.BOLD, 12)); - lblNbrePointContenu.setBounds(10, 222, 389, 19); - panelContenu.add(lblNbrePointContenu); - textFieldNbrPointContenuEnfant.setToolTipText("Nombre de point si le contenu est similaire
(distance Levenshtein inférieure ou égale)"); - - textFieldNbrPointContenuEnfant.setText("0"); - textFieldNbrPointContenuEnfant.setHorizontalAlignment(SwingConstants.CENTER); - textFieldNbrPointContenuEnfant.setFont(new Font("Tahoma", Font.BOLD, 12)); - textFieldNbrPointContenuEnfant.setColumns(10); - textFieldNbrPointContenuEnfant.setBounds(481, 217, 59, 30); - panelContenu.add(textFieldNbrPointContenuEnfant); - textField_DistanceSimilitude.setToolTipText("Distance de Levenshtein"); - - textField_DistanceSimilitude.setHorizontalAlignment(SwingConstants.CENTER); - textField_DistanceSimilitude.setText("2"); - textField_DistanceSimilitude.setBounds(490, 183, 50, 23); - panelContenu.add(textField_DistanceSimilitude); - textField_DistanceSimilitude.setColumns(10); - chckbxEvaluerSimilitude.setToolTipText("Comparaison des différents mots du contenu."); - - chckbxEvaluerSimilitude.setFont(new Font("Tahoma", Font.BOLD, 12)); - chckbxEvaluerSimilitude.setBounds(10, 182, 474, 23); - panelContenu.add(chckbxEvaluerSimilitude); - - chckbxIgnoreValeurNumerique.setToolTipText("Le texte sera nettoyé de toutes les valeurs numériques
avant la comparaison avec le fichier de l'étudiant."); - chckbxIgnoreValeurNumerique.setFont(new Font("Tahoma", Font.BOLD, 12)); - chckbxIgnoreValeurNumerique.setBounds(10, 532, 285, 23); - panelContenu.add(chckbxIgnoreValeurNumerique); - - JSeparator separator = new JSeparator(); - separator.setForeground(SystemColor.activeCaption); - separator.setBounds(10, 164, 530, 11); - panelContenu.add(separator); - - chckbxIgnoreLaCasse.setFont(new Font("Tahoma", Font.BOLD, 12)); - chckbxIgnoreLaCasse.setBounds(10, 568, 228, 23); - panelContenu.add(chckbxIgnoreLaCasse); - - JSeparator separator_1 = new JSeparator(); - separator_1.setForeground(SystemColor.activeCaption); - separator_1.setBounds(10, 511, 530, 2); - panelContenu.add(separator_1); - - chckbxIgnoreLesCaracteresSpeciaux.setFont(new Font("Tahoma", Font.BOLD, 12)); - chckbxIgnoreLesCaracteresSpeciaux.setBounds(302, 533, 238, 23); - panelContenu.add(chckbxIgnoreLesCaracteresSpeciaux); - - tabbedPane.addTab("Style", img2, panelStyleStructure, null); - panelStyleStructure.setLayout(null); - lblAttribut_analyseStyle.setBounds(10, 96, 135, 15); - lblAttribut_analyseStyle.setFont(new Font("Tahoma", Font.BOLD, 12)); - - panelStyleStructure.add(lblAttribut_analyseStyle); - comboBoxAttribut_analyseStyle.setToolTipText("Les attributs présents dans ce node."); - comboBoxAttribut_analyseStyle.setMaximumRowCount(10); - comboBoxAttribut_analyseStyle.setFont(new Font("Tahoma", Font.PLAIN, 14)); - comboBoxAttribut_analyseStyle.setBounds(10, 122, 519, 31); - - panelStyleStructure.add(comboBoxAttribut_analyseStyle); - - lblLeStyleDeParagrapheDuParagraphe.setHorizontalAlignment(SwingConstants.LEFT); - lblLeStyleDeParagrapheDuParagraphe.setVerticalAlignment(SwingConstants.TOP); - lblLeStyleDeParagrapheDuParagraphe.setBounds(10, 11, 536, 24); - panelStyleStructure.add(lblLeStyleDeParagrapheDuParagraphe); - chckbx_EvaluateStyleDeParagraphe.setFont(new Font("Tahoma", Font.BOLD, 14)); - - chckbx_EvaluateStyleDeParagraphe.setBounds(6, 42, 540, 23); - panelStyleStructure.add(chckbx_EvaluateStyleDeParagraphe); - - scrollPane_evaluationAttributStyleParagraphe.setBounds(10, 192, 519, 97); - panelStyleStructure.add(scrollPane_evaluationAttributStyleParagraphe); - - scrollPane_evaluationAttributStyleParagraphe.setViewportView(editorPane_evaluateStyleParagrapheAttribut); - - lbl_NombrePointAttributEvaluationStyleParagraphe.setFont(new Font("Tahoma", Font.BOLD, 12)); - lbl_NombrePointAttributEvaluationStyleParagraphe.setBounds(10, 164, 94, 14); - panelStyleStructure.add(lbl_NombrePointAttributEvaluationStyleParagraphe); - - textField_evaluateStyleParagrapheAttributNbrPoint.setText("0"); - textField_evaluateStyleParagrapheAttributNbrPoint.setHorizontalAlignment(SwingConstants.CENTER); - textField_evaluateStyleParagrapheAttributNbrPoint.setFont(new Font("Tahoma", Font.BOLD, 12)); - textField_evaluateStyleParagrapheAttributNbrPoint.setColumns(10); - textField_evaluateStyleParagrapheAttributNbrPoint.setBounds(114, 156, 57, 31); - panelStyleStructure.add(textField_evaluateStyleParagrapheAttributNbrPoint); - JScrollPane leftScrollPane = new JScrollPane( ); leftScrollPane.setPreferredSize( new Dimension( 200, 0 ) ); JScrollPane rightScrollPane = new JScrollPane( ); JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftScrollPane, rightScrollPane ); - splitPane.setBounds(10, 10, 800, 783); + splitPane.setBounds(10, 10, 1364, 783); panel.add(splitPane); rightScrollPane.setViewportView(textNodeSelect); textNodeSelect.setFont(new Font("Monospaced", Font.PLAIN, 15)); @@ -515,50 +203,64 @@ public class create extends JFrame { sb.append("

Nom du node : " + nod.getNomElt() + "


"); sb.append("
"); + + if(nod.getAttributs().size()>0) { + if(nod.getAttributs().size()==1) sb.append("

ATTRIBUT DU NODE

"); + if(nod.getAttributs().size()>1) sb.append("

ATTRIBUTS DU NODE

"); + } Enumeration key = nod.getAttributs().keys(); - if(nod.getAttributs().size()>0) sb.append("

Attribut(s)

"); - sb.append("
    "); + List Lesattributsdunode = new ArrayList(); while(key.hasMoreElements()) { - String k = key.nextElement(); -// boolean ecrit =false; - if(nod.getAttributs().get("evaluer")!=null) { - if(nod.getAttributs().get("evaluer").equals("true")) { - - sb.append("
  • " + k + "=\"" + nod.getAttributs().get(k)+"\"
  • "); - -// switch(k) { -// case ("evalContenu"): -// sb.append("
  • " + k + "=\"" + nod.getAttributs().get(k)+"\"
  • "); -// ecrit=true; -// break; -// case("evaluer"): -// sb.append("
  • " + k + "=\"" + nod.getAttributs().get(k)+"\"
  • "); -// ecrit=true; -// break; -// } -// -// if(nod.getAttributs().get(k).contains("‽") && !ecrit) { -// sb.append("
  • " + k + "=\"" + nod.getAttributs().get(k)+"\"
  • "); -// ecrit=true; -// }else { -// sb.append("
  • " + k + "=\"" + nod.getAttributs().get(k)+"\"
  • "); -// ecrit=true; -// } - - }else { - sb.append("
  • " + k + "=\"" + nod.getAttributs().get(k)+"\"
  • "); - if(nod.getAttributs().get(k).contains("‽")) sb.append("
  • " + k + "=\"" + nod.getAttributs().get(k)+"\"
  • "); + String K = key.nextElement(); + Lesattributsdunode.add(K); + } + //permet le tri par ordre alphabétique des clés du dictionnaire + Lesattributsdunode = Lesattributsdunode.stream().sorted().collect(Collectors.toList()); + + if(nod.getAttributs().get("evaluer")!=null) if(nod.getAttributs().get("evaluer").equalsIgnoreCase("true")) { + sb.append("
    "); + sb.append("
      "); + sb.append("
    • Les attributs d'analyseWriter
    • "); + for(int i=0; i < Lesattributsdunode.size();i++) { + if(listeAttributsAnalyseWriter.isAttributAnalyseWriter(Lesattributsdunode.get(i))) { + sb.append("
    • " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
    • "); } } - - - if(nod.getAttributs().get("evaluer")==null) { - sb.append("
    • " + k + "=\"" + nod.getAttributs().get(k)+"\"
    • "); + sb.append("
    "); + sb.append("
    "); + sb.append("
      "); + sb.append("
    • Les attributs de Writer
    • "); + for(int i=0; i < Lesattributsdunode.size();i++) { + if(!listeAttributsAnalyseWriter.isAttributAnalyseWriter(Lesattributsdunode.get(i))) { + sb.append("
    • " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
    • "); + } } - - + sb.append("
    "); } - sb.append("
"); + + if(nod.getAttributs().get("evaluer")!=null) if(!nod.getAttributs().get("evaluer").equalsIgnoreCase("true")) { + sb.append("
"); + sb.append("
    "); + sb.append("
  • Les attributs d'analyseWriter
  • "); + for(int i=0; i < Lesattributsdunode.size();i++) { + if(listeAttributsAnalyseWriter.isAttributAnalyseWriter(Lesattributsdunode.get(i))) { + sb.append("
  • " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + } + } + sb.append("
"); + sb.append("
"); + sb.append("
    "); + sb.append("
  • Les attributs de Writer
  • "); + for(int i=0; i < Lesattributsdunode.size();i++) { + if(!listeAttributsAnalyseWriter.isAttributAnalyseWriter(Lesattributsdunode.get(i))) { + sb.append("
  • " + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"
  • "); + } + } + sb.append("
"); + } + + + if(!nod.retourneLesContenusEnfants("").trim().isEmpty()) { sb.append("

Contenu


" + nod.retourneLesContenusEnfants("") ); @@ -567,9 +269,10 @@ public class create extends JFrame { textNodeSelect.setText(""+sb.toString()+""); createPopupMenuTree(nod); - + } } - } + + /** @@ -722,7 +425,6 @@ public class create extends JFrame { // Définition du menu déroulant "Edit" et de son contenu JMenu mnuExercice = new JMenu( "Création évaluation" ); mnuExercice.setMnemonic( 'N' ); - mnuExercice.add(actConfiguration); mnuExercice.add(actEvaluer); menuBar.add(mnuExercice); @@ -761,7 +463,7 @@ public class create extends JFrame { toolBar.addSeparator(); - + JButton btnAbout = toolBar.add( actAbout ); btnAbout.setIcon(new ImageIcon(create.class.getResource("/resources/apropos.png"))); btnAbout.setHideActionText( true ); @@ -773,11 +475,6 @@ public class create extends JFrame { toolBar.add(btnDocumentation); toolBar.addSeparator(); - - toolBar.add( actExit ).setHideActionText( true ); - toolBar.addSeparator(); - - toolBar.add( actConfiguration ); JButton button = toolBar.add( actEvaluer ); button.setIcon(new ImageIcon(create.class.getResource("/resources/evaluate.png"))); @@ -1697,30 +1394,7 @@ public class create extends JFrame { }; - /** - * - */ - private AbstractAction actConfiguration = new AbstractAction() { - - private static final long serialVersionUID = 1L; - - { - putValue( Action.NAME, "Configuration" ); - putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/configuration.png") ) ); - putValue( Action.MNEMONIC_KEY, KeyEvent.VK_W ); - putValue( Action.SHORT_DESCRIPTION, "Configurer le fichier pour l'évaluation" ); - putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_W, KeyEvent.ALT_DOWN_MASK) ); - } - - @Override public void actionPerformed( ActionEvent e ) { - if(commandes.fichierAnalyseValide) { - - }else { - JOptionPane.showMessageDialog(null, "Charger un fichier Writer (.odt) ou un fichier d'évaluaton (.xml)."); - } - System.out.println( "Configuration" ); - } - }; + /** diff --git a/src/app/evaluate.java b/src/app/evaluate.java index 331486f..999db7a 100644 --- a/src/app/evaluate.java +++ b/src/app/evaluate.java @@ -73,7 +73,7 @@ public class evaluate extends JFrame { private JCheckBox chckbxVerif; private JCheckBox chckbxNewLogo; private JEditorPane txtpnmessages; - public JProgressBar progressBarre; + /** @@ -175,9 +175,6 @@ public class evaluate extends JFrame { JScrollPane scrollPane = new JScrollPane(); panelCentre.add(scrollPane); - progressBarre = new JProgressBar(); - progressBarre.setEnabled(true); - panelCentre.add(progressBarre, BorderLayout.NORTH); txtpnmessages = new JEditorPane(); txtpnmessages.setFont(new Font("Tahoma", Font.PLAIN, 14)); @@ -192,22 +189,7 @@ public class evaluate extends JFrame { } - - - private void Pro() { -// progressBarre = new JProgressBar(); - progressBarre.setMaximum(100000000); - progressBarre.setStringPainted(true); - for(int i = 0 ; i < 1000; i++) { - progressBarre.setValue(i); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - } + private void createMenu() { @@ -421,7 +403,6 @@ public class evaluate extends JFrame { text.append("\nFichier d'analyse :"); text.append("\n"+commandes.PathFilenameAnalysis+"\n"); - progressBarre.setVisible(false); txtpnmessages.setText(text.toString()); } @@ -434,67 +415,93 @@ public class evaluate extends JFrame { } + private AbstractAction actEvaluate = new AbstractAction() { + + private static final long serialVersionUID = 1L; + + { + putValue(Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/evaluate.png"))); + putValue( Action.NAME, "Evaluer les fichiers" ); + putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/evaluatemini.png")) ); + putValue( Action.MNEMONIC_KEY, KeyEvent.VK_E ); + putValue( Action.SHORT_DESCRIPTION, "Evaluer les fichiers (CTRL+E)" ); + putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, InputEvent.CTRL_DOWN_MASK) ); + } + @Override + public void actionPerformed(ActionEvent e) { +// Thread t1 = new Thread(new ProgressBar()); + + Thread t2 = new Thread(new evaluerLesFichiersEtudiants(chckbxfichiersEtudaints.isSelected(), chckbxZipfeedback.isSelected(),chckbxnoFeedback.isSelected(), + chckbxNoNote.isSelected(), chckCSVNotes.isSelected(), chckbxNewLogo.isSelected(), chckbxNoLogo.isSelected(), chckbxVerif.isSelected(), txtpnmessages)); + +// t1.start(); + t2.start(); + +// evaluerLesFichiersEtudiants E = new evaluerLesFichiersEtudiants(chckbxfichiersEtudaints.isSelected(), chckbxZipfeedback.isSelected(),chckbxnoFeedback.isSelected(), +// chckbxNoNote.isSelected(), chckCSVNotes.isSelected(), chckbxNewLogo.isSelected(), chckbxNoLogo.isSelected(), chckbxVerif.isSelected(), txtpnmessages); +// +// E.run(); + + } + }; /** * Evaluer et analayser les fichiers des étudiants */ - private AbstractAction actEvaluate = new AbstractAction() { - - private static final long serialVersionUID = 1L; - - { - putValue(Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/evaluate.png"))); - putValue( Action.NAME, "Evaluer les fichiers" ); - putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/evaluatemini.png")) ); - putValue( Action.MNEMONIC_KEY, KeyEvent.VK_E ); - putValue( Action.SHORT_DESCRIPTION, "Evaluer les fichiers (CTRL+E)" ); - putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, InputEvent.CTRL_DOWN_MASK) ); - } - - @Override - public void actionPerformed( ActionEvent e ) { - if(commandes.fichierAnalyseValide) { -// JOptionPane.showMessageDialog(null, "Je boss", "Je travaille", JOptionPane.PLAIN_MESSAGE, null); -// new msgBox("Je travaille dure.",true,false,"Attendez"); - - - - - evaluerLesFichiersEtudiants E = new evaluerLesFichiersEtudiants(chckbxfichiersEtudaints.isSelected(), chckbxZipfeedback.isSelected(),chckbxnoFeedback.isSelected(), - chckbxNoNote.isSelected(), chckCSVNotes.isSelected(), chckbxNewLogo.isSelected(), chckbxNoLogo.isSelected(), chckbxVerif.isSelected(), - progressBarre, txtpnmessages); - - E.run(); - - - - - - - - - -// try { -// t1.join(); -// t2.join(); -// -// } catch (InterruptedException e1) { -// // TODO Auto-generated catch block -// e1.printStackTrace(); -// } - - - - - }else { - txtpnmessages.setText("*** Veuillez charger un fichier d'analyse ***"); - new msgBox("Le fichier d'analyse n'est pas valide.",true,false,"Avertissement"); - } - } - }; +// private AbstractAction actEvaluate = new AbstractAction() { +// +// private static final long serialVersionUID = 1L; +// +// { +// putValue(Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/evaluate.png"))); +// putValue( Action.NAME, "Evaluer les fichiers" ); +// putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/evaluatemini.png")) ); +// putValue( Action.MNEMONIC_KEY, KeyEvent.VK_E ); +// putValue( Action.SHORT_DESCRIPTION, "Evaluer les fichiers (CTRL+E)" ); +// putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, InputEvent.CTRL_DOWN_MASK) ); +// } +// +// @Override +// public void actionPerformed( ActionEvent e ) { +// if(commandes.fichierAnalyseValide) { +//// JOptionPane.showMessageDialog(null, "Je boss", "Je travaille", JOptionPane.PLAIN_MESSAGE, null); +//// new msgBox("Je travaille dure.",true,false,"Attendez"); +// +// +// +// +// evaluerLesFichiersEtudiants E = new evaluerLesFichiersEtudiants(chckbxfichiersEtudaints.isSelected(), chckbxZipfeedback.isSelected(),chckbxnoFeedback.isSelected(), +// chckbxNoNote.isSelected(), chckCSVNotes.isSelected(), chckbxNewLogo.isSelected(), chckbxNoLogo.isSelected(), chckbxVerif.isSelected(), txtpnmessages); +// +// E.run(); +// +// +// +// +// +// +// +// +// +//// try { +//// t1.join(); +//// t2.join(); +//// +//// } catch (InterruptedException e1) { +//// // TODO Auto-generated catch block +//// e1.printStackTrace(); +//// } +// +// +// }else { +// txtpnmessages.setText("*** Veuillez charger un fichier d'analyse ***"); +// new msgBox("Le fichier d'analyse n'est pas valide.",true,false,"Avertissement"); +// } +// } +// }; /** @@ -856,23 +863,52 @@ public class evaluate extends JFrame { } }; - private AbstractAction actSaveas = new AbstractAction() { - - private static final long serialVersionUID = 1L; - - { - putValue( Action.NAME, "Enregistrer la zone de texte sous ..." ); - putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/saveasmini.png"))); - putValue( Action.SHORT_DESCRIPTION, "Enregistrer la zone de texte sous ..." ); - } - - @Override public void actionPerformed( ActionEvent e ) { - - - - } - }; + + + private AbstractAction actSaveas = new AbstractAction() { + + private static final long serialVersionUID = 1L; + + { + putValue( Action.NAME, "Enregistrer la zone de texte sous ..." ); + putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/saveasmini.png"))); + putValue( Action.SHORT_DESCRIPTION, "Enregistrer la zone de texte sous ..." ); + } + + @Override public void actionPerformed( ActionEvent e ) { + + + + } + }; + /** + * + */ + private AbstractAction actSavePreference = new AbstractAction() { + + private static final long serialVersionUID = 1L; + + { + putValue( Action.NAME, "Enregistrer prefrences" ); + putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/savepreferencemini.png")) ); + putValue( Action.LARGE_ICON_KEY, new ImageIcon(create.class.getResource("/resources/savepreference.png")) ); + putValue( Action.MNEMONIC_KEY, KeyEvent.VK_W ); + putValue( Action.SHORT_DESCRIPTION, "Enregistrer prefrences" ); + putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_W, KeyEvent.ALT_DOWN_MASK) ); + } + + @Override public void actionPerformed( ActionEvent e ) { + if(commandes.fichierAnalyseValide) { + + }else { + JOptionPane.showMessageDialog(null, "Charger un fichier Writer (.odt) ou un fichier d'évaluaton (.xml)."); + } + System.out.println( "Configuration" ); + } + }; + + /** * Affiche la fenêtre d'information sur analyseWriter */ diff --git a/src/app/evaluerLesFichiersEtudiants.java b/src/app/evaluerLesFichiersEtudiants.java index bacc50d..9a7fa9f 100644 --- a/src/app/evaluerLesFichiersEtudiants.java +++ b/src/app/evaluerLesFichiersEtudiants.java @@ -3,7 +3,6 @@ package app; import java.io.IOException; import javax.swing.JEditorPane; -import javax.swing.JProgressBar; import javax.xml.parsers.ParserConfigurationException; import org.xml.sax.SAXException; @@ -18,12 +17,11 @@ import net.lingala.zip4j.exception.ZipException; public class evaluerLesFichiersEtudiants implements Runnable{ - private final JProgressBar progressBarre; private final JEditorPane txt; public evaluerLesFichiersEtudiants(boolean listeEtudiantCSV, boolean zipfeedback, boolean nofeedback, boolean nonote - , boolean notedansunCSV, boolean newlogo, boolean nologo, boolean verifhisto2uniquement, JProgressBar progressBar, JEditorPane txt) { + , boolean notedansunCSV, boolean newlogo, boolean nologo, boolean verifhisto2uniquement, JEditorPane txt) { commandes.analyse=true; @@ -35,8 +33,8 @@ public class evaluerLesFichiersEtudiants implements Runnable{ if(newlogo) commandes.newLogo=true; if(nologo) commandes.noLogo = true; if(verifhisto2uniquement) commandes.verifHisto2 = true; - this.progressBarre=progressBar; this.txt=txt; +// this.txt.setContentType("text/html"); } @@ -77,9 +75,6 @@ public class evaluerLesFichiersEtudiants implements Runnable{ //***************************************** int nbFichierWriter = a.getLectDossiers().getEC().getListeContentWriter().size(); commandes.analyse_Nbre_Fichier_Student = nbFichierWriter; - progressBarre.setMaximum(nbFichierWriter); - progressBarre.setVisible(true); - progressBarre.setStringPainted(true); commandes.message.append("\nNombre de fichier à analyser et évaluer : " + Integer.valueOf(nbFichierWriter) + "\n"); @@ -92,11 +87,14 @@ public class evaluerLesFichiersEtudiants implements Runnable{ verification.setNomElt("verification"); verification.getAttributs().put("nombre_fichier", String.valueOf(a.getLectDossiers().getEC().getListeFichierodt().size())); for(int i = 0 ; i < nbFichierWriter ; i++) { + txt.setText("\nChargement de l'historique du fichier n° " + String.valueOf(i) +" par comparaison avec les "+ String.valueOf(nbFichierWriter-1) + " autres fichiers"); node nod = Run.XMLContent(a.getLectDossiers().getEC().getListeContentWriter().get(i)); node nodStudent = meptl.LectureFichierEtudiantPourVerification(nod,a,i); verification.getNodes().add(nodStudent); } //a.ecritureNodeEnXML(verification, "VerificationHistorique","",false); //écriture du node de l'étudiant + txt.setText("\nRecherche des concordances temporelles et d'auteur dans l'historique des modifications des " + nbFichierWriter + " fichiers." + + "\nPatientez, cela peut prendre quelques secondes ou minutes."); verif = meptl.verificationHistorique(verification, a); // vérification des correspondances entre les fichiers //******************************** @@ -126,8 +124,7 @@ public class evaluerLesFichiersEtudiants implements Runnable{ //** Parcours l'ensemble des fichiers des étudiants *** //***************************************************** for(int i = 0 ; i < nbFichierWriter ; i++) { - progressBarre.setValue(i); - txt.setText(String.valueOf(i) +"/"+ String.valueOf(nbFichierWriter-1)); + txt.setText("\nEvaluation du fichier n° " + String.valueOf(i) +"/"+ String.valueOf(nbFichierWriter-1) + " fichier(s)"); //index de l'étudiant commandes.analyse_index_Fichier_Student = i; diff --git a/src/app/listeAttributsAnalyseWriter.java b/src/app/listeAttributsAnalyseWriter.java new file mode 100644 index 0000000..d438dbe --- /dev/null +++ b/src/app/listeAttributsAnalyseWriter.java @@ -0,0 +1,34 @@ +package app; + +public class listeAttributsAnalyseWriter { + + public listeAttributsAnalyseWriter() { + + } + + public static boolean isAttributAnalyseWriter(String attribut) { + + if(attribut.equals("evaluer")) return true; + if(attribut.equals("addmenu")) return true; + if(attribut.equals("saut")) return true; + if(attribut.equals("titre")) return true; + if(attribut.equals("titre1")) return true; + if(attribut.equals("titre2")) return true; + if(attribut.equals("titre3")) return true; + if(attribut.equals("poids")) return true; + if(attribut.equals("analyseStyle")) return true; + if(attribut.equals("allContent")) return true; + if(attribut.equals("index")) return true; + if(attribut.equals("recherche_index")) return true; + if(attribut.equals("recherche_contenu_exact")) return true; + if(attribut.equals("evalNameNode")) return true; + if(attribut.equals("styletitre")) return true; + if(attribut.equals("evalNameCreator")) return true; + if(attribut.equals("evalNameInitialCreator")) return true; + if(attribut.equals("evalNameInitialCreator")) return true; + if(attribut.equals("recherche_anchor-page-number")) return true; + + return false; + } + +} diff --git a/src/app/savePreferences.java b/src/app/savePreferences.java new file mode 100644 index 0000000..a16cdf7 --- /dev/null +++ b/src/app/savePreferences.java @@ -0,0 +1,14 @@ +package app; + +import javax.swing.JEditorPane; + +public class savePreferences { + private JEditorPane txt; + + savePreferences(JEditorPane txt){ + this.txt=txt; + + } + + +} diff --git a/src/resources/savepreference.png b/src/resources/savepreference.png new file mode 100644 index 0000000000000000000000000000000000000000..a605973477dce39e4cc724480d5f3d19e20110df GIT binary patch literal 3221 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 Hu0mjfp}8$x literal 0 HcmV?d00001 diff --git a/src/resources/savepreferencemini.png b/src/resources/savepreferencemini.png new file mode 100644 index 0000000000000000000000000000000000000000..1cf341da8b153a5ad0fb2c10f9c920ec3dd4bf55 GIT binary patch literal 1553 zcmV+s2JZQZP)SjkZQBvBgkpW2(ef zt??0RYq3TQjTT$2wTU&RwL;ROP=yrm5sWJe>@Lq;*kN{eW_D+%fACP66;1jjlib{M z@9)c;bI(!X|A_#g8e98=9T*FiGr;YvsaY590q~4Lm6U{-0*ywyM^OT_y}$1a$GMLK z5CNzG$m6$20HEG}<0_G{d*M`ge{EG=SldS*vKnHoy?5{wO)(oj+wsACMNzPA*It3+ z+~?wBqu+5lhHP#@_yqt5Kp_Euh>Dw0pa4ZL1&8l#0PIQG**U)S%S#t8imI%xc~$iL zbO0dB0R$9Pe0)sw*-dNL-s=1>IgSz-}N5YVzL0Kn@NWdL3P z3IMnTq1WT__yLd4`-qz&5A|lVE{mvml>^(SMpuDTFb2{ zEHJKEvRHq&{lShdo83c_q$49W`S_fiECv9MR-Nwe>mTe91mPBd+av%4+)^`urNI+4 zDwzlwY`D>4TTxhGj5Hb5yUR*)uGKf3(XuR2uplplqA2+NG9GnWhr4a|5&*XVNCW`L zu0!VutvxOwLNwPkx?83Z9=GUM`5!q6zP&rp+tN02SJzf~XUm(}`3Aj?002g#QO!(C z)l5%LqzQt690-6U2+T-H(%o*qZ{ppaD*%Mi6j@Z_jiT%l$r3+*Www4H&1y}ATSLpD zhZj9VZDq;#YnImzEo-;r6&ekC!=Ym*JN5bqvTXB)I7#whUqz)=lqA0F{S6t{n_D=y zTWA8{2B47F%a%k=%bazQF_@D>%&}2am~PTrl0`uodeB;WxwNa|wTimZ`o^YJmd9PY zGc%@t3Lp*uoG$Kxy|-`O!EdT|IbE(h9M4w)kN|)r3174>bygmuH&1H1aS<9uWy+eD z9U7DT$8;16dMn0McH>Bs?)AQKOGM*>O5$lXt*+C39QNe$`mR0YF`OJ`%w#OX|q>`L?xMCBxO%aQ55jjhlB2Z zYm+cwJDIip+=Za?v!%Rft~NSqUu156KFP4e^T6Jre$ivKw7LguO`bu=kyk#y@^C!% zi~$WO