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