Make plugins work with the new PluginToolbar

- Use updated construction for NavigationButton
- Replace ClientUI injections with PluginToolbar injections

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
Tomas Slusny
2018-03-07 15:17:26 +01:00
parent 445c5baf99
commit 716c052247
9 changed files with 94 additions and 87 deletions

View File

@@ -36,8 +36,8 @@ import net.runelite.client.events.PluginChanged;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginManager; import net.runelite.client.plugins.PluginManager;
import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.PluginToolbar;
@PluginDescriptor( @PluginDescriptor(
name = "Configuration", name = "Configuration",
@@ -47,7 +47,7 @@ import net.runelite.client.ui.NavigationButton;
public class ConfigPlugin extends Plugin public class ConfigPlugin extends Plugin
{ {
@Inject @Inject
private ClientUI ui; private PluginToolbar pluginToolbar;
@Inject @Inject
private ConfigManager configManager; private ConfigManager configManager;
@@ -75,18 +75,19 @@ public class ConfigPlugin extends Plugin
icon = ImageIO.read(getClass().getResourceAsStream("config_icon.png")); icon = ImageIO.read(getClass().getResourceAsStream("config_icon.png"));
} }
navButton = new NavigationButton( navButton = NavigationButton.builder()
"Configuration", .name("Configuration")
icon, .icon(icon)
() -> configPanel); .panel(() -> configPanel)
.build();
ui.getPluginToolbar().addNavigation(navButton); pluginToolbar.addNavigation(navButton);
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
ui.getPluginToolbar().removeNavigation(navButton); pluginToolbar.removeNavigation(navButton);
} }
@Subscribe @Subscribe

View File

@@ -35,9 +35,9 @@ import net.runelite.api.widgets.Widget;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.FontManager; import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.PluginToolbar;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.Overlay;
@PluginDescriptor( @PluginDescriptor(
@@ -47,7 +47,7 @@ import net.runelite.client.ui.overlay.Overlay;
public class DevToolsPlugin extends Plugin public class DevToolsPlugin extends Plugin
{ {
@Inject @Inject
private ClientUI ui; private PluginToolbar pluginToolbar;
@Inject @Inject
private DevToolsOverlay overlay; private DevToolsOverlay overlay;
@@ -89,12 +89,13 @@ public class DevToolsPlugin extends Plugin
icon = ImageIO.read(getClass().getResourceAsStream("devtools_icon.png")); icon = ImageIO.read(getClass().getResourceAsStream("devtools_icon.png"));
} }
navButton = new NavigationButton( navButton = NavigationButton.builder()
"Developer Tools", .name("Developer Tools")
icon, .icon(icon)
() -> panel); .panel(() -> panel)
.build();
ui.getPluginToolbar().addNavigation(navButton); pluginToolbar.addNavigation(navButton);
font = FontManager.getRunescapeFont() font = FontManager.getRunescapeFont()
.deriveFont(Font.BOLD, 16); .deriveFont(Font.BOLD, 16);
@@ -103,7 +104,7 @@ public class DevToolsPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
ui.getPluginToolbar().removeNavigation(navButton); pluginToolbar.removeNavigation(navButton);
} }
@Override @Override

View File

@@ -41,8 +41,8 @@ import net.runelite.client.config.ConfigManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.task.Schedule; import net.runelite.client.task.Schedule;
import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.NavigationButton; 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.FeedClient;
import net.runelite.http.api.feed.FeedResult; import net.runelite.http.api.feed.FeedResult;
@@ -54,7 +54,7 @@ import net.runelite.http.api.feed.FeedResult;
public class FeedPlugin extends Plugin public class FeedPlugin extends Plugin
{ {
@Inject @Inject
private ClientUI ui; private PluginToolbar pluginToolbar;
@Inject @Inject
private FeedConfig config; private FeedConfig config;
@@ -90,20 +90,20 @@ public class FeedPlugin extends Plugin
icon = ImageIO.read(getClass().getResourceAsStream("icon.png")); icon = ImageIO.read(getClass().getResourceAsStream("icon.png"));
} }
navButton = new NavigationButton( navButton = NavigationButton.builder()
"News Feed", .name("News Feed")
icon, .icon(icon)
() -> feedPanel); .panel(() -> feedPanel)
.build();
ui.getPluginToolbar().addNavigation(navButton);
pluginToolbar.addNavigation(navButton);
executorService.submit(this::updateFeed); executorService.submit(this::updateFeed);
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
ui.getPluginToolbar().removeNavigation(navButton); pluginToolbar.removeNavigation(navButton);
} }
private void updateFeed() private void updateFeed()

View File

