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