From 69c2c2aff5bc3d0df2ac8f5ef9f9a30d65020548 Mon Sep 17 00:00:00 2001 From: Meruemon Date: Tue, 22 Mar 2022 14:01:22 +0100 Subject: [PATCH] GUIMCMenu erstellt mit start, step, pause und reset button --- bin/View/GUIMCMenu.class | Bin 0 -> 2867 bytes bin/View/GUIMenuBar.class | Bin 12299 -> 12300 bytes bin/View/GUIPorts.class | Bin 3717 -> 6497 bytes bin/View/GUIRamTable.class | Bin 0 -> 1115 bytes bin/View/GUIRegister.class | Bin 4721 -> 5466 bytes bin/View/GUIStack.class | Bin 0 -> 3095 bytes bin/View/GUITestFileTable.class | Bin 5936 -> 5802 bytes src/View/GUIMCMenu.java | 94 +++++++++++++++++ src/View/GUIMenuBar.java | 17 +-- src/View/GUIPorts.java | 182 +++++++++++++++++++++++++++----- src/View/GUIRamTable.java | 39 +++++++ src/View/GUIRegister.java | 41 +++++++ src/View/GUIStack.java | 100 ++++++++++++++++++ src/View/GUITestFileTable.java | 23 ++-- src/View/MyView.java | 2 +- 15 files changed, 443 insertions(+), 55 deletions(-) create mode 100644 bin/View/GUIMCMenu.class create mode 100644 bin/View/GUIRamTable.class create mode 100644 bin/View/GUIStack.class create mode 100644 src/View/GUIMCMenu.java create mode 100644 src/View/GUIRamTable.java create mode 100644 src/View/GUIStack.java diff --git a/bin/View/GUIMCMenu.class b/bin/View/GUIMCMenu.class new file mode 100644 index 0000000000000000000000000000000000000000..9d14cada3b97e0c6e57cc3feafce6a2b7e6cab9d GIT binary patch literal 2867 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 UijEom8-K$aEIWh0YZ1Qre{|qxP5=M^ diff --git a/bin/View/GUIRamTable.class b/bin/View/GUIRamTable.class new file mode 100644 index 0000000000000000000000000000000000000000..18513a97232ec2f2955f30a124ce22cd4cf15ee7 GIT binary patch literal 1115 zcmbVKTTc@~6#j;7yRfXV%S8kPL@u_gu-P z;)98`i3ERu? zuJY0v-}Hr!1Vh(z{*u3Pql#DFai6U4vhW$&d9cXC7i+tsBpB?CoCLYN61xk5AA~au zCJ%Dn&Td?X=sb!RdCVDlHtJ}fQ^0&2Qe48f@#wMO+ain@y8n#`{?xLdBCieQ$r$ar7G9$_A%z0(8yjR*3p{kbh<$^8l7kKE&wW&K3@vcY1 z?8=>8E27`X2Yca`Sn_cA68GSTB zI=jdS2+K%LI5l)TR_Xw~MQxuB8%H*N**L7BFJDYZmzA@YtyN_wmF-&eDLW-?&Bj-H zrX2c7jJKL{wALNgy0WVnXw23STBT~vuCm#9XXBfVAOD;1qLVnla8c6^Fp{rg)R9UR zW6nM%iZxuRB2B78>a{ASoDZ1Vhg-DS8=F0?;l@YYeoyqZ;69y`isCUOFn|z)_>Lj` g#4rvq!jc$e7RK2)t>^>7n#Tm=A!Zc)vntBmAHaP8xBvhE literal 0 HcmV?d00001 diff --git a/bin/View/GUIRegister.class b/bin/View/GUIRegister.class index f8a65c9bdc821b099c8eda8fca76482c5ffeb8df..db88222c38b5b627baf1c52cc26fd9f4ce9e1cd3 100644 GIT binary patch delta 1945 zcmZ`)d2AF_9RA+U?96sL1$qIMw6+zo+fyp>sPM;v78mJ}wpIa+8QQho+H7@qYmB1n zi3kQ8CKv-KsYiMs(9*I!1qD&5B7%aIqF5^4ifFZ7bp6fj8N_Td?|a{y-}gJ`?YY?} zGNqx({yjb)7BIe3$`?{3C}@+>j%^H*%jUk(p{%U8RWtAz%gvSQd?D`=2AK}ZY&CY5 z+vapJ7&BH_&6OfLRfmuwbjj$(Zgqn&JEjBq5<1W;qYwS+eqqk^K^d=Ok6*e{sc*Dd z+zd0+xyE>pl{6Tl6?=rTVTG0CT@^)TS2DyctyAt(^6C{wObnd#8DAP)a%4__K|wKm@9lDV;G;RP2!x?5qu`%Bn76&)#$d@=UFKd z#ogeP@i|VZ$HjDERK{tHsgq*n!ZR|y!Wcsgm2aU^b$5-kq0vztjS+k!<6C@3@zpA> zV%z;x6E4HNTnlAXdz_K*6MhzPR;@FoaOd!gy3Vv%7?<%IepiQ0bIpIq_)}BX8nf7G zuU^zp-{6$MY37_}&S6{v!?>CsHOhpp1nDs@DvwwLfNkp5m`%x<-MEYMqLtQKZSABJ z1D>L1B@)%bDK~p+@DgfiGVEAG>~y~^p2k|*neZ}R!*+7Pumd~knFg>C@Q9|>IDn32 zSzK-}cJ;vPMNg4V@L{4@CyZgDfY%uz%yQ^m)yjz;1c>iT-d z<5|5U_xNia=m=FEd+`Q!A{OI#6Z@!N>14N`5JwJ=;4MNtx!sEcgpA~TJKiQFPzamx z4k3{OS%Y^8na~u6MjRvm3@r1sl)2|se`A*WA%L~oo+MtCJw)j3| z@q>x3N9IDCi|2AdD!P!KiY}z55)=xh;?Z*n(&xiXUXRPD zftxWCFCYgm;u>s)h42zI<4(F{>@;C6yh7i>t2FA(Gzu+frQa^JVURAMgS0JYUEC$38YDF43Oe8cBJSC@rQ}W_JongQ+61HIK lOdllhBFIR@h;uAa=hBc?1DM8}PIse*guWzkC zdz}jWGtuh3wx>IjVJ3ffS~Z4#&InF1*`z3699kL*MncU^!KdO*xVfn=5sox8Iu;MH z#pV;X>Vw9_q7G^-I@oTrgPr=SG1*Aj?4nDbG-nxm*k`g=S9vF>&-5(sbmM@{=X{}C zypt=_95ne#QSA0f#KV!`WAR2O6puPKUvo%zdnXu&ZNA}%zT^#5_St;P5k*m~Fgy;Vr?~OEQ13F6zkqvqKA|#WI`I zoY67g9HZan96#$G-+lh`HW#uzZ0Rw_2{$|%jYP$;2jP0MTo3&gihg~UHJ}Q2{A<1D z@s-PI0q~J-yKP-jr>Fwj^Qohd%Oy&=W!RZ5LDKh6wz9&V>Hu#-i5`M+z~wjQ_bI84!D3R%o}`A;FjG+t!3 z{OgIj!&J&$cyef%vH~X2&3ZBB&#V1fL;)=%M=(l0n{0R{VJ@{##o~{>O`3;(BpQTrd6`y-09tFE?3nL9P`S zY_rm)!B?;YVJ}-SU7AV~A5tf(KYit?0S5uz+Rq?8}MqGOw^g_N_&>ZKdp6 zlI?P`k5@S)@iAVP#b3pFTDd}-Qmj@ZX;r1HQGVW3GkEJBHIuj1T-K_m<#0alD2I2| z3f@z#Xr(1y&--d4AL`E1@@IZ^SE!m&e#0m0zJRIxPO+#BRPhI8qORn!(qbqp%v^TA pn5t#em<$#pOk^aJv>snJt|AQ;CHI#EGFgh7LDuz8xnICv*8z|NU?2bh diff --git a/bin/View/GUIStack.class b/bin/View/GUIStack.class new file mode 100644 index 0000000000000000000000000000000000000000..ad5885df4c6de5473140094c5ba9c33b975ba7b6 GIT binary patch literal 3095 zcmbVOTX0lW7G0-bx6@ptJG>Ea1i?-R(lLNKG%%WAprr{)AWlz2J?UJMhNLfZ`-aCb zfaB;qnDOn0<*!;+QAJr=B(bE>FU!&|t0=4dn2#BzYHIwO@39ouK7G4$6X$Cx)#vWB z_da{=vtK7){_yc9w{K%N-mnl+SUgm9&gAzUEe`s+a?(Ofq5XtDtksZe#@xg z@=QY4_iA5LJ{(w_&;%XyJz`VdrtAA1J?eOMg{A*fBY-)gM<(dk0vN*;m|fLc)!(BK z&2|ha#QNM(Cxs}M*+?T}VTHmS^Y4?wa;y^RYM#y(i^YziHYnU_BaVbn>ugv^Sh#Cp zyv)^-xLYA^0+7ObY!plPC@jx5!WO<{!|-MsNwis5Y@tITZJY^dCDEy%x&?TvjT9CM zmA7Hbf%_J^V6L4)H?|4xc7FioPnvy5yuO%(q3{adSXa>RmoDojQQhLW_3wv zUI7*?^fAn>WbE^*qrG~p&#l#cPgiSxJ%wH@v(T@wVxd+^pL3`D6du7caj|IQQ5;|q z(Zz;{mV*pP;Wl^&bxn^sUO}$ji-R@>aEQ4ZBk)L6*@vdeeUEbx8~IRLMZ*Mh_iFt(EV6ibG`M`>ldV+j@ft$PctpN zS-sgPr`XjzWi7!w_vHU-wSwcLv;N>ol_ z(gIs~wS>Ld$-S<}?(EkU-}TPfsKI6RRy;@hj+8+|tkCrn$BG^ECc=oZlW*wrjtalF z;eiDr*=w3v-!RhzpMOYdFIhFyXTW1@O!pnsr-FKuLNzQVH#^KqwQx>h<-$(ul|pxz z&@9f|_$@9dSf};Glym5~^l#vHKGd7^_AEBa@~n;D;W>KYbN0yu<3P$b?z!MVH=eig z0{)9|7XocVGqW`EvM}FJ}e6 zF`ncw<=PIYo77eOzL1;6(p)-m1Ix?N>s&Ipox%4R{C5^B2g@;GrAz67^kK7)n|(gb zKeJEBKAOSTJZ2bH%f^+cVI%`a`l#7YV@((>WZFQ@M>l90T+QH{4F2{10c{vTaLEp26@R49S_lo5N(C%WQb0OmC_-tX>7^0^rq28C%VhI zYvf)-*DQLbu_HHw2XfIF?EHY~iC_=c9N!LL6O*-;-L($?#9jCg->PA3P~+IB&SSH> zgnQNVEdO6n({3aY58+{BgO5QY!FZWv5+Sc}9lhmQ>@CrOM@a0O!T!$ZG)l5O)|t*s zV=zabHg(Qms53^M>~_d*&aKU+vO4($ZpBjMv5NC(9qz+M^k56Nk=l-(*kN2+(SQwH zN>chO4AUtk?@_}!H5oW}>&`255%{}VS&sa!j68%Hi-PLCT(6sm@b_ryQKi5Z-F567t^C~LwfYr-f-(nK+mCd!%?iqSDBM!}#^ z8lXrFqb9Wjj2!SFW4DtDE--St7_Z$ZQCcQdVZ`5k=hVl^&On=__8RR#+e}WS6N$9W8YrK*>Y#J z>m&ST78hr5>7Zf6<`@Hp5uao1WQ+1lBE(^bl4FH9oCxG3LmZ9-a?;^r916k;pKFu! zZHclSelOJ4Sd&^Ei?_&lqD3aG7HK70WHLRc(UvwUb5-2W<^cau$Y2l~aD+8`l<^(n ze+5tA1lJ49!z--Sx9}w1!7;qgNBmk5NyUlwDqbR$Ao3+P>t#;y3z#7OWp>#s^yF1i MGNWH3S_H5E2*AzMa{vGU literal 0 HcmV?d00001 diff --git a/bin/View/GUITestFileTable.class b/bin/View/GUITestFileTable.class index a84f1bc00e378b07284c851856d81bf895f4b8aa..6d59defc5639adb76d515a1d1467f801f3cc4d63 100644 GIT binary patch literal 5802 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 literal 5936 zcmbVQ33yc175;B#dCBAf36S7Gq6CqWNy4y58VQReEC!R1k`N58kK~aIOy=Rs1Ois; zg8S0iQj1hk)UUYVRx?4P)}^gWYi;XNY+Y)l+Qlx~-7Wp^eQzc+A%36j@a4Vx?mOq) zbN>6EbI;?sPal44Xb6i$u7)gug4T$+ExdAVU5nWhUlEC#EyjkZslh8SX_K+l=nMC3 zi^Mv^tD4(wD;jMwVy1wvr#>R@8BCO_WuHS;$tpd+r63ZRnCYA&A>fa+beY|ZNYv5C4HDCO%jhsW zIJ2HJhPBMFH@hx_=mF~%8vK}SBu%eSRECSan5GJ&zm zUdpEcLa30d&0=&j>+0%CTcyHm9R(;S5;NG`~z3uZb9rIW0*RYrHBj-{v}E=C8j&5&EYVUyV&uP$9LEiKcr z94m-?j~QRy5s6EJ6UUkBOItOZltfQPyV8zy)EnEa-gp2ju}XSyGTF|M<%;vrpraA1 z$y-`-JIJ>v5{UIC?3wdy8eOJ2QH8AIPe4GG`lm zyEmA&%kJ^@R=W{xHSCDQ%boPbyCO`ON%f;v4enjQl66FFJAt!E{;0rFnTe9xZOZ4Q za#&g&HDpSSb)=ZNu4Rp(Ei>WYq7gkn{;eOkWSfVx3$$= z8jVVtb?b=9SzkK=w>4~W*&9wWrpD+@lEy-j1_CriMv^X2YsGrvwh@WNdjha!I@s8% zV;jcPa3^WkCwFeUjvY9M4s@FF2BWXuWbOQ{0PCc0=ju2QUm=-$B0I=wR){)j`2rmm zrYvvQu+uH(=~378Mxq_29l#~HOv9zD+sfy(G}Cc8t`N|+8qr>J^+uUubuM4iq^bkB z2#e(9Y8}_$s{+|^%Q*~KB4>`OP=#w{Zhf6dx_gvvP$gRxcIo>`iu;ybif({A!J{`B>9&vvZ9gp?Xu`8a0U8xB&2i^rBAZ#$POzOKSEx5b5O@a5{08ExUS1IU7I}WQUac?a=VGi5o^;Wmj$VFJmnY3^F2JF;qj3tLP|o%lhRKK##$bOb+L9PCo8A)?fW`@ zAYW$lrF&RX9>$s@o7gyZ}ARU8)M%$vY5E3CVB8X9lysP z2p8c|JW!pKtQ4h3v{wPVhd*ohlRz;2w5hRd7Q+=rJAGvp{tNy}&XHl$o$2PI6b_108?E-^mSfG->5%$4W9CGL=eOB_#jU@h|+F9906BJV9$ z17|4S8ykK##(lL`&9N)B)|l+nV+vahg%oeLdhK>oHn=Q=BR?T#NqA90pF99^_~(P4 zSIBOZvvMX20bbdYrk-^^volRSkL5FaMqVNNRCQ;Us_tw))t#*;?^1{TFt3wo_%z!0 z0pga>0H%ZnQQS6wWBM_5csOl%I6dU)#|(Ly8OrlNicp(pke7T6<>Qlld^mve<~FaK z%B#<7%v+bW1`^wrW#tEDnmSF7dY zKt2xT!@f!eY`tZei82T+$l zeHrJQ)(xVW%4-{4)dk+5w?fWSaeB}zHOu5pO-$pPCDfqtR%u+>Os(M93za2s%KhBC zES$z`3{!Xw!^`iGaopp{{Jc1h9~L3*YZ#@t5g{=avqcbdMG3z($}nFXk4kX@s>BL@ zRMhk1p#=-Y>HN6u;HN_jOGGbD6z5^7xQrhPSEE*3hh^dho@e{m-=EIaj(1psGjJx^ zQi2O`7TG3fdm9XF;1_ZWTmE)*z(c#sVe+k)9NUOadhKwyOES(=PF|0pjXeyqGJyzh z(-Mfvka=?f;qHuzPk2G^apWKTY+{E7Z2dd1g_$Ker-WOIu#5k8*)6yGdF>6 z1l7>X;kSYT$$(&XFc8d1U{5f|OV8ZhUyvKj<=Y#nH!Ya!_z}!?<$Ox6s;#U*^L8X~ z^W(Urz3*C%SM2HsMx&Hyl6|2hokE$m3^W;paFThtPw!5XZaJcpqEwA^HTcLlm*epMfun za-1vX^9ZfR`C=(95GUb6aWc*jYjLqSgFU&0%gEr%#X0Q5&&QSGa$F^@#ns|^HrkTC zI~~S3?3LWZ4^iw4nvA93VElURixbL2;}$inj+ zX^inb{DivMjPQB9K;0b1cRPN{xC4x4lgfr%#t_EOIHxmG@XEl{`Y&?y5@(8#HAK*| zH3$vG8s=%R1%JRtJlX_a#w)1|`i0CO+GBIYyN~-d?LH2ivfx*fyHvnx89J`gmGAkr zlrnNi8F_-wEc}=+GiZ@#v8U3zAIFvzkQtJV3A|c-8}ibh7w`0n0&mg2q1TJ=rlP}; zqlpA?15Mq?(O%+w6B%+dYtdewx3?;1RPDh0B>EgV==;d7*N9~nHD@WzJw&cl;p-hn zOUWnE;(zFTiZO(zD2w5;tL2rLh`ro7FFiRNnj()VRZL!Q+>com58*9=$5GW#PQt&d zGFXjN0;`d4?m_%9f%hr;4}m>HFGySy$WU({R{u{*{lj$ikJ8nrJL)CL)#nYXf1FbP zB&qQl7pzQr_i^$;I`~N_IsK^`$+;n!pB|N;Yt#vU7tudJ6z;)v+)E_yLp7h5@iV85 z__X6eW?Mfg@BqI(2e6yjcMHE&?&i3kpCeD=QL^_jyvi?(w+U3L+T(C)#}1Qj;}y~+ zBqpmpEte>MXVKn7=7h{4$>u`%hh*s|o7t4HK|^RlXhJccJjuPnE_$Cu+2vERZbOaS zt0{_fRWeq;EU_czG+Ap$%w@ZqHVj6g;`7tIKEw9rSyYfx%b2z@ph9QCR6xsxR|O

bYE;mh>!6)t?}Gd%Q<^e{_y?+)K_Den@) zFc+Ou&&!NE`2;e+`N{e)iGRna_xmA_!*G3>tQHP+CaWg%4f^sXrm|ce$Gw`#Ew5k^ h9!4zeBIaXD!Csb&O2n9iA7iQ}vNay@LLKfR@Lz=;;I{w( diff --git a/src/View/GUIMCMenu.java b/src/View/GUIMCMenu.java new file mode 100644 index 0000000..a01e057 --- /dev/null +++ b/src/View/GUIMCMenu.java @@ -0,0 +1,94 @@ +package View; + +import java.util.ArrayList; + +import java.awt.Color; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Insets; + +import javax.swing.JPanel; +import javax.swing.BorderFactory; +import javax.swing.JButton; + +public class GUIMCMenu extends JPanel { +/** + * Color oWhite = new Color(255, 253, 250); + * Color oDarkGray = new Color(76, 78, 82); + * Color oDarkGrayB = new Color(47, 47, 47); + * Color oLightBlue = new Color(173, 216, 230); + * Color oOrangeDM = new Color(255, 170, 0); + * Color oLightBlueDM = new Color(0, 213, 255); + * Color oOrangeDMB = new Color(255, 85, 0); + * First Color == TextColor + * Second Color == BackgroundColor + * Third Color == BorderColor + * Fourth Color == TextColor Marked + * Fifth Color == BackgroundColor Marked + * Sixth Color == BorderColor Marked + */ + Color[] aoDarkTheme = {new Color(255, 253, 250), new Color(76, 78, 82), new Color(47, 47, 47), new Color(0, 213, 255), new Color(255, 170, 0), new Color(255, 85, 0)}; + Color[] aoLightTheme = {new Color(76, 78, 82), new Color(255, 253, 250), new Color(173, 216, 230), new Color(0, 213, 255), new Color(255, 170, 0), new Color(255, 85, 0)}; + + JButton oButtonStart = new JButton(); + JButton oButtonStep = new JButton(); + JButton oButtonPause = new JButton(); + JButton oButtonReset = new JButton(); + + ArrayList oButtons = new ArrayList(); + + public GUIMCMenu() { + buildGUIMCMenu(); + fillList(); + } + + private void buildGUIMCMenu() { + GridBagConstraints oConstraints = new GridBagConstraints(); + this.setLayout(new GridBagLayout()); + oConstraints.gridx = 0; + oConstraints.gridy = 0; + oConstraints.insets = new Insets(2, 0, 2, 0); + oConstraints.anchor = GridBagConstraints.WEST; + this.add(oButtonStart, oConstraints); + oConstraints.gridy = 1; + this.add(oButtonStep, oConstraints); + oConstraints.gridy = 2; + this.add(oButtonPause, oConstraints); + } + + private void fillList() { + oButtons.add(oButtonStart); + oButtons.add(oButtonStep); + oButtons.add(oButtonPause); + oButtons.add(oButtonReset); + } + + public ArrayList getControlButtons() { + return oButtons; + } + + public void setTheme(int iThemeNr) { + switch (iThemeNr) { + case 0: { + for (JButton oButton : oButtons) { + oButton.setForeground(aoLightTheme[0]); + oButton.setBackground(aoLightTheme[1]); + oButton.setBorder(BorderFactory.createLineBorder(aoLightTheme[2])); + } + this.setForeground(aoLightTheme[0]); + this.setBackground(aoLightTheme[1]); + this.setBorder(BorderFactory.createLineBorder(aoLightTheme[2])); + }break; + case 1: { + for (JButton oButton : oButtons) { + oButton.setForeground(aoDarkTheme[0]); + oButton.setBackground(aoDarkTheme[1]); + oButton.setBorder(BorderFactory.createLineBorder(aoDarkTheme[2])); + } + this.setForeground(aoDarkTheme[0]); + this.setBackground(aoDarkTheme[1]); + this.setBorder(BorderFactory.createLineBorder(aoDarkTheme[2])); + }break; + } + } +} diff --git a/src/View/GUIMenuBar.java b/src/View/GUIMenuBar.java index d7ca917..eafc371 100644 --- a/src/View/GUIMenuBar.java +++ b/src/View/GUIMenuBar.java @@ -25,7 +25,7 @@ public class GUIMenuBar extends JMenuBar implements ActionListener { GUIRegister oGUIRegister; GUIRegistersDetailed oGUIRegistersDetailed; - ArrayList oCheckBoxes; + ArrayList oBreakpoints; ReadEepromFile oRef; boolean[] bBreakpointSet; int iTestFileLoaded = 0; @@ -546,22 +546,23 @@ public class GUIMenuBar extends JMenuBar implements ActionListener { oRef.setData(oFile); oRef.setOPCode(oRef.getData()); oGUITestFileTable.setData(oRef.getData()); + ArrayList data = oRef.getData(); int iDataSize = data.size(); ArrayList opcode = oRef.getOPCode(); int iOPCodeSize = opcode.size(); if (iTestFileLoaded > 0) { - oCheckBoxes = oGUITestFileTable.getCheckboxes(); + oBreakpoints = oGUITestFileTable.getCheckboxes(); for (int i = 0; i < iDataSize; i++) { - oCheckBoxes.get(i).setEnabled(false); + oBreakpoints.get(i).setEnabled(false); } } for (int i = 0; i < iDataSize; i++) { for (int j = 0; j < iOPCodeSize; j++) { if (data.get(i).equals(opcode.get(j))) { - oCheckBoxes = oGUITestFileTable.getCheckboxes(); - oCheckBoxes.get(i).setEnabled(true); - oCheckBoxes.get(i).addActionListener(this); + oBreakpoints = oGUITestFileTable.getCheckboxes(); + oBreakpoints.get(i).setEnabled(true); + oBreakpoints.get(i).addActionListener(this); } } } @@ -576,8 +577,8 @@ public class GUIMenuBar extends JMenuBar implements ActionListener { if (oRef != null) { int iOPCode = oRef.getOPCode().size(); if (iOPCode > 0) { - for (int i = 0; i < oCheckBoxes.size(); i++) { - if (e.getSource() == oCheckBoxes.get(i)) { + for (int i = 0; i < oBreakpoints.size(); i++) { + if (e.getSource() == oBreakpoints.get(i)) { for (int j = 0; j < iOPCode; j++) { if (oRef.getOPCode().get(j).equals(oRef.getData().get(i))) { bBreakpointSet[j] = !bBreakpointSet[j]; diff --git a/src/View/GUIPorts.java b/src/View/GUIPorts.java index c117406..7a0ab60 100644 --- a/src/View/GUIPorts.java +++ b/src/View/GUIPorts.java @@ -1,14 +1,35 @@ package View; +import java.util.ArrayList; + import java.awt.GridBagLayout; import java.awt.GridBagConstraints; +import java.awt.Color; +import javax.swing.BorderFactory; import javax.swing.JCheckBox; import javax.swing.JLabel; import javax.swing.JPanel; public class GUIPorts extends JPanel { - + /** + * Color oWhite = new Color(255, 253, 250); + * Color oDarkGray = new Color(76, 78, 82); + * Color oDarkGrayB = new Color(47, 47, 47); + * Color oLightBlue = new Color(173, 216, 230); + * Color oOrangeDM = new Color(255, 170, 0); + * Color oLightBlueDM = new Color(0, 213, 255); + * Color oOrangeDMB = new Color(255, 85, 0); + * First Color == TextColor + * Second Color == BackgroundColor + * Third Color == BorderColor + * Fourth Color == TextColor Marked + * Fifth Color == BackgroundColor Marked + * Sixth Color == BorderColor Marked + */ + Color[] aoDarkTheme = {new Color(255, 253, 250), new Color(76, 78, 82), new Color(47, 47, 47), new Color(0, 213, 255), new Color(255, 170, 0), new Color(255, 85, 0)}; + Color[] aoLightTheme = {new Color(76, 78, 82), new Color(255, 253, 250), new Color(173, 216, 230), new Color(0, 213, 255), new Color(255, 170, 0), new Color(255, 85, 0)}; + JPanel oPanelPortA = new JPanel(); JPanel oPanelPortB = new JPanel(); @@ -24,38 +45,46 @@ public class GUIPorts extends JPanel { JLabel oPinA = new JLabel("Pin"); JLabel oPinB = new JLabel("Pin"); - JCheckBox oRA4 = new JCheckBox("RA4"); - JCheckBox oRA3 = new JCheckBox("RA3"); - JCheckBox oRA2 = new JCheckBox("RA2"); - JCheckBox oRA1 = new JCheckBox("RA1"); - JCheckBox oRA0 = new JCheckBox("RA0"); + JCheckBox oRA4 = new JCheckBox("4"); + JCheckBox oRA3 = new JCheckBox("3"); + JCheckBox oRA2 = new JCheckBox("2"); + JCheckBox oRA1 = new JCheckBox("1"); + JCheckBox oRA0 = new JCheckBox("0"); - JCheckBox oTRISA4 = new JCheckBox("TRISA4"); - JCheckBox oTRISA3 = new JCheckBox("TRISA3"); - JCheckBox oTRISA2 = new JCheckBox("TRISA2"); - JCheckBox oTRISA1 = new JCheckBox("TRISA1"); - JCheckBox oTRISA0 = new JCheckBox("TRISA0"); + JCheckBox oTRISA4 = new JCheckBox("4"); + JCheckBox oTRISA3 = new JCheckBox("3"); + JCheckBox oTRISA2 = new JCheckBox("2"); + JCheckBox oTRISA1 = new JCheckBox("1"); + JCheckBox oTRISA0 = new JCheckBox("0"); - JCheckBox oRB7 = new JCheckBox("RB7"); - JCheckBox oRB6 = new JCheckBox("RB6"); - JCheckBox oRB5 = new JCheckBox("RB5"); - JCheckBox oRB4 = new JCheckBox("RB4"); - JCheckBox oRB3 = new JCheckBox("RB3"); - JCheckBox oRB2 = new JCheckBox("RB2"); - JCheckBox oRB1 = new JCheckBox("RB1"); - JCheckBox oRB0 = new JCheckBox("RB0"); + JCheckBox oRB7 = new JCheckBox("7"); + JCheckBox oRB6 = new JCheckBox("6"); + JCheckBox oRB5 = new JCheckBox("5"); + JCheckBox oRB4 = new JCheckBox("4"); + JCheckBox oRB3 = new JCheckBox("3"); + JCheckBox oRB2 = new JCheckBox("2"); + JCheckBox oRB1 = new JCheckBox("1"); + JCheckBox oRB0 = new JCheckBox("0"); - JCheckBox oTRISB7 = new JCheckBox("TRISB7"); - JCheckBox oTRISB6 = new JCheckBox("TRISB6"); - JCheckBox oTRISB5 = new JCheckBox("TRISB5"); - JCheckBox oTRISB4 = new JCheckBox("TRISB4"); - JCheckBox oTRISB3 = new JCheckBox("TRISB3"); - JCheckBox oTRISB2 = new JCheckBox("TRISB2"); - JCheckBox oTRISB1 = new JCheckBox("TRISB1"); - JCheckBox oTRISB0 = new JCheckBox("TRISB0"); + JCheckBox oTRISB7 = new JCheckBox("7"); + JCheckBox oTRISB6 = new JCheckBox("6"); + JCheckBox oTRISB5 = new JCheckBox("5"); + JCheckBox oTRISB4 = new JCheckBox("4"); + JCheckBox oTRISB3 = new JCheckBox("3"); + JCheckBox oTRISB2 = new JCheckBox("2"); + JCheckBox oTRISB1 = new JCheckBox("1"); + JCheckBox oTRISB0 = new JCheckBox("0"); + + ArrayList oCheckboxes = new ArrayList(); + ArrayList oLabels = new ArrayList(); + ArrayList oPanels = new ArrayList(); + + boolean bCheckboxesInit = false; public GUIPorts() { buildGUIPorts(); + fillLists(); + setTheme(0); } private void buildGUIPorts() { @@ -104,7 +133,7 @@ public class GUIPorts extends JPanel { oPanelPortA.add(oPanelPortAPins, oConstraints); oConstraints.gridx = 0; oConstraints.gridy = 2; - oPanelPortA.add(oTrisA); + oPanelPortA.add(oTrisA, oConstraints); oConstraints.gridx = 1; oPanelPortA.add(oPanelPortATris, oConstraints); @@ -117,7 +146,7 @@ public class GUIPorts extends JPanel { oPanelPortB.add(oPanelPortBPins, oConstraints); oConstraints.gridx = 0; oConstraints.gridy = 2; - oPanelPortB.add(oTrisB); + oPanelPortB.add(oTrisB, oConstraints); oConstraints.gridx = 1; oPanelPortB.add(oPanelPortBTris, oConstraints); @@ -129,4 +158,99 @@ public class GUIPorts extends JPanel { oConstraints.gridy = 1; this.add(oPanelPortB, oConstraints); } + + private void fillLists() { + oPanels.add(oPanelPortA); + oPanels.add(oPanelPortAPins); + oPanels.add(oPanelPortATris); + oPanels.add(oPanelPortB); + oPanels.add(oPanelPortBPins); + oPanels.add(oPanelPortBTris); + oPanels.add(this); + + oLabels.add(oPortA); + oLabels.add(oPinA); + oLabels.add(oTrisA); + oLabels.add(oPortB); + oLabels.add(oPinB); + oLabels.add(oTrisB); + + oCheckboxes.add(oRA0); + oCheckboxes.add(oRA1); + oCheckboxes.add(oRA2); + oCheckboxes.add(oRA3); + oCheckboxes.add(oRA4); + + oCheckboxes.add(oTRISA0); + oCheckboxes.add(oTRISA1); + oCheckboxes.add(oTRISA2); + oCheckboxes.add(oTRISA3); + oCheckboxes.add(oTRISA4); + + oCheckboxes.add(oRB0); + oCheckboxes.add(oRB1); + oCheckboxes.add(oRB2); + oCheckboxes.add(oRB3); + oCheckboxes.add(oRB4); + oCheckboxes.add(oRB5); + oCheckboxes.add(oRB6); + oCheckboxes.add(oRB7); + + oCheckboxes.add(oTRISB0); + oCheckboxes.add(oTRISB1); + oCheckboxes.add(oTRISB2); + oCheckboxes.add(oTRISB3); + oCheckboxes.add(oTRISB4); + oCheckboxes.add(oTRISB5); + oCheckboxes.add(oTRISB6); + oCheckboxes.add(oTRISB7); + + bCheckboxesInit = true; + } + + public ArrayList getPorts() { + if (bCheckboxesInit) + return oCheckboxes; + else + return null; + } + + public void setTheme(int iThemeNr) { + switch (iThemeNr) { + case 0: { + for (JPanel oPanel : oPanels) { + oPanel.setForeground(aoLightTheme[0]); + oPanel.setBackground(aoLightTheme[1]); + } + for (JLabel oLabel : oLabels) { + oLabel.setForeground(aoLightTheme[0]); + oLabel.setBackground(aoLightTheme[1]); + } + for (JCheckBox oCheckBox : oCheckboxes) { + oCheckBox.setForeground(aoLightTheme[0]); + oCheckBox.setBackground(aoLightTheme[1]); + oCheckBox.setBorder(BorderFactory.createLineBorder(aoLightTheme[2])); + } + oPanelPortB.setBorder(BorderFactory.createLineBorder(aoLightTheme[2])); + this.setBorder(BorderFactory.createLineBorder(aoLightTheme[2], 2)); + }break; + case 1: { + for (JPanel oPanel : oPanels) { + oPanel.setForeground(aoDarkTheme[0]); + oPanel.setBackground(aoDarkTheme[1]); + } + for (JLabel oLabel : oLabels) { + oLabel.setForeground(aoDarkTheme[0]); + oLabel.setBackground(aoDarkTheme[1]); + } + for (JCheckBox oCheckBox : oCheckboxes) { + oCheckBox.setForeground(aoDarkTheme[0]); + oCheckBox.setBackground(aoDarkTheme[1]); + oCheckBox.setBorder(BorderFactory.createLineBorder(aoDarkTheme[2])); + } + oPanelPortB.setBorder(BorderFactory.createLineBorder(aoDarkTheme[2])); + this.setBorder(BorderFactory.createLineBorder(aoDarkTheme[2], 2)); + }break; + } + } } \ No newline at end of file diff --git a/src/View/GUIRamTable.java b/src/View/GUIRamTable.java new file mode 100644 index 0000000..af5725f --- /dev/null +++ b/src/View/GUIRamTable.java @@ -0,0 +1,39 @@ +package View; + +import java.awt.Color; +import java.awt.Dimension; + +import javax.swing.JPanel; +import javax.swing.JTable; +import javax.swing.JScrollPane; + +public class GUIRamTable extends JPanel { + /** + * Color oWhite = new Color(255, 253, 250); + * Color oDarkGray = new Color(76, 78, 82); + * Color oDarkGrayB = new Color(47, 47, 47); + * Color oLightBlue = new Color(173, 216, 230); + * Color oOrangeDM = new Color(255, 170, 0); + * Color oLightBlueDM = new Color(0, 213, 255); + * Color oOrangeDMB = new Color(255, 85, 0); + * First Color == TextColor + * Second Color == BackgroundColor + * Third Color == BorderColor + * Fourth Color == TextColor Marked + * Fifth Color == BackgroundColor Marked + * Sixth Color == BorderColor Marked + */ + Color[] aoDarkTheme = {new Color(255, 253, 250), new Color(76, 78, 82), new Color(47, 47, 47), new Color(0, 213, 255), new Color(255, 170, 0), new Color(255, 85, 0)}; + Color[] aoLightTheme = {new Color(76, 78, 82), new Color(255, 253, 250), new Color(173, 216, 230), new Color(0, 213, 255), new Color(255, 170, 0), new Color(255, 85, 0)}; + + String[][] assData = {{}}; + String[] asHeaders = {}; + JTable oRamTable = new JTable(); + + JScrollPane oScrollPane = new JScrollPane(); + + public GUIRamTable() { + oScrollPane.setPreferredSize(new Dimension(400, 350)); + } + +} diff --git a/src/View/GUIRegister.java b/src/View/GUIRegister.java index 7b7484d..934c27c 100644 --- a/src/View/GUIRegister.java +++ b/src/View/GUIRegister.java @@ -99,6 +99,47 @@ public class GUIRegister extends JPanel { this.add(oPanelSFR, oConstraints); oConstraints.gridy = 1; this.add(oPanelW, oConstraints); + + oSFRRegisters.setEnabled(false); + oWRegister.setEnabled(false); + } + + public void setRegisters(int[] aiRegisters) { + /* TMR0 + PC intern + STATUS + PCLATH + FSR + PCL + OPTION + Prescaler + W-Register + Size of array has to be 9. + */ + //String[][] asDataSFR = {{"TMR0", "0", "PC intern", "0"}, {"STATUS", "0", "PCLATH", "0"}, {"FSR", "0", "PCL", "0"}, {"OPTION", "0", "Prescaler", "0"}}; + //String[][] asDataW = {{"W-Register", "0", "", ""}}; + + String sTMR0 = aiRegisters[0] + ""; + String sPCIntern = aiRegisters[1] + ""; + String sSTATUS = aiRegisters[2] + ""; + String sPCLATH = aiRegisters[3] + ""; + String sFSR = aiRegisters[4] + ""; + String sPCL = aiRegisters[5] + ""; + String sOPTION = aiRegisters[6] + ""; + String sPrescaler = aiRegisters[7] + ""; + + String sWRegister = aiRegisters[8] + ""; + + oSFRRegisters.setValueAt(sTMR0, 0, 1); + oSFRRegisters.setValueAt(sPCIntern, 0, 3); + oSFRRegisters.setValueAt(sSTATUS, 1, 1); + oSFRRegisters.setValueAt(sPCLATH, 1, 3); + oSFRRegisters.setValueAt(sFSR, 2, 1); + oSFRRegisters.setValueAt(sPCL, 2, 3); + oSFRRegisters.setValueAt(sOPTION, 3, 1); + oSFRRegisters.setValueAt(sPrescaler, 3, 3); + + oWRegister.setValueAt(sWRegister, 0, 1); } private void setWidth() { diff --git a/src/View/GUIStack.java b/src/View/GUIStack.java new file mode 100644 index 0000000..aff2e96 --- /dev/null +++ b/src/View/GUIStack.java @@ -0,0 +1,100 @@ +package View; + +import java.awt.GridBagLayout; +import java.awt.GridBagConstraints; +import java.awt.Color; + +import javax.swing.JPanel; +import javax.swing.BorderFactory; +import javax.swing.JLabel; +import javax.swing.JTable; + +public class GUIStack extends JPanel { + /** + * Color oWhite = new Color(255, 253, 250); + * Color oDarkGray = new Color(76, 78, 82); + * Color oDarkGrayB = new Color(47, 47, 47); + * Color oLightBlue = new Color(173, 216, 230); + * Color oOrangeDM = new Color(255, 170, 0); + * Color oLightBlueDM = new Color(0, 213, 255); + * Color oOrangeDMB = new Color(255, 85, 0); + * First Color == TextColor + * Second Color == BackgroundColor + * Third Color == BorderColor + * Fourth Color == TextColor Marked + * Fifth Color == BackgroundColor Marked + * Sixth Color == BorderColor Marked + */ + Color[] aoDarkTheme = {new Color(255, 253, 250), new Color(76, 78, 82), new Color(47, 47, 47), new Color(0, 213, 255), new Color(255, 170, 0), new Color(255, 85, 0)}; + Color[] aoLightTheme = {new Color(76, 78, 82), new Color(255, 253, 250), new Color(173, 216, 230), new Color(0, 213, 255), new Color(255, 170, 0), new Color(255, 85, 0)}; + + JLabel oStackLabel = new JLabel("Stack"); + + String[][] asData = {{"0"}, {"0"}, {"0"}, {"0"}, {"0"}, {"0"}, {"0"}, {"0"}}; + String[] asHeaders = {"0"}; + JTable oStackTable = new JTable(asData, asHeaders); + + public GUIStack() { + buildGUIStack(); + setTheme(0); + } + + private void buildGUIStack() { + GridBagConstraints oConstraints = new GridBagConstraints(); + + this.setLayout(new GridBagLayout()); + + oConstraints.gridx = 0; + oConstraints.gridy = 0; + oConstraints.anchor = GridBagConstraints.WEST; + this.add(oStackLabel, oConstraints); + oConstraints.gridy = 1; + this.add(oStackTable, oConstraints); + } + + public void setTheme(int iThemeNr) { + switch (iThemeNr) { + case 0: { + oStackLabel.setForeground(aoLightTheme[0]); + oStackLabel.setBackground(aoLightTheme[1]); + oStackTable.setForeground(aoLightTheme[0]); + oStackTable.setBackground(aoLightTheme[1]); + oStackTable.setGridColor(aoLightTheme[2]); + this.setForeground(aoLightTheme[0]); + this.setBackground(aoLightTheme[1]); + this.setBorder(BorderFactory.createLineBorder(aoLightTheme[2], 2)); + }break; + case 1: { + oStackLabel.setForeground(aoDarkTheme[0]); + oStackLabel.setBackground(aoDarkTheme[1]); + oStackTable.setForeground(aoDarkTheme[0]); + oStackTable.setBackground(aoDarkTheme[1]); + oStackTable.setGridColor(aoDarkTheme[2]); + this.setForeground(aoDarkTheme[0]); + this.setBackground(aoDarkTheme[1]); + this.setBorder(BorderFactory.createLineBorder(aoDarkTheme[2], 2)); + }break; + } + + } + + public void setStack(int[] aiStack) { + String s0 = aiStack[0] + ""; + String s1 = aiStack[1] + ""; + String s2 = aiStack[2] + ""; + String s3 = aiStack[3] + ""; + String s4 = aiStack[4] + ""; + String s5 = aiStack[5] + ""; + String s6 = aiStack[6] + ""; + String s7 = aiStack[7] + ""; + + oStackTable.setValueAt(s0, 0, 0); + oStackTable.setValueAt(s1, 1, 0); + oStackTable.setValueAt(s2, 2, 0); + oStackTable.setValueAt(s3, 3, 0); + oStackTable.setValueAt(s4, 4, 0); + oStackTable.setValueAt(s5, 5, 0); + oStackTable.setValueAt(s6, 6, 0); + oStackTable.setValueAt(s7, 7, 0); + } +} diff --git a/src/View/GUITestFileTable.java b/src/View/GUITestFileTable.java index 4e897bf..cdabc00 100644 --- a/src/View/GUITestFileTable.java +++ b/src/View/GUITestFileTable.java @@ -19,7 +19,7 @@ public class GUITestFileTable extends JScrollPane { ArrayList oLineInformation = new ArrayList(); ArrayList oCheckboxes = new ArrayList(); ArrayList oPanels = new ArrayList(); - JPanel oTable; + JPanel oTable = new JPanel(); int iTheme = 0; boolean bFileLoaded = false; @@ -45,29 +45,18 @@ public class GUITestFileTable extends JScrollPane { * Constructor which initializes a filler. */ public GUITestFileTable() { - oTable = new JPanel(); - JPanel oTestPanel = new JPanel(); - - JTextField oFill = new JTextField("0"); - oLineInformation.add(oFill); + JTextField oFill = new JTextField("Please load testfile!"); oFill.setEditable(false); + oLineInformation.add(oFill); + JPanel oTestPanel = new JPanel(); oTestPanel.setLayout(new GridLayout(1, 3)); oTestPanel.add(oFill); - JCheckBox oCheckbox = new JCheckBox(); - JPanel oCheckBoxPanel = new JPanel(); - oCheckBoxPanel.add(oCheckbox); - oPanels.add(oCheckBoxPanel); - oTestPanel.add(oCheckBoxPanel); - oCheckboxes.add(oCheckbox); - oFill = new JTextField("Please load testfile!"); - oFill.setEditable(false); - oLineInformation.add(oFill); - oTestPanel.add(oFill); - + this.setPreferredSize(new Dimension(600, 700)); this.setViewportView(oTestPanel); + setTheme(0); } /** diff --git a/src/View/MyView.java b/src/View/MyView.java index 33e91a0..3d20e16 100644 --- a/src/View/MyView.java +++ b/src/View/MyView.java @@ -14,6 +14,6 @@ public class MyView { JPanel oGUIMainPanel; public MyView() { - + } }