From 6e86f8eb5e45a1cab51a7ce5be16a2c5097a6067 Mon Sep 17 00:00:00 2001 From: mudkip Date: Sat, 24 Jun 2023 01:13:34 -0600 Subject: Fix double clicking an entry in the "implementations" window not navigating to the respective class/method (#516) * fix double clicking an entry in the implementations window not navigating to the class/method * fix styling--- .../enigma/gui/elements/AbstractInheritanceTree.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'enigma-swing') diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/AbstractInheritanceTree.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/AbstractInheritanceTree.java index 3f1625de..8acfcfe6 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/AbstractInheritanceTree.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/AbstractInheritanceTree.java @@ -13,8 +13,9 @@ import javax.swing.tree.TreeCellRenderer; import javax.swing.tree.TreeNode; import javax.swing.tree.TreePath; -import cuchaz.enigma.analysis.ClassInheritanceTreeNode; +import cuchaz.enigma.analysis.ClassTreeNode; import cuchaz.enigma.analysis.MethodInheritanceTreeNode; +import cuchaz.enigma.analysis.MethodTreeNode; import cuchaz.enigma.gui.Gui; import cuchaz.enigma.gui.util.GuiUtil; import cuchaz.enigma.gui.util.SingleTreeSelectionModel; @@ -51,12 +52,16 @@ public abstract class AbstractInheritanceTree { Object node = path.getLastPathComponent(); - if (node instanceof ClassInheritanceTreeNode classNode) { - gui.getController().navigateTo(new ClassEntry(classNode.getObfClassName())); - } else if (node instanceof MethodInheritanceTreeNode methodNode) { - if (methodNode.isImplemented()) { - gui.getController().navigateTo(methodNode.getMethodEntry()); + if (node instanceof ClassTreeNode classNode) { + gui.getController().navigateTo(new ClassEntry(classNode.getClassEntry().getFullName())); + } else if (node instanceof MethodTreeNode methodNode) { + if (methodNode instanceof MethodInheritanceTreeNode inheritanceMethodNode) { + if (!inheritanceMethodNode.isImplemented()) { + return; + } } + + gui.getController().navigateTo(methodNode.getMethodEntry()); } } } -- cgit v1.2.3