diff options
| author | 2023-06-24 01:13:34 -0600 | |
|---|---|---|
| committer | 2023-06-24 08:13:34 +0100 | |
| commit | 6e86f8eb5e45a1cab51a7ce5be16a2c5097a6067 (patch) | |
| tree | 15015a76f8af9b35288bb28d85659524e1cc48dc /enigma-swing/src/main/java | |
| parent | Fix ghost entries caused by packages becoming empty (#517) (diff) | |
| download | enigma-fork-6e86f8eb5e45a1cab51a7ce5be16a2c5097a6067.tar.gz enigma-fork-6e86f8eb5e45a1cab51a7ce5be16a2c5097a6067.tar.xz enigma-fork-6e86f8eb5e45a1cab51a7ce5be16a2c5097a6067.zip | |
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
Diffstat (limited to 'enigma-swing/src/main/java')
| -rw-r--r-- | enigma-swing/src/main/java/cuchaz/enigma/gui/elements/AbstractInheritanceTree.java | 17 |
1 files changed, 11 insertions, 6 deletions
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 3f1625d..8acfcfe 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; | |||
| 13 | import javax.swing.tree.TreeNode; | 13 | import javax.swing.tree.TreeNode; |
| 14 | import javax.swing.tree.TreePath; | 14 | import javax.swing.tree.TreePath; |
| 15 | 15 | ||
| 16 | import cuchaz.enigma.analysis.ClassInheritanceTreeNode; | 16 | import cuchaz.enigma.analysis.ClassTreeNode; |
| 17 | import cuchaz.enigma.analysis.MethodInheritanceTreeNode; | 17 | import cuchaz.enigma.analysis.MethodInheritanceTreeNode; |
| 18 | import cuchaz.enigma.analysis.MethodTreeNode; | ||
| 18 | import cuchaz.enigma.gui.Gui; | 19 | import cuchaz.enigma.gui.Gui; |
| 19 | import cuchaz.enigma.gui.util.GuiUtil; | 20 | import cuchaz.enigma.gui.util.GuiUtil; |
| 20 | import cuchaz.enigma.gui.util.SingleTreeSelectionModel; | 21 | import cuchaz.enigma.gui.util.SingleTreeSelectionModel; |
| @@ -51,12 +52,16 @@ public abstract class AbstractInheritanceTree { | |||
| 51 | 52 | ||
| 52 | Object node = path.getLastPathComponent(); | 53 | Object node = path.getLastPathComponent(); |
| 53 | 54 | ||
| 54 | if (node instanceof ClassInheritanceTreeNode classNode) { | 55 | if (node instanceof ClassTreeNode classNode) { |
| 55 | gui.getController().navigateTo(new ClassEntry(classNode.getObfClassName())); | 56 | gui.getController().navigateTo(new ClassEntry(classNode.getClassEntry().getFullName())); |
| 56 | } else if (node instanceof MethodInheritanceTreeNode methodNode) { | 57 | } else if (node instanceof MethodTreeNode methodNode) { |
| 57 | if (methodNode.isImplemented()) { | 58 | if (methodNode instanceof MethodInheritanceTreeNode inheritanceMethodNode) { |
| 58 | gui.getController().navigateTo(methodNode.getMethodEntry()); | 59 | if (!inheritanceMethodNode.isImplemented()) { |
| 60 | return; | ||
| 61 | } | ||
| 59 | } | 62 | } |
| 63 | |||
| 64 | gui.getController().navigateTo(methodNode.getMethodEntry()); | ||
| 60 | } | 65 | } |
| 61 | } | 66 | } |
| 62 | } | 67 | } |