From d28b503c49ddbf9f614e94ffdaa74c38a7567116 Mon Sep 17 00:00:00 2001 From: deadlocker8 <deadlocker@gmx.de> Date: Tue, 26 Jul 2016 21:39:37 +0200 Subject: [PATCH] made it usable in other projects, add some comments --- bin/application/Controller$1.class | Bin 1271 -> 0 bytes bin/application/Controller.class | Bin 4869 -> 0 bytes bin/application/Main.class | Bin 1741 -> 0 bytes bin/commandLine/CommandLine.class | Bin 0 -> 3951 bytes bin/commandLine/CommandLineController$1.class | Bin 0 -> 1368 bytes bin/commandLine/CommandLineController.class | Bin 0 -> 4786 bytes .../commandLine/CommandLineGUI.fxml | 2 +- .../commandLine}/_de.properties | 5 +- bin/commands/Command.class | Bin 1167 -> 891 bytes bin/commands/CommandBundle.class | Bin 0 -> 909 bytes bin/commands/CommandClear.class | Bin 1119 -> 1248 bytes bin/commands/CommandHelp.class | Bin 1666 -> 1987 bytes bin/commands/CommandList$1.class | Bin 1042 -> 1042 bytes bin/commands/CommandList.class | Bin 1789 -> 1909 bytes bin/commands/HistoryEntry.class | Bin 1002 -> 1002 bytes bin/commands/PossibleCommands.class | Bin 801 -> 801 bytes bin/test/Main$1.class | Bin 0 -> 1233 bytes bin/test/Main$2.class | Bin 0 -> 981 bytes bin/test/Main.class | Bin 0 -> 2320 bytes src/application/Main.java | 43 ------ src/commandLine/CommandLine.java | 133 ++++++++++++++++++ .../CommandLineController.java} | 76 +++++----- .../commandLine/CommandLineGUI.fxml | 2 +- .../commandLine}/_de.properties | 9 +- src/commands/Command.java | 15 +- src/commands/CommandBundle.java | 42 ++++++ src/commands/CommandClear.java | 19 +-- src/commands/CommandHelp.java | 26 +++- src/commands/CommandList.java | 15 +- src/commands/HistoryEntry.java | 5 + src/commands/HistoryType.java | 2 +- src/commands/PossibleCommands.java | 10 +- src/test/Main.java | 82 +++++++++++ 33 files changed, 363 insertions(+), 123 deletions(-) delete mode 100644 bin/application/Controller$1.class delete mode 100644 bin/application/Controller.class delete mode 100644 bin/application/Main.class create mode 100644 bin/commandLine/CommandLine.class create mode 100644 bin/commandLine/CommandLineController$1.class create mode 100644 bin/commandLine/CommandLineController.class rename src/application/MainGUI.fxml => bin/commandLine/CommandLineGUI.fxml (93%) rename {src/application => bin/commandLine}/_de.properties (81%) create mode 100644 bin/commands/CommandBundle.class create mode 100644 bin/test/Main$1.class create mode 100644 bin/test/Main$2.class create mode 100644 bin/test/Main.class delete mode 100644 src/application/Main.java create mode 100644 src/commandLine/CommandLine.java rename src/{application/Controller.java => commandLine/CommandLineController.java} (61%) rename bin/application/MainGUI.fxml => src/commandLine/CommandLineGUI.fxml (93%) rename {bin/application => src/commandLine}/_de.properties (75%) create mode 100644 src/commands/CommandBundle.java create mode 100644 src/test/Main.java diff --git a/bin/application/Controller$1.class b/bin/application/Controller$1.class deleted file mode 100644 index 9443f57368164992a75c52bf12b88f549fcef31f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1271 zcmX^0Z`VEs1_l!bH+BXlMh1z*f`XjP<iwK9{5*Z<{JfH){G6QBA{9e+1{OvJfvm)` zME#t^ymWp4q^#8B5_SeQMg~ccXj+ASYFTPtiM}g{^hnH0$w@6@WMC`F$ShVdU}TW+ z!EUlOBLkaFW?p8A9V3IZ1};UKVT=qc&iN^+oD7T%ygUr-3>;hx%nbZI44e!Cj10^g zAO-wBnR%&xrMXF|MInhvIjM{cLO%J)i8*13MVTNzRFDPaBt`})9CoP~f}E5A_5dS; zf`$*&cg4x6d8zuDc?G2<`rfIPU~gJ$hH)`SFi5d8NHQ`=<59@NAk84d$iSYSS_1L~ zBZHiVCJuu^^46RTatsRW4DyT&QrJxesp4T!WKd#cV0HBiaSdW*kilml7lRyw3J-%S zgBl|PTWVoxVoot5gDAvv$PsF-8O6n*!Jx&?pvlM}hCRx77_=F<7#TPclao`6i&YFj zj@9L1&;vP!DKr42-++g~5Lt~ONR2TMg9%6tn`^MMV}L72of!{<IVb{ol5<iMi=6ZG zit|D7#tKeKj100kyaWk+Mh4#ClEma}-^2oF)QUqqgqjw?k;KSg%flebAjZhR6`WsM zl$`3839^VEk;L^t0nNz38JwA(msnC-l*-891GXL|c)%j4=0nrE4NMAaLb0=EWZ-wr zOU}tJ&df{qO)bgDPvK#30r{N;l=>MNcs%p+Qj45(5{rvdiy0Ic7#Wxu7#Ua@7zG4C z$(@0Lfti7Ufs=uYfsuimfq}t-fr){Mfq{WbOM5E=kJfeuzKskF3``7yATh8ENVgV) z5Ca1P4+A4uRG2}8fq{V$6cA8Tra(=x)!xP+zKKD08-wyp1}?2F3_Lp+)FEOz$YS~s zF(ZW7HU?9W#mr!f<rvr*7#Q>!co_^CL>NpM6dBAIG#D%yOc|^hY#408ju8Vp&Xxh< z7zPGg1`7sD21W)e1_lOJ24)dqVF5=5Q3h+M3pJrG<kZqWz#y@W!3Ja-#G7njZ!v;R m1qB5QgB>^s>=_)uv?GHP0|NsKg9d{$gDW@y7{NLi7#INZ+#~q_ diff --git a/bin/application/Controller.class b/bin/application/Controller.class deleted file mode 100644 index abdd41f6c449844cf366c2927e5ce7fed4ffb582..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4869 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 O89-eiMutEJFaQAfJC)4< diff --git a/bin/application/Main.class b/bin/application/Main.class deleted file mode 100644 index b5b3eedf81bec76ca1d9917dcdd2460e72266410..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1741 zcmX^0Z`VEs1_l#`5_SeAMh1bzf`XjP<iwK9{5*Z%#LPT)1{OvJxva#p#Iy>1WJyPa zLPiEQo6Nk-5<5l)W)00SMg|t={FGEK24)6M9tKthHbw@1pUk{eztY^K)S{5Yq?}Yn z1|gsP<iwn?#G*_PA1cUFl95>ql0&u#<O*v>2G-(|#G(>L25}7^sB4N#64O)lgF&RV zW*9qzAR~hqR4T0^H%H$s!q>+qKQSe>h>Jm(L6n_Agpol2q(DC>F)v-;KPf9UxrB#7 zj6s}{fg?SpIixR{YaSVI$R14I>A(3*oml97Q2<P!H#Pd$+7Tny3-vg`~pj12q; zBf*M!7~~k_85y|KQ%izUi}Op1l2aKOlpwB#m>FDBl$n=q4YejOwM0KO$j6$CL4ZLK z6kbY<41!SQFgeXIkgN(1gDQg>BLhoLeqstEg9wU4A>OfOXV73|5C%CZtwO&zIW;d; zKOnIvHLrx7L5q<=2t^_oB+cf~bbtW_xEM4U^g#COGcrg)>_;=g+QkLr5JLuIb_OFP z!$2_ri3c7A69!X82A*QD-!rQ~am&cSq7kJT#=&6D$iVHKpPQSQmjX%-TnvT`mOKnr z4AzVc9L1?6A(<thgdqyC8a1TCK#Fa780;AAA&S9HM@bAIzvzR7tu@2g9P%ANeqsRW zbLL@iVQ_`G$~QC5BQ-NUqXgtC7m&hAusX0pPaXy@kV5X_)Dqv!yztDFk_=F|`|vRM zg2J5_lt}XPN{aGxa#D-f8T=U;#E?^}GhB{~!H*%3harf8AL?9C5P<|kco;%K8G;3r zUqFrv=V6Ed3lwMMmvb>hF~qPlL_=c`5(cgn$*BdP{K&%)3sT8nP?VWh5?qp)oE=h> z2ufU_tdX9|$RGkvx1dM^SqF&`Yeoh(P;yBvVq}nj$%7IwQueTBWMC=E&o5zQ5QV8g zPC4Mr2MS(f8$f($a5FM+CBuCVvITpXSTiy(roya1^O`jy125P|zKI2}vLH7xGmnu$ zOd}fXCWwY$XwC`aVqj#*<6+2W$N~8;u{19^gOPzHu_zssfwAadWZ()0XGOP6P$J_5 zWo123W?)ccU}RthrvYXLMo?+Rz{tSPz`&r-z{tSJz`($&wVi=uBLf2i69X3m0|Oga zkduL%fq{Vs%w}caVc=z8U|?k6W8jBqX4Gb2XJBJsV949eAP}jwjX_9AVjF|hb_NAs zoox)t2N=}-b~9*3>WVOEi!f+!XVA4`(Pr7kV4y8zwvE9;TaslPgAGJLgu!7OgOj!h zgWEO+51nlc-Uk@`tXL&kwYM<@NV0BY2-e=l5Vo9w17vRGMzDKQ88R567?{DXbz=}@ zU|<kn5M&T!kYo^M&}0y0&|?r|Fkuj9uwsy4uxF5DaAS~S@MVx;2xE|Ch+&XpNMw*_ zNM%r9$Y4-p$YfAv$YoFk`_=;-EO}7hGBD&Z#4*G(Ffs@-gfJv9Br-5DNHX{^Brzm2 zFf(W}*f69pq%yEDgfZ|lq%ov3urg#aurOpWWHK-@WHB%>a56A`XUJe@h+<*jWXNX7 qfdm|bF+9|FFytaaor{5qfq_AjfrUW}>=sza7cdlpL%s+cKg9s80FMs< diff --git a/bin/commandLine/CommandLine.class b/bin/commandLine/CommandLine.class new file mode 100644 index 0000000000000000000000000000000000000000..9c81c321ce78cc0accd66fcc29f07531d8bf0ca9 GIT binary patch literal 3951 zcmX^0Z`VEs1_l#`Q|t^(j11z*`MJ4?c_}`bd8zu&2sS$d3nPO-R$^JAeokUuy1su> zR%&tyBLi!Gd0uJ}BZG(!NG`2HzqlkZJyky#L|QX4aO9<ygV~G>ESbsqd5jEFaD~aK zd8zuDxgh19AkvzVfe&PMX<~Y+Q)ymGPAW{berZW&j($*Taeir0GE~l*k%2coCqF4M z$0M`2B)_PVkwFw}G(@puQBh*0PiAq6H6sIOaAta5Vo7OHDkFm)HZ?XrP+u48Lk)Ay zD=Dh9wzFnr5Xea^E(y-aFVBO91|tKbCnE!U2FzBjf};G~f|8KbiV{W!A&BuHZ|Db? z6lLb6gWTzypI2Oxm{$^(m{Xd{!644az-(t{$H>5z1ofr_!U0fQAOT>_$iQZknU`5& z$H<VZ0X7>gh~Z)wp$V3O1O{5j;j&CKjFExGIX@+pi-DOzj)y^tL7tI;Swl07ok5Y2 zK^PRl5cA-H%f+C;AjiqT$e_Z*z{9``VyW>k2rvkOSQ<PGLJ%=69tL3s5s;V;4+AR$ z8;GUH!@$A731S)WFmN$&gIGp93=#~Ij12ss)aO^4o0M7<l9&Wa2SPsi$%#2(iA9+p zK2(sUBqOt!kwFsXACNBOGz$uPXv9K-laYZVJ+;Iil48X)G{HfH7N8I{;4}+zk_`_7 zI|Cad1ABUEi6=M#%OL5)2y{jU;q=rJA8?W>&qpK~W(`eGP=ZY@2|!9MB2c3sSqh$B z1i?n+r6Xqqn5~cqK#NdD2F~=<5||&QG&Er$QVa_Yh@3Se1AlQwemOLafx?TCK?ahp zP~6}G22r2{!R1<!oLW$lnV(n8&fpD82ATQ#p8jwdE(Tu)e|82xMg}2JB0&vN9)<vh zKt=}6%wkY3%FIg#r>Q7*hG0epF{tviirgH1w+LS!pZvs>)FM#&3*})5V+e=DhI3A0 zaWNx<FiLQN1+6(4A{iMJ^r6uV@)69-Ahvs`ryj^`E{14^SayaOMh1S6jS#<r4d7vj zV~A&D;7(61fdwifgA$e?fg~3Fywno?&>$acE`}h6L{Jt<Vq_46Du>BwhJj>Lco<R{ z(ij<7a`F>X7#UFG8d7{(vomBsLlhKd;M5e5Sd^Mq0t!(%c7|-E5CzKygGerhEQVZ= z-Js$WVmF$0YZn)gBYYVOco+&9iWnI<ic?F#dKnqS(R6@?ts%-wco<3<$`~1ViowB= zSp~{%j0`LqQ4skG9)?PWDu{6*nI)i{DGD(T5~RV9A`hathKHe+p$-)Dd6}?GCjn6n zaxSQb&=1edOUW;X+TOs!(8$ol$iQ8kTH>3T7oM3?k^!<D>X#NChE|X?$Z@`zc^;{m z=@}(#`#&&%0Vu>ec^JAtDp-nBOCmr5Jv<D(Fo8%8hJHqdY~8d9-K50gR4av|^dt>a z104kj*0ffDNF`^d7v-1crQlGIoS#=xl%J!UnU|MZq??q8P!2ZG&_G84f;FwV7}6Og z@-R$-g;;P&Wlk!{SyOlzrZP-}q;1dS{JdgD232U<POH#Q&d<q7O$O&UegCB5)S@y_ zEP(4WZiX2Qv)CDCGBPNF(lK7eJPflL<}flaC#Iw@GN8l~H1TOhfs*Mw9)|g#WXhYK zTH*}xTTW^bJHtXo21OjX3ZaaPVFANp9)=|hOF{K}US<inIKiRKS~HB3VL8J}c7_#< z45Co?Lz)Y|`6-DxnI)Ax467JcGcvIF`TMytGKiy=&oD*Spdeh!!?2EFJtG4TsCI<O zFfvG?r7xHaG=**CVb}z!)L1~JAR_~72_y}(mP3*nqYEPgTLw5?F*0!E!jm9pE-bk* zGH@2;7iWSZCjyBb$;iNxl30|@$iNuI$iM|Eav&ucBZCCY6CgpPGR~Tjfu$%vzXaB7 z0c8nL=GKQ40HC@nFSQ&I)Qk+uuu>gVvLTmp2t^=W!6k{w*}jPd&`MGuIVZn36{*Ar zh2Ak9hU1`cU<FGuGH?ZhTUKtFpd2lLq*xCWO$>?*j10^S3=EtMOrYwUfq{VuR4amM z4hBvz&BegYz`(!=Y6dVcGVp=L_!$^MjRCN@5CbogxDcp8z`)2L3RWk^zyzxJ85kJ2 z7#JC(7^E2(8Dtn37&bC6Gq5r+Fj#ACXOPv}&7csuok3|UgR&OORt8lBUtLQ`Y%7DN zmiAT#Z7rRx47ysnTN(7VBw4mH7;XexV9db4pvAz&z`&r$z``KSz|SDVAi^NaAkQGj zpvs`kpv9oVpwFPnV8WorV8x)$U;=ItgRN#TWiSI5FxFtNGlHB0YPm2lfmtALgM!AI z!JI*ofrWvQ!GggO>U@0$Mh1|2R;?`z+8f{wVFL?lgDv3!vss~*Ffv$S)ohKf*#N6% zTLwEUHtV8mHpQyhp1}c&X4N%l&bGp;*^$8ss#zE6XJ#QWbbIZQv@*ke?9AW-)ruTk z`skWnkTfHL%ay?mi)KS~&7N2_yEAw&Ffn*CFo2`Y3zXs*KQM4G2r)1)Jl5L6V10~% z4@7Na@R`ZLvT-*<P^8v2h7h5MZ46P{84|4cCHc28Bp+Z%w-V6W&EOlkogs58gEdIU zZicK#NdXNBmhB8V+ZggeLM+=Dib1sYHimK#4N4N*7^*=`3ASwv^<W0aHil*iE)j;d z=`$I4z#?4R7&;_)kVSa5F?5Ua&1B$`6cFm$#xOx^3xn=41`&|zZ48q^yqyfwnHa)B zj+=XcVS$yPq@dO|hD9I+n;4dDV^{-XZDZH~${EZIpq!D$Aj!bM;K#tu5WpbF5X2zF z5XPXw5W%3w5XoT45XIob5X}(65W^6|5X+Fx5YJG+kibyMkjT))kj&7{kjgNHA)R3^ zLl(m#h8%{K4EYQj7z!B<GL$f!W+-L2$WYF3o1uc?5kn<75~>(@K*0-*eg=le44WB5 zz?tAN!xo0E;9T{XVH?9%1{Sco?F?HP*ubnE3|kpEz^t7NTfuqxF~cr~tx)rJGwfmD zV^Cq(&#;$a9|J#w9>Z3K{R{^f1Q<>;NH82^IK&{xaF~ICfuDg@=r2PBJ3|mVL%JZh zI0GZY5e9i^B8q?}UP(|8!2{K2CIc5pU>n0xM3@PI-B-)N&QQ-F$k50j!O#NsA0$Id VLj4D_k(q%}f`O6Y1UMs|1OO`OtRDaX literal 0 HcmV?d00001 diff --git a/bin/commandLine/CommandLineController$1.class b/bin/commandLine/CommandLineController$1.class new file mode 100644 index 0000000000000000000000000000000000000000..880eccbdc686b23d4d6337cda0c8fa6005ac990d GIT binary patch literal 1368 zcmX^0Z`VEs1_l!bcXkFQMh4~N{M_8cycD0zyi|Q>1lu`3ucRnHCnvQ?#gLtWg^@uZ zE3qt5KPNFSUEe<`D>b=<oq>&!K@udIR-vC-mYP?h?+PM467y1WQi~WF*h(@oi&YF5 z8I*kpT4K$}z-E(~msw)R$e^Y{gnG>|Mg|t={FGEq21W*69tL&>4lV{}27Vp}P6h!+ z24)SA0)CLM{7Q3^Qj0<olX6lS8H9ZDlM{2o5{oiHe5fD`$f1l3s)VgoF$6g@1MEXa z1_cctsP~JLQ}a^wGxG{cOZ2@{E5YGltr^C}Ai*HT&LGLiAdN>M4}&y=3?l=3dTI&C zLyQb^8k#r^2FY7<GRQF~urtUrGDu-J6{L!XL6Jd;k%86KFT^#7kwFHZfm{r73@SVf zstjt33~Z@|rHMJkj0~a>&mqUSwPq9-g9d{ZJA)=8gCfB=<zdif;9_LpNK8&nEiP6u z0J&S2hd~eIE~d}`kWmIa42H;R3_)s)c^FJUYS>(ZogD*QLF&wS7|cP@%9EUvnpotV zpI4j@icMB<vSVbB#o;?hJTNlw2A3ozXZt1=KqFin;y2WE3yv>F23sBmQ3f$a2Cm@z z(xT*4w@i>lQdo0_9w_)3890M8)AJHbN{dn%8GOJlK?yXl2&z@kEMfzb!kT>StQi^j zUGtK2@{2R`(tT4)GV)V+7+e@!85vkWIfaoy24_aG2Bm%;&%C_UBIlgM;^Nd|1_cI2 z24)6E237_}0Rd2UVPIfjW?*38WZ+_8WZ-6CV6b3dVqjumVBpfy-patEwVi=)BLf2i z6N4Z~3@iiEt;Qh4z`(%6zz7x<W)NXuU|<9V8Pt?1P*ZHRw=sxsVvya&pgfa-OKS@Q z&khE4h?owtm_9_z2qCtO!4zaMGuUD|26hGp25kmj23-ab1_K5~1|tRy22%!826F}* z21~GG#K4ZTWq>$_fx(u+g29r3k->_Afq|8QSwvV^z>z_e!5Zp9O{fbwwX_c~NNi)U x0oexeCL7pWj9^niLBYac2Mz*z1_v<h$l%1lz`(+w!Qjl`1`Ys5unq<W1^@$SM?(Mr literal 0 HcmV?d00001 diff --git a/bin/commandLine/CommandLineController.class b/bin/commandLine/CommandLineController.class new file mode 100644 index 0000000000000000000000000000000000000000..599d4ef1c027c4c82ded9c8f7daf005973c1b040 GIT binary patch literal 4786 zcmX^0Z`VEs1_l#`pX>}wj0}p&`MJ4?c_}`bd8zu&2)1*6UP)1YPEKkOI|B<NgFsed zS)zVUVqUtwe^ORzatR{?e@SXZNn%lIqDN+NNq$i!BZIsTNL5;eesOYYUaEdF#0dS6 z)QS?vqSQodMh3~C(!7$)+|;nl;>@I+RL8u${F20y%>2A!Mg}36?zD>B9DTP4Umt5m z20oA_X_=`xDV})+r6r6E3NTfecDR9*Su-+lBYBCDLDC0_i|j*dMg}&U%)HDJJ4Oa( z4b3n{1{UZ1lvFMTW(GkX23`g}Mh1RRsQ8uUCZ!gIBqrsgf*hHjoR|}qSd<CkLj_q% zGBS%98I*C^ga}J(Mg|s;m5dBB8n{$jYld+$FfvH;FmN;Qa4|?T$g(rYFfxea@CFZq z9D_U~17~__iBoA_3doUC8k#V}i(x*7$XRnSC^9IsGbk}Kh(XOmQ^CWa!l25?z+0SJ zf^aq?gBnifB2-yxhJl=`&cmR=pvlM}n4VhVlbDxYnwXvnu^r@VO>q3_mzHGa=m(`1 z=a&{GLuJ8k)8=8&VbEn{5G=;jEUSTAFC@(Lc^Ft3*ti%B8I0K(j2IbY@uo)}1``HT zMh5QU)DqW}%o0$9GBU7eM1j0v$Y9RHU;&d3FG?%`rD9OLSn)7$GH|go*f26ELxT{M zN?_p(Vk3e?#gL1^n!yf~oK(3O92lI~85|iI<ZwC*oP>E8oEcmg8TgA+OZ@Y^Q!4|C zQj3dIQy3ZKAOVn8p`TionpdLl3L-rcL6Ker4tz!iHy#FeP|D>lD9X$$2`I|XEhyn) zU}W&*VekTp^FiXZI6o&9<ROrh4-bPcNQx&pCpEFiIX@31$;iM8Hi3~r6k;hP?+2F@ zW#*-WQ>ZjUAP++jLog!)dj_lk5Jie0$D*RdN}tT)5^HvbP(}t(Xjm2NLyHU7ypp0y zPKI!XNOpz@Mg|dd`H;$jR33&XhG<3xc3;=vU`KaXMg}oNx`rA9QfAG?5W)}(3gkFO z25opsg<Azy192L-1cUp6iy?s_iJc*lkwF*~C6H7JcQ_A2GD8X@19M_Z3R*Bgia=}4 zC`JbM+|=UY#B^}c05${J21W*caG*ln>XV<&!H~(wzyM02**pw64E~G^?8T`ipr~ME zfJ6XPEy!ttpd^zGA_{pJiokJHlv-GtT3q6mpIllDio6mYhI9r#c7`%W261%jok}xv zQc{b!7)lugLB>_`FjO&AGcquzr<Q;`<O$7-U>8HZ1PaMo9)>!GdPWBJ^wbhi&@nPd zAQvc52ZCg*LGjnf!_WkdC1-zMUq?R|E{1T179NIHP}s4h7M3RF6mu}NGcqu8fn3tb z!_dXh&B(x(SWu9fm%_-Pi!FU&L>AO9)}R8WmxrN`p`Vd~H$4@a!Xe=&qJiuoXe4tm zOk`wWQ~>#FG7rNPkUp@#QY%V8VKR+}VLHPMMh2GR%&JsyJ>Us)<t!eC*&wAHCHW9@ zxESU#%x7nqhf)(lq<9z>fJ|V^NzF?y$pA&|A|8gt3`-apcnk82GeNbRb7B!F$XPTz zLDdXXaT2In!Vz88j0^(cte2YNlUQ5=&L)fuj8TjXjG2rKjGmx$Qd(4$ng^2-$H)_4 zJ=Tm2yul@j$=SY%1<-nmFSQ~yxwIq|TFo;uh-pM)gtWD06eq(*hRy5@n;01+;khy( zzZhI)L-iK(Fl+(keSrcraZsRc<6+p&u!E6-BeNv6D6u5J2xJp9Zomb<Csf>;n_(Bj z9(IP^j0{5H;6Rb(Vc5&CkCA~TFSVkCkpVS!p~;n<;Q%9p0NjyK$8j<2XE?;ea2OPW zT<NJL-l>)4`9&$9IBWsQ9phm*&TxW}fgKtij0}3%0s;}PP;()*n6+jY$l0fO7)~>s z0hNA<#eQHHGHZYf1gL8m8HBL}E+YeTa&8K!9RXDauYRrB8P0)9-Nd5eR8W?m407&O z9)@cS*BKeui&6`65|dLI8C;OFi*rU|Q81`P$V*POMv6%kacIDUb2%i%T5~c;Gu-51 zxCM$q-t?UOq{JL(t_I26;bFMTu!@mEASbc7Bse3#JP+!Bkc;l~Fg##*$jHE2T#%Dl z!pNYG>>jA`npivzDy$y!Fsx%(&%yANkwG-Is3^ZkuQV?^FTXrb4;mO;49^)}vNOD3 zWRO542h>&q55p^l*O2B8#5Qo-1gsj_hgdufa=}|320u`t%bE#kP4X9K<d=i88Ptc2 z3>=Bc$*IM~Dh43spLiH9fr?$2pdm=`D-XkakRVquxbfna32t&h4M45_^+4`oWZ?14 z%S$bC&PgmTPAz6oWME`qW?*1oW?%xfRu~u=*cliY*cccYI2afhm_V%y3^8s79tH*m zUIs=`yOe>EfuDhaL7#z<fsuiMfmLfegTO|xRw1ZC3=E<S!VC-yJP-v8A`GGo3=E76 zVhrL?%{>e(3``6R3^rQYTNxy@w=qa*ZDUXX(c0S>)V48bX>DQ9W8TJK0HRs8F_>v> zVX)lIU>&Kooxye+gT2-^2G@;nJC(prmt$aMP+;I?P-Ku`P-akIP+`zuP-8G>uwk%f zum!tE3}PqLJq!#spe8QZ8}1BzP?uSQ`3wx4TH6^sw6-yLBdp;Ahnph<3xg8_2ZJ-% zNQf6Xp++)-q8DmVJOeA(I(e-v3=&%y0(LWmL~ddT)85VyvyCA>9BMq0FN7Fa7#JAb z8N?Vo7^E0H8RQtez*az9Ef2MVfkB=jl_3r6%5=D^Ef|=<Va){!FQJTW3|R<gbAg@V z$H2+p4>k|tWG<+Aj10MOQ*0TS!KUzooV=SMA#yuI-d2VHbfbb9_!vTvjN*qI<qJ2; z8R{TGP{e^8ln-KTV<<ov1_{mx22O@Z1_6dBBm)JZ1~P#fjga7Ei~}cE28IP%+Zc*> zGn7VdXDIh!wq>?k&X56e?iPjs*=-CJ2N*)ESR`4tG1P2gXxPTkJd?pdW+nrdwouzP zhK_J;kjiZgJz%!b1TY0sJPE{Nv0cs}C5xmONv4IFQ5K|k3q!y*hN%nxPXL9p_BMu@ z+ZeJC%sJZ_7J~f8%mB&>Vc=9B$H2mnz`(<h$iT;t#30O&!l2BM%3#Ql&S1)r$za2f z&ENrQh%w|cL^9+tL^I?w#4!{xBr%jQWHOX76f=}FlrkhSv@ujOOk}8Gn9ooP4kr@^ zRt5%!1<-H;H7u4gEMs6~;A5D?u$*B90~3P)Lm9(LhE)vA49W~a467N|Ft9MJWnf?s zV_^HoAk5BC%E<VKL4%zkM3L(k12+=`6R2#2gf+u524-+twA#e5VH?9%zvT=Xx;q(m zGBO-s*zc>ejp3j+v(Yw&BQqHUb)X?CwT<B@%NpIC3?~^GX8pg)yarsrfI>lvfsKKI zp^-s^p_xIEp_M_Gp^ZVGp^?FYp%d&A1#qUag8GDk!HVH5!#M^<1`!5nhVu*;7?{AW z7GYre&%njN!p^|R&Tx@|onaRPg9-x^sCb0B`8NYA*rW<bI=d{?21<2Te6&H-k(mq} z;35MOhc_U3u>qbJk#i`DDAQJk+uERna?e*wXFJ2ASqx&JqDf*KgPPEjZ4A%0F}zvM zzz#MV?qf3sUIqq+J_de<2@DbplNe+eCNsz~Ok*%+n9ktIFoPkGVHQIK!)%5GhPey{ z4D%R@85S~>Gb~05jS6UJ@H1pGyaVU;2nGdkxIjXKpMm)gs9Qew4?`$B!$nX@{vMw5 zE-<iwGjSc%uiF@=&SNNsaBk0KumOb+gm(i<ZDW|qk^;#)+ZZNoV*q7U31qpg47Znq zi(*TtD1^F=sVi~|!)=z7tqivj*#J^FFK6IoSjiyHu$sY&VGV;X!&-&_h7Ak_3>z70 z8Mc7E4k?!Epk4<hRW=5u-wXjd0vrq<7*wIr45DGR&PR|XOyIl*s=gQ)dcX!TF)#>l jFnq?U<qNu&r7$fFObp+^70P#p9}J)_5+j2(0~i1RR$`vt literal 0 HcmV?d00001 diff --git a/src/application/MainGUI.fxml b/bin/commandLine/CommandLineGUI.fxml similarity index 93% rename from src/application/MainGUI.fxml rename to bin/commandLine/CommandLineGUI.fxml index 3d7ae6e..ea27a94 100644 --- a/src/application/MainGUI.fxml +++ b/bin/commandLine/CommandLineGUI.fxml @@ -6,7 +6,7 @@ <?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.VBox?> -<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Controller"> +<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="commandLine.CommandLineController"> <children> <VBox layoutX="14.0" layoutY="14.0" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="14.0"> <children> diff --git a/src/application/_de.properties b/bin/commandLine/_de.properties similarity index 81% rename from src/application/_de.properties rename to bin/commandLine/_de.properties index 34e77ae..c7814cf 100644 --- a/src/application/_de.properties +++ b/bin/commandLine/_de.properties @@ -1,12 +1,13 @@ app.name=CommandLine version.code=1 version.name=1.0.0 -version.date=22.07.16 +version.date=26.07.16 help.list=list - lists all possible commands help.help=help - shows help for given command\nSYNTAX: help [COMMAND] help.clear=clear - clears the history +error.general=An error occurred. error.unknown.command=Unknown command. Use \"list\" for a list of possible commands. error.invalid.arguments=Invalid arguments. Use \"help commandname\" for help. -error.no.help=Unknown command as parameter. Can't display help. Use \"list\" for a list of possible commands \ No newline at end of file +error.no.help=Unknown command as parameter. Can't display help. Use \"list\" for a list of possible commands. \ No newline at end of file diff --git a/bin/commands/Command.class b/bin/commands/Command.class index 40fddff4115933d253769c294cf92c52705ce2d1..b067f6d875a4100c0db43c42a623b8a050e419a2 100644 GIT binary patch delta 469 zcmeC@{LRL7>ff$?3=9k=45|~k@+Zz0XXKmQ$ymTBHu)E$GNaUFIi?P=<ow*+#JrSZ zeP;;6sWdMoCw1~3CXIS#21W)}1~vu;21W*U1`aUI3FfmgFfwp4a5FG6@Gvki=rb@f zFfuSOuxf2*;N8f;z`(@7&%nR{QpCW(!63lEz`z4hz#zyV1U5#PK?Fnd76#D`$eQaJ z7#IYw>K12^z@l4n4YF<q1_n{Anx%=bnt_2qilH8x!(|v`p;jj_FflNJ6l(8dNzvNE zAi0o%55`==z{<Ra1>_!Pa8U3uFf%YP$TNsBC^ASesDj-k2GI=-5|D**4Dt+&3<?Yk Y3@i*xVvIs8j0}nlO5pHP2765f0CKi0Z~y=R literal 1167 zcmX^0Z`VEs1_l!bb9M$MMh1c8{M_8cyp&>nX9$CxfrXJlAS<yfQ9ma!FJ0e1DJwO( zgpq+gJGHVrzbJ)~LC6Oo8(dP9nU`+O$iSCZnwykb<ewIhSd^Gs%*ep#$;iN&k(yIb z5|Ua`!pOjuRGOEPlgh{-1<_twl9{6)lv<o$T9lmX1eUXAWMH$&%*!mXV`N~~&<tZ_ zU~$e*N#$Z-W)R?E;9=n9U=U(t;7Kef$jMAjEXmBz)8}LmVGv_y5QRAzY^qOwa$-&@ z4}&;^1S12xyK9iIqhBQ4-AGETxfrAvWY`&`85tzNegey(I*NxumO+k@fipd|1ma3Y z1_up@7r@~I4FQM<SU<#iYfU5}R3oi985kK9co?`CxEUGveKPY>{lI}2l9&VvAR({; zVTnbVAU;%(r6eP>7~}`^__AhX;7U&|@rK2Yhz8VRWY>W#)Zk%YWng1u5KK=kf!K$L zEM^T&PmmfN9tL&>4n_v<^wbiM)SLoH)Ujt4hb87@rZ6&yX+%SOg>1NH6e9yW)LD!S z!dO%=GVlhMBqnG3CKf=w!=74^np|3v%E+LH%}5{QICjp@D=Es)$w@7;2BitEU~rOg z%LIiL4>Z;4fufH^k%5tcnSp_Ug@F;|R|W<KMv#BNG$#Wa0|SE~D9{-g7}yvXK?#b1 zk%5nafx(%9nSl``tF@hhUrR`E6NB&$2Fa}q@*5c#7?>Co85kJ&zy@<LurTm42rzIk zC^0ZF@IW*%C^M*ltx#o9gBqyMzzCLO)!M?Kz5#9s$X1XW5Sm%xnl%};uxQp^gQi&w z$!3IRUE*w(#;RG50pwgzI3zGIF)%SOFi2_dV@c84!l1p7fe*%9!obSBh6UstW~2a7 vU;sHtf<X;zvKT}+)K3fyQVa$Rh761hM&LMM5@TdxWH4qh0SA^T*kfh@=#=e7 diff --git a/bin/commands/CommandBundle.class b/bin/commands/CommandBundle.class new file mode 100644 index 0000000000000000000000000000000000000000..cbeee66dd17083562222e69d6ffb1a2ea74dd485 GIT binary patch literal 909 zcmX^0Z`VEs1_l!b1$G7|Mh3Cu{M_8cyp&>nX9&ZoG%qD5m7RfwkwG9Uu`E$PCowNw z-#;lUHMxY5fh##bucRnHCnvRtkwMu9s@W$qFBPUA#CC=&vSwu90~t`7n4StTnUO)t z2W)O>NoJ0IP-=00X;Cs%&YF>d%_cK1v&4>(fmuT{jFExGIX@+pi-DPemxqCqfs2uW zA7s8?X>L+#QAlD^PAVgVkWYScVoq3MQ6`8F6=W&N$Sh`Lkbt=m&3o3247};7B?xyi zGN@{3!W4t7z~LQE21W)^9tKthHbw@)^wbic#JqH5zsYE5;`SX#vm_4#I|BzJ18*^^ z^=cYK*bWL2!D38XWi@bH3ev+B3=U+sOmKLiM6@0#E*KOU7#Wxu7#Nrsm_U95v)CCp z7#J8>85ltU&%nsQ&A`B5%)rRN2olxW&cL$~tc;I=fq{#GiGhJZh=GMcl!2dtfq@62 zh(Ulskb!}LkwJ(-7;1n%+<+|%A{*cauz@v5V%03hAdW?|1iEH9teT}5q@kMaz@B4Z zVAImx${>R7c4Y=u1{JUgVqm|pLEX;4zy=Nwkhf(RWU-kgfo_%t11p0j4zoak3NlL$ H>~(nnj5@Sk literal 0 HcmV?d00001 diff --git a/bin/commands/CommandClear.class b/bin/commands/CommandClear.class index 71d46c5942d1e34952a7e6785b6a07bab70240e5..2cb70e91aff99f6a297a04b0f413288e9cca2d05 100644 GIT binary patch delta 586 zcmcc5@qm--)W2Q(7#J8#82mPJnJ|ha=jY}o=A{(tJ3|;wrFkhisgpw(4eGfVR2bCQ z8B`e=aH!&8P-oC!WZ+FtEpg7zD=Es)$w@6@WKh-6^nn`dlbM$aGa1B2D6<BcuEoQk z&7i}`Aef$7;**${UYeMm3UL4<gAB8VrqAR%j1p?r91MDl4C1LpMfpW~nR#W2IhiSX ziACw9xv6<2#as*q3`Xn>hLdkH$}$@>m`wi3Xs&O@V8PB{&d8uh&>cJsmJC*tLztAT z%@}NW7;G8X7#Vnyb5awFJTi+*@{20D7|a;#c^Di(68y*#KKbb&IVT<l=gAwHgxSm( zTzMGWCZA$5Qe;a4haw|`1S}xX!&i~HQjm**g@K2Gi-DJcpMj4-l!1TpYG(QRnGDPf z%nS?+W?I_Y802R$i0Eu%P}bSTpedxgjX{4KgXu<)z%~YJ2xSMM93hm;Mg|53W(G+H z1_mVt4h9AW5e5zhF$M_+aRx~SDFy`wX$Ex$83sKDSq4)EIR+^P1_lL)Z4A;3G7Jn1 n45|!f4DJjb42&QrFnBU}F)%TBgAHYrWME|QVPIfjV(<k3M^1~U delta 523 zcmaFBd7p#p)W2Q(7#J8#7(6y|nJ|ha78K-UCMT9;=I7}<=jW9a<>%z27EKOeG^pof zU}R9?VNhjIV`N}UD$PsDNo8b^^2tgpOVlqd$;{CYN-fSWElN&x0?S!*FlaC`h^H16 z<rnE?=9MMpWTxmP7NwWwrskCtb1`T!=&&<rGcrivGJuCcmqCw_fipd|B)Fs~b8;S& zu8IMJ5j%q+BLfb1@-P@Pm`py!q!ePnV8+8>&cMdVz>}PlnpotKSzMA|RLR9)z+lP4 zU<H!kN0#u(PY21_@G#hd<RF@y^Ye=Hb5cPP_B;#@lO33iRJoGjp~A=@;e#W*CNozG zvNNzSa58W)a53;Ra5IQ9@JyCvk+1J!U}j)uU|>+!(%!}(KZ`+7M{5g%vXJ^V2F+~@ z`Wtn&F_`LXW3bTK#$c_pjlpgs0|NsygCqk3gAxM=0|SE~0|$dJgD8UtgBXK2gA{`V zgB*h-gA#)jgBpW0gA@Y;g95~O25ANv1`tqZaAa^|U<6so;LITA!obAf3O1BcjDeBC Lje&uIiNPHJ?EZJI diff --git a/bin/commands/CommandHelp.class b/bin/commands/CommandHelp.class index 0ab23cd743bcbf327044dc67dc0c65fd44037e11..0c7dc7069c808f58fe85cef1fb778102f5b41da1 100644 GIT binary patch delta 1099 zcmZqTJ<QK_>ff$?3=9k=3{@Ms3>d|d^K)|(^HPfSogoaT(!7+M)X4#i2K8JFDhz7u z462L_I8^a4s559VGVrFSmN@6<l@#UY<fIlcGN@{3`aq5K$;?ZInG9khlv#sJ*WzK& zX3$||5KK=k@kz`}FHKBOg*bqbK_*c{(<dvjEK$F-Br``pD784hv?v)WZOy@;$H*X_ zT2z!@q?egjmY9>7qL)~dUYeVlS5nNyV8CF+&S1#MAc4yO9tL9ulgVEh&GpR~EZ7;$ z85tA_I+=&TlEG?n0Fx4%4TBv!gYD!BCOKw%28YQrnRMBl7+lyHoF|`Ql3;daaGU&` zNln3n!Hb>2laWCP;Rw%?)S|?a{30F(Zw8;qy39&!emo5R3;~lvnbp{W7(&<?f+sgJ zi!z5YgiW5wtjriOc`vh!Y!o8{Yes5LfgTq_I718%11p0Sh!w}f5YLb>`5Uu!eK<oB z4?{9T03!oONq%riQD$B`2SX|&11}_m(o^$NixP9V89W%$c^EPnG8q}zGZKsaQY%Ur z8JIORqc|9{;fnL}^+1-fGvqQdC?TBgn^|0(nU@ZW2iJ<^)Pj=C{5(bm_T<T>EOLr$ zN#LZz$RGiWee^`NgGJ7UF_n=)1u0%}8EehRz#CkWn4ImKSP+t!l#|NNkU#l3OS&K* z0}BH`0~dn;13!ZxgD8X0<ak!Odd4IMRt7c(28LcO?QIP5vlv8lwlOH{Y-7+A(%r_O zzm36k<0b~{Z48c9EXx@JC0TYdxHB>wU|{ys-NxXn&0@5TA#f&xB}~t5hVV$C$n6Z# zV42u$42cjkmNST2vBDGyr9cEXO0w*%XGmjYnDu`(TrLYL$H2&7!w|y|&yd5w%pl3Y zz+lF}%fP@O&cMMS$soZX#URNb%b?F7&tSu#%n-w%!Vu4(%8<yQ&QQpp$xy@~%TU9h z%h1E1#~=mHv#cN=GDtJXFn~ZWLmopu10w?iLqRV?0Yf1J6N5g3GeZ$WF#|J0B7*=! z2}3CZD?=Fr1A{9AtK@$ME(TV121a&<a&`t426hGy28RC(R!Cy(49p-=Ms|iA!T$^l SNHP%B42%pF3=9lR43z-erx1Gp delta 768 zcmX@i-^9yx>ff$?3=9k=40#*53>d`{3kq^FlM_oa^Yiqb^YcoI@^f-hizWv!8i;W+ zFfyp{FsL%9F*2|vmFA`7q%tx{O=e`0Vbqu`$0Wn1#h}B^pgq}vNtRicL2q&blevlk zgAqG}AtM70b9oqy8B8W0V^U%>W3XUnFrWO6Nsif)!D=!;v#z2IgB?4AEhB?)R$^JA zerZW&j=p12QDUV}W^oA*gFS=8<XC1k1t$g<b_Qog1|fth&yv)l#FG3X9tKwix5<l{ zmDoIZ7(5xgCZA?jlk;KlV`uPXWDo$W&q>Tn*AFf!%FIjWVen@Nn9R?j%o4=NAU?U5 zMO>bPA%u~EH6t~rK#z+dkRgnRftA4o#ERfyh-8SGoWo-65Xcb2!w}2h#mK->k`FP7 zo56`8o`)fUA(4@RJtMK$FSVkCk%3u5Gm3*DnUR4vwWuh+NG~s64`lLWC03;nu4H&n zGcri{V2=cAMh52O+!RIzA)n;@+}y;xlwy5n2*a9@fj77$F*(~eu^=QdDJPYkA$9V8 z)^tHm1{MY`1}+9}27U$}22lpy$>wZw^$b55SQ%Iu7#Q-kw6`(H&teeN(b~eGETq1T zL30~}{>DuVrrQ{-tyq>bSW2?&WN>6;IKaT{r@M{8U7N*d8-w>u21T%j-3)<|Lc!Y^ zLczk}+Zdvu27q+MF*3~he;BMzC<!Xgz`(%FAX(4Az@Wvz#lXNI#K6HI!XU~Z${@xd z!Jxw+#bC)G!w|+G%Mi{W!H~$H$dJdN#2^J$&jNBUgEWH-0|?|Zq%fp1FoMO>7}6P- z7<3r488R3$8JHQe7#J8N7?{QWGjK7mvNJHUGi0+f7%;FiI59AoGB7f*=P)oZFfrr; E0P}pRNB{r; diff --git a/bin/commands/CommandList$1.class b/bin/commands/CommandList$1.class index e3b2858a80d5ef11794f98dfb5e40c266a2e2159..1b8c80a8389195f474106bd200e123c29b063f40 100644 GIT binary patch delta 46 xcmbQlF^OZtc_y*s{M_8cyp&>nX9&ZoG%qD5b@EfDXhwy}j?B)Cs*_updjXJx5JUg~ delta 46 zcmbQlF^OZtc_y*Mf`XjP<iwK9{5*Z<{JfH){G6QBqRCI0q8Vi-J2E>nDo$=??gaps C<`9Vh diff --git a/bin/commands/CommandList.class b/bin/commands/CommandList.class index 0b0782e573ce2e8ead6b801933d467ba4ef11a9d..ab08f9baa6cc4cb97742718b23d7aed2708c6af9 100644 GIT binary patch delta 912 zcmey%`<0LD)W2Q(7#J8#7z#IX88C_^=jY}o=A{(tJ3|;wrFkhisgna34eGfVR2bCQ z8B`e=aH!&8P-oC!WZ+FtEpg7zD=Es)$w@6@WKh-6^nn`dlbM$aGa1B2D6<BcuEoQk z&7i}`Aef$7;**${UYeMm3UL4<gG{1^rcYL4S)zVvNoJ0IP-=00X;Cs%+M0twkC8z< zwWuh+NG~(5EHNiDMK7@^y)-v9ucVlZ!GOVtoxzZiK?0WnJPgJRCX>H1n(Lb}Sg<pg zGcqU=bTSWvC4<%E0460i8wNXe2HVLMOmfWj3=WfLGU>87F*1lv6c7<qG2~)!WN_hO zU}bP+WRTSGnJ6H_ZLJx`#o*51$<E+0nU7h5*^9w@vL>@Cqwi#YW*Igg22Ku!fXRi- zG8{e(K|Bn>3?Y-JGFx-FGlcOlgfm1;zQL@Z=FSks!w}67!^pr=oLQC1$iS?j>B+$m z$H>6Q#l_&mkif%`$dEKyj>SchEeRZlj0_U6Xh4tMc9uW&{0uA%0t{RXf(-l&LJXn| z!VFRj3=BLBj0_A6Vhqv@G7Jn1j1002atw?N><kQyrVK0$Yzzzxbz0in802R$i0Eu% zP}bSTpedxgjX{4KgXzXi4Ay?SyBQoKwYD=jZ)0%V&EONcox#tFMUq9xe;Y$!II|h+ zat3Wl7F|)+ZS@SH2N;;QFz|pRL|JvWF+{SY%xB=1WD$x53AL~?LPQt-zXY;Ll4To1 zJjfOX1_l-eNd^W6D+WFW1_lWR4hAU(2?l8fNd|caSq23LO$IFnBL-~-D+V0~2L?Tc zAO?MgSO!CeR0bV}LIzWYS_U%)DTaCm20Ms<pnhdwsAEWGNCEr5jv<vHje&_lmLZWL zoxy>DnZby`harO@lYxc7mcfJ}i$R!yl_47%UJz9|49pC<3=9nX3@noWK>5a<oxz7u hg^7WQA&-H9fr%lXp@4ybfs28W!I6Q1fti7U0RZGj#-RWJ delta 726 zcmey$_m`LJ)W2Q(7#J8#7_v8V88C_^78K-UCMT9;=I7}<=jW9a<>%z27EKOdG!Wxt zU}R9?VNhjIV`N}UD$PsDNo8b^n#{-~!>BP?j!A}1i$RB-L3^?TlPt3?gWlu>CUX@7 z1|xO`Lq-N1=JGHYGnh<1#-zk%#$dtDU_SXBlN_@pgVkhyW?e>`$+pbW9M%kWJPfQ1 z_LCEs<rEzmoY@(i7#W1K63Y_xOG`3y^c{<e5-WW&i%WPITo_y@&u3O;ac5)@pUlT9 zuEWLP#=yzJ;Kj%w?wFIKP>^3-oSBr9s*s$Yo12)IQf$QqQsKkH;LG4QnVZF$!;v9? zhar$5XtE!Rf|?^k2oFOjLl`3iOL1mZDkB54hNdS6Lj)rOBUoP)4?{FV%;YI7E~;F~ z@StL3knq6~h(B5W2=XwnFz_;PG4L_)Gw?HrG6+m&W0SAfXJBDqV_;yY(9+(<AU}&i zP)BPEgR+qNHU`aY4Eh^4F_`-4?q;x#)Y{HqyN$tNH-lT`b_NeC7D*N%&ut9e;ml^N z%NevKS#(8Nw=wu1U|`<DzylH&W!2rr5X_P?pMhJFMJOC3)WXUL5ncHIl8z+HHipP; z4E6dO85kH?7$g}O7_1oh7#J8t88{fk8AKT*7{nN)8Kf9w7}OY48T1*{7|a>e8EhFe z8T=Wv7@`<-7?K#&8S)qm7|Iz88Kf8(80;V(VUT8!VE};&hFFF;21bzQ7~&Zc7?>EO z7~&Wb8LSwX8T1)E8Il;18GKk6tQbrfQW%68SQ%0o7#MgM7@^A27?>H-85kJ&8Cb;r oF{rUKII=UiF{&^zFfn8>FfcGNWHMwiFfed2Ffv$!tYcsR03?l&UH||9 diff --git a/bin/commands/HistoryEntry.class b/bin/commands/HistoryEntry.class index 555ac2bee0604b0272bb28b80dbf6e2bbba727d7..273d82bffe3ac7a4e47f974a862e35b85b9ae2a5 100644 GIT binary patch delta 47 zcmaFG{)&CWH6~tO1{MZ>22KV620jMC$&Z-=CKoV^P4;9~pL~{?XL1d5Afx=`bIdXT DAGQoE delta 51 zcmaFG{)&CWH6~sT1{MY`22KWU20jL!$&Z-=7zHL5GK)_3WLBSS%q%v!joE#20W;6! Ho6Ld$J;4l% diff --git a/bin/commands/PossibleCommands.class b/bin/commands/PossibleCommands.class index 3757d2e80d89e17e3c8bc2acd1889e00262fb30d..f89f06a53eb69b4c55cd2523a41972728870249d 100644 GIT binary patch delta 63 zcmZ3;wvcVZUM5jq1}+9Z1`!5+1~~=+1~mp=27Ly>$(NXnWVspC85kIN7#JBC7+4uJ S8MGJ}7#JC}85kIt7<2#@3I<~U delta 63 zcmZ3;wvcVZUM5ja1}+9J1`!5s1~~>E1~mpw27LzJ$(NXnWZ4+h85kIN7#JBC7+4uJ S8MGJ}7#JC}85kIt7<2#;K?X(u diff --git a/bin/test/Main$1.class b/bin/test/Main$1.class new file mode 100644 index 0000000000000000000000000000000000000000..3524c51fd0d955d6f06fad56fb746d3ec7a2f3c1 GIT binary patch literal 1233 zcmX^0Z`VEs1_l!bS9S&_Mh5PZ)Z!9--^9#36+?Cg7Dfhvti-ZJ{hY+SbbbG%tkmQZ zb_O;^21$@;T7`aUS!!O1zAK3INX$#gNiAYzU@OVUELJgKWZ?FJ8)nVOz+RS^qmrDP z!pI=$lboNMo0ym4lbM&Q?~GtuGcvH*Waed-*fBDwYar>ysX;T0k%7fIKP8oufsuiq zhk>1e1H=;KVc=xo;$mQC5awavW)NXyVAcRB<p<g5SDKrYS`?C)l#|NHAmo#uoR|}q zSd<CkLj_qtK44_vMYur45ahNDuooE_WHo$H{O_1tl9`_e4h3t?Fb)P8Mh0#qZ?QR4 zGJpY_L%su)kqM?5*!F*bFt`}h7&O=!)EODXaRd$zgC>I(BLjbNMt(Vx;fxG25Z6HB zD7d63GcVoR1q`Az!?+l981&c~bQu|hK~C1s%-8qycdbZHEdV*0he00{IQ#`gnRz9_ zC5g$|Aw`MFsf-M);D}{pkizXzMh3=IMg~!^0yJZ-85wxNruiloK!a2q;z-maW33s+ z&S1{SAOUh3TnZ^PxfmE3EO{6t8Kf8)xPtRbi;`2_GC|SC2}+@QAZ?5coWYstd5I;Z zMX8Joo)G6CC0A>(2;6XRBtes^4XPB9z1DWtj12s)dC58X#hH2OzNsY{`6=uS4vY+( z@FdN{;Kbm}$iP}$l2}y2$bj%*aY<r&s(vttv<4+Q9?!hI)FS7c#Ny)AVg>~UMh0dE zMg~>}CIJCZdSze`5CWxE1_lOZ1_lOh1|9}R23`gR23rOuun51F_ErWyEuF0l0$SS{ zgf=oTFfcKQGB7Z3F)%SOFfcN3F{m?$F))BNGBEHnh%-ol#U&Y}phk5t@Pmy~)!M=! zAS5lqAS=Qk4<;2w7?edAl$p0Ns4i#V@YUJIpuLfSk%56hhC!Y|hk+Svkr)Fj0|SE| zgA9W{gFJ%)g93vwg9?Kw*ir?E!B9&X7*rVy7z`O0859^;7>pQ<8JHMM7#JAX8JObP z8FW|#92q1TOrfsQWMBgOfKyBR0E5{!1`CAO*uZXJ1ls`eBnyKT*xS|&HelM8!H$7} UfrY`I!I8lQ92AUT9SjT%0381icmMzZ literal 0 HcmV?d00001 diff --git a/bin/test/Main$2.class b/bin/test/Main$2.class new file mode 100644 index 0000000000000000000000000000000000000000..3aab3c6a6671eb2faa5cea2791db11dc46128ba0 GIT binary patch literal 981 zcmX^0Z`VEs1_l!bBX$NRMh5PZ)Z!9--^9#36(e>A7Dfhvti-ZJ{hY+SbbbG%tkmQZ zb_O;^21$@;T7`aUS!!O1zAK3INX$#gNiAYzU@OVUELJgKWZ?FJ8)nVOz+RS^qmrDP z!pI=$lboNMo0ym4lbM&Q?~GtuGcvH*Waed-*fBDwYar>ysX;T0k%7fIKP8oufsuiq zhk>1e1H=;KVc=xo;$mQC5awavW)NXyVAcRB<p<g5SDKrYS`?C)l#|NHAmo#uoR|}q zSd<CkLj_qtK44_vMYur42;{a5uooE_WHo$H{O_1tl9`_e4h3t?FfIle203;HSw;qN z9RB2CkO#R*AUP+$I2FnNj0~*c0A*y5!fgQ~gE*S?FpJq4R2Uf~aJh_&fssLthe47- zijjdUIKQ+gIn^x_6a<{0*wzDSV`ShA&P>lsEGaEYWn}OKy8$`st-&H#qumBo3OPjV ztQi^jUGqSm&CE;pO)bgDPhn@!Wn|!lCl4M5eFg(Y2G-(|#G(>p4;Ggsrl;x$gGg&o z1oC+1<)s!m=Oh*vrxr6PFfcMOGcYo+GB61Ufa0EkK|lx;^9&3O%nS?++zdPnj10UC z3=FmmOkfdyE$yugd|EnN83eSpGYD;DU|?Wk5M^Ls;9_86U|?Wm;9{_15My8fYh+;H zXAozQ0E<g9NI{KqU|<BR<<Q!~Ah3-=8r=+g26hGquo+?ybx<=H7&sUd7!(;81soY9 z8I+)=X)-W@RdH%*A7D`4#-NHYj*Wp4Y&FO^Ajh#VsDquW!JrAIwHUM+7#LU>bQts) O48dMt1nXd6U;qHD_uB0M literal 0 HcmV?d00001 diff --git a/bin/test/Main.class b/bin/test/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..27f2a876e6fcb195df6a10bc48a37326ad9f09b7 GIT binary patch literal 2320 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 UtqcqdLJUj{p5PS3zz_$a0d7}F%m4rY literal 0 HcmV?d00001 diff --git a/src/application/Main.java b/src/application/Main.java deleted file mode 100644 index 4adcc79..0000000 --- a/src/application/Main.java +++ /dev/null @@ -1,43 +0,0 @@ -package application; - -import javafx.application.Application; -import javafx.fxml.FXMLLoader; -import javafx.scene.Parent; -import javafx.scene.Scene; -import javafx.stage.Stage; - -public class Main extends Application -{ - @Override - public void start(Stage stage) - { - try - { - FXMLLoader loader = new FXMLLoader(getClass().getResource("MainGUI.fxml")); - Parent root = (Parent)loader.load(); - - Scene scene = new Scene(root, 600, 600); - - stage.setResizable(true); - stage.setTitle("CommandLine"); - stage.setScene(scene); - stage.setResizable(true); - stage.setMinHeight(250); - stage.setMinWidth(400); - - Controller controller = (Controller)loader.getController(); - controller.setStage(stage); - controller.init(); - stage.show(); - } - catch(Exception e) - { - e.printStackTrace(); - } - } - - public static void main(String[] args) - { - launch(args); - } -} \ No newline at end of file diff --git a/src/commandLine/CommandLine.java b/src/commandLine/CommandLine.java new file mode 100644 index 0000000..16d1f8f --- /dev/null +++ b/src/commandLine/CommandLine.java @@ -0,0 +1,133 @@ +package commandLine; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.ResourceBundle; + +import commands.CommandBundle; +import commands.HistoryEntry; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.scene.image.Image; +import javafx.stage.Modality; +import javafx.stage.Stage; + +/** + * CommandLine object, initialization and configuration for a new CommandLine stage + * @author deadlocker8 + * + */ +public class CommandLine +{ + private Stage owner; + private Stage newStage; + private Image icon; + private ResourceBundle languageBundle; + public ArrayList<HistoryEntry> globalHistory = new ArrayList<>(); + public int lastShownCommand = 1; + public ArrayList<HistoryEntry> history = new ArrayList<>(); + private final String promptText = ">>>"; + private CommandBundle bundle; + + public CommandLine(Stage owner, Image icon, ResourceBundle languageBundle, CommandBundle commandBundle) + { + this.owner = owner; + this.icon = icon; + this.languageBundle = languageBundle; + this.bundle = commandBundle; + } + + public Stage getOwner() + { + return owner; + } + + public Stage getStage() + { + return newStage; + } + + public Image getIcon() + { + return icon; + } + + public int getLastShwonCommand() + { + return lastShownCommand; + } + + public String getPromptText() + { + return promptText; + } + + public ResourceBundle getLanguageBundle() + { + return languageBundle; + } + + public CommandBundle getBundle() + { + return bundle; + } + + public void showCommandLine(String title, double width, double height, double minWidth, double minHeight, double positionX, double positionY, boolean dark) throws IOException + { + if(newStage != null) + { + if(newStage.isShowing()) + { + return; + } + } + + FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/commandLine/CommandLineGUI.fxml")); + + Parent root = (Parent)fxmlLoader.load(); + newStage = new Stage(); + newStage.setScene(new Scene(root, width, height)); + newStage.setResizable(true); + newStage.setTitle(title); + newStage.initOwner(owner); + + newStage.setMinWidth(minWidth); + newStage.setMinHeight(minHeight); + if(positionX != -1) + { + newStage.setX(positionX); + } + if(positionY != -1) + { + newStage.setY(positionY); + } + + if(dark) + { + root.setStyle("-fx-base: rgb(50, 50, 50); -fx-background: rgb(50, 50, 50); -fx-control-inner-background: rgb(10, 10, 10);"); + } + + if(icon != null) + { + newStage.getIcons().add(icon); + } + + CommandLineController newController = fxmlLoader.getController(); + newController.init(this); + + newStage.initModality(Modality.NONE); + newStage.show(); + } + + public void closeCommandLine() + { + if(newStage != null) + { + if(newStage.isShowing()) + { + newStage.close(); + } + } + } +} \ No newline at end of file diff --git a/src/application/Controller.java b/src/commandLine/CommandLineController.java similarity index 61% rename from src/application/Controller.java rename to src/commandLine/CommandLineController.java index 3066586..d4b4fc5 100644 --- a/src/application/Controller.java +++ b/src/commandLine/CommandLineController.java @@ -1,41 +1,37 @@ -package application; +package commandLine; import java.util.ArrayList; -import java.util.Locale; -import java.util.ResourceBundle; -import commands.PossibleCommands; import commands.Command; import commands.HistoryEntry; import commands.HistoryType; +import commands.PossibleCommands; import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.scene.control.TextArea; import javafx.scene.control.TextField; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; -import javafx.stage.Stage; -public class Controller +/** + * Controller for the CommandLine stage + * @author deadlocker8 + * + */ +public class CommandLineController { @FXML private TextArea textareaHistory; @FXML private TextField textfieldInput; - public Stage stage; - private final ResourceBundle bundle = ResourceBundle.getBundle("application/", Locale.GERMANY); - - private ArrayList<HistoryEntry> globalHistory = new ArrayList<>(); - private int lastShwonCommand = 1; - private ArrayList<HistoryEntry> history = new ArrayList<>(); - private final String promptText = ">>>"; - - public void setStage(Stage stage) - { - this.stage = stage; - } + private CommandLine commandLine; - public void init() + public void init(CommandLine commandLine) { + this.commandLine = commandLine; + + commandLine.getBundle().setController(this); + commandLine.getBundle().setLanguageBundle(commandLine.getLanguageBundle()); + textareaHistory.setEditable(false); textareaHistory.setWrapText(true); @@ -59,8 +55,8 @@ public class Controller clearConsole(); } } - }); - + }); + printPrompt(); } @@ -72,7 +68,7 @@ public class Controller public void print(String message) { - history.add(new HistoryEntry(HistoryType.MESSAGE, message)); + commandLine.history.add(new HistoryEntry(HistoryType.MESSAGE, message)); setConsoleText(); printPrompt(); } @@ -84,7 +80,7 @@ public class Controller public void clearHistory() { - history = new ArrayList<>(); + commandLine.history = new ArrayList<>(); } public void clearConsole() @@ -99,16 +95,16 @@ public class Controller StringBuilder sb = new StringBuilder(); boolean printedLastEntry = false; - for(int i = 0; i < history.size(); i++) + for(int i = 0; i < commandLine.history.size(); i++) { - HistoryEntry currentEntry = history.get(i); + HistoryEntry currentEntry = commandLine.history.get(i); if(currentEntry.getType().equals(HistoryType.COMMAND)) { if(printedLastEntry) { sb.append("\n"); } - sb.append(promptText); + sb.append(commandLine.getPromptText()); sb.append(" "); sb.append(currentEntry.getText()); printedLastEntry = true; @@ -124,8 +120,8 @@ public class Controller } } - textareaHistory.setText(sb.toString()); - textareaHistory.positionCaret(sb.toString().length()); + textareaHistory.setText(sb.toString()); + textareaHistory.positionCaret(sb.toString().length()); } private boolean executeCommand(String[] command) @@ -133,8 +129,8 @@ public class Controller for(Command cmd : PossibleCommands.possibleCommands) { if(cmd.getKeyword().equals(command[0])) - { - cmd.execute(command, this); + { + cmd.execute(command, commandLine.getBundle()); return true; } } @@ -151,14 +147,14 @@ public class Controller return; } - globalHistory.add(new HistoryEntry(HistoryType.COMMAND, input)); - history.add(new HistoryEntry(HistoryType.COMMAND, input)); - lastShwonCommand = -1; + commandLine.globalHistory.add(new HistoryEntry(HistoryType.COMMAND, input)); + commandLine.history.add(new HistoryEntry(HistoryType.COMMAND, input)); + commandLine.lastShownCommand = -1; String[] command = input.split(" "); if(!executeCommand(command)) { - print(bundle.getString("error.unknown.command")); + print(commandLine.getLanguageBundle().getString("error.unknown.command")); } else { @@ -168,17 +164,17 @@ public class Controller private void showLastCommand() { - if(globalHistory.size() > 0) + if(commandLine.globalHistory.size() > 0) { - if(lastShwonCommand <= 0) + if(commandLine.lastShownCommand <= 0) { - textfieldInput.setText(globalHistory.get(globalHistory.size()-1).getText()); - lastShwonCommand = globalHistory.size()-1; + textfieldInput.setText(commandLine.globalHistory.get(commandLine.globalHistory.size()-1).getText()); + commandLine.lastShownCommand = commandLine.globalHistory.size()-1; } else { - textfieldInput.setText(globalHistory.get(lastShwonCommand - 1).getText()); - lastShwonCommand--; + textfieldInput.setText(commandLine.globalHistory.get(commandLine.lastShownCommand - 1).getText()); + commandLine.lastShownCommand--; } } } diff --git a/bin/application/MainGUI.fxml b/src/commandLine/CommandLineGUI.fxml similarity index 93% rename from bin/application/MainGUI.fxml rename to src/commandLine/CommandLineGUI.fxml index 3d7ae6e..ea27a94 100644 --- a/bin/application/MainGUI.fxml +++ b/src/commandLine/CommandLineGUI.fxml @@ -6,7 +6,7 @@ <?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.VBox?> -<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Controller"> +<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="commandLine.CommandLineController"> <children> <VBox layoutX="14.0" layoutY="14.0" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="14.0"> <children> diff --git a/bin/application/_de.properties b/src/commandLine/_de.properties similarity index 75% rename from bin/application/_de.properties rename to src/commandLine/_de.properties index 1ea1c0a..c7814cf 100644 --- a/bin/application/_de.properties +++ b/src/commandLine/_de.properties @@ -1,12 +1,13 @@ app.name=CommandLine -version.code=0 -version.name=0.0.1 -version.date=22.07.16 +version.code=1 +version.name=1.0.0 +version.date=26.07.16 help.list=list - lists all possible commands help.help=help - shows help for given command\nSYNTAX: help [COMMAND] help.clear=clear - clears the history +error.general=An error occurred. error.unknown.command=Unknown command. Use \"list\" for a list of possible commands. error.invalid.arguments=Invalid arguments. Use \"help commandname\" for help. -error.no.help=Unknown command as parameter. Can't display help. Use \"list\" for a list of possible commands \ No newline at end of file +error.no.help=Unknown command as parameter. Can't display help. Use \"list\" for a list of possible commands. \ No newline at end of file diff --git a/src/commands/Command.java b/src/commands/Command.java index 2f9d39e..68974cc 100644 --- a/src/commands/Command.java +++ b/src/commands/Command.java @@ -1,16 +1,15 @@ package commands; -import java.util.Locale; -import java.util.ResourceBundle; - -import application.Controller; - +/** + * abstract class Command + * @author deadlocker8 + * + */ public abstract class Command { public String keyword; public int numberOfParams; - public String helptText; - public final ResourceBundle bundle = ResourceBundle.getBundle("application/", Locale.GERMANY); + public String helptText; public String getKeyword() { @@ -39,5 +38,5 @@ public abstract class Command } } - public abstract void execute(String[] command, Controller controller); + public abstract void execute(String[] command, CommandBundle bundle); } \ No newline at end of file diff --git a/src/commands/CommandBundle.java b/src/commands/CommandBundle.java new file mode 100644 index 0000000..16c8c5c --- /dev/null +++ b/src/commands/CommandBundle.java @@ -0,0 +1,42 @@ +package commands; + +import java.util.ResourceBundle; + +import commandLine.CommandLineController; + +/** + * holds important objects that are needed by the commands + * --> fill in your variables (with getters and setters) here + * @author deadlocker8 + * + */ +public class CommandBundle +{ + private CommandLineController controller; + private ResourceBundle languageBundle; + + public CommandBundle() + { + + } + + public CommandLineController getController() + { + return controller; + } + + public ResourceBundle getLanguageBundle() + { + return languageBundle; + } + + public void setController(CommandLineController controller) + { + this.controller = controller; + } + + public void setLanguageBundle(ResourceBundle languageBundle) + { + this.languageBundle = languageBundle; + } +} \ No newline at end of file diff --git a/src/commands/CommandClear.java b/src/commands/CommandClear.java index 1facf0b..853b054 100644 --- a/src/commands/CommandClear.java +++ b/src/commands/CommandClear.java @@ -1,7 +1,10 @@ package commands; -import application.Controller; - +/** + * Clears the history log and console + * @author deadlocker8 + * + */ public class CommandClear extends Command { public CommandClear() @@ -12,17 +15,17 @@ public class CommandClear extends Command } @Override - public void execute(String[] command, Controller controller) + public void execute(String[] command, CommandBundle bundle) { if(!isValid(command)) { - controller.print(bundle.getString("error.invalid.arguments")); + bundle.getController().print(bundle.getLanguageBundle().getString("error.invalid.arguments")); return; } - controller.clearHistory(); - controller.clearHistoryLog(); - controller.clearConsole(); - controller.printPrompt(); + bundle.getController().clearHistory(); + bundle.getController().clearHistoryLog(); + bundle.getController().clearConsole(); + bundle.getController().printPrompt(); } } \ No newline at end of file diff --git a/src/commands/CommandHelp.java b/src/commands/CommandHelp.java index 36fb39a..c8d25dd 100644 --- a/src/commands/CommandHelp.java +++ b/src/commands/CommandHelp.java @@ -1,7 +1,12 @@ package commands; -import application.Controller; +import java.util.MissingResourceException; +/** + * prints help for given command + * @author deadlocker8 + * + */ public class CommandHelp extends Command { public CommandHelp() @@ -13,23 +18,30 @@ public class CommandHelp extends Command } @Override - public void execute(String[] command, Controller controller) + public void execute(String[] command, CommandBundle bundle) { if(!isValid(command)) { - controller.print(bundle.getString("error.invalid.arguments")); + bundle.getController().print(bundle.getLanguageBundle().getString("error.invalid.arguments")); return; - } + } for(Command cmd : PossibleCommands.possibleCommands) { if(cmd.getKeyword().equals(command[1])) - { - controller.print(bundle.getString("help." + command[1])); + { + try + { + bundle.getController().print(bundle.getLanguageBundle().getString("help." + command[1])); + } + catch(MissingResourceException e) + { + bundle.getController().print(bundle.getLanguageBundle().getString("error.general")); + } return; } } - controller.print(bundle.getString("error.no.help")); + bundle.getController().print(bundle.getLanguageBundle().getString("error.no.help")); } } diff --git a/src/commands/CommandList.java b/src/commands/CommandList.java index 2deaa74..5435bb6 100644 --- a/src/commands/CommandList.java +++ b/src/commands/CommandList.java @@ -3,8 +3,11 @@ package commands; import java.util.ArrayList; import java.util.Comparator; -import application.Controller; - +/** + * Lists all available commands + * @author deadlocker8 + * + */ public class CommandList extends Command { public CommandList() @@ -16,14 +19,15 @@ public class CommandList extends Command } @Override - public void execute(String[] command, Controller controller) + public void execute(String[] command, CommandBundle bundle) { if(!isValid(command)) { - controller.print(bundle.getString("error.invalid.arguments")); + bundle.getController().print(bundle.getLanguageBundle().getString("error.invalid.arguments")); return; } + //sort possible commands alphabetically ArrayList<Command> commands = PossibleCommands.possibleCommands; commands.sort(new Comparator<Command>() { @@ -34,6 +38,7 @@ public class CommandList extends Command } }); + //loop through all possible commands and print keyword StringBuilder sb = new StringBuilder(); sb.append("All possible commands:\n"); for(int i = 0; i < commands.size(); i++) @@ -45,6 +50,6 @@ public class CommandList extends Command } } - controller.print(sb.toString()); + bundle.getController().print(sb.toString()); } } \ No newline at end of file diff --git a/src/commands/HistoryEntry.java b/src/commands/HistoryEntry.java index ffaf0a9..460aa8e 100644 --- a/src/commands/HistoryEntry.java +++ b/src/commands/HistoryEntry.java @@ -1,5 +1,10 @@ package commands; +/** + * Entry in the history log + * @author deadlocker8 + * + */ public class HistoryEntry { private HistoryType type; diff --git a/src/commands/HistoryType.java b/src/commands/HistoryType.java index 169f897..218d868 100644 --- a/src/commands/HistoryType.java +++ b/src/commands/HistoryType.java @@ -3,4 +3,4 @@ package commands; public enum HistoryType { COMMAND, MESSAGE -} +} \ No newline at end of file diff --git a/src/commands/PossibleCommands.java b/src/commands/PossibleCommands.java index 8de7de2..bdf8a51 100644 --- a/src/commands/PossibleCommands.java +++ b/src/commands/PossibleCommands.java @@ -3,12 +3,16 @@ package commands; import java.util.ArrayList; import java.util.Arrays; +/** + * contains all possible allowed commands + * @author deadlocker8 + * + */ public class PossibleCommands -{ - +{ public static final ArrayList<Command> possibleCommands = new ArrayList<>(Arrays.asList( new CommandList(), new CommandHelp(), - new CommandClear() + new CommandClear() )); } \ No newline at end of file diff --git a/src/test/Main.java b/src/test/Main.java new file mode 100644 index 0000000..82ee1e1 --- /dev/null +++ b/src/test/Main.java @@ -0,0 +1,82 @@ +package test; + +import java.io.IOException; +import java.util.Locale; +import java.util.ResourceBundle; + +import commandLine.CommandLine; +import commands.CommandBundle; +import javafx.application.Application; +import javafx.event.ActionEvent; +import javafx.event.EventHandler; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.HBox; +import javafx.stage.Stage; + +public class Main extends Application +{ + @Override + public void start(Stage stage) + { + try + { + AnchorPane mainPane = new AnchorPane(); + Scene scene = new Scene(mainPane, 600, 600); + + stage.setTitle("Test"); + stage.setScene(scene); + stage.setResizable(true); + + CommandBundle cb = new CommandBundle(); + + CommandLine cmd = new CommandLine(stage, null, ResourceBundle.getBundle("commandLine/", Locale.GERMANY), cb); + + HBox hbox = new HBox(); + + Button button = new Button("Open"); + button.setOnAction(new EventHandler<ActionEvent>() + { + @Override + public void handle(ActionEvent event) + { + try + { + cmd.showCommandLine("CommandLine", 400, 250, 400, 200, -1, -1, false); + } + catch(IOException e) + { + //ERRORHANDLING + e.printStackTrace(); + } + } + }); + hbox.getChildren().add(button); + + Button button2 = new Button("Close"); + button2.setOnAction(new EventHandler<ActionEvent>() + { + @Override + public void handle(ActionEvent event) + { + cmd.closeCommandLine(); + } + }); + hbox.getChildren().add(button2); + + mainPane.getChildren().add(hbox); + + stage.show(); + } + catch(Exception e) + { + e.printStackTrace(); + } + } + + public static void main(String[] args) + { + launch(args); + } +} \ No newline at end of file -- GitLab