summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/gui/Gui.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/Gui.java')
-rw-r--r--src/main/java/cuchaz/enigma/gui/Gui.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/Gui.java b/src/main/java/cuchaz/enigma/gui/Gui.java
index 1fc8bf3..71bf5dc 100644
--- a/src/main/java/cuchaz/enigma/gui/Gui.java
+++ b/src/main/java/cuchaz/enigma/gui/Gui.java
@@ -792,11 +792,15 @@ public class Gui {
792 newEntry == null); 792 newEntry == null);
793 } 793 }
794 794
795 // TODO: getExpansionState will *not* actually update itself based on name changes!
795 public void moveClassTree(EntryReference<Entry, Entry> deobfReference, String newName, boolean isOldOb, boolean isNewOb) { 796 public void moveClassTree(EntryReference<Entry, Entry> deobfReference, String newName, boolean isOldOb, boolean isNewOb) {
796 ClassEntry oldEntry = deobfReference.entry.getOwnerClassEntry(); 797 ClassEntry oldEntry = deobfReference.entry.getOwnerClassEntry();
797 ClassEntry newEntry = new ClassEntry(newName); 798 ClassEntry newEntry = new ClassEntry(newName);
798 799
799 // Ob -> deob 800 // Ob -> deob
801 List<ClassSelector.StateEntry> stateDeobf = this.deobfPanel.deobfClasses.getExpansionState(this.deobfPanel.deobfClasses);
802 List<ClassSelector.StateEntry> stateObf = this.obfPanel.obfClasses.getExpansionState(this.obfPanel.obfClasses);
803
800 if (isOldOb && !isNewOb) { 804 if (isOldOb && !isNewOb) {
801 this.deobfPanel.deobfClasses.moveClassTree(oldEntry, newEntry, obfPanel.obfClasses); 805 this.deobfPanel.deobfClasses.moveClassTree(oldEntry, newEntry, obfPanel.obfClasses);
802 ClassSelectorPackageNode packageNode = this.obfPanel.obfClasses.getPackageNode(oldEntry); 806 ClassSelectorPackageNode packageNode = this.obfPanel.obfClasses.getPackageNode(oldEntry);
@@ -824,5 +828,8 @@ public class Gui {
824 this.deobfPanel.deobfClasses.removeNodeIfEmpty(this.deobfPanel.deobfClasses.getPackageNode(oldEntry)); 828 this.deobfPanel.deobfClasses.removeNodeIfEmpty(this.deobfPanel.deobfClasses.getPackageNode(oldEntry));
825 this.deobfPanel.deobfClasses.reload(); 829 this.deobfPanel.deobfClasses.reload();
826 } 830 }
831
832 this.deobfPanel.deobfClasses.restoreExpansionState(this.deobfPanel.deobfClasses, stateDeobf);
833 this.obfPanel.obfClasses.restoreExpansionState(this.obfPanel.obfClasses, stateObf);
827 } 834 }
828} 835}