JAL-1065 - Visualize T-Coffee quality scores for an alignment
[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, 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 jalview.schemes.ColourSchemeProperty;
21
22 import java.awt.BorderLayout;
23 import java.awt.Color;
24 import java.awt.GridLayout;
25 import java.awt.Toolkit;
26 import java.awt.event.ActionEvent;
27 import java.awt.event.ActionListener;
28 import java.awt.event.FocusAdapter;
29 import java.awt.event.FocusEvent;
30 import java.awt.event.MouseAdapter;
31 import java.awt.event.MouseEvent;
32
33 import javax.swing.BorderFactory;
34 import javax.swing.ButtonGroup;
35 import javax.swing.JCheckBoxMenuItem;
36 import javax.swing.JInternalFrame;
37 import javax.swing.JLabel;
38 import javax.swing.JMenu;
39 import javax.swing.JMenuBar;
40 import javax.swing.JMenuItem;
41 import javax.swing.JOptionPane;
42 import javax.swing.JPanel;
43 import javax.swing.JRadioButtonMenuItem;
44 import javax.swing.JTabbedPane;
45 import javax.swing.SwingUtilities;
46 import javax.swing.event.ChangeEvent;
47 import javax.swing.event.MenuEvent;
48 import javax.swing.event.MenuListener;
49
50 public class GAlignFrame extends JInternalFrame
51 {
52   protected JMenuBar alignFrameMenuBar = new JMenuBar();
53
54   protected JMenu fileMenu = new JMenu();
55
56   protected JMenuItem closeMenuItem = new JMenuItem();
57
58   protected JMenu editMenu = new JMenu();
59
60   protected JMenu viewMenu = new JMenu();
61
62   protected JMenu colourMenu = new JMenu();
63
64   protected JMenu calculateMenu = new JMenu();
65
66   protected JMenu webService = new JMenu();
67
68   protected JMenuItem webServiceNoServices;
69
70   protected JMenuItem selectAllSequenceMenuItem = new JMenuItem();
71
72   protected JMenuItem deselectAllSequenceMenuItem = new JMenuItem();
73
74   protected JMenuItem invertSequenceMenuItem = new JMenuItem();
75
76   protected JMenuItem remove2LeftMenuItem = new JMenuItem();
77
78   protected JMenuItem remove2RightMenuItem = new JMenuItem();
79
80   protected JMenuItem removeGappedColumnMenuItem = new JMenuItem();
81
82   protected JMenuItem removeAllGapsMenuItem = new JMenuItem();
83
84   public JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
85
86   public JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
87
88   protected JMenuItem sortPairwiseMenuItem = new JMenuItem();
89
90   protected JMenuItem sortIDMenuItem = new JMenuItem();
91
92   protected JMenuItem sortLengthMenuItem = new JMenuItem();
93
94   protected JMenuItem sortGroupMenuItem = new JMenuItem();
95
96   protected JMenu sortByAnnotScore = new JMenu();
97
98   protected JMenuItem removeRedundancyMenuItem = new JMenuItem();
99
100   protected JMenuItem pairwiseAlignmentMenuItem = new JMenuItem();
101
102   protected JMenuItem PCAMenuItem = new JMenuItem();
103
104   protected JMenuItem averageDistanceTreeMenuItem = new JMenuItem();
105
106   protected JMenuItem neighbourTreeMenuItem = new JMenuItem();
107
108   BorderLayout borderLayout1 = new BorderLayout();
109
110   public JLabel statusBar = new JLabel();
111
112   protected JMenuItem saveAs = new JMenuItem();
113
114   protected JMenu outputTextboxMenu = new JMenu();
115
116   protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();
117
118   protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();
119
120   protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();
121
122   protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem();
123
124   protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();
125
126   protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();
127
128   protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();
129
130   protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();
131
132   protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();
133
134   protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();
135
136   protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();
137
138   protected JRadioButtonMenuItem tcoffeeColour = new JRadioButtonMenuItem();
139  
140   
141   JMenuItem njTreeBlosumMenuItem = new JMenuItem();
142
143   JMenuItem avDistanceTreeBlosumMenuItem = new JMenuItem();
144
145   public JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
146
147   public JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
148
149   public JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem();
150
151   JMenuItem htmlMenuItem = new JMenuItem();
152
153   JMenuItem overviewMenuItem = new JMenuItem();
154
155   protected JMenuItem undoMenuItem = new JMenuItem();
156
157   protected JMenuItem redoMenuItem = new JMenuItem();
158
159   public JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();
160
161   JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();
162
163   public JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
164
165   JMenuItem printMenuItem = new JMenuItem();
166
167   public JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
168
169   JMenuItem findMenuItem = new JMenuItem();
170
171   public JCheckBoxMenuItem abovePIDThreshold = new JCheckBoxMenuItem();
172
173   public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
174
175   public JCheckBoxMenuItem showSeqFeaturesHeight = new JCheckBoxMenuItem();
176
177   protected JRadioButtonMenuItem nucleotideColour = new JRadioButtonMenuItem();
178
179   JMenuItem deleteGroups = new JMenuItem();
180
181   JMenuItem delete = new JMenuItem();
182
183   JMenuItem copy = new JMenuItem();
184
185   JMenuItem cut = new JMenuItem();
186
187   JMenu pasteMenu = new JMenu();
188
189   JMenuItem pasteNew = new JMenuItem();
190
191   JMenuItem pasteThis = new JMenuItem();
192
193   public JCheckBoxMenuItem applyToAllGroups = new JCheckBoxMenuItem();
194
195   JMenuItem createPNG = new JMenuItem();
196
197   protected JMenuItem font = new JMenuItem();
198
199   public JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
200
201   JMenuItem epsFile = new JMenuItem();
202
203   JMenuItem LoadtreeMenuItem = new JMenuItem();
204   
205   JMenuItem loadScoresMenuItem = new JMenuItem();
206
207   public JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
208
209   public JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
210
211   public JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
212
213   protected JMenuItem modifyPID = new JMenuItem();
214
215   protected JMenuItem modifyConservation = new JMenuItem();
216
217   protected JMenu sortByTreeMenu = new JMenu();
218
219   protected JMenu sort = new JMenu();
220
221   protected JMenu calculateTree = new JMenu();
222
223   JMenu jMenu2 = new JMenu();
224
225   protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
226
227   protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
228
229   protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
230
231   protected ButtonGroup colours = new ButtonGroup();
232
233   JMenuItem vamsasStore = new JMenuItem();
234
235   protected JMenuItem showTranslation = new JMenuItem();
236
237   protected JMenuItem extractScores = new JMenuItem();
238
239   protected JMenu showProducts = new JMenu();
240
241   public JMenuItem featureSettings = new JMenuItem();
242
243   JMenuItem fetchSequence = new JMenuItem();
244
245   JMenuItem annotationColour = new JMenuItem();
246
247   JMenuItem associatedData = new JMenuItem();
248
249   protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
250
251   protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
252
253   protected JCheckBoxMenuItem listenToViewSelections = new JCheckBoxMenuItem();
254
255   JMenu addSequenceMenu = new JMenu();
256
257   JMenuItem addFromFile = new JMenuItem();
258
259   JMenuItem addFromText = new JMenuItem();
260
261   JMenuItem addFromURL = new JMenuItem();
262
263   JMenuItem exportAnnotations = new JMenuItem();
264
265   JMenuItem exportFeatures = new JMenuItem();
266
267   protected JPanel statusPanel = new JPanel();
268
269   GridLayout gridLayout1 = new GridLayout();
270
271   JMenu jMenu3 = new JMenu();
272
273   JMenuItem showAllSeqs = new JMenuItem();
274
275   JMenuItem showAllColumns = new JMenuItem();
276
277   JMenu hideMenu = new JMenu();
278
279   JMenuItem hideSelSequences = new JMenuItem();
280
281   JMenuItem hideSelColumns = new JMenuItem();
282
283   JMenuItem hideAllButSelection = new JMenuItem();
284
285   JMenuItem hideAllSelection = new JMenuItem();
286
287   JMenuItem showAllhidden = new JMenuItem();
288
289   protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
290
291   JMenuItem invertColSel = new JMenuItem();
292
293   protected JTabbedPane tabbedPane = new JTabbedPane();
294
295   JMenuItem save = new JMenuItem();
296
297   protected JMenuItem reload = new JMenuItem();
298
299   JMenuItem newView = new JMenuItem();
300
301   JMenuItem textColour = new JMenuItem();
302
303   JMenu formatMenu = new JMenu();
304
305   JMenu selectMenu = new JMenu();
306
307   protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
308
309   protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem();
310
311   protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem();
312
313   protected JMenuItem gatherViews = new JMenuItem();
314
315   protected JMenuItem expandViews = new JMenuItem();
316
317   JMenuItem pageSetup = new JMenuItem();
318
319   JMenuItem alignmentProperties = new JMenuItem();
320
321   JMenu tooltipSettingsMenu = new JMenu();
322
323   private JMenuItem justifyLeftMenuItem = new JMenuItem();
324
325   private JMenuItem justifyRightMenuItem = new JMenuItem();
326
327   JMenu autoAnnMenu = new JMenu();
328
329   protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem();
330
331   protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem();
332
333   protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem();
334
335   protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem();
336
337   protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
338
339   private JMenuItem grpsFromSelection = new JMenuItem();
340
341   public GAlignFrame()
342   {
343     try
344     {
345       jbInit();
346       setJMenuBar(alignFrameMenuBar);
347
348       // dynamically fill save as menu with available formats
349       for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)
350       {
351         JMenuItem item = new JMenuItem(
352                 jalview.io.FormatAdapter.WRITEABLE_FORMATS[i]);
353
354         item.addActionListener(new java.awt.event.ActionListener()
355         {
356           public void actionPerformed(ActionEvent e)
357           {
358             outputText_actionPerformed(e);
359           }
360         });
361
362         outputTextboxMenu.add(item);
363       }
364     } catch (Exception e)
365     {
366     }
367
368     if (!new jalview.util.Platform().isAMac())
369     {
370       closeMenuItem.setMnemonic('C');
371       outputTextboxMenu.setMnemonic('T');
372       undoMenuItem.setMnemonic('Z');
373       redoMenuItem.setMnemonic('0');
374       copy.setMnemonic('C');
375       cut.setMnemonic('U');
376       pasteMenu.setMnemonic('P');
377       reload.setMnemonic('R');
378     }
379
380     if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
381     {
382       java.util.Enumeration userColours = jalview.gui.UserDefinedColours
383               .getUserColourSchemes().keys();
384
385       while (userColours.hasMoreElements())
386       {
387         final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(
388                 userColours.nextElement().toString());
389         radioItem.setName("USER_DEFINED");
390         radioItem.addMouseListener(new MouseAdapter()
391         {
392           public void mousePressed(MouseEvent evt)
393           {
394             if (evt.isControlDown()
395                     || SwingUtilities.isRightMouseButton(evt))
396             {
397               radioItem.removeActionListener(radioItem.getActionListeners()[0]);
398
399               int option = JOptionPane.showInternalConfirmDialog(
400                       jalview.gui.Desktop.desktop,
401                       "Remove from default list?",
402                       "Remove user defined colour",
403                       JOptionPane.YES_NO_OPTION);
404               if (option == JOptionPane.YES_OPTION)
405               {
406                 jalview.gui.UserDefinedColours
407                         .removeColourFromDefaults(radioItem.getText());
408                 colourMenu.remove(radioItem);
409               }
410               else
411               {
412                 radioItem.addActionListener(new ActionListener()
413                 {
414                   public void actionPerformed(ActionEvent evt)
415                   {
416                     userDefinedColour_actionPerformed(evt);
417                   }
418                 });
419               }
420             }
421           }
422         });
423         radioItem.addActionListener(new ActionListener()
424         {
425           public void actionPerformed(ActionEvent evt)
426           {
427             userDefinedColour_actionPerformed(evt);
428           }
429         });
430         colourMenu.insert(radioItem, 15);
431         colours.add(radioItem);
432       }
433     }
434     colours.add(noColourmenuItem);
435     colours.add(clustalColour);
436     colours.add(zappoColour);
437     colours.add(taylorColour);
438     colours.add(hydrophobicityColour);
439     colours.add(helixColour);
440     colours.add(strandColour);
441     colours.add(turnColour);
442     colours.add(buriedColour);
443     colours.add(userDefinedColour);
444     colours.add(PIDColour);
445     colours.add(BLOSUM62Colour);
446     colours.add(nucleotideColour);
447     colours.add(tcoffeeColour);
448
449     setColourSelected(jalview.bin.Cache
450             .getDefault("DEFAULT_COLOUR", "None"));
451
452   }
453
454   public void setColourSelected(String defaultColour)
455   {
456
457     if (defaultColour != null)
458     {
459       int index = ColourSchemeProperty
460               .getColourIndexFromName(defaultColour);
461
462       switch (index)
463       {
464       case ColourSchemeProperty.CLUSTAL:
465         clustalColour.setSelected(true);
466
467         break;
468
469       case ColourSchemeProperty.BLOSUM:
470         BLOSUM62Colour.setSelected(true);
471
472         break;
473
474       case ColourSchemeProperty.PID:
475         PIDColour.setSelected(true);
476
477         break;
478
479       case ColourSchemeProperty.ZAPPO:
480         zappoColour.setSelected(true);
481
482         break;
483
484       case ColourSchemeProperty.TAYLOR:
485         taylorColour.setSelected(true);
486         break;
487
488       case ColourSchemeProperty.HYDROPHOBIC:
489         hydrophobicityColour.setSelected(true);
490
491         break;
492
493       case ColourSchemeProperty.HELIX:
494         helixColour.setSelected(true);
495
496         break;
497
498       case ColourSchemeProperty.STRAND:
499         strandColour.setSelected(true);
500
501         break;
502
503       case ColourSchemeProperty.TURN:
504         turnColour.setSelected(true);
505
506         break;
507
508       case ColourSchemeProperty.BURIED:
509         buriedColour.setSelected(true);
510
511         break;
512
513       case ColourSchemeProperty.NUCLEOTIDE:
514         nucleotideColour.setSelected(true);
515
516         break;
517         
518       case ColourSchemeProperty.TCOFFEE:
519         tcoffeeColour.setSelected(true);
520         break;
521
522       case ColourSchemeProperty.USER_DEFINED:
523         userDefinedColour.setSelected(true);
524
525         break;
526       case ColourSchemeProperty.NONE:
527       default:
528         noColourmenuItem.setSelected(true);
529         break;
530
531       }
532     }
533
534   }
535
536   private void jbInit() throws Exception
537   {
538     fileMenu.setText("File");
539     saveAs.setText("Save As...");
540     saveAs.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
541             java.awt.event.KeyEvent.VK_S, Toolkit.getDefaultToolkit()
542                     .getMenuShortcutKeyMask()
543                     | java.awt.event.KeyEvent.SHIFT_MASK, false));
544     saveAs.addActionListener(new ActionListener()
545     {
546       public void actionPerformed(ActionEvent e)
547       {
548         saveAs_actionPerformed(e);
549       }
550     });
551     closeMenuItem.setText("Close");
552     closeMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
553             java.awt.event.KeyEvent.VK_W, Toolkit.getDefaultToolkit()
554                     .getMenuShortcutKeyMask(), false));
555     closeMenuItem.addActionListener(new java.awt.event.ActionListener()
556     {
557       public void actionPerformed(ActionEvent e)
558       {
559         closeMenuItem_actionPerformed(false);
560       }
561     });
562     editMenu.setText("Edit");
563     viewMenu.setText("View");
564     colourMenu.setText("Colour");
565     calculateMenu.setText("Calculate");
566     webService.setText("Web Service");
567     selectAllSequenceMenuItem.setText("Select All");
568     selectAllSequenceMenuItem.setAccelerator(javax.swing.KeyStroke
569             .getKeyStroke(java.awt.event.KeyEvent.VK_A, Toolkit
570                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
571     selectAllSequenceMenuItem
572             .addActionListener(new java.awt.event.ActionListener()
573             {
574               public void actionPerformed(ActionEvent e)
575               {
576                 selectAllSequenceMenuItem_actionPerformed(e);
577               }
578             });
579     deselectAllSequenceMenuItem.setText("Deselect All");
580     deselectAllSequenceMenuItem.setAccelerator(javax.swing.KeyStroke
581             .getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false));
582     deselectAllSequenceMenuItem
583             .addActionListener(new java.awt.event.ActionListener()
584             {
585               public void actionPerformed(ActionEvent e)
586               {
587                 deselectAllSequenceMenuItem_actionPerformed(e);
588               }
589             });
590     invertSequenceMenuItem.setText("Invert Sequence Selection");
591     invertSequenceMenuItem.setAccelerator(javax.swing.KeyStroke
592             .getKeyStroke(java.awt.event.KeyEvent.VK_I, Toolkit
593                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
594     invertSequenceMenuItem
595             .addActionListener(new java.awt.event.ActionListener()
596             {
597               public void actionPerformed(ActionEvent e)
598               {
599                 invertSequenceMenuItem_actionPerformed(e);
600               }
601             });
602     grpsFromSelection.setText("Make Groups for selection");
603     grpsFromSelection.addActionListener(new java.awt.event.ActionListener()
604     {
605       public void actionPerformed(ActionEvent e)
606       {
607         makeGrpsFromSelection_actionPerformed(e);
608       }
609     });
610
611     remove2LeftMenuItem.setText("Remove Left");
612     remove2LeftMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
613             java.awt.event.KeyEvent.VK_L, Toolkit.getDefaultToolkit()
614                     .getMenuShortcutKeyMask(), false));
615     remove2LeftMenuItem
616             .addActionListener(new java.awt.event.ActionListener()
617             {
618               public void actionPerformed(ActionEvent e)
619               {
620                 remove2LeftMenuItem_actionPerformed(e);
621               }
622             });
623     remove2RightMenuItem.setText("Remove Right");
624     remove2RightMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
625             java.awt.event.KeyEvent.VK_R, Toolkit.getDefaultToolkit()
626                     .getMenuShortcutKeyMask(), false));
627     remove2RightMenuItem
628             .addActionListener(new java.awt.event.ActionListener()
629             {
630               public void actionPerformed(ActionEvent e)
631               {
632                 remove2RightMenuItem_actionPerformed(e);
633               }
634             });
635     removeGappedColumnMenuItem.setText("Remove Empty Columns");
636     removeGappedColumnMenuItem.setAccelerator(javax.swing.KeyStroke
637             .getKeyStroke(java.awt.event.KeyEvent.VK_E, Toolkit
638                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
639     removeGappedColumnMenuItem
640             .addActionListener(new java.awt.event.ActionListener()
641             {
642               public void actionPerformed(ActionEvent e)
643               {
644                 removeGappedColumnMenuItem_actionPerformed(e);
645               }
646             });
647     removeAllGapsMenuItem.setText("Remove All Gaps");
648     removeAllGapsMenuItem.setAccelerator(javax.swing.KeyStroke
649             .getKeyStroke(java.awt.event.KeyEvent.VK_E, Toolkit
650                     .getDefaultToolkit().getMenuShortcutKeyMask()
651                     | java.awt.event.KeyEvent.SHIFT_MASK, false));
652     removeAllGapsMenuItem
653             .addActionListener(new java.awt.event.ActionListener()
654             {
655               public void actionPerformed(ActionEvent e)
656               {
657                 removeAllGapsMenuItem_actionPerformed(e);
658               }
659             });
660     justifyLeftMenuItem.setText("Left Justify Alignment");
661     justifyLeftMenuItem
662             .addActionListener(new java.awt.event.ActionListener()
663             {
664               public void actionPerformed(ActionEvent e)
665               {
666                 justifyLeftMenuItem_actionPerformed(e);
667               }
668             });
669     justifyRightMenuItem.setText("Right Justify Alignment");
670     justifyRightMenuItem
671             .addActionListener(new java.awt.event.ActionListener()
672             {
673               public void actionPerformed(ActionEvent e)
674               {
675                 justifyRightMenuItem_actionPerformed(e);
676               }
677             });
678     viewBoxesMenuItem.setText("Boxes");
679     viewBoxesMenuItem.setState(true);
680     viewBoxesMenuItem.addActionListener(new java.awt.event.ActionListener()
681     {
682       public void actionPerformed(ActionEvent e)
683       {
684         viewBoxesMenuItem_actionPerformed(e);
685       }
686     });
687     viewTextMenuItem.setText("Text");
688     viewTextMenuItem.setState(true);
689     viewTextMenuItem.addActionListener(new java.awt.event.ActionListener()
690     {
691       public void actionPerformed(ActionEvent e)
692       {
693         viewTextMenuItem_actionPerformed(e);
694       }
695     });
696     showNonconservedMenuItem.setText("Show nonconserved");
697     showNonconservedMenuItem.setState(false);
698     showNonconservedMenuItem
699             .addActionListener(new java.awt.event.ActionListener()
700             {
701               public void actionPerformed(ActionEvent e)
702               {
703                 showUnconservedMenuItem_actionPerformed(e);
704               }
705             });
706     sortPairwiseMenuItem.setText("by Pairwise Identity");
707     sortPairwiseMenuItem
708             .addActionListener(new java.awt.event.ActionListener()
709             {
710               public void actionPerformed(ActionEvent e)
711               {
712                 sortPairwiseMenuItem_actionPerformed(e);
713               }
714             });
715     sortIDMenuItem.setText("by ID");
716     sortIDMenuItem.addActionListener(new java.awt.event.ActionListener()
717     {
718       public void actionPerformed(ActionEvent e)
719       {
720         sortIDMenuItem_actionPerformed(e);
721       }
722     });
723     sortLengthMenuItem.setText("By Length");
724     sortLengthMenuItem
725             .addActionListener(new java.awt.event.ActionListener()
726             {
727               public void actionPerformed(ActionEvent e)
728               {
729                 sortLengthMenuItem_actionPerformed(e);
730               }
731             });
732     sortGroupMenuItem.setText("by Group");
733     sortGroupMenuItem.addActionListener(new java.awt.event.ActionListener()
734     {
735       public void actionPerformed(ActionEvent e)
736       {
737         sortGroupMenuItem_actionPerformed(e);
738       }
739     });
740     removeRedundancyMenuItem.setText("Remove Redundancy...");
741     removeRedundancyMenuItem.setAccelerator(javax.swing.KeyStroke
742             .getKeyStroke(java.awt.event.KeyEvent.VK_D, Toolkit
743                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
744     removeRedundancyMenuItem
745             .addActionListener(new java.awt.event.ActionListener()
746             {
747               public void actionPerformed(ActionEvent e)
748               {
749                 removeRedundancyMenuItem_actionPerformed(e);
750               }
751             });
752     pairwiseAlignmentMenuItem.setText("Pairwise Alignments...");
753     pairwiseAlignmentMenuItem
754             .addActionListener(new java.awt.event.ActionListener()
755             {
756               public void actionPerformed(ActionEvent e)
757               {
758                 pairwiseAlignmentMenuItem_actionPerformed(e);
759               }
760             });
761     PCAMenuItem.setText("Principal Component Analysis");
762     PCAMenuItem.addActionListener(new java.awt.event.ActionListener()
763     {
764       public void actionPerformed(ActionEvent e)
765       {
766         PCAMenuItem_actionPerformed(e);
767       }
768     });
769     averageDistanceTreeMenuItem
770             .setText("Average Distance Using % Identity");
771     averageDistanceTreeMenuItem
772             .addActionListener(new java.awt.event.ActionListener()
773             {
774               public void actionPerformed(ActionEvent e)
775               {
776                 averageDistanceTreeMenuItem_actionPerformed(e);
777               }
778             });
779     neighbourTreeMenuItem.setText("Neighbour Joining Using % Identity");
780     neighbourTreeMenuItem
781             .addActionListener(new java.awt.event.ActionListener()
782             {
783               public void actionPerformed(ActionEvent e)
784               {
785                 neighbourTreeMenuItem_actionPerformed(e);
786               }
787             });
788     this.getContentPane().setLayout(borderLayout1);
789     alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
790     statusBar.setBackground(Color.white);
791     statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
792     statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
793     statusBar.setText("Status bar");
794     outputTextboxMenu.setText("Output to Textbox");
795     clustalColour.setText("Clustalx");
796
797     clustalColour.addActionListener(new java.awt.event.ActionListener()
798     {
799       public void actionPerformed(ActionEvent e)
800       {
801         clustalColour_actionPerformed(e);
802       }
803     });
804     zappoColour.setText("Zappo");
805     zappoColour.addActionListener(new java.awt.event.ActionListener()
806     {
807       public void actionPerformed(ActionEvent e)
808       {
809         zappoColour_actionPerformed(e);
810       }
811     });
812     taylorColour.setText("Taylor");
813     taylorColour.addActionListener(new java.awt.event.ActionListener()
814     {
815       public void actionPerformed(ActionEvent e)
816       {
817         taylorColour_actionPerformed(e);
818       }
819     });
820     hydrophobicityColour.setText("Hydrophobicity");
821     hydrophobicityColour
822             .addActionListener(new java.awt.event.ActionListener()
823             {
824               public void actionPerformed(ActionEvent e)
825               {
826                 hydrophobicityColour_actionPerformed(e);
827               }
828             });
829     helixColour.setText("Helix Propensity");
830     helixColour.addActionListener(new java.awt.event.ActionListener()
831     {
832       public void actionPerformed(ActionEvent e)
833       {
834         helixColour_actionPerformed(e);
835       }
836     });
837     strandColour.setText("Strand Propensity");
838     strandColour.addActionListener(new java.awt.event.ActionListener()
839     {
840       public void actionPerformed(ActionEvent e)
841       {
842         strandColour_actionPerformed(e);
843       }
844     });
845     turnColour.setText("Turn Propensity");
846     turnColour.addActionListener(new java.awt.event.ActionListener()
847     {
848       public void actionPerformed(ActionEvent e)
849       {
850         turnColour_actionPerformed(e);
851       }
852     });
853     buriedColour.setText("Buried Index");
854     buriedColour.addActionListener(new java.awt.event.ActionListener()
855     {
856       public void actionPerformed(ActionEvent e)
857       {
858         buriedColour_actionPerformed(e);
859       }
860     });
861     userDefinedColour.setText("User Defined...");
862     userDefinedColour.addActionListener(new java.awt.event.ActionListener()
863     {
864       public void actionPerformed(ActionEvent e)
865       {
866         userDefinedColour_actionPerformed(e);
867       }
868     });
869     PIDColour.setText("Percentage Identity");
870     PIDColour.addActionListener(new java.awt.event.ActionListener()
871     {
872       public void actionPerformed(ActionEvent e)
873       {
874         PIDColour_actionPerformed(e);
875       }
876     });
877     BLOSUM62Colour.setText("BLOSUM62 Score");
878     BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener()
879     {
880       public void actionPerformed(ActionEvent e)
881       {
882         BLOSUM62Colour_actionPerformed(e);
883       }
884     });
885     avDistanceTreeBlosumMenuItem.setText("Average Distance Using BLOSUM62");
886     avDistanceTreeBlosumMenuItem
887             .addActionListener(new java.awt.event.ActionListener()
888             {
889               public void actionPerformed(ActionEvent e)
890               {
891                 avTreeBlosumMenuItem_actionPerformed(e);
892               }
893             });
894     njTreeBlosumMenuItem.setText("Neighbour Joining using BLOSUM62");
895     njTreeBlosumMenuItem
896             .addActionListener(new java.awt.event.ActionListener()
897             {
898               public void actionPerformed(ActionEvent e)
899               {
900                 njTreeBlosumMenuItem_actionPerformed(e);
901               }
902             });
903     annotationPanelMenuItem.setActionCommand("");
904     annotationPanelMenuItem.setText("Show Annotations");
905     annotationPanelMenuItem.setState(jalview.bin.Cache.getDefault(
906             "SHOW_ANNOTATIONS", true));
907     annotationPanelMenuItem
908             .addActionListener(new java.awt.event.ActionListener()
909             {
910               public void actionPerformed(ActionEvent e)
911               {
912                 annotationPanelMenuItem_actionPerformed(e);
913               }
914             });
915     colourTextMenuItem.setText("Colour Text");
916     colourTextMenuItem
917             .addActionListener(new java.awt.event.ActionListener()
918             {
919               public void actionPerformed(ActionEvent e)
920               {
921                 colourTextMenuItem_actionPerformed(e);
922               }
923             });
924     htmlMenuItem.setText("HTML");
925     htmlMenuItem.addActionListener(new java.awt.event.ActionListener()
926     {
927       public void actionPerformed(ActionEvent e)
928       {
929         htmlMenuItem_actionPerformed(e);
930       }
931     });
932     overviewMenuItem.setText("Overview Window");
933     overviewMenuItem.addActionListener(new java.awt.event.ActionListener()
934     {
935       public void actionPerformed(ActionEvent e)
936       {
937         overviewMenuItem_actionPerformed(e);
938       }
939     });
940     undoMenuItem.setEnabled(false);
941     undoMenuItem.setText("Undo");
942     undoMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
943             java.awt.event.KeyEvent.VK_Z, Toolkit.getDefaultToolkit()
944                     .getMenuShortcutKeyMask(), false));
945     undoMenuItem.addActionListener(new java.awt.event.ActionListener()
946     {
947       public void actionPerformed(ActionEvent e)
948       {
949         undoMenuItem_actionPerformed(e);
950       }
951     });
952     redoMenuItem.setEnabled(false);
953     redoMenuItem.setText("Redo");
954     redoMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
955             java.awt.event.KeyEvent.VK_Y, Toolkit.getDefaultToolkit()
956                     .getMenuShortcutKeyMask(), false));
957     redoMenuItem.addActionListener(new java.awt.event.ActionListener()
958     {
959       public void actionPerformed(ActionEvent e)
960       {
961         redoMenuItem_actionPerformed(e);
962       }
963     });
964     conservationMenuItem.setText("By Conservation");
965     conservationMenuItem
966             .addActionListener(new java.awt.event.ActionListener()
967             {
968               public void actionPerformed(ActionEvent e)
969               {
970                 conservationMenuItem_actionPerformed(e);
971               }
972             });
973     noColourmenuItem.setText("None");
974     noColourmenuItem.addActionListener(new java.awt.event.ActionListener()
975     {
976       public void actionPerformed(ActionEvent e)
977       {
978         noColourmenuItem_actionPerformed(e);
979       }
980     });
981     wrapMenuItem.setText("Wrap");
982     wrapMenuItem.addActionListener(new java.awt.event.ActionListener()
983     {
984       public void actionPerformed(ActionEvent e)
985       {
986         wrapMenuItem_actionPerformed(e);
987       }
988     });
989     printMenuItem.setText("Print ...");
990     printMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
991             java.awt.event.KeyEvent.VK_P, Toolkit.getDefaultToolkit()
992                     .getMenuShortcutKeyMask(), false));
993     printMenuItem.addActionListener(new java.awt.event.ActionListener()
994     {
995       public void actionPerformed(ActionEvent e)
996       {
997         printMenuItem_actionPerformed(e);
998       }
999     });
1000     renderGapsMenuItem.setText("Show Gaps");
1001     renderGapsMenuItem.setState(true);
1002     renderGapsMenuItem
1003             .addActionListener(new java.awt.event.ActionListener()
1004             {
1005               public void actionPerformed(ActionEvent e)
1006               {
1007                 renderGapsMenuItem_actionPerformed(e);
1008               }
1009             });
1010     findMenuItem.setText("Find...");
1011     findMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1012             java.awt.event.KeyEvent.VK_F, Toolkit.getDefaultToolkit()
1013                     .getMenuShortcutKeyMask(), false));
1014     findMenuItem.addActionListener(new java.awt.event.ActionListener()
1015     {
1016       public void actionPerformed(ActionEvent e)
1017       {
1018         findMenuItem_actionPerformed(e);
1019       }
1020     });
1021     abovePIDThreshold.setText("Above Identity Threshold");
1022     abovePIDThreshold.addActionListener(new java.awt.event.ActionListener()
1023     {
1024       public void actionPerformed(ActionEvent e)
1025       {
1026         abovePIDThreshold_actionPerformed(e);
1027       }
1028     });
1029     showSeqFeatures.setText("Show Sequence Features");
1030     showSeqFeatures.addActionListener(new ActionListener()
1031     {
1032       public void actionPerformed(ActionEvent actionEvent)
1033       {
1034         showSeqFeatures_actionPerformed(actionEvent);
1035       }
1036     });
1037     /*
1038      * showSeqFeaturesHeight.setText("Vary Sequence Feature Height");
1039      * showSeqFeaturesHeight.addActionListener(new ActionListener() { public
1040      * void actionPerformed(ActionEvent actionEvent) {
1041      * showSeqFeaturesHeight_actionPerformed(actionEvent); } });
1042      */
1043     showDbRefsMenuitem.setText("Show Database Refs");
1044     showDbRefsMenuitem.addActionListener(new ActionListener()
1045     {
1046
1047       public void actionPerformed(ActionEvent e)
1048       {
1049         showDbRefs_actionPerformed(e);
1050       }
1051
1052     });
1053     showNpFeatsMenuitem.setText("Show Non-Positional Features");
1054     showNpFeatsMenuitem.addActionListener(new ActionListener()
1055     {
1056
1057       public void actionPerformed(ActionEvent e)
1058       {
1059         showNpFeats_actionPerformed(e);
1060       }
1061
1062     });
1063     showGroupConservation.setText("Group Conservation");
1064     showGroupConservation.addActionListener(new ActionListener()
1065     {
1066
1067       public void actionPerformed(ActionEvent e)
1068       {
1069         showGroupConservation_actionPerformed(e);
1070       }
1071
1072     });
1073
1074     showGroupConsensus.setText("Group Consensus");
1075     showGroupConsensus.addActionListener(new ActionListener()
1076     {
1077
1078       public void actionPerformed(ActionEvent e)
1079       {
1080         showGroupConsensus_actionPerformed(e);
1081       }
1082
1083     });
1084     showConsensusHistogram.setText("Show Consensus Histogram");
1085     showConsensusHistogram.addActionListener(new ActionListener()
1086     {
1087
1088       public void actionPerformed(ActionEvent e)
1089       {
1090         showConsensusHistogram_actionPerformed(e);
1091       }
1092
1093     });
1094     showSequenceLogo.setText("Show Consensus Logo");
1095     showSequenceLogo.addActionListener(new ActionListener()
1096     {
1097
1098       public void actionPerformed(ActionEvent e)
1099       {
1100         showSequenceLogo_actionPerformed(e);
1101       }
1102
1103     });
1104     applyAutoAnnotationSettings.setText("Apply to all groups");
1105     applyAutoAnnotationSettings.setState(false);
1106     applyAutoAnnotationSettings.setVisible(true);
1107     applyAutoAnnotationSettings.addActionListener(new ActionListener()
1108     {
1109
1110       public void actionPerformed(ActionEvent e)
1111       {
1112         applyAutoAnnotationSettings_actionPerformed(e);
1113       }
1114
1115     });
1116
1117     nucleotideColour.setText("Nucleotide");
1118     nucleotideColour.addActionListener(new java.awt.event.ActionListener()
1119     {
1120       public void actionPerformed(ActionEvent e)
1121       {
1122         nucleotideColour_actionPerformed(e);
1123       }
1124     });
1125     
1126     tcoffeeColour.setText("T-Coffee scores");
1127     tcoffeeColour.setEnabled(false);
1128     tcoffeeColour.addActionListener( new ActionListener() {
1129                 
1130                 @Override
1131                 public void actionPerformed(ActionEvent e) {
1132                         tcoffeeColorScheme_actionPerformed(e);
1133                 }
1134         } );
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     
1258     loadScoresMenuItem.setActionCommand("Load T-Coffee scores");
1259     loadScoresMenuItem.setText("Load T-Coffee scores");
1260     loadScoresMenuItem.addActionListener(new ActionListener() {
1261                 
1262                 @Override
1263                 public void actionPerformed(ActionEvent e) {
1264                         loadScores_actionPerformed(e);
1265                 }
1266         });
1267     
1268     scaleAbove.setVisible(false);
1269     scaleAbove.setText("Scale Above");
1270     scaleAbove.addActionListener(new java.awt.event.ActionListener()
1271     {
1272       public void actionPerformed(ActionEvent e)
1273       {
1274         scaleAbove_actionPerformed(e);
1275       }
1276     });
1277     scaleLeft.setVisible(false);
1278     scaleLeft.setSelected(true);
1279     scaleLeft.setText("Scale Left");
1280     scaleLeft.addActionListener(new java.awt.event.ActionListener()
1281     {
1282       public void actionPerformed(ActionEvent e)
1283       {
1284         scaleLeft_actionPerformed(e);
1285       }
1286     });
1287     scaleRight.setVisible(false);
1288     scaleRight.setSelected(true);
1289     scaleRight.setText("Scale Right");
1290     scaleRight.addActionListener(new java.awt.event.ActionListener()
1291     {
1292       public void actionPerformed(ActionEvent e)
1293       {
1294         scaleRight_actionPerformed(e);
1295       }
1296     });
1297     centreColumnLabelsMenuItem.setVisible(true);
1298     centreColumnLabelsMenuItem.setState(false);
1299     centreColumnLabelsMenuItem.setText("Centre Column Labels");
1300     centreColumnLabelsMenuItem
1301             .addActionListener(new java.awt.event.ActionListener()
1302             {
1303               public void actionPerformed(ActionEvent e)
1304               {
1305                 centreColumnLabels_actionPerformed(e);
1306               }
1307             });
1308     followHighlightMenuItem.setVisible(true);
1309     followHighlightMenuItem.setState(true);
1310     followHighlightMenuItem.setText("Automatic Scrolling");
1311     followHighlightMenuItem.addActionListener(new ActionListener()
1312     {
1313
1314       public void actionPerformed(ActionEvent e)
1315       {
1316         followHighlight_actionPerformed();
1317       }
1318
1319     });
1320
1321     modifyPID.setText("Modify Identity Threshold...");
1322     modifyPID.addActionListener(new java.awt.event.ActionListener()
1323     {
1324       public void actionPerformed(ActionEvent e)
1325       {
1326         modifyPID_actionPerformed(e);
1327       }
1328     });
1329     modifyConservation.setText("Modify Conservation Threshold...");
1330     modifyConservation
1331             .addActionListener(new java.awt.event.ActionListener()
1332             {
1333               public void actionPerformed(ActionEvent e)
1334               {
1335                 modifyConservation_actionPerformed(e);
1336               }
1337             });
1338     sortByTreeMenu.setText("By Tree Order");
1339     sort.setText("Sort");
1340     sort.addMenuListener(new MenuListener()
1341     {
1342       public void menuSelected(MenuEvent e)
1343       {
1344         buildTreeMenu();
1345       }
1346
1347       public void menuDeselected(MenuEvent e)
1348       {
1349       }
1350
1351       public void menuCanceled(MenuEvent e)
1352       {
1353       }
1354     });
1355     sortByAnnotScore.setText("by Score");
1356     sort.add(sortByAnnotScore);
1357     sortByAnnotScore.addMenuListener(new javax.swing.event.MenuListener()
1358     {
1359
1360       public void menuCanceled(MenuEvent e)
1361       {
1362       }
1363
1364       public void menuDeselected(MenuEvent e)
1365       {
1366       }
1367
1368       public void menuSelected(MenuEvent e)
1369       {
1370         buildSortByAnnotationScoresMenu();
1371       }
1372     });
1373     sortByAnnotScore.setVisible(false);
1374
1375     calculateTree.setText("Calculate Tree");
1376
1377     jMenu2.setText("Export Image");
1378     padGapsMenuitem.setText("Pad Gaps");
1379     padGapsMenuitem.setState(jalview.bin.Cache
1380             .getDefault("PAD_GAPS", false));
1381     padGapsMenuitem.addActionListener(new ActionListener()
1382     {
1383       public void actionPerformed(ActionEvent e)
1384       {
1385         padGapsMenuitem_actionPerformed(e);
1386       }
1387     });
1388     vamsasStore.setVisible(false);
1389     vamsasStore.setText("VAMSAS store");
1390     vamsasStore.addActionListener(new ActionListener()
1391     {
1392       public void actionPerformed(ActionEvent e)
1393       {
1394         vamsasStore_actionPerformed(e);
1395       }
1396     });
1397     showTranslation.setText("Translate cDNA");
1398     showTranslation.addActionListener(new ActionListener()
1399     {
1400       public void actionPerformed(ActionEvent e)
1401       {
1402         showTranslation_actionPerformed(e);
1403       }
1404     });
1405     extractScores.setText("Extract Scores...");
1406     extractScores.addActionListener(new ActionListener()
1407     {
1408       public void actionPerformed(ActionEvent e)
1409       {
1410         extractScores_actionPerformed(e);
1411       }
1412     });
1413     extractScores.setVisible(true); // JBPNote: TODO: make gui for regex based
1414     // score extraction
1415     showProducts.setText("Get Cross References");
1416     /*
1417      * showProducts.addActionListener(new ActionListener() {
1418      * 
1419      * public void actionPerformed(ActionEvent e) {
1420      * showProducts_actionPerformed(e); } });
1421      */
1422     featureSettings.setText("Feature Settings...");
1423     featureSettings.addActionListener(new ActionListener()
1424     {
1425       public void actionPerformed(ActionEvent e)
1426       {
1427         featureSettings_actionPerformed(e);
1428       }
1429     });
1430     fetchSequence.setText("Fetch Sequence(s)...");
1431     fetchSequence.addActionListener(new ActionListener()
1432     {
1433       public void actionPerformed(ActionEvent e)
1434       {
1435         fetchSequence_actionPerformed(e);
1436       }
1437     });
1438
1439     annotationColour.setText("By Annotation...");
1440     annotationColour.addActionListener(new ActionListener()
1441     {
1442       public void actionPerformed(ActionEvent e)
1443       {
1444         annotationColour_actionPerformed(e);
1445       }
1446     });
1447     associatedData.setText("Load Features / Annotations");
1448     associatedData.addActionListener(new ActionListener()
1449     {
1450       public void actionPerformed(ActionEvent e)
1451       {
1452         associatedData_actionPerformed(e);
1453       }
1454     });
1455     autoCalculate.setText("Autocalculate Consensus");
1456     autoCalculate.setState(jalview.bin.Cache.getDefault(
1457             "AUTO_CALC_CONSENSUS", true));
1458     autoCalculate.addActionListener(new ActionListener()
1459     {
1460       public void actionPerformed(ActionEvent e)
1461       {
1462         autoCalculate_actionPerformed(e);
1463       }
1464     });
1465     sortByTree.setText("Sort Alignment With New Tree");
1466     sortByTree.setToolTipText("<html>Enable this to automatically sort<br>the alignment when you open<br> a new tree.");
1467     sortByTree.setState(jalview.bin.Cache.getDefault(
1468             "SORT_BY_TREE", false));
1469     sortByTree.addActionListener(new ActionListener()
1470     {
1471       public void actionPerformed(ActionEvent e)
1472       {
1473         sortByTreeOption_actionPerformed(e);
1474       }
1475     });
1476
1477     listenToViewSelections.setText("Listen for selections");
1478     listenToViewSelections.setToolTipText("<html>When selected, selections in this view will mirror<br>selections made on the same sequences in other views.");
1479     listenToViewSelections.setState(false); 
1480     listenToViewSelections.addActionListener(new ActionListener()
1481     {
1482       public void actionPerformed(ActionEvent e)
1483       {
1484         listenToViewSelections_actionPerformed(e);
1485       }
1486     });
1487
1488     addSequenceMenu.setText("Add Sequences");
1489     addFromFile.setText("From File");
1490     addFromFile.addActionListener(new ActionListener()
1491     {
1492       public void actionPerformed(ActionEvent e)
1493       {
1494         addFromFile_actionPerformed(e);
1495       }
1496     });
1497     addFromText.setText("From Textbox");
1498     addFromText.addActionListener(new ActionListener()
1499     {
1500       public void actionPerformed(ActionEvent e)
1501       {
1502         addFromText_actionPerformed(e);
1503       }
1504     });
1505     addFromURL.setText("From URL");
1506     addFromURL.addActionListener(new ActionListener()
1507     {
1508       public void actionPerformed(ActionEvent e)
1509       {
1510         addFromURL_actionPerformed(e);
1511       }
1512     });
1513     exportFeatures.setText("Export Features...");
1514     exportFeatures.addActionListener(new ActionListener()
1515     {
1516       public void actionPerformed(ActionEvent e)
1517       {
1518         exportFeatures_actionPerformed(e);
1519       }
1520     });
1521     exportAnnotations.setText("Export Annotations...");
1522     exportAnnotations.addActionListener(new ActionListener()
1523     {
1524       public void actionPerformed(ActionEvent e)
1525       {
1526         exportAnnotations_actionPerformed(e);
1527       }
1528     });
1529     statusPanel.setLayout(gridLayout1);
1530     jMenu3.setText("Show");
1531     showAllSeqs.setText("All Sequences");
1532     showAllSeqs.setToolTipText("Shift+H toggles sequence visiblity.");
1533     showAllSeqs.addActionListener(new ActionListener()
1534     {
1535       public void actionPerformed(ActionEvent e)
1536       {
1537         showAllSeqs_actionPerformed(e);
1538       }
1539     });
1540     showAllColumns.setText("All Columns");
1541     showAllColumns.setToolTipText("Ctrl+H toggles column visiblity.");
1542     showAllColumns.addActionListener(new ActionListener()
1543     {
1544       public void actionPerformed(ActionEvent e)
1545       {
1546         showAllColumns_actionPerformed(e);
1547       }
1548     });
1549     hideMenu.setText("Hide");
1550     hideSelSequences.setText("Selected Sequences");
1551     hideSelSequences.setToolTipText("Shift+H toggles sequence visiblity.");
1552     hideSelSequences.addActionListener(new ActionListener()
1553     {
1554       public void actionPerformed(ActionEvent e)
1555       {
1556         hideSelSequences_actionPerformed(e);
1557       }
1558     });
1559     hideSelColumns.setText("Selected Columns");
1560     hideSelColumns.setToolTipText("Ctrl+H toggles column visiblity.");
1561     hideSelColumns.addActionListener(new ActionListener()
1562     {
1563       public void actionPerformed(ActionEvent e)
1564       {
1565         hideSelColumns_actionPerformed(e);
1566       }
1567     });
1568     hideAllSelection.setText("Selected Region");
1569     hideAllSelection.addActionListener(new ActionListener()
1570     {
1571       public void actionPerformed(ActionEvent e)
1572       {
1573         hideAllSelection_actionPerformed(e);
1574       }
1575     });
1576     // TODO: should be hidden if no selection exists.
1577     hideAllButSelection.setText("All but Selected Region (Shift+Ctrl+H)");
1578     hideAllButSelection.addActionListener(new ActionListener()
1579     {
1580       public void actionPerformed(ActionEvent e)
1581       {
1582         hideAllButSelection_actionPerformed(e);
1583       }
1584     });
1585     showAllhidden.setText("All Sequences and Columns");
1586     showAllhidden
1587             .setToolTipText("H toggles visibility of hidden or selected regions.");
1588     showAllhidden.addActionListener(new ActionListener()
1589     {
1590       public void actionPerformed(ActionEvent e)
1591       {
1592         showAllhidden_actionPerformed(e);
1593       }
1594     });
1595
1596     hiddenMarkers.setText("Show Hidden Markers");
1597     hiddenMarkers.addActionListener(new ActionListener()
1598     {
1599       public void actionPerformed(ActionEvent e)
1600       {
1601         hiddenMarkers_actionPerformed(e);
1602       }
1603     });
1604     invertColSel.setText("Invert Column Selection");
1605     invertColSel.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1606             java.awt.event.KeyEvent.VK_I, Toolkit.getDefaultToolkit()
1607                     .getMenuShortcutKeyMask()
1608                     | java.awt.event.KeyEvent.ALT_MASK, false));
1609     invertColSel.addActionListener(new ActionListener()
1610     {
1611       public void actionPerformed(ActionEvent e)
1612       {
1613         invertColSel_actionPerformed(e);
1614       }
1615     });
1616     tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
1617     {
1618       public void stateChanged(ChangeEvent evt)
1619       {
1620         JTabbedPane pane = (JTabbedPane) evt.getSource();
1621         int sel = pane.getSelectedIndex();
1622         tabSelectionChanged(sel);
1623       }
1624     });
1625     tabbedPane.addMouseListener(new MouseAdapter()
1626     {
1627       public void mousePressed(MouseEvent e)
1628       {
1629         tabbedPane_mousePressed(e);
1630       }
1631     });
1632     tabbedPane.addFocusListener(new FocusAdapter()
1633     {
1634       public void focusGained(FocusEvent e)
1635       {
1636         tabbedPane_focusGained(e);
1637       }
1638     });
1639     save.setText("Save");
1640     save.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1641             java.awt.event.KeyEvent.VK_S, Toolkit.getDefaultToolkit()
1642                     .getMenuShortcutKeyMask(), false));
1643     save.addActionListener(new ActionListener()
1644     {
1645       public void actionPerformed(ActionEvent e)
1646       {
1647         save_actionPerformed(e);
1648       }
1649     });
1650     reload.setEnabled(false);
1651     reload.setText("Reload");
1652     reload.addActionListener(new ActionListener()
1653     {
1654       public void actionPerformed(ActionEvent e)
1655       {
1656         reload_actionPerformed(e);
1657       }
1658     });
1659     newView.setText("New View");
1660     newView.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1661             java.awt.event.KeyEvent.VK_T, Toolkit.getDefaultToolkit()
1662                     .getMenuShortcutKeyMask(), false));
1663     newView.addActionListener(new ActionListener()
1664     {
1665       public void actionPerformed(ActionEvent e)
1666       {
1667         newView_actionPerformed(e);
1668       }
1669     });
1670     tabbedPane.setToolTipText("<html><i> Right-click to rename tab"
1671             + "<br> Press X to eXpand tabs, G to reGroup.</i></html>");
1672     textColour.setText("Colour Text ...");
1673     textColour.addActionListener(new ActionListener()
1674     {
1675       public void actionPerformed(ActionEvent e)
1676       {
1677         textColour_actionPerformed(e);
1678       }
1679     });
1680     formatMenu.setText("Format");
1681     selectMenu.setText("Select");
1682     idRightAlign.setText("Right Align Sequence Id");
1683     idRightAlign.addActionListener(new ActionListener()
1684     {
1685       public void actionPerformed(ActionEvent e)
1686       {
1687         idRightAlign_actionPerformed(e);
1688       }
1689     });
1690     gatherViews.setEnabled(false);
1691     gatherViews.setText("Gather Views");
1692     gatherViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1693             java.awt.event.KeyEvent.VK_G, 0, false));
1694     gatherViews.addActionListener(new ActionListener()
1695     {
1696       public void actionPerformed(ActionEvent e)
1697       {
1698         gatherViews_actionPerformed(e);
1699       }
1700     });
1701     expandViews.setEnabled(false);
1702     expandViews.setText("Expand Views");
1703     expandViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1704             java.awt.event.KeyEvent.VK_X, 0, false));
1705     expandViews.addActionListener(new ActionListener()
1706     {
1707       public void actionPerformed(ActionEvent e)
1708       {
1709         expandViews_actionPerformed(e);
1710       }
1711     });
1712     pageSetup.setText("Page Setup ...");
1713     pageSetup.addActionListener(new ActionListener()
1714     {
1715       public void actionPerformed(ActionEvent e)
1716       {
1717         pageSetup_actionPerformed(e);
1718       }
1719     });
1720     alignmentProperties.setText("Alignment Properties...");
1721     alignmentProperties.addActionListener(new ActionListener()
1722     {
1723       public void actionPerformed(ActionEvent actionEvent)
1724       {
1725         alignmentProperties();
1726       }
1727     });
1728     tooltipSettingsMenu.setText("Sequence ID Tooltip");
1729     autoAnnMenu.setText("Autocalculated Annotation");
1730     alignFrameMenuBar.add(fileMenu);
1731     alignFrameMenuBar.add(editMenu);
1732     alignFrameMenuBar.add(selectMenu);
1733     alignFrameMenuBar.add(viewMenu);
1734     alignFrameMenuBar.add(formatMenu);
1735     alignFrameMenuBar.add(colourMenu);
1736     alignFrameMenuBar.add(calculateMenu);
1737     alignFrameMenuBar.add(webService);
1738     fileMenu.add(fetchSequence);
1739     fileMenu.add(addSequenceMenu);
1740     fileMenu.add(reload);
1741     fileMenu.addSeparator();
1742     fileMenu.add(vamsasStore);
1743     fileMenu.add(save);
1744     fileMenu.add(saveAs);
1745     fileMenu.add(outputTextboxMenu);
1746     fileMenu.add(pageSetup);
1747     fileMenu.add(printMenuItem);
1748     fileMenu.addSeparator();
1749     fileMenu.add(jMenu2);
1750     fileMenu.add(exportFeatures);
1751     fileMenu.add(exportAnnotations);
1752     fileMenu.add(LoadtreeMenuItem);
1753     fileMenu.add(associatedData);
1754     fileMenu.add(loadScoresMenuItem);
1755     fileMenu.addSeparator();
1756     fileMenu.add(closeMenuItem);
1757     editMenu.add(undoMenuItem);
1758     editMenu.add(redoMenuItem);
1759     editMenu.add(cut);
1760     editMenu.add(copy);
1761     editMenu.add(pasteMenu);
1762     editMenu.add(delete);
1763     editMenu.addSeparator();
1764     editMenu.add(remove2LeftMenuItem);
1765     editMenu.add(remove2RightMenuItem);
1766     editMenu.add(removeGappedColumnMenuItem);
1767     editMenu.add(removeAllGapsMenuItem);
1768     editMenu.add(removeRedundancyMenuItem);
1769     editMenu.addSeparator();
1770     // dont add these yet in the CVS build - they cannot be undone!
1771     // Excluded from Jalview 2.5 release - undo needs to be implemented.
1772     // editMenu.add(justifyLeftMenuItem);
1773     // editMenu.add(justifyRightMenuItem);
1774     // editMenu.addSeparator();
1775     editMenu.add(padGapsMenuitem);
1776     viewMenu.add(newView);
1777     viewMenu.add(expandViews);
1778     viewMenu.add(gatherViews);
1779     viewMenu.addSeparator();
1780     viewMenu.add(jMenu3);
1781     viewMenu.add(hideMenu);
1782     viewMenu.addSeparator();
1783     viewMenu.add(followHighlightMenuItem);
1784     viewMenu.add(annotationPanelMenuItem);
1785     autoAnnMenu.add(applyAutoAnnotationSettings);
1786     autoAnnMenu.add(showConsensusHistogram);
1787     autoAnnMenu.add(showSequenceLogo);
1788     autoAnnMenu.addSeparator();
1789     autoAnnMenu.add(showGroupConservation);
1790     autoAnnMenu.add(showGroupConsensus);
1791     viewMenu.add(autoAnnMenu);
1792     viewMenu.addSeparator();
1793     viewMenu.add(showSeqFeatures);
1794     // viewMenu.add(showSeqFeaturesHeight);
1795
1796     viewMenu.add(featureSettings);
1797     tooltipSettingsMenu.add(showDbRefsMenuitem);
1798     tooltipSettingsMenu.add(showNpFeatsMenuitem);
1799     viewMenu.add(tooltipSettingsMenu);
1800     viewMenu.addSeparator();
1801     viewMenu.add(alignmentProperties);
1802     viewMenu.addSeparator();
1803     viewMenu.add(overviewMenuItem);
1804     colourMenu.add(applyToAllGroups);
1805     colourMenu.add(textColour);
1806     colourMenu.addSeparator();
1807     colourMenu.add(noColourmenuItem);
1808     colourMenu.add(clustalColour);
1809     colourMenu.add(BLOSUM62Colour);
1810     colourMenu.add(PIDColour);
1811     colourMenu.add(zappoColour);
1812     colourMenu.add(taylorColour);
1813     colourMenu.add(hydrophobicityColour);
1814     colourMenu.add(helixColour);
1815     colourMenu.add(strandColour);
1816     colourMenu.add(turnColour);
1817     colourMenu.add(buriedColour);
1818     colourMenu.add(nucleotideColour);
1819     colourMenu.add(tcoffeeColour);
1820     colourMenu.add(userDefinedColour);
1821     colourMenu.addSeparator();
1822     colourMenu.add(conservationMenuItem);
1823     colourMenu.add(modifyConservation);
1824     colourMenu.add(abovePIDThreshold);
1825     colourMenu.add(modifyPID);
1826     colourMenu.add(annotationColour);
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 noColourmenuItem_actionPerformed(ActionEvent e)
2202   {
2203   }
2204
2205   protected void conservationMenuItem_actionPerformed(ActionEvent e)
2206   {
2207   }
2208
2209   protected void printMenuItem_actionPerformed(ActionEvent e)
2210   {
2211   }
2212
2213   protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2214   {
2215   }
2216
2217   protected void findMenuItem_actionPerformed(ActionEvent e)
2218   {
2219   }
2220
2221   protected void abovePIDThreshold_actionPerformed(ActionEvent e)
2222   {
2223   }
2224
2225   public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2226   {
2227   }
2228
2229   protected void nucleotideColour_actionPerformed(ActionEvent e)
2230   {
2231   }
2232
2233   protected void deleteGroups_actionPerformed(ActionEvent e)
2234   {
2235   }
2236
2237   protected void copy_actionPerformed(ActionEvent e)
2238   {
2239   }
2240
2241   protected void cut_actionPerformed(ActionEvent e)
2242   {
2243   }
2244
2245   protected void delete_actionPerformed(ActionEvent e)
2246   {
2247   }
2248
2249   protected void pasteNew_actionPerformed(ActionEvent e)
2250   {
2251   }
2252
2253   protected void pasteThis_actionPerformed(ActionEvent e)
2254   {
2255   }
2256
2257   protected void applyToAllGroups_actionPerformed(ActionEvent e)
2258   {
2259   }
2260
2261   public void createPNG(java.io.File f)
2262   {
2263   }
2264
2265   protected void font_actionPerformed(ActionEvent e)
2266   {
2267   }
2268
2269   protected void seqLimit_actionPerformed(ActionEvent e)
2270   {
2271   }
2272
2273   public void seqDBRef_actionPerformed(ActionEvent e)
2274   {
2275
2276   }
2277
2278   public void createEPS(java.io.File f)
2279   {
2280   }
2281
2282   protected void LoadtreeMenuItem_actionPerformed(ActionEvent e)
2283   {
2284
2285   }
2286   
2287   /**
2288    * Template method to handle the 'load T-Coffee scores' menu event. 
2289    * <p>
2290    * Subclasses override this method to provide a custom action.
2291    *  
2292    * @param event The raised event
2293    */
2294   protected void loadScores_actionPerformed(ActionEvent event) {
2295            
2296   }
2297   
2298
2299   /**
2300    * Template method to handle the 'Color T-Coffee scores' menu event. 
2301    * <p>
2302    * Subclasses override this method to provide a custom action.
2303    *  
2304    * @param event The raised event
2305    */
2306   protected void tcoffeeColorScheme_actionPerformed(ActionEvent event) {
2307           
2308   }
2309   
2310
2311   protected void jpred_actionPerformed(ActionEvent e)
2312   {
2313   }
2314
2315   protected void scaleAbove_actionPerformed(ActionEvent e)
2316   {
2317   }
2318
2319   protected void scaleLeft_actionPerformed(ActionEvent e)
2320   {
2321   }
2322
2323   protected void scaleRight_actionPerformed(ActionEvent e)
2324   {
2325   }
2326
2327   protected void modifyPID_actionPerformed(ActionEvent e)
2328   {
2329   }
2330
2331   protected void modifyConservation_actionPerformed(ActionEvent e)
2332   {
2333   }
2334
2335   protected void saveAs_actionPerformed(ActionEvent e)
2336   {
2337   }
2338
2339   protected void padGapsMenuitem_actionPerformed(ActionEvent e)
2340   {
2341   }
2342
2343   public void vamsasStore_actionPerformed(ActionEvent e)
2344   {
2345
2346   }
2347
2348   public void vamsasLoad_actionPerformed(ActionEvent e)
2349   {
2350
2351   }
2352
2353   public void showTranslation_actionPerformed(ActionEvent e)
2354   {
2355
2356   }
2357
2358   public void featureSettings_actionPerformed(ActionEvent e)
2359   {
2360
2361   }
2362
2363   public void fetchSequence_actionPerformed(ActionEvent e)
2364   {
2365
2366   }
2367
2368   public void smoothFont_actionPerformed(ActionEvent e)
2369   {
2370
2371   }
2372
2373   public void annotationColour_actionPerformed(ActionEvent e)
2374   {
2375
2376   }
2377
2378   public void associatedData_actionPerformed(ActionEvent e)
2379   {
2380
2381   }
2382
2383   public void autoCalculate_actionPerformed(ActionEvent e)
2384   {
2385
2386   }
2387
2388   public void sortByTreeOption_actionPerformed(ActionEvent e)
2389   {
2390
2391   }
2392
2393   public void showAllSeqs_actionPerformed(ActionEvent e)
2394   {
2395
2396   }
2397
2398   public void showAllColumns_actionPerformed(ActionEvent e)
2399   {
2400
2401   }
2402
2403   public void hideSelSequences_actionPerformed(ActionEvent e)
2404   {
2405
2406   }
2407
2408   public void hideSelColumns_actionPerformed(ActionEvent e)
2409   {
2410
2411   }
2412
2413   public void hiddenMarkers_actionPerformed(ActionEvent e)
2414   {
2415
2416   }
2417
2418   public void findPdbId_actionPerformed(ActionEvent e)
2419   {
2420
2421   }
2422
2423   public void enterPdbId_actionPerformed(ActionEvent e)
2424   {
2425
2426   }
2427
2428   public void pdbFile_actionPerformed(ActionEvent e)
2429   {
2430
2431   }
2432
2433   public void invertColSel_actionPerformed(ActionEvent e)
2434   {
2435
2436   }
2437
2438   public void tabSelectionChanged(int sel)
2439   {
2440
2441   }
2442
2443   public void tabbedPane_mousePressed(MouseEvent e)
2444   {
2445
2446   }
2447
2448   public void tabbedPane_focusGained(FocusEvent e)
2449   {
2450     requestFocus();
2451   }
2452
2453   public void save_actionPerformed(ActionEvent e)
2454   {
2455
2456   }
2457
2458   public void reload_actionPerformed(ActionEvent e)
2459   {
2460
2461   }
2462
2463   public void newView_actionPerformed(ActionEvent e)
2464   {
2465
2466   }
2467
2468   public void textColour_actionPerformed(ActionEvent e)
2469   {
2470
2471   }
2472
2473   public void idRightAlign_actionPerformed(ActionEvent e)
2474   {
2475
2476   }
2477
2478   public void expandViews_actionPerformed(ActionEvent e)
2479   {
2480
2481   }
2482
2483   public void gatherViews_actionPerformed(ActionEvent e)
2484   {
2485
2486   }
2487
2488   public void buildTreeMenu()
2489   {
2490
2491   }
2492
2493   public void pageSetup_actionPerformed(ActionEvent e)
2494   {
2495
2496   }
2497
2498   public void alignmentProperties()
2499   {
2500
2501   }
2502 }