• R/O
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

OmegaT の背景に画像を表示します。


Commit MetaInfo

Revision72 (tree)
Time2014-06-01 20:35:32
Authoryu-tang

Log Message

メニュー用のクラスを追加

Change Summary

Incremental Difference

--- trunk/src/jp/sourceforge/users/yutang/omegat/plugin/moenizer/MenuHandler.java (nonexistent)
+++ trunk/src/jp/sourceforge/users/yutang/omegat/plugin/moenizer/MenuHandler.java (revision 72)
@@ -0,0 +1,89 @@
1+/**************************************************************************
2+ Moenizer - Allow to set background image for OmegaT.
3+
4+ Copyright (C) 2014 Yu Tang
5+ Home page: http://sourceforge.jp/users/yu-tang/
6+ Support center: http://sourceforge.jp/users/yu-tang/pf/Moenizer/
7+
8+ This file is part of plugin for OmegaT.
9+ http://www.omegat.org/
10+
11+ License: GNU GPL version 3 or (at your option) any later version.
12+
13+ You should have received a copy of the GNU General Public License
14+ along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ **************************************************************************/
16+
17+package jp.sourceforge.users.yutang.omegat.plugin.moenizer;
18+
19+import java.awt.Component;
20+import java.awt.event.ActionEvent;
21+import java.awt.event.ActionListener;
22+import javax.swing.JMenu;
23+import javax.swing.JMenuItem;
24+import org.omegat.core.Core;
25+import org.omegat.util.Log;
26+import org.openide.awt.Mnemonics;
27+
28+/**
29+ *
30+ * @author Yu Tang
31+ */
32+public class MenuHandler implements ActionListener {
33+
34+ private final String ACTION_COMMAND_NAME = "optionsMoenizerMenuItem";
35+
36+ private JMenuItem menuMoenizer = null;
37+ private final Runnable runner;
38+
39+ public MenuHandler(Runnable runner) {
40+ this.runner = runner;
41+ this.menuMoenizer = getMoenizerMenu();
42+ }
43+
44+ private JMenuItem getMoenizerMenu() {
45+ JMenu optionsMenu = Core.getMainWindow().getMainMenu().getOptionsMenu();
46+
47+ // Check if setting menu item for Moenizer exists
48+ Component[] menuComponents = optionsMenu.getMenuComponents();
49+ for (Component c : menuComponents) {
50+ if (c instanceof JMenuItem) {
51+ JMenuItem m = (JMenuItem) c;
52+ if (ACTION_COMMAND_NAME.equals(m.getActionCommand())) {
53+ return m;
54+ }
55+ }
56+ }
57+
58+ // Create menu item and add it to the parent menu
59+ JMenuItem item = createMenuItem("Moenizer");
60+ return optionsMenu.add(item);
61+ }
62+
63+ @Override
64+ public void actionPerformed(ActionEvent e) {
65+ // Logging user action
66+ Log.logInfoRB("LOG_MENU_CLICK", ACTION_COMMAND_NAME);
67+
68+ // run action
69+ if (runner != null) {
70+ runner.run();
71+ }
72+ }
73+
74+ /**
75+ * Create menu item instance and set title.
76+ *
77+ * @param titleKey
78+ * title name key in resource bundle
79+ * @return menu item instance
80+ */
81+ private JMenuItem createMenuItem(final String titleKey) { //@@TODO move to L10n
82+ JMenuItem result = new JMenuItem();
83+ Mnemonics.setLocalizedText(result, titleKey); //@@TODO move to L10n
84+ result.setActionCommand(ACTION_COMMAND_NAME);
85+ result.addActionListener(this);
86+ return result;
87+ }
88+
89+}
--- trunk/src/jp/sourceforge/users/yutang/omegat/plugin/moenizer/Moenizer.java (revision 71)
+++ trunk/src/jp/sourceforge/users/yutang/omegat/plugin/moenizer/Moenizer.java (revision 72)
@@ -34,6 +34,7 @@
3434 private MoeUI ui;
3535 private MoeConfig config;
3636 private ThemeChanger themeChanger;
37+ private MenuHandler menu;
3738
3839 public static void loadPlugins() {
3940 try {
@@ -60,6 +61,7 @@
6061 try {
6162 config = new MoeConfig(MoeUtil.getMoeConfigFile());
6263 ui = MoeUI.getInstance();
64+ menu = new MenuHandler(null);
6365 themeChanger = new ThemeChanger(ui);
6466 themeChanger.setTheme(config.getCurrentConfig());
6567