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