diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/QuickFindAction.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/QuickFindAction.java | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/QuickFindAction.java b/src/main/java/cuchaz/enigma/gui/QuickFindAction.java deleted file mode 100644 index b7fa2eb..0000000 --- a/src/main/java/cuchaz/enigma/gui/QuickFindAction.java +++ /dev/null | |||
| @@ -1,45 +0,0 @@ | |||
| 1 | package cuchaz.enigma.gui; | ||
| 2 | |||
| 3 | import de.sciss.syntaxpane.SyntaxDocument; | ||
| 4 | import de.sciss.syntaxpane.actions.DefaultSyntaxAction; | ||
| 5 | |||
| 6 | import javax.swing.text.JTextComponent; | ||
| 7 | import java.awt.event.ActionEvent; | ||
| 8 | |||
| 9 | public final class QuickFindAction extends DefaultSyntaxAction { | ||
| 10 | public QuickFindAction() { | ||
| 11 | super("quick-find"); | ||
| 12 | } | ||
| 13 | |||
| 14 | @Override | ||
| 15 | public void actionPerformed(JTextComponent target, SyntaxDocument document, int dot, ActionEvent event) { | ||
| 16 | Data data = Data.get(target); | ||
| 17 | data.showFindDialog(target); | ||
| 18 | } | ||
| 19 | |||
| 20 | private static class Data { | ||
| 21 | private static final String KEY = "enigma-find-data"; | ||
| 22 | private EnigmaQuickFindDialog findDialog; | ||
| 23 | |||
| 24 | private Data() { | ||
| 25 | } | ||
| 26 | |||
| 27 | public static Data get(JTextComponent target) { | ||
| 28 | Object o = target.getDocument().getProperty(KEY); | ||
| 29 | if (o instanceof Data) { | ||
| 30 | return (Data) o; | ||
| 31 | } | ||
| 32 | |||
| 33 | Data data = new Data(); | ||
| 34 | target.getDocument().putProperty(KEY, data); | ||
| 35 | return data; | ||
| 36 | } | ||
| 37 | |||
| 38 | public void showFindDialog(JTextComponent target) { | ||
| 39 | if (findDialog == null) { | ||
| 40 | findDialog = new EnigmaQuickFindDialog(target); | ||
| 41 | } | ||
| 42 | findDialog.showFor(target); | ||
| 43 | } | ||
| 44 | } | ||
| 45 | } | ||