clarity of tree menu calculation widget name
[jalview.git] / src / jalview / jbgui / GAlignFrame.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
3  * Copyright (C) 2008 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.event.*;
26
27 import jalview.schemes.*;
28
29 public class GAlignFrame extends JInternalFrame
30 {
31   protected JMenuBar alignFrameMenuBar = new JMenuBar();
32
33   protected JMenu fileMenu = new JMenu();
34
35   protected JMenuItem closeMenuItem = new JMenuItem();
36
37   protected JMenu editMenu = new JMenu();
38
39   protected JMenu viewMenu = new JMenu();
40
41   protected JMenu colourMenu = new JMenu();
42
43   protected JMenu calculateMenu = new JMenu();
44
45   protected JMenu webService = new JMenu();
46
47   protected JMenuItem webServiceNoServices;
48
49   protected JMenuItem selectAllSequenceMenuItem = new JMenuItem();
50
51   protected JMenuItem deselectAllSequenceMenuItem = new JMenuItem();
52
53   protected JMenuItem invertSequenceMenuItem = new JMenuItem();
54
55   protected JMenuItem remove2LeftMenuItem = new JMenuItem();
56
57   protected JMenuItem remove2RightMenuItem = new JMenuItem();
58
59   protected JMenuItem removeGappedColumnMenuItem = new JMenuItem();
60
61   protected JMenuItem removeAllGapsMenuItem = new JMenuItem();
62
63   public JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
64
65   public JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
66
67   protected JMenuItem sortPairwiseMenuItem = new JMenuItem();
68
69   protected JMenuItem sortIDMenuItem = new JMenuItem();
70
71   protected JMenuItem sortGroupMenuItem = new JMenuItem();
72
73   protected JMenu sortByAnnotScore = new JMenu();
74
75   protected JMenuItem removeRedundancyMenuItem = new JMenuItem();
76
77   protected JMenuItem pairwiseAlignmentMenuItem = new JMenuItem();
78
79   protected JMenuItem PCAMenuItem = new JMenuItem();
80
81   protected JMenuItem averageDistanceTreeMenuItem = new JMenuItem();
82
83   protected JMenuItem neighbourTreeMenuItem = new JMenuItem();
84
85   BorderLayout borderLayout1 = new BorderLayout();
86
87   public JLabel statusBar = new JLabel();
88
89   protected JMenuItem saveAs = new JMenuItem();
90
91   protected JMenu outputTextboxMenu = new JMenu();
92
93   protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();
94
95   protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();
96
97   protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();
98
99   protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem();
100
101   protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();
102
103   protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();
104
105   protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();
106
107   protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();
108
109   protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();
110
111   protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();
112
113   protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();
114
115   JMenuItem njTreeBlosumMenuItem = new JMenuItem();
116
117   JMenuItem avDistanceTreeBlosumMenuItem = new JMenuItem();
118
119   public JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
120
121   public JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
122
123   JMenuItem htmlMenuItem = new JMenuItem();
124
125   JMenuItem overviewMenuItem = new JMenuItem();
126
127   protected JMenuItem undoMenuItem = new JMenuItem();
128
129   protected JMenuItem redoMenuItem = new JMenuItem();
130
131   public JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();
132
133   JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();
134
135   public JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
136
137   JMenuItem printMenuItem = new JMenuItem();
138
139   public JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
140
141   JMenuItem findMenuItem = new JMenuItem();
142
143   public JCheckBoxMenuItem abovePIDThreshold = new JCheckBoxMenuItem();
144
145   public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
146
147   protected JRadioButtonMenuItem nucleotideColour = new JRadioButtonMenuItem();
148
149   JMenuItem deleteGroups = new JMenuItem();
150
151   JMenuItem delete = new JMenuItem();
152
153   JMenuItem copy = new JMenuItem();
154
155   JMenuItem cut = new JMenuItem();
156
157   JMenu pasteMenu = new JMenu();
158
159   JMenuItem pasteNew = new JMenuItem();
160
161   JMenuItem pasteThis = new JMenuItem();
162
163   public JCheckBoxMenuItem applyToAllGroups = new JCheckBoxMenuItem();
164
165   JMenuItem createPNG = new JMenuItem();
166
167   protected JMenuItem font = new JMenuItem();
168
169   public JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
170
171   JMenuItem epsFile = new JMenuItem();
172
173   JMenuItem LoadtreeMenuItem = new JMenuItem();
174
175   public JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
176
177   public JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
178
179   public JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
180
181   protected JMenuItem modifyPID = new JMenuItem();
182
183   protected JMenuItem modifyConservation = new JMenuItem();
184
185   protected JMenu sortByTreeMenu = new JMenu();
186
187   protected JMenu sort = new JMenu();
188
189   protected JMenu calculateTree = new JMenu();
190
191   JMenu jMenu2 = new JMenu();
192
193   protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
194   protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
195   protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
196
197   protected ButtonGroup colours = new ButtonGroup();
198
199   JMenuItem vamsasStore = new JMenuItem();
200
201   protected JMenuItem showTranslation = new JMenuItem();
202
203   protected JMenuItem extractScores = new JMenuItem();
204
205   protected JMenu showProducts = new JMenu();
206
207   public JMenuItem featureSettings = new JMenuItem();
208
209   JMenuItem fetchSequence = new JMenuItem();
210
211   JMenuItem annotationColour = new JMenuItem();
212
213   JMenuItem associatedData = new JMenuItem();
214
215   protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
216
217   JMenu addSequenceMenu = new JMenu();
218
219   JMenuItem addFromFile = new JMenuItem();
220
221   JMenuItem addFromText = new JMenuItem();
222
223   JMenuItem addFromURL = new JMenuItem();
224
225   JMenuItem exportAnnotations = new JMenuItem();
226
227   JMenuItem exportFeatures = new JMenuItem();
228
229   protected JPanel statusPanel = new JPanel();
230
231   GridLayout gridLayout1 = new GridLayout();
232
233   JMenu jMenu3 = new JMenu();
234   
235   JMenuItem showAllSeqs = new JMenuItem();
236
237   JMenuItem showAllColumns = new JMenuItem();
238
239   JMenu hideMenu = new JMenu();
240
241   JMenuItem hideSelSequences = new JMenuItem();
242
243   JMenuItem hideSelColumns = new JMenuItem();
244
245   protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
246
247   JMenuItem invertColSel = new JMenuItem();
248
249   protected JTabbedPane tabbedPane = new JTabbedPane();
250
251   JMenuItem save = new JMenuItem();
252
253   protected JMenuItem reload = new JMenuItem();
254
255   JMenuItem newView = new JMenuItem();
256
257   JMenuItem textColour = new JMenuItem();
258
259   JMenu formatMenu = new JMenu();
260
261   JMenu selectMenu = new JMenu();
262
263   protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
264
265   protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem();
266
267   protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem();
268   
269   protected JMenuItem gatherViews = new JMenuItem();
270
271   protected JMenuItem expandViews = new JMenuItem();
272
273   JMenuItem pageSetup = new JMenuItem();
274
275   JMenuItem alignmentProperties = new JMenuItem();
276   
277   JMenu tooltipSettingsMenu = new JMenu();
278   
279   public GAlignFrame()
280   {
281     try
282     {
283       jbInit();
284       setJMenuBar(alignFrameMenuBar);
285
286       // dynamically fill save as menu with available formats
287       for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)
288       {
289         JMenuItem item = new JMenuItem(
290                 jalview.io.FormatAdapter.WRITEABLE_FORMATS[i]);
291
292         item.addActionListener(new java.awt.event.ActionListener()
293         {
294           public void actionPerformed(ActionEvent e)
295           {
296             outputText_actionPerformed(e);
297           }
298         });
299
300         outputTextboxMenu.add(item);
301       }
302     } catch (Exception e)
303     {
304     }
305
306     if (!new jalview.util.Platform().isAMac())
307     {
308       closeMenuItem.setMnemonic('C');
309       outputTextboxMenu.setMnemonic('T');
310       undoMenuItem.setMnemonic('Z');
311       redoMenuItem.setMnemonic('0');
312       copy.setMnemonic('C');
313       cut.setMnemonic('U');
314       pasteMenu.setMnemonic('P');
315       reload.setMnemonic('R');
316     }
317
318     if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
319     {
320       java.util.Enumeration userColours = jalview.gui.UserDefinedColours
321               .getUserColourSchemes().keys();
322
323       while (userColours.hasMoreElements())
324       {
325         final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(
326                 userColours.nextElement().toString());
327         radioItem.setName("USER_DEFINED");
328         radioItem.addMouseListener(new MouseAdapter()
329         {
330           public void mousePressed(MouseEvent evt)
331           {
332             if (evt.isControlDown()
333                     || SwingUtilities.isRightMouseButton(evt))
334             {
335               radioItem
336                       .removeActionListener(radioItem.getActionListeners()[0]);
337
338               int option = JOptionPane.showInternalConfirmDialog(
339                       jalview.gui.Desktop.desktop,
340                       "Remove from default list?",
341                       "Remove user defined colour",
342                       JOptionPane.YES_NO_OPTION);
343               if (option == JOptionPane.YES_OPTION)
344               {
345                 jalview.gui.UserDefinedColours
346                         .removeColourFromDefaults(radioItem.getText());
347                 colourMenu.remove(radioItem);
348               }
349               else
350               {
351                 radioItem.addActionListener(new ActionListener()
352                 {
353                   public void actionPerformed(ActionEvent evt)
354                   {
355                     userDefinedColour_actionPerformed(evt);
356                   }
357                 });
358               }
359             }
360           }
361         });
362         radioItem.addActionListener(new ActionListener()
363         {
364           public void actionPerformed(ActionEvent evt)
365           {
366             userDefinedColour_actionPerformed(evt);
367           }
368         });
369         colourMenu.insert(radioItem, 15);
370         colours.add(radioItem);
371       }
372     }
373     colours.add(noColourmenuItem);
374     colours.add(clustalColour);
375     colours.add(zappoColour);
376     colours.add(taylorColour);
377     colours.add(hydrophobicityColour);
378     colours.add(helixColour);
379     colours.add(strandColour);
380     colours.add(turnColour);
381     colours.add(buriedColour);
382     colours.add(userDefinedColour);
383     colours.add(PIDColour);
384     colours.add(BLOSUM62Colour);
385     colours.add(nucleotideColour);
386
387     setColourSelected(jalview.bin.Cache
388             .getDefault("DEFAULT_COLOUR", "None"));
389
390   }
391
392   public void setColourSelected(String defaultColour)
393   {
394
395     if (defaultColour != null)
396     {
397       int index = ColourSchemeProperty
398               .getColourIndexFromName(defaultColour);
399
400       switch (index)
401       {
402       case ColourSchemeProperty.NONE:
403         noColourmenuItem.setSelected(true);
404         break;
405       case ColourSchemeProperty.CLUSTAL:
406         clustalColour.setSelected(true);
407
408         break;
409
410       case ColourSchemeProperty.BLOSUM:
411         BLOSUM62Colour.setSelected(true);
412
413         break;
414
415       case ColourSchemeProperty.PID:
416         PIDColour.setSelected(true);
417
418         break;
419
420       case ColourSchemeProperty.ZAPPO:
421         zappoColour.setSelected(true);
422
423         break;
424
425       case ColourSchemeProperty.TAYLOR:
426         taylorColour.setSelected(true);
427         break;
428
429       case ColourSchemeProperty.HYDROPHOBIC:
430         hydrophobicityColour.setSelected(true);
431
432         break;
433
434       case ColourSchemeProperty.HELIX:
435         helixColour.setSelected(true);
436
437         break;
438
439       case ColourSchemeProperty.STRAND:
440         strandColour.setSelected(true);
441
442         break;
443
444       case ColourSchemeProperty.TURN:
445         turnColour.setSelected(true);
446
447         break;
448
449       case ColourSchemeProperty.BURIED:
450         buriedColour.setSelected(true);
451
452         break;
453
454       case ColourSchemeProperty.NUCLEOTIDE:
455         nucleotideColour.setSelected(true);
456
457         break;
458
459       case ColourSchemeProperty.USER_DEFINED:
460         userDefinedColour.setSelected(true);
461
462         break;
463       }
464     }
465
466   }
467
468   private void jbInit() throws Exception
469   {
470     fileMenu.setText("File");
471     saveAs.setText("Save As...");
472     saveAs.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
473             java.awt.event.KeyEvent.VK_S, Toolkit.getDefaultToolkit()
474                     .getMenuShortcutKeyMask()
475                     | java.awt.event.KeyEvent.SHIFT_MASK, false));
476     saveAs.addActionListener(new ActionListener()
477     {
478       public void actionPerformed(ActionEvent e)
479       {
480         saveAs_actionPerformed(e);
481       }
482     });
483     closeMenuItem.setText("Close");
484     closeMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
485             java.awt.event.KeyEvent.VK_W, Toolkit.getDefaultToolkit()
486                     .getMenuShortcutKeyMask(), false));
487     closeMenuItem.addActionListener(new java.awt.event.ActionListener()
488     {
489       public void actionPerformed(ActionEvent e)
490       {
491         closeMenuItem_actionPerformed(false);
492       }
493     });
494     editMenu.setText("Edit");
495     viewMenu.setText("View");
496     colourMenu.setText("Colour");
497     calculateMenu.setText("Calculate");
498     webService.setText("Web Service");
499     selectAllSequenceMenuItem.setText("Select All");
500     selectAllSequenceMenuItem.setAccelerator(javax.swing.KeyStroke
501             .getKeyStroke(java.awt.event.KeyEvent.VK_A, Toolkit
502                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
503     selectAllSequenceMenuItem
504             .addActionListener(new java.awt.event.ActionListener()
505             {
506               public void actionPerformed(ActionEvent e)
507               {
508                 selectAllSequenceMenuItem_actionPerformed(e);
509               }
510             });
511     deselectAllSequenceMenuItem.setText("Deselect All");
512     deselectAllSequenceMenuItem.setAccelerator(javax.swing.KeyStroke
513             .getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false));
514     deselectAllSequenceMenuItem
515             .addActionListener(new java.awt.event.ActionListener()
516             {
517               public void actionPerformed(ActionEvent e)
518               {
519                 deselectAllSequenceMenuItem_actionPerformed(e);
520               }
521             });
522     invertSequenceMenuItem.setText("Invert Sequence Selection");
523     invertSequenceMenuItem.setAccelerator(javax.swing.KeyStroke
524             .getKeyStroke(java.awt.event.KeyEvent.VK_I, Toolkit
525                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
526     invertSequenceMenuItem
527             .addActionListener(new java.awt.event.ActionListener()
528             {
529               public void actionPerformed(ActionEvent e)
530               {
531                 invertSequenceMenuItem_actionPerformed(e);
532               }
533             });
534     remove2LeftMenuItem.setText("Remove Left");
535     remove2LeftMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
536             java.awt.event.KeyEvent.VK_L, Toolkit.getDefaultToolkit()
537                     .getMenuShortcutKeyMask(), false));
538     remove2LeftMenuItem
539             .addActionListener(new java.awt.event.ActionListener()
540             {
541               public void actionPerformed(ActionEvent e)
542               {
543                 remove2LeftMenuItem_actionPerformed(e);
544               }
545             });
546     remove2RightMenuItem.setText("Remove Right");
547     remove2RightMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
548             java.awt.event.KeyEvent.VK_R, Toolkit.getDefaultToolkit()
549                     .getMenuShortcutKeyMask(), false));
550     remove2RightMenuItem
551             .addActionListener(new java.awt.event.ActionListener()
552             {
553               public void actionPerformed(ActionEvent e)
554               {
555                 remove2RightMenuItem_actionPerformed(e);
556               }
557             });
558     removeGappedColumnMenuItem.setText("Remove Empty Columns");
559     removeGappedColumnMenuItem.setAccelerator(javax.swing.KeyStroke
560             .getKeyStroke(java.awt.event.KeyEvent.VK_E, Toolkit
561                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
562     removeGappedColumnMenuItem
563             .addActionListener(new java.awt.event.ActionListener()
564             {
565               public void actionPerformed(ActionEvent e)
566               {
567                 removeGappedColumnMenuItem_actionPerformed(e);
568               }
569             });
570     removeAllGapsMenuItem.setText("Remove All Gaps");
571     removeAllGapsMenuItem.setAccelerator(javax.swing.KeyStroke
572             .getKeyStroke(java.awt.event.KeyEvent.VK_E, Toolkit
573                     .getDefaultToolkit().getMenuShortcutKeyMask()
574                     | java.awt.event.KeyEvent.SHIFT_MASK, false));
575     removeAllGapsMenuItem
576             .addActionListener(new java.awt.event.ActionListener()
577             {
578               public void actionPerformed(ActionEvent e)
579               {
580                 removeAllGapsMenuItem_actionPerformed(e);
581               }
582             });
583     viewBoxesMenuItem.setText("Boxes");
584     viewBoxesMenuItem.setState(true);
585     viewBoxesMenuItem.addActionListener(new java.awt.event.ActionListener()
586     {
587       public void actionPerformed(ActionEvent e)
588       {
589         viewBoxesMenuItem_actionPerformed(e);
590       }
591     });
592     viewTextMenuItem.setText("Text");
593     viewTextMenuItem.setState(true);
594     viewTextMenuItem.addActionListener(new java.awt.event.ActionListener()
595     {
596       public void actionPerformed(ActionEvent e)
597       {
598         viewTextMenuItem_actionPerformed(e);
599       }
600     });
601     sortPairwiseMenuItem.setText("by Pairwise Identity");
602     sortPairwiseMenuItem
603             .addActionListener(new java.awt.event.ActionListener()
604             {
605               public void actionPerformed(ActionEvent e)
606               {
607                 sortPairwiseMenuItem_actionPerformed(e);
608               }
609             });
610     sortIDMenuItem.setText("by ID");
611     sortIDMenuItem.addActionListener(new java.awt.event.ActionListener()
612     {
613       public void actionPerformed(ActionEvent e)
614       {
615         sortIDMenuItem_actionPerformed(e);
616       }
617     });
618     sortGroupMenuItem.setText("by Group");
619     sortGroupMenuItem.addActionListener(new java.awt.event.ActionListener()
620     {
621       public void actionPerformed(ActionEvent e)
622       {
623         sortGroupMenuItem_actionPerformed(e);
624       }
625     });
626     removeRedundancyMenuItem.setText("Remove Redundancy...");
627     removeRedundancyMenuItem.setAccelerator(javax.swing.KeyStroke
628             .getKeyStroke(java.awt.event.KeyEvent.VK_D, Toolkit
629                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
630     removeRedundancyMenuItem
631             .addActionListener(new java.awt.event.ActionListener()
632             {
633               public void actionPerformed(ActionEvent e)
634               {
635                 removeRedundancyMenuItem_actionPerformed(e);
636               }
637             });
638     pairwiseAlignmentMenuItem.setText("Pairwise Alignments...");
639     pairwiseAlignmentMenuItem
640             .addActionListener(new java.awt.event.ActionListener()
641             {
642               public void actionPerformed(ActionEvent e)
643               {
644                 pairwiseAlignmentMenuItem_actionPerformed(e);
645               }
646             });
647     PCAMenuItem.setText("Principal Component Analysis");
648     PCAMenuItem.addActionListener(new java.awt.event.ActionListener()
649     {
650       public void actionPerformed(ActionEvent e)
651       {
652         PCAMenuItem_actionPerformed(e);
653       }
654     });
655     averageDistanceTreeMenuItem
656             .setText("Average Distance Using % Identity");
657     averageDistanceTreeMenuItem
658             .addActionListener(new java.awt.event.ActionListener()
659             {
660               public void actionPerformed(ActionEvent e)
661               {
662                 averageDistanceTreeMenuItem_actionPerformed(e);
663               }
664             });
665     neighbourTreeMenuItem.setText("Neighbour Joining Using % Identity");
666     neighbourTreeMenuItem
667             .addActionListener(new java.awt.event.ActionListener()
668             {
669               public void actionPerformed(ActionEvent e)
670               {
671                 neighbourTreeMenuItem_actionPerformed(e);
672               }
673             });
674     this.getContentPane().setLayout(borderLayout1);
675     alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
676     statusBar.setBackground(Color.white);
677     statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
678     statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
679     statusBar.setText("Status bar");
680     outputTextboxMenu.setText("Output to Textbox");
681     clustalColour.setText("Clustalx");
682
683     clustalColour.addActionListener(new java.awt.event.ActionListener()
684     {
685       public void actionPerformed(ActionEvent e)
686       {
687         clustalColour_actionPerformed(e);
688       }
689     });
690     zappoColour.setText("Zappo");
691     zappoColour.addActionListener(new java.awt.event.ActionListener()
692     {
693       public void actionPerformed(ActionEvent e)
694       {
695         zappoColour_actionPerformed(e);
696       }
697     });
698     taylorColour.setText("Taylor");
699     taylorColour.addActionListener(new java.awt.event.ActionListener()
700     {
701       public void actionPerformed(ActionEvent e)
702       {
703         taylorColour_actionPerformed(e);
704       }
705     });
706     hydrophobicityColour.setText("Hydrophobicity");
707     hydrophobicityColour
708             .addActionListener(new java.awt.event.ActionListener()
709             {
710               public void actionPerformed(ActionEvent e)
711               {
712                 hydrophobicityColour_actionPerformed(e);
713               }
714             });
715     helixColour.setText("Helix Propensity");
716     helixColour.addActionListener(new java.awt.event.ActionListener()
717     {
718       public void actionPerformed(ActionEvent e)
719       {
720         helixColour_actionPerformed(e);
721       }
722     });
723     strandColour.setText("Strand Propensity");
724     strandColour.addActionListener(new java.awt.event.ActionListener()
725     {
726       public void actionPerformed(ActionEvent e)
727       {
728         strandColour_actionPerformed(e);
729       }
730     });
731     turnColour.setText("Turn Propensity");
732     turnColour.addActionListener(new java.awt.event.ActionListener()
733     {
734       public void actionPerformed(ActionEvent e)
735       {
736         turnColour_actionPerformed(e);
737       }
738     });
739     buriedColour.setText("Buried Index");
740     buriedColour.addActionListener(new java.awt.event.ActionListener()
741     {
742       public void actionPerformed(ActionEvent e)
743       {
744         buriedColour_actionPerformed(e);
745       }
746     });
747     userDefinedColour.setText("User Defined...");
748     userDefinedColour.addActionListener(new java.awt.event.ActionListener()
749     {
750       public void actionPerformed(ActionEvent e)
751       {
752         userDefinedColour_actionPerformed(e);
753       }
754     });
755     PIDColour.setText("Percentage Identity");
756     PIDColour.addActionListener(new java.awt.event.ActionListener()
757     {
758       public void actionPerformed(ActionEvent e)
759       {
760         PIDColour_actionPerformed(e);
761       }
762     });
763     BLOSUM62Colour.setText("BLOSUM62 Score");
764     BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener()
765     {
766       public void actionPerformed(ActionEvent e)
767       {
768         BLOSUM62Colour_actionPerformed(e);
769       }
770     });
771     avDistanceTreeBlosumMenuItem.setText("Average Distance Using BLOSUM62");
772     avDistanceTreeBlosumMenuItem
773             .addActionListener(new java.awt.event.ActionListener()
774             {
775               public void actionPerformed(ActionEvent e)
776               {
777                 avTreeBlosumMenuItem_actionPerformed(e);
778               }
779             });
780     njTreeBlosumMenuItem.setText("Neighbour Joining using BLOSUM62");
781     njTreeBlosumMenuItem
782             .addActionListener(new java.awt.event.ActionListener()
783             {
784               public void actionPerformed(ActionEvent e)
785               {
786                 njTreeBlosumMenuItem_actionPerformed(e);
787               }
788             });
789     annotationPanelMenuItem.setActionCommand("");
790     annotationPanelMenuItem.setText("Show Annotations");
791     annotationPanelMenuItem.setState(jalview.bin.Cache.getDefault(
792             "SHOW_ANNOTATIONS", true));
793     annotationPanelMenuItem
794             .addActionListener(new java.awt.event.ActionListener()
795             {
796               public void actionPerformed(ActionEvent e)
797               {
798                 annotationPanelMenuItem_actionPerformed(e);
799               }
800             });
801     colourTextMenuItem.setText("Colour Text");
802     colourTextMenuItem
803             .addActionListener(new java.awt.event.ActionListener()
804             {
805               public void actionPerformed(ActionEvent e)
806               {
807                 colourTextMenuItem_actionPerformed(e);
808               }
809             });
810     htmlMenuItem.setText("HTML");
811     htmlMenuItem.addActionListener(new java.awt.event.ActionListener()
812     {
813       public void actionPerformed(ActionEvent e)
814       {
815         htmlMenuItem_actionPerformed(e);
816       }
817     });
818     overviewMenuItem.setText("Overview Window");
819     overviewMenuItem.addActionListener(new java.awt.event.ActionListener()
820     {
821       public void actionPerformed(ActionEvent e)
822       {
823         overviewMenuItem_actionPerformed(e);
824       }
825     });
826     undoMenuItem.setEnabled(false);
827     undoMenuItem.setText("Undo");
828     undoMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
829             java.awt.event.KeyEvent.VK_Z, Toolkit.getDefaultToolkit()
830                     .getMenuShortcutKeyMask(), false));
831     undoMenuItem.addActionListener(new java.awt.event.ActionListener()
832     {
833       public void actionPerformed(ActionEvent e)
834       {
835         undoMenuItem_actionPerformed(e);
836       }
837     });
838     redoMenuItem.setEnabled(false);
839     redoMenuItem.setText("Redo");
840     redoMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
841             java.awt.event.KeyEvent.VK_Y, Toolkit.getDefaultToolkit()
842                     .getMenuShortcutKeyMask(), false));
843     redoMenuItem.addActionListener(new java.awt.event.ActionListener()
844     {
845       public void actionPerformed(ActionEvent e)
846       {
847         redoMenuItem_actionPerformed(e);
848       }
849     });
850     conservationMenuItem.setText("By Conservation");
851     conservationMenuItem
852             .addActionListener(new java.awt.event.ActionListener()
853             {
854               public void actionPerformed(ActionEvent e)
855               {
856                 conservationMenuItem_actionPerformed(e);
857               }
858             });
859     noColourmenuItem.setText("None");
860     noColourmenuItem.addActionListener(new java.awt.event.ActionListener()
861     {
862       public void actionPerformed(ActionEvent e)
863       {
864         noColourmenuItem_actionPerformed(e);
865       }
866     });
867     wrapMenuItem.setText("Wrap");
868     wrapMenuItem.addActionListener(new java.awt.event.ActionListener()
869     {
870       public void actionPerformed(ActionEvent e)
871       {
872         wrapMenuItem_actionPerformed(e);
873       }
874     });
875     printMenuItem.setText("Print ...");
876     printMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
877             java.awt.event.KeyEvent.VK_P, Toolkit.getDefaultToolkit()
878                     .getMenuShortcutKeyMask(), false));
879     printMenuItem.addActionListener(new java.awt.event.ActionListener()
880     {
881       public void actionPerformed(ActionEvent e)
882       {
883         printMenuItem_actionPerformed(e);
884       }
885     });
886     renderGapsMenuItem.setText("Show Gaps");
887     renderGapsMenuItem.setState(true);
888     renderGapsMenuItem
889             .addActionListener(new java.awt.event.ActionListener()
890             {
891               public void actionPerformed(ActionEvent e)
892               {
893                 renderGapsMenuItem_actionPerformed(e);
894               }
895             });
896     findMenuItem.setText("Find...");
897     findMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
898             java.awt.event.KeyEvent.VK_F, Toolkit.getDefaultToolkit()
899                     .getMenuShortcutKeyMask(), false));
900     findMenuItem.addActionListener(new java.awt.event.ActionListener()
901     {
902       public void actionPerformed(ActionEvent e)
903       {
904         findMenuItem_actionPerformed(e);
905       }
906     });
907     abovePIDThreshold.setText("Above Identity Threshold");
908     abovePIDThreshold.addActionListener(new java.awt.event.ActionListener()
909     {
910       public void actionPerformed(ActionEvent e)
911       {
912         abovePIDThreshold_actionPerformed(e);
913       }
914     });
915     showSeqFeatures.setText("Show Sequence Features");
916     showSeqFeatures.addActionListener(new ActionListener()
917     {
918       public void actionPerformed(ActionEvent actionEvent)
919       {
920         showSeqFeatures_actionPerformed(actionEvent);
921       }
922     });
923     showDbRefsMenuitem.setText("Show Database Refs");
924     showDbRefsMenuitem.addActionListener(new ActionListener()
925     {
926
927       public void actionPerformed(ActionEvent e)
928       {
929         showDbRefs_actionPerformed(e);
930       }
931       
932     });
933     showNpFeatsMenuitem.setText("Show Non-Positional Features");
934     showNpFeatsMenuitem.addActionListener(new ActionListener()
935     {
936
937       public void actionPerformed(ActionEvent e)
938       {
939         showNpFeats_actionPerformed(e);
940       }
941       
942     });
943     nucleotideColour.setText("Nucleotide");
944     nucleotideColour.addActionListener(new java.awt.event.ActionListener()
945     {
946       public void actionPerformed(ActionEvent e)
947       {
948         nucleotideColour_actionPerformed(e);
949       }
950     });
951     deleteGroups.setText("Undefine groups");
952     deleteGroups.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
953             java.awt.event.KeyEvent.VK_U, Toolkit.getDefaultToolkit()
954                     .getMenuShortcutKeyMask(), false));
955     deleteGroups.addActionListener(new java.awt.event.ActionListener()
956     {
957       public void actionPerformed(ActionEvent e)
958       {
959         deleteGroups_actionPerformed(e);
960       }
961     });
962     copy.setText("Copy");
963     copy.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
964             java.awt.event.KeyEvent.VK_C, Toolkit.getDefaultToolkit()
965                     .getMenuShortcutKeyMask(), false));
966
967     copy.addActionListener(new java.awt.event.ActionListener()
968     {
969       public void actionPerformed(ActionEvent e)
970       {
971         copy_actionPerformed(e);
972       }
973     });
974     cut.setText("Cut");
975     cut.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
976             java.awt.event.KeyEvent.VK_X, Toolkit.getDefaultToolkit()
977                     .getMenuShortcutKeyMask(), false));
978     cut.addActionListener(new java.awt.event.ActionListener()
979     {
980       public void actionPerformed(ActionEvent e)
981       {
982         cut_actionPerformed(e);
983       }
984     });
985     delete.setText("Delete");
986     delete.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
987             java.awt.event.KeyEvent.VK_BACK_SPACE, 0, false));
988     delete.addActionListener(new java.awt.event.ActionListener()
989     {
990       public void actionPerformed(ActionEvent e)
991       {
992         delete_actionPerformed(e);
993       }
994     });
995     pasteMenu.setText("Paste");
996     pasteNew.setText("To New Alignment");
997     pasteNew.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
998             java.awt.event.KeyEvent.VK_V, Toolkit.getDefaultToolkit()
999                     .getMenuShortcutKeyMask()
1000                     | java.awt.event.KeyEvent.SHIFT_MASK, false));
1001     pasteNew.addActionListener(new java.awt.event.ActionListener()
1002     {
1003       public void actionPerformed(ActionEvent e)
1004       {
1005         pasteNew_actionPerformed(e);
1006       }
1007     });
1008     pasteThis.setText("Add To This Alignment");
1009     pasteThis.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1010             java.awt.event.KeyEvent.VK_V, Toolkit.getDefaultToolkit()
1011                     .getMenuShortcutKeyMask(), false));
1012     pasteThis.addActionListener(new java.awt.event.ActionListener()
1013     {
1014       public void actionPerformed(ActionEvent e)
1015       {
1016         pasteThis_actionPerformed(e);
1017       }
1018     });
1019     applyToAllGroups.setText("Apply Colour To All Groups");
1020     applyToAllGroups.addActionListener(new java.awt.event.ActionListener()
1021     {
1022       public void actionPerformed(ActionEvent e)
1023       {
1024         applyToAllGroups_actionPerformed(e);
1025       }
1026     });
1027     createPNG.addActionListener(new java.awt.event.ActionListener()
1028     {
1029       public void actionPerformed(ActionEvent e)
1030       {
1031         createPNG(null);
1032       }
1033     });
1034     createPNG.setActionCommand("Save As PNG Image");
1035     createPNG.setText("PNG");
1036     font.setText("Font...");
1037     font.addActionListener(new java.awt.event.ActionListener()
1038     {
1039       public void actionPerformed(ActionEvent e)
1040       {
1041         font_actionPerformed(e);
1042       }
1043     });
1044
1045     seqLimits.setText("Show Sequence Limits");
1046     seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true));
1047     seqLimits.addActionListener(new java.awt.event.ActionListener()
1048     {
1049       public void actionPerformed(ActionEvent e)
1050       {
1051         seqLimit_actionPerformed(e);
1052       }
1053     });
1054     epsFile.setText("EPS");
1055     epsFile.addActionListener(new java.awt.event.ActionListener()
1056     {
1057       public void actionPerformed(ActionEvent e)
1058       {
1059         createEPS(null);
1060       }
1061     });
1062     LoadtreeMenuItem.setActionCommand("Load a tree for this sequence set");
1063     LoadtreeMenuItem.setText("Load Associated Tree");
1064     LoadtreeMenuItem.addActionListener(new java.awt.event.ActionListener()
1065     {
1066       public void actionPerformed(ActionEvent e)
1067       {
1068         LoadtreeMenuItem_actionPerformed(e);
1069       }
1070     });
1071     scaleAbove.setVisible(false);
1072     scaleAbove.setText("Scale Above");
1073     scaleAbove.addActionListener(new java.awt.event.ActionListener()
1074     {
1075       public void actionPerformed(ActionEvent e)
1076       {
1077         scaleAbove_actionPerformed(e);
1078       }
1079     });
1080     scaleLeft.setVisible(false);
1081     scaleLeft.setSelected(true);
1082     scaleLeft.setText("Scale Left");
1083     scaleLeft.addActionListener(new java.awt.event.ActionListener()
1084     {
1085       public void actionPerformed(ActionEvent e)
1086       {
1087         scaleLeft_actionPerformed(e);
1088       }
1089     });
1090     scaleRight.setVisible(false);
1091     scaleRight.setSelected(true);
1092     scaleRight.setText("Scale Right");
1093     scaleRight.addActionListener(new java.awt.event.ActionListener()
1094     {
1095       public void actionPerformed(ActionEvent e)
1096       {
1097         scaleRight_actionPerformed(e);
1098       }
1099     });
1100     centreColumnLabelsMenuItem.setVisible(true);
1101     centreColumnLabelsMenuItem.setState(false);
1102     centreColumnLabelsMenuItem.setText("Centre Column Labels");
1103     centreColumnLabelsMenuItem
1104             .addActionListener(new java.awt.event.ActionListener()
1105             {
1106               public void actionPerformed(ActionEvent e)
1107               {
1108                 centreColumnLabels_actionPerformed(e);
1109               }
1110             });
1111     followHighlightMenuItem.setVisible(true);
1112     followHighlightMenuItem.setState(true);
1113     followHighlightMenuItem.setText("Automatic Scrolling");
1114     followHighlightMenuItem.addActionListener(new ActionListener()
1115     {
1116
1117       public void actionPerformed(ActionEvent e)
1118       {
1119         followHighlight_actionPerformed();
1120       }
1121       
1122     });
1123     
1124     modifyPID.setText("Modify Identity Threshold...");
1125     modifyPID.addActionListener(new java.awt.event.ActionListener()
1126     {
1127       public void actionPerformed(ActionEvent e)
1128       {
1129         modifyPID_actionPerformed(e);
1130       }
1131     });
1132     modifyConservation.setText("Modify Conservation Threshold...");
1133     modifyConservation
1134             .addActionListener(new java.awt.event.ActionListener()
1135             {
1136               public void actionPerformed(ActionEvent e)
1137               {
1138                 modifyConservation_actionPerformed(e);
1139               }
1140             });
1141     sortByTreeMenu.setText("By Tree Order");
1142     sort.setText("Sort");
1143     sort.addMenuListener(new MenuListener()
1144     {
1145       public void menuSelected(MenuEvent e)
1146       {
1147         buildTreeMenu();
1148       }
1149
1150       public void menuDeselected(MenuEvent e)
1151       {
1152       }
1153
1154       public void menuCanceled(MenuEvent e)
1155       {
1156       }
1157     });
1158     sortByAnnotScore.setText("by Score");
1159     sort.add(sortByAnnotScore);
1160     sortByAnnotScore.addMenuListener(new javax.swing.event.MenuListener()
1161     {
1162
1163       public void menuCanceled(MenuEvent e)
1164       {
1165       }
1166
1167       public void menuDeselected(MenuEvent e)
1168       {
1169       }
1170
1171       public void menuSelected(MenuEvent e)
1172       {
1173         buildSortByAnnotationScoresMenu();
1174       }
1175     });
1176     sortByAnnotScore.setVisible(false);
1177
1178     calculateTree.setText("Calculate Tree");
1179
1180     jMenu2.setText("Export Image");
1181     padGapsMenuitem.setText("Pad Gaps");
1182     padGapsMenuitem.setState(jalview.bin.Cache
1183             .getDefault("PAD_GAPS", false));
1184     padGapsMenuitem.addActionListener(new ActionListener()
1185     {
1186       public void actionPerformed(ActionEvent e)
1187       {
1188         padGapsMenuitem_actionPerformed(e);
1189       }
1190     });
1191     vamsasStore.setVisible(false);
1192     vamsasStore.setText("VAMSAS store");
1193     vamsasStore.addActionListener(new ActionListener()
1194     {
1195       public void actionPerformed(ActionEvent e)
1196       {
1197         vamsasStore_actionPerformed(e);
1198       }
1199     });
1200     showTranslation.setText("Translate cDNA");
1201     showTranslation.addActionListener(new ActionListener()
1202     {
1203       public void actionPerformed(ActionEvent e)
1204       {
1205         showTranslation_actionPerformed(e);
1206       }
1207     });
1208     extractScores.setText("Extract Scores...");
1209     extractScores.addActionListener(new ActionListener()
1210     {
1211       public void actionPerformed(ActionEvent e)
1212       {
1213         extractScores_actionPerformed(e);
1214       }
1215     });
1216     extractScores.setVisible(true); // JBPNote: TODO: make gui for regex based
1217                                     // score extraction
1218     showProducts.setText("Get Cross References");
1219     /*
1220      * showProducts.addActionListener(new ActionListener() {
1221      * 
1222      * public void actionPerformed(ActionEvent e) {
1223      * showProducts_actionPerformed(e); } });
1224      */
1225     featureSettings.setText("Feature Settings...");
1226     featureSettings.addActionListener(new ActionListener()
1227     {
1228       public void actionPerformed(ActionEvent e)
1229       {
1230         featureSettings_actionPerformed(e);
1231       }
1232     });
1233     fetchSequence.setText("Fetch Sequence(s)...");
1234     fetchSequence.addActionListener(new ActionListener()
1235     {
1236       public void actionPerformed(ActionEvent e)
1237       {
1238         fetchSequence_actionPerformed(e);
1239       }
1240     });
1241
1242     annotationColour.setText("By Annotation...");
1243     annotationColour.addActionListener(new ActionListener()
1244     {
1245       public void actionPerformed(ActionEvent e)
1246       {
1247         annotationColour_actionPerformed(e);
1248       }
1249     });
1250     associatedData.setText("Load Features / Annotations");
1251     associatedData.addActionListener(new ActionListener()
1252     {
1253       public void actionPerformed(ActionEvent e)
1254       {
1255         associatedData_actionPerformed(e);
1256       }
1257     });
1258     autoCalculate.setText("Autocalculate Consensus");
1259     autoCalculate.setState(jalview.bin.Cache.getDefault(
1260             "AUTO_CALC_CONSENSUS", true));
1261     autoCalculate.addActionListener(new ActionListener()
1262     {
1263       public void actionPerformed(ActionEvent e)
1264       {
1265         autoCalculate_actionPerformed(e);
1266       }
1267     });
1268     addSequenceMenu.setText("Add Sequences");
1269     addFromFile.setText("From File");
1270     addFromFile.addActionListener(new ActionListener()
1271     {
1272       public void actionPerformed(ActionEvent e)
1273       {
1274         addFromFile_actionPerformed(e);
1275       }
1276     });
1277     addFromText.setText("From Textbox");
1278     addFromText.addActionListener(new ActionListener()
1279     {
1280       public void actionPerformed(ActionEvent e)
1281       {
1282         addFromText_actionPerformed(e);
1283       }
1284     });
1285     addFromURL.setText("From URL");
1286     addFromURL.addActionListener(new ActionListener()
1287     {
1288       public void actionPerformed(ActionEvent e)
1289       {
1290         addFromURL_actionPerformed(e);
1291       }
1292     });
1293     exportFeatures.setText("Export Features...");
1294     exportFeatures.addActionListener(new ActionListener()
1295     {
1296       public void actionPerformed(ActionEvent e)
1297       {
1298         exportFeatures_actionPerformed(e);
1299       }
1300     });
1301     exportAnnotations.setText("Export Annotations...");
1302     exportAnnotations.addActionListener(new ActionListener()
1303     {
1304       public void actionPerformed(ActionEvent e)
1305       {
1306         exportAnnotations_actionPerformed(e);
1307       }
1308     });
1309     statusPanel.setLayout(gridLayout1);
1310     jMenu3.setText("Show");
1311     showAllSeqs.setText("All Sequences");
1312     showAllSeqs.addActionListener(new ActionListener()
1313     {
1314       public void actionPerformed(ActionEvent e)
1315       {
1316         showAllSeqs_actionPerformed(e);
1317       }
1318     });
1319     showAllColumns.setText("All Columns");
1320     showAllColumns.addActionListener(new ActionListener()
1321     {
1322       public void actionPerformed(ActionEvent e)
1323       {
1324         showAllColumns_actionPerformed(e);
1325       }
1326     });
1327     hideMenu.setText("Hide");
1328     hideSelSequences.setText("Selected Sequences");
1329     hideSelSequences.addActionListener(new ActionListener()
1330     {
1331       public void actionPerformed(ActionEvent e)
1332       {
1333         hideSelSequences_actionPerformed(e);
1334       }
1335     });
1336     hideSelColumns.setText("Selected Columns");
1337     hideSelColumns.addActionListener(new ActionListener()
1338     {
1339       public void actionPerformed(ActionEvent e)
1340       {
1341         hideSelColumns_actionPerformed(e);
1342       }
1343     });
1344     hiddenMarkers.setText("Show Hidden Markers");
1345     hiddenMarkers.addActionListener(new ActionListener()
1346     {
1347       public void actionPerformed(ActionEvent e)
1348       {
1349         hiddenMarkers_actionPerformed(e);
1350       }
1351     });
1352     invertColSel.setText("Invert Column Selection");
1353     invertColSel.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1354             java.awt.event.KeyEvent.VK_I, Toolkit.getDefaultToolkit()
1355                     .getMenuShortcutKeyMask()
1356                     | java.awt.event.KeyEvent.ALT_MASK, false));
1357     invertColSel.addActionListener(new ActionListener()
1358     {
1359       public void actionPerformed(ActionEvent e)
1360       {
1361         invertColSel_actionPerformed(e);
1362       }
1363     });
1364     tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
1365     {
1366       public void stateChanged(ChangeEvent evt)
1367       {
1368         JTabbedPane pane = (JTabbedPane) evt.getSource();
1369         int sel = pane.getSelectedIndex();
1370         tabSelectionChanged(sel);
1371       }
1372     });
1373     tabbedPane.addMouseListener(new MouseAdapter()
1374     {
1375       public void mousePressed(MouseEvent e)
1376       {
1377         tabbedPane_mousePressed(e);
1378       }
1379     });
1380     tabbedPane.addFocusListener(new FocusAdapter()
1381     {
1382       public void focusGained(FocusEvent e)
1383       {
1384         tabbedPane_focusGained(e);
1385       }
1386     });
1387     save.setText("Save");
1388     save.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1389             java.awt.event.KeyEvent.VK_S, Toolkit.getDefaultToolkit()
1390                     .getMenuShortcutKeyMask(), false));
1391     save.addActionListener(new ActionListener()
1392     {
1393       public void actionPerformed(ActionEvent e)
1394       {
1395         save_actionPerformed(e);
1396       }
1397     });
1398     reload.setEnabled(false);
1399     reload.setText("Reload");
1400     reload.addActionListener(new ActionListener()
1401     {
1402       public void actionPerformed(ActionEvent e)
1403       {
1404         reload_actionPerformed(e);
1405       }
1406     });
1407     newView.setText("New View");
1408     newView.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1409             java.awt.event.KeyEvent.VK_T, Toolkit.getDefaultToolkit()
1410                     .getMenuShortcutKeyMask(), false));
1411     newView.addActionListener(new ActionListener()
1412     {
1413       public void actionPerformed(ActionEvent e)
1414       {
1415         newView_actionPerformed(e);
1416       }
1417     });
1418     tabbedPane.setToolTipText("<html><i> Right-click to rename tab"
1419             + "<br> Press X to eXpand tabs, G to reGroup.</i></html>");
1420     textColour.setText("Colour Text ...");
1421     textColour.addActionListener(new ActionListener()
1422     {
1423       public void actionPerformed(ActionEvent e)
1424       {
1425         textColour_actionPerformed(e);
1426       }
1427     });
1428     formatMenu.setText("Format");
1429     selectMenu.setText("Select");
1430     idRightAlign.setText("Right Align Sequence Id");
1431     idRightAlign.addActionListener(new ActionListener()
1432     {
1433       public void actionPerformed(ActionEvent e)
1434       {
1435         idRightAlign_actionPerformed(e);
1436       }
1437     });
1438     gatherViews.setEnabled(false);
1439     gatherViews.setText("Gather Views");
1440     gatherViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1441             java.awt.event.KeyEvent.VK_G, 0, false));
1442     gatherViews.addActionListener(new ActionListener()
1443     {
1444       public void actionPerformed(ActionEvent e)
1445       {
1446         gatherViews_actionPerformed(e);
1447       }
1448     });
1449     expandViews.setEnabled(false);
1450     expandViews.setText("Expand Views");
1451     expandViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1452             java.awt.event.KeyEvent.VK_X, 0, false));
1453     expandViews.addActionListener(new ActionListener()
1454     {
1455       public void actionPerformed(ActionEvent e)
1456       {
1457         expandViews_actionPerformed(e);
1458       }
1459     });
1460     pageSetup.setText("Page Setup ...");
1461     pageSetup.addActionListener(new ActionListener()
1462     {
1463       public void actionPerformed(ActionEvent e)
1464       {
1465         pageSetup_actionPerformed(e);
1466       }
1467     });
1468     alignmentProperties.setText("Alignment Properties...");
1469     alignmentProperties.addActionListener(new ActionListener()
1470     {
1471       public void actionPerformed(ActionEvent actionEvent)
1472       {
1473         alignmentProperties();
1474       }
1475     });
1476     tooltipSettingsMenu.setText("Sequence ID Tooltip");
1477     alignFrameMenuBar.add(fileMenu);
1478     alignFrameMenuBar.add(editMenu);
1479     alignFrameMenuBar.add(selectMenu);
1480     alignFrameMenuBar.add(viewMenu);
1481     alignFrameMenuBar.add(formatMenu);
1482     alignFrameMenuBar.add(colourMenu);
1483     alignFrameMenuBar.add(calculateMenu);
1484     alignFrameMenuBar.add(webService);
1485     fileMenu.add(fetchSequence);
1486     fileMenu.add(addSequenceMenu);
1487     fileMenu.add(reload);
1488     fileMenu.addSeparator();
1489     fileMenu.add(vamsasStore);
1490     fileMenu.add(save);
1491     fileMenu.add(saveAs);
1492     fileMenu.add(outputTextboxMenu);
1493     fileMenu.add(pageSetup);
1494     fileMenu.add(printMenuItem);
1495     fileMenu.addSeparator();
1496     fileMenu.add(jMenu2);
1497     fileMenu.add(exportFeatures);
1498     fileMenu.add(exportAnnotations);
1499     fileMenu.add(LoadtreeMenuItem);
1500     fileMenu.add(associatedData);
1501     fileMenu.addSeparator();
1502     fileMenu.add(closeMenuItem);
1503     editMenu.add(undoMenuItem);
1504     editMenu.add(redoMenuItem);
1505     editMenu.add(cut);
1506     editMenu.add(copy);
1507     editMenu.add(pasteMenu);
1508     editMenu.add(delete);
1509     editMenu.addSeparator();
1510     editMenu.add(remove2LeftMenuItem);
1511     editMenu.add(remove2RightMenuItem);
1512     editMenu.add(removeGappedColumnMenuItem);
1513     editMenu.add(removeAllGapsMenuItem);
1514     editMenu.add(removeRedundancyMenuItem);
1515     editMenu.addSeparator();
1516     editMenu.add(padGapsMenuitem);
1517     viewMenu.add(newView);
1518     viewMenu.add(expandViews);
1519     viewMenu.add(gatherViews);
1520     viewMenu.addSeparator();
1521     viewMenu.add(jMenu3);
1522     viewMenu.add(hideMenu);
1523     viewMenu.addSeparator();
1524     viewMenu.add(followHighlightMenuItem);
1525     viewMenu.add(annotationPanelMenuItem);
1526     viewMenu.addSeparator();
1527     viewMenu.add(showSeqFeatures);
1528     viewMenu.add(featureSettings);
1529     tooltipSettingsMenu.add(showDbRefsMenuitem);
1530     tooltipSettingsMenu.add(showNpFeatsMenuitem);
1531     viewMenu.add(tooltipSettingsMenu);
1532     viewMenu.addSeparator();
1533     viewMenu.add(alignmentProperties);
1534     viewMenu.addSeparator();
1535     viewMenu.add(overviewMenuItem);
1536     colourMenu.add(applyToAllGroups);
1537     colourMenu.add(textColour);
1538     colourMenu.addSeparator();
1539     colourMenu.add(noColourmenuItem);
1540     colourMenu.add(clustalColour);
1541     colourMenu.add(BLOSUM62Colour);
1542     colourMenu.add(PIDColour);
1543     colourMenu.add(zappoColour);
1544     colourMenu.add(taylorColour);
1545     colourMenu.add(hydrophobicityColour);
1546     colourMenu.add(helixColour);
1547     colourMenu.add(strandColour);
1548     colourMenu.add(turnColour);
1549     colourMenu.add(buriedColour);
1550     colourMenu.add(nucleotideColour);
1551     colourMenu.add(userDefinedColour);
1552     colourMenu.addSeparator();
1553     colourMenu.add(conservationMenuItem);
1554     colourMenu.add(modifyConservation);
1555     colourMenu.add(abovePIDThreshold);
1556     colourMenu.add(modifyPID);
1557     colourMenu.add(annotationColour);
1558     calculateMenu.add(sort);
1559     calculateMenu.add(calculateTree);
1560     calculateMenu.addSeparator();
1561     calculateMenu.add(pairwiseAlignmentMenuItem);
1562     calculateMenu.add(PCAMenuItem);
1563     calculateMenu.addSeparator();
1564     calculateMenu.add(showTranslation);
1565     calculateMenu.add(showProducts);
1566     calculateMenu.add(autoCalculate);
1567     calculateMenu.addSeparator();
1568     calculateMenu.add(extractScores);
1569     webServiceNoServices = new JMenuItem("<No Services>");
1570     webService.add(webServiceNoServices);
1571     pasteMenu.add(pasteNew);
1572     pasteMenu.add(pasteThis);
1573     sort.add(sortIDMenuItem);
1574     sort.add(sortGroupMenuItem);
1575     sort.add(sortPairwiseMenuItem);
1576     sort.add(sortByTreeMenu);
1577     calculateTree.add(averageDistanceTreeMenuItem);
1578     calculateTree.add(neighbourTreeMenuItem);
1579     calculateTree.add(avDistanceTreeBlosumMenuItem);
1580     calculateTree.add(njTreeBlosumMenuItem);
1581     jMenu2.add(htmlMenuItem);
1582     jMenu2.add(epsFile);
1583     jMenu2.add(createPNG);
1584     addSequenceMenu.add(addFromFile);
1585     addSequenceMenu.add(addFromText);
1586     addSequenceMenu.add(addFromURL);
1587     this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
1588     statusPanel.add(statusBar, null);
1589     this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
1590     jMenu3.add(showAllColumns);
1591     jMenu3.add(showAllSeqs);
1592     hideMenu.add(hideSelColumns);
1593     hideMenu.add(hideSelSequences);
1594     formatMenu.add(font);
1595     formatMenu.addSeparator();
1596     formatMenu.add(wrapMenuItem);
1597     formatMenu.add(scaleAbove);
1598     formatMenu.add(scaleLeft);
1599     formatMenu.add(scaleRight);
1600     formatMenu.add(seqLimits);
1601     formatMenu.add(idRightAlign);
1602     formatMenu.add(hiddenMarkers);
1603     formatMenu.add(viewBoxesMenuItem);
1604     formatMenu.add(viewTextMenuItem);
1605     formatMenu.add(colourTextMenuItem);
1606     formatMenu.add(renderGapsMenuItem);
1607     formatMenu.add(centreColumnLabelsMenuItem);
1608     selectMenu.add(findMenuItem);
1609     selectMenu.addSeparator();
1610     selectMenu.add(selectAllSequenceMenuItem);
1611     selectMenu.add(deselectAllSequenceMenuItem);
1612     selectMenu.add(invertSequenceMenuItem);
1613     selectMenu.add(invertColSel);
1614     selectMenu.add(deleteGroups);
1615   }
1616
1617   protected void followHighlight_actionPerformed()
1618   {
1619     // TODO Auto-generated method stub
1620     
1621   }
1622
1623   protected void showNpFeats_actionPerformed(ActionEvent e)
1624   {
1625     // TODO Auto-generated method stub
1626     
1627   }
1628
1629   protected void showDbRefs_actionPerformed(ActionEvent e)
1630   {
1631     // TODO Auto-generated method stub
1632     
1633   }
1634
1635   protected void centreColumnLabels_actionPerformed(ActionEvent e)
1636   {
1637   }
1638
1639   protected void showProducts_actionPerformed(ActionEvent e)
1640   {
1641   }
1642
1643   protected void buildSortByAnnotationScoresMenu()
1644   {
1645   }
1646
1647   protected void extractScores_actionPerformed(ActionEvent e)
1648   {
1649   }
1650
1651   protected void outputText_actionPerformed(ActionEvent e)
1652   {
1653   }
1654
1655   public void addFromFile_actionPerformed(ActionEvent e)
1656   {
1657
1658   }
1659
1660   public void addFromText_actionPerformed(ActionEvent e)
1661   {
1662
1663   }
1664
1665   public void addFromURL_actionPerformed(ActionEvent e)
1666   {
1667
1668   }
1669
1670   public void exportFeatures_actionPerformed(ActionEvent e)
1671   {
1672
1673   }
1674
1675   public void exportAnnotations_actionPerformed(ActionEvent e)
1676   {
1677
1678   }
1679
1680   protected void htmlMenuItem_actionPerformed(ActionEvent e)
1681   {
1682   }
1683
1684   protected void closeMenuItem_actionPerformed(boolean b)
1685   {
1686   }
1687
1688   protected void redoMenuItem_actionPerformed(ActionEvent e)
1689   {
1690   }
1691
1692   protected void undoMenuItem_actionPerformed(ActionEvent e)
1693   {
1694   }
1695
1696   protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
1697   {
1698   }
1699
1700   protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
1701   {
1702   }
1703
1704   protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
1705   {
1706   }
1707
1708   protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
1709   {
1710   }
1711
1712   protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
1713   {
1714   }
1715
1716   protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
1717   {
1718   }
1719
1720   protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
1721   {
1722   }
1723
1724   protected void wrapMenuItem_actionPerformed(ActionEvent e)
1725   {
1726   }
1727
1728   protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
1729   {
1730   }
1731
1732   protected void viewTextMenuItem_actionPerformed(ActionEvent e)
1733   {
1734   }
1735
1736   protected void colourTextMenuItem_actionPerformed(ActionEvent e)
1737   {
1738   }
1739
1740   protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
1741   {
1742   }
1743
1744   protected void overviewMenuItem_actionPerformed(ActionEvent e)
1745   {
1746   }
1747
1748   protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
1749   {
1750   }
1751
1752   protected void sortIDMenuItem_actionPerformed(ActionEvent e)
1753   {
1754   }
1755
1756   protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
1757   {
1758   }
1759
1760   protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
1761   {
1762   }
1763
1764   protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
1765   {
1766   }
1767
1768   protected void PCAMenuItem_actionPerformed(ActionEvent e)
1769   {
1770   }
1771
1772   protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)
1773   {
1774   }
1775
1776   protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
1777   {
1778   }
1779
1780   protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)
1781   {
1782   }
1783
1784   protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)
1785   {
1786   }
1787
1788   protected void clustalColour_actionPerformed(ActionEvent e)
1789   {
1790   }
1791
1792   protected void zappoColour_actionPerformed(ActionEvent e)
1793   {
1794   }
1795
1796   protected void taylorColour_actionPerformed(ActionEvent e)
1797   {
1798   }
1799
1800   protected void hydrophobicityColour_actionPerformed(ActionEvent e)
1801   {
1802   }
1803
1804   protected void helixColour_actionPerformed(ActionEvent e)
1805   {
1806   }
1807
1808   protected void strandColour_actionPerformed(ActionEvent e)
1809   {
1810   }
1811
1812   protected void turnColour_actionPerformed(ActionEvent e)
1813   {
1814   }
1815
1816   protected void buriedColour_actionPerformed(ActionEvent e)
1817   {
1818   }
1819
1820   protected void userDefinedColour_actionPerformed(ActionEvent e)
1821   {
1822   }
1823
1824   protected void PIDColour_actionPerformed(ActionEvent e)
1825   {
1826   }
1827
1828   protected void BLOSUM62Colour_actionPerformed(ActionEvent e)
1829   {
1830   }
1831
1832   protected void noColourmenuItem_actionPerformed(ActionEvent e)
1833   {
1834   }
1835
1836   protected void conservationMenuItem_actionPerformed(ActionEvent e)
1837   {
1838   }
1839
1840   protected void printMenuItem_actionPerformed(ActionEvent e)
1841   {
1842   }
1843
1844   protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
1845   {
1846   }
1847
1848   protected void findMenuItem_actionPerformed(ActionEvent e)
1849   {
1850   }
1851
1852   protected void abovePIDThreshold_actionPerformed(ActionEvent e)
1853   {
1854   }
1855
1856   public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
1857   {
1858   }
1859
1860   protected void nucleotideColour_actionPerformed(ActionEvent e)
1861   {
1862   }
1863
1864   protected void deleteGroups_actionPerformed(ActionEvent e)
1865   {
1866   }
1867
1868   protected void copy_actionPerformed(ActionEvent e)
1869   {
1870   }
1871
1872   protected void cut_actionPerformed(ActionEvent e)
1873   {
1874   }
1875
1876   protected void delete_actionPerformed(ActionEvent e)
1877   {
1878   }
1879
1880   protected void pasteNew_actionPerformed(ActionEvent e)
1881   {
1882   }
1883
1884   protected void pasteThis_actionPerformed(ActionEvent e)
1885   {
1886   }
1887
1888   protected void applyToAllGroups_actionPerformed(ActionEvent e)
1889   {
1890   }
1891
1892   public void createPNG(java.io.File f)
1893   {
1894   }
1895
1896   protected void font_actionPerformed(ActionEvent e)
1897   {
1898   }
1899
1900   protected void seqLimit_actionPerformed(ActionEvent e)
1901   {
1902   }
1903
1904   public void seqDBRef_actionPerformed(ActionEvent e)
1905   {
1906
1907   }
1908
1909   public void createEPS(java.io.File f)
1910   {
1911   }
1912
1913   protected void LoadtreeMenuItem_actionPerformed(ActionEvent e)
1914   {
1915   }
1916
1917   protected void jpred_actionPerformed(ActionEvent e)
1918   {
1919   }
1920
1921   protected void scaleAbove_actionPerformed(ActionEvent e)
1922   {
1923   }
1924
1925   protected void scaleLeft_actionPerformed(ActionEvent e)
1926   {
1927   }
1928
1929   protected void scaleRight_actionPerformed(ActionEvent e)
1930   {
1931   }
1932
1933   protected void modifyPID_actionPerformed(ActionEvent e)
1934   {
1935   }
1936
1937   protected void modifyConservation_actionPerformed(ActionEvent e)
1938   {
1939   }
1940
1941   protected void saveAs_actionPerformed(ActionEvent e)
1942   {
1943   }
1944
1945   protected void padGapsMenuitem_actionPerformed(ActionEvent e)
1946   {
1947   }
1948
1949   public void vamsasStore_actionPerformed(ActionEvent e)
1950   {
1951
1952   }
1953
1954   public void vamsasLoad_actionPerformed(ActionEvent e)
1955   {
1956
1957   }
1958
1959   public void showTranslation_actionPerformed(ActionEvent e)
1960   {
1961
1962   }
1963
1964   public void featureSettings_actionPerformed(ActionEvent e)
1965   {
1966
1967   }
1968
1969   public void fetchSequence_actionPerformed(ActionEvent e)
1970   {
1971
1972   }
1973
1974   public void smoothFont_actionPerformed(ActionEvent e)
1975   {
1976
1977   }
1978
1979   public void annotationColour_actionPerformed(ActionEvent e)
1980   {
1981
1982   }
1983
1984   public void associatedData_actionPerformed(ActionEvent e)
1985   {
1986
1987   }
1988
1989   public void autoCalculate_actionPerformed(ActionEvent e)
1990   {
1991
1992   }
1993
1994   public void showAllSeqs_actionPerformed(ActionEvent e)
1995   {
1996
1997   }
1998
1999   public void showAllColumns_actionPerformed(ActionEvent e)
2000   {
2001
2002   }
2003
2004   public void hideSelSequences_actionPerformed(ActionEvent e)
2005   {
2006
2007   }
2008
2009   public void hideSelColumns_actionPerformed(ActionEvent e)
2010   {
2011
2012   }
2013
2014   public void hiddenMarkers_actionPerformed(ActionEvent e)
2015   {
2016
2017   }
2018
2019   public void findPdbId_actionPerformed(ActionEvent e)
2020   {
2021
2022   }
2023
2024   public void enterPdbId_actionPerformed(ActionEvent e)
2025   {
2026
2027   }
2028
2029   public void pdbFile_actionPerformed(ActionEvent e)
2030   {
2031
2032   }
2033
2034   public void invertColSel_actionPerformed(ActionEvent e)
2035   {
2036
2037   }
2038
2039   public void tabSelectionChanged(int sel)
2040   {
2041
2042   }
2043
2044   public void tabbedPane_mousePressed(MouseEvent e)
2045   {
2046
2047   }
2048
2049   public void tabbedPane_focusGained(FocusEvent e)
2050   {
2051     requestFocus();
2052   }
2053
2054   public void save_actionPerformed(ActionEvent e)
2055   {
2056
2057   }
2058
2059   public void reload_actionPerformed(ActionEvent e)
2060   {
2061
2062   }
2063
2064   public void newView_actionPerformed(ActionEvent e)
2065   {
2066
2067   }
2068
2069   public void textColour_actionPerformed(ActionEvent e)
2070   {
2071
2072   }
2073
2074   public void idRightAlign_actionPerformed(ActionEvent e)
2075   {
2076
2077   }
2078
2079   public void expandViews_actionPerformed(ActionEvent e)
2080   {
2081
2082   }
2083
2084   public void gatherViews_actionPerformed(ActionEvent e)
2085   {
2086
2087   }
2088
2089   public void buildTreeMenu()
2090   {
2091
2092   }
2093
2094   public void pageSetup_actionPerformed(ActionEvent e)
2095   {
2096
2097   }
2098
2099   public void alignmentProperties()
2100   {
2101
2102   }
2103 }