Add names from widgetInfo to the Widget Inspector
This commit is contained in:
@@ -34,6 +34,8 @@ import java.awt.Dimension;
|
|||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JCheckBox;
|
import javax.swing.JCheckBox;
|
||||||
@@ -50,6 +52,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.events.ConfigChanged;
|
import net.runelite.api.events.ConfigChanged;
|
||||||
import net.runelite.api.widgets.Widget;
|
import net.runelite.api.widgets.Widget;
|
||||||
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
import net.runelite.api.widgets.WidgetItem;
|
import net.runelite.api.widgets.WidgetItem;
|
||||||
import net.runelite.client.ui.ClientUI;
|
import net.runelite.client.ui.ClientUI;
|
||||||
|
|
||||||
@@ -64,6 +67,8 @@ class WidgetInspector extends JFrame
|
|||||||
private final WidgetInfoTableModel infoTableModel;
|
private final WidgetInfoTableModel infoTableModel;
|
||||||
private final JCheckBox alwaysOnTop;
|
private final JCheckBox alwaysOnTop;
|
||||||
|
|
||||||
|
private static final Map<Integer, WidgetInfo> widgetIdMap = new HashMap<>();
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
WidgetInspector(DevToolsPlugin plugin, Client client, WidgetInfoTableModel infoTableModel, DevToolsConfig config, EventBus eventBus)
|
WidgetInspector(DevToolsPlugin plugin, Client client, WidgetInfoTableModel infoTableModel, DevToolsConfig config, EventBus eventBus)
|
||||||
{
|
{
|
||||||
@@ -262,4 +267,20 @@ class WidgetInspector extends JFrame
|
|||||||
{
|
{
|
||||||
infoTableModel.setWidget(plugin.currentWidget);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ package net.runelite.client.plugins.devtools;
|
|||||||
|
|
||||||
import javax.swing.tree.DefaultMutableTreeNode;
|
import javax.swing.tree.DefaultMutableTreeNode;
|
||||||
import net.runelite.api.widgets.Widget;
|
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_CHILD;
|
||||||
import static net.runelite.api.widgets.WidgetInfo.TO_GROUP;
|
import static net.runelite.api.widgets.WidgetInfo.TO_GROUP;
|
||||||
|
|
||||||
@@ -49,6 +50,7 @@ class WidgetTreeNode extends DefaultMutableTreeNode
|
|||||||
{
|
{
|
||||||
Widget widget = getWidget();
|
Widget widget = getWidget();
|
||||||
int id = widget.getId();
|
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() : "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user