summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/gui/panels
diff options
context:
space:
mode:
authorGravatar Erlend Ã…mdal2019-05-12 09:47:41 +0200
committerGravatar Gegy2019-05-12 09:47:41 +0200
commit65a8ff63bae4f6f2e025e3dbf0b7b8eb64193039 (patch)
treeae282f190a8e86a3f0be75ca168f2660d89c56f3 /src/main/java/cuchaz/enigma/gui/panels
parentSupport navigation to declaration on ctrl+click (diff)
downloadenigma-fork-65a8ff63bae4f6f2e025e3dbf0b7b8eb64193039.tar.gz
enigma-fork-65a8ff63bae4f6f2e025e3dbf0b7b8eb64193039.tar.xz
enigma-fork-65a8ff63bae4f6f2e025e3dbf0b7b8eb64193039.zip
Add forward and backward reference history with mouse navigation (#132)
* Add History * Add forward and backward reference history * Update PopupMenuBar text for history * Fix indentation * Fix more indentation
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/panels')
-rw-r--r--src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java2
-rw-r--r--src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java19
-rw-r--r--src/main/java/cuchaz/enigma/gui/panels/PanelObf.java2
3 files changed, 19 insertions, 4 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java b/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java
index 68cc8e1..2a4e2d7 100644
--- a/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java
+++ b/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java
@@ -15,7 +15,7 @@ public class PanelDeobf extends JPanel {
15 this.gui = gui; 15 this.gui = gui;
16 16
17 this.deobfClasses = new ClassSelector(gui, ClassSelector.DEOBF_CLASS_COMPARATOR, true); 17 this.deobfClasses = new ClassSelector(gui, ClassSelector.DEOBF_CLASS_COMPARATOR, true);
18 this.deobfClasses.setSelectionListener(gui::navigateTo); 18 this.deobfClasses.setSelectionListener(gui.getController()::navigateTo);
19 this.deobfClasses.setRenameSelectionListener(gui::onPanelRename); 19 this.deobfClasses.setRenameSelectionListener(gui::onPanelRename);
20 20
21 this.setLayout(new BorderLayout()); 21 this.setLayout(new BorderLayout());
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java
index f766743..f19d98f 100644
--- a/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java
+++ b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java
@@ -21,8 +21,19 @@ public class PanelEditor extends JEditorPane {
21 this.addMouseListener(new MouseAdapter() { 21 this.addMouseListener(new MouseAdapter() {
22 @Override 22 @Override
23 public void mouseReleased(MouseEvent e) { 23 public void mouseReleased(MouseEvent e) {
24 if (e.getButton() == MouseEvent.BUTTON3) 24 switch (e.getButton()) {
25 self.setCaretPosition(self.viewToModel(e.getPoint())); 25 case MouseEvent.BUTTON3: // Right click
26 self.setCaretPosition(self.viewToModel(e.getPoint()));
27 break;
28
29 case 4: // Back navigation
30 gui.getController().openPreviousReference();
31 break;
32
33 case 5: // Forward navigation
34 gui.getController().openNextReference();
35 break;
36 }
26 } 37 }
27 }); 38 });
28 this.addKeyListener(new KeyAdapter() { 39 this.addKeyListener(new KeyAdapter() {
@@ -49,6 +60,10 @@ public class PanelEditor extends JEditorPane {
49 gui.popupMenu.openPreviousMenu.doClick(); 60 gui.popupMenu.openPreviousMenu.doClick();
50 break; 61 break;
51 62
63 case KeyEvent.VK_E:
64 gui.popupMenu.openNextMenu.doClick();
65 break;
66
52 case KeyEvent.VK_C: 67 case KeyEvent.VK_C:
53 gui.popupMenu.showCallsMenu.doClick(); 68 gui.popupMenu.showCallsMenu.doClick();
54 break; 69 break;
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java b/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java
index ccdc9f8..8ee564b 100644
--- a/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java
+++ b/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java
@@ -26,7 +26,7 @@ public class PanelObf extends JPanel {
26 }; 26 };
27 27
28 this.obfClasses = new ClassSelector(gui, obfClassComparator, false); 28 this.obfClasses = new ClassSelector(gui, obfClassComparator, false);
29 this.obfClasses.setSelectionListener(gui::navigateTo); 29 this.obfClasses.setSelectionListener(gui.getController()::navigateTo);
30 this.obfClasses.setRenameSelectionListener(gui::onPanelRename); 30 this.obfClasses.setRenameSelectionListener(gui::onPanelRename);
31 31
32 this.setLayout(new BorderLayout()); 32 this.setLayout(new BorderLayout());