3 import jalview.jbgui.*;
\r
4 import jalview.schemes.*;
\r
6 import jalview.bin.Cache;
\r
7 import javax.swing.*;
\r
8 import java.awt.event.ActionEvent;
\r
11 public class Preferences extends GPreferences
\r
13 static boolean preferencesLoaded=false;
\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
27 JInternalFrame frame;
\r
29 public static void initPreferences()
\r
31 String string = Cache.getProperty("SHOW_FULL_ID");
\r
33 showFullId = Boolean.valueOf(string).booleanValue();
\r
35 string = Cache.getProperty("SHOW_FULLSCREEN");
\r
37 showFullscreen = Boolean.valueOf(string).booleanValue();
\r
40 string = Cache.getProperty("SHOW_ANNOTATIONS");
\r
42 showAnnotation = Boolean.valueOf(string).booleanValue();
\r
44 string = Cache.getProperty("SHOW_CONSERVATION");
\r
46 showConservation = Boolean.valueOf(string).booleanValue();
\r
47 string = Cache.getProperty("SHOW_QUALITY");
\r
49 showQuality = Boolean.valueOf(string).booleanValue();
\r
50 string = Cache.getProperty("SHOW_IDENTITY");
\r
52 showIdentity = Boolean.valueOf(string).booleanValue();
\r
54 string = Cache.getProperty("GAP_SYMBOL");
\r
56 gapSymbol = string.charAt(0);
\r
58 string = Cache.getProperty("SHOW_FULL_ID");
\r
60 showFullId = Boolean.valueOf(string).booleanValue();
\r
62 fontName = Cache.getProperty("FONT_NAME");
\r
63 fontStyle = Cache.getProperty("FONT_STYLE");
\r
64 fontSize = Cache.getProperty("FONT_SIZE");
\r
66 string = Cache.getProperty("DEFAULT_COLOUR");
\r
68 defaultColour = string;
\r
71 preferencesLoaded = true;
\r
74 public Preferences()
\r
76 if(!preferencesLoaded)
\r
79 frame = new JInternalFrame();
\r
80 frame.setContentPane(this);
\r
81 Desktop.addInternalFrame(frame, "Preferences", 480,350 );
\r
83 fullID.setSelected(showFullId);
\r
84 String string = Cache.getProperty("SHOW_FULLSCREEN");
\r
85 boolean value = false;
\r
87 value = Boolean.valueOf(string).booleanValue();
\r
89 fullScreen.setSelected(value);
\r
90 annotations.setSelected(showAnnotation);
\r
92 conservation.setEnabled(showAnnotation);
\r
93 quality.setEnabled(showAnnotation);
\r
94 identity.setEnabled(showAnnotation);
\r
96 conservation.setSelected(showConservation);
\r
97 quality.setSelected(showQuality);
\r
98 identity.setSelected(showIdentity);
\r
100 for(int i=0; i<12; i++)
\r
101 colour.addItem( ColourSchemeProperty.getColourName(i) );
\r
103 string = Cache.getProperty("DEFAULT_COLOUR");
\r
105 colour.setSelectedItem( string );
\r
107 colour.setSelectedIndex( 11 );
\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
113 for(int i=1; i<31; i++)
\r
114 fontSizeCB.addItem(i+"");
\r
116 fontStyleCB.addItem("plain");
\r
117 fontStyleCB.addItem("bold");
\r
118 fontStyleCB.addItem("italic");
\r
120 fontNameCB.setSelectedItem(fontName);
\r
121 fontSizeCB.setSelectedItem(fontSize);
\r
122 fontStyleCB.setSelectedItem(fontStyle);
\r
124 gapSymbolCB.addItem("-");
\r
125 gapSymbolCB.addItem(".");
\r
127 gapSymbolCB.setSelectedItem( gapSymbol+"" );
\r
131 public void ok_actionPerformed(ActionEvent e)
\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
145 Cache.setProperty("SHOW_FULL_ID", Boolean.toString(showFullId));
\r
146 Cache.setProperty("SHOW_FULLSCREEN", Boolean.toString( showFullscreen ) );
\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
153 Cache.setProperty("DEFAULT_COLOUR", defaultColour);
\r
154 Cache.setProperty("GAP_SYMBOL", gapSymbol+"");
\r
156 Cache.setProperty("FONT_NAME", fontName);
\r
157 Cache.setProperty("FONT_STYLE", fontStyle);
\r
158 Cache.setProperty("FONT_SIZE", fontSize);
\r
161 frame.setClosed(true);
\r
162 } catch (Exception ex) {}
\r
166 public void cancel_actionPerformed(ActionEvent e)
\r
169 frame.setClosed(true);
\r
170 }catch(Exception ex){}
\r
173 public void annotations_actionPerformed(ActionEvent e)
\r
175 conservation.setEnabled(annotations.isSelected());
\r
176 quality.setEnabled(annotations.isSelected());
\r
177 identity.setEnabled(annotations.isSelected());
\r