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