summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar 2xsaiko2021-03-19 15:27:44 +0100
committerGravatar GitHub2021-03-19 15:27:44 +0100
commit4c6812d61adcd9fe32277a2906a705ca6ce68cf8 (patch)
tree20736fb77b1b30a467b0eae379f0960dfd8ff2be
parentUpdate all deps, remove usage of jcenter (#359) (diff)
parentIcons everywhere (diff)
downloadenigma-4c6812d61adcd9fe32277a2906a705ca6ce68cf8.tar.gz
enigma-4c6812d61adcd9fe32277a2906a705ca6ce68cf8.tar.xz
enigma-4c6812d61adcd9fe32277a2906a705ca6ce68cf8.zip
Merge pull request #360 from YanisBft/icons-everywhere
Icons everywhere
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java10
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/elements/EditorTabPopupMenu.java19
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/panels/StructurePanel.java6
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/CallsTreeCellRenderer.java45
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/ImplementationsTreeCellRenderer.java34
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/InheritanceTreeCellRenderer.java (renamed from enigma-swing/src/main/java/cuchaz/enigma/gui/MethodTreeCellRenderer.java)26
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/MessageListCellRenderer.java (renamed from enigma-swing/src/main/java/cuchaz/enigma/gui/MessageListCellRenderer.java)2
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/util/GuiUtil.java8
-rw-r--r--enigma/src/main/java/cuchaz/enigma/analysis/ClassInheritanceTreeNode.java7
-rw-r--r--enigma/src/main/java/cuchaz/enigma/analysis/MethodInheritanceTreeNode.java3
-rw-r--r--enigma/src/main/java/cuchaz/enigma/analysis/ReferenceTreeNode.java3
-rw-r--r--enigma/src/main/java/cuchaz/enigma/analysis/StructureTreeNode.java2
12 files changed, 145 insertions, 20 deletions
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java
index a999cfa5..c5f827ef 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java
@@ -40,6 +40,10 @@ import cuchaz.enigma.gui.dialog.SearchDialog;
40import cuchaz.enigma.gui.elements.*; 40import cuchaz.enigma.gui.elements.*;
41import cuchaz.enigma.gui.events.EditorActionListener; 41import cuchaz.enigma.gui.events.EditorActionListener;
42import cuchaz.enigma.gui.panels.*; 42import cuchaz.enigma.gui.panels.*;
43import cuchaz.enigma.gui.renderer.CallsTreeCellRenderer;
44import cuchaz.enigma.gui.renderer.ImplementationsTreeCellRenderer;
45import cuchaz.enigma.gui.renderer.InheritanceTreeCellRenderer;
46import cuchaz.enigma.gui.renderer.MessageListCellRenderer;
43import cuchaz.enigma.gui.util.History; 47import cuchaz.enigma.gui.util.History;
44import cuchaz.enigma.gui.util.LanguageChangeListener; 48import cuchaz.enigma.gui.util.LanguageChangeListener;
45import cuchaz.enigma.gui.util.LanguageUtil; 49import cuchaz.enigma.gui.util.LanguageUtil;
@@ -167,6 +171,7 @@ public class Gui implements LanguageChangeListener {
167 // init inheritance panel 171 // init inheritance panel
168 inheritanceTree = new JTree(); 172 inheritanceTree = new JTree();
169 inheritanceTree.setModel(null); 173 inheritanceTree.setModel(null);
174 inheritanceTree.setCellRenderer(new InheritanceTreeCellRenderer(this));
170 inheritanceTree.setShowsRootHandles(true); 175 inheritanceTree.setShowsRootHandles(true);
171 inheritanceTree.addMouseListener(new MouseAdapter() { 176 inheritanceTree.addMouseListener(new MouseAdapter() {
172 @Override 177 @Override
@@ -191,8 +196,6 @@ public class Gui implements LanguageChangeListener {
191 } 196 }
192 } 197 }
193 }); 198 });
194 TreeCellRenderer cellRenderer = inheritanceTree.getCellRenderer();
195 inheritanceTree.setCellRenderer(new MethodTreeCellRenderer(cellRenderer));
196 199
197 JPanel inheritancePanel = new JPanel(); 200 JPanel inheritancePanel = new JPanel();
198 inheritancePanel.setLayout(new BorderLayout()); 201 inheritancePanel.setLayout(new BorderLayout());
@@ -201,6 +204,7 @@ public class Gui implements LanguageChangeListener {
201 // init implementations panel 204 // init implementations panel
202 implementationsTree = new JTree(); 205 implementationsTree = new JTree();
203 implementationsTree.setModel(null); 206 implementationsTree.setModel(null);
207 implementationsTree.setCellRenderer(new ImplementationsTreeCellRenderer(this));
204 implementationsTree.setShowsRootHandles(true); 208 implementationsTree.setShowsRootHandles(true);
205 implementationsTree.addMouseListener(new MouseAdapter() { 209 implementationsTree.addMouseListener(new MouseAdapter() {
206 @Override 210 @Override
@@ -230,6 +234,7 @@ public class Gui implements LanguageChangeListener {
230 // init call panel 234 // init call panel
231 callsTree = new JTree(); 235 callsTree = new JTree();
232 callsTree.setModel(null); 236 callsTree.setModel(null);
237 callsTree.setCellRenderer(new CallsTreeCellRenderer(this));
233 callsTree.setShowsRootHandles(true); 238 callsTree.setShowsRootHandles(true);
234 callsTree.addMouseListener(new MouseAdapter() { 239 callsTree.addMouseListener(new MouseAdapter() {
235 @SuppressWarnings("unchecked") 240 @SuppressWarnings("unchecked")
@@ -947,6 +952,7 @@ public class Gui implements LanguageChangeListener {
947 this.deobfPanelPopupMenu.retranslateUi(); 952 this.deobfPanelPopupMenu.retranslateUi();
948 this.infoPanel.retranslateUi(); 953 this.infoPanel.retranslateUi();
949 this.structurePanel.retranslateUi(); 954 this.structurePanel.retranslateUi();
955 this.editorTabPopupMenu.retranslateUi();
950 this.editors.values().forEach(EditorPanel::retranslateUi); 956 this.editors.values().forEach(EditorPanel::retranslateUi);
951 } 957 }
952 958
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/EditorTabPopupMenu.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/EditorTabPopupMenu.java
index 39ed9789..c2982cd0 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/EditorTabPopupMenu.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/EditorTabPopupMenu.java
@@ -28,26 +28,28 @@ public class EditorTabPopupMenu {
28 28
29 this.ui = new JPopupMenu(); 29 this.ui = new JPopupMenu();
30 30
31 this.close = new JMenuItem(I18n.translate("popup_menu.editor_tab.close")); 31 this.close = new JMenuItem();
32 this.close.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_4, KeyEvent.CTRL_DOWN_MASK)); 32 this.close.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_4, KeyEvent.CTRL_DOWN_MASK));
33 this.close.addActionListener(a -> gui.closeEditor(editor)); 33 this.close.addActionListener(a -> gui.closeEditor(editor));
34 this.ui.add(this.close); 34 this.ui.add(this.close);
35 35
36 this.closeAll = new JMenuItem(I18n.translate("popup_menu.editor_tab.close_all")); 36 this.closeAll = new JMenuItem();
37 this.closeAll.addActionListener(a -> gui.closeAllEditorTabs()); 37 this.closeAll.addActionListener(a -> gui.closeAllEditorTabs());
38 this.ui.add(this.closeAll); 38 this.ui.add(this.closeAll);
39 39
40 this.closeOthers = new JMenuItem(I18n.translate("popup_menu.editor_tab.close_others")); 40 this.closeOthers = new JMenuItem();
41 this.closeOthers.addActionListener(a -> gui.closeTabsExcept(editor)); 41 this.closeOthers.addActionListener(a -> gui.closeTabsExcept(editor));
42 this.ui.add(this.closeOthers); 42 this.ui.add(this.closeOthers);
43 43
44 this.closeLeft = new JMenuItem(I18n.translate("popup_menu.editor_tab.close_left")); 44 this.closeLeft = new JMenuItem();
45 this.closeLeft.addActionListener(a -> gui.closeTabsLeftOf(editor)); 45 this.closeLeft.addActionListener(a -> gui.closeTabsLeftOf(editor));
46 this.ui.add(this.closeLeft); 46 this.ui.add(this.closeLeft);
47 47
48 this.closeRight = new JMenuItem(I18n.translate("popup_menu.editor_tab.close_right")); 48 this.closeRight = new JMenuItem();
49 this.closeRight.addActionListener(a -> gui.closeTabsRightOf(editor)); 49 this.closeRight.addActionListener(a -> gui.closeTabsRightOf(editor));
50 this.ui.add(this.closeRight); 50 this.ui.add(this.closeRight);
51
52 this.retranslateUi();
51 } 53 }
52 54
53 public void show(Component invoker, int x, int y, EditorPanel editorPanel) { 55 public void show(Component invoker, int x, int y, EditorPanel editorPanel) {
@@ -55,4 +57,11 @@ public class EditorTabPopupMenu {
55 ui.show(invoker, x, y); 57 ui.show(invoker, x, y);
56 } 58 }
57 59
60 public void retranslateUi() {
61 this.close.setText(I18n.translate("popup_menu.editor_tab.close"));
62 this.closeAll.setText(I18n.translate("popup_menu.editor_tab.close_all"));
63 this.closeOthers.setText(I18n.translate("popup_menu.editor_tab.close_others"));
64 this.closeLeft.setText(I18n.translate("popup_menu.editor_tab.close_left"));
65 this.closeRight.setText(I18n.translate("popup_menu.editor_tab.close_right"));
66 }
58} 67}
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/panels/StructurePanel.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/panels/StructurePanel.java
index 12f1d758..6078145f 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/panels/StructurePanel.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/panels/StructurePanel.java
@@ -84,13 +84,13 @@ public class StructurePanel extends JPanel {
84 84
85 @Override 85 @Override
86 public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { 86 public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
87 JComponent c = (JComponent) super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); 87 Component c = super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
88 ParentedEntry entry = ((StructureTreeNode) value).getEntry(); 88 ParentedEntry<?> entry = ((StructureTreeNode) value).getEntry();
89 89
90 if (entry instanceof ClassEntry) { 90 if (entry instanceof ClassEntry) {
91 this.setIcon(GuiUtil.getClassIcon(gui, (ClassEntry) entry)); 91 this.setIcon(GuiUtil.getClassIcon(gui, (ClassEntry) entry));
92 } else if (entry instanceof MethodEntry) { 92 } else if (entry instanceof MethodEntry) {
93 this.setIcon(((MethodEntry) entry).isConstructor() ? GuiUtil.CONSTRUCTOR_ICON : GuiUtil.METHOD_ICON); 93 this.setIcon(GuiUtil.getMethodIcon((MethodEntry) entry));
94 } else if (entry instanceof FieldEntry) { 94 } else if (entry instanceof FieldEntry) {
95 this.setIcon(GuiUtil.FIELD_ICON); 95 this.setIcon(GuiUtil.FIELD_ICON);
96 } 96 }
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/CallsTreeCellRenderer.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/CallsTreeCellRenderer.java
new file mode 100644
index 00000000..d5cfdab8
--- /dev/null
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/CallsTreeCellRenderer.java
@@ -0,0 +1,45 @@
1package cuchaz.enigma.gui.renderer;
2
3import cuchaz.enigma.analysis.*;
4import cuchaz.enigma.gui.Gui;
5import cuchaz.enigma.gui.config.UiConfig;
6import cuchaz.enigma.gui.util.GuiUtil;
7import cuchaz.enigma.translation.representation.entry.MethodEntry;
8
9import javax.swing.*;
10import javax.swing.tree.DefaultTreeCellRenderer;
11import java.awt.*;
12
13public class CallsTreeCellRenderer extends DefaultTreeCellRenderer {
14 private final Gui gui;
15
16 public CallsTreeCellRenderer(Gui gui) {
17 this.gui = gui;
18 }
19
20 @Override
21 public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
22 Component c = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
23 EntryReference<?, ?> reference = ((ReferenceTreeNode<?, ?>) value).getReference();
24
25 this.setForeground(UiConfig.getTextColor());
26
27 // if the node represents the method calling the entry
28 if (reference != null) {
29 if (reference.context instanceof MethodEntry) {
30 this.setIcon(GuiUtil.getMethodIcon((MethodEntry) reference.context));
31 }
32 // if the node represents the called entry
33 } else {
34 if (value instanceof ClassReferenceTreeNode) {
35 this.setIcon(GuiUtil.getClassIcon(this.gui, ((ClassReferenceTreeNode) value).getEntry()));
36 } else if (value instanceof MethodReferenceTreeNode) {
37 this.setIcon(GuiUtil.getMethodIcon(((MethodReferenceTreeNode) value).getEntry()));
38 } else if (value instanceof FieldReferenceTreeNode) {
39 this.setIcon(GuiUtil.FIELD_ICON);
40 }
41 }
42
43 return c;
44 }
45}
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/ImplementationsTreeCellRenderer.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/ImplementationsTreeCellRenderer.java
new file mode 100644
index 00000000..2eb7efc4
--- /dev/null
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/ImplementationsTreeCellRenderer.java
@@ -0,0 +1,34 @@
1package cuchaz.enigma.gui.renderer;
2
3import cuchaz.enigma.analysis.ClassImplementationsTreeNode;
4import cuchaz.enigma.analysis.MethodImplementationsTreeNode;
5import cuchaz.enigma.gui.Gui;
6import cuchaz.enigma.gui.config.UiConfig;
7import cuchaz.enigma.gui.util.GuiUtil;
8
9import javax.swing.*;
10import javax.swing.tree.DefaultTreeCellRenderer;
11import java.awt.*;
12
13public class ImplementationsTreeCellRenderer extends DefaultTreeCellRenderer {
14 private final Gui gui;
15
16 public ImplementationsTreeCellRenderer(Gui gui) {
17 this.gui = gui;
18 }
19
20 @Override
21 public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
22 Component c = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
23
24 this.setForeground(UiConfig.getTextColor());
25
26 if (value instanceof ClassImplementationsTreeNode) {
27 this.setIcon(GuiUtil.getClassIcon(this.gui, ((ClassImplementationsTreeNode) value).getClassEntry()));
28 } else if (value instanceof MethodImplementationsTreeNode) {
29 this.setIcon(GuiUtil.getMethodIcon(((MethodImplementationsTreeNode) value).getMethodEntry()));
30 }
31
32 return c;
33 }
34}
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/MethodTreeCellRenderer.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/InheritanceTreeCellRenderer.java
index 3f38f4fc..e377b9a3 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/MethodTreeCellRenderer.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/InheritanceTreeCellRenderer.java
@@ -9,35 +9,45 @@
9 * Jeff Martin - initial API and implementation 9 * Jeff Martin - initial API and implementation
10 ******************************************************************************/ 10 ******************************************************************************/
11 11
12package cuchaz.enigma.gui; 12package cuchaz.enigma.gui.renderer;
13 13
14import java.awt.Component; 14import java.awt.Component;
15import java.awt.Font; 15import java.awt.Font;
16 16
17import javax.swing.JTree; 17import javax.swing.JTree;
18import javax.swing.tree.TreeCellRenderer; 18import javax.swing.tree.DefaultTreeCellRenderer;
19 19
20import cuchaz.enigma.analysis.ClassInheritanceTreeNode;
20import cuchaz.enigma.analysis.MethodInheritanceTreeNode; 21import cuchaz.enigma.analysis.MethodInheritanceTreeNode;
22import cuchaz.enigma.gui.Gui;
21import cuchaz.enigma.gui.config.UiConfig; 23import cuchaz.enigma.gui.config.UiConfig;
24import cuchaz.enigma.gui.util.GuiUtil;
22 25
23class MethodTreeCellRenderer implements TreeCellRenderer { 26public class InheritanceTreeCellRenderer extends DefaultTreeCellRenderer {
27 private final Gui gui;
24 28
25 private final TreeCellRenderer parent; 29 public InheritanceTreeCellRenderer(Gui gui) {
26 30 this.gui = gui;
27 MethodTreeCellRenderer(TreeCellRenderer parent) {
28 this.parent = parent;
29 } 31 }
30 32
31 @Override 33 @Override
32 public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { 34 public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
33 Component ret = parent.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); 35 Component ret = super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
36
34 if (!(value instanceof MethodInheritanceTreeNode) || ((MethodInheritanceTreeNode) value).isImplemented()) { 37 if (!(value instanceof MethodInheritanceTreeNode) || ((MethodInheritanceTreeNode) value).isImplemented()) {
35 ret.setForeground(UiConfig.getTextColor()); 38 ret.setForeground(UiConfig.getTextColor());
36 ret.setFont(ret.getFont().deriveFont(Font.PLAIN)); 39 ret.setFont(ret.getFont().deriveFont(Font.PLAIN));
40 if (value instanceof ClassInheritanceTreeNode) {
41 this.setIcon(GuiUtil.getClassIcon(this.gui, ((ClassInheritanceTreeNode) value).getClassEntry()));
42 } else if (value instanceof MethodInheritanceTreeNode) {
43 this.setIcon(GuiUtil.getMethodIcon(((MethodInheritanceTreeNode) value).getMethodEntry()));
44 }
37 } else { 45 } else {
38 ret.setForeground(UiConfig.getNumberColor()); 46 ret.setForeground(UiConfig.getNumberColor());
39 ret.setFont(ret.getFont().deriveFont(Font.ITALIC)); 47 ret.setFont(ret.getFont().deriveFont(Font.ITALIC));
48 this.setIcon(GuiUtil.CLASS_ICON);
40 } 49 }
50
41 return ret; 51 return ret;
42 } 52 }
43} 53}
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/MessageListCellRenderer.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/MessageListCellRenderer.java
index 1d603409..b6ae0c50 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/MessageListCellRenderer.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/renderer/MessageListCellRenderer.java
@@ -1,4 +1,4 @@
1package cuchaz.enigma.gui; 1package cuchaz.enigma.gui.renderer;
2 2
3import java.awt.Component; 3import java.awt.Component;
4 4
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/util/GuiUtil.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/util/GuiUtil.java
index 95f08539..1a86148d 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/util/GuiUtil.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/util/GuiUtil.java
@@ -3,6 +3,7 @@ package cuchaz.enigma.gui.util;
3import cuchaz.enigma.gui.Gui; 3import cuchaz.enigma.gui.Gui;
4import cuchaz.enigma.translation.representation.AccessFlags; 4import cuchaz.enigma.translation.representation.AccessFlags;
5import cuchaz.enigma.translation.representation.entry.ClassEntry; 5import cuchaz.enigma.translation.representation.entry.ClassEntry;
6import cuchaz.enigma.translation.representation.entry.MethodEntry;
6import cuchaz.enigma.utils.Os; 7import cuchaz.enigma.utils.Os;
7 8
8import javax.imageio.ImageIO; 9import javax.imageio.ImageIO;
@@ -106,4 +107,11 @@ public class GuiUtil {
106 107
107 return CLASS_ICON; 108 return CLASS_ICON;
108 } 109 }
110
111 public static Icon getMethodIcon(MethodEntry entry) {
112 if (entry.isConstructor()) {
113 return CONSTRUCTOR_ICON;
114 }
115 return METHOD_ICON;
116 }
109} 117}
diff --git a/enigma/src/main/java/cuchaz/enigma/analysis/ClassInheritanceTreeNode.java b/enigma/src/main/java/cuchaz/enigma/analysis/ClassInheritanceTreeNode.java
index 7904c5f0..788c5347 100644
--- a/enigma/src/main/java/cuchaz/enigma/analysis/ClassInheritanceTreeNode.java
+++ b/enigma/src/main/java/cuchaz/enigma/analysis/ClassInheritanceTreeNode.java
@@ -44,6 +44,13 @@ public class ClassInheritanceTreeNode extends DefaultMutableTreeNode {
44 return null; 44 return null;
45 } 45 }
46 46
47 /**
48 * Returns the class entry represented by this tree node.
49 */
50 public ClassEntry getClassEntry() {
51 return this.obfClassEntry;
52 }
53
47 public String getObfClassName() { 54 public String getObfClassName() {
48 return this.obfClassEntry.getFullName(); 55 return this.obfClassEntry.getFullName();
49 } 56 }
diff --git a/enigma/src/main/java/cuchaz/enigma/analysis/MethodInheritanceTreeNode.java b/enigma/src/main/java/cuchaz/enigma/analysis/MethodInheritanceTreeNode.java
index e77b5cce..7bee4dc7 100644
--- a/enigma/src/main/java/cuchaz/enigma/analysis/MethodInheritanceTreeNode.java
+++ b/enigma/src/main/java/cuchaz/enigma/analysis/MethodInheritanceTreeNode.java
@@ -48,6 +48,9 @@ public class MethodInheritanceTreeNode extends DefaultMutableTreeNode {
48 return null; 48 return null;
49 } 49 }
50 50
51 /**
52 * Returns the method entry represented by this tree node.
53 */
51 public MethodEntry getMethodEntry() { 54 public MethodEntry getMethodEntry() {
52 return this.entry; 55 return this.entry;
53 } 56 }
diff --git a/enigma/src/main/java/cuchaz/enigma/analysis/ReferenceTreeNode.java b/enigma/src/main/java/cuchaz/enigma/analysis/ReferenceTreeNode.java
index c0a3a754..ce23cb6d 100644
--- a/enigma/src/main/java/cuchaz/enigma/analysis/ReferenceTreeNode.java
+++ b/enigma/src/main/java/cuchaz/enigma/analysis/ReferenceTreeNode.java
@@ -14,6 +14,9 @@ package cuchaz.enigma.analysis;
14import cuchaz.enigma.translation.representation.entry.Entry; 14import cuchaz.enigma.translation.representation.entry.Entry;
15 15
16public interface ReferenceTreeNode<E extends Entry<?>, C extends Entry<?>> { 16public interface ReferenceTreeNode<E extends Entry<?>, C extends Entry<?>> {
17 /**
18 * Returns the entry represented by this tree node.
19 */
17 E getEntry(); 20 E getEntry();
18 21
19 EntryReference<E, C> getReference(); 22 EntryReference<E, C> getReference();
diff --git a/enigma/src/main/java/cuchaz/enigma/analysis/StructureTreeNode.java b/enigma/src/main/java/cuchaz/enigma/analysis/StructureTreeNode.java
index 8782b8f1..55d75cf3 100644
--- a/enigma/src/main/java/cuchaz/enigma/analysis/StructureTreeNode.java
+++ b/enigma/src/main/java/cuchaz/enigma/analysis/StructureTreeNode.java
@@ -26,7 +26,7 @@ public class StructureTreeNode extends DefaultMutableTreeNode {
26 } 26 }
27 27
28 /** 28 /**
29 * Returns the parented entry corresponding to this tree node. 29 * Returns the parented entry represented by this tree node.
30 */ 30 */
31 public ParentedEntry getEntry() { 31 public ParentedEntry getEntry() {
32 return this.entry; 32 return this.entry;