Preferences panel added
[jalview.git] / src / jalview / gui / Preferences.java
1 package jalview.gui;\r
2 \r
3 import jalview.jbgui.*;\r
4 import jalview.schemes.*;\r
5 \r
6 import jalview.bin.Cache;\r
7 import javax.swing.*;\r
8 import java.awt.event.ActionEvent;\r
9 import java.awt.*;\r
10 \r
11 public class Preferences extends GPreferences\r
12 {\r
13   AlignViewport av;\r
14   JInternalFrame frame;\r
15   public Preferences(AlignViewport av)\r
16   {\r
17     this.av = av;\r
18     frame = new JInternalFrame();\r
19     frame.setContentPane(this);\r
20     Desktop.addInternalFrame(frame, "Preferences", 480,350 );\r
21 \r
22 \r
23     fullID.setSelected(av.getShowFullId());\r
24     String string = Cache.getProperty("SHOW_FULLSCREEN");\r
25     boolean value = false;\r
26     if(string!=null)\r
27       value =  Boolean.valueOf(string).booleanValue();\r
28 \r
29     fullScreen.setSelected(value);\r
30     annotations.setSelected(av.getShowAnnotation());\r
31 \r
32     conservation.setEnabled(av.getShowAnnotation());\r
33     quality.setEnabled(av.getShowAnnotation());\r
34     identity.setEnabled(av.getShowAnnotation());\r
35 \r
36     conservation.setSelected(av.showConservation);\r
37     quality.setSelected(av.showQuality);\r
38     identity.setSelected(av.showIdentity);\r
39 \r
40     for(int i=0; i<12; i++)\r
41       colour.addItem( ColourSchemeProperty.getColourName(i) );\r
42 \r
43     string = Cache.getProperty("DEFAULT_COLOUR");\r
44     if(string!=null)\r
45       colour.setSelectedItem( string );\r
46     else\r
47       colour.setSelectedIndex( 11 );\r
48 \r
49     String fonts[] = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();\r
50     for(int i=0; i<fonts.length; i++)\r
51       fontName.addItem(fonts[i]);\r
52 \r
53     for(int i=1; i<31; i++)\r
54       fontSize.addItem(i+"");\r
55 \r
56    fontStyle.addItem("plain");\r
57    fontStyle.addItem("bold");\r
58    fontStyle.addItem("italic");\r
59 \r
60    Font oldFont = av.getFont();\r
61    fontName.setSelectedItem(oldFont.getName());\r
62    fontSize.setSelectedItem(oldFont.getSize() + "");\r
63    fontStyle.setSelectedIndex(oldFont.getStyle());\r
64 \r
65    gapSymbol.addItem("-");\r
66    gapSymbol.addItem(".");\r
67 \r
68    gapSymbol.setSelectedItem( av.getGapCharacter()+"" );\r
69 \r
70   }\r
71 \r
72   public void ok_actionPerformed(ActionEvent e)\r
73   {\r
74     Cache.setProperty("SHOW_FULL_ID", Boolean.toString( fullID.isSelected() ));\r
75     Cache.setProperty("SHOW_FULLSCREEN", Boolean.toString( fullScreen.isSelected() ));\r
76 \r
77     Cache.setProperty("SHOW_ANNOTATIONS", Boolean.toString( annotations.isSelected() ));\r
78     Cache.setProperty("SHOW_CONSERVATION", Boolean.toString( conservation.isSelected() ));\r
79     Cache.setProperty("SHOW_QUALITY", Boolean.toString( quality.isSelected() ));\r
80     Cache.setProperty("SHOW_IDENTITY", Boolean.toString( identity.isSelected() ));\r
81 \r
82     Cache.setProperty("DEFAULT_COLOUR", colour.getSelectedItem().toString() );\r
83     Cache.setProperty("GAP_SYMBOL", gapSymbol.getSelectedItem().toString());\r
84 \r
85     Cache.setProperty("FONT_NAME", fontName.getSelectedItem().toString());\r
86     Cache.setProperty("FONT_STYLE", fontStyle.getSelectedIndex()+"");\r
87     Cache.setProperty("FONT_SIZE", fontSize.getSelectedItem().toString());\r
88 \r
89     try    {\r
90       frame.setClosed(true);\r
91     }    catch (Exception ex)  {}\r
92 \r
93     av.updateFromPreferences();\r
94 \r
95     repaint();\r
96 \r
97   }\r
98 \r
99   public void cancel_actionPerformed(ActionEvent e)\r
100   {\r
101     try{\r
102       frame.setClosed(true);\r
103     }catch(Exception ex){}\r
104   }\r
105 \r
106   public void annotations_actionPerformed(ActionEvent e)\r
107   {\r
108     conservation.setEnabled(annotations.isSelected());\r
109     quality.setEnabled(annotations.isSelected());\r
110     identity.setEnabled(annotations.isSelected());\r
111   }\r
112 \r
113 }\r