From 76024cc09eccf2984b9dd1a889acbc0e54b05c08 Mon Sep 17 00:00:00 2001 From: Meruemon Date: Mon, 21 Mar 2022 16:07:59 +0100 Subject: [PATCH] Recreated SFR as table --- .../PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.class | Bin 4743 -> 4362 bytes .../PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.class | Bin 12625 -> 12621 bytes .../PIC_SIMULATOR_GUI_JAVA/GUIRegister.class | Bin 0 -> 4767 bytes .../PIC_SIMULATOR_GUI_JAVA/GUIRegisters.class | Bin 6802 -> 0 bytes .../GUIRegistersDetailed.class | Bin 6072 -> 6067 bytes .../PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java | 19 +- .../PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java | 11 +- .../PIC_SIMULATOR_GUI_JAVA/GUIRegister.java | 153 ++++++++++ .../PIC_SIMULATOR_GUI_JAVA/GUIRegisters.java | 288 ------------------ .../GUIRegistersDetailed.java | 8 +- 10 files changed, 170 insertions(+), 309 deletions(-) create mode 100644 bin/View/PIC_SIMULATOR_GUI_JAVA/GUIRegister.class delete mode 100644 bin/View/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.class create mode 100644 src/View/PIC_SIMULATOR_GUI_JAVA/GUIRegister.java delete mode 100644 src/View/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.java diff --git a/bin/View/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.class b/bin/View/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.class index db1d228aa43561779c249c5eb11402dff970061b..e1aab4cbfa2b71453a71ea0eebf3e8c039c786d0 100644 GIT binary patch delta 1510 zcmZvcYitx%6vuyey1TQT9k8t>bmbv5fzqXP3xZ0KCyg|BJ(=6H-)I=baTEgBFJBELGH4J$g;rAk5H0 z>RE2m$_j-m7;Rn}iz`&XHpfibY_l^QkF<2zmbgh`z_L;&rMPBUup{UXb|(FSXd;wM z7$oU5xt1=4J}w|nCRelQiqBy{^fQ4T`Zs{QA@3#)?Q(aq39_A72l3tzOYO;+-6^0O55J^Oqv`X!caraa% z(0NQT#Lm~{Pjp72VSivnFdPar$D(c?R}8K8w?&$hsdy;i52qrFT4Ui@bz3xSupP@z zInhQ>nLN!i3U@e^%=;@!##IiKVeNK%Tsuv6vD-T29%C4k^SoWo9&3EzaMueq+-Efw zPISCvvftWJc(K@w&7L2a7Yaub$&lz?Imd34bDD6CSulr)hG-q@^5LS6*Q^`oHKOljF$(VHRLq4+3c*vxZD%d);{yiW|XybiCkkB2gB_Bk?iXW8CVvZIeDYF$3BE5nl+($8k8m%I(Nx>wH! z^6GXzr`zeilFh5zO!8y9#Jmz$mpoowvPb((bza*fi!t)mWq593KlbIZeJaD=g)+R@ z0~GMGjBheNEmJiPMiZCr{)&%F`1y+(a!gbXZcu}nqK0#$s^DfdiK*%~YE?bAsQFA+ z&D^S@+^#yAt=3VmHWN@=X;3@3L+xXZI!L2B!d#W%PIZdA)CK0LAGlln#(Z^&sQQz1 zOkJi;8%(=aN?f~+gjPXPn?Opdr9-QuQ=3PZb}uWnMXcf#p?jY+P};`JPGl75UTn3Un;JaP#7Om@#HcIAFNz!bZ88UDv<+(w7sG&}OFeNqFg`$tnj=S4py0ZRFrK~nFM0n{re or=pkTFmUK1yoh!hM&u;1mS4-=xq53zPW0*Dlc?WF1dVV127XF$D*ylh delta 1810 zcmZuyX>=1+6#m}pWM(oQq=G#(2UhYxAp}YSS;|%n zi-;5f>wpTbAPR0ELQ|oDC?bdpB8nSAQB)8`T>kLKcwdMC&M`T;bMJTGecxT)yfkO6 z%GOT&v;R;uiV^s0w=xV<`jiKxjHMHQ8k1w2oOKS5ADxm;jD9U;`-7iX|ftgzW92zZ{19vpMlu~yhg_(0yeq* zp85p>S*K%t0$He`FIsdw2E*tg50N%9^l3@S?CSD{Mmeb=8}NjVu6UB+8)J#QjRlNe z%5ZtJj;HXnQLE%-KC9z7JWoBKWUD*@&-4ZtgOoE>WV)3h)##- z^1A~0?vSUZ!RPkn&Gou9Y{5%{q(Eppbi9mLjK7uM@@qO?$4(7KFvlG@{O&u-2z&T3+8^tQFC+mFLazi8rAA|H98wS_0FJ61H)H3 zzBXoQ-Q}}7zQZ|Vjn*f#1K%sSK&LF0b13L($hXnFok5>p#}Bw@oYJ!7pLG0;OU8B0 zn(>Q{E4W1DRM;qI-E6m?j%0l@I`Es0t42}sCQZtLnZDr1_gqZ&vT%y|faXZ*AHlc? zCPh$hcSs4tZFiUw#w@!-P8f6S4kcmCwL8>=5wJT_r7novnB%H>nlPLaep!MX|+{8^NQw5}7yLF;EtuwH+HA{jCIy zp{?XLJRZR&s}#XA?bzbz@t1bb_ONv9AO=>vCAlB*D#J<$9NV+8J94Dn_=f&F_EWX63;+6&p`zrfl59K z)w~Q-copXHnlSu)1_HbhLEeNAUyeq;9`pG|EZ|$QknhAIz8{PE5j62*Sb}${jv3Iz z`N0vqN0!izQiY6_u%$SLiz($k;J@gYFz8UC7i&AkSN*n_y`}vMCqoV#3wij znKD|8PjLzgub~U~GulSQX`{Atdg)=L(d&^)On1|h(bG)b{hWSZiVpKwhwmUpU@3KY z83itn<*DCT9M4nSJ;yo^41YUeJ9-V+hw}`F(YGv@CYG5rD1skjnnc=V^8U)OIeKXbj&<}mvL213hhfCB zwo(nEl6ZGX`<=oVZEzQ^p%c|RJ)xbZmBXQ=MQI|ELL-1e?>f?>M9gD0ovzzmsZr`r N+(*0qK|65#`7d&E&Dj6| diff --git a/bin/View/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.class b/bin/View/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.class index 39fcbfa7593d204e4dc3d9c216b6fa9ffd119fd6..c4349c6e9fd90f76304082cd63208c22ea6d4399 100644 GIT binary patch delta 1556 zcmYL}c~F&Q6vm(Dd>17^KwNOR%4HJ)Q4lN_#1uq8Oa(P_M@f{lL~)@&u7&1;2728} z%*4^i-L6i!l`|-oVq)&2D2}En6qq~e)R~&5zrOc-zxO-8^PKaZ=j_DO6ZZtLxy$tU z;fX1eCTC>LnlzIL9=O8YVvBZnw2$LlL#_m^nCEY6G|jgqJA~M`ICwa*!+!^A+;%pz zrojXYUPA&xkcb!zKsJ(4j6pbp!MK1SbVf46Fp{G%iVHE8Ymm-On9Of5g$IzqV|b61 zn96II#=Cf*_4t5)VY)aWQ#>$3{4h&8V77!}j X>4t2HMve?Zu8g;0o@63VK896R z;uG17eA$l$asmtG3KmN(mdGnCHQZ2O_+pt6iRDHdJ~Kw3(8xfMkpr8t9IK3tSZ(aZ z8lxO*jSE<3+{G70E!G?LC^jBqgUP^`^ajuyO#qXL7W(KLOtu2=>bNa%#8$ZDYqUWr ze6Srs*nx2DMtAH%AMDlYe2XEl;~nfnD)wUv%8-czTC0PYk3(3D!}gsPcTOnRQXYc` zj>C)!1mFZZ;UwO`DZGhF4RadFsKO|mMH+s=G@Qe1oJXD(dJ!(72$%3VE~5ljHHm8q ztJXGL*GM;T1~vNSrmfJgl`Ycu#f0CKbWch5l~k*wIwjRBsX<8(l=P>P9xLgIlAbE* znUbC>sZmKUl=Mi7yj$ZUY z0$X7iTO*a8+I25v(~Jddiz2o|u@<_N77gixqx3~3{WM&A+-4ve*a0sYL`Md*B}3@L zPP*#M2!=6=;q1pQ|Fp>kniu0}u`dk><%Aw^Vo$VW6uj9BL5xNO`)DG45ziQ;FjlW+ zf4z?J$YKKWn204DfK^PwMh?U_zJ>i9q{$@X6jN}KLvfSCP{-kT%C{*TVfPHYP3ssq zb1d9A9$rj^Khw~e@1h&i5ydI!&kPLaR19S%#&L#Dz)Z|#7Ob3wMVyU7&cRxKs3rYK zOPYg2%tblpDKZb|XvJ0L;|>>~o}Z$Ti)e5OUAdH=Tt+`GXK-&8vMY-i&6P}`jmcci zF3SkJTA%=4<}0_?n~ znl7oP%c|*$YPzPHs&R|gQOg^6$Qrz`@|Fs_O=tef7Q90<@6n(4*^#x3WSutocgFG$ zCb6DF*}&0!z%)MMR6b@FpD>3{na^h|;B(dYQkA~q4gn7e`J)J{#DUkP3G1XOABmHQ zIE%ZuNE>kze_fd)q`5?khYXY!GD2EPy0nrR(pu(=r+ruGOj_H*QQE;(yx}1h_=+z= z)uOtJKVl>RL!>=MN+43zvN9w{Ei70qD@2{CqqLoy+)oA2gM|nm`O%ODxRN4>$qEnd{`T8E480n@cX+!$058_j5U)*YkcqpXWI-@yx`k06Mpx6+b+2 zX!_I)^PKc7b7_^oHPg1c$*o`!Nk7?M8Ozcyy_M-qlpa?a#t=_Jj za7e8@3^&xm6Gsq$qv(cXcninzE>7q*Cy|0P7>%=-gmajQUolrr&c_85;v!0L32Si~ z<+zGU)G6?qrs2BYb_1tyQ+I#2b?{ZpUy8Y_n0m!DDCVAGniO+iF%J~;P%)1b^H?!Y z6!TOu&5C)ZnCFUlp_rE_Cs9d3H4W6zgj(9+6kFgDTiS~K@@R2}6J6jzR|K#PLg|LS zbVmZ)VHn#ZjUJkIPvo#87P1pc)ZsFEqe8u{rY{cA569`R*9GDhJEMs~c+M`gXE58c zD}C5qXFV9sP)0J0{q^rvj+{V%arCw=4hZ3dK5$?p+OjXa7=<84Bb@y-kQl@>R^MiS zjAOjM#{`&}hC_=2t4LU3P;)818>nX z4vriT7p9>DC%~VR(Vgk&&8diF1_p3C26HA-Ia^C0OH06vY|ep&b5Y27Six+p=BH|D zu3DOh{hW`3%vYoZ=U9N>xDdCsd>UDZW){)lQaZDk?YWG8T+S}hEMZTUGKy9va3xc? zietH&=`3R=*E5G3n8!^lWI0!Gv!2?*HLTQ~ow`zGs}8CY%O2QiNjh^M+*t!p{-`>B zLRTI@1b+&`81af&23wR2}JPj+)U>(n5GtaA@3$XE` zYPzJFE~}<1s;N#jUBe%|j(Xm}L*B$Q3va2gKk3NZbmtv<@-F>Zuc>Ze1n+5*|7I*3 znZzch@;=A#0VnZa&fp`O`IxzU!UcS)wlu507pnFpw+p#Xgh$2TX=%Z0(vl5g&ws>G zM4ZG`T8oE%{iTg~hKrj-iMu3ATNx>D$P{TOv!%Thh=*-kNER)fU@u;97H_zT4}7&Z zg@`|TN&sTyO$?Dhe4xE5O@fdiU9^VbW9(1_KxwiRt@ZEbC9p=hhMuhY|idQMMi`nz{#HXDc@PLs1U z-~GPtey{tx-@SACzt28DIEbbAdk{W>S*=lHYx(NBn)Q*o`j&82b7Rx`6)kn^S5>uE zm6K>PdZG#2u!0B(6l~D9=-bK@Tch!w@>Q$#xDgW=rJKujYh!b-(Ps$cuMJD3a($~^ zUSq~gt5QJI&2Y4**LGC`W~8=BV60M1TMO$QMvTfnvrQmJPb}AM-O*d?nvCi68nG=p zS4I;n4ZX{-5=yIZM5Ul(hZb{nPo0A+WCUJjiAzFh);nSbUF4c=o)SYcRlXyIt_0K% zIx2J!G*vn@JLF}sXh_%Tz%hcPXPs|7|6U-DdBg;`Qs#Mwo4 zb#=w9IS?q(kcDhX&DIb^b`WzehLoyW2y^L-h0aA8Dx{tHtYeW=q)ZSvX0O!{LQV(^ z1w@;)zF0#pa)KBg#1er#6G?3T6HTb_qxjr*u7D1kK*uU_QXnAg1s8{;eG;wp)Xwwor{B*DR@9H*pgnZYB?X2>+mQWznPJvz!XPchIwfTDuejCz=Vr; zYqeZStk*Xw+Y)ClYWOa`$7G^xQo3zg#EO@U+L(1Nzj72_!ViP^ zf!i(0heDmLZCYIRTD_B* zZrAWzyvZKWX&Jh0$j$7C1+&b;-$`w*=r-3V!?c4(-;r5tp=Z?UhA2E|wr%@Y? zu@UBFG`2ai446(^et<^+UUC+f{(L%n%us5g7Odb7i; zH~YJKv%9M|yEnaEN!o`G@yQ;Z9#7_&ojg6B%4mc<`1zd92`{R%3ci|>6PQtwmwgIX zwfhJ7$j4wlF686iCvZ)qJs??m;k<^tCN<7d5!?bcW+`ICYk0Dsz`e_DUMxHOQQei3?ch3t_RZ5ZC*rqS9B4Wxjd1 z!FMfg^esk}Zz-yM)u_Qew5$=lge*RVdzDY#JsddWA#MT6(8MS=^S2;{``TQ3kxM6J z1{rj(OUukQWYDoREs3G*X7IiW)G~?{+*ozIEU&^`gs}wmScwMQgvOyL(Ugwz4lhbE zfvv$u8xId)KWlv;EIkk4AnDJf@Ia}*AD@$t&zI)q_v1@a%HM+06uwd#AlqehO9tuK z@TpQ9<8M)>zGU<&{j~Del#3DyHc)WXu`K7x(NMY#yjilKOgh44ZDx0AVIr-#25qRo z%~*(bF3Vb`eG9qk(1BaggY`(T>+a&{E_7lqx^Msn4x?L@X1tTWTbd9K;W0eUh4ab# zpu3dE2_IRcM*otdn8vue2XL%?(n);d1fERcsTBJ2x>9&%w-A$pj|`so)OtTyO(y1t zMCnvEWFX3hxPcgrVisbUjXthyjH_s>K&PoD-k4s)tMNRJFu-DX)OTnj2Z8?}OH9t0 zOc5`yP6odBI5_}_W0Q_i3F0yN0Q+Qk>4D_%bt5GgKyOhRUQkGZPLjD-&f%WugqJ zOguxwGx50Z4uRu-%;XAL+~78^M@gc53#v%3!Zu=iJK?f}2)~UVH#^ycwh_U*h~eAu zG&#@VPQ1+VYee%o?8aNf#J_O25V%K-!X7ae_ljcNC+1_XSc-jO6~8~4$y>+I3=0Ru zP8<|__%U&a<0E)LJkGWz+n(HmM3W0fN&QKIv5a4Q?-7JPMplYH^OoRaEYtB9-Vc2A z>`Lj=mC}nRmGG^?n2Ce@<_-kG7=yg@VM^hG!jeH|?^8UCET(x!Oi2HghJ5(j{{Z(} BxWfPd literal 0 HcmV?d00001 diff --git a/bin/View/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.class b/bin/View/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.class deleted file mode 100644 index 0b92a19748496c424fd9aeeeca90f3bfb4df3668..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6802 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 Y&&+o2!cYjh8f1ylgPhZcLJZOOf3HmdX#fBK diff --git a/bin/View/PIC_SIMULATOR_GUI_JAVA/GUIRegistersDetailed.class b/bin/View/PIC_SIMULATOR_GUI_JAVA/GUIRegistersDetailed.class index 43ec6c5844e0338c315aa4f268ec12405802535e..1c48f9587edac70ddb1c24400e543476d144ad28 100644 GIT binary patch literal 6067 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 KX;jc9j{Pr8Pw&J4 diff --git a/src/View/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java b/src/View/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java index ce6f4c3..957614a 100755 --- a/src/View/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java +++ b/src/View/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java @@ -1,7 +1,6 @@ package View.PIC_SIMULATOR_GUI_JAVA; import java.awt.Color; -import java.awt.Dimension; import java.awt.Insets; import java.util.ArrayList; import java.awt.GridBagLayout; @@ -9,12 +8,9 @@ import java.awt.GridBagConstraints; import javax.swing.BorderFactory; import javax.swing.ImageIcon; -import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; -import javax.swing.border.Border; -import Model.Backend.EepromLoader.ReadEepromFile; import Model.Backend.Runtime.Environment; public class GUIMainFrame extends JFrame { @@ -65,23 +61,24 @@ public class GUIMainFrame extends JFrame { iPrescaler = env.getPIC().getRam().get_WDT_PrescalerRate(); else iPrescaler = env.getPIC().getRam().get_TMR0_PrescalerRate(); - int[] aiRegisters = {env.getPIC().getRam().get_PCL(), env.getPIC().getRam().get_PCLATH(), + /*int[] aiRegisters = {env.getPIC().getRam().get_PCL(), env.getPIC().getRam().get_PCLATH(), env.getPIC().getRam().get_Programcounter(), env.getPIC().getRam().get_STATUS(), env.getPIC().getRam().get_FSR(), env.getPIC().getRam().get_OPTION(), iPrescaler, env.getPIC().getRam().get_TMR0(), - env.getPIC().get_WRegister()}; - GUIRegisters oGUIRegisters = new GUIRegisters(); - oGUIRegisters.setRegisters(aiRegisters); + env.getPIC().get_WRegister()};*/ + GUIRegister oGUIRegister = new GUIRegister(); + //oGUIRegisters.setRegisters(aiRegisters); GUIRegistersDetailed oGUIRegistersDetailed = new GUIRegistersDetailed(); - oConstraintsRegisterInformation.anchor = GridBagConstraints.WEST; + oConstraintsRegisterInformation.anchor = GridBagConstraints.NORTHWEST; oConstraintsRegisterInformation.gridx = 0; oConstraintsRegisterInformation.gridy = 0; - oPanelRegisterInformation.add(oGUIRegisters, oConstraintsRegisterInformation); + oConstraintsRegisterInformation.insets = new Insets(10, 0, 10, 0); + oPanelRegisterInformation.add(oGUIRegister, oConstraintsRegisterInformation); oConstraintsRegisterInformation.gridy = 1; oConstraintsRegisterInformation.anchor = GridBagConstraints.WEST; oPanelRegisterInformation.add(oGUIRegistersDetailed, oConstraintsRegisterInformation); - this.setJMenuBar(new GUIMenuBar(env, this, oGUITestFileTable, oGUIRegisters, oGUIRegistersDetailed)); + this.setJMenuBar(new GUIMenuBar(env, this, oGUITestFileTable, oGUIRegister, oGUIRegistersDetailed)); this.setVisible(true); //make frame visible ImageIcon guiLogo = new ImageIcon("./pictures/gui_logo.png"); // create an ImageIcon diff --git a/src/View/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java b/src/View/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java index a6a18a9..129aed3 100644 --- a/src/View/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java +++ b/src/View/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java @@ -14,7 +14,6 @@ import javax.swing.JFileChooser; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; -import javax.swing.JPanel; import Model.Backend.EepromLoader.ReadEepromFile; import Model.Backend.Runtime.Environment; @@ -23,7 +22,7 @@ public class GUIMenuBar extends JMenuBar implements ActionListener { Environment oEnv; GUIMainFrame oGUIMainFrame; GUITestFileTable oGUITestFileTable; - GUIRegisters oGUIRegisters; + GUIRegister oGUIRegister; GUIRegistersDetailed oGUIRegistersDetailed; ArrayList oCheckBoxes; @@ -97,7 +96,7 @@ public class GUIMenuBar extends JMenuBar implements ActionListener { * Constructor initializes menubar. * @param frame */ - public GUIMenuBar(Environment env, GUIMainFrame mainframe, GUITestFileTable guitft, GUIRegisters guiregs, GUIRegistersDetailed guiregsdet) { //TODO maybe single components, with methods, of frame to set theme + public GUIMenuBar(Environment env, GUIMainFrame mainframe, GUITestFileTable guitft, GUIRegister guiregs, GUIRegistersDetailed guiregsdet) { //TODO maybe single components, with methods, of frame to set theme //Custom Separators since default is not able to change background. oSeparator0 = new JMenuItem(); @@ -117,7 +116,7 @@ public class GUIMenuBar extends JMenuBar implements ActionListener { oEnv = env; oGUIMainFrame = mainframe; oGUITestFileTable = guitft; - oGUIRegisters = guiregs; + oGUIRegister = guiregs; oGUIRegistersDetailed = guiregsdet; //File @@ -370,7 +369,7 @@ public class GUIMenuBar extends JMenuBar implements ActionListener { System.out.println("It's gettin dark brooo"); //TODO setTheme(aoDarkTheme[0], aoDarkTheme[1]); oGUITestFileTable.setTheme(1); - oGUIRegisters.setTheme(1); + oGUIRegister.setTheme(1); oGUIMainFrame.setTheme(1); oGUIRegistersDetailed.setTheme(1); } @@ -379,7 +378,7 @@ public class GUIMenuBar extends JMenuBar implements ActionListener { System.out.println("Death to all vampires!"); //TODO setTheme(aoLightTheme[0], aoLightTheme[1]); oGUITestFileTable.setTheme(0); - oGUIRegisters.setTheme(0); + oGUIRegister.setTheme(0); oGUIMainFrame.setTheme(0); oGUIRegistersDetailed.setTheme(0); } diff --git a/src/View/PIC_SIMULATOR_GUI_JAVA/GUIRegister.java b/src/View/PIC_SIMULATOR_GUI_JAVA/GUIRegister.java new file mode 100644 index 0000000..e322489 --- /dev/null +++ b/src/View/PIC_SIMULATOR_GUI_JAVA/GUIRegister.java @@ -0,0 +1,153 @@ +package View.PIC_SIMULATOR_GUI_JAVA; + +import java.util.ArrayList; + +import java.awt.GridBagLayout; +import java.awt.GridBagConstraints; +import java.awt.Color; + +import javax.swing.JPanel; +import javax.swing.JTable; +import javax.swing.BorderFactory; +import javax.swing.JLabel; + +public class GUIRegister 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 oSFR = new JLabel("SFR"); + JLabel oW = new JLabel("W"); + + /*JTextField oTextPCL = new JTextField("PCL", iTextFieldSize); + JTextField oTextPCLATH = new JTextField("PCLATH", iTextFieldSize); + JTextField oTextPCIntern = new JTextField("PC intern", iTextFieldSize); + JTextField oTextStatus = new JTextField("STATUS", iTextFieldSize); + JTextField oTextFileSelectionRegister = new JTextField("FileSelectionRegister", iTextFieldSize); + JTextField oTextOption = new JTextField("OPTION", iTextFieldSize); + JTextField oTextPrescaler = new JTextField("Prescaler", iTextFieldSize); + JTextField oTextTMR0 = new JTextField("TMR0", iTextFieldSize);*/ + + String[][] asDataSFR = {{"TMR0", "0", "PC intern", "0"}, {"STATUS", "0", "PCLATH", "0"}, {"FSR", "0", "PCL", "0"}, {"OPTION", "0", "Prescaler", "0"}}; + String[] asHeadersSFR = {"0", "1", "2", "3"}; + + String[][] asDataW = {{"W-Register", "0", "", ""}}; + String[] asHeadersW = {"0", "1", "2", "3"}; + + JTable oSFRRegisters = new JTable(asDataSFR, asHeadersSFR); + JTable oWRegister = new JTable(asDataW, asHeadersW); + + JPanel oPanelSFR = new JPanel(); + JPanel oPanelW = new JPanel(); + + ArrayList oLabels = new ArrayList(); + ArrayList oTables = new ArrayList(); + ArrayList oPanels = new ArrayList(); + + public GUIRegister() { + oSFRRegisters.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); + addComponents(); + buildGUIRegister(); + setWidth(); + setTheme(0); + } + + private void addComponents() { + oLabels.add(oSFR); + oLabels.add(oW); + + oTables.add(oSFRRegisters); + oTables.add(oWRegister); + + oPanels.add(oPanelSFR); + oPanels.add(oPanelW); + oPanels.add(this); + } + + private void buildGUIRegister() { + GridBagConstraints oConstraints = new GridBagConstraints(); + oPanelSFR.setLayout(new GridBagLayout()); + oConstraints.gridx = 0; + oConstraints.gridy = 0; + oConstraints.anchor = GridBagConstraints.WEST; + oPanelSFR.add(oSFR, oConstraints); + oConstraints.gridy = 1; + oPanelSFR.add(oSFRRegisters, oConstraints); + + oPanelW.setLayout(new GridBagLayout()); + oConstraints.gridy = 0; + oPanelW.add(oW, oConstraints); + oConstraints.gridy = 1; + oPanelW.add(oWRegister, oConstraints); + + this.setLayout(new GridBagLayout()); + oConstraints.gridy = 0; + this.add(oPanelSFR, oConstraints); + oConstraints.gridy = 1; + this.add(oPanelW, oConstraints); + } + + private void setWidth() { + for (int i = 0; i < 4; i++) { + oSFRRegisters.getColumn(i + "").setPreferredWidth(100); + } + for (int i = 0; i < 4; i++) { + oWRegister.getColumn(i + "").setPreferredWidth(100); + } + } + + public void setTheme(int iThemeNr) { + switch (iThemeNr) { + case 0: { + for (JLabel oLabel : oLabels) { + oLabel.setForeground(aoLightTheme[0]); + oLabel.setBackground(aoLightTheme[1]); + } + for (JTable oTable : oTables) { + oTable.setForeground(aoLightTheme[0]); + oTable.setBackground(aoLightTheme[1]); + oTable.setBorder(BorderFactory.createLineBorder(aoLightTheme[2])); + oTable.setGridColor(aoLightTheme[2]); + } + for (JPanel oPanel : oPanels) { + oPanel.setForeground(aoLightTheme[0]); + oPanel.setBackground(aoLightTheme[1]); + oPanel.setBorder(BorderFactory.createLineBorder(aoLightTheme[2])); + } + this.setBorder(BorderFactory.createLineBorder(aoLightTheme[2])); + }break; + case 1: { + for (JLabel oLabel : oLabels) { + oLabel.setForeground(aoDarkTheme[0]); + oLabel.setBackground(aoDarkTheme[1]); + } + for (JTable oTable : oTables) { + oTable.setForeground(aoDarkTheme[0]); + oTable.setBackground(aoDarkTheme[1]); + oTable.setBorder(BorderFactory.createLineBorder(aoDarkTheme[2])); + oTable.setGridColor(aoDarkTheme[2]); + } + for (JPanel oPanel : oPanels) { + oPanel.setForeground(aoDarkTheme[0]); + oPanel.setBackground(aoDarkTheme[1]); + oPanel.setBorder(BorderFactory.createLineBorder(aoDarkTheme[2])); + } + this.setBorder(BorderFactory.createLineBorder(aoDarkTheme[2])); + }break; + } + } +} \ No newline at end of file diff --git a/src/View/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.java b/src/View/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.java deleted file mode 100644 index e353f47..0000000 --- a/src/View/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.java +++ /dev/null @@ -1,288 +0,0 @@ -package View.PIC_SIMULATOR_GUI_JAVA; - -import java.awt.GridBagLayout; -import java.util.ArrayList; -import java.awt.Color; -import java.awt.GridBagConstraints; - -import javax.swing.BorderFactory; -import javax.swing.JPanel; -import javax.swing.JTextField; - -public class GUIRegisters 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)}; - - ArrayList oTextfields = new ArrayList(); - ArrayList oPanels = new ArrayList(); - - JPanel oLeftComponentPanel = new JPanel(); - JPanel oRightComponentPanel = new JPanel(); - - int iTextFieldSize = 15; - - JTextField oTextSFR = new JTextField("SFR", iTextFieldSize); - - JTextField oTextPCL = new JTextField("PCL", iTextFieldSize); - JTextField oTextPCLATH = new JTextField("PCLATH", iTextFieldSize); - JTextField oTextPCIntern = new JTextField("PC intern", iTextFieldSize); - JTextField oTextStatus = new JTextField("STATUS", iTextFieldSize); - JTextField oTextFileSelectionRegister = new JTextField("FileSelectionRegister", iTextFieldSize); - JTextField oTextOption = new JTextField("OPTION", iTextFieldSize); - JTextField oTextPrescaler = new JTextField("Prescaler", iTextFieldSize); - JTextField oTextTMR0 = new JTextField("TMR0", iTextFieldSize); - - JTextField oValuePCL = new JTextField("00", 2); - JTextField oValuePCLATH = new JTextField("00", 2); - JTextField oValuePCIntern = new JTextField("00", 2); - JTextField oValueStatus = new JTextField("00", 2); - JTextField oValueFileSelectionRegister = new JTextField("00", 2); - JTextField oValueOption = new JTextField("00", 2); - JTextField oValuePrescaler = new JTextField("00", 2); - JTextField oValueTMR0 = new JTextField("00", 2); - - JTextField oFillTextField1 = new JTextField("", iTextFieldSize); - JTextField oFillValueField1 = new JTextField("", 2); - JTextField oFillTextField2 = new JTextField("", iTextFieldSize); - JTextField oFillValueField2 = new JTextField("", 2); - JTextField oFillTextField3 = new JTextField("", iTextFieldSize); - JTextField oFillValueField3 = new JTextField("", 2); - JTextField oFillValueField4 = new JTextField("", 2); - JTextField oFillValueField5 = new JTextField("", 2); - - JTextField oTextW = new JTextField("W", iTextFieldSize); - JTextField oTextWRegister = new JTextField("W-Register", iTextFieldSize); - JTextField oValueWRegister = new JTextField("00", 2); - - /** - * Constructor of register-table-class, adds components to list, sets components uneditable, - * builds register-table and colors according to theme. - */ - public GUIRegisters() { - addComponentsToLists(); - setEditFalse(); - buildGUIRegisters(); - setTheme(0); - } - - /** - * Builds register-panel by actually setting the positions of the fields and adding them to the panels. - */ - private void buildGUIRegisters() { - GridBagConstraints oConstraints = new GridBagConstraints(); - - oLeftComponentPanel.setLayout(new GridBagLayout()); - oRightComponentPanel.setLayout(new GridBagLayout()); - - this.setLayout(new GridBagLayout()); - - //Fill left component panel "header" - oConstraints.gridx = 0; - oConstraints.gridy = 0; - oConstraints.anchor = GridBagConstraints.WEST; - oLeftComponentPanel.add(oTextSFR, oConstraints); - oConstraints.gridx = 1; - oLeftComponentPanel.add(oFillValueField1, oConstraints); - - //Fill left side of left component panel - oConstraints.gridx = 0; - oConstraints.gridy = 1; - oLeftComponentPanel.add(oTextPCL, oConstraints); - oConstraints.gridy = 2; - oLeftComponentPanel.add(oTextPCLATH, oConstraints); - oConstraints.gridy = 3; - oLeftComponentPanel.add(oTextPCIntern, oConstraints); - oConstraints.gridy = 4; - oLeftComponentPanel.add(oTextStatus, oConstraints); - - //Fill right side of left component panel - oConstraints.gridx = 1; - oConstraints.gridy = 1; - oConstraints.anchor = GridBagConstraints.EAST; - oLeftComponentPanel.add(oValuePCL, oConstraints); - oConstraints.gridy = 2; - oLeftComponentPanel.add(oValuePCLATH, oConstraints); - oConstraints.gridy = 3; - oLeftComponentPanel.add(oValuePCIntern, oConstraints); - oConstraints.gridy = 4; - oLeftComponentPanel.add(oValueStatus, oConstraints); - - //Fill left side of right component panel - oConstraints.gridx = 0; - oConstraints.gridy = 0; - oConstraints.anchor = GridBagConstraints.WEST; - oRightComponentPanel.add(oFillTextField1, oConstraints); - oConstraints.gridy = 1; - oRightComponentPanel.add(oTextFileSelectionRegister, oConstraints); - oConstraints.gridy = 2; - oRightComponentPanel.add(oTextOption, oConstraints); - oConstraints.gridy = 3; - oRightComponentPanel.add(oTextPrescaler, oConstraints); - oConstraints.gridy = 4; - oRightComponentPanel.add(oTextTMR0, oConstraints); - oConstraints.gridy = 5; - oRightComponentPanel.add(oFillTextField2, oConstraints); - oConstraints.gridy = 6; - oRightComponentPanel.add(oFillTextField3, oConstraints); - - //Fill right side of right component panel - oConstraints.gridx = 1; - oConstraints.gridy = 0; - oConstraints.anchor = GridBagConstraints.EAST; - oRightComponentPanel.add(oFillValueField2, oConstraints); - oConstraints.gridy = 1; - oRightComponentPanel.add(oValueFileSelectionRegister, oConstraints); - oConstraints.gridy = 2; - oRightComponentPanel.add(oValueOption, oConstraints); - oConstraints.gridy = 3; - oRightComponentPanel.add(oValuePrescaler, oConstraints); - oConstraints.gridy = 4; - oRightComponentPanel.add(oValueTMR0, oConstraints); - oConstraints.gridy = 5; - oRightComponentPanel.add(oFillValueField3, oConstraints); - oConstraints.gridy = 6; - oRightComponentPanel.add(oFillValueField4, oConstraints); - - //Fill footer of left component panel - oConstraints.anchor = GridBagConstraints.WEST; - oConstraints.gridx = 0; - oConstraints.gridy = 5; - oLeftComponentPanel.add(oTextW, oConstraints); - oConstraints.anchor = GridBagConstraints.EAST; - oConstraints.gridx = 1; - oLeftComponentPanel.add(oFillValueField5, oConstraints); - oConstraints.gridx = 0; - oConstraints.gridy = 6; - oLeftComponentPanel.add(oTextWRegister, oConstraints); - oConstraints.anchor = GridBagConstraints.EAST; - oConstraints.gridx = 1; - oLeftComponentPanel.add(oValueWRegister, oConstraints); - - //Fill this panel - oConstraints.anchor = GridBagConstraints.WEST; - oConstraints.gridx = 0; - oConstraints.gridy = 0; - this.add(oLeftComponentPanel, oConstraints); - oConstraints.gridx = 1; - this.add(oRightComponentPanel, oConstraints); - } - - private void changeWidth() { - - } - - /** - * Adds panels to panel list and textfields to textfield list - */ - private void addComponentsToLists() { - oTextfields.add(oTextSFR); - oTextfields.add(oTextPCL); - oTextfields.add(oTextPCLATH); - oTextfields.add(oTextPCIntern); - oTextfields.add(oTextStatus); - oTextfields.add(oTextFileSelectionRegister); - oTextfields.add(oTextOption); - oTextfields.add(oTextPrescaler); - oTextfields.add(oTextTMR0); - oTextfields.add(oTextW); - oTextfields.add(oTextWRegister); - oTextfields.add(oFillTextField1); - oTextfields.add(oFillTextField2); - oTextfields.add(oFillTextField3); - - oTextfields.add(oValuePCL); - oTextfields.add(oValuePCLATH); - oTextfields.add(oValuePCIntern); - oTextfields.add(oValueStatus); - oTextfields.add(oValueFileSelectionRegister); - oTextfields.add(oValueOption); - oTextfields.add(oValuePrescaler); - oTextfields.add(oValueTMR0); - oTextfields.add(oValueWRegister); - oTextfields.add(oFillValueField1); - oTextfields.add(oFillValueField2); - oTextfields.add(oFillValueField3); - oTextfields.add(oFillValueField4); - oTextfields.add(oFillValueField5); - - oPanels.add(oLeftComponentPanel); - oPanels.add(oRightComponentPanel); - } - - /** - * Set edit all textfields to false. - */ - private void setEditFalse() { - for (JTextField oTextfield : oTextfields) { - oTextfield.setEditable(false); - } - } - - /** - * Sets textfields of registervalues. - * @param aiRegisters - */ - public void setRegisters(int[] aiRegisters) { - oValuePCL.setText(aiRegisters[0] + ""); - oValuePCLATH.setText(aiRegisters[1] + ""); - oValuePCIntern.setText(aiRegisters[2] + ""); - oValueStatus.setText(aiRegisters[3] + ""); - oValueFileSelectionRegister.setText(aiRegisters[4] + ""); - oValueOption.setText(aiRegisters[5] + ""); - oValuePrescaler.setText(aiRegisters[6] + ""); - oValueTMR0.setText(aiRegisters[7] + ""); - oValueWRegister.setText(aiRegisters[8] + ""); - } - - /** - * Set theme of RegisterTable - * @param iThemeNr 0 == light theme, 1 == dark theme - */ - public void setTheme(int iThemeNr) { - switch (iThemeNr) { - case 0: { //light theme - for (JPanel oPanel : oPanels) { - oPanel.setForeground(aoLightTheme[0]); - oPanel.setBackground(aoLightTheme[1]); - oPanel.setBorder(BorderFactory.createLineBorder(aoLightTheme[1])); - } - for (JTextField oTextfield : oTextfields) { - oTextfield.setForeground(aoLightTheme[0]); - oTextfield.setBackground(aoLightTheme[1]); - oTextfield.setBorder(BorderFactory.createLineBorder(aoLightTheme[2])); - } - this.setBorder(BorderFactory.createLineBorder(aoLightTheme[2], 3)); - }break; - - case 1: { //dark theme - for (JPanel oPanel : oPanels) { - oPanel.setForeground(aoDarkTheme[0]); - oPanel.setBackground(aoDarkTheme[1]); - oPanel.setBorder(BorderFactory.createLineBorder(aoDarkTheme[1])); - } - for (JTextField oTextfield : oTextfields) { - oTextfield.setForeground(aoDarkTheme[0]); - oTextfield.setBackground(aoDarkTheme[1]); - oTextfield.setBorder(BorderFactory.createLineBorder(aoDarkTheme[2])); - } - this.setBorder(BorderFactory.createLineBorder(aoDarkTheme[2], 3)); - }break; - } - } -} \ No newline at end of file diff --git a/src/View/PIC_SIMULATOR_GUI_JAVA/GUIRegistersDetailed.java b/src/View/PIC_SIMULATOR_GUI_JAVA/GUIRegistersDetailed.java index 04a1d67..ee2986a 100644 --- a/src/View/PIC_SIMULATOR_GUI_JAVA/GUIRegistersDetailed.java +++ b/src/View/PIC_SIMULATOR_GUI_JAVA/GUIRegistersDetailed.java @@ -32,8 +32,8 @@ public class GUIRegistersDetailed extends JPanel { 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)}; JTable oStatusTable; - JTable oOptionTable = new JTable(); - JTable oIntconTable = new JTable(); + JTable oOptionTable; + JTable oIntconTable; JPanel oStatusPanel = new JPanel(); JPanel oOptionPanel = new JPanel(); @@ -74,7 +74,7 @@ public class GUIRegistersDetailed extends JPanel { oStatusPanel.add(oStatusTable, oConstraintsStatus); for (int i = 0; i < 8; i++) { - oStatusTable.getColumn(i + "").setMaxWidth(50); + oStatusTable.getColumn(i + "").setPreferredWidth(50); } oStatusTable.setEnabled(false); @@ -92,7 +92,7 @@ public class GUIRegistersDetailed extends JPanel { oOptionPanel.add(oOptionTable, oConstraintsOption); for (int i = 0; i < 8; i++) { - oOptionTable.getColumn(i + "").setMaxWidth(50); + oOptionTable.getColumn(i + "").setPreferredWidth(50); } oOptionTable.setEnabled(false);