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:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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());
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user