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