Formatted source
[jalview.git] / src / jalview / appletgui / FontChooser.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer\r
3  * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
4  *\r
5  * This program is free software; you can redistribute it and/or\r
6  * modify it under the terms of the GNU General Public License\r
7  * as published by the Free Software Foundation; either version 2\r
8  * of the License, or (at your option) any later version.\r
9  *\r
10  * This program is distributed in the hope that it will be useful,\r
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13  * GNU General Public License for more details.\r
14  *\r
15  * You should have received a copy of the GNU General Public License\r
16  * along with this program; if not, write to the Free Software\r
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
18  */\r
19 \r
20 package jalview.appletgui;\r
21 \r
22 import java.awt.*;\r
23 \r
24 import jalview.jbappletgui.*;\r
25 \r
26 public class FontChooser\r
27     extends GFontChooser\r
28 {\r
29   AlignmentPanel ap;\r
30   Font oldFont;\r
31   boolean init = true;\r
32   Frame frame;\r
33 \r
34   public FontChooser(AlignmentPanel ap, Frame frame)\r
35   {\r
36     super();\r
37 \r
38     this.frame = frame;\r
39 \r
40     this.ap = ap;\r
41     String fonts[] = Toolkit.getDefaultToolkit().getFontList();\r
42     for (int i = 0; i < fonts.length; i++)\r
43     {\r
44       fontName.addItem(fonts[i]);\r
45     }\r
46 \r
47     for (int i = 1; i < 31; i++)\r
48     {\r
49       fontSize.addItem(i + "");\r
50     }\r
51 \r
52     fontStyle.addItem("plain");\r
53     fontStyle.addItem("bold");\r
54     fontStyle.addItem("italic");\r
55 \r
56     oldFont = ap.av.getFont();\r
57     fontName.select(oldFont.getName());\r
58     fontSize.select(oldFont.getSize() + "");\r
59     fontStyle.select(oldFont.getStyle());\r
60 \r
61     init = false;\r
62   }\r
63 \r
64   protected void ok_actionPerformed()\r
65   {\r
66     frame.setVisible(false);\r
67     if (ap.getOverviewPanel() != null)\r
68     {\r
69       ap.getOverviewPanel().updateOverviewImage();\r
70     }\r
71   }\r
72 \r
73   protected void cancel_actionPerformed()\r
74   {\r
75     ap.av.setFont(oldFont);\r
76     ap.repaint();\r
77     fontName.select(oldFont.getName());\r
78     fontSize.select(oldFont.getSize() + "");\r
79     fontStyle.select(oldFont.getStyle());\r
80 \r
81     frame.setVisible(false);\r
82   }\r
83 \r
84   void changeFont()\r
85   {\r
86     Font newFont = new Font(fontName.getSelectedItem().toString(),\r
87                             fontStyle.getSelectedIndex(),\r
88                             Integer.parseInt(fontSize.getSelectedItem().\r
89                                              toString())\r
90         );\r
91     ap.av.setFont(newFont);\r
92     ap.fontChanged();\r
93   }\r
94 \r
95   protected void fontName_actionPerformed()\r
96   {\r
97     if (init)\r
98     {\r
99       return;\r
100     }\r
101     changeFont();\r
102   }\r
103 \r
104   protected void fontSize_actionPerformed()\r
105   {\r
106     if (init)\r
107     {\r
108       return;\r
109     }\r
110     changeFont();\r
111   }\r
112 \r
113   protected void fontStyle_actionPerformed()\r
114   {\r
115     if (init)\r
116     {\r
117       return;\r
118     }\r
119     changeFont();\r
120   }\r
121 \r
122 }\r