summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/gui/panels
diff options
context:
space:
mode:
authorGravatar lclc982016-07-03 00:05:04 +1000
committerGravatar lclc982016-07-03 00:05:04 +1000
commit9a3e5a9d132735f818c379ba72c554362650690d (patch)
tree2a454f96d99bdcfc5bdf0f6814a2ea7857698d1b /src/main/java/cuchaz/enigma/gui/panels
parentFixed #4 (diff)
downloadenigma-fork-9a3e5a9d132735f818c379ba72c554362650690d.tar.gz
enigma-fork-9a3e5a9d132735f818c379ba72c554362650690d.tar.xz
enigma-fork-9a3e5a9d132735f818c379ba72c554362650690d.zip
Started Gui Refactor
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/panels')
-rw-r--r--src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java28
-rw-r--r--src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java60
-rw-r--r--src/main/java/cuchaz/enigma/gui/panels/PanelIdentifier.java34
-rw-r--r--src/main/java/cuchaz/enigma/gui/panels/PanelObf.java27
4 files changed, 149 insertions, 0 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java b/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java
new file mode 100644
index 0000000..d89de36
--- /dev/null
+++ b/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java
@@ -0,0 +1,28 @@
1package cuchaz.enigma.gui.panels;
2
3import java.awt.BorderLayout;
4
5import javax.swing.JLabel;
6import javax.swing.JPanel;
7import javax.swing.JScrollPane;
8
9import cuchaz.enigma.gui.ClassSelector;
10import cuchaz.enigma.gui.Gui;
11
12public class PanelDeobf extends JPanel {
13
14 public final ClassSelector deobfClasses;
15 private final Gui gui;
16
17 public PanelDeobf(Gui gui) {
18 this.gui = gui;
19
20 this.deobfClasses = new ClassSelector(ClassSelector.DeobfuscatedClassEntryComparator);
21 this.deobfClasses.setListener(gui::navigateTo);
22
23 this.setLayout(new BorderLayout());
24 this.add(new JLabel("De-obfuscated Classes"), BorderLayout.NORTH);
25 this.add(new JScrollPane(this.deobfClasses), BorderLayout.CENTER);
26
27 }
28}
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java
new file mode 100644
index 0000000..6237710
--- /dev/null
+++ b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java
@@ -0,0 +1,60 @@
1package cuchaz.enigma.gui.panels;
2
3import java.awt.event.KeyAdapter;
4import java.awt.event.KeyEvent;
5
6import javax.swing.JEditorPane;
7
8import cuchaz.enigma.gui.BrowserCaret;
9import cuchaz.enigma.gui.Gui;
10import de.sciss.syntaxpane.DefaultSyntaxKit;
11
12public class PanelEditor extends JEditorPane {
13 private final Gui gui;
14
15 public PanelEditor(Gui gui) {
16 this.gui = gui;
17
18 this.setEditable(false);
19 this.setCaret(new BrowserCaret());
20 this.setContentType("text/java");
21 this.addCaretListener(event -> gui.onCaretMove(event.getDot()));
22 this.addKeyListener(new KeyAdapter() {
23 @Override
24 public void keyPressed(KeyEvent event) {
25 switch (event.getKeyCode()) {
26 case KeyEvent.VK_R:
27 gui.popupMenu.renameMenu.doClick();
28 break;
29
30 case KeyEvent.VK_I:
31 gui.popupMenu.showInheritanceMenu.doClick();
32 break;
33
34 case KeyEvent.VK_M:
35 gui.popupMenu.showImplementationsMenu.doClick();
36 break;
37
38 case KeyEvent.VK_N:
39 gui.popupMenu.openEntryMenu.doClick();
40 break;
41
42 case KeyEvent.VK_P:
43 gui.popupMenu.openPreviousMenu.doClick();
44 break;
45
46 case KeyEvent.VK_C:
47 gui.popupMenu.showCallsMenu.doClick();
48 break;
49
50 case KeyEvent.VK_T:
51 gui.popupMenu.toggleMappingMenu.doClick();
52 break;
53 }
54 }
55 });
56
57 DefaultSyntaxKit kit = (DefaultSyntaxKit) this.getEditorKit();
58 kit.toggleComponent(this, "de.sciss.syntaxpane.components.TokenMarker");
59 }
60}
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelIdentifier.java b/src/main/java/cuchaz/enigma/gui/panels/PanelIdentifier.java
new file mode 100644
index 0000000..4261eb5
--- /dev/null
+++ b/src/main/java/cuchaz/enigma/gui/panels/PanelIdentifier.java
@@ -0,0 +1,34 @@
1package cuchaz.enigma.gui.panels;
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;
11import cuchaz.enigma.gui.GuiTricks;
12
13public class PanelIdentifier extends JPanel {
14
15 private final Gui gui;
16
17 public PanelIdentifier(Gui gui) {
18 this.gui = gui;
19
20 this.setLayout(new GridLayout(4, 1, 0, 0));
21 this.setPreferredSize(new Dimension(0, 100));
22 this.setBorder(BorderFactory.createTitledBorder("Identifier Info"));
23 }
24
25 public void clearReference() {
26 this.removeAll();
27 JLabel label = new JLabel("No identifier selected");
28 GuiTricks.unboldLabel(label);
29 label.setHorizontalAlignment(JLabel.CENTER);
30 this.add(label);
31
32 gui.redraw();
33 }
34}
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java b/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java
new file mode 100644
index 0000000..745cb2e
--- /dev/null
+++ b/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java
@@ -0,0 +1,27 @@
1package cuchaz.enigma.gui.panels;
2
3import java.awt.BorderLayout;
4
5import javax.swing.JLabel;
6import javax.swing.JPanel;
7import javax.swing.JScrollPane;
8
9import cuchaz.enigma.gui.ClassSelector;
10import cuchaz.enigma.gui.Gui;
11
12public class PanelObf extends JPanel {
13
14 private final Gui gui;
15 public final ClassSelector obfClasses;
16
17 public PanelObf(Gui gui) {
18 this.gui = gui;
19
20 this.obfClasses = new ClassSelector(ClassSelector.ObfuscatedClassEntryComparator);
21 this.obfClasses.setListener(gui::navigateTo);
22
23 this.setLayout(new BorderLayout());
24 this.add(new JLabel("Obfuscated Classes"), BorderLayout.NORTH);
25 this.add(new JScrollPane(this.obfClasses), BorderLayout.CENTER);
26 }
27}