From 39f06011b35dbc04e2e425e15bd05999db9d0552 Mon Sep 17 00:00:00 2001 From: Meruemon Date: Tue, 22 Mar 2022 17:07:55 +0100 Subject: [PATCH] yo --- bin/View/GUIMainFrame.class | Bin 4088 -> 4087 bytes bin/View/GUIRamTable.class | Bin 1115 -> 5947 bytes bin/View/GUITime.class | Bin 0 -> 258 bytes src/View/GUIMainFrame.java | 108 ++++++++++++++---------------------- src/View/GUIRamTable.java | 93 +++++++++++++++++++++++++++++-- src/View/GUITime.java | 7 +++ 6 files changed, 136 insertions(+), 72 deletions(-) create mode 100644 bin/View/GUITime.class create mode 100644 src/View/GUITime.java diff --git a/bin/View/GUIMainFrame.class b/bin/View/GUIMainFrame.class index 0e0ca46948a98daf0273fb8856faed8e99410103..05a4b8218b1fbd168da6fa1c2e5d7895520ca4b3 100644 GIT binary patch literal 4087 zcmbVOdvp|68UNkgO(rbUk_2d>h(b#-**q4oNHGD0(7@8&00~JFjJm zsI{o5^#Llrt7v^vsjaQ;ZrVm_t?&A*idJoXRBhEi{L^#v9F4zwXLqup)YD^fcJ6n- z`@7$F?{~k~6aRVS(U}=+!rwH61nT-Mb0WUIH<2{b6I=I2zAQSav$T zQ}G4n8_qVvJ+gPy%$nS}FDXHBW5SDfI2p%n6VMGOX{ATKGQ^?ay=Knqv@+&iV<^LI zS0>9E=PYpZe2Gq(c7ChjQhb0bv7~s3=r+?<&NB(A4MxIq*fee@%ac*OxWRX&jKTcSllS4 zu!P`k<{=}W@j5b2&fGO-x`t;tHr=Fw?=7)MbYzfaToc=E=B#6Wiik7}`sv#*^%F|Am zG6zz%*e3aJ)A9BS{-osHuH&6jL{*w+KPoxz*72TzGpXSe(@1cbgw0Fv04MQ288z>x z5*alrY$ovm9UsJpcpgi^WbV9ZXPY$0M|6A?A7fA&Bg}`56{hHLvSW@dqqyQ#cMTmj zhh~ap81(rEM!r}2`#NMwXiuv+h z59oLh1y(}7_RgRZF7>ZfHf?!9y^O$=e3^#?VilL4ea{N>%`&B`M|4cf46WzKMhwsF zx9kyTLN1)w@u-Z+D9_Mm651MlD9>!oUbY zQ^9f)HtlhNYhFSrk%hh@?gW<4IzcJcE0$$tq*Ep7Q?k3bq!%i$c|ync<&~qZIc{Vu zd2M;&AL{s#WNWTDCgZ%6=VX&3J^x7^KgG|;wAgdVtjNq$_DYpd6D5Azd|bdUHTrzTtj0fdCRCCtFdsO=k1+}TNlrqLj?-=cI^6s!H zyEY~h*_D;uzEzqRD`~bcz$yt@u=#~7*J@-jRwG?njjX$BWJOgYi>4Y`8r8@Gs76*f zHL{GUkwr|6EMaP7iK5n*lMdk()Gipl@*GzK;nUO^;liod6t0QYR-eb}f$%gxb(pEc zzw7X?DKzv9L?o*=S=&|Ht>#r~9C^F z(Mr`^?Mho6?y195b$IUoRoD`nMtoojYYSLM@;Z{QE?@)6jU?L&XeYUug(YD)z$HqDibli)cfu=tNxX z!CJ8&8^jQ<7inx188)!v*d$J1vpCK6^iFIMcVVlz7aigOcA^iVQ=G?k@i=yfC)syC zgB!)ONQ&o?68}I~D1==h4ZA}Nu_v?y-Jwx&N{#M=OKJpu49gcJ;zTphaeUc1c>uOy{+|>s(?^nz zaG;2vbe+Y@mWT0kL3!P&W^!A?>x%fbq9UYz%hf*!+%fa?S*(B2O-;e3rn#Hs`NNP; z+p5ys5q95Mw7|v&IM_mZCvIj7pTiJ5_PBYBlfI2@-ecUO%!uPRFQdgFr2qf` literal 4088 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 K-;;q4ul^UK6D;}w diff --git a/bin/View/GUIRamTable.class b/bin/View/GUIRamTable.class index 18513a97232ec2f2955f30a124ce22cd4cf15ee7..57e9cfa70c0927b7468a8f9399b2934baf1844f6 100644 GIT binary patch literal 5947 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 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 diff --git a/bin/View/GUITime.class b/bin/View/GUITime.class new file mode 100644 index 0000000000000000000000000000000000000000..2c034872903d7edf1f1065ea78d874c1d93d1171 GIT binary patch literal 258 zcmYjL!D_-#5S)$CXnbn%54@>|<^ybd5tK?O1!L|{edtO|AZqouJP9890e)0^dO$)9jEh y%!uu!D$=~#Am~6$VT+{2Owbb+{Bxk(zo2>+!GSMm*CL`WsES#kAxvxq9kd=zXEU$> literal 0 HcmV?d00001 diff --git a/src/View/GUIMainFrame.java b/src/View/GUIMainFrame.java index e6ed750..8383e39 100755 --- a/src/View/GUIMainFrame.java +++ b/src/View/GUIMainFrame.java @@ -33,93 +33,69 @@ public class GUIMainFrame extends JFrame { 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)}; - GUITestFileTable oGUITestFileTable; + GUITestFileTable oGUITestFileTable = new GUITestFileTable(); GUIMenuBar oGUIMenuBar; + GUIRegister oGUIRegister = new GUIRegister(); + GUIRegistersDetailed oGUIRegistersDetailed = new GUIRegistersDetailed(); + GUIRamTable oGUIRamTable = new GUIRamTable(); + GUIPorts oGUIPorts = new GUIPorts(); + GUIStack oGUIStack = new GUIStack(); + GUIMCMenu oGUIMCMenu = new GUIMCMenu(); - JPanel oMainPanel; - JPanel oPanelRegisterInformation; + JPanel oMainPanel = new JPanel(); + JPanel oPanel0 = new JPanel(); + JPanel oPanel1 = new JPanel(); ArrayList oPanels = new ArrayList(); /** * Constructor */ public GUIMainFrame(Environment env) { - oMainPanel = new JPanel(); + this.setTitle("PIC-Simulator GUI"); // sets title of frame this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // if x is pressed, exit application (HIDE_ON_CLOSE-hides application, DO_NOTHING_ON_CLOSE-prevents user from closing application) - //this.setResizable(false); // prevent frame from beeing resized + this.setResizable(false); // prevent frame from beeing resized this.setSize(1400, 800); //sets x and y dimension of frame - //this.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); + + oMainPanel.setLayout(new GridBagLayout()); - oGUITestFileTable = new GUITestFileTable(); + oPanel0.setLayout(new GridBagLayout()); + oPanel1.setLayout(new GridBagLayout()); - oPanelRegisterInformation = new JPanel(); - oPanelRegisterInformation.setLayout(new GridBagLayout()); - GridBagConstraints oConstraintsRegisterInformation = new GridBagConstraints(); - int iPrescaler; - if (env.getPIC().getRam().get_PSA()) - 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(), - 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()};*/ - GUIRegister oGUIRegister = new GUIRegister(); - //oGUIRegisters.setRegisters(aiRegisters); - GUIRegistersDetailed oGUIRegistersDetailed = new GUIRegistersDetailed(); - oConstraintsRegisterInformation.anchor = GridBagConstraints.NORTHWEST; - oConstraintsRegisterInformation.gridx = 0; - oConstraintsRegisterInformation.gridy = 0; - oConstraintsRegisterInformation.insets = new Insets(10, 0, 10, 0); - oPanelRegisterInformation.add(oGUIRegister, oConstraintsRegisterInformation); - oConstraintsRegisterInformation.gridy = 1; - oConstraintsRegisterInformation.anchor = GridBagConstraints.WEST; - oPanelRegisterInformation.add(oGUIRegistersDetailed, oConstraintsRegisterInformation); + GridBagConstraints oConstraints = new GridBagConstraints(); + oConstraints.anchor = GridBagConstraints.NORTHWEST; + oConstraints.weightx = 1; + oConstraints.weighty = 1; - this.setJMenuBar(new GUIMenuBar(env, this, oGUITestFileTable, oGUIRegister, oGUIRegistersDetailed)); - this.setVisible(true); //make frame visible + oConstraints.gridx = 0; + oConstraints.gridy = 0; + oConstraints.insets = new Insets(0,0,0,0); + oPanel0.add(oGUITestFileTable, oConstraints); + + oConstraints.gridx = 0; + oConstraints.gridy = 0; + oConstraints.insets = new Insets(0,0,0,0); + oPanel1.add(oGUIRegister, oConstraints); + oConstraints.gridy = 1; + oPanel1.add(oGUIRegistersDetailed, oConstraints); + oConstraints.gridy = 2; + oPanel1.add(oGUIRamTable, oConstraints); + + + oPanels.add(oPanel0); + oPanels.add(oPanel1); + oPanels.add(oMainPanel); ImageIcon guiLogo = new ImageIcon("./pictures/gui_logo.png"); // create an ImageIcon this.setIconImage(guiLogo.getImage()); // change icon of frame - - //this.getContentPane().setBackground(Color.green); //change color of background - //JLabel text = new JLabel(); // create label, passing of text at constructor possible - //text.setText("Bro do you even code?"); // set text of label - //text.setIcon(guiLogo); - //text.setHorizontalTextPosition(JLabel.CENTER); //JLabel.LEFT, JLabel.CENTER, JLabel.RIGHT - //text.setVerticalTextPosition(JLabel.TOP); //JLabel.TOP, JLabel.CENTER, JLabel.BOTTOM - //text.setForeground(Color.green); // set fontcolor of text - //text.setFont(new Font("Arial", Font.ITALIC, 20)); // set fontstyle, fontformat (PLAIN, BOLD, ITALIC), and size - //text.setIconTextGap(-100); // set gap of text to image - //text.setBackground(Color.BLUE); // set background color - //text.setOpaque(true); // display background color + oGUIMenuBar = new GUIMenuBar(env, this, oGUITestFileTable, oGUIRegister, oGUIRegistersDetailed); + this.setJMenuBar(oGUIMenuBar); - //Border border = BorderFactory.createLineBorder(Color.green, 3); // creates border for label, color and size of border - - //text.setBorder(border); // sets border of label to "border" - //text.setVerticalAlignment(JLabel.TOP); // vertically alligns label "text" (JLabel.TOP, JLabel.CENTER, JLabel.BOTTOM) - //text.setHorizontalAlignment(JLabel.CENTER); // horizontally aligns label "text" (JLabel.LEFT, JLabel.CENTER, JLabel.RIGHT) - - //this.add(text); // add label to frame - - //getContentPane().setLayout(new BorderLayout()); - //this.add(new GUITestFileTable("./testfiles/TPicSim1.LST")); - GridBagConstraints c = new GridBagConstraints(); - c.anchor = GridBagConstraints.WEST; - c.insets = new Insets(2,5,2,5); - c.gridx = 0; //next added element will be in column 1 - c.gridy = 0; //next added element will be in row 1 - oMainPanel.add(oGUITestFileTable, c); - c.gridx = 1; - oMainPanel.add(oPanelRegisterInformation, c); - oPanels.add(oPanelRegisterInformation); - oPanels.add(oMainPanel); - oMainPanel.add(new GUIPorts()); this.add(oMainPanel); + updateWindow(); + this.setVisible(true); //make frame visible } public void updateWindow() { diff --git a/src/View/GUIRamTable.java b/src/View/GUIRamTable.java index af5725f..576157e 100644 --- a/src/View/GUIRamTable.java +++ b/src/View/GUIRamTable.java @@ -2,12 +2,17 @@ package View; import java.awt.Color; import java.awt.Dimension; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import javax.swing.BorderFactory; +import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTable; +import javax.swing.ScrollPaneConstants; import javax.swing.JScrollPane; -public class GUIRamTable extends JPanel { +public class GUIRamTable extends JScrollPane { /** * Color oWhite = new Color(255, 253, 250); * Color oDarkGray = new Color(76, 78, 82); @@ -26,14 +31,90 @@ public class GUIRamTable extends JPanel { 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(); + JLabel oRam = new JLabel("RAM"); - JScrollPane oScrollPane = new JScrollPane(); + String[][] assData = {{"0x", "07", "06", "05", "04", "03", "02", "01", "00"}, {"00", "", "", "", "", "", "", "", ""}, + {"08", "", "", "", "", "", "", "", ""}, {"10", "", "", "", "", "", "", "", ""}, + {"18", "", "", "", "", "", "", "", ""}, {"20", "", "", "", "", "", "", "", ""}, + {"28", "", "", "", "", "", "", "", ""}, {"30", "", "", "", "", "", "", "", ""}, + {"38", "", "", "", "", "", "", "", ""}, {"40", "", "", "", "", "", "", "", ""}, + {"48", "", "", "", "", "", "", "", ""}, {"50", "", "", "", "", "", "", "", ""}, + {"58", "", "", "", "", "", "", "", ""}, {"60", "", "", "", "", "", "", "", ""}, + {"68", "", "", "", "", "", "", "", ""}, {"70", "", "", "", "", "", "", "", ""}, + {"78", "", "", "", "", "", "", "", ""}, {"80", "", "", "", "", "", "", "", ""}, + {"88", "", "", "", "", "", "", "", ""}, {"90", "", "", "", "", "", "", "", ""}, + {"98", "", "", "", "", "", "", "", ""}, {"A0", "", "", "", "", "", "", "", ""}, + {"A8", "", "", "", "", "", "", "", ""}, {"B0", "", "", "", "", "", "", "", ""}, + {"B8", "", "", "", "", "", "", "", ""}, {"C0", "", "", "", "", "", "", "", ""}, + {"C8", "", "", "", "", "", "", "", ""}, {"D0", "", "", "", "", "", "", "", ""}, + {"D8", "", "", "", "", "", "", "", ""}, {"E0", "", "", "", "", "", "", "", ""}, + {"E8", "", "", "", "", "", "", "", ""}, {"F0", "", "", "", "", "", "", "", ""}, + {"F8", "", "", "", "", "", "", "", ""}}; + String[] asHeaders = {"0", "1", "2", "3", "4", "5", "6", "7", "8"}; + JTable oRamTable = new JTable(assData, asHeaders); + JPanel oRamPanel = new JPanel(); public GUIRamTable() { - oScrollPane.setPreferredSize(new Dimension(400, 350)); + buildGUIRamTable(); + setColumnWidth(); + setTheme(0); + } + + private void buildGUIRamTable() { + oRamTable.setEnabled(false); + GridBagConstraints oConstraints = new GridBagConstraints(); + oConstraints.gridx = 0; + oConstraints.gridy = 0; + oConstraints.anchor = GridBagConstraints.WEST; + oRamPanel.setLayout(new GridBagLayout()); + oRamPanel.add(oRam, oConstraints); + oConstraints.gridy = 1; + oRamPanel.add(oRamTable, oConstraints); + this.setPreferredSize(new Dimension(320, 350)); + this.setViewportView(oRamPanel); + this.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); + this.setWheelScrollingEnabled(true); + this.getVerticalScrollBar().setUnitIncrement(16); } + public void setGUIRam(int[] aiRam) { + int j = 0; + for (int i = 1; i < 33; i++) { + for (int k = 1; k < 9; k++) { + oRamTable.setValueAt(aiRam[j] + "", i, k); + j++; + } + } + } + + private void setColumnWidth() { + for (int i = 0; i < 9; i++) { + oRamTable.getColumn(i + "").setPreferredWidth(33); + } + } + + public void setTheme(int iThemeNr) { + switch (iThemeNr) { + case 0: { + oRam.setForeground(aoLightTheme[0]); + oRam.setBackground(aoLightTheme[1]); + oRamTable.setForeground(aoLightTheme[0]); + oRamTable.setBackground(aoLightTheme[1]); + oRamTable.setGridColor(aoLightTheme[2]); + this.setForeground(aoLightTheme[0]); + this.setBackground(aoLightTheme[1]); + this.setBorder(BorderFactory.createLineBorder(aoLightTheme[2])); + }break; + case 1: { + oRam.setForeground(aoDarkTheme[0]); + oRam.setBackground(aoDarkTheme[1]); + oRamTable.setForeground(aoDarkTheme[0]); + oRamTable.setBackground(aoDarkTheme[1]); + oRamTable.setGridColor(aoDarkTheme[2]); + this.setForeground(aoDarkTheme[0]); + this.setBackground(aoDarkTheme[1]); + this.setBorder(BorderFactory.createLineBorder(aoDarkTheme[2])); + }break; + } + } } diff --git a/src/View/GUITime.java b/src/View/GUITime.java new file mode 100644 index 0000000..7e23b75 --- /dev/null +++ b/src/View/GUITime.java @@ -0,0 +1,7 @@ +package View; + +import javax.swing.JPanel; + +public class GUITime extends JPanel { + +} \ No newline at end of file