GPL license added
[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 jalview.jbappletgui.GFontChooser;\r
23 import jalview.appletgui.*;\r
24 import java.awt.*;\r
25 import java.awt.event.*;\r
26 \r
27 \r
28 public class FontChooser extends GFontChooser\r
29 {\r
30   AlignmentPanel ap;\r
31   Font oldFont;\r
32   boolean init = true;\r
33   Frame frame;\r
34 \r
35   public FontChooser(AlignmentPanel ap, Frame frame)\r
36   {\r
37     super();\r
38 \r
39     this.frame = frame;\r
40 \r
41     this.ap = ap;\r
42     String fonts[] = Toolkit.getDefaultToolkit().getFontList();\r
43     for(int i=0; i<fonts.length; i++)\r
44       fontName.addItem(fonts[i]);\r
45 \r
46     for(int i=1; i<31; i++)\r
47       fontSize.addItem(i+"");\r
48 \r
49    fontStyle.addItem("plain");\r
50    fontStyle.addItem("bold");\r
51    fontStyle.addItem("italic");\r
52 \r
53    oldFont = ap.av.getFont();\r
54    fontName.select(oldFont.getName());\r
55    fontSize.select(oldFont.getSize()+"");\r
56    fontStyle.select(oldFont.getStyle());\r
57 \r
58    init = false;\r
59   }\r
60 \r
61   protected void ok_actionPerformed()\r
62   {\r
63       frame.setVisible(false);\r
64    if(ap.getOverviewPanel()!=null)\r
65      ap.getOverviewPanel().updateOverviewImage();\r
66   }\r
67 \r
68   protected void cancel_actionPerformed()\r
69   {\r
70     ap.av.setFont(oldFont);\r
71     ap.repaint();\r
72     fontName.select(oldFont.getName());\r
73     fontSize.select(oldFont.getSize()+"");\r
74     fontStyle.select(oldFont.getStyle());\r
75 \r
76     frame.setVisible(false);\r
77   }\r
78 \r
79   void changeFont()\r
80   {\r
81     Font newFont = new Font(fontName.getSelectedItem().toString(),\r
82                             fontStyle.getSelectedIndex(),\r
83                             Integer.parseInt(fontSize.getSelectedItem().toString())\r
84                             );\r
85     ap.av.setFont(newFont);\r
86     ap.fontChanged();\r
87   }\r
88 \r
89 \r
90   protected void fontName_actionPerformed()\r
91   {\r
92     if(init) return;\r
93     changeFont();\r
94   }\r
95 \r
96   protected void fontSize_actionPerformed()\r
97   {\r
98     if(init) return;\r
99     changeFont();\r
100   }\r
101 \r
102   protected void fontStyle_actionPerformed()\r
103   {\r
104     if(init) return;\r
105     changeFont();\r
106   }\r
107 \r
108 }\r