Merge pull request #1136 from MESLewis/widget-inspector-improvement

Widget inspector improvement
This commit is contained in:
Adam
2018-04-01 10:29:17 -04:00
committed by GitHub
2 changed files with 24 additions and 1 deletions

View File

@@ -34,6 +34,8 @@ import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ExecutionException;
import javax.swing.JButton;
import javax.swing.JCheckBox;
@@ -50,6 +52,7 @@ import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.api.widgets.WidgetItem;
import net.runelite.client.ui.ClientUI;
@@ -64,6 +67,8 @@ class WidgetInspector extends JFrame
private final WidgetInfoTableModel infoTableModel;
private final JCheckBox alwaysOnTop;
private static final Map<Integer, WidgetInfo> widgetIdMap = new HashMap<>();
@Inject
WidgetInspector(DevToolsPlugin plugin, Client client, WidgetInfoTableModel infoTableModel, DevToolsConfig config, EventBus eventBus)
{
@@ -262,4 +267,20 @@ class WidgetInspector extends JFrame
{
infoTableModel.setWidget(plugin.currentWidget);
}
public static WidgetInfo getWidgetInfo(int packedId)
{
if (widgetIdMap.size() == 0)
{
//Initialize map here so it doesn't create the index
//until it's actually needed.
WidgetInfo[] widgets = WidgetInfo.values();
for (WidgetInfo w : widgets)
{
widgetIdMap.put(w.getPackedId(), w);
}
}
return widgetIdMap.get(packedId);
}
}

View File

@@ -26,6 +26,7 @@ package net.runelite.client.plugins.devtools;
import javax.swing.tree.DefaultMutableTreeNode;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import static net.runelite.api.widgets.WidgetInfo.TO_CHILD;
import static net.runelite.api.widgets.WidgetInfo.TO_GROUP;
@@ -49,6 +50,7 @@ class WidgetTreeNode extends DefaultMutableTreeNode
{
Widget widget = getWidget();
int id = widget.getId();
return type + " " + TO_GROUP(id) + "." + TO_CHILD(id);
WidgetInfo info = WidgetInspector.getWidgetInfo(id);
return type + " " + TO_GROUP(id) + "." + TO_CHILD(id) + ((info != null) ? " " + info.name() : "");
}
}