-/*\r
- * dialog preference panel\r
- *\r
- * Copyright(c) 2009 olyutorskii\r
- * $Id: DialogPrefPanel.java 977 2010-01-02 15:54:12Z olyutorskii $\r
- */\r
-\r
-package jp.sourceforge.jindolf;\r
-\r
-import java.awt.Container;\r
-import java.awt.GridBagConstraints;\r
-import java.awt.GridBagLayout;\r
-import java.awt.Insets;\r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
-import java.awt.event.ItemEvent;\r
-import java.awt.event.ItemListener;\r
-import javax.swing.BorderFactory;\r
-import javax.swing.JButton;\r
-import javax.swing.JCheckBox;\r
-import javax.swing.JComponent;\r
-import javax.swing.JPanel;\r
-import javax.swing.border.Border;\r
-\r
-/**\r
- * 発言表示の各種設定パネル。\r
- */\r
-@SuppressWarnings("serial")\r
-public class DialogPrefPanel\r
- extends JPanel\r
- implements ActionListener,\r
- ItemListener {\r
-\r
- private final JCheckBox useBodyImage = new JCheckBox("デカキャラモード");\r
- private final JCheckBox useMonoImage =\r
- new JCheckBox("墓石を遺影に置き換える");\r
- private final JCheckBox isSimpleMode =\r
- new JCheckBox("シンプル表示モード");\r
- private final JCheckBox alignBaloon =\r
- new JCheckBox("フキダシ幅を揃える");\r
- private final JButton resetDefault = new JButton("出荷時に戻す");\r
-\r
- /**\r
- * コンストラクタ。\r
- */\r
- public DialogPrefPanel(){\r
- this.resetDefault.addActionListener(this);\r
- this.isSimpleMode.addItemListener(this);\r
-\r
- design(this);\r
- modifyGUIState();\r
-\r
- return;\r
- }\r
-\r
- /**\r
- * レイアウトを行う。\r
- * @param content コンテナ\r
- */\r
- private void design(Container content){\r
- GridBagLayout layout = new GridBagLayout();\r
- GridBagConstraints constraints = new GridBagConstraints();\r
-\r
- content.setLayout(layout);\r
-\r
- constraints.insets = new Insets(2, 2, 2, 2);\r
-\r
- constraints.weightx = 0.0;\r
- constraints.gridwidth = GridBagConstraints.REMAINDER;\r
- constraints.fill = GridBagConstraints.NONE;\r
- constraints.anchor = GridBagConstraints.NORTHWEST;\r
-\r
- content.add(this.isSimpleMode, constraints);\r
- content.add(this.alignBaloon, constraints);\r
- content.add(buildIconPanel(), constraints);\r
-\r
- constraints.weightx = 1.0;\r
- constraints.weighty = 1.0;\r
- constraints.fill = GridBagConstraints.NONE;\r
- constraints.anchor = GridBagConstraints.SOUTHEAST;\r
- content.add(this.resetDefault, constraints);\r
-\r
- return;\r
- }\r
-\r
- /**\r
- * アイコン設定パネルを生成する。\r
- * @return アイコン設定パネル\r
- */\r
- private JComponent buildIconPanel(){\r
- JPanel result = new JPanel();\r
-\r
- GridBagLayout layout = new GridBagLayout();\r
- GridBagConstraints constraints = new GridBagConstraints();\r
- result.setLayout(layout);\r
-\r
- constraints.insets = new Insets(1, 1, 1, 1);\r
-\r
- constraints.weightx = 0.0;\r
- constraints.gridwidth = GridBagConstraints.REMAINDER;\r
- constraints.fill = GridBagConstraints.NONE;\r
- constraints.anchor = GridBagConstraints.NORTHWEST;\r
-\r
- result.add(this.useBodyImage, constraints);\r
- result.add(this.useMonoImage, constraints);\r
-\r
- Border border = BorderFactory.createTitledBorder("アイコン表示");\r
- result.setBorder(border);\r
-\r
- return result;\r
- }\r
-\r
- /**\r
- * GUI間の一貫性を維持する。\r
- */\r
- private void modifyGUIState(){\r
- if(this.isSimpleMode.isSelected()){\r
- this.useBodyImage.setEnabled(false);\r
- this.useMonoImage.setEnabled(false);\r
- this.alignBaloon .setEnabled(false);\r
- }else{\r
- this.useBodyImage.setEnabled(true);\r
- this.useMonoImage.setEnabled(true);\r
- this.alignBaloon .setEnabled(true);\r
- }\r
-\r
- return;\r
- }\r
-\r
- /**\r
- * デカキャラモードを使うか否か画面の状態を返す。\r
- * @return デカキャラモードを使うならtrue\r
- */\r
- public boolean useBodyImage(){\r
- return this.useBodyImage.isSelected();\r
- }\r
-\r
- /**\r
- * 遺影モードを使うか否か画面の状態を返す。\r
- * @return 遺影モードを使うならtrue\r
- */\r
- public boolean useMonoImage(){\r
- return this.useMonoImage.isSelected();\r
- }\r
-\r
- /**\r
- * シンプル表示モードか否か画面の状態を返す。\r
- * @return シンプル表示モードならtrue\r
- */\r
- public boolean isSimpleMode(){\r
- return this.isSimpleMode.isSelected();\r
- }\r
-\r
- /**\r
- * フキダシ幅を揃えるか否か画面の状態を返す。\r
- * @return フキダシ幅を揃えるならtrue\r
- */\r
- public boolean alignBaloon(){\r
- return this.alignBaloon.isSelected();\r
- }\r
-\r
- /**\r
- * デカキャラモードの設定を行う。\r
- * @param setting 有効にするならtrue\r
- */\r
- public void setBodyImageSetting(boolean setting){\r
- this.useBodyImage.setSelected(setting);\r
- return;\r
- }\r
-\r
- /**\r
- * 遺影モードの設定を行う。\r
- * @param setting 有効にするならtrue\r
- */\r
- public void setMonoImageSetting(boolean setting){\r
- this.useMonoImage.setSelected(setting);\r
- return;\r
- }\r
-\r
- /**\r
- * シンプル表示モードの設定を行う。\r
- * @param setting 有効にするならtrue\r
- */\r
- public void setSimpleModeSetting(boolean setting){\r
- this.isSimpleMode.setSelected(setting);\r
- modifyGUIState();\r
- return;\r
- }\r
-\r
- /**\r
- * フキダシ幅揃えの設定を行う。\r
- * @param setting 有効にするならtrue\r
- */\r
- public void setAlignBaloonSetting(boolean setting){\r
- this.alignBaloon.setSelected(setting);\r
- return;\r
- }\r
-\r
- /**\r
- * 発言表示設定を設定する。\r
- * @param pref 表示設定\r
- */\r
- public void setDialogPref(DialogPref pref){\r
- setBodyImageSetting(pref.useBodyImage());\r
- setMonoImageSetting(pref.useMonoImage());\r
- setSimpleModeSetting(pref.isSimpleMode());\r
- setAlignBaloonSetting(pref.alignBaloonWidth());\r
- modifyGUIState();\r
- return;\r
- }\r
-\r
- /**\r
- * 発言表示設定を返す。\r
- * @return 表示設定\r
- */\r
- public DialogPref getDialogPref(){\r
- DialogPref result = new DialogPref();\r
- result.setBodyImageSetting(useBodyImage());\r
- result.setMonoImageSetting(useMonoImage());\r
- result.setSimpleMode(isSimpleMode());\r
- result.setAlignBalooonWidthSetting(alignBaloon());\r
- return result;\r
- }\r
-\r
- /**\r
- * デフォルトボタン押下処理。\r
- * @param event ボタン押下イベント\r
- */\r
- public void actionPerformed(ActionEvent event){\r
- Object source = event.getSource();\r
- if(source != this.resetDefault) return;\r
- this.useBodyImage.setSelected(false);\r
- this.useMonoImage.setSelected(false);\r
- this.isSimpleMode.setSelected(false);\r
- this.alignBaloon.setSelected(false);\r
- modifyGUIState();\r
- return;\r
- }\r
-\r
- /**\r
- * チェックボックス操作の受信。\r
- * @param event チェックボックス操作イベント\r
- */\r
- public void itemStateChanged(ItemEvent event){\r
- modifyGUIState();\r
- return;\r
- }\r
-\r
-}\r
+/*
+ * dialog preference panel
+ *
+ * License : The MIT License
+ * Copyright(c) 2009 olyutorskii
+ */
+
+package jp.sfjp.jindolf.view;
+
+import java.awt.Container;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComponent;
+import javax.swing.JPanel;
+import javax.swing.border.Border;
+import jp.sfjp.jindolf.data.DialogPref;
+
+/**
+ * 発言表示の各種設定パネル。
+ */
+@SuppressWarnings("serial")
+public class DialogPrefPanel
+ extends JPanel
+ implements ActionListener,
+ ItemListener {
+
+ private final JCheckBox useBodyImage = new JCheckBox("デカキャラモード");
+ private final JCheckBox useMonoImage =
+ new JCheckBox("墓石を遺影に置き換える");
+ private final JCheckBox isSimpleMode =
+ new JCheckBox("シンプル表示モード");
+ private final JCheckBox alignBaloon =
+ new JCheckBox("フキダシ幅を揃える");
+ private final JButton resetDefault = new JButton("出荷時に戻す");
+
+ /**
+ * コンストラクタ。
+ */
+ @SuppressWarnings("LeakingThisInConstructor")
+ public DialogPrefPanel(){
+ super();
+
+ this.resetDefault.addActionListener(this);
+ this.isSimpleMode.addItemListener(this);
+
+ design(this);
+ modifyGUIState();
+
+ return;
+ }
+
+ /**
+ * レイアウトを行う。
+ * @param content コンテナ
+ */
+ private void design(Container content){
+ GridBagLayout layout = new GridBagLayout();
+ GridBagConstraints constraints = new GridBagConstraints();
+
+ content.setLayout(layout);
+
+ constraints.insets = new Insets(2, 2, 2, 2);
+
+ constraints.weightx = 0.0;
+ constraints.gridwidth = GridBagConstraints.REMAINDER;
+ constraints.fill = GridBagConstraints.NONE;
+ constraints.anchor = GridBagConstraints.NORTHWEST;
+
+ content.add(this.isSimpleMode, constraints);
+ content.add(this.alignBaloon, constraints);
+ content.add(buildIconPanel(), constraints);
+
+ constraints.weightx = 1.0;
+ constraints.weighty = 1.0;
+ constraints.fill = GridBagConstraints.NONE;
+ constraints.anchor = GridBagConstraints.SOUTHEAST;
+ content.add(this.resetDefault, constraints);
+
+ return;
+ }
+
+ /**
+ * アイコン設定パネルを生成する。
+ * @return アイコン設定パネル
+ */
+ private JComponent buildIconPanel(){
+ JPanel result = new JPanel();
+
+ GridBagLayout layout = new GridBagLayout();
+ GridBagConstraints constraints = new GridBagConstraints();
+ result.setLayout(layout);
+
+ constraints.insets = new Insets(1, 1, 1, 1);
+
+ constraints.weightx = 0.0;
+ constraints.gridwidth = GridBagConstraints.REMAINDER;
+ constraints.fill = GridBagConstraints.NONE;
+ constraints.anchor = GridBagConstraints.NORTHWEST;
+
+ result.add(this.useBodyImage, constraints);
+ result.add(this.useMonoImage, constraints);
+
+ Border border = BorderFactory.createTitledBorder("アイコン表示");
+ result.setBorder(border);
+
+ return result;
+ }
+
+ /**
+ * GUI間の一貫性を維持する。
+ */
+ private void modifyGUIState(){
+ if(this.isSimpleMode.isSelected()){
+ this.useBodyImage.setEnabled(false);
+ this.useMonoImage.setEnabled(false);
+ this.alignBaloon .setEnabled(false);
+ }else{
+ this.useBodyImage.setEnabled(true);
+ this.useMonoImage.setEnabled(true);
+ this.alignBaloon .setEnabled(true);
+ }
+
+ return;
+ }
+
+ /**
+ * デカキャラモードを使うか否か画面の状態を返す。
+ * @return デカキャラモードを使うならtrue
+ */
+ public boolean useBodyImage(){
+ return this.useBodyImage.isSelected();
+ }
+
+ /**
+ * 遺影モードを使うか否か画面の状態を返す。
+ * @return 遺影モードを使うならtrue
+ */
+ public boolean useMonoImage(){
+ return this.useMonoImage.isSelected();
+ }
+
+ /**
+ * シンプル表示モードか否か画面の状態を返す。
+ * @return シンプル表示モードならtrue
+ */
+ public boolean isSimpleMode(){
+ return this.isSimpleMode.isSelected();
+ }
+
+ /**
+ * フキダシ幅を揃えるか否か画面の状態を返す。
+ * @return フキダシ幅を揃えるならtrue
+ */
+ public boolean alignBaloon(){
+ return this.alignBaloon.isSelected();
+ }
+
+ /**
+ * デカキャラモードの設定を行う。
+ * @param setting 有効にするならtrue
+ */
+ public void setBodyImageSetting(boolean setting){
+ this.useBodyImage.setSelected(setting);
+ return;
+ }
+
+ /**
+ * 遺影モードの設定を行う。
+ * @param setting 有効にするならtrue
+ */
+ public void setMonoImageSetting(boolean setting){
+ this.useMonoImage.setSelected(setting);
+ return;
+ }
+
+ /**
+ * シンプル表示モードの設定を行う。
+ * @param setting 有効にするならtrue
+ */
+ public void setSimpleModeSetting(boolean setting){
+ this.isSimpleMode.setSelected(setting);
+ modifyGUIState();
+ return;
+ }
+
+ /**
+ * フキダシ幅揃えの設定を行う。
+ * @param setting 有効にするならtrue
+ */
+ public void setAlignBaloonSetting(boolean setting){
+ this.alignBaloon.setSelected(setting);
+ return;
+ }
+
+ /**
+ * 発言表示設定を設定する。
+ * @param pref 表示設定
+ */
+ public void setDialogPref(DialogPref pref){
+ setBodyImageSetting(pref.useBodyImage());
+ setMonoImageSetting(pref.useMonoImage());
+ setSimpleModeSetting(pref.isSimpleMode());
+ setAlignBaloonSetting(pref.alignBaloonWidth());
+ modifyGUIState();
+ return;
+ }
+
+ /**
+ * 発言表示設定を返す。
+ * @return 表示設定
+ */
+ public DialogPref getDialogPref(){
+ DialogPref result = new DialogPref();
+ result.setBodyImageSetting(useBodyImage());
+ result.setMonoImageSetting(useMonoImage());
+ result.setSimpleMode(isSimpleMode());
+ result.setAlignBalooonWidthSetting(alignBaloon());
+ return result;
+ }
+
+ /**
+ * デフォルトボタン押下処理。
+ * @param event ボタン押下イベント
+ */
+ @Override
+ public void actionPerformed(ActionEvent event){
+ Object source = event.getSource();
+ if(source != this.resetDefault) return;
+ this.useBodyImage.setSelected(false);
+ this.useMonoImage.setSelected(false);
+ this.isSimpleMode.setSelected(false);
+ this.alignBaloon.setSelected(false);
+ modifyGUIState();
+ return;
+ }
+
+ /**
+ * チェックボックス操作の受信。
+ * @param event チェックボックス操作イベント
+ */
+ @Override
+ public void itemStateChanged(ItemEvent event){
+ modifyGUIState();
+ return;
+ }
+
+}