EPSOptions added
[jalview.git] / src / jalview / gui / EPSOptions.java
1 package jalview.gui;\r
2 \r
3 import javax.swing.*;\r
4 import java.awt.*;\r
5 import java.awt.event.ActionListener;\r
6 import java.awt.event.ActionEvent;\r
7 \r
8 public class EPSOptions\r
9     extends JPanel\r
10 {\r
11   JDialog dialog;\r
12   boolean cancelled = false;\r
13   String value;\r
14 \r
15   public EPSOptions()\r
16   {\r
17     try\r
18     {\r
19       jbInit();\r
20     }\r
21     catch (Exception ex)\r
22     {\r
23       ex.printStackTrace();\r
24     }\r
25 \r
26     ButtonGroup bg = new ButtonGroup();\r
27     bg.add(lineart);\r
28     bg.add(text);\r
29 \r
30     JOptionPane pane = new JOptionPane(null,\r
31         JOptionPane.DEFAULT_OPTION, JOptionPane.DEFAULT_OPTION,\r
32        null, new Object[]{this});\r
33 \r
34     dialog = pane.createDialog(Desktop.desktop, "EPS Rendering options");\r
35     dialog.show();\r
36 \r
37   }\r
38 \r
39   private void jbInit()\r
40       throws Exception\r
41   {\r
42     lineart.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));\r
43     lineart.setSelected(true);\r
44     lineart.setText("Lineart");\r
45     text.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));\r
46     text.setText("Text");\r
47     askAgain.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));\r
48     askAgain.setText("Don\'t ask me again");\r
49     ok.setText("OK");\r
50     ok.addActionListener(new ActionListener()\r
51     {\r
52       public void actionPerformed(ActionEvent e)\r
53       {\r
54         ok_actionPerformed(e);\r
55       }\r
56     });\r
57     cancel.setText("Cancel");\r
58     cancel.addActionListener(new ActionListener()\r
59     {\r
60       public void actionPerformed(ActionEvent e)\r
61       {\r
62         cancel_actionPerformed(e);\r
63       }\r
64     });\r
65     jLabel1.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));\r
66     jLabel1.setText("Select EPS Character rendering style");\r
67     this.setLayout(borderLayout1);\r
68     jPanel3.setBorder(BorderFactory.createEtchedBorder());\r
69     jPanel2.add(lineart);\r
70     jPanel2.add(text);\r
71     jPanel2.add(askAgain);\r
72     jPanel1.add(ok);\r
73     jPanel1.add(cancel);\r
74     jPanel3.add(jLabel1);\r
75     jPanel3.add(jPanel2);\r
76     this.add(jPanel3, java.awt.BorderLayout.CENTER);\r
77     this.add(jPanel1, java.awt.BorderLayout.SOUTH);\r
78   }\r
79 \r
80   JRadioButton lineart = new JRadioButton();\r
81   JRadioButton text = new JRadioButton();\r
82   JCheckBox askAgain = new JCheckBox();\r
83   JButton ok = new JButton();\r
84   JButton cancel = new JButton();\r
85   JPanel jPanel1 = new JPanel();\r
86   JLabel jLabel1 = new JLabel();\r
87   JPanel jPanel2 = new JPanel();\r
88   JPanel jPanel3 = new JPanel();\r
89   BorderLayout borderLayout1 = new BorderLayout();\r
90 \r
91   public void ok_actionPerformed(ActionEvent e)\r
92   {\r
93     if (lineart.isSelected())\r
94       value = "Lineart";\r
95     else\r
96       value = "Text";\r
97 \r
98     if (!askAgain.isSelected())\r
99     {\r
100       jalview.bin.Cache.applicationProperties.remove("EPS_RENDERING");\r
101     }\r
102     else\r
103     {\r
104       jalview.bin.Cache.setProperty("EPS_RENDERING", value);\r
105     }\r
106 \r
107     dialog.hide();\r
108   }\r
109 \r
110   public void cancel_actionPerformed(ActionEvent e)\r
111   {\r
112     cancelled = true;\r
113     dialog.hide();\r
114   }\r
115 \r
116   public String getValue()\r
117   {\r
118     return value;\r
119   }\r
120 }\r