diff options
| author | 2019-05-12 09:47:41 +0200 | |
|---|---|---|
| committer | 2019-05-12 09:47:41 +0200 | |
| commit | 65a8ff63bae4f6f2e025e3dbf0b7b8eb64193039 (patch) | |
| tree | ae282f190a8e86a3f0be75ca168f2660d89c56f3 /src/main/java/cuchaz/enigma/gui/panels | |
| parent | Support navigation to declaration on ctrl+click (diff) | |
| download | enigma-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.java | 2 | ||||
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java | 19 | ||||
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/panels/PanelObf.java | 2 |
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()); |