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