diff options
| author | 2021-04-07 13:17:34 +0200 | |
|---|---|---|
| committer | 2021-04-07 13:17:34 +0200 | |
| commit | 131538fe52f9e0969277a91407cd06db6eda77c5 (patch) | |
| tree | c364ce8a0a080e4e5ba5d60f263adc09670c2531 | |
| parent | Simplify toString() implementations (diff) | |
| download | enigma-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
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; | |||
| 47 | import cuchaz.enigma.gui.renderer.ImplementationsTreeCellRenderer; | 47 | import cuchaz.enigma.gui.renderer.ImplementationsTreeCellRenderer; |
| 48 | import cuchaz.enigma.gui.renderer.InheritanceTreeCellRenderer; | 48 | import cuchaz.enigma.gui.renderer.InheritanceTreeCellRenderer; |
| 49 | import cuchaz.enigma.gui.renderer.MessageListCellRenderer; | 49 | import cuchaz.enigma.gui.renderer.MessageListCellRenderer; |
| 50 | import cuchaz.enigma.gui.util.History; | 50 | import cuchaz.enigma.gui.util.*; |
| 51 | import cuchaz.enigma.gui.util.LanguageChangeListener; | ||
| 52 | import cuchaz.enigma.gui.util.LanguageUtil; | ||
| 53 | import cuchaz.enigma.gui.util.ScaleUtil; | ||
| 54 | import cuchaz.enigma.network.Message; | 51 | import cuchaz.enigma.network.Message; |
| 55 | import cuchaz.enigma.network.packet.MarkDeobfuscatedC2SPacket; | 52 | import cuchaz.enigma.network.packet.MarkDeobfuscatedC2SPacket; |
| 56 | import cuchaz.enigma.network.packet.MessageC2SPacket; | 53 | import 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; | |||
| 3 | import cuchaz.enigma.analysis.StructureTreeNode; | 3 | import cuchaz.enigma.analysis.StructureTreeNode; |
| 4 | import cuchaz.enigma.gui.Gui; | 4 | import cuchaz.enigma.gui.Gui; |
| 5 | import cuchaz.enigma.gui.util.GuiUtil; | 5 | import cuchaz.enigma.gui.util.GuiUtil; |
| 6 | import cuchaz.enigma.gui.util.SingleTreeSelectionModel; | ||
| 6 | import cuchaz.enigma.translation.representation.entry.ClassEntry; | 7 | import cuchaz.enigma.translation.representation.entry.ClassEntry; |
| 7 | import cuchaz.enigma.translation.representation.entry.FieldEntry; | 8 | import cuchaz.enigma.translation.representation.entry.FieldEntry; |
| 8 | import cuchaz.enigma.translation.representation.entry.MethodEntry; | 9 | import 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 @@ | |||
| 1 | package cuchaz.enigma.gui.util; | ||
| 2 | |||
| 3 | import javax.swing.tree.DefaultTreeSelectionModel; | ||
| 4 | import javax.swing.tree.TreeSelectionModel; | ||
| 5 | |||
| 6 | public class SingleTreeSelectionModel extends DefaultTreeSelectionModel { | ||
| 7 | |||
| 8 | public SingleTreeSelectionModel() { | ||
| 9 | this.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); | ||
| 10 | } | ||
| 11 | } | ||