@@ -48,8 +48,8 @@ import net.runelite.client.input.MouseListener;
import net.runelite.client.input.MouseManager; import net.runelite.client.input.MouseManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.PluginToolbar;
@PluginDescriptor( @PluginDescriptor(
name = "Grand Exchange" name = "Grand Exchange"
@@ -69,7 +69,7 @@ public class GrandExchangePlugin extends Plugin
private Client client; private Client client;
@Inject @Inject
private ClientUI ui; private PluginToolbar pluginToolbar;
@Inject @Inject
private GrandExchangeConfig config; private GrandExchangeConfig config;
@@ -84,13 +84,20 @@ public class GrandExchangePlugin extends Plugin
protected void startUp() throws IOException protected void startUp() throws IOException
{ {
panel = injector.getInstance(GrandExchangePanel.class); panel = injector.getInstance(GrandExchangePanel.class);
BufferedImage icon; BufferedImage icon;
synchronized (ImageIO.class) synchronized (ImageIO.class)
{ {
icon = ImageIO.read(getClass().getResourceAsStream("ge_icon.png")); 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() itemClick = new MouseListener()
{ {
@@ -119,7 +126,8 @@ public class GrandExchangePlugin extends Plugin
if (!button.isSelected()) if (!button.isSelected())
{ {
button.doClick(); button.setSelected(true);
button.getOnSelect().run();
} }
panel.getSearchPanel().priceLookup(itemComp.getName()); panel.getSearchPanel().priceLookup(itemComp.getName());
@@ -145,8 +153,7 @@ public class GrandExchangePlugin extends Plugin
@Override @Override
protected void shutDown() protected void shutDown()
{ {
ui.getPluginToolbar().removeNavigation(button); pluginToolbar.removeNavigation(button);
mouseManager.unregisterMouseListener(itemClick); mouseManager.unregisterMouseListener(itemClick);
} }
@@ -172,10 +179,6 @@ public class GrandExchangePlugin extends Plugin
@Subscribe @Subscribe
public void onGrandExchangeOfferChanged(GrandExchangeOfferChanged offerEvent) public void onGrandExchangeOfferChanged(GrandExchangeOfferChanged offerEvent)
{ {
SwingUtilities.invokeLater(() -> SwingUtilities.invokeLater(() -> panel.updateOffer(offerEvent.getOffer(), offerEvent.getSlot()));
{
panel.updateOffer(offerEvent.getOffer(), offerEvent.getSlot());
});
} }
} }

View File

@@ -38,8 +38,8 @@ import net.runelite.client.config.ConfigManager;
import net.runelite.client.menus.MenuManager; import net.runelite.client.menus.MenuManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.PluginToolbar;
@PluginDescriptor( @PluginDescriptor(
name = "HiScore", name = "HiScore",
@@ -50,7 +50,7 @@ public class HiscorePlugin extends Plugin
private static final String LOOKUP = "Lookup"; private static final String LOOKUP = "Lookup";
@Inject @Inject
private ClientUI ui; private PluginToolbar pluginToolbar;
@Inject @Inject
private MenuManager menuManager; private MenuManager menuManager;
@@ -81,12 +81,13 @@ public class HiscorePlugin extends Plugin
icon = ImageIO.read(getClass().getResourceAsStream("hiscore.gif")); icon = ImageIO.read(getClass().getResourceAsStream("hiscore.gif"));
} }
navButton = new NavigationButton( navButton = NavigationButton.builder()
"Hiscore", .name("Hiscore")
icon, .icon(icon)
() -> hiscorePanel); .panel(() -> hiscorePanel)
.build();
ui.getPluginToolbar().addNavigation(navButton); pluginToolbar.addNavigation(navButton);
if (config.playerOption()) if (config.playerOption())
{ {
@@ -97,8 +98,7 @@ public class HiscorePlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
ui.getPluginToolbar().removeNavigation(navButton); pluginToolbar.removeNavigation(navButton);
menuManager.removePlayerMenuItem(LOOKUP); menuManager.removePlayerMenuItem(LOOKUP);
} }
@@ -129,7 +129,8 @@ public class HiscorePlugin extends Plugin
{ {
if (!navButton.isSelected()) if (!navButton.isSelected())
{ {
navButton.doClick(); navButton.setSelected(true);
navButton.getOnSelect().run();
} }
}); });
} }

View File

@@ -29,8 +29,8 @@ import javax.imageio.ImageIO;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.PluginToolbar;
@PluginDescriptor( @PluginDescriptor(
name = "Info Panel", name = "Info Panel",
@@ -39,7 +39,7 @@ import net.runelite.client.ui.NavigationButton;
public class InfoPlugin extends Plugin public class InfoPlugin extends Plugin
{ {
@Inject @Inject
private ClientUI ui; private PluginToolbar pluginToolbar;
private NavigationButton navButton; private NavigationButton navButton;
@@ -55,18 +55,18 @@ public class InfoPlugin extends Plugin
icon = ImageIO.read(getClass().getResourceAsStream("info_icon.png")); icon = ImageIO.read(getClass().getResourceAsStream("info_icon.png"));
} }
navButton = new NavigationButton( navButton = NavigationButton.builder()
"Info", .name("Info")
icon, .icon(icon)
() -> panel .panel(() -> panel)
); .build();
ui.getPluginToolbar().addNavigation(navButton); pluginToolbar.addNavigation(navButton);
} }
@Override @Override
protected void shutDown() protected void shutDown()
{ {
ui.getPluginToolbar().removeNavigation(navButton); pluginToolbar.removeNavigation(navButton);
} }
} }

