From 3a50fea029b9f0355cba1bf8f9c5bb941298bc4a Mon Sep 17 00:00:00 2001 From: Thog Date: Tue, 23 Aug 2016 13:49:24 +0200 Subject: Add the ability to rename package and classes in panels --- src/main/java/cuchaz/enigma/gui/Gui.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/main/java/cuchaz/enigma/gui/Gui.java') diff --git a/src/main/java/cuchaz/enigma/gui/Gui.java b/src/main/java/cuchaz/enigma/gui/Gui.java index fd59a81..bc49a3f 100644 --- a/src/main/java/cuchaz/enigma/gui/Gui.java +++ b/src/main/java/cuchaz/enigma/gui/Gui.java @@ -36,6 +36,7 @@ import de.sciss.syntaxpane.DefaultSyntaxKit; import javax.swing.*; import javax.swing.text.BadLocationException; import javax.swing.text.Highlighter; +import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreeNode; import javax.swing.tree.TreePath; @@ -750,4 +751,22 @@ public class Gui { this.frame.validate(); this.frame.repaint(); } + + public void onPanelRename(Object prevData, Object data, DefaultMutableTreeNode node) throws IllegalNameException + { + // package rename + if (data instanceof String) + { + for (int i = 0; i < node.getChildCount(); i++) + { + DefaultMutableTreeNode childNode = (DefaultMutableTreeNode) node.getChildAt(i); + ClassEntry prevDataChild = (ClassEntry) childNode.getUserObject(); + ClassEntry dataChild = new ClassEntry(data + "/" + prevDataChild.getSimpleName()); + this.controller.rename(new EntryReference<>(prevDataChild, prevDataChild.getName()), dataChild.getName()); + } + } + // class rename + else if (data instanceof ClassEntry) + this.controller.rename(new EntryReference<>((ClassEntry) prevData, ((ClassEntry) prevData).getName()), ((ClassEntry) data).getName()); + } } -- cgit v1.2.3