• 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

Revision38 (tree)
Time2014-05-20 22:39:16
Authoryu-tang

Log Message

透過除外 UI パーツの管理を文字列から enum に移行

Change Summary

Incremental Difference

--- trunk/src/jp/sourceforge/users/yutang/omegat/plugin/moenizer/effect/SimpleImage.java (revision 37)
+++ trunk/src/jp/sourceforge/users/yutang/omegat/plugin/moenizer/effect/SimpleImage.java (revision 38)
@@ -22,6 +22,7 @@
2222 import java.net.MalformedURLException;
2323 import java.net.URL;
2424 import java.util.ArrayList;
25+import java.util.EnumSet;
2526 import java.util.List;
2627 import java.util.Map;
2728 import java.util.logging.Level;
@@ -28,6 +29,7 @@
2829 import java.util.logging.Logger;
2930 import javax.imageio.ImageIO;
3031 import jp.sourceforge.users.yutang.omegat.plugin.moenizer.MoeUI;
32+import jp.sourceforge.users.yutang.omegat.plugin.moenizer.MoeUI.Parts;
3133 import org.omegat.util.Log;
3234
3335 /**
@@ -75,24 +77,15 @@
7577 return;
7678 }
7779
78- if (exclude.contains("menubar")) {
79- ui.setMakeTransparentMenubar(false);
80+ EnumSet<Parts> excludeParts = EnumSet.noneOf(Parts.class);
81+ for (Parts part: EnumSet.allOf(Parts.class)) {
82+ if (exclude.contains(part.name())) {
83+ excludeParts.add(part);
84+ }
8085 }
8186
82- if (exclude.contains("statusbar")) {
83- ui.setMakeTransparentStatusbar(false);
84- }
85-
86- if (exclude.contains("buttonpanel")) {
87- ui.setMakeTransparentButtonPanel(false);
88- }
89-
90- if (exclude.contains("panetitlebar")) {
91- ui.setMakeTransparentPaneTitlebar(false);
92- }
93-
94- String lcased = image.toLowerCase();
9587 try {
88+ String lcased = image.toLowerCase();
9689 if (lcased.startsWith("http://") || lcased.startsWith("https://")) {
9790 ui.setBackground(ImageIO.read(new URL(image)));
9891 } else {
@@ -104,7 +97,7 @@
10497 Log.log(ex.getMessage());
10598 }
10699
107- ui.transparent();
100+ ui.transparent(excludeParts);
108101 //@@TODO transparentEditor
109102 //@@TODO opacity
110103 }
--- trunk/src/jp/sourceforge/users/yutang/omegat/plugin/moenizer/MoeUI.java (revision 37)
+++ trunk/src/jp/sourceforge/users/yutang/omegat/plugin/moenizer/MoeUI.java (revision 38)
@@ -30,6 +30,7 @@
3030 import java.awt.Graphics;
3131 import java.awt.SystemColor;
3232 import java.awt.image.BufferedImage;
33+import java.util.EnumSet;
3334 import javax.swing.JComponent;
3435 import javax.swing.JEditorPane;
3536 import javax.swing.JFrame;
@@ -60,6 +61,10 @@
6061 private boolean makeTransparentStatusbar = true;
6162 private boolean makeTransparentPaneTitlebar = true;
6263
64+ public enum Parts {
65+ MenuBar, StatusBar, ButtonPanel, PaneTitleBar
66+ }
67+
6368 static {
6469 moeUI = null;
6570 }
@@ -78,7 +83,18 @@
7883 return moeUI;
7984 }
8085
81- public void transparent() {
86+ public void transparent(EnumSet<Parts> exclude) {
87+ if (exclude != null) {
88+ makeTransparentMenubar = exclude.contains(Parts.MenuBar);
89+ makeTransparentButtonPanel = exclude.contains(Parts.ButtonPanel);
90+ makeTransparentStatusbar = exclude.contains(Parts.StatusBar);
91+ makeTransparentPaneTitlebar = exclude.contains(Parts.PaneTitleBar);
92+ }
93+
94+ transparent();
95+ }
96+
97+ private void transparent() {
8298 UIThreadsUtil.mustBeSwingThread();
8399
84100 if (makeTransparentMenubar) {
@@ -155,22 +171,6 @@
155171 });
156172 }
157173
158- public void setMakeTransparentMenubar(boolean makeTransparentMenubar) {
159- this.makeTransparentMenubar = makeTransparentMenubar;
160- }
161-
162- public void setMakeTransparentButtonPanel(boolean makeTransparentButtonPanel) {
163- this.makeTransparentButtonPanel = makeTransparentButtonPanel;
164- }
165-
166- public void setMakeTransparentStatusbar(boolean makeTransparentStatusbar) {
167- this.makeTransparentStatusbar = makeTransparentStatusbar;
168- }
169-
170- public void setMakeTransparentPaneTitlebar(boolean makeTransparentPaneTitlebar) {
171- this.makeTransparentPaneTitlebar = makeTransparentPaneTitlebar;
172- }
173-
174174 private void initUI() {
175175 frame = Core.getMainWindow().getApplicationFrame();
176176 layeredPane = new MoeLayeredPane();