diff options
| author | 2019-12-02 15:43:23 +0200 | |
|---|---|---|
| committer | 2019-12-02 13:43:23 +0000 | |
| commit | a9e03fa0e75b5b338021de982acbbb8277e08706 (patch) | |
| tree | 94233d173c5937584a3376895bf864fb24697a8c /src/main/java/cuchaz/enigma/gui/dialog | |
| parent | Correctly decompile bridges, and add command to add bridges to mappings (#180) (diff) | |
| download | enigma-fork-a9e03fa0e75b5b338021de982acbbb8277e08706.tar.gz enigma-fork-a9e03fa0e75b5b338021de982acbbb8277e08706.tar.xz enigma-fork-a9e03fa0e75b5b338021de982acbbb8277e08706.zip | |
Allow attaching class, method, field, and parameter javadocs (#185)
* bring liach pr to modern enigma
* bump version
* fuck off vscode
* switch to COMMENT and write comments before
* it was already after, what do you want
* oops
* put inner classes at the end
* remove indents and use all caps
* add refreshmappings command
* Update src/main/java/cuchaz/enigma/translation/mapping/serde/EnigmaMappingsWriter.java
* Delete RefreshEnigmaMappingsCommand.java
* Update CommandMain.java
* ok
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/dialog')
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java b/src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java new file mode 100644 index 0000000..84e4d8f --- /dev/null +++ b/src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java | |||
| @@ -0,0 +1,88 @@ | |||
| 1 | /******************************************************************************* | ||
| 2 | * Copyright (c) 2015 Jeff Martin. | ||
| 3 | * All rights reserved. This program and the accompanying materials | ||
| 4 | * are made available under the terms of the GNU Lesser General Public | ||
| 5 | * License v3.0 which accompanies this distribution, and is available at | ||
| 6 | * http://www.gnu.org/licenses/lgpl.html | ||
| 7 | * <p> | ||
| 8 | * Contributors: | ||
| 9 | * Jeff Martin - initial API and implementation | ||
| 10 | ******************************************************************************/ | ||
| 11 | |||
| 12 | package cuchaz.enigma.gui.dialog; | ||
| 13 | |||
| 14 | import cuchaz.enigma.utils.Utils; | ||
| 15 | |||
| 16 | import javax.swing.*; | ||
| 17 | import java.awt.*; | ||
| 18 | import java.awt.event.KeyAdapter; | ||
| 19 | import java.awt.event.KeyEvent; | ||
| 20 | |||
| 21 | public class JavadocDialog { | ||
| 22 | |||
| 23 | private static JavadocDialog instance = null; | ||
| 24 | |||
| 25 | private JFrame frame; | ||
| 26 | |||
| 27 | private JavadocDialog(JFrame parent, JTextArea text, Callback callback) { | ||
| 28 | // init frame | ||
| 29 | frame = new JFrame("Edit Javadocs"); | ||
| 30 | final Container pane = frame.getContentPane(); | ||
| 31 | pane.setLayout(new BorderLayout()); | ||
| 32 | |||
| 33 | // editor panel | ||
| 34 | text.setTabSize(2); | ||
| 35 | pane.add(new JScrollPane(text), BorderLayout.CENTER); | ||
| 36 | text.addKeyListener(new KeyAdapter() { | ||
| 37 | @Override | ||
| 38 | public void keyPressed(KeyEvent event) { | ||
| 39 | switch (event.getKeyCode()) { | ||
| 40 | case KeyEvent.VK_ENTER: | ||
| 41 | if (event.isControlDown()) | ||
| 42 | callback.closeUi(frame, true); | ||
| 43 | break; | ||
| 44 | case KeyEvent.VK_ESCAPE: | ||
| 45 | callback.closeUi(frame, false); | ||
| 46 | break; | ||
| 47 | default: | ||
| 48 | break; | ||
| 49 | } | ||
| 50 | } | ||
| 51 | }); | ||
| 52 | |||
| 53 | // buttons panel | ||
| 54 | JPanel buttonsPanel = new JPanel(); | ||
| 55 | FlowLayout buttonsLayout = new FlowLayout(); | ||
| 56 | buttonsLayout.setAlignment(FlowLayout.RIGHT); | ||
| 57 | buttonsPanel.setLayout(buttonsLayout); | ||
| 58 | buttonsPanel.add(Utils.unboldLabel(new JLabel("Edit javadocs here."))); | ||
| 59 | JButton cancelButton = new JButton("Cancel"); | ||
| 60 | cancelButton.addActionListener(event -> { | ||
| 61 | // close (hide) the dialog | ||
| 62 | callback.closeUi(frame, false); | ||
| 63 | }); | ||
| 64 | buttonsPanel.add(cancelButton); | ||
| 65 | JButton saveButton = new JButton("Save"); | ||
| 66 | saveButton.addActionListener(event -> { | ||
| 67 | // exit enigma | ||
| 68 | callback.closeUi(frame, true); | ||
| 69 | }); | ||
| 70 | buttonsPanel.add(saveButton); | ||
| 71 | pane.add(buttonsPanel, BorderLayout.SOUTH); | ||
| 72 | |||
| 73 | // show the frame | ||
| 74 | frame.setSize(600, 400); | ||
| 75 | frame.setLocationRelativeTo(parent); | ||
| 76 | frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); | ||
| 77 | } | ||
| 78 | |||
| 79 | public static void init(JFrame parent, JTextArea area, Callback callback) { | ||
| 80 | instance = new JavadocDialog(parent, area, callback); | ||
| 81 | instance.frame.doLayout(); | ||
| 82 | instance.frame.setVisible(true); | ||
| 83 | } | ||
| 84 | |||
| 85 | public interface Callback { | ||
| 86 | void closeUi(JFrame frame, boolean save); | ||
| 87 | } | ||
| 88 | } | ||