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