From b21e2aadff31961387d426ebd43b7e4abc051a35 Mon Sep 17 00:00:00 2001 From: Meruemon Date: Wed, 16 Mar 2022 20:41:10 +0100 Subject: [PATCH] Finished Dark and light mode for testfiletable, TODO marking lines, Started creating registertables --- .../PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.class | Bin 2106 -> 2334 bytes .../PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.class | Bin 12050 -> 12095 bytes .../PIC_SIMULATOR_GUI_JAVA/GUIRegisters.class | Bin 0 -> 4071 bytes .../GUITestFileTable.class | Bin 4580 -> 5901 bytes .../PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java | 11 +- .../PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java | 27 +-- .../PIC_SIMULATOR_GUI_JAVA/GUIRegisters.java | 201 ++++++++++++++++++ .../GUITestFileTable.java | 100 +++++++-- 8 files changed, 308 insertions(+), 31 deletions(-) create mode 100644 bin/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.class create mode 100644 src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.java diff --git a/bin/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.class b/bin/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.class index a75ef31a407adddeb2ffba96bb9be5e23925fac4..62b73809b6ef8952f47aa0a54d967140ec65e844 100644 GIT binary patch delta 546 zcmZvX%}*0i6vcnTe0FHbgN2DM)rd?|yQe`#Vn|KvAW_Mv3&wQB*3#B?D1O(EwTosF zm#*ECNJ)UWHF3qpoeTL##5-ad7rvKw-@E7CbI!fH>f@CA?bq&?qa)^cx8+Wmx=l35 zovSQIYqf41b-FH9axNMVv)req;hitn!(LbjH{-%WYrWlSM$Nc5^FJ`9J<8HZ&YJs) zW1XJX7!PYBX^pYFC5>Eb@mA>{@IrZ@&diK}Vyf~Y%S$FS+)mUB8?|Z}M=9LT@;WJ5 zw=)B5EZ{KtWYznXU#y@v&J4(k$*62<_*#JPMSm3R=gqgE%6^?9SrVpA_?t6 z{}OF3v%x&ixWaoD_`p@Zvd94?zH^Nql=(@8rjRclk3dUU={n>w9hq{KH*|?bye-HE zJ#^7H#U@Y0>wrm~ioPk84JIUx3%4k@HZPBiwDw%it5JJWqszyVaBtwS{Kq>h^-}!T LTNB50n76+HYbJNm delta 370 zcmYL@yG{a86h+s_00S8bVl1erP=f`9#uyS41s_oaER2R|!9*VNkkOHcXlG?*;q=rN zT961NVEh0ZKf=nN5HDcj$<0abIqU4bo1UI~^5duXJ{Yjdt(^(eXPs>=e#?pziHu6t ze6+s#J-KQ=teqBfhF&eFBYH_UB;0!it)>OFdL=lTm{FVGH$1DTRB=f-jZ94|<1#`E>6H9hUgk-O5X|q4-2VS|)QBoGwCE4aA z5O`(ID|bi*I;2}dYl58Uai-0n5h@Z$p zk&+0RBE~soq1Oi?Y0fXbuKoWAp GkT<`>3sAKH diff --git a/bin/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.class b/bin/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.class index 40f2b9268468f0ceb4c284a8a4f5d1b62b014d8d..abb673a2d3d39b00c046e02d1dc98cbce4619c04 100644 GIT binary patch delta 3267 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 J0;QL*{}<}?rM>_F delta 3195 zcmZuzdstOf7GJ-8FZacf*X8n1AQVNtAT*Nb_-d3fr!w{XoJJY*fl5d^+{?>%b4|3d zY|J`YYUK<%f~BLPaxkBiMW$qg4<7@inO#KlMR1R-wWy#GY;e!Q`C1i+O5%$ghSiQ1CqM1=$O;i$-~~@{6+_R1cqmh46wpF#DLN zAUmhPQ=B)=K|A4-<~%9!P>&@FUc_J2H$zfv1$aq8F(%c{9cB`uH}Z z(t$nLX9e$(Q(r-GQSQvtAq53lb4TPB7Ae?|10Zu@?!0V}sYlPpDg0fO!3UgE|d%WRG|(OB;WLzg2On%k=O^Mj&nxgb2Z=D zu|qBGcF-`?Dfklg>MCbKWG!Ol+!G2pDO?svgMxqIE4AL)i@)czf;0G9wTA!3{teDs zaSoI$OHEyFwwn|*s=n~k_>Vf?6%%(06gadXJ8Op5lbcr*??4ls-~qQ4{1J|^`xtJL=##SL0Av66?w)K6>zF;LhOi(cqYjH1er+?VX9iv zbpm44^IfBTNgC4KJLysx#cao;PCTt)xSNS>rrvTi_tp?<_*^R^MfVxYJ_dKajmvE3 zn%cNOwsSYj$ieYyHHu z7<9Rx&X)98eQ@)bQ$a)~xOiMgJyem{*XN~0$fso}ptmuL$}pR@VlM5*JUWO4bd>wA z0X}NPLb{Aa)Ql3khb6FaV})WVV(=2WVL2YgtLTRn7|4}B9B*J0R$>fRV;tVa1e9V5 z*M9`RHNwB&h(r`?yz}9B4l}q;X0jGa!NJbR$bayI|jBG zc-OGs_an&9Ll|f_(BemGNY=23>^@TwsYd*O`m<__>M{3ZpIC&SAYFNf$rN+5g z&SK*Oh6@jB?DH!7TzPr+f1Rvgwx->pi|v*} z?G{~Zw;XP_=%U}^TOoTz$X-Dl4d?NF3cw}`!e(+}D|Ny)Nhoz=qH?n2@MG3W7LVS(1}mb1bmGooJAVG!2mu)GjJYHqLEwg zTa3pAOvU$@flDaFWz5GFl;A3s;TkvT4Q|RNzHM${H=1z>KcEhGIMR=7ZDHo#NFi`v zgrHSK2_X`MN%R(GF-Qc65yB$I3afZl*hIdti-p3W_jWv)c*9<3>ur`^qk#mSdtKe{ zj`69PRap5{GBmt7ICc#p_h3yX7uGu({$7QDjBxM42KFeg#6~W?jodWvOO%g>EgH6S zqUwIuG(+ldj^?u1ogU!VtNUA`EmF6#cg9*uk%wfRhJ%%etTCnA$|-^!Yg{%BhpJI) z(r{GuCdK#;RnxF&i_6ZmhA&qCavoPw`viX1(O>F(_8wbohs*A=mbO+cw!vj{1(ddy zyIt13=1LrwtKt>ZYB;Ik6iY`noOPQkDMQwmSwD;CQJjyrDVS^`gn|VB4Tv!6EW#;S zxabiPK|@6(jTTXqDWYkz=t#Mu6M01p%@(n=NW{@n@er+ITqnBFMv*{UL|6JmbfY?v zNasX%YGSTMbb(nUK@rL5D0-o@NI{}_SWlgoe1Tly-HqIJMgSMk1BfO2Uct}tgIFKM{SoRyYPEUvL+qYX64kT%gM{F^yD zuJhN++dz+o8*UD#2f+=p=(oXOvbWMw;{Q-svBt_ZYvn%>e$=#HU3@Cn6?bPY`tT|r z<+Z=a0Rot-mK(02noD3%%v#!E8eC56xs>=)M@=kew~SshrJKuXiQ(wtjLPKu)h*IR zFMugb9Cw-hW7=x6n###+{=HxKG0~Op{yk{QbmC?enq`fCS=yd+=B9TUcq7Ma&bP5-JDM9q3p5oV8^tk9x zlf(cng@N?47|dz!M-}XJK>Suu=_CH#XzNC*_FuFVNR`5*?|dk2(X(QrL_U>dR?No6 zJMK}qdLSigx*4s!r2%>h`U3ppXBB23DOR*l06+X!&j*6Vp8`r{lxdNjczm0lANi*t U%_N5Ft5W<9#;PE!(o5L>2hc%@Hvj+t diff --git a/bin/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.class b/bin/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.class new file mode 100644 index 0000000000000000000000000000000000000000..efbf367a156dc49711f84f4080c8c37c112a9dab GIT binary patch literal 4071 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 JZ5H4!{{!Y3LU{lH diff --git a/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java b/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java index 59c2cb7..df7190d 100755 --- a/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java +++ b/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java @@ -37,7 +37,6 @@ public class GUIMainFrame extends JFrame { ImageIcon guiLogo = new ImageIcon("./images/gui_logo.png"); // create an ImageIcon this.setIconImage(guiLogo.getImage()); // change icon of frame - Color guiBackgroundColor = new Color(255, 255, 255); // 0xFFFFFF || 0, 0, 0 //this.getContentPane().setBackground(Color.green); //change color of background //JLabel text = new JLabel(); // create label, passing of text at constructor possible @@ -64,8 +63,16 @@ public class GUIMainFrame extends JFrame { GridBagConstraints c = new GridBagConstraints(); c.gridx = 0; //next added element will be in column 1 c.gridy = 0; //next added element will be in row 1 - c.insets = new Insets(1,1,1,1); + c.insets = new Insets(10,10,10,10); this.add(oGUITestFileTable, c); + + int[] aiRegisters = {1, 2, 3, 4, 5, 6, 7, 8 ,9}; + + GUIRegisters oGUIRegisters = new GUIRegisters(); + + c.gridx = 1; + this.add(oGUIRegisters); + updateWindow(); } diff --git a/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java b/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java index 7edf4be..08ee6f7 100644 --- a/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java +++ b/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java @@ -363,11 +363,13 @@ public class GUIMenuBar extends JMenuBar implements ActionListener { if (e.getSource() == oDarkTheme) { System.out.println("It's gettin dark brooo"); //TODO setTheme(aoDarkTheme[0], aoDarkTheme[1]); + oGUITestFileTable.setTheme(1); } //Change to light theme if (e.getSource() == oLightTheme) { System.out.println("Death to all vampires!"); //TODO setTheme(aoLightTheme[0], aoLightTheme[1]); + oGUITestFileTable.setTheme(0); } //Microcontroller @@ -560,18 +562,19 @@ public class GUIMenuBar extends JMenuBar implements ActionListener { } private void controlBreakpoints(ActionEvent e) { - int iOPCode = oRef.getOPCode().size(); - - if (iOPCode > 0) { - for (int i = 0; i < oCheckBoxes.size(); i++) { - if (e.getSource() == oCheckBoxes.get(i)) { - for (int j = 0; j < iOPCode; j++) { - if (oRef.getOPCode().get(j).equals(oRef.getData().get(i))) { - bBreakpointSet[j] = !bBreakpointSet[j]; - if (bBreakpointSet[j]) - System.out.println("Breakpoint " + j + " got set."); - else - System.out.println("Breakpoint " + j + " got reset."); + 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 j = 0; j < iOPCode; j++) { + if (oRef.getOPCode().get(j).equals(oRef.getData().get(i))) { + bBreakpointSet[j] = !bBreakpointSet[j]; + if (bBreakpointSet[j]) + System.out.println("Breakpoint " + j + " got set."); + else + System.out.println("Breakpoint " + j + " got reset."); + } } } } diff --git a/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.java b/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.java new file mode 100644 index 0000000..3dd11b9 --- /dev/null +++ b/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIRegisters.java @@ -0,0 +1,201 @@ +package Frontend.PIC_SIMULATOR_GUI_JAVA; + +import java.awt.GridBagLayout; +import java.util.ArrayList; +import java.awt.GridBagConstraints; + +import javax.swing.JPanel; +import javax.swing.JTextField; + +public class GUIRegisters extends JPanel { + + ArrayList oTextfields = new ArrayList(); + ArrayList oPanels = new ArrayList(); + + JPanel oTopComponentPanel = new JPanel(); + JPanel oLeftComponentPanel = new JPanel(); + JPanel oRightComponentPanel = new JPanel(); + + JTextField oTextSFR = new JTextField("SFR", 22); + + JTextField oTextPCL = new JTextField("PCL", 22); + JTextField oTextPCLATH = new JTextField("PCLATH", 22); + JTextField oTextPCIntern = new JTextField("PC intern", 22); + JTextField oTextStatus = new JTextField("STATUS", 22); + JTextField oTextFileSelectionRegister = new JTextField("FileSelectionRegister", 22); + JTextField oTextOption = new JTextField("OPTION", 22); + JTextField oTextPrescaler = new JTextField("Prescaler", 22); + JTextField oTextTMR0 = new JTextField("TMR0", 22); + + 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 oValueFileSearchRegister = new JTextField("00", 2); + JTextField oValueOption = new JTextField("00", 2); + JTextField oValuePrescaler = new JTextField("00", 2); + JTextField oValueTMR0 = new JTextField("00", 2); + + JPanel oBottomComponentPanel1 = new JPanel(); + JPanel oBottomComponentPanel2 = new JPanel(); + + + JTextField oTextW = new JTextField("W", 22); + + JTextField oTextWRegister = new JTextField("W-Register", 22); + + JTextField oValueWRegister = new JTextField("00", 2); + + public GUIRegisters() { + //9 + /** + * [0] W-Register + * [1] PCL + * [2] PCLATH + * [3] PC intern + * [4] Status + * [5] FSR FileSelectionRegister + * [6] Option + * [7] Vorteiler + * [8] TMR0 + */ + addComponentsToLists(); + setEditFalse(); + buildGUIRegisters(); + } + + private void buildGUIRegisters() { + GridBagConstraints oConstraints = new GridBagConstraints(); + + oTopComponentPanel.setLayout(new GridBagLayout()); + oLeftComponentPanel.setLayout(new GridBagLayout()); + oRightComponentPanel.setLayout(new GridBagLayout()); + + oBottomComponentPanel1.setLayout(new GridBagLayout()); + oBottomComponentPanel2.setLayout(new GridBagLayout()); + + this.setLayout(new GridBagLayout()); + + //Fill top component panel + oConstraints.gridx = 0; + oConstraints.gridy = 0; + oConstraints.anchor = GridBagConstraints.WEST; + oTopComponentPanel.add(oTextSFR, oConstraints); + + //Fill left side of left component panel + oLeftComponentPanel.add(oTextPCL, oConstraints); + oConstraints.gridy = 1; + oLeftComponentPanel.add(oTextPCLATH, oConstraints); + oConstraints.gridy = 2; + oLeftComponentPanel.add(oTextPCIntern, oConstraints); + oConstraints.gridy = 3; + oLeftComponentPanel.add(oTextStatus, oConstraints); + + //Fill right side of left component panel + oConstraints.gridx = 1; + oConstraints.gridy = 0; + oConstraints.anchor = GridBagConstraints.EAST; + oLeftComponentPanel.add(oValuePCL, oConstraints); + oConstraints.gridy = 1; + oLeftComponentPanel.add(oValuePCLATH, oConstraints); + oConstraints.gridy = 2; + oLeftComponentPanel.add(oValuePCIntern, oConstraints); + oConstraints.gridy = 3; + oLeftComponentPanel.add(oValueStatus, oConstraints); + + //Fill left side of right component panel + oConstraints.gridx = 0; + oConstraints.gridy = 0; + oConstraints.anchor = GridBagConstraints.WEST; + oRightComponentPanel.add(oTextFileSelectionRegister, oConstraints); + oConstraints.gridy = 1; + oRightComponentPanel.add(oTextOption, oConstraints); + oConstraints.gridy = 2; + oRightComponentPanel.add(oTextPrescaler, oConstraints); + oConstraints.gridy = 3; + oRightComponentPanel.add(oTextTMR0, oConstraints); + + //Fill right side of right component panel + oConstraints.gridx = 1; + oConstraints.gridy = 0; + oConstraints.anchor = GridBagConstraints.EAST; + oRightComponentPanel.add(oValueFileSearchRegister, oConstraints); + oConstraints.gridy = 1; + oRightComponentPanel.add(oValueOption, oConstraints); + oConstraints.gridy = 2; + oRightComponentPanel.add(oValuePrescaler, oConstraints); + oConstraints.gridy = 3; + oRightComponentPanel.add(oValueTMR0, oConstraints); + + //Fill 1st bottom component panel + oConstraints.anchor = GridBagConstraints.WEST; + oConstraints.gridx = 0; + oConstraints.gridy = 0; + oBottomComponentPanel1.add(oTextW, oConstraints); + + //Fill 2nd bottom component panel + oBottomComponentPanel2.add(oTextWRegister, oConstraints); + oConstraints.anchor = GridBagConstraints.EAST; + oConstraints.gridx = 1; + oBottomComponentPanel2.add(oValueWRegister, oConstraints); + + //Fill this panel + oConstraints.anchor = GridBagConstraints.WEST; + oConstraints.gridx = 0; + oConstraints.gridy = 0; + this.add(oTopComponentPanel, oConstraints); + oConstraints.gridy = 1; + this.add(oLeftComponentPanel, oConstraints); + oConstraints.gridx = 1; + this.add(oRightComponentPanel, oConstraints); + oConstraints.gridx = 0; + oConstraints.gridy = 2; + this.add(oBottomComponentPanel1, oConstraints); + oConstraints.gridy = 3; + this.add(oBottomComponentPanel2, oConstraints); + } + + /** + * + */ + 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(oValuePCL); + oTextfields.add(oValuePCLATH); + //TODO + } + + /** + * + */ + private void setEditFalse() { + //TODO + } + + /** + * + * @param iThemeNr + */ + public void setTheme(int iThemeNr) { + //TODO + } + + /** + * + * @param aiRegisters + */ + public void setRegisters(int[] aiRegisters) { + //TODO + } +} \ No newline at end of file diff --git a/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUITestFileTable.java b/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUITestFileTable.java index b58f83d..525e88e 100644 --- a/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUITestFileTable.java +++ b/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUITestFileTable.java @@ -5,9 +5,9 @@ import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.Color; - import java.util.ArrayList; +import javax.swing.BorderFactory; import javax.swing.JCheckBox; import javax.swing.JPanel; import javax.swing.JScrollPane; @@ -16,33 +16,57 @@ import javax.swing.ScrollPaneConstants; public class GUITestFileTable extends JScrollPane { String sLine; + ArrayList oLineInformation = new ArrayList(); ArrayList oCheckboxes = new ArrayList(); + ArrayList oPanels = new ArrayList(); JPanel oTable; int iTheme = 0; + boolean bFileLoaded = false; /** * 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)}; - Color[] aoLightTheme = {new Color(76, 78, 82), new Color(255, 253, 250)}; + 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)}; /** * Constructor which initializes a filler. */ public GUITestFileTable() { oTable = new JPanel(); + oPanels.add(oTable); JTextField oFill = new JTextField("0"); + oLineInformation.add(oFill); oFill.setEditable(false); + JPanel oTestPanel = new JPanel(); + oPanels.add(oTestPanel); oTestPanel.setLayout(new GridLayout(1, 3)); oTestPanel.add(oFill); - oTestPanel.add(new JCheckBox()); + + 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.setViewportView(oTestPanel); } @@ -53,9 +77,11 @@ public class GUITestFileTable extends JScrollPane { public void setData(ArrayList data) { oTable.removeAll(); //Clear table. oCheckboxes.clear(); //Clear arraylist containing checkboxes. + oLineInformation.clear(); //clear arraylist containing references to informationfields. //Component which will include numbers, breakpoints and lines from testfile. JPanel oLines = new JPanel(); + oPanels.add(oLines); oLines.setLayout(new GridBagLayout()); //Constraint for position of components at oLines. @@ -68,6 +94,7 @@ public class GUITestFileTable extends JScrollPane { for (int i = 1; i < iNumberOfLines; i++) { //Component which will be filled with three components (represents one line). JPanel oLine = new JPanel(); + oPanels.add(oLine); oLine.setLayout(new GridBagLayout()); //Constraint for position of components at oLine. @@ -77,6 +104,7 @@ public class GUITestFileTable extends JScrollPane { c.gridx = 0; //collumn 0 //Component displays number of testfileline JTextField oNumber = new JTextField(i + "", 3); + oLineInformation.add(oNumber); //refernce for changing color mode oNumber.setForeground(aoLightTheme[0]); oNumber.setBackground(aoLightTheme[1]); oNumber.setEditable(false); @@ -91,7 +119,8 @@ public class GUITestFileTable extends JScrollPane { c.gridx = 2; //collumn 2 //Component displays comment to specific line. - JTextField oTestLine = new JTextField(data.get(i - 1), (int)(iMaxLength * 0.7)); + JTextField oTestLine = new JTextField(data.get(i - 1), (int)(iMaxLength * 0.6)); + oLineInformation.add(oTestLine); //reference for changing color mode oTestLine.setEditable(false); oLine.add(oTestLine, c); @@ -109,6 +138,7 @@ public class GUITestFileTable extends JScrollPane { this.setWheelScrollingEnabled(true); this.getVerticalScrollBar().setUnitIncrement(16); this.setViewportView(oTable); + setTheme(iTheme); } /** @@ -133,27 +163,63 @@ public class GUITestFileTable extends JScrollPane { return iMaxLength; } - public void setDarkTheme() { - iTheme = 1; + /** + * Changes Foreground, Background and Border-Color of testfiletable compponents + * @param iThemeNr 0 Light Theme, 1 Dark Theme + */ + public void setTheme(int iThemeNr) { + iTheme = iThemeNr; + + for (int i = 0; i < oLineInformation.size(); i++) { + oLineInformation.get(i).setForeground(getThemeColor()[0]); + oLineInformation.get(i).setBackground(getThemeColor()[1]); + oLineInformation.get(i).setBorder(BorderFactory.createLineBorder(getThemeColor()[2])); + } + for (int i = 0; i < oCheckboxes.size(); i++) { + oCheckboxes.get(i).setForeground(getThemeColor()[0]); + oCheckboxes.get(i).setBackground(getThemeColor()[1]); + oCheckboxes.get(i).setBorder(BorderFactory.createLineBorder(getThemeColor()[2])); + } + for (int i = 0; i < oPanels.size(); i++) { + oPanels.get(i).setForeground(getThemeColor()[0]); + oPanels.get(i).setBackground(getThemeColor()[1]); + } + + oTable.setForeground(getThemeColor()[0]); + oTable.setBackground(getThemeColor()[1]); + this.setForeground(getThemeColor()[0]); + this.setBackground(getThemeColor()[1]); } - public void setLightTheme() { - iTheme = 0; + /** + * Mark line at testfiletable. + * @param iLineToMark + */ + public void markLine(int iLineToMark) { //TODO + if (iLineToMark > -1) { + oLineInformation.get(iLineToMark).setForeground(getThemeColor()[3]); + oLineInformation.get(iLineToMark).setBackground(getThemeColor()[4]); + oLineInformation.get(iLineToMark).setBorder(BorderFactory.createLineBorder(getThemeColor()[5])); + } } - public void markLine(int iLineToMark) { - - } - - public void unmarkLine(int iLineToUnmark) { - + /** + * Unmark line at testfiletable. + * @param iLineToUnmark + */ + public void unmarkLine(int iLineToUnmark) { //TODO + if (iLineToUnmark > -1) { + oLineInformation.get(iLineToUnmark).setForeground(getThemeColor()[0]); + oLineInformation.get(iLineToUnmark).setBackground(getThemeColor()[1]); + oLineInformation.get(iLineToUnmark).setBorder(BorderFactory.createLineBorder(getThemeColor()[2])); + } } /** * @return Color to set for testfiletable */ - private Color[] getTheme() { - Color[] oReturnColor = {new Color(76, 78, 82), new Color(255, 253, 250)}; + private Color[] getThemeColor() { + Color[] oReturnColor = aoLightTheme; switch (iTheme) { case 0: { oReturnColor = aoLightTheme;