From e41a2a237987753b4a8c5f850e724fb26fc8bd36 Mon Sep 17 00:00:00 2001 From: YanisBft Date: Tue, 29 Jun 2021 11:14:06 +0200 Subject: Expand All & Collapse All in deobf panel (#412) * Expand All & Collapse All in deobf panel * fixed smth that was bothering me--- .../main/java/cuchaz/enigma/gui/ClassSelector.java | 6 ++++++ .../java/cuchaz/enigma/gui/config/Decompiler.java | 4 ++-- .../enigma/gui/elements/DeobfPanelPopupMenu.java | 21 ++++++++++++++------- .../java/cuchaz/enigma/gui/elements/MenuBar.java | 6 +++--- .../java/cuchaz/enigma/gui/stats/StatsMember.java | 4 ++-- 5 files changed, 27 insertions(+), 14 deletions(-) (limited to 'enigma-swing') diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/ClassSelector.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/ClassSelector.java index 7044106b..57b23c9a 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/ClassSelector.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/ClassSelector.java @@ -361,6 +361,12 @@ public class ClassSelector extends JTree { } } + public void collapseAll() { + for (ClassSelectorPackageNode packageNode : packageNodes()) { + collapsePath(new TreePath(new Object[]{getModel().getRoot(), packageNode})); + } + } + public ClassEntry getFirstClass() { ClassSelectorPackageNode packageNode = packageNodes().get(0); if (packageNode != null) { diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/config/Decompiler.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/config/Decompiler.java index 0f9e41c6..8232ab6e 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/config/Decompiler.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/config/Decompiler.java @@ -4,8 +4,8 @@ import cuchaz.enigma.source.DecompilerService; import cuchaz.enigma.source.Decompilers; public enum Decompiler { - PROCYON("Procyon", Decompilers.PROCYON), - CFR("CFR", Decompilers.CFR); + CFR("CFR", Decompilers.CFR), + PROCYON("Procyon", Decompilers.PROCYON); public final DecompilerService service; public final String name; diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/DeobfPanelPopupMenu.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/DeobfPanelPopupMenu.java index c888e4f7..9481412e 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/DeobfPanelPopupMenu.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/DeobfPanelPopupMenu.java @@ -11,15 +11,22 @@ import java.awt.*; public class DeobfPanelPopupMenu { private final JPopupMenu ui; - private final JMenuItem renamePackage; - private final JMenuItem renameClass; + private final JMenuItem renamePackage = new JMenuItem(); + private final JMenuItem renameClass = new JMenuItem(); + private final JMenuItem expandAll = new JMenuItem(); + private final JMenuItem collapseAll = new JMenuItem(); public DeobfPanelPopupMenu(Gui gui) { this.ui = new JPopupMenu(); + this.ui.add(this.renamePackage); + this.ui.add(this.renameClass); + this.ui.addSeparator(); + this.ui.add(this.expandAll); + this.ui.add(this.collapseAll); + ClassSelector deobfClasses = gui.getDeobfPanel().deobfClasses; - this.renamePackage = new JMenuItem(); this.renamePackage.addActionListener(a -> { TreePath path; @@ -33,11 +40,9 @@ public class DeobfPanelPopupMenu { deobfClasses.getUI().startEditingAtPath(deobfClasses, path); }); - this.ui.add(this.renamePackage); - - this.renameClass = new JMenuItem(); this.renameClass.addActionListener(a -> deobfClasses.getUI().startEditingAtPath(deobfClasses, deobfClasses.getSelectionPath())); - this.ui.add(this.renameClass); + this.expandAll.addActionListener(a -> deobfClasses.expandAll()); + this.collapseAll.addActionListener(a -> deobfClasses.collapseAll()); this.retranslateUi(); } @@ -52,5 +57,7 @@ public class DeobfPanelPopupMenu { public void retranslateUi() { this.renamePackage.setText(I18n.translate("popup_menu.deobf_panel.rename_package")); this.renameClass.setText(I18n.translate("popup_menu.deobf_panel.rename_class")); + this.expandAll.setText(I18n.translate("popup_menu.deobf_panel.expand_all")); + this.collapseAll.setText(I18n.translate("popup_menu.deobf_panel.collapse_all")); } } diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java index 6603dd55..a0b2a52b 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java @@ -57,9 +57,9 @@ public class MenuBar { private final JMenuItem customScaleItem = new JMenuItem(); private final JMenu searchMenu = new JMenu(); - private final JMenuItem searchClassItem = new JMenuItem(); - private final JMenuItem searchMethodItem = new JMenuItem(); - private final JMenuItem searchFieldItem = new JMenuItem(); + private final JMenuItem searchClassItem = new JMenuItem(GuiUtil.CLASS_ICON); + private final JMenuItem searchMethodItem = new JMenuItem(GuiUtil.METHOD_ICON); + private final JMenuItem searchFieldItem = new JMenuItem(GuiUtil.FIELD_ICON); private final JMenu collabMenu = new JMenu(); private final JMenuItem connectItem = new JMenuItem(); diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/stats/StatsMember.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/stats/StatsMember.java index 70b4f40d..0e2452fa 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/stats/StatsMember.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/stats/StatsMember.java @@ -1,8 +1,8 @@ package cuchaz.enigma.gui.stats; public enum StatsMember { + CLASSES, METHODS, FIELDS, - PARAMETERS, - CLASSES + PARAMETERS } -- cgit v1.2.3