db844876b785fff9b51b3cb5392fad9d4c5afc6d
[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 import jalview.bin.Cache;\r
10 \r
11 \r
12 public class FontChooser extends GFontChooser\r
13 {\r
14   AlignmentPanel ap;\r
15   Font oldFont;\r
16   boolean init = true;\r
17   JInternalFrame frame;\r
18 \r
19   public FontChooser(AlignmentPanel ap)\r
20   {\r
21     frame = new JInternalFrame();\r
22     frame.setContentPane(this);\r
23     Desktop.addInternalFrame(frame, "Change Font", 480,100, false);\r
24     frame.setLayer(JLayeredPane.PALETTE_LAYER);\r
25 \r
26     this.ap = ap;\r
27     String fonts[] = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();\r
28     for(int i=0; i<fonts.length; i++)\r
29       fontName.addItem(fonts[i]);\r
30 \r
31     for(int i=1; i<31; i++)\r
32       fontSize.addItem(i+"");\r
33 \r
34    fontStyle.addItem("plain");\r
35    fontStyle.addItem("bold");\r
36    fontStyle.addItem("italic");\r
37 \r
38    oldFont = ap.av.getFont();\r
39    fontName.setSelectedItem(oldFont.getName());\r
40    fontSize.setSelectedItem(oldFont.getSize()+"");\r
41    fontStyle.setSelectedIndex(oldFont.getStyle());\r
42 \r
43    init = false;\r
44   }\r
45 \r
46   protected void ok_actionPerformed(ActionEvent e)\r
47   {\r
48     try{\r
49       frame.setClosed(true);\r
50     }catch(Exception ex){}\r
51 \r
52    if(ap.getOverviewPanel()!=null)\r
53      ap.getOverviewPanel().updateOverviewImage();\r
54   }\r
55 \r
56   protected void cancel_actionPerformed(ActionEvent e)\r
57   {\r
58     ap.av.setFont(oldFont);\r
59     ap.repaint();\r
60     fontName.setSelectedItem(oldFont.getName());\r
61     fontSize.setSelectedItem(oldFont.getSize()+"");\r
62     fontStyle.setSelectedIndex(oldFont.getStyle());\r
63     try{\r
64       frame.setClosed(true);\r
65     }catch(Exception ex){}\r
66   }\r
67 \r
68   void changeFont()\r
69   {\r
70     Font newFont = new Font(fontName.getSelectedItem().toString(),\r
71                             fontStyle.getSelectedIndex(),\r
72                             Integer.parseInt(fontSize.getSelectedItem().toString())\r
73                             );\r
74     ap.av.setFont(newFont);\r
75     ap.fontChanged();\r
76   }\r
77 \r
78   protected void fontName_actionPerformed(ActionEvent e)\r
79   {\r
80     if(init) return;\r
81     changeFont();\r
82   }\r
83 \r
84   protected void fontSize_actionPerformed(ActionEvent e)\r
85   {\r
86     if(init) return;\r
87     changeFont();\r
88   }\r
89 \r
90   protected void fontStyle_actionPerformed(ActionEvent e)\r
91   {\r
92     if(init) return;\r
93     changeFont();\r
94   }\r
95 \r
96   public void defaultButton_actionPerformed(ActionEvent e)\r
97   {\r
98     Cache.setProperty("FONT_NAME", fontName.getSelectedItem().toString());\r
99     Cache.setProperty("FONT_STYLE", fontStyle.getSelectedIndex()+"");\r
100     Cache.setProperty("FONT_SIZE", fontSize.getSelectedItem().toString());\r
101   }\r
102 \r
103 \r
104 \r
105 }\r