summaryrefslogtreecommitdiffstats
path: root/JLanguageTool/src/java/de/danielnaber/languagetool/gui/MainMenuBar.java
diff options
context:
space:
mode:
Diffstat (limited to 'JLanguageTool/src/java/de/danielnaber/languagetool/gui/MainMenuBar.java')
-rw-r--r--JLanguageTool/src/java/de/danielnaber/languagetool/gui/MainMenuBar.java170
1 files changed, 170 insertions, 0 deletions
diff --git a/JLanguageTool/src/java/de/danielnaber/languagetool/gui/MainMenuBar.java b/JLanguageTool/src/java/de/danielnaber/languagetool/gui/MainMenuBar.java
new file mode 100644
index 0000000..72e3191
--- /dev/null
+++ b/JLanguageTool/src/java/de/danielnaber/languagetool/gui/MainMenuBar.java
@@ -0,0 +1,170 @@
+/* LanguageTool, a natural language style checker
+ * Copyright (C) 2005 Daniel Naber (http://www.danielnaber.de)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
+ * USA
+ */
+package de.danielnaber.languagetool.gui;
+
+import java.awt.Event;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
+import java.util.ResourceBundle;
+
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
+import javax.swing.JOptionPane;
+import javax.swing.KeyStroke;
+
+import de.danielnaber.languagetool.tools.StringTools;
+
+/**
+ * The menu bar of the main dialog.
+ *
+ * @author Daniel Naber
+ */
+class MainMenuBar extends JMenuBar implements ActionListener {
+
+ private static final long serialVersionUID = -7160998682243081767L;
+
+ private final ResourceBundle messages;
+
+ // File:
+ private String openText;
+ private String checkClipboardText;
+ private String dockToTrayText;
+ private String addLanguageText;
+ private String optionsText;
+ private String quitText;
+ // Help:
+ private String aboutText;
+
+ private final Main prg;
+ private JMenu fileMenu;
+ private JMenu helpMenu;
+
+ MainMenuBar(Main prg, ResourceBundle messages) {
+ this.prg = prg;
+ this.messages = messages;
+ initStrings();
+ fileMenu.setMnemonic(StringTools.getMnemonic(
+ messages.getString("guiMenuFile")));
+ helpMenu.setMnemonic(StringTools.getMnemonic(
+ messages.getString("guiMenuHelp")));
+ // "Open":
+ final JMenuItem openItem = new JMenuItem(openText);
+ openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, Event.CTRL_MASK));
+ openItem.setMnemonic(StringTools.getMnemonic(
+ messages.getString("guiMenuOpen")));
+ openItem.addActionListener(this);
+ fileMenu.add(openItem);
+ // "Check Text in Clipboard":
+ final JMenuItem checkClipboardItem = new JMenuItem(checkClipboardText);
+ checkClipboardItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y, Event.CTRL_MASK));
+ checkClipboardItem.setMnemonic(StringTools.getMnemonic(
+ messages.getString("guiMenuCheckClipboard")));
+ checkClipboardItem.addActionListener(this);
+ fileMenu.add(checkClipboardItem);
+ // "Hide to System Tray":
+ final JMenuItem dockToTrayItem = new JMenuItem(dockToTrayText);
+ dockToTrayItem.setMnemonic(StringTools.getMnemonic(
+ messages.getString("guiMenuHide")));
+ dockToTrayItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, Event.CTRL_MASK));
+ dockToTrayItem.addActionListener(this);
+ fileMenu.add(dockToTrayItem);
+ // "Add Language":
+ final JMenuItem addLanguageItem = new JMenuItem(addLanguageText);
+ addLanguageItem.setMnemonic(StringTools.getMnemonic(
+ messages.getString("guiMenuAddRules")));
+ addLanguageItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, Event.CTRL_MASK));
+ addLanguageItem.addActionListener(this);
+ fileMenu.add(addLanguageItem);
+ // "Options":
+ final JMenuItem optionsItem = new JMenuItem(optionsText);
+ optionsItem.setMnemonic(StringTools.getMnemonic(
+ messages.getString("guiMenuOptions")));
+ optionsItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.CTRL_MASK));
+ optionsItem.addActionListener(this);
+ fileMenu.add(optionsItem);
+ // "Quit":
+ final JMenuItem quitItem = new JMenuItem(quitText);
+ quitItem.setMnemonic(StringTools.getMnemonic(
+ messages.getString("guiMenuQuit")));
+ quitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, Event.CTRL_MASK));
+ quitItem.addActionListener(this);
+ fileMenu.add(quitItem);
+ // "About":
+ final JMenuItem helpItem = new JMenuItem(aboutText);
+ helpItem.addActionListener(this);
+ helpItem.setMnemonic(StringTools.getMnemonic(
+ messages.getString("guiMenuAbout")));
+ helpMenu.add(helpItem);
+ // add menus:
+ add(fileMenu);
+ add(helpMenu);
+ }
+
+ private void initStrings() {
+ fileMenu = new JMenu(StringTools.getLabel(
+ messages.getString("guiMenuFile")));
+ helpMenu = new JMenu(StringTools.getLabel(
+ messages.getString("guiMenuHelp")));
+ // File:
+ openText = StringTools.getLabel(
+ messages.getString("guiMenuOpen"));
+ checkClipboardText = StringTools.getLabel(
+ messages.getString("guiMenuCheckClipboard"));
+ dockToTrayText = StringTools.getLabel(
+ messages.getString("guiMenuHide"));
+ addLanguageText = StringTools.getLabel(
+ messages.getString("guiMenuAddRules"));
+ optionsText = StringTools.getLabel(
+ messages.getString("guiMenuOptions"));
+ quitText = StringTools.getLabel(
+ messages.getString("guiMenuQuit"));
+ // Help:
+ aboutText = StringTools.getLabel(
+ messages.getString("guiMenuAbout"));
+ }
+
+ public void actionPerformed(ActionEvent e) {
+ if (e.getActionCommand().equals(openText)) {
+ prg.loadFile();
+ } else if (e.getActionCommand().equals(checkClipboardText)) {
+ prg.checkClipboardText();
+ } else if (e.getActionCommand().equals(dockToTrayText)) {
+ try {
+ prg.hideToTray();
+ } catch (MissingJdicException ex) {
+ JOptionPane.showMessageDialog(null, ex.getMessage(), "Error",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ } else if (e.getActionCommand().equals(addLanguageText)) {
+ prg.addLanguage();
+ } else if (e.getActionCommand().equals(optionsText)) {
+ prg.showOptions();
+ } else if (e.getActionCommand().equals(quitText)) {
+ prg.quit();
+ } else if (e.getActionCommand().equals(aboutText)) {
+ final AboutDialog about = new AboutDialog(messages);
+ about.show();
+ } else {
+ throw new IllegalArgumentException("Unknown action " + e);
+ }
+ }
+
+}