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