Refactor plugin panels for new Icon Tabs
Refactors the GE, SkillCalcs and Farming plugins to use the new updated tabs.
This commit is contained in:
@@ -31,8 +31,6 @@ import java.awt.Dimension;
|
|||||||
import java.awt.GridBagConstraints;
|
import java.awt.GridBagConstraints;
|
||||||
import java.awt.GridBagLayout;
|
import java.awt.GridBagLayout;
|
||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
import java.awt.event.MouseAdapter;
|
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@@ -45,7 +43,6 @@ import javax.swing.ImageIcon;
|
|||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
import javax.swing.SwingConstants;
|
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
@@ -139,7 +136,7 @@ class FarmingTrackerPanel extends PluginPanel
|
|||||||
{
|
{
|
||||||
groupLabel.setBorder(new EmptyBorder(15, 0, 0, 0));
|
groupLabel.setBorder(new EmptyBorder(15, 0, 0, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
groupLabel.setFont(FontManager.getRunescapeSmallFont());
|
groupLabel.setFont(FontManager.getRunescapeSmallFont());
|
||||||
|
|
||||||
container.add(groupLabel, c);
|
container.add(groupLabel, c);
|
||||||
@@ -169,7 +166,9 @@ class FarmingTrackerPanel extends PluginPanel
|
|||||||
scroller.getVerticalScrollBar().setBorder(new EmptyBorder(0, 9, 0, 0));
|
scroller.getVerticalScrollBar().setBorder(new EmptyBorder(0, 9, 0, 0));
|
||||||
scroller.setBackground(ColorScheme.DARK_GRAY_COLOR);
|
scroller.setBackground(ColorScheme.DARK_GRAY_COLOR);
|
||||||
|
|
||||||
MaterialTab materialTab = new MaterialTab("", tabGroup, scroller);
|
//Use a placeholder icon until the async image gets loaded
|
||||||
|
MaterialTab materialTab = new MaterialTab(new ImageIcon(), tabGroup, scroller);
|
||||||
|
materialTab.setPreferredSize(new Dimension(30, 27));
|
||||||
materialTab.setName(tab.getName());
|
materialTab.setName(tab.getName());
|
||||||
|
|
||||||
AsyncBufferedImage icon = itemManager.getImage(tab.getItemID());
|
AsyncBufferedImage icon = itemManager.getImage(tab.getItemID());
|
||||||
@@ -177,30 +176,11 @@ class FarmingTrackerPanel extends PluginPanel
|
|||||||
{
|
{
|
||||||
BufferedImage subIcon = icon.getSubimage(0, 0, 32, 32);
|
BufferedImage subIcon = icon.getSubimage(0, 0, 32, 32);
|
||||||
materialTab.setIcon(new ImageIcon(subIcon.getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
|
materialTab.setIcon(new ImageIcon(subIcon.getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
|
||||||
materialTab.setHorizontalAlignment(SwingConstants.CENTER);
|
|
||||||
materialTab.setVerticalAlignment(SwingConstants.CENTER);
|
|
||||||
materialTab.setOpaque(true);
|
|
||||||
materialTab.setBackground(ColorScheme.DARKER_GRAY_COLOR);
|
|
||||||
materialTab.setPreferredSize(new Dimension(30, 27));
|
|
||||||
};
|
};
|
||||||
icon.onChanged(resize);
|
icon.onChanged(resize);
|
||||||
resize.run();
|
resize.run();
|
||||||
|
|
||||||
materialTab.setOnSelectEvent(() -> config.setPatch(tab));
|
materialTab.setOnSelectEvent(() -> config.setPatch(tab));
|
||||||
materialTab.addMouseListener(new MouseAdapter()
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public void mouseEntered(MouseEvent e)
|
|
||||||
{
|
|
||||||
materialTab.setBackground(ColorScheme.DARKER_GRAY_HOVER_COLOR);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void mouseExited(MouseEvent e)
|
|
||||||
{
|
|
||||||
materialTab.setBackground(ColorScheme.DARKER_GRAY_COLOR);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
tabGroup.addTab(materialTab);
|
tabGroup.addTab(materialTab);
|
||||||
if (config.patch() == tab)
|
if (config.patch() == tab)
|
||||||
|
|||||||
@@ -27,9 +27,6 @@
|
|||||||
package net.runelite.client.plugins.grandexchange;
|
package net.runelite.client.plugins.grandexchange;
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Color;
|
|
||||||
import java.awt.event.MouseAdapter;
|
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
@@ -75,29 +72,6 @@ class GrandExchangePanel extends PluginPanel
|
|||||||
MaterialTab offersTab = new MaterialTab("Offers", tabGroup, offersPanel);
|
MaterialTab offersTab = new MaterialTab("Offers", tabGroup, offersPanel);
|
||||||
searchTab = new MaterialTab("Search", tabGroup, searchPanel);
|
searchTab = new MaterialTab("Search", tabGroup, searchPanel);
|
||||||
|
|
||||||
MouseAdapter materialTabMouseAdapter = new MouseAdapter()
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public void mouseEntered(MouseEvent e)
|
|
||||||
{
|
|
||||||
MaterialTab tab = (MaterialTab)e.getSource();
|
|
||||||
tab.setForeground(Color.WHITE);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void mouseExited(MouseEvent e)
|
|
||||||
{
|
|
||||||
MaterialTab tab = (MaterialTab)e.getSource();
|
|
||||||
if (!tab.isSelected())
|
|
||||||
{
|
|
||||||
tab.setForeground(Color.GRAY);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
searchTab.addMouseListener(materialTabMouseAdapter);
|
|
||||||
offersTab.addMouseListener(materialTabMouseAdapter);
|
|
||||||
|
|
||||||
tabGroup.setBorder(new EmptyBorder(5, 0, 0, 0));
|
tabGroup.setBorder(new EmptyBorder(5, 0, 0, 0));
|
||||||
tabGroup.addTab(offersTab);
|
tabGroup.addTab(offersTab);
|
||||||
tabGroup.addTab(searchTab);
|
tabGroup.addTab(searchTab);
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ import java.awt.event.MouseListener;
|
|||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
import javax.swing.SwingConstants;
|
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.client.game.SkillIconManager;
|
import net.runelite.client.game.SkillIconManager;
|
||||||
@@ -118,15 +117,9 @@ class SkillCalculatorPanel extends PluginPanel
|
|||||||
{
|
{
|
||||||
for (CalculatorType calculatorType : CalculatorType.values())
|
for (CalculatorType calculatorType : CalculatorType.values())
|
||||||
{
|
{
|
||||||
MaterialTab tab = new MaterialTab("", tabGroup, null);
|
ImageIcon icon = new ImageIcon(iconManager.getSkillImage(calculatorType.getSkill(), true));
|
||||||
tab.setOpaque(true);
|
MaterialTab tab = new MaterialTab(icon, tabGroup, null);
|
||||||
tab.setVerticalAlignment(SwingConstants.CENTER);
|
|
||||||
tab.setHorizontalAlignment(SwingConstants.CENTER);
|
|
||||||
tab.setBackground(ColorScheme.DARKER_GRAY_COLOR);
|
|
||||||
tab.setIcon(new ImageIcon(iconManager.getSkillImage(calculatorType.getSkill(), true)));
|
|
||||||
tab.setOnSelectEvent(() -> uiCalculator.openCalculator(calculatorType));
|
tab.setOnSelectEvent(() -> uiCalculator.openCalculator(calculatorType));
|
||||||
tab.addMouseListener(tabHoverListener);
|
|
||||||
|
|
||||||
tabGroup.addTab(tab);
|
tabGroup.addTab(tab);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user