REad in defaultColour
[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   static boolean preferencesLoaded=false;\r
14 \r
15   public static boolean showFullscreen=false;\r
16   public static boolean showFullId=true;\r
17   public static boolean showAnnotation=true;\r
18   public static boolean showConservation=true;\r
19   public static boolean showQuality=true;\r
20   public static boolean showIdentity=true;\r
21   public static String fontName;\r
22   public static String fontSize;\r
23   public static String fontStyle;\r
24   public static char gapSymbol='-';\r
25   public static String defaultColour=null;\r
26 \r
27   JInternalFrame frame;\r
28 \r
29   public static void initPreferences()\r
30   {\r
31   String string = Cache.getProperty("SHOW_FULL_ID");\r
32   if(string!=null)\r
33     showFullId = Boolean.valueOf(string).booleanValue();\r
34 \r
35   string = Cache.getProperty("SHOW_FULLSCREEN");\r
36   if(string!=null)\r
37     showFullscreen = Boolean.valueOf(string).booleanValue();\r
38 \r
39 \r
40   string = Cache.getProperty("SHOW_ANNOTATIONS");\r
41       if(string!=null)\r
42     showAnnotation = Boolean.valueOf(string).booleanValue();\r
43 \r
44   string = Cache.getProperty("SHOW_CONSERVATION");\r
45       if(string!=null)\r
46     showConservation = Boolean.valueOf(string).booleanValue();\r
47   string = Cache.getProperty("SHOW_QUALITY");\r
48       if(string!=null)\r
49     showQuality = Boolean.valueOf(string).booleanValue();\r
50   string = Cache.getProperty("SHOW_IDENTITY");\r
51       if(string!=null)\r
52     showIdentity = Boolean.valueOf(string).booleanValue();\r
53 \r
54   string = Cache.getProperty("SHOW_FULL_ID");\r
55     if(string!=null)\r
56       showFullId = Boolean.valueOf(string).booleanValue();\r
57 \r
58   fontName = Cache.getProperty("FONT_NAME");\r
59   fontStyle = Cache.getProperty("FONT_STYLE");\r
60   fontSize = Cache.getProperty("FONT_SIZE");\r
61 \r
62   string = Cache.getProperty("DEFAULT_COLOUR");\r
63   if(string!=null)\r
64       defaultColour = string;\r
65 \r
66 \r
67       preferencesLoaded = true;\r
68   }\r
69 \r
70   public Preferences()\r
71   {\r
72     if(!preferencesLoaded)\r
73       initPreferences();\r
74 \r
75     frame = new JInternalFrame();\r
76     frame.setContentPane(this);\r
77     Desktop.addInternalFrame(frame, "Preferences", 480,350 );\r
78 \r
79     fullID.setSelected(showFullId);\r
80     String string = Cache.getProperty("SHOW_FULLSCREEN");\r
81     boolean value = false;\r
82     if(string!=null)\r
83       value =  Boolean.valueOf(string).booleanValue();\r
84 \r
85     fullScreen.setSelected(value);\r
86     annotations.setSelected(showAnnotation);\r
87 \r
88     conservation.setEnabled(showAnnotation);\r
89     quality.setEnabled(showAnnotation);\r
90     identity.setEnabled(showAnnotation);\r
91 \r
92     conservation.setSelected(showConservation);\r
93     quality.setSelected(showQuality);\r
94     identity.setSelected(showIdentity);\r
95 \r
96     for(int i=0; i<12; i++)\r
97       colour.addItem( ColourSchemeProperty.getColourName(i) );\r
98 \r
99     string = Cache.getProperty("DEFAULT_COLOUR");\r
100     if(string!=null)\r
101       colour.setSelectedItem( string );\r
102     else\r
103       colour.setSelectedIndex( 11 );\r
104 \r
105     String fonts[] = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();\r
106     for(int i=0; i<fonts.length; i++)\r
107       fontNameCB.addItem(fonts[i]);\r
108 \r
109     for(int i=1; i<31; i++)\r
110       fontSizeCB.addItem(i+"");\r
111 \r
112    fontStyleCB.addItem("plain");\r
113    fontStyleCB.addItem("bold");\r
114    fontStyleCB.addItem("italic");\r
115 \r
116    fontNameCB.setSelectedItem(fontName);\r
117    fontSizeCB.setSelectedItem(fontSize);\r
118    fontStyleCB.setSelectedItem(fontStyle);\r
119 \r
120    gapSymbolCB.addItem("-");\r
121    gapSymbolCB.addItem(".");\r
122 \r
123    gapSymbolCB.setSelectedItem( gapSymbol+"" );\r
124 \r
125   }\r
126 \r
127   public void ok_actionPerformed(ActionEvent e)\r
128   {\r
129     showFullId =  fullID.isSelected() ;\r
130     showFullscreen = fullScreen.isSelected();\r
131     showAnnotation = annotations.isSelected();\r
132     showConservation = conservation.isSelected();\r
133     showQuality = quality.isSelected();\r
134     showIdentity = identity.isSelected();\r
135     defaultColour = colour.getSelectedItem().toString();\r
136     gapSymbol = gapSymbolCB.getSelectedItem().toString().charAt(0);\r
137     fontName = fontNameCB.getSelectedItem().toString();\r
138     fontSize = fontSizeCB.getSelectedItem().toString();\r
139     fontStyle = fontStyleCB.getSelectedItem().toString();\r
140 \r
141     Cache.setProperty("SHOW_FULL_ID", Boolean.toString(showFullId));\r
142     Cache.setProperty("SHOW_FULLSCREEN", Boolean.toString( showFullscreen ) );\r
143 \r
144     Cache.setProperty("SHOW_ANNOTATIONS", Boolean.toString( showAnnotation  ));\r
145     Cache.setProperty("SHOW_CONSERVATION", Boolean.toString( showConservation ));\r
146     Cache.setProperty("SHOW_QUALITY", Boolean.toString( showQuality ));\r
147     Cache.setProperty("SHOW_IDENTITY", Boolean.toString( showIdentity ));\r
148 \r
149     Cache.setProperty("DEFAULT_COLOUR", defaultColour);\r
150     Cache.setProperty("GAP_SYMBOL", gapSymbol+"");\r
151 \r
152     Cache.setProperty("FONT_NAME", fontName);\r
153     Cache.setProperty("FONT_STYLE", fontStyle);\r
154     Cache.setProperty("FONT_SIZE", fontSize);\r
155 \r
156     try    {\r
157       frame.setClosed(true);\r
158     }    catch (Exception ex)  {}\r
159 \r
160   }\r
161 \r
162   public void cancel_actionPerformed(ActionEvent e)\r
163   {\r
164     try{\r
165       frame.setClosed(true);\r
166     }catch(Exception ex){}\r
167   }\r
168 \r
169   public void annotations_actionPerformed(ActionEvent e)\r
170   {\r
171     conservation.setEnabled(annotations.isSelected());\r
172     quality.setEnabled(annotations.isSelected());\r
173     identity.setEnabled(annotations.isSelected());\r
174   }\r
175 \r
176 }\r