diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/elements')
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/elements/MenuBar.java | 400 | ||||
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/elements/PopupMenuBar.java | 139 |
2 files changed, 262 insertions, 277 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java b/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java index 0ccd537..cd11aca 100644 --- a/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java +++ b/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java | |||
| @@ -1,219 +1,207 @@ | |||
| 1 | package cuchaz.enigma.gui.elements; | 1 | package cuchaz.enigma.gui.elements; |
| 2 | 2 | ||
| 3 | import cuchaz.enigma.gui.Gui; | ||
| 4 | import cuchaz.enigma.gui.dialog.AboutDialog; | ||
| 5 | import cuchaz.enigma.throwables.MappingParseException; | ||
| 6 | |||
| 7 | import javax.swing.*; | ||
| 3 | import java.awt.event.InputEvent; | 8 | import java.awt.event.InputEvent; |
| 4 | import java.awt.event.KeyEvent; | 9 | import java.awt.event.KeyEvent; |
| 5 | import java.io.IOException; | 10 | import java.io.IOException; |
| 6 | import java.util.jar.JarFile; | 11 | import java.util.jar.JarFile; |
| 7 | 12 | ||
| 8 | import javax.swing.*; | ||
| 9 | |||
| 10 | import cuchaz.enigma.gui.Gui; | ||
| 11 | import cuchaz.enigma.gui.dialog.AboutDialog; | ||
| 12 | import cuchaz.enigma.throwables.MappingParseException; | ||
| 13 | |||
| 14 | public class MenuBar extends JMenuBar { | 13 | public class MenuBar extends JMenuBar { |
| 15 | 14 | ||
| 16 | private final Gui gui; | 15 | public final JMenuItem closeJarMenu; |
| 17 | 16 | public final JMenuItem openEnigmaMappingsMenu; | |
| 18 | public final JMenuItem closeJarMenu; | 17 | public final JMenuItem saveMappingsMenu; |
| 19 | 18 | public final JMenuItem saveMappingEnigmaFileMenu; | |
| 20 | public final JMenuItem openEnigmaMappingsMenu; | 19 | public final JMenuItem saveMappingEnigmaDirectoryMenu; |
| 21 | 20 | public final JMenuItem saveMappingsSrgMenu; | |
| 22 | public final JMenuItem saveMappingsMenu; | 21 | public final JMenuItem closeMappingsMenu; |
| 23 | public final JMenuItem saveMappingEnigmaFileMenu; | 22 | public final JMenuItem rebuildMethodNamesMenu; |
| 24 | public final JMenuItem saveMappingEnigmaDirectoryMenu; | 23 | public final JMenuItem exportSourceMenu; |
| 25 | public final JMenuItem saveMappingsSrgMenu; | 24 | public final JMenuItem exportJarMenu; |
| 26 | public final JMenuItem closeMappingsMenu; | 25 | private final Gui gui; |
| 27 | |||
| 28 | public final JMenuItem rebuildMethodNamesMenu; | ||
| 29 | |||
| 30 | public final JMenuItem exportSourceMenu; | ||
| 31 | public final JMenuItem exportJarMenu; | ||
| 32 | 26 | ||
| 33 | public MenuBar(Gui gui) { | 27 | public MenuBar(Gui gui) { |
| 34 | this.gui = gui; | 28 | this.gui = gui; |
| 35 | 29 | ||
| 36 | { | 30 | { |
| 37 | JMenu menu = new JMenu("File"); | 31 | JMenu menu = new JMenu("File"); |
| 38 | this.add(menu); | 32 | this.add(menu); |
| 39 | { | 33 | { |
| 40 | JMenuItem item = new JMenuItem("Open Jar..."); | 34 | JMenuItem item = new JMenuItem("Open Jar..."); |
| 41 | menu.add(item); | 35 | menu.add(item); |
| 42 | item.addActionListener(event -> { | 36 | item.addActionListener(event -> { |
| 43 | if (this.gui.jarFileChooser.showOpenDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | 37 | if (this.gui.jarFileChooser.showOpenDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { |
| 44 | // load the jar in a separate thread | 38 | // load the jar in a separate thread |
| 45 | new Thread(() -> | 39 | new Thread(() -> |
| 46 | { | 40 | { |
| 47 | try { | 41 | try { |
| 48 | gui.getController().openJar(new JarFile(gui.jarFileChooser.getSelectedFile())); | 42 | gui.getController().openJar(new JarFile(gui.jarFileChooser.getSelectedFile())); |
| 49 | } catch (IOException ex) { | 43 | } catch (IOException ex) { |
| 50 | throw new Error(ex); | 44 | throw new Error(ex); |
| 51 | } | 45 | } |
| 52 | }).start(); | 46 | }).start(); |
| 53 | } | 47 | } |
| 54 | }); | 48 | }); |
| 55 | } | 49 | } |
| 56 | { | 50 | { |
| 57 | JMenuItem item = new JMenuItem("Close Jar"); | 51 | JMenuItem item = new JMenuItem("Close Jar"); |
| 58 | menu.add(item); | 52 | menu.add(item); |
| 59 | item.addActionListener(event -> this.gui.getController().closeJar()); | 53 | item.addActionListener(event -> this.gui.getController().closeJar()); |
| 60 | this.closeJarMenu = item; | 54 | this.closeJarMenu = item; |
| 61 | } | 55 | } |
| 62 | menu.addSeparator(); | 56 | menu.addSeparator(); |
| 63 | JMenu openMenu = new JMenu("Open Mappings..."); | 57 | JMenu openMenu = new JMenu("Open Mappings..."); |
| 64 | menu.add(openMenu); | 58 | menu.add(openMenu); |
| 65 | { | 59 | { |
| 66 | JMenuItem item = new JMenuItem("Enigma"); | 60 | JMenuItem item = new JMenuItem("Enigma"); |
| 67 | openMenu.add(item); | 61 | openMenu.add(item); |
| 68 | item.addActionListener(event -> { | 62 | item.addActionListener(event -> { |
| 69 | if (this.gui.enigmaMappingsFileChooser.showOpenDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | 63 | if (this.gui.enigmaMappingsFileChooser.showOpenDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { |
| 70 | try { | 64 | try { |
| 71 | this.gui.getController().openEnigmaMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile()); | 65 | this.gui.getController().openEnigmaMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile()); |
| 72 | } catch (IOException ex) { | 66 | } catch (IOException ex) { |
| 73 | throw new Error(ex); | 67 | throw new Error(ex); |
| 74 | } catch (MappingParseException ex) { | 68 | } catch (MappingParseException ex) { |
| 75 | JOptionPane.showMessageDialog(this.gui.getFrame(), ex.getMessage()); | 69 | JOptionPane.showMessageDialog(this.gui.getFrame(), ex.getMessage()); |
| 76 | } | 70 | } |
| 77 | } | 71 | } |
| 78 | }); | 72 | }); |
| 79 | this.openEnigmaMappingsMenu = item; | 73 | this.openEnigmaMappingsMenu = item; |
| 80 | } | 74 | } |
| 81 | { | 75 | { |
| 82 | JMenuItem item = new JMenuItem("Save Mappings"); | 76 | JMenuItem item = new JMenuItem("Save Mappings"); |
| 83 | menu.add(item); | 77 | menu.add(item); |
| 84 | item.addActionListener(event -> { | 78 | item.addActionListener(event -> { |
| 85 | try { | 79 | try { |
| 86 | this.gui.getController().saveMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile()); | 80 | this.gui.getController().saveMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile()); |
| 87 | } catch (IOException ex) { | 81 | } catch (IOException ex) { |
| 88 | throw new Error(ex); | 82 | throw new Error(ex); |
| 89 | } | 83 | } |
| 90 | }); | 84 | }); |
| 91 | item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK)); | 85 | item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK)); |
| 92 | this.saveMappingsMenu = item; | 86 | this.saveMappingsMenu = item; |
| 93 | } | 87 | } |
| 94 | JMenu saveMenu = new JMenu("Save Mappings As..."); | 88 | JMenu saveMenu = new JMenu("Save Mappings As..."); |
| 95 | menu.add(saveMenu); | 89 | menu.add(saveMenu); |
| 96 | { | 90 | { |
| 97 | JMenuItem item = new JMenuItem("Enigma (single file)"); | 91 | JMenuItem item = new JMenuItem("Enigma (single file)"); |
| 98 | saveMenu.add(item); | 92 | saveMenu.add(item); |
| 99 | item.addActionListener(event -> { | 93 | item.addActionListener(event -> { |
| 100 | // TODO: Use a specific file chooser for it | 94 | // TODO: Use a specific file chooser for it |
| 101 | if (this.gui.enigmaMappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | 95 | if (this.gui.enigmaMappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { |
| 102 | try { | 96 | try { |
| 103 | this.gui.getController().saveEnigmaMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile(), false); | 97 | this.gui.getController().saveEnigmaMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile(), false); |
| 104 | this.saveMappingsMenu.setEnabled(true); | 98 | this.saveMappingsMenu.setEnabled(true); |
| 105 | } catch (IOException ex) { | 99 | } catch (IOException ex) { |
| 106 | throw new Error(ex); | 100 | throw new Error(ex); |
| 107 | } | 101 | } |
| 108 | } | 102 | } |
| 109 | }); | 103 | }); |
| 110 | this.saveMappingEnigmaFileMenu = item; | 104 | this.saveMappingEnigmaFileMenu = item; |
| 111 | } | 105 | } |
| 112 | { | 106 | { |
| 113 | JMenuItem item = new JMenuItem("Enigma (directory)"); | 107 | JMenuItem item = new JMenuItem("Enigma (directory)"); |
| 114 | saveMenu.add(item); | 108 | saveMenu.add(item); |
| 115 | item.addActionListener(event -> { | 109 | item.addActionListener(event -> { |
| 116 | // TODO: Use a specific file chooser for it | 110 | // TODO: Use a specific file chooser for it |
| 117 | if (this.gui.enigmaMappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | 111 | if (this.gui.enigmaMappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { |
| 118 | try { | 112 | try { |
| 119 | this.gui.getController().saveEnigmaMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile(), true); | 113 | this.gui.getController().saveEnigmaMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile(), true); |
| 120 | this.saveMappingsMenu.setEnabled(true); | 114 | this.saveMappingsMenu.setEnabled(true); |
| 121 | } catch (IOException ex) { | 115 | } catch (IOException ex) { |
| 122 | throw new Error(ex); | 116 | throw new Error(ex); |
| 123 | } | 117 | } |
| 124 | } | 118 | } |
| 125 | }); | 119 | }); |
| 126 | item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK)); | 120 | item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK)); |
| 127 | this.saveMappingEnigmaDirectoryMenu = item; | 121 | this.saveMappingEnigmaDirectoryMenu = item; |
| 128 | } | 122 | } |
| 129 | { | 123 | { |
| 130 | JMenuItem item = new JMenuItem("SRG (single file)"); | 124 | JMenuItem item = new JMenuItem("SRG (single file)"); |
| 131 | saveMenu.add(item); | 125 | saveMenu.add(item); |
| 132 | item.addActionListener(event -> { | 126 | item.addActionListener(event -> { |
| 133 | // TODO: Use a specific file chooser for it | 127 | // TODO: Use a specific file chooser for it |
| 134 | if (this.gui.enigmaMappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | 128 | if (this.gui.enigmaMappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { |
| 135 | try { | 129 | try { |
| 136 | this.gui.getController().saveSRGMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile()); | 130 | this.gui.getController().saveSRGMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile()); |
| 137 | this.saveMappingsMenu.setEnabled(true); | 131 | this.saveMappingsMenu.setEnabled(true); |
| 138 | } catch (IOException ex) { | 132 | } catch (IOException ex) { |
| 139 | throw new Error(ex); | 133 | throw new Error(ex); |
| 140 | } | 134 | } |
| 141 | } | 135 | } |
| 142 | }); | 136 | }); |
| 143 | this.saveMappingsSrgMenu = item; | 137 | this.saveMappingsSrgMenu = item; |
| 144 | } | 138 | } |
| 145 | { | 139 | { |
| 146 | JMenuItem item = new JMenuItem("Close Mappings"); | 140 | JMenuItem item = new JMenuItem("Close Mappings"); |
| 147 | menu.add(item); | 141 | menu.add(item); |
| 148 | item.addActionListener(event -> { | 142 | item.addActionListener(event -> { |
| 149 | if (this.gui.getController().isDirty()) | 143 | if (this.gui.getController().isDirty()) { |
| 150 | { | 144 | this.gui.showDiscardDiag((response -> { |
| 151 | this.gui.showDiscardDiag((response -> { | 145 | if (response == JOptionPane.YES_OPTION) { |
| 152 | if (response == JOptionPane.YES_OPTION) | 146 | try { |
| 153 | { | 147 | gui.saveMapping(); |
| 154 | try | 148 | this.gui.getController().closeMappings(); |
| 155 | { | 149 | } catch (IOException e) { |
| 156 | gui.saveMapping(); | 150 | throw new Error(e); |
| 157 | this.gui.getController().closeMappings(); | 151 | } |
| 158 | } catch (IOException e) | 152 | } else if (response == JOptionPane.NO_OPTION) |
| 159 | { | 153 | this.gui.getController().closeMappings(); |
| 160 | throw new Error(e); | 154 | return null; |
| 161 | } | 155 | }), "Save and close", "Discard changes", "Cancel"); |
| 162 | } | 156 | } else |
| 163 | else if (response == JOptionPane.NO_OPTION) | 157 | this.gui.getController().closeMappings(); |
| 164 | this.gui.getController().closeMappings(); | ||
| 165 | return null; | ||
| 166 | }), "Save and close", "Discard changes", "Cancel"); | ||
| 167 | } | ||
| 168 | else | ||
| 169 | this.gui.getController().closeMappings(); | ||
| 170 | 158 | ||
| 171 | }); | 159 | }); |
| 172 | this.closeMappingsMenu = item; | 160 | this.closeMappingsMenu = item; |
| 173 | } | 161 | } |
| 174 | menu.addSeparator(); | 162 | menu.addSeparator(); |
| 175 | { | 163 | { |
| 176 | JMenuItem item = new JMenuItem("Rebuild Method Names"); | 164 | JMenuItem item = new JMenuItem("Rebuild Method Names"); |
| 177 | menu.add(item); | 165 | menu.add(item); |
| 178 | item.addActionListener(event -> this.gui.getController().rebuildMethodNames()); | 166 | item.addActionListener(event -> this.gui.getController().rebuildMethodNames()); |
| 179 | this.rebuildMethodNamesMenu = item; | 167 | this.rebuildMethodNamesMenu = item; |
| 180 | } | 168 | } |
| 181 | menu.addSeparator(); | 169 | menu.addSeparator(); |
| 182 | { | 170 | { |
| 183 | JMenuItem item = new JMenuItem("Export Source..."); | 171 | JMenuItem item = new JMenuItem("Export Source..."); |
| 184 | menu.add(item); | 172 | menu.add(item); |
| 185 | item.addActionListener(event -> { | 173 | item.addActionListener(event -> { |
| 186 | if (this.gui.exportSourceFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | 174 | if (this.gui.exportSourceFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { |
| 187 | this.gui.getController().exportSource(this.gui.exportSourceFileChooser.getSelectedFile()); | 175 | this.gui.getController().exportSource(this.gui.exportSourceFileChooser.getSelectedFile()); |
| 188 | } | 176 | } |
| 189 | }); | 177 | }); |
| 190 | this.exportSourceMenu = item; | 178 | this.exportSourceMenu = item; |
| 191 | } | 179 | } |
| 192 | { | 180 | { |
| 193 | JMenuItem item = new JMenuItem("Export Jar..."); | 181 | JMenuItem item = new JMenuItem("Export Jar..."); |
| 194 | menu.add(item); | 182 | menu.add(item); |
| 195 | item.addActionListener(event -> { | 183 | item.addActionListener(event -> { |
| 196 | if (this.gui.exportJarFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | 184 | if (this.gui.exportJarFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { |
| 197 | this.gui.getController().exportJar(this.gui.exportJarFileChooser.getSelectedFile()); | 185 | this.gui.getController().exportJar(this.gui.exportJarFileChooser.getSelectedFile()); |
| 198 | } | 186 | } |
| 199 | }); | 187 | }); |
| 200 | this.exportJarMenu = item; | 188 | this.exportJarMenu = item; |
| 201 | } | 189 | } |
| 202 | menu.addSeparator(); | 190 | menu.addSeparator(); |
| 203 | { | 191 | { |
| 204 | JMenuItem item = new JMenuItem("Exit"); | 192 | JMenuItem item = new JMenuItem("Exit"); |
| 205 | menu.add(item); | 193 | menu.add(item); |
| 206 | item.addActionListener(event -> this.gui.close()); | 194 | item.addActionListener(event -> this.gui.close()); |
| 207 | } | 195 | } |
| 208 | } | 196 | } |
| 209 | { | 197 | { |
| 210 | JMenu menu = new JMenu("Help"); | 198 | JMenu menu = new JMenu("Help"); |
| 211 | this.add(menu); | 199 | this.add(menu); |
| 212 | { | 200 | { |
| 213 | JMenuItem item = new JMenuItem("About"); | 201 | JMenuItem item = new JMenuItem("About"); |
| 214 | menu.add(item); | 202 | menu.add(item); |
| 215 | item.addActionListener(event -> AboutDialog.show(this.gui.getFrame())); | 203 | item.addActionListener(event -> AboutDialog.show(this.gui.getFrame())); |
| 216 | } | 204 | } |
| 217 | } | 205 | } |
| 218 | } | 206 | } |
| 219 | } | 207 | } |
diff --git a/src/main/java/cuchaz/enigma/gui/elements/PopupMenuBar.java b/src/main/java/cuchaz/enigma/gui/elements/PopupMenuBar.java index e387ed3..2f6d96c 100644 --- a/src/main/java/cuchaz/enigma/gui/elements/PopupMenuBar.java +++ b/src/main/java/cuchaz/enigma/gui/elements/PopupMenuBar.java | |||
| @@ -1,79 +1,76 @@ | |||
| 1 | package cuchaz.enigma.gui.elements; | 1 | package cuchaz.enigma.gui.elements; |
| 2 | 2 | ||
| 3 | import java.awt.event.KeyEvent; | ||
| 4 | |||
| 5 | import javax.swing.JMenuItem; | ||
| 6 | import javax.swing.JPopupMenu; | ||
| 7 | import javax.swing.KeyStroke; | ||
| 8 | |||
| 9 | import cuchaz.enigma.gui.Gui; | 3 | import cuchaz.enigma.gui.Gui; |
| 10 | 4 | ||
| 5 | import javax.swing.*; | ||
| 6 | import java.awt.event.KeyEvent; | ||
| 7 | |||
| 11 | public class PopupMenuBar extends JPopupMenu { | 8 | public class PopupMenuBar extends JPopupMenu { |
| 12 | 9 | ||
| 13 | public final JMenuItem renameMenu; | 10 | public final JMenuItem renameMenu; |
| 14 | public final JMenuItem showInheritanceMenu; | 11 | public final JMenuItem showInheritanceMenu; |
| 15 | public final JMenuItem showImplementationsMenu; | 12 | public final JMenuItem showImplementationsMenu; |
| 16 | public final JMenuItem showCallsMenu; | 13 | public final JMenuItem showCallsMenu; |
| 17 | public final JMenuItem openEntryMenu; | 14 | public final JMenuItem openEntryMenu; |
| 18 | public final JMenuItem openPreviousMenu; | 15 | public final JMenuItem openPreviousMenu; |
| 19 | public final JMenuItem toggleMappingMenu; | 16 | public final JMenuItem toggleMappingMenu; |
| 20 | 17 | ||
| 21 | public PopupMenuBar(Gui gui) { | 18 | public PopupMenuBar(Gui gui) { |
| 22 | { | 19 | { |
| 23 | JMenuItem menu = new JMenuItem("Rename"); | 20 | JMenuItem menu = new JMenuItem("Rename"); |
| 24 | menu.addActionListener(event -> gui.startRename()); | 21 | menu.addActionListener(event -> gui.startRename()); |
| 25 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, 0)); | 22 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, 0)); |
| 26 | menu.setEnabled(false); | 23 | menu.setEnabled(false); |
| 27 | this.add(menu); | 24 | this.add(menu); |
| 28 | this.renameMenu = menu; | 25 | this.renameMenu = menu; |
| 29 | } | 26 | } |
| 30 | { | 27 | { |
| 31 | JMenuItem menu = new JMenuItem("Show Inheritance"); | 28 | JMenuItem menu = new JMenuItem("Show Inheritance"); |
| 32 | menu.addActionListener(event -> gui.showInheritance()); | 29 | menu.addActionListener(event -> gui.showInheritance()); |
| 33 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I, 0)); | 30 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I, 0)); |
| 34 | menu.setEnabled(false); | 31 | menu.setEnabled(false); |
| 35 | this.add(menu); | 32 | this.add(menu); |
| 36 | this.showInheritanceMenu = menu; | 33 | this.showInheritanceMenu = menu; |
| 37 | } | 34 | } |
| 38 | { | 35 | { |
| 39 | JMenuItem menu = new JMenuItem("Show Implementations"); | 36 | JMenuItem menu = new JMenuItem("Show Implementations"); |
| 40 | menu.addActionListener(event -> gui.showImplementations()); | 37 | menu.addActionListener(event -> gui.showImplementations()); |
| 41 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, 0)); | 38 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, 0)); |
| 42 | menu.setEnabled(false); | 39 | menu.setEnabled(false); |
| 43 | this.add(menu); | 40 | this.add(menu); |
| 44 | this.showImplementationsMenu = menu; | 41 | this.showImplementationsMenu = menu; |
| 45 | } | 42 | } |
| 46 | { | 43 | { |
| 47 | JMenuItem menu = new JMenuItem("Show Calls"); | 44 | JMenuItem menu = new JMenuItem("Show Calls"); |
| 48 | menu.addActionListener(event -> gui.showCalls()); | 45 | menu.addActionListener(event -> gui.showCalls()); |
| 49 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, 0)); | 46 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, 0)); |
| 50 | menu.setEnabled(false); | 47 | menu.setEnabled(false); |
| 51 | this.add(menu); | 48 | this.add(menu); |
| 52 | this.showCallsMenu = menu; | 49 | this.showCallsMenu = menu; |
| 53 | } | 50 | } |
| 54 | { | 51 | { |
| 55 | JMenuItem menu = new JMenuItem("Go to Declaration"); | 52 | JMenuItem menu = new JMenuItem("Go to Declaration"); |
| 56 | menu.addActionListener(event -> gui.navigateTo(gui.reference.entry)); | 53 | menu.addActionListener(event -> gui.navigateTo(gui.reference.entry)); |
| 57 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, 0)); | 54 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, 0)); |
| 58 | menu.setEnabled(false); | 55 | menu.setEnabled(false); |
| 59 | this.add(menu); | 56 | this.add(menu); |
| 60 | this.openEntryMenu = menu; | 57 | this.openEntryMenu = menu; |
| 61 | } | 58 | } |
| 62 | { | 59 | { |
| 63 | JMenuItem menu = new JMenuItem("Go to previous"); | 60 | JMenuItem menu = new JMenuItem("Go to previous"); |
| 64 | menu.addActionListener(event -> gui.getController().openPreviousReference()); | 61 | menu.addActionListener(event -> gui.getController().openPreviousReference()); |
| 65 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, 0)); | 62 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, 0)); |
| 66 | menu.setEnabled(false); | 63 | menu.setEnabled(false); |
| 67 | this.add(menu); | 64 | this.add(menu); |
| 68 | this.openPreviousMenu = menu; | 65 | this.openPreviousMenu = menu; |
| 69 | } | 66 | } |
| 70 | { | 67 | { |
| 71 | JMenuItem menu = new JMenuItem("Mark as deobfuscated"); | 68 | JMenuItem menu = new JMenuItem("Mark as deobfuscated"); |
| 72 | menu.addActionListener(event -> gui.toggleMapping()); | 69 | menu.addActionListener(event -> gui.toggleMapping()); |
| 73 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, 0)); | 70 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, 0)); |
| 74 | menu.setEnabled(false); | 71 | menu.setEnabled(false); |
| 75 | this.add(menu); | 72 | this.add(menu); |
| 76 | this.toggleMappingMenu = menu; | 73 | this.toggleMappingMenu = menu; |
| 77 | } | 74 | } |
| 78 | } | 75 | } |
| 79 | } | 76 | } |