diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/panels')
4 files changed, 112 insertions, 124 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java b/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java index 4f55175..68cc8e1 100644 --- a/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java +++ b/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java | |||
| @@ -1,28 +1,25 @@ | |||
| 1 | package cuchaz.enigma.gui.panels; | 1 | package cuchaz.enigma.gui.panels; |
| 2 | 2 | ||
| 3 | import java.awt.BorderLayout; | ||
| 4 | |||
| 5 | import javax.swing.JLabel; | ||
| 6 | import javax.swing.JPanel; | ||
| 7 | import javax.swing.JScrollPane; | ||
| 8 | |||
| 9 | import cuchaz.enigma.gui.ClassSelector; | 3 | import cuchaz.enigma.gui.ClassSelector; |
| 10 | import cuchaz.enigma.gui.Gui; | 4 | import cuchaz.enigma.gui.Gui; |
| 11 | 5 | ||
| 6 | import javax.swing.*; | ||
| 7 | import java.awt.*; | ||
| 8 | |||
| 12 | public class PanelDeobf extends JPanel { | 9 | public class PanelDeobf extends JPanel { |
| 13 | 10 | ||
| 14 | public final ClassSelector deobfClasses; | 11 | public final ClassSelector deobfClasses; |
| 15 | private final Gui gui; | 12 | private final Gui gui; |
| 16 | 13 | ||
| 17 | public PanelDeobf(Gui gui) { | 14 | public PanelDeobf(Gui gui) { |
| 18 | this.gui = gui; | 15 | this.gui = gui; |
| 19 | 16 | ||
| 20 | this.deobfClasses = new ClassSelector(gui, ClassSelector.DEOBF_CLASS_COMPARATOR, true); | 17 | this.deobfClasses = new ClassSelector(gui, ClassSelector.DEOBF_CLASS_COMPARATOR, true); |
| 21 | this.deobfClasses.setSelectionListener(gui::navigateTo); | 18 | this.deobfClasses.setSelectionListener(gui::navigateTo); |
| 22 | this.deobfClasses.setRenameSelectionListener(gui::onPanelRename); | 19 | this.deobfClasses.setRenameSelectionListener(gui::onPanelRename); |
| 23 | 20 | ||
| 24 | this.setLayout(new BorderLayout()); | 21 | this.setLayout(new BorderLayout()); |
| 25 | this.add(new JLabel("De-obfuscated Classes"), BorderLayout.NORTH); | 22 | this.add(new JLabel("De-obfuscated Classes"), BorderLayout.NORTH); |
| 26 | this.add(new JScrollPane(this.deobfClasses), BorderLayout.CENTER); | 23 | this.add(new JScrollPane(this.deobfClasses), BorderLayout.CENTER); |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java index 914952b..fd30e38 100644 --- a/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java +++ b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java | |||
| @@ -1,73 +1,71 @@ | |||
| 1 | package cuchaz.enigma.gui.panels; | 1 | package cuchaz.enigma.gui.panels; |
| 2 | 2 | ||
| 3 | import cuchaz.enigma.gui.BrowserCaret; | ||
| 4 | import cuchaz.enigma.gui.Gui; | ||
| 5 | |||
| 6 | import javax.swing.*; | ||
| 3 | import java.awt.*; | 7 | import java.awt.*; |
| 4 | import java.awt.event.KeyAdapter; | 8 | import java.awt.event.KeyAdapter; |
| 5 | import java.awt.event.KeyEvent; | 9 | import java.awt.event.KeyEvent; |
| 6 | import java.awt.event.MouseAdapter; | 10 | import java.awt.event.MouseAdapter; |
| 7 | import java.awt.event.MouseEvent; | 11 | import java.awt.event.MouseEvent; |
| 8 | 12 | ||
| 9 | import javax.swing.JEditorPane; | ||
| 10 | |||
| 11 | import cuchaz.enigma.gui.BrowserCaret; | ||
| 12 | import cuchaz.enigma.gui.Gui; | ||
| 13 | |||
| 14 | public class PanelEditor extends JEditorPane { | 13 | public class PanelEditor extends JEditorPane { |
| 15 | private final Gui gui; | 14 | private final Gui gui; |
| 16 | 15 | ||
| 17 | public PanelEditor(Gui gui) { | 16 | public PanelEditor(Gui gui) { |
| 18 | this.gui = gui; | 17 | this.gui = gui; |
| 19 | 18 | ||
| 20 | this.setEditable(false); | 19 | this.setEditable(false); |
| 21 | this.setSelectionColor(new Color(31, 46, 90)); | 20 | this.setSelectionColor(new Color(31, 46, 90)); |
| 22 | this.setCaret(new BrowserCaret()); | 21 | this.setCaret(new BrowserCaret()); |
| 23 | this.addCaretListener(event -> gui.onCaretMove(event.getDot())); | 22 | this.addCaretListener(event -> gui.onCaretMove(event.getDot())); |
| 24 | final PanelEditor self = this; | 23 | final PanelEditor self = this; |
| 25 | this.addMouseListener(new MouseAdapter() | 24 | this.addMouseListener(new MouseAdapter() { |
| 26 | { | 25 | @Override |
| 27 | @Override public void mouseReleased(MouseEvent e) | 26 | public void mouseReleased(MouseEvent e) { |
| 28 | { | 27 | if (e.getButton() == MouseEvent.BUTTON3) |
| 29 | if (e.getButton() == MouseEvent.BUTTON3) | 28 | self.setCaretPosition(self.viewToModel(e.getPoint())); |
| 30 | self.setCaretPosition(self.viewToModel(e.getPoint())); | 29 | } |
| 31 | } | 30 | }); |
| 32 | }); | 31 | this.addKeyListener(new KeyAdapter() { |
| 33 | this.addKeyListener(new KeyAdapter() { | 32 | @Override |
| 34 | @Override | 33 | public void keyPressed(KeyEvent event) { |
| 35 | public void keyPressed(KeyEvent event) { | 34 | switch (event.getKeyCode()) { |
| 36 | switch (event.getKeyCode()) { | 35 | case KeyEvent.VK_R: |
| 37 | case KeyEvent.VK_R: | 36 | gui.popupMenu.renameMenu.doClick(); |
| 38 | gui.popupMenu.renameMenu.doClick(); | 37 | break; |
| 39 | break; | ||
| 40 | 38 | ||
| 41 | case KeyEvent.VK_I: | 39 | case KeyEvent.VK_I: |
| 42 | gui.popupMenu.showInheritanceMenu.doClick(); | 40 | gui.popupMenu.showInheritanceMenu.doClick(); |
| 43 | break; | 41 | break; |
| 44 | 42 | ||
| 45 | case KeyEvent.VK_M: | 43 | case KeyEvent.VK_M: |
| 46 | gui.popupMenu.showImplementationsMenu.doClick(); | 44 | gui.popupMenu.showImplementationsMenu.doClick(); |
| 47 | break; | 45 | break; |
| 48 | 46 | ||
| 49 | case KeyEvent.VK_N: | 47 | case KeyEvent.VK_N: |
| 50 | gui.popupMenu.openEntryMenu.doClick(); | 48 | gui.popupMenu.openEntryMenu.doClick(); |
| 51 | break; | 49 | break; |
| 52 | 50 | ||
| 53 | case KeyEvent.VK_P: | 51 | case KeyEvent.VK_P: |
| 54 | gui.popupMenu.openPreviousMenu.doClick(); | 52 | gui.popupMenu.openPreviousMenu.doClick(); |
| 55 | break; | 53 | break; |
| 56 | 54 | ||
| 57 | case KeyEvent.VK_C: | 55 | case KeyEvent.VK_C: |
| 58 | gui.popupMenu.showCallsMenu.doClick(); | 56 | gui.popupMenu.showCallsMenu.doClick(); |
| 59 | break; | 57 | break; |
| 60 | 58 | ||
| 61 | case KeyEvent.VK_T: | 59 | case KeyEvent.VK_T: |
| 62 | gui.popupMenu.toggleMappingMenu.doClick(); | 60 | gui.popupMenu.toggleMappingMenu.doClick(); |
| 63 | break; | 61 | break; |
| 64 | case KeyEvent.VK_F5: | 62 | case KeyEvent.VK_F5: |
| 65 | gui.getController().refreshCurrentClass(); | 63 | gui.getController().refreshCurrentClass(); |
| 66 | break; | 64 | break; |
| 67 | default: | 65 | default: |
| 68 | break; | 66 | break; |
| 69 | } | 67 | } |
| 70 | } | 68 | } |
| 71 | }); | 69 | }); |
| 72 | } | 70 | } |
| 73 | } | 71 | } |
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelIdentifier.java b/src/main/java/cuchaz/enigma/gui/panels/PanelIdentifier.java index faa023b..1bf6887 100644 --- a/src/main/java/cuchaz/enigma/gui/panels/PanelIdentifier.java +++ b/src/main/java/cuchaz/enigma/gui/panels/PanelIdentifier.java | |||
| @@ -1,34 +1,30 @@ | |||
| 1 | package cuchaz.enigma.gui.panels; | 1 | package cuchaz.enigma.gui.panels; |
| 2 | 2 | ||
| 3 | import java.awt.Dimension; | ||
| 4 | import java.awt.GridLayout; | ||
| 5 | |||
| 6 | import javax.swing.BorderFactory; | ||
| 7 | import javax.swing.JLabel; | ||
| 8 | import javax.swing.JPanel; | ||
| 9 | |||
| 10 | import cuchaz.enigma.gui.Gui; | 3 | import cuchaz.enigma.gui.Gui; |
| 11 | import cuchaz.enigma.utils.Utils; | 4 | import cuchaz.enigma.utils.Utils; |
| 12 | 5 | ||
| 6 | import javax.swing.*; | ||
| 7 | import java.awt.*; | ||
| 8 | |||
| 13 | public class PanelIdentifier extends JPanel { | 9 | public class PanelIdentifier extends JPanel { |
| 14 | 10 | ||
| 15 | private final Gui gui; | 11 | private final Gui gui; |
| 16 | 12 | ||
| 17 | public PanelIdentifier(Gui gui) { | 13 | public PanelIdentifier(Gui gui) { |
| 18 | this.gui = gui; | 14 | this.gui = gui; |
| 19 | 15 | ||
| 20 | this.setLayout(new GridLayout(4, 1, 0, 0)); | 16 | this.setLayout(new GridLayout(4, 1, 0, 0)); |
| 21 | this.setPreferredSize(new Dimension(0, 100)); | 17 | this.setPreferredSize(new Dimension(0, 100)); |
| 22 | this.setBorder(BorderFactory.createTitledBorder("Identifier Info")); | 18 | this.setBorder(BorderFactory.createTitledBorder("Identifier Info")); |
| 23 | } | 19 | } |
| 24 | 20 | ||
| 25 | public void clearReference() { | 21 | public void clearReference() { |
| 26 | this.removeAll(); | 22 | this.removeAll(); |
| 27 | JLabel label = new JLabel("No identifier selected"); | 23 | JLabel label = new JLabel("No identifier selected"); |
| 28 | Utils.unboldLabel(label); | 24 | Utils.unboldLabel(label); |
| 29 | label.setHorizontalAlignment(JLabel.CENTER); | 25 | label.setHorizontalAlignment(JLabel.CENTER); |
| 30 | this.add(label); | 26 | this.add(label); |
| 31 | 27 | ||
| 32 | gui.redraw(); | 28 | gui.redraw(); |
| 33 | } | 29 | } |
| 34 | } | 30 | } |
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java b/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java index 27bb70b..4bbd32b 100644 --- a/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java +++ b/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java | |||
| @@ -1,39 +1,36 @@ | |||
| 1 | package cuchaz.enigma.gui.panels; | 1 | package cuchaz.enigma.gui.panels; |
| 2 | 2 | ||
| 3 | import java.awt.BorderLayout; | ||
| 4 | import java.util.Comparator; | ||
| 5 | |||
| 6 | import javax.swing.JLabel; | ||
| 7 | import javax.swing.JPanel; | ||
| 8 | import javax.swing.JScrollPane; | ||
| 9 | |||
| 10 | import cuchaz.enigma.gui.ClassSelector; | 3 | import cuchaz.enigma.gui.ClassSelector; |
| 11 | import cuchaz.enigma.gui.Gui; | 4 | import cuchaz.enigma.gui.Gui; |
| 12 | import cuchaz.enigma.mapping.ClassEntry; | 5 | import cuchaz.enigma.mapping.ClassEntry; |
| 13 | 6 | ||
| 7 | import javax.swing.*; | ||
| 8 | import java.awt.*; | ||
| 9 | import java.util.Comparator; | ||
| 10 | |||
| 14 | public class PanelObf extends JPanel { | 11 | public class PanelObf extends JPanel { |
| 15 | 12 | ||
| 16 | private final Gui gui; | 13 | public final ClassSelector obfClasses; |
| 17 | public final ClassSelector obfClasses; | 14 | private final Gui gui; |
| 18 | 15 | ||
| 19 | public PanelObf(Gui gui) { | 16 | public PanelObf(Gui gui) { |
| 20 | this.gui = gui; | 17 | this.gui = gui; |
| 21 | 18 | ||
| 22 | Comparator<ClassEntry> obfClassComparator = (a, b) -> { | 19 | Comparator<ClassEntry> obfClassComparator = (a, b) -> { |
| 23 | String aname = a.getName(); | 20 | String aname = a.getName(); |
| 24 | String bname = b.getName(); | 21 | String bname = b.getName(); |
| 25 | if (aname.length() != bname.length()) { | 22 | if (aname.length() != bname.length()) { |
| 26 | return aname.length() - bname.length(); | 23 | return aname.length() - bname.length(); |
| 27 | } | 24 | } |
| 28 | return aname.compareTo(bname); | 25 | return aname.compareTo(bname); |
| 29 | }; | 26 | }; |
| 30 | 27 | ||
| 31 | this.obfClasses = new ClassSelector(gui, obfClassComparator, false); | 28 | this.obfClasses = new ClassSelector(gui, obfClassComparator, false); |
| 32 | this.obfClasses.setSelectionListener(gui::navigateTo); | 29 | this.obfClasses.setSelectionListener(gui::navigateTo); |
| 33 | this.obfClasses.setRenameSelectionListener(gui::onPanelRename); | 30 | this.obfClasses.setRenameSelectionListener(gui::onPanelRename); |
| 34 | 31 | ||
| 35 | this.setLayout(new BorderLayout()); | 32 | this.setLayout(new BorderLayout()); |
| 36 | this.add(new JLabel("Obfuscated Classes"), BorderLayout.NORTH); | 33 | this.add(new JLabel("Obfuscated Classes"), BorderLayout.NORTH); |
| 37 | this.add(new JScrollPane(this.obfClasses), BorderLayout.CENTER); | 34 | this.add(new JScrollPane(this.obfClasses), BorderLayout.CENTER); |
| 38 | } | 35 | } |
| 39 | } | 36 | } |