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