From 470c747568462240ab1df2bb1fcf0a48fe6fdeef Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 18 Apr 2017 17:56:55 -0400 Subject: [PATCH] runelite-client: try to fix switching between plugins --- .../client/plugins/devtools/DevTools.java | 7 ++-- .../client/plugins/hiscore/Hiscore.java | 11 +++--- .../java/net/runelite/client/ui/ClientUI.java | 34 +++++++++---------- 3 files changed, 24 insertions(+), 28 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevTools.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevTools.java index 927c160f10..0c2bcd8124 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevTools.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevTools.java @@ -61,7 +61,7 @@ public class DevTools extends Plugin public DevTools() { - navButton.getButton().addActionListener(this::expandPanel); + navButton.getButton().addActionListener(this::setPluginPanel); try { @@ -95,10 +95,9 @@ public class DevTools extends Plugin return overlay; } - private void expandPanel(ActionEvent e) + private void setPluginPanel(ActionEvent e) { - ui.setPluginPanel(panel); - ui.expand(); + ui.expand(panel); } public Font getFont() diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/Hiscore.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/Hiscore.java index 340f02ea37..a5c4d7fb1a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/Hiscore.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/Hiscore.java @@ -26,7 +26,6 @@ package net.runelite.client.plugins.hiscore; import com.google.common.eventbus.Subscribe; import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.io.IOException; import java.util.concurrent.ScheduledExecutorService; import javax.imageio.ImageIO; @@ -40,7 +39,7 @@ import net.runelite.client.ui.overlay.Overlay; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class Hiscore extends Plugin implements ActionListener +public class Hiscore extends Plugin { private static final Logger logger = LoggerFactory.getLogger(Hiscore.class); @@ -54,7 +53,7 @@ public class Hiscore extends Plugin implements ActionListener public Hiscore() { - navButton.getButton().addActionListener(this); + navButton.getButton().addActionListener(this::setPluginPanel); try { @@ -77,11 +76,9 @@ public class Hiscore extends Plugin implements ActionListener return null; } - @Override - public void actionPerformed(ActionEvent e) + private void setPluginPanel(ActionEvent e) { - ui.setPluginPanel(hiscorePanel); - ui.expand(); + ui.expand(hiscorePanel); } @Subscribe diff --git a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java index 4db109273f..a59286ff25 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java @@ -47,7 +47,6 @@ public final class ClientUI extends JFrame private ClientPanel panel; private NavigationPanel navigationPanel; private PluginPanel pluginPanel; - private boolean expanded; public ClientUI() throws Exception { @@ -98,25 +97,31 @@ public final class ClientUI extends JFrame add(container); } - public void expand() + public void expand(PluginPanel panel) { - if (!expanded) - { - navContainer.add(pluginPanel, BorderLayout.WEST); - navContainer.revalidate(); - this.setMinimumSize(new Dimension(EXPANDED_WIDTH, PANEL_HEIGHT)); - expanded = true; - } - else + if (pluginPanel == panel) { navContainer.remove(1); - navContainer.revalidate(); + container.validate(); this.setMinimumSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT)); if (this.getWidth() == EXPANDED_WIDTH) { this.setSize(PANEL_WIDTH, PANEL_HEIGHT); } - expanded = false; + pluginPanel = null; + } + else + { + if (pluginPanel != null) + { + navContainer.remove(1); + container.validate(); + } + + pluginPanel = panel; + navContainer.add(pluginPanel, BorderLayout.WEST); + container.validate(); + this.setMinimumSize(new Dimension(EXPANDED_WIDTH, PANEL_HEIGHT)); } } @@ -139,9 +144,4 @@ public final class ClientUI extends JFrame { return pluginPanel; } - - public void setPluginPanel(PluginPanel pluginPanel) - { - this.pluginPanel = pluginPanel; - } }