summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/gui/panels
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/panels')
-rw-r--r--src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java31
-rw-r--r--src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java108
-rw-r--r--src/main/java/cuchaz/enigma/gui/panels/PanelIdentifier.java40
-rw-r--r--src/main/java/cuchaz/enigma/gui/panels/PanelObf.java57
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 @@
1package cuchaz.enigma.gui.panels; 1package cuchaz.enigma.gui.panels;
2 2
3import java.awt.BorderLayout;
4
5import javax.swing.JLabel;
6import javax.swing.JPanel;
7import javax.swing.JScrollPane;
8
9import cuchaz.enigma.gui.ClassSelector; 3import cuchaz.enigma.gui.ClassSelector;
10import cuchaz.enigma.gui.Gui; 4import cuchaz.enigma.gui.Gui;
11 5
6import javax.swing.*;
7import java.awt.*;
8
12public class PanelDeobf extends JPanel { 9public 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 @@
1package cuchaz.enigma.gui.panels; 1package cuchaz.enigma.gui.panels;
2 2
3import cuchaz.enigma.gui.BrowserCaret;
4import cuchaz.enigma.gui.Gui;
5
6import javax.swing.*;
3import java.awt.*; 7import java.awt.*;
4import java.awt.event.KeyAdapter; 8import java.awt.event.KeyAdapter;
5import java.awt.event.KeyEvent; 9import java.awt.event.KeyEvent;
6import java.awt.event.MouseAdapter; 10import java.awt.event.MouseAdapter;
7import java.awt.event.MouseEvent; 11import java.awt.event.MouseEvent;
8 12
9import javax.swing.JEditorPane;
10
11import cuchaz.enigma.gui.BrowserCaret;
12import cuchaz.enigma.gui.Gui;
13
14public class PanelEditor extends JEditorPane { 13public 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 @@
1package cuchaz.enigma.gui.panels; 1package cuchaz.enigma.gui.panels;
2 2
3import java.awt.Dimension;
4import java.awt.GridLayout;
5
6import javax.swing.BorderFactory;
7import javax.swing.JLabel;
8import javax.swing.JPanel;
9
10import cuchaz.enigma.gui.Gui; 3import cuchaz.enigma.gui.Gui;
11import cuchaz.enigma.utils.Utils; 4import cuchaz.enigma.utils.Utils;
12 5
6import javax.swing.*;
7import java.awt.*;
8
13public class PanelIdentifier extends JPanel { 9public 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 @@
1package cuchaz.enigma.gui.panels; 1package cuchaz.enigma.gui.panels;
2 2
3import java.awt.BorderLayout;
4import java.util.Comparator;
5
6import javax.swing.JLabel;
7import javax.swing.JPanel;
8import javax.swing.JScrollPane;
9
10import cuchaz.enigma.gui.ClassSelector; 3import cuchaz.enigma.gui.ClassSelector;
11import cuchaz.enigma.gui.Gui; 4import cuchaz.enigma.gui.Gui;
12import cuchaz.enigma.mapping.ClassEntry; 5import cuchaz.enigma.mapping.ClassEntry;
13 6
7import javax.swing.*;
8import java.awt.*;
9import java.util.Comparator;
10
14public class PanelObf extends JPanel { 11public 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}