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.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

View File

@@ -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

View File

@@ -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()

View File

@@ -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()));
}
}

View File

@@ -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();
}
});
}

View File

@@ -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);
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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