From c43ae92cb650b4b72f1849237e15462c19928daf Mon Sep 17 00:00:00 2001
From: Nils Vreman <nils.vreman@gmail.com>
Date: Tue, 21 Aug 2018 15:03:00 +0200
Subject: [PATCH] Fixed problem with text disappearing when list option pressed

---
 gui/menu/help/HelpMenuPane.java |  2 +-
 gui/menu/help/ScheduleTab.java  | 13 +++++++------
 gui/menu/help/TabPanel.java     | 13 ++++++++++---
 3 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/gui/menu/help/HelpMenuPane.java b/gui/menu/help/HelpMenuPane.java
index f863106..8396539 100644
--- a/gui/menu/help/HelpMenuPane.java
+++ b/gui/menu/help/HelpMenuPane.java
@@ -18,7 +18,7 @@ public class HelpMenuPane extends JFrame {
         tabbedPane.addTab("Schedule", new ScheduleTab());
 
         tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
-        tabbedPane.setPreferredSize(new Dimension(400, 400));
+        tabbedPane.setPreferredSize(new Dimension(500, 400));
 
         add(CENTER, tabbedPane);
 
diff --git a/gui/menu/help/ScheduleTab.java b/gui/menu/help/ScheduleTab.java
index 383cc37..74e39f5 100644
--- a/gui/menu/help/ScheduleTab.java
+++ b/gui/menu/help/ScheduleTab.java
@@ -5,16 +5,17 @@ public class ScheduleTab extends TabPanel {
     private static final String[] listOptions = new String[] {
                             "Schedule", 
                             "Solution", 
-                            "Checking Solution", 
-                            "Clearing Cells", 
-                            "Clearing Strategy"};
+                            "Check Solution", 
+                            "Clear Cells", 
+                            "Clear Strategy"};
+
 
     private static final String[] helpTexts = new String[] {
                             "Schedule", 
                             "Solution", 
-                            "Checking Solution", 
-                            "Clearing Cells", 
-                            "Clearing Strategy"};
+                            "Check Solution", 
+                            "Clear Cells", 
+                            "Clear Strategy"};
 
     public ScheduleTab() {
         super(listOptions, helpTexts);
diff --git a/gui/menu/help/TabPanel.java b/gui/menu/help/TabPanel.java
index 9cdfa1a..30d1aaa 100644
--- a/gui/menu/help/TabPanel.java
+++ b/gui/menu/help/TabPanel.java
@@ -3,20 +3,23 @@ package gui.menu.help;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
 import java.awt.BorderLayout;
+import java.awt.Dimension;
 import java.util.Map;
 import java.util.HashMap;
 
 public abstract class TabPanel extends JPanel implements EventListener {
 
     private final String[] listOptions;
+    private OptionList list;
     private Map<String, JTextField> helpTexts = new HashMap<>();
 
     public TabPanel(String[] listOptions, String[] fieldTexts) {
         super(new BorderLayout());
         this.listOptions = listOptions;
 
-        OptionList list = new OptionList(listOptions);
+        list = new OptionList(listOptions);
         list.addListener(this);
+        list.setPreferredSize(new Dimension(120, 400));
 
         for (int i = 0; i < listOptions.length; i++) {
             JTextField htf = new HelpTextField(fieldTexts[i]);
@@ -28,10 +31,14 @@ public abstract class TabPanel extends JPanel implements EventListener {
     }
 
     public void update(String tab) {
+        removeAll();
+        add(BorderLayout.WEST, list);
+
         if (helpTexts.containsKey(tab)) {
             add(BorderLayout.CENTER, helpTexts.get(tab));
-            revalidate();
-            repaint();
         }
+
+        revalidate();
+        repaint();
     }
 }
-- 
GitLab