diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java index 9e3a42fab1..83838f3d01 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java @@ -36,8 +36,8 @@ import net.runelite.client.events.PluginChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginManager; -import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.NavigationButton; +import net.runelite.client.ui.PluginToolbar; @PluginDescriptor( name = "Configuration", @@ -47,7 +47,7 @@ import net.runelite.client.ui.NavigationButton; public class ConfigPlugin extends Plugin { @Inject - private ClientUI ui; + private PluginToolbar pluginToolbar; @Inject private ConfigManager configManager; @@ -75,18 +75,19 @@ public class ConfigPlugin extends Plugin icon = ImageIO.read(getClass().getResourceAsStream("config_icon.png")); } - navButton = new NavigationButton( - "Configuration", - icon, - () -> configPanel); + navButton = NavigationButton.builder() + .name("Configuration") + .icon(icon) + .panel(() -> configPanel) + .build(); - ui.getPluginToolbar().addNavigation(navButton); + pluginToolbar.addNavigation(navButton); } @Override protected void shutDown() throws Exception { - ui.getPluginToolbar().removeNavigation(navButton); + pluginToolbar.removeNavigation(navButton); } @Subscribe diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java index f46f2bb90b..84a406b3c6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java @@ -35,9 +35,9 @@ import net.runelite.api.widgets.Widget; import net.runelite.client.config.ConfigManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.FontManager; import net.runelite.client.ui.NavigationButton; +import net.runelite.client.ui.PluginToolbar; import net.runelite.client.ui.overlay.Overlay; @PluginDescriptor( @@ -47,7 +47,7 @@ import net.runelite.client.ui.overlay.Overlay; public class DevToolsPlugin extends Plugin { @Inject - private ClientUI ui; + private PluginToolbar pluginToolbar; @Inject private DevToolsOverlay overlay; @@ -89,12 +89,13 @@ public class DevToolsPlugin extends Plugin icon = ImageIO.read(getClass().getResourceAsStream("devtools_icon.png")); } - navButton = new NavigationButton( - "Developer Tools", - icon, - () -> panel); + navButton = NavigationButton.builder() + .name("Developer Tools") + .icon(icon) + .panel(() -> panel) + .build(); - ui.getPluginToolbar().addNavigation(navButton); + pluginToolbar.addNavigation(navButton); font = FontManager.getRunescapeFont() .deriveFont(Font.BOLD, 16); @@ -103,7 +104,7 @@ public class DevToolsPlugin extends Plugin @Override protected void shutDown() throws Exception { - ui.getPluginToolbar().removeNavigation(navButton); + pluginToolbar.removeNavigation(navButton); } @Override diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java index 8f4151763f..3bd072e431 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java @@ -41,8 +41,8 @@ import net.runelite.client.config.ConfigManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.task.Schedule; -import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.NavigationButton; +import net.runelite.client.ui.PluginToolbar; import net.runelite.http.api.feed.FeedClient; import net.runelite.http.api.feed.FeedResult; @@ -54,7 +54,7 @@ import net.runelite.http.api.feed.FeedResult; public class FeedPlugin extends Plugin { @Inject - private ClientUI ui; + private PluginToolbar pluginToolbar; @Inject private FeedConfig config; @@ -90,20 +90,20 @@ public class FeedPlugin extends Plugin icon = ImageIO.read(getClass().getResourceAsStream("icon.png")); } - navButton = new NavigationButton( - "News Feed", - icon, - () -> feedPanel); - - ui.getPluginToolbar().addNavigation(navButton); + navButton = NavigationButton.builder() + .name("News Feed") + .icon(icon) + .panel(() -> feedPanel) + .build(); + pluginToolbar.addNavigation(navButton); executorService.submit(this::updateFeed); } @Override protected void shutDown() throws Exception { - ui.getPluginToolbar().removeNavigation(navButton); + pluginToolbar.removeNavigation(navButton); } private void updateFeed() diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java index 6fdf42708c..b2a1ddcfe0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java @@ -48,8 +48,8 @@ import net.runelite.client.input.MouseListener; import net.runelite.client.input.MouseManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.NavigationButton; +import net.runelite.client.ui.PluginToolbar; @PluginDescriptor( name = "Grand Exchange" @@ -69,7 +69,7 @@ public class GrandExchangePlugin extends Plugin private Client client; @Inject - private ClientUI ui; + private PluginToolbar pluginToolbar; @Inject private GrandExchangeConfig config; @@ -84,13 +84,20 @@ public class GrandExchangePlugin extends Plugin protected void startUp() throws IOException { panel = injector.getInstance(GrandExchangePanel.class); + BufferedImage icon; synchronized (ImageIO.class) { icon = ImageIO.read(getClass().getResourceAsStream("ge_icon.png")); } - button = new NavigationButton("GE Offers", icon, () -> panel); - ui.getPluginToolbar().addNavigation(button); + + button = NavigationButton.builder() + .name("GE Offers") + .icon(icon) + .panel(() -> panel) + .build(); + + pluginToolbar.addNavigation(button); itemClick = new MouseListener() { @@ -119,7 +126,8 @@ public class GrandExchangePlugin extends Plugin if (!button.isSelected()) { - button.doClick(); + button.setSelected(true); + button.getOnSelect().run(); } panel.getSearchPanel().priceLookup(itemComp.getName()); @@ -145,8 +153,7 @@ public class GrandExchangePlugin extends Plugin @Override protected void shutDown() { - ui.getPluginToolbar().removeNavigation(button); - + pluginToolbar.removeNavigation(button); mouseManager.unregisterMouseListener(itemClick); } @@ -172,10 +179,6 @@ public class GrandExchangePlugin extends Plugin @Subscribe public void onGrandExchangeOfferChanged(GrandExchangeOfferChanged offerEvent) { - SwingUtilities.invokeLater(() -> - { - panel.updateOffer(offerEvent.getOffer(), offerEvent.getSlot()); - }); + SwingUtilities.invokeLater(() -> panel.updateOffer(offerEvent.getOffer(), offerEvent.getSlot())); } - } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java index 1c806ba30d..ac43c3a2d3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java @@ -38,8 +38,8 @@ import net.runelite.client.config.ConfigManager; import net.runelite.client.menus.MenuManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.NavigationButton; +import net.runelite.client.ui.PluginToolbar; @PluginDescriptor( name = "HiScore", @@ -50,7 +50,7 @@ public class HiscorePlugin extends Plugin private static final String LOOKUP = "Lookup"; @Inject - private ClientUI ui; + private PluginToolbar pluginToolbar; @Inject private MenuManager menuManager; @@ -81,12 +81,13 @@ public class HiscorePlugin extends Plugin icon = ImageIO.read(getClass().getResourceAsStream("hiscore.gif")); } - navButton = new NavigationButton( - "Hiscore", - icon, - () -> hiscorePanel); + navButton = NavigationButton.builder() + .name("Hiscore") + .icon(icon) + .panel(() -> hiscorePanel) + .build(); - ui.getPluginToolbar().addNavigation(navButton); + pluginToolbar.addNavigation(navButton); if (config.playerOption()) { @@ -97,8 +98,7 @@ public class HiscorePlugin extends Plugin @Override protected void shutDown() throws Exception { - ui.getPluginToolbar().removeNavigation(navButton); - + pluginToolbar.removeNavigation(navButton); menuManager.removePlayerMenuItem(LOOKUP); } @@ -129,7 +129,8 @@ public class HiscorePlugin extends Plugin { if (!navButton.isSelected()) { - navButton.doClick(); + navButton.setSelected(true); + navButton.getOnSelect().run(); } }); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/info/InfoPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/info/InfoPlugin.java index ad1c730903..43abd0ddc0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/info/InfoPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/info/InfoPlugin.java @@ -29,8 +29,8 @@ import javax.imageio.ImageIO; import javax.inject.Inject; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.NavigationButton; +import net.runelite.client.ui.PluginToolbar; @PluginDescriptor( name = "Info Panel", @@ -39,7 +39,7 @@ import net.runelite.client.ui.NavigationButton; public class InfoPlugin extends Plugin { @Inject - private ClientUI ui; + private PluginToolbar pluginToolbar; private NavigationButton navButton; @@ -55,18 +55,18 @@ public class InfoPlugin extends Plugin icon = ImageIO.read(getClass().getResourceAsStream("info_icon.png")); } - navButton = new NavigationButton( - "Info", - icon, - () -> panel - ); + navButton = NavigationButton.builder() + .name("Info") + .icon(icon) + .panel(() -> panel) + .build(); - ui.getPluginToolbar().addNavigation(navButton); + pluginToolbar.addNavigation(navButton); } @Override protected void shutDown() { - ui.getPluginToolbar().removeNavigation(navButton); + pluginToolbar.removeNavigation(navButton); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java index 965efee38f..5ed9759b58 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java @@ -44,8 +44,8 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.NavigationButton; +import net.runelite.client.ui.PluginToolbar; import net.runelite.client.ui.overlay.Overlay; @PluginDescriptor( @@ -57,7 +57,7 @@ public class KourendLibraryPlugin extends Plugin final static boolean debug = false; @Inject - private ClientUI ui; + private PluginToolbar pluginToolbar; @Inject private Client client; @@ -86,19 +86,19 @@ public class KourendLibraryPlugin extends Plugin icon = ImageIO.read(Book.class.getResourceAsStream("panel_icon.png")); } - navButton = new NavigationButton( - "Kourend Library", - icon, - () -> panel - ); + navButton = NavigationButton.builder() + .name("Kourend Library") + .icon(icon) + .panel(() -> panel) + .build(); - ui.getPluginToolbar().addNavigation(navButton); + pluginToolbar.addNavigation(navButton); } @Override protected void shutDown() { - ui.getPluginToolbar().removeNavigation(navButton); + pluginToolbar.removeNavigation(navButton); } @Override diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesPlugin.java index 4e9e3ecd97..c5f7984e3a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesPlugin.java @@ -24,19 +24,18 @@ */ package net.runelite.client.plugins.notes; +import com.google.common.eventbus.Subscribe; +import com.google.inject.Provides; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import javax.inject.Inject; - -import com.google.common.eventbus.Subscribe; -import com.google.inject.Provides; +import lombok.extern.slf4j.Slf4j; import net.runelite.api.events.SessionOpen; import net.runelite.client.config.ConfigManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.NavigationButton; -import lombok.extern.slf4j.Slf4j; +import net.runelite.client.ui.PluginToolbar; @PluginDescriptor( name = "Notes", @@ -46,7 +45,7 @@ import lombok.extern.slf4j.Slf4j; public class NotesPlugin extends Plugin { @Inject - private ClientUI ui; + private PluginToolbar pluginToolbar; @Inject private NotesConfig config; @@ -72,19 +71,19 @@ public class NotesPlugin extends Plugin icon = ImageIO.read(getClass().getResourceAsStream("notes_icon.png")); } - navButton = new NavigationButton( - "Notes", - icon, - () -> panel - ); + navButton = NavigationButton.builder() + .name("Notes") + .icon(icon) + .panel(() -> panel) + .build(); - ui.getPluginToolbar().addNavigation(navButton); + pluginToolbar.addNavigation(navButton); } @Override protected void shutDown() { - ui.getPluginToolbar().removeNavigation(navButton); + pluginToolbar.removeNavigation(navButton); } @Subscribe diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index fcc3a1f54c..34bfcee6db 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -47,8 +47,8 @@ import net.runelite.client.game.SkillIconManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import static net.runelite.client.plugins.xptracker.XpWorldType.NORMAL; -import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.NavigationButton; +import net.runelite.client.ui.PluginToolbar; import net.runelite.http.api.worlds.World; import net.runelite.http.api.worlds.WorldClient; import net.runelite.http.api.worlds.WorldResult; @@ -62,7 +62,7 @@ import net.runelite.http.api.xp.XpClient; public class XpTrackerPlugin extends Plugin { @Inject - private ClientUI ui; + private PluginToolbar pluginToolbar; @Inject private Client client; @@ -104,25 +104,27 @@ public class XpTrackerPlugin extends Plugin log.warn("Error looking up worlds list", e); } + xpPanel = new XpPanel(this, client, skillIconManager); + BufferedImage icon; synchronized (ImageIO.class) { icon = ImageIO.read(getClass().getResourceAsStream("xp.png")); } - xpPanel = new XpPanel(this, client, skillIconManager); - navButton = new NavigationButton( - "XP Tracker", - icon, - () -> xpPanel); + navButton = NavigationButton.builder() + .name("XP Tracker") + .icon(icon) + .panel(() -> xpPanel) + .build(); - ui.getPluginToolbar().addNavigation(navButton); + pluginToolbar.addNavigation(navButton); } @Override protected void shutDown() throws Exception { - ui.getPluginToolbar().removeNavigation(navButton); + pluginToolbar.removeNavigation(navButton); } @Subscribe