summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Yanis482021-04-07 13:17:34 +0200
committerGravatar Yanis482021-04-07 13:17:34 +0200
commit131538fe52f9e0969277a91407cd06db6eda77c5 (patch)
treec364ce8a0a080e4e5ba5d60f263adc09670c2531
parentSimplify toString() implementations (diff)
downloadenigma-131538fe52f9e0969277a91407cd06db6eda77c5.tar.gz
enigma-131538fe52f9e0969277a91407cd06db6eda77c5.tar.xz
enigma-131538fe52f9e0969277a91407cd06db6eda77c5.zip
Allow only one selected entry in trees
Didn't cause any issue, but who knows
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java8
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/panels/StructurePanel.java2
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/util/SingleTreeSelectionModel.java11
3 files changed, 17 insertions, 4 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 ce4823e2..aaa04460 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java
@@ -47,10 +47,7 @@ import cuchaz.enigma.gui.renderer.CallsTreeCellRenderer;
47import cuchaz.enigma.gui.renderer.ImplementationsTreeCellRenderer; 47import cuchaz.enigma.gui.renderer.ImplementationsTreeCellRenderer;
48import cuchaz.enigma.gui.renderer.InheritanceTreeCellRenderer; 48import cuchaz.enigma.gui.renderer.InheritanceTreeCellRenderer;
49import cuchaz.enigma.gui.renderer.MessageListCellRenderer; 49import cuchaz.enigma.gui.renderer.MessageListCellRenderer;
50import cuchaz.enigma.gui.util.History; 50import cuchaz.enigma.gui.util.*;
51import cuchaz.enigma.gui.util.LanguageChangeListener;
52import cuchaz.enigma.gui.util.LanguageUtil;
53import cuchaz.enigma.gui.util.ScaleUtil;
54import cuchaz.enigma.network.Message; 51import cuchaz.enigma.network.Message;
55import cuchaz.enigma.network.packet.MarkDeobfuscatedC2SPacket; 52import cuchaz.enigma.network.packet.MarkDeobfuscatedC2SPacket;
56import cuchaz.enigma.network.packet.MessageC2SPacket; 53import cuchaz.enigma.network.packet.MessageC2SPacket;
@@ -172,6 +169,7 @@ public class Gui implements LanguageChangeListener {
172 inheritanceTree = new JTree(); 169 inheritanceTree = new JTree();
173 inheritanceTree.setModel(null); 170 inheritanceTree.setModel(null);
174 inheritanceTree.setCellRenderer(new InheritanceTreeCellRenderer(this)); 171 inheritanceTree.setCellRenderer(new InheritanceTreeCellRenderer(this));
172 inheritanceTree.setSelectionModel(new SingleTreeSelectionModel());
175 inheritanceTree.setShowsRootHandles(true); 173 inheritanceTree.setShowsRootHandles(true);
176 inheritanceTree.addMouseListener(new MouseAdapter() { 174 inheritanceTree.addMouseListener(new MouseAdapter() {
177 @Override 175 @Override
@@ -205,6 +203,7 @@ public class Gui implements LanguageChangeListener {
205 implementationsTree = new JTree(); 203 implementationsTree = new JTree();
206 implementationsTree.setModel(null); 204 implementationsTree.setModel(null);
207 implementationsTree.setCellRenderer(new ImplementationsTreeCellRenderer(this)); 205 implementationsTree.setCellRenderer(new ImplementationsTreeCellRenderer(this));
206 implementationsTree.setSelectionModel(new SingleTreeSelectionModel());
208 implementationsTree.setShowsRootHandles(true); 207 implementationsTree.setShowsRootHandles(true);
209 implementationsTree.addMouseListener(new MouseAdapter() { 208 implementationsTree.addMouseListener(new MouseAdapter() {
210 @Override 209 @Override
@@ -235,6 +234,7 @@ public class Gui implements LanguageChangeListener {
235 callsTree = new JTree(); 234 callsTree = new JTree();
236 callsTree.setModel(null); 235 callsTree.setModel(null);
237 callsTree.setCellRenderer(new CallsTreeCellRenderer(this)); 236 callsTree.setCellRenderer(new CallsTreeCellRenderer(this));
237 callsTree.setSelectionModel(new SingleTreeSelectionModel());
238 callsTree.setShowsRootHandles(true); 238 callsTree.setShowsRootHandles(true);
239 callsTree.addMouseListener(new MouseAdapter() { 239 callsTree.addMouseListener(new MouseAdapter() {
240 @SuppressWarnings("unchecked") 240 @SuppressWarnings("unchecked")
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 6078145f..d8c46614 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
@@ -3,6 +3,7 @@ package cuchaz.enigma.gui.panels;
3import cuchaz.enigma.analysis.StructureTreeNode; 3import cuchaz.enigma.analysis.StructureTreeNode;
4import cuchaz.enigma.gui.Gui; 4import cuchaz.enigma.gui.Gui;
5import cuchaz.enigma.gui.util.GuiUtil; 5import cuchaz.enigma.gui.util.GuiUtil;
6import cuchaz.enigma.gui.util.SingleTreeSelectionModel;
6import cuchaz.enigma.translation.representation.entry.ClassEntry; 7import cuchaz.enigma.translation.representation.entry.ClassEntry;
7import cuchaz.enigma.translation.representation.entry.FieldEntry; 8import cuchaz.enigma.translation.representation.entry.FieldEntry;
8import cuchaz.enigma.translation.representation.entry.MethodEntry; 9import cuchaz.enigma.translation.representation.entry.MethodEntry;
@@ -32,6 +33,7 @@ public class StructurePanel extends JPanel {
32 this.structureTree = new JTree(); 33 this.structureTree = new JTree();
33 this.structureTree.setModel(null); 34 this.structureTree.setModel(null);
34 this.structureTree.setCellRenderer(new StructureTreeCellRenderer(gui)); 35 this.structureTree.setCellRenderer(new StructureTreeCellRenderer(gui));
36 this.structureTree.setSelectionModel(new SingleTreeSelectionModel());
35 this.structureTree.setShowsRootHandles(true); 37 this.structureTree.setShowsRootHandles(true);
36 this.structureTree.addMouseListener(new MouseAdapter() { 38 this.structureTree.addMouseListener(new MouseAdapter() {
37 @Override 39 @Override
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/util/SingleTreeSelectionModel.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/util/SingleTreeSelectionModel.java
new file mode 100644
index 00000000..8915264b
--- /dev/null
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/util/SingleTreeSelectionModel.java
@@ -0,0 +1,11 @@
1package cuchaz.enigma.gui.util;
2
3import javax.swing.tree.DefaultTreeSelectionModel;
4import javax.swing.tree.TreeSelectionModel;
5
6public class SingleTreeSelectionModel extends DefaultTreeSelectionModel {
7
8 public SingleTreeSelectionModel() {
9 this.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
10 }
11}