fonts changed as selection made
[jalview.git] / src / jalview / gui / FontChooser.java
1 package jalview.gui;\r
2 \r
3 import jalview.jbgui.GFontChooser;\r
4 import jalview.gui.*;\r
5 import java.awt.*;\r
6 import java.awt.event.*;\r
7 import javax.swing.*;\r
8 import javax.swing.event.*;\r
9 \r
10 \r
11 public class FontChooser extends GFontChooser\r
12 {\r
13   AlignmentPanel ap;\r
14   Font oldFont;\r
15   boolean init = true;\r
16   JInternalFrame frame;\r
17 \r
18   public FontChooser(AlignmentPanel ap, JInternalFrame f)\r
19   {\r
20     this.ap = ap;\r
21     frame = f;\r
22     String fonts[] = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();\r
23     for(int i=0; i<fonts.length; i++)\r
24       fontName.addItem(fonts[i]);\r
25 \r
26     for(int i=1; i<31; i++)\r
27       fontSize.addItem(i+"");\r
28 \r
29    fontStyle.addItem("plain");\r
30    fontStyle.addItem("bold");\r
31    fontStyle.addItem("italic");\r
32 \r
33    oldFont = ap.av.getFont();\r
34    fontName.setSelectedItem(oldFont.getName());\r
35    fontSize.setSelectedItem(oldFont.getSize()+"");\r
36    fontStyle.setSelectedIndex(oldFont.getStyle());\r
37 \r
38    init = false;\r
39   }\r
40 \r
41   protected void ok_actionPerformed(ActionEvent e)\r
42   {\r
43     try{\r
44       frame.setClosed(true);\r
45     }catch(Exception ex){}\r
46 \r
47    jalview.bin.Cache.setProperty("FONT_NAME", fontName.getSelectedItem().toString());\r
48    jalview.bin.Cache.setProperty("FONT_STYLE", fontStyle.getSelectedIndex()+"");\r
49    jalview.bin.Cache.setProperty("FONT_SIZE", fontSize.getSelectedItem().toString());\r
50   }\r
51 \r
52   protected void cancel_actionPerformed(ActionEvent e)\r
53   {\r
54     ap.av.setFont(oldFont);\r
55     ap.RefreshPanels();\r
56     fontName.setSelectedItem(oldFont.getName());\r
57     fontSize.setSelectedItem(oldFont.getSize()+"");\r
58     fontStyle.setSelectedIndex(oldFont.getStyle());\r
59   }\r
60 \r
61   void changeFont()\r
62   {\r
63     Font newFont = new Font(fontName.getSelectedItem().toString(),\r
64                             fontStyle.getSelectedIndex(),\r
65                             Integer.parseInt(fontSize.getSelectedItem().toString())\r
66                             );\r
67     ap.av.setFont(newFont);\r
68     ap.RefreshPanels();\r
69   }\r
70 \r
71   protected void fontName_actionPerformed(ActionEvent e)\r
72   {\r
73     if(init) return;\r
74     changeFont();\r
75   }\r
76 \r
77   protected void fontSize_actionPerformed(ActionEvent e)\r
78   {\r
79     if(init) return;\r
80     changeFont();\r
81   }\r
82 \r
83   protected void fontStyle_actionPerformed(ActionEvent e)\r
84   {\r
85     if(init) return;\r
86     changeFont();\r
87   }\r
88 \r
89 \r
90 }\r