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