profile visualizations are now logos
[jalview.git] / src / jalview / jbgui / GPreferences.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)
3  * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
4  * 
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the License, or (at your option) any later version.
9  * 
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  * 
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
18  */
19 package jalview.jbgui;
20
21 import java.awt.*;
22 import java.awt.event.*;
23
24 import javax.swing.*;
25 import javax.swing.border.*;
26 import javax.swing.event.*;
27 import java.awt.Rectangle;
28
29 /**
30  * DOCUMENT ME!
31  * 
32  * @author $author$
33  * @version $Revision$
34  */
35 public class GPreferences extends JPanel
36 {
37   JTabbedPane tabbedPane = new JTabbedPane();
38
39   JButton ok = new JButton();
40
41   JButton cancel = new JButton();
42
43   JPanel okCancelPanel = new JPanel();
44
45   BorderLayout borderLayout1 = new BorderLayout();
46
47   protected JCheckBox quality = new JCheckBox();
48
49   JPanel visualTab = new JPanel();
50
51   protected JCheckBox fullScreen = new JCheckBox();
52
53   protected JCheckBox conservation = new JCheckBox();
54
55   protected JCheckBox identity = new JCheckBox();
56
57   protected JCheckBox annotations = new JCheckBox();
58
59   JLabel gapLabel = new JLabel();
60
61   protected JComboBox colour = new JComboBox();
62
63   JLabel colourLabel = new JLabel();
64
65   JLabel fontLabel = new JLabel();
66
67   protected JComboBox fontSizeCB = new JComboBox();
68
69   protected JComboBox fontStyleCB = new JComboBox();
70
71   protected JComboBox fontNameCB = new JComboBox();
72
73   protected JComboBox gapSymbolCB = new JComboBox();
74
75   protected JCheckBox startupCheckbox = new JCheckBox();
76
77   protected JTextField startupFileTextfield = new JTextField();
78
79   JPanel connectTab = new JPanel();
80
81   JLabel serverLabel = new JLabel();
82
83   protected JList linkURLList = new JList();
84
85   protected JTextField proxyServerTB = new JTextField();
86
87   protected JTextField proxyPortTB = new JTextField();
88
89   JLabel portLabel = new JLabel();
90
91   JLabel browserLabel = new JLabel();
92
93   protected JTextField defaultBrowser = new JTextField();
94
95   JButton newLink = new JButton();
96
97   JButton editLink = new JButton();
98
99   JButton deleteLink = new JButton();
100
101   JScrollPane linkScrollPane = new JScrollPane();
102
103   JPanel linkPanel = new JPanel();
104
105   BorderLayout borderLayout2 = new BorderLayout();
106
107   JPanel editLinkButtons = new JPanel();
108
109   GridLayout gridLayout1 = new GridLayout();
110
111   protected JList linkNameList = new JList();
112
113   JPanel linkPanel2 = new JPanel();
114
115   BorderLayout borderLayout3 = new BorderLayout();
116
117   protected JCheckBox useProxy = new JCheckBox();
118
119   JPanel jPanel1 = new JPanel();
120
121   TitledBorder titledBorder1 = new TitledBorder("Proxy Server");
122
123   TitledBorder titledBorder2 = new TitledBorder("File Output");
124
125   GridBagLayout gridBagLayout2 = new GridBagLayout();
126
127   GridBagLayout gridBagLayout1 = new GridBagLayout();
128
129   GridBagLayout gridBagLayout3 = new GridBagLayout();
130
131   protected JComboBox sortby = new JComboBox();
132
133   JLabel sortLabel = new JLabel();
134
135   JPanel jPanel2 = new JPanel();
136
137   GridLayout gridLayout2 = new GridLayout();
138
139
140   JPanel annsettingsPanel = new JPanel();
141   JPanel autoAnnotSettings1 = new JPanel();
142   JPanel autoAnnotSettings2 = new JPanel();
143   JPanel autoAnnotSettings3 = new JPanel();
144
145   JPanel exportTab = new JPanel();
146
147   JLabel epsLabel = new JLabel();
148
149   protected JComboBox epsRendering = new JComboBox();
150
151   JLabel jLabel1 = new JLabel();
152
153   protected JCheckBox blcjv = new JCheckBox();
154
155   protected JCheckBox pileupjv = new JCheckBox();
156
157   protected JCheckBox clustaljv = new JCheckBox();
158
159   protected JCheckBox msfjv = new JCheckBox();
160
161   protected JCheckBox fastajv = new JCheckBox();
162
163   protected JCheckBox pfamjv = new JCheckBox();
164
165   FlowLayout flowLayout1 = new FlowLayout();
166
167   protected JCheckBox pirjv = new JCheckBox();
168
169   JPanel jPanel11 = new JPanel();
170
171   Font verdana11 = new java.awt.Font("Verdana", Font.PLAIN, 11);
172
173   protected JCheckBox seqLimit = new JCheckBox();
174
175   GridLayout gridLayout3 = new GridLayout();
176
177   protected JCheckBox smoothFont = new JCheckBox();
178
179   JPanel calcTab = new JPanel();
180
181   protected JCheckBox autoCalculateConsCheck = new JCheckBox();
182
183   protected JCheckBox padGaps = new JCheckBox();
184
185   protected JCheckBox modellerOutput = new JCheckBox();
186
187   protected JPanel dasPanel = new JPanel();
188
189   BorderLayout borderLayout4 = new BorderLayout();
190
191   protected JCheckBox wrap = new JCheckBox();
192
193   protected JCheckBox rightAlign = new JCheckBox();
194
195   protected JCheckBox showUnconserved = new JCheckBox();
196
197   protected JCheckBox idItalics = new JCheckBox();
198
199   protected JCheckBox openoverv = new JCheckBox();
200   protected JCheckBox usagestats = new JCheckBox(); 
201   protected JCheckBox questionnaire = new JCheckBox();
202   protected JCheckBox versioncheck = new JCheckBox();
203   protected JLabel showGroupbits = new JLabel();
204   protected JLabel showConsensbits = new JLabel();
205   protected JCheckBox showConsensLogo = new JCheckBox();
206   protected JCheckBox showConsensHistogram = new JCheckBox();
207   protected JCheckBox showGroupConsensus = new JCheckBox();
208   protected JCheckBox showGroupConservation = new JCheckBox();
209   protected JCheckBox shareSelections = new JCheckBox();
210   protected JCheckBox followHighlight = new JCheckBox();
211   
212
213   /**
214    * Creates a new GPreferences object.
215    */
216   public GPreferences()
217   {
218     try
219     {
220       jbInit();
221     } catch (Exception ex)
222     {
223       ex.printStackTrace();
224     }
225   }
226
227   /**
228    * DOCUMENT ME!
229    * 
230    * @throws Exception
231    *                 DOCUMENT ME!
232    */
233   private void jbInit() throws Exception
234   {
235     this.setLayout(borderLayout1);
236     ok.setText("OK");
237     ok.addActionListener(new ActionListener()
238     {
239       public void actionPerformed(ActionEvent e)
240       {
241         ok_actionPerformed(e);
242       }
243     });
244     cancel.setText("Cancel");
245     cancel.addActionListener(new ActionListener()
246     {
247       public void actionPerformed(ActionEvent e)
248       {
249         cancel_actionPerformed(e);
250       }
251     });
252     quality.setEnabled(false);
253     quality.setFont(verdana11);
254     quality.setHorizontalAlignment(SwingConstants.RIGHT);
255     quality.setHorizontalTextPosition(SwingConstants.LEFT);
256     quality.setSelected(true);
257     quality.setText("Quality");
258     visualTab.setBorder(new TitledBorder("Open new alignment"));
259     visualTab.setLayout(null);
260     fullScreen.setFont(verdana11);
261     fullScreen.setHorizontalAlignment(SwingConstants.RIGHT);
262     fullScreen.setHorizontalTextPosition(SwingConstants.LEFT);
263     fullScreen.setText("Maximise Window");
264     conservation.setEnabled(false);
265     conservation.setFont(verdana11);
266     conservation.setHorizontalAlignment(SwingConstants.RIGHT);
267     conservation.setHorizontalTextPosition(SwingConstants.LEFT);
268     conservation.setSelected(true);
269     conservation.setText("Conservation");
270     identity.setEnabled(false);
271     identity.setFont(verdana11);
272     identity.setHorizontalAlignment(SwingConstants.RIGHT);
273     identity.setHorizontalTextPosition(SwingConstants.LEFT);
274     identity.setSelected(true);
275     identity.setText("Consensus");
276     showGroupbits.setFont(verdana11);
277     showGroupbits.setHorizontalAlignment(SwingConstants.RIGHT);
278     showGroupbits.setHorizontalTextPosition(SwingConstants.LEFT);
279     showGroupbits.setText("Show group:");
280     showConsensbits.setFont(verdana11);
281     showConsensbits.setHorizontalAlignment(SwingConstants.RIGHT);
282     showConsensbits.setHorizontalTextPosition(SwingConstants.LEFT);
283     showConsensbits.setText("Consensus:");
284     showConsensHistogram.setEnabled(false);
285     showConsensHistogram.setFont(verdana11);
286     showConsensHistogram.setHorizontalAlignment(SwingConstants.RIGHT);
287     showConsensHistogram.setHorizontalTextPosition(SwingConstants.LEFT);
288     showConsensHistogram.setSelected(true);
289     showConsensHistogram.setText("Histogram");
290     showConsensLogo.setEnabled(false);
291     showConsensLogo.setFont(verdana11);
292     showConsensLogo.setHorizontalAlignment(SwingConstants.RIGHT);
293     showConsensLogo.setHorizontalTextPosition(SwingConstants.LEFT);
294     showConsensLogo.setSelected(true);
295     showConsensLogo.setText("Logo");
296     showGroupConsensus.setEnabled(false);
297     showGroupConsensus.setFont(verdana11);
298     showGroupConsensus.setHorizontalAlignment(SwingConstants.RIGHT);
299     showGroupConsensus.setHorizontalTextPosition(SwingConstants.LEFT);
300     showGroupConsensus.setSelected(true);
301     showGroupConsensus.setText("Consensus");
302     showGroupConservation.setEnabled(false);
303     showGroupConservation.setFont(verdana11);
304     showGroupConservation.setHorizontalAlignment(SwingConstants.RIGHT);
305     showGroupConservation.setHorizontalTextPosition(SwingConstants.LEFT);
306     showGroupConservation.setSelected(true);
307     showGroupConservation.setText("Conservation");
308     annotations.setFont(verdana11);
309     annotations.setHorizontalAlignment(SwingConstants.RIGHT);
310     annotations.setHorizontalTextPosition(SwingConstants.LEADING);
311     annotations.setSelected(true);
312     annotations.setText("Show Annotations");
313     annotations.setBounds(new Rectangle(169, 16, 200, 23));
314     annotations.addActionListener(new ActionListener()
315     {
316       public void actionPerformed(ActionEvent e)
317       {
318         annotations_actionPerformed(e);
319       }
320     });
321     identity.addActionListener(new ActionListener()
322       {
323         public void actionPerformed(ActionEvent e)
324         {
325           annotations_actionPerformed(e);
326         }
327       }); 
328     showGroupConsensus.addActionListener(new ActionListener()
329       {
330         public void actionPerformed(ActionEvent e)
331         {
332           annotations_actionPerformed(e);
333         }
334       });
335     showUnconserved.setFont(verdana11);
336     showUnconserved.setHorizontalAlignment(SwingConstants.RIGHT);
337     showUnconserved.setHorizontalTextPosition(SwingConstants.LEFT);
338     //showUnconserved.setBounds(new Rectangle(169, 40, 200, 23));
339     showUnconserved.setSelected(true);
340     showUnconserved.setText("Show Unconserved");
341     showUnconserved.addActionListener(new ActionListener()
342     {
343       public void actionPerformed(ActionEvent e)
344       {
345         showunconserved_actionPerformed(e);
346       }
347     });
348     shareSelections.setFont(verdana11);
349     shareSelections.setHorizontalAlignment(SwingConstants.RIGHT);
350     shareSelections.setHorizontalTextPosition(SwingConstants.LEFT);
351     //showUnconserved.setBounds(new Rectangle(169, 40, 200, 23));
352     shareSelections.setSelected(true);
353     shareSelections.setText("Share selection across views");
354     followHighlight.setFont(verdana11);
355     followHighlight.setHorizontalAlignment(SwingConstants.RIGHT);
356     followHighlight.setHorizontalTextPosition(SwingConstants.LEFT);
357     //showUnconserved.setBounds(new Rectangle(169, 40, 200, 23));
358     followHighlight.setSelected(true);
359     followHighlight.setText("Scroll to highlighted regions");
360     
361     gapLabel.setFont(verdana11);
362     gapLabel.setHorizontalAlignment(SwingConstants.RIGHT);
363     gapLabel.setText("Gap Symbol ");
364     colour.setFont(verdana11);
365     colour.setBounds(new Rectangle(172, 225, 155, 21));
366     colourLabel.setFont(verdana11);
367     colourLabel.setHorizontalAlignment(SwingConstants.RIGHT);
368     colourLabel.setText("Colour ");
369     fontLabel.setFont(verdana11);
370     fontLabel.setHorizontalAlignment(SwingConstants.RIGHT);
371     fontLabel.setText("Font ");
372     fontSizeCB.setFont(verdana11);
373     fontSizeCB.setBounds(new Rectangle(319, 101, 49, 21));
374     fontStyleCB.setFont(verdana11);
375     fontStyleCB.setBounds(new Rectangle(367, 101, 70, 21));
376     fontNameCB.setFont(verdana11);
377     fontNameCB.setBounds(new Rectangle(172, 101, 147, 21));
378     gapSymbolCB.setFont(verdana11);
379     gapSymbolCB.setBounds(new Rectangle(172, 204, 69, 21));
380     startupCheckbox.setText("Open file");
381     startupCheckbox.setFont(verdana11);
382     startupCheckbox.setHorizontalAlignment(SwingConstants.RIGHT);
383     startupCheckbox.setHorizontalTextPosition(SwingConstants.LEFT);
384     startupCheckbox.setSelected(true);
385     startupFileTextfield.setFont(verdana11);
386     startupFileTextfield.setBounds(new Rectangle(172, 273, 270, 20));
387     startupFileTextfield.addMouseListener(new MouseAdapter()
388     {
389       public void mouseClicked(MouseEvent e)
390       {
391         if (e.getClickCount() > 1)
392         {
393           startupFileTextfield_mouseClicked();
394         }
395       }
396     });
397
398     connectTab.setLayout(gridBagLayout3);
399     serverLabel.setText("Address");
400     serverLabel.setHorizontalAlignment(SwingConstants.RIGHT);
401     serverLabel.setFont(verdana11);
402     proxyServerTB.setFont(verdana11);
403     proxyPortTB.setFont(verdana11);
404     portLabel.setFont(verdana11);
405     portLabel.setHorizontalAlignment(SwingConstants.RIGHT);
406     portLabel.setText("Port");
407     browserLabel.setFont(new java.awt.Font("SansSerif", 0, 11));
408     browserLabel.setHorizontalAlignment(SwingConstants.TRAILING);
409     browserLabel.setText("Default Browser (Unix)");
410     defaultBrowser.setFont(verdana11);
411     defaultBrowser.setText("");
412     usagestats.setText("Send usage statistics");
413     usagestats.setFont(verdana11);
414     usagestats.setHorizontalAlignment(SwingConstants.RIGHT);
415     usagestats.setHorizontalTextPosition(SwingConstants.LEADING);
416     questionnaire.setText("Check for questionnaires");
417     questionnaire.setFont(verdana11);
418     questionnaire.setHorizontalAlignment(SwingConstants.RIGHT);
419     questionnaire.setHorizontalTextPosition(SwingConstants.LEADING);
420     versioncheck.setText("Check for latest version");
421     versioncheck.setFont(verdana11);
422     versioncheck.setHorizontalAlignment(SwingConstants.RIGHT);
423     versioncheck.setHorizontalTextPosition(SwingConstants.LEADING);
424     newLink.setText("New");
425     newLink.addActionListener(new java.awt.event.ActionListener()
426     {
427       public void actionPerformed(ActionEvent e)
428       {
429         newLink_actionPerformed(e);
430       }
431     });
432     editLink.setText("Edit");
433     editLink.addActionListener(new java.awt.event.ActionListener()
434     {
435       public void actionPerformed(ActionEvent e)
436       {
437         editLink_actionPerformed(e);
438       }
439     });
440     deleteLink.setText("Delete");
441     deleteLink.addActionListener(new java.awt.event.ActionListener()
442     {
443       public void actionPerformed(ActionEvent e)
444       {
445         deleteLink_actionPerformed(e);
446       }
447     });
448
449     linkURLList.addListSelectionListener(new ListSelectionListener()
450     {
451       public void valueChanged(ListSelectionEvent e)
452       {
453         int index = linkURLList.getSelectedIndex();
454         linkNameList.setSelectedIndex(index);
455       }
456     });
457
458     linkNameList.addListSelectionListener(new ListSelectionListener()
459     {
460       public void valueChanged(ListSelectionEvent e)
461       {
462         int index = linkNameList.getSelectedIndex();
463         linkURLList.setSelectedIndex(index);
464       }
465     });
466
467     linkScrollPane.setBorder(null);
468     linkPanel.setBorder(new TitledBorder("URL link from Sequence ID"));
469     linkPanel.setLayout(borderLayout2);
470     editLinkButtons.setLayout(gridLayout1);
471     gridLayout1.setRows(3);
472     linkNameList.setFont(verdana11);
473     linkNameList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
474     linkPanel2.setLayout(borderLayout3);
475     linkURLList.setFont(verdana11);
476     linkURLList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
477
478     defaultBrowser.addMouseListener(new MouseAdapter()
479     {
480       public void mouseClicked(MouseEvent e)
481       {
482         if (e.getClickCount() > 1)
483         {
484           defaultBrowser_mouseClicked(e);
485         }
486       }
487     });
488     useProxy.setFont(verdana11);
489     useProxy.setHorizontalAlignment(SwingConstants.RIGHT);
490     useProxy.setHorizontalTextPosition(SwingConstants.LEADING);
491     useProxy.setText("Use a proxy server");
492     useProxy.addActionListener(new ActionListener()
493     {
494       public void actionPerformed(ActionEvent e)
495       {
496         useProxy_actionPerformed();
497       }
498     });
499     jPanel1.setBorder(titledBorder1);
500     jPanel1.setLayout(gridBagLayout1);
501     sortby.setFont(verdana11);
502     sortby.setBounds(new Rectangle(172, 249, 155, 21));
503     sortLabel.setFont(verdana11);
504     sortLabel.setHorizontalAlignment(SwingConstants.RIGHT);
505     sortLabel.setText("Sort by ");
506     jPanel2.setBounds(new Rectangle(7, 17, 158, 278));
507     jPanel2.setLayout(gridLayout2);
508     gridLayout2.setRows(13);
509   //  jPanel3.setBounds(new Rectangle(173, 35, 274, 26));
510     //jPanel3.setBounds(new Rectangle(173, 35, 274, 78));
511     //jPanel3.setLayout(new GridLayout(3,3));
512 //    autoAnnotSettings1.setBounds(new Rectangle(173,53,274,26));// new Rectangle(173, 116, 274, 78));
513 //    autoAnnotSettings2.setBounds(new Rectangle(173,72,274,26));
514     exportTab.setLayout(null);
515     epsLabel.setFont(verdana11);
516     epsLabel.setHorizontalAlignment(SwingConstants.RIGHT);
517     epsLabel.setText("EPS Rendering Style");
518     epsLabel.setBounds(new Rectangle(9, 31, 140, 24));
519     epsRendering.setFont(verdana11);
520     epsRendering.setBounds(new Rectangle(154, 34, 187, 21));
521     jLabel1.setFont(verdana11);
522     jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
523     jLabel1.setText("Append /start-end (/15-380)");
524     jLabel1.setFont(verdana11);
525     fastajv.setFont(verdana11);
526     fastajv.setHorizontalAlignment(SwingConstants.LEFT);
527     clustaljv.setText("Clustal     ");
528     blcjv.setText("BLC     ");
529     fastajv.setText("Fasta     ");
530     msfjv.setText("MSF     ");
531     pfamjv.setText("PFAM     ");
532     pileupjv.setText("Pileup     ");
533     msfjv.setFont(verdana11);
534     msfjv.setHorizontalAlignment(SwingConstants.LEFT);
535     pirjv.setText("PIR     ");
536     jPanel11.setFont(verdana11);
537     jPanel11.setBorder(titledBorder2);
538     jPanel11.setBounds(new Rectangle(30, 72, 196, 182));
539     jPanel11.setLayout(gridLayout3);
540     blcjv.setFont(verdana11);
541     blcjv.setHorizontalAlignment(SwingConstants.LEFT);
542     clustaljv.setFont(verdana11);
543     clustaljv.setHorizontalAlignment(SwingConstants.LEFT);
544     pfamjv.setFont(verdana11);
545     pfamjv.setHorizontalAlignment(SwingConstants.LEFT);
546     pileupjv.setFont(verdana11);
547     pileupjv.setHorizontalAlignment(SwingConstants.LEFT);
548     pirjv.setFont(verdana11);
549     pirjv.setHorizontalAlignment(SwingConstants.LEFT);
550     seqLimit.setFont(verdana11);
551     seqLimit.setHorizontalAlignment(SwingConstants.RIGHT);
552     seqLimit.setHorizontalTextPosition(SwingConstants.LEFT);
553     seqLimit.setText("Full Sequence Id");
554     gridLayout3.setRows(8);
555     smoothFont.setFont(verdana11);
556     smoothFont.setHorizontalAlignment(SwingConstants.RIGHT);
557     smoothFont.setHorizontalTextPosition(SwingConstants.LEADING);
558     smoothFont.setText("Smooth Font");
559     calcTab.setLayout(null);
560     autoCalculateConsCheck.setFont(new java.awt.Font("Verdana", Font.PLAIN,
561             11));
562     autoCalculateConsCheck.setText("AutoCalculate Consensus");
563     autoCalculateConsCheck.setBounds(new Rectangle(21, 52, 209, 23));
564     padGaps.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
565     padGaps.setText("Pad gaps when editing");
566     padGaps.setBounds(new Rectangle(22, 94, 168, 23));
567     modellerOutput.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
568     modellerOutput.setText("Use Modeller Output");
569     modellerOutput.setBounds(new Rectangle(228, 226, 168, 23));
570     dasPanel.setLayout(borderLayout4);
571     wrap.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
572     wrap.setHorizontalAlignment(SwingConstants.TRAILING);
573     wrap.setHorizontalTextPosition(SwingConstants.LEADING);
574     wrap.setText("Wrap Alignment");
575     rightAlign.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
576     rightAlign.setForeground(Color.black);
577     rightAlign.setHorizontalAlignment(SwingConstants.RIGHT);
578     rightAlign.setHorizontalTextPosition(SwingConstants.LEFT);
579     rightAlign.setText("Right Align Ids");
580     idItalics.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
581     idItalics.setHorizontalAlignment(SwingConstants.RIGHT);
582     idItalics.setHorizontalTextPosition(SwingConstants.LEADING);
583     idItalics.setText("Sequence Name Italics");
584     openoverv.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
585     openoverv.setActionCommand("Open Overview");
586     openoverv.setHorizontalAlignment(SwingConstants.RIGHT);
587     openoverv.setHorizontalTextPosition(SwingConstants.LEFT);
588     openoverv.setText("Open Overview");
589     jPanel2.add(fullScreen);
590     jPanel2.add(openoverv);
591     jPanel2.add(seqLimit);
592     jPanel2.add(rightAlign);
593     jPanel2.add(fontLabel);
594     jPanel2.add(showUnconserved);
595     jPanel2.add(idItalics);
596     jPanel2.add(smoothFont);
597     jPanel2.add(wrap);
598     jPanel2.add(gapLabel);
599     jPanel2.add(colourLabel);
600     jPanel2.add(sortLabel);
601     jPanel2.add(startupCheckbox);
602     visualTab.add(annotations);
603     visualTab.add(startupFileTextfield);
604     visualTab.add(sortby);
605     visualTab.add(colour);
606     visualTab.add(gapSymbolCB);
607     visualTab.add(fontNameCB);
608     visualTab.add(fontSizeCB);
609     visualTab.add(fontStyleCB);
610     annsettingsPanel.setBounds(new Rectangle(173,39,300,62));
611     annsettingsPanel.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));
612     annsettingsPanel.add(autoAnnotSettings1);
613     annsettingsPanel.add(autoAnnotSettings2);
614     annsettingsPanel.add(autoAnnotSettings3);
615     autoAnnotSettings1.setLayout(new GridLayout(3,1,0,0));
616 //  autoAnnotSettings1.setPreferredSize(new Dimensions())
617   autoAnnotSettings2.setLayout(new GridLayout(3,1,0,0));
618   autoAnnotSettings3.setLayout(new GridLayout(3,1,0,0));
619     visualTab.add(annsettingsPanel);
620     //visualTab.add(autoAnnotSettings1);
621     //visualTab.add(autoAnnotSettings2);
622     Border jb = new EmptyBorder(1,1,4,5);
623     quality.setBorder(jb);
624     conservation.setBorder(jb);
625     identity.setBorder(jb);
626     showConsensbits.setBorder(jb);
627     showGroupbits.setBorder(jb);
628     showGroupConsensus.setBorder(jb);
629     showGroupConservation.setBorder(jb);
630     showConsensHistogram.setBorder(jb);
631     showConsensLogo.setBorder(jb);
632     
633     autoAnnotSettings2.add(conservation);
634     autoAnnotSettings1.add(quality);
635     autoAnnotSettings3.add(identity);
636
637     /*FlowLayout fl = new FlowLayout();
638     fl.setAlignment(FlowLayout.LEFT);
639     autoAnnotSettings1.setLayout(fl);
640     fl = new FlowLayout();
641     fl.setAlignment(FlowLayout.LEFT);
642     autoAnnotSettings2.setLayout(fl); */
643     autoAnnotSettings1.add(showGroupbits);
644     autoAnnotSettings3.add(showGroupConsensus);
645     autoAnnotSettings2.add(showGroupConservation);
646     autoAnnotSettings1.add(showConsensbits);
647     autoAnnotSettings2.add(showConsensHistogram);
648     autoAnnotSettings3.add(showConsensLogo);
649     visualTab.add(jPanel2);
650
651     linkPanel.add(editLinkButtons, BorderLayout.EAST);
652     editLinkButtons.add(newLink, null);
653     editLinkButtons.add(editLink, null);
654     editLinkButtons.add(deleteLink, null);
655     linkPanel.add(linkScrollPane, BorderLayout.CENTER);
656     linkScrollPane.getViewport().add(linkPanel2, null);
657     linkPanel2.add(linkURLList, BorderLayout.CENTER);
658     linkPanel2.add(linkNameList, BorderLayout.WEST);
659     okCancelPanel.add(ok);
660     okCancelPanel.add(cancel);
661     this.add(tabbedPane, java.awt.BorderLayout.CENTER);
662
663     this.add(okCancelPanel, java.awt.BorderLayout.SOUTH);
664     jPanel1.add(serverLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0,
665             GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0,
666                     2, 4, 0), 5, 0));
667     jPanel1.add(portLabel, new GridBagConstraints(2, 1, 1, 1, 0.0, 0.0,
668             GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0,
669                     0, 4, 0), 11, 6));
670     connectTab.add(linkPanel, new GridBagConstraints(0, 0, 2, 1, 1.0, 1.0,
671             GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(
672                     16, 0, 0, 12), 359, -17));
673     connectTab.add(jPanel1, new GridBagConstraints(0, 2, 2, 1, 1.0, 1.0,
674             GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(
675                     21, 0, 35, 12), 4, 6));
676     connectTab.add(browserLabel, new GridBagConstraints(0, 1, 1, 1, 0.0,
677             0.0, GridBagConstraints.WEST, GridBagConstraints.NONE,
678             new Insets(16, 0, 0, 0), 5, 1));
679     jPanel1.add(proxyPortTB, new GridBagConstraints(3, 1, 1, 1, 1.0, 0.0,
680             GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL,
681             new Insets(0, 2, 4, 2), 54, 1));
682     jPanel1.add(proxyServerTB, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0,
683             GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL,
684             new Insets(0, 2, 4, 0), 263, 1));
685     connectTab.add(defaultBrowser, new GridBagConstraints(1, 1, 1, 1, 1.0,
686             0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL,
687             new Insets(15, 0, 0, 15), 307, 1));
688     connectTab.add(usagestats, new GridBagConstraints(0, 4, 1, 1, 1.0,
689             0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL,
690             new Insets(0, 2, 4,2), 70, 1));
691     connectTab.add(questionnaire, new GridBagConstraints(1, 4, 1, 1, 1.0,
692             0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL,
693             new Insets(0, 2, 4,2), 70, 1));
694     connectTab.add(versioncheck, new GridBagConstraints(0, 5, 1, 1, 1.0,
695             0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL,
696             new Insets(0, 2, 4,2), 70, 1));
697     
698     jPanel1.add(useProxy, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0,
699             GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0,
700                     2, 5, 185), 2, -4));
701     DefaultListCellRenderer dlcr = new DefaultListCellRenderer();
702     dlcr.setHorizontalAlignment(DefaultListCellRenderer.CENTER);
703     gapSymbolCB.setRenderer(dlcr);
704
705     tabbedPane.add(visualTab, "Visual");
706     tabbedPane.add(connectTab, "Connections");
707     tabbedPane.add(exportTab, "Output");
708     jPanel11.add(jLabel1);
709     jPanel11.add(blcjv);
710     jPanel11.add(clustaljv);
711     jPanel11.add(fastajv);
712     jPanel11.add(msfjv);
713     jPanel11.add(pfamjv);
714     jPanel11.add(pileupjv);
715     jPanel11.add(pirjv);
716     exportTab.add(modellerOutput);
717     tabbedPane.add(calcTab, "Editing");
718     calcTab.add(autoCalculateConsCheck);
719     calcTab.add(padGaps);
720     tabbedPane.add(dasPanel, "DAS Settings");
721
722     exportTab.add(epsLabel);
723     exportTab.add(epsRendering);
724     exportTab.add(jPanel11);
725   }
726
727   protected void showunconserved_actionPerformed(ActionEvent e)
728   {
729     // TODO Auto-generated method stub
730     
731   }
732
733   /**
734    * DOCUMENT ME!
735    * 
736    * @param e
737    *                DOCUMENT ME!
738    */
739   public void ok_actionPerformed(ActionEvent e)
740   {
741   }
742
743   /**
744    * DOCUMENT ME!
745    * 
746    * @param e
747    *                DOCUMENT ME!
748    */
749   public void cancel_actionPerformed(ActionEvent e)
750   {
751   }
752
753   /**
754    * DOCUMENT ME!
755    * 
756    * @param e
757    *                DOCUMENT ME!
758    */
759   public void annotations_actionPerformed(ActionEvent e)
760   {
761   }
762
763   /**
764    * DOCUMENT ME!
765    */
766   public void startupFileTextfield_mouseClicked()
767   {
768   }
769
770   public void newLink_actionPerformed(ActionEvent e)
771   {
772
773   }
774
775   public void editLink_actionPerformed(ActionEvent e)
776   {
777
778   }
779
780   public void deleteLink_actionPerformed(ActionEvent e)
781   {
782
783   }
784
785   public void defaultBrowser_mouseClicked(MouseEvent e)
786   {
787
788   }
789
790   public void linkURLList_keyTyped(KeyEvent e)
791   {
792
793   }
794
795   public void useProxy_actionPerformed()
796   {
797     proxyServerTB.setEnabled(useProxy.isSelected());
798     proxyPortTB.setEnabled(useProxy.isSelected());
799   }
800
801 }