View File

@@ -44,8 +44,8 @@ import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.PluginToolbar;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.Overlay;
@PluginDescriptor( @PluginDescriptor(
@@ -57,7 +57,7 @@ public class KourendLibraryPlugin extends Plugin
final static boolean debug = false; final static boolean debug = false;
@Inject @Inject
private ClientUI ui; private PluginToolbar pluginToolbar;
@Inject @Inject
private Client client; private Client client;
@@ -86,19 +86,19 @@ public class KourendLibraryPlugin extends Plugin
icon = ImageIO.read(Book.class.getResourceAsStream("panel_icon.png")); icon = ImageIO.read(Book.class.getResourceAsStream("panel_icon.png"));
} }
navButton = new NavigationButton( navButton = NavigationButton.builder()
"Kourend Library", .name("Kourend Library")
icon, .icon(icon)
() -> panel .panel(() -> panel)
); .build();
ui.getPluginToolbar().addNavigation(navButton); pluginToolbar.addNavigation(navButton);
} }
@Override @Override
protected void shutDown() protected void shutDown()
{ {
ui.getPluginToolbar().removeNavigation(navButton); pluginToolbar.removeNavigation(navButton);
} }
@Override @Override

View File

@@ -24,19 +24,18 @@
*/ */
package net.runelite.client.plugins.notes; package net.runelite.client.plugins.notes;
import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import javax.inject.Inject; import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides;
import net.runelite.api.events.SessionOpen; import net.runelite.api.events.SessionOpen;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import lombok.extern.slf4j.Slf4j; import net.runelite.client.ui.PluginToolbar;
@PluginDescriptor( @PluginDescriptor(
name = "Notes", name = "Notes",
@@ -46,7 +45,7 @@ import lombok.extern.slf4j.Slf4j;
public class NotesPlugin extends Plugin public class NotesPlugin extends Plugin
{ {
@Inject @Inject
private ClientUI ui; private PluginToolbar pluginToolbar;
@Inject @Inject
private NotesConfig config; private NotesConfig config;
@@ -72,19 +71,19 @@ public class NotesPlugin extends Plugin
icon = ImageIO.read(getClass().getResourceAsStream("notes_icon.png")); icon = ImageIO.read(getClass().getResourceAsStream("notes_icon.png"));
} }
navButton = new NavigationButton( navButton = NavigationButton.builder()
"Notes", .name("Notes")
icon, .icon(icon)
() -> panel .panel(() -> panel)
); .build();
ui.getPluginToolbar().addNavigation(navButton); pluginToolbar.addNavigation(navButton);
} }
@Override @Override
protected void shutDown() protected void shutDown()
{ {
ui.getPluginToolbar().removeNavigation(navButton); pluginToolbar.removeNavigation(navButton);
} }
@Subscribe @Subscribe

View File

@@ -47,8 +47,8 @@ import net.runelite.client.game.SkillIconManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import static net.runelite.client.plugins.xptracker.XpWorldType.NORMAL; 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.NavigationButton;
import net.runelite.client.ui.PluginToolbar;
import net.runelite.http.api.worlds.World; import net.runelite.http.api.worlds.World;
import net.runelite.http.api.worlds.WorldClient; import net.runelite.http.api.worlds.WorldClient;
import net.runelite.http.api.worlds.WorldResult; import net.runelite.http.api.worlds.WorldResult;
@@ -62,7 +62,7 @@ import net.runelite.http.api.xp.XpClient;
public class XpTrackerPlugin extends Plugin public class XpTrackerPlugin extends Plugin
{ {
@Inject @Inject
private ClientUI ui; private PluginToolbar pluginToolbar;
@Inject @Inject
private Client client; private Client client;
@@ -104,25 +104,27 @@ public class XpTrackerPlugin extends Plugin
log.warn("Error looking up worlds list", e); log.warn("Error looking up worlds list", e);
} }
xpPanel = new XpPanel(this, client, skillIconManager);
BufferedImage icon; BufferedImage icon;
synchronized (ImageIO.class) synchronized (ImageIO.class)
{ {
icon = ImageIO.read(getClass().getResourceAsStream("xp.png")); icon = ImageIO.read(getClass().getResourceAsStream("xp.png"));
} }
xpPanel = new XpPanel(this, client, skillIconManager); navButton = NavigationButton.builder()
navButton = new NavigationButton( .name("XP Tracker")
"XP Tracker", .icon(icon)
icon, .panel(() -> xpPanel)
() -> xpPanel); .build();
ui.getPluginToolbar().addNavigation(navButton); pluginToolbar.addNavigation(navButton);
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
ui.getPluginToolbar().removeNavigation(navButton); pluginToolbar.removeNavigation(navButton);
} }
@Subscribe @Subscribe