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