JAL-1152 use a proper RadioButton not a faked one
[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 JRadioButtonMenuItem showAutoFirst = new JRadioButtonMenuItem();
376
377   protected JRadioButtonMenuItem showAutoLast = new JRadioButtonMenuItem();
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     ButtonGroup buttonGroup = new ButtonGroup();
1426     buttonGroup.add(showAutoFirst);
1427     buttonGroup.add(showAutoLast);
1428     showAutoFirst.setText(MessageManager.getString("label.show_first"));
1429     showAutoFirst.setSelected(Cache.getDefault(
1430             Preferences.SHOW_AUTOCALC_ABOVE,
1431             false));
1432     showAutoFirst.addActionListener(new ActionListener()
1433     {
1434       @Override
1435       public void actionPerformed(ActionEvent e)
1436       {
1437         setShowAutoCalculatedAbove(showAutoFirst.isSelected());
1438         sortAnnotations_actionPerformed();
1439       }
1440     });
1441     showAutoLast.setText(MessageManager.getString("label.show_last"));
1442     showAutoLast.setSelected(!showAutoFirst.isSelected());
1443     showAutoLast.addActionListener(new ActionListener()
1444     {
1445       @Override
1446       public void actionPerformed(ActionEvent e)
1447       {
1448         setShowAutoCalculatedAbove(!showAutoLast.isSelected());
1449         sortAnnotations_actionPerformed();
1450       }
1451     });
1452
1453     nucleotideColour.setText(MessageManager.getString("label.nucleotide"));
1454     nucleotideColour.addActionListener(new java.awt.event.ActionListener()
1455     {
1456       @Override
1457       public void actionPerformed(ActionEvent e)
1458       {
1459         nucleotideColour_actionPerformed(e);
1460       }
1461     });
1462
1463     tcoffeeColour.setText(MessageManager.getString("label.tcoffee_scores"));
1464     tcoffeeColour.setEnabled(false);
1465     tcoffeeColour.addActionListener(new ActionListener()
1466     {
1467
1468       @Override
1469       public void actionPerformed(ActionEvent e)
1470       {
1471         tcoffeeColorScheme_actionPerformed(e);
1472       }
1473     });
1474
1475     deleteGroups
1476             .setText(MessageManager.getString("action.undefine_groups"));
1477     deleteGroups.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1478             java.awt.event.KeyEvent.VK_U, Toolkit.getDefaultToolkit()
1479                     .getMenuShortcutKeyMask(), false));
1480     deleteGroups.addActionListener(new java.awt.event.ActionListener()
1481     {
1482       @Override
1483       public void actionPerformed(ActionEvent e)
1484       {
1485         deleteGroups_actionPerformed(e);
1486       }
1487     });
1488     createGroup.setText(MessageManager.getString("action.create_groups"));
1489     createGroup.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1490             java.awt.event.KeyEvent.VK_G, Toolkit.getDefaultToolkit()
1491                     .getMenuShortcutKeyMask(), false));
1492     createGroup.addActionListener(new java.awt.event.ActionListener()
1493     {
1494       @Override
1495       public void actionPerformed(ActionEvent e)
1496       {
1497         createGroup_actionPerformed(e);
1498       }
1499     });
1500     unGroup.setText(MessageManager.getString("action.remove_group"));
1501     unGroup.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1502             java.awt.event.KeyEvent.VK_G, Toolkit.getDefaultToolkit()
1503                     .getMenuShortcutKeyMask()
1504                     | java.awt.event.KeyEvent.SHIFT_MASK, false));
1505     unGroup.addActionListener(new java.awt.event.ActionListener()
1506     {
1507       @Override
1508       public void actionPerformed(ActionEvent e)
1509       {
1510         unGroup_actionPerformed(e);
1511       }
1512     });
1513     copy.setText(MessageManager.getString("action.copy"));
1514     copy.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1515             java.awt.event.KeyEvent.VK_C, Toolkit.getDefaultToolkit()
1516                     .getMenuShortcutKeyMask(), false));
1517
1518     copy.addActionListener(new java.awt.event.ActionListener()
1519     {
1520       @Override
1521       public void actionPerformed(ActionEvent e)
1522       {
1523         copy_actionPerformed(e);
1524       }
1525     });
1526     cut.setText(MessageManager.getString("action.cut"));
1527     cut.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1528             java.awt.event.KeyEvent.VK_X, Toolkit.getDefaultToolkit()
1529                     .getMenuShortcutKeyMask(), false));
1530     cut.addActionListener(new java.awt.event.ActionListener()
1531     {
1532       @Override
1533       public void actionPerformed(ActionEvent e)
1534       {
1535         cut_actionPerformed(e);
1536       }
1537     });
1538     delete.setText(MessageManager.getString("action.delete"));
1539     delete.addActionListener(new java.awt.event.ActionListener()
1540     {
1541       @Override
1542       public void actionPerformed(ActionEvent e)
1543       {
1544         delete_actionPerformed(e);
1545       }
1546     });
1547     pasteMenu.setText(MessageManager.getString("action.paste"));
1548     pasteNew.setText(MessageManager.getString("label.to_new_alignment"));
1549     pasteNew.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1550             java.awt.event.KeyEvent.VK_V, Toolkit.getDefaultToolkit()
1551                     .getMenuShortcutKeyMask()
1552                     | java.awt.event.KeyEvent.SHIFT_MASK, false));
1553     pasteNew.addActionListener(new java.awt.event.ActionListener()
1554     {
1555       @Override
1556       public void actionPerformed(ActionEvent e)
1557       {
1558         pasteNew_actionPerformed(e);
1559       }
1560     });
1561     pasteThis.setText(MessageManager.getString("label.to_this_alignment"));
1562     pasteThis.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1563             java.awt.event.KeyEvent.VK_V, Toolkit.getDefaultToolkit()
1564                     .getMenuShortcutKeyMask(), false));
1565     pasteThis.addActionListener(new java.awt.event.ActionListener()
1566     {
1567       @Override
1568       public void actionPerformed(ActionEvent e)
1569       {
1570         pasteThis_actionPerformed(e);
1571       }
1572     });
1573     applyToAllGroups.setText(MessageManager
1574             .getString("label.apply_colour_to_all_groups"));
1575     applyToAllGroups.addActionListener(new java.awt.event.ActionListener()
1576     {
1577       @Override
1578       public void actionPerformed(ActionEvent e)
1579       {
1580         applyToAllGroups_actionPerformed(e);
1581       }
1582     });
1583     createPNG.addActionListener(new java.awt.event.ActionListener()
1584     {
1585       @Override
1586       public void actionPerformed(ActionEvent e)
1587       {
1588         createPNG(null);
1589       }
1590     });
1591     createPNG.setActionCommand(MessageManager
1592             .getString("label.save_png_image"));
1593     createPNG.setText("PNG");
1594     font.setText(MessageManager.getString("action.font"));
1595     font.addActionListener(new java.awt.event.ActionListener()
1596     {
1597       @Override
1598       public void actionPerformed(ActionEvent e)
1599       {
1600         font_actionPerformed(e);
1601       }
1602     });
1603
1604     seqLimits.setText(MessageManager
1605             .getString("label.show_sequence_limits"));
1606     seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true));
1607     seqLimits.addActionListener(new java.awt.event.ActionListener()
1608     {
1609       @Override
1610       public void actionPerformed(ActionEvent e)
1611       {
1612         seqLimit_actionPerformed(e);
1613       }
1614     });
1615     epsFile.setText("EPS");
1616     epsFile.addActionListener(new java.awt.event.ActionListener()
1617     {
1618       @Override
1619       public void actionPerformed(ActionEvent e)
1620       {
1621         createEPS(null);
1622       }
1623     });
1624     LoadtreeMenuItem.setActionCommand(MessageManager
1625             .getString("label.load_tree_for_sequence_set"));
1626     LoadtreeMenuItem.setText(MessageManager
1627             .getString("label.load_associated_tree"));
1628     LoadtreeMenuItem.addActionListener(new java.awt.event.ActionListener()
1629     {
1630       @Override
1631       public void actionPerformed(ActionEvent e)
1632       {
1633         LoadtreeMenuItem_actionPerformed(e);
1634       }
1635     });
1636
1637     scaleAbove.setVisible(false);
1638     scaleAbove.setText(MessageManager.getString("action.scale_above"));
1639     scaleAbove.addActionListener(new java.awt.event.ActionListener()
1640     {
1641       @Override
1642       public void actionPerformed(ActionEvent e)
1643       {
1644         scaleAbove_actionPerformed(e);
1645       }
1646     });
1647     scaleLeft.setVisible(false);
1648     scaleLeft.setSelected(true);
1649     scaleLeft.setText(MessageManager.getString("action.scale_left"));
1650     scaleLeft.addActionListener(new java.awt.event.ActionListener()
1651     {
1652       @Override
1653       public void actionPerformed(ActionEvent e)
1654       {
1655         scaleLeft_actionPerformed(e);
1656       }
1657     });
1658     scaleRight.setVisible(false);
1659     scaleRight.setSelected(true);
1660     scaleRight.setText(MessageManager.getString("action.scale_right"));
1661     scaleRight.addActionListener(new java.awt.event.ActionListener()
1662     {
1663       @Override
1664       public void actionPerformed(ActionEvent e)
1665       {
1666         scaleRight_actionPerformed(e);
1667       }
1668     });
1669     centreColumnLabelsMenuItem.setVisible(true);
1670     centreColumnLabelsMenuItem.setState(false);
1671     centreColumnLabelsMenuItem.setText(MessageManager
1672             .getString("label.centre_column_labels"));
1673     centreColumnLabelsMenuItem
1674             .addActionListener(new java.awt.event.ActionListener()
1675             {
1676               @Override
1677               public void actionPerformed(ActionEvent e)
1678               {
1679                 centreColumnLabels_actionPerformed(e);
1680               }
1681             });
1682     followHighlightMenuItem.setVisible(true);
1683     followHighlightMenuItem.setState(true);
1684     followHighlightMenuItem.setText(MessageManager
1685             .getString("label.automatic_scrolling"));
1686     followHighlightMenuItem.addActionListener(new ActionListener()
1687     {
1688
1689       @Override
1690       public void actionPerformed(ActionEvent e)
1691       {
1692         followHighlight_actionPerformed();
1693       }
1694
1695     });
1696
1697     modifyPID.setText(MessageManager
1698             .getString("label.modify_identity_thereshold"));
1699     modifyPID.addActionListener(new java.awt.event.ActionListener()
1700     {
1701       @Override
1702       public void actionPerformed(ActionEvent e)
1703       {
1704         modifyPID_actionPerformed(e);
1705       }
1706     });
1707     modifyConservation.setText(MessageManager
1708             .getString("label.modify_conservation_thereshold"));
1709     modifyConservation
1710             .addActionListener(new java.awt.event.ActionListener()
1711             {
1712               @Override
1713               public void actionPerformed(ActionEvent e)
1714               {
1715                 modifyConservation_actionPerformed(e);
1716               }
1717             });
1718     sortByTreeMenu
1719             .setText(MessageManager.getString("action.by_tree_order"));
1720     sort.setText(MessageManager.getString("action.sort"));
1721     sort.addMenuListener(new MenuListener()
1722     {
1723       @Override
1724       public void menuSelected(MenuEvent e)
1725       {
1726         buildTreeMenu();
1727       }
1728
1729       @Override
1730       public void menuDeselected(MenuEvent e)
1731       {
1732       }
1733
1734       @Override
1735       public void menuCanceled(MenuEvent e)
1736       {
1737       }
1738     });
1739     sortByAnnotScore.setText(MessageManager
1740             .getString("label.sort_by_score"));
1741     sort.add(sortByAnnotScore);
1742     sortByAnnotScore.addMenuListener(new javax.swing.event.MenuListener()
1743     {
1744
1745       @Override
1746       public void menuCanceled(MenuEvent e)
1747       {
1748       }
1749
1750       @Override
1751       public void menuDeselected(MenuEvent e)
1752       {
1753       }
1754
1755       @Override
1756       public void menuSelected(MenuEvent e)
1757       {
1758         buildSortByAnnotationScoresMenu();
1759       }
1760     });
1761     sortByAnnotScore.setVisible(false);
1762
1763     calculateTree
1764             .setText(MessageManager.getString("action.calculate_tree"));
1765
1766     jMenu2.setText(MessageManager.getString("label.export_image"));
1767     padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps"));
1768     padGapsMenuitem.setState(jalview.bin.Cache
1769             .getDefault("PAD_GAPS", false));
1770     padGapsMenuitem.addActionListener(new ActionListener()
1771     {
1772       @Override
1773       public void actionPerformed(ActionEvent e)
1774       {
1775         padGapsMenuitem_actionPerformed(e);
1776       }
1777     });
1778     vamsasStore.setVisible(false);
1779     vamsasStore.setText(MessageManager.getString("label.vamsas_store"));
1780     vamsasStore.addActionListener(new ActionListener()
1781     {
1782       @Override
1783       public void actionPerformed(ActionEvent e)
1784       {
1785         vamsasStore_actionPerformed(e);
1786       }
1787     });
1788     showTranslation.setText(MessageManager
1789             .getString("label.translate_cDNA"));
1790     showTranslation.addActionListener(new ActionListener()
1791     {
1792       @Override
1793       public void actionPerformed(ActionEvent e)
1794       {
1795         showTranslation_actionPerformed(e);
1796       }
1797     });
1798     extractScores.setText(MessageManager.getString("label.extract_scores")
1799             + "...");
1800     extractScores.addActionListener(new ActionListener()
1801     {
1802       @Override
1803       public void actionPerformed(ActionEvent e)
1804       {
1805         extractScores_actionPerformed(e);
1806       }
1807     });
1808     extractScores.setVisible(true); // JBPNote: TODO: make gui for regex based
1809     // score extraction
1810     showProducts.setText(MessageManager.getString("label.get_cross_refs"));
1811     /*
1812      * showProducts.addActionListener(new ActionListener() {
1813      * 
1814      * public void actionPerformed(ActionEvent e) {
1815      * showProducts_actionPerformed(e); } });
1816      */
1817     openFeatureSettings.setText(MessageManager
1818             .getString("label.feature_settings"));
1819     openFeatureSettings.addActionListener(new ActionListener()
1820     {
1821       @Override
1822       public void actionPerformed(ActionEvent e)
1823       {
1824         featureSettings_actionPerformed(e);
1825       }
1826     });
1827     fetchSequence
1828             .setText(MessageManager.getString("label.fetch_sequences"));
1829     fetchSequence.addActionListener(new ActionListener()
1830     {
1831       @Override
1832       public void actionPerformed(ActionEvent e)
1833       {
1834         fetchSequence_actionPerformed(e);
1835       }
1836     });
1837
1838     annotationColour.setText(MessageManager
1839             .getString("action.by_annotation"));
1840     annotationColour.addActionListener(new ActionListener()
1841     {
1842       @Override
1843       public void actionPerformed(ActionEvent e)
1844       {
1845         annotationColour_actionPerformed(e);
1846       }
1847     });
1848
1849     rnahelicesColour.setText(MessageManager
1850             .getString("action.by_rna_helixes"));
1851     rnahelicesColour.addActionListener(new ActionListener()
1852     {
1853       @Override
1854       public void actionPerformed(ActionEvent e)
1855       {
1856         rnahelicesColour_actionPerformed(e);
1857       }
1858     });
1859
1860     associatedData.setText(MessageManager
1861             .getString("label.load_features_annotations"));
1862     associatedData.addActionListener(new ActionListener()
1863     {
1864       @Override
1865       public void actionPerformed(ActionEvent e)
1866       {
1867         associatedData_actionPerformed(e);
1868       }
1869     });
1870     autoCalculate.setText(MessageManager
1871             .getString("label.autocalculate_consensus"));
1872     autoCalculate.setState(jalview.bin.Cache.getDefault(
1873             "AUTO_CALC_CONSENSUS", true));
1874     autoCalculate.addActionListener(new ActionListener()
1875     {
1876       @Override
1877       public void actionPerformed(ActionEvent e)
1878       {
1879         autoCalculate_actionPerformed(e);
1880       }
1881     });
1882     sortByTree.setText(MessageManager
1883             .getString("label.sort_alignment_new_tree"));
1884     sortByTree
1885             .setToolTipText("<html>"
1886                     + MessageManager
1887                             .getString("label.enable_automatically_sort_alignment_when_open_new_tree"));
1888     sortByTree
1889             .setState(jalview.bin.Cache.getDefault("SORT_BY_TREE", false));
1890     sortByTree.addActionListener(new ActionListener()
1891     {
1892       @Override
1893       public void actionPerformed(ActionEvent e)
1894       {
1895         sortByTreeOption_actionPerformed(e);
1896       }
1897     });
1898
1899     listenToViewSelections.setText(MessageManager
1900             .getString("label.listen_for_selections"));
1901     listenToViewSelections
1902             .setToolTipText("<html>"
1903                     + MessageManager
1904                             .getString("label.selections_mirror_selections_made_same_sequences_other_views"));
1905     listenToViewSelections.setState(false);
1906     listenToViewSelections.addActionListener(new ActionListener()
1907     {
1908       @Override
1909       public void actionPerformed(ActionEvent e)
1910       {
1911         listenToViewSelections_actionPerformed(e);
1912       }
1913     });
1914
1915     addSequenceMenu
1916             .setText(MessageManager.getString("label.add_sequences"));
1917     addFromFile.setText(MessageManager.getString("label.from_file"));
1918     addFromFile.addActionListener(new ActionListener()
1919     {
1920       @Override
1921       public void actionPerformed(ActionEvent e)
1922       {
1923         addFromFile_actionPerformed(e);
1924       }
1925     });
1926     addFromText.setText(MessageManager.getString("label.from_textbox"));
1927     addFromText.addActionListener(new ActionListener()
1928     {
1929       @Override
1930       public void actionPerformed(ActionEvent e)
1931       {
1932         addFromText_actionPerformed(e);
1933       }
1934     });
1935     addFromURL.setText(MessageManager.getString("label.from_url"));
1936     addFromURL.addActionListener(new ActionListener()
1937     {
1938       @Override
1939       public void actionPerformed(ActionEvent e)
1940       {
1941         addFromURL_actionPerformed(e);
1942       }
1943     });
1944     exportFeatures.setText(MessageManager
1945             .getString("label.export_features"));
1946     exportFeatures.addActionListener(new ActionListener()
1947     {
1948       @Override
1949       public void actionPerformed(ActionEvent e)
1950       {
1951         exportFeatures_actionPerformed(e);
1952       }
1953     });
1954     exportAnnotations.setText(MessageManager
1955             .getString("label.export_annotations"));
1956     exportAnnotations.addActionListener(new ActionListener()
1957     {
1958       @Override
1959       public void actionPerformed(ActionEvent e)
1960       {
1961         exportAnnotations_actionPerformed(e);
1962       }
1963     });
1964     statusPanel.setLayout(gridLayout1);
1965     jMenu3.setText(MessageManager.getString("action.show"));
1966     showAllSeqs.setText(MessageManager.getString("label.all_sequences"));
1967     showAllSeqs.setToolTipText(MessageManager
1968             .getString("label.toggle_sequence_visibility"));
1969     showAllSeqs.addActionListener(new ActionListener()
1970     {
1971       @Override
1972       public void actionPerformed(ActionEvent e)
1973       {
1974         showAllSeqs_actionPerformed(e);
1975       }
1976     });
1977     showAllColumns.setText(MessageManager.getString("label.all_columns"));
1978     showAllColumns.setToolTipText(MessageManager
1979             .getString("label.toggle_columns_visibility"));
1980     showAllColumns.addActionListener(new ActionListener()
1981     {
1982       @Override
1983       public void actionPerformed(ActionEvent e)
1984       {
1985         showAllColumns_actionPerformed(e);
1986       }
1987     });
1988     hideMenu.setText(MessageManager.getString("action.hide"));
1989     hideSelSequences.setText(MessageManager
1990             .getString("label.selected_sequences"));
1991     hideSelSequences.setToolTipText(MessageManager
1992             .getString("label.toggle_sequence_visibility"));
1993     hideSelSequences.addActionListener(new ActionListener()
1994     {
1995       @Override
1996       public void actionPerformed(ActionEvent e)
1997       {
1998         hideSelSequences_actionPerformed(e);
1999       }
2000     });
2001     hideSelColumns.setText(MessageManager
2002             .getString("label.selected_columns"));
2003     hideSelColumns.setToolTipText(MessageManager
2004             .getString("label.toggle_columns_visibility"));
2005     hideSelColumns.addActionListener(new ActionListener()
2006     {
2007       @Override
2008       public void actionPerformed(ActionEvent e)
2009       {
2010         hideSelColumns_actionPerformed(e);
2011       }
2012     });
2013     hideAllSelection.setText(MessageManager
2014             .getString("label.selected_region"));
2015     hideAllSelection.addActionListener(new ActionListener()
2016     {
2017       @Override
2018       public void actionPerformed(ActionEvent e)
2019       {
2020         hideAllSelection_actionPerformed(e);
2021       }
2022     });
2023     // TODO: should be hidden if no selection exists.
2024     hideAllButSelection.setText(MessageManager
2025             .getString("label.all_but_selected_region"));
2026     hideAllButSelection.addActionListener(new ActionListener()
2027     {
2028       @Override
2029       public void actionPerformed(ActionEvent e)
2030       {
2031         hideAllButSelection_actionPerformed(e);
2032       }
2033     });
2034     showAllhidden.setText(MessageManager
2035             .getString("label.all_sequences_columns"));
2036     showAllhidden.setToolTipText(MessageManager
2037             .getString("label.toggles_visibility_hidden_selected_regions"));
2038     showAllhidden.addActionListener(new ActionListener()
2039     {
2040       @Override
2041       public void actionPerformed(ActionEvent e)
2042       {
2043         showAllhidden_actionPerformed(e);
2044       }
2045     });
2046     hiddenMarkers.setText(MessageManager
2047             .getString("action.show_hidden_markers"));
2048     hiddenMarkers.addActionListener(new ActionListener()
2049     {
2050       @Override
2051       public void actionPerformed(ActionEvent e)
2052       {
2053         hiddenMarkers_actionPerformed(e);
2054       }
2055     });
2056     invertColSel.setText(MessageManager
2057             .getString("action.invert_column_selection"));
2058     invertColSel.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
2059             java.awt.event.KeyEvent.VK_I, Toolkit.getDefaultToolkit()
2060                     .getMenuShortcutKeyMask()
2061                     | java.awt.event.KeyEvent.ALT_MASK, false));
2062     invertColSel.addActionListener(new ActionListener()
2063     {
2064       @Override
2065       public void actionPerformed(ActionEvent e)
2066       {
2067         invertColSel_actionPerformed(e);
2068       }
2069     });
2070     tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
2071     {
2072       @Override
2073       public void stateChanged(ChangeEvent evt)
2074       {
2075         JTabbedPane pane = (JTabbedPane) evt.getSource();
2076         int sel = pane.getSelectedIndex();
2077         tabSelectionChanged(sel);
2078       }
2079     });
2080     tabbedPane.addMouseListener(new MouseAdapter()
2081     {
2082       @Override
2083       public void mousePressed(MouseEvent e)
2084       {
2085         tabbedPane_mousePressed(e);
2086       }
2087     });
2088     tabbedPane.addFocusListener(new FocusAdapter()
2089     {
2090       @Override
2091       public void focusGained(FocusEvent e)
2092       {
2093         tabbedPane_focusGained(e);
2094       }
2095     });
2096     save.setText(MessageManager.getString("action.save"));
2097     save.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
2098             java.awt.event.KeyEvent.VK_S, Toolkit.getDefaultToolkit()
2099                     .getMenuShortcutKeyMask(), false));
2100     save.addActionListener(new ActionListener()
2101     {
2102       @Override
2103       public void actionPerformed(ActionEvent e)
2104       {
2105         save_actionPerformed(e);
2106       }
2107     });
2108     reload.setEnabled(false);
2109     reload.setText(MessageManager.getString("action.reload"));
2110     reload.addActionListener(new ActionListener()
2111     {
2112       @Override
2113       public void actionPerformed(ActionEvent e)
2114       {
2115         reload_actionPerformed(e);
2116       }
2117     });
2118     newView.setText(MessageManager.getString("action.new_view"));
2119     newView.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
2120             java.awt.event.KeyEvent.VK_T, Toolkit.getDefaultToolkit()
2121                     .getMenuShortcutKeyMask(), false));
2122     newView.addActionListener(new ActionListener()
2123     {
2124       @Override
2125       public void actionPerformed(ActionEvent e)
2126       {
2127         newView_actionPerformed(e);
2128       }
2129     });
2130     tabbedPane.setToolTipText("<html><i>"
2131             + MessageManager.getString("label.rename_tab_eXpand_reGroup")
2132             + "</i></html>");
2133     textColour.setText(MessageManager.getString("label.colour_text")
2134             + "...");
2135     textColour.addActionListener(new ActionListener()
2136     {
2137       @Override
2138       public void actionPerformed(ActionEvent e)
2139       {
2140         textColour_actionPerformed(e);
2141       }
2142     });
2143     formatMenu.setText(MessageManager.getString("action.format"));
2144     selectMenu.setText(MessageManager.getString("action.select"));
2145     idRightAlign.setText(MessageManager
2146             .getString("label.right_align_sequence_id"));
2147     idRightAlign.addActionListener(new ActionListener()
2148     {
2149       @Override
2150       public void actionPerformed(ActionEvent e)
2151       {
2152         idRightAlign_actionPerformed(e);
2153       }
2154     });
2155     gatherViews.setEnabled(false);
2156     gatherViews.setText(MessageManager.getString("action.gather_views"));
2157     gatherViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
2158             java.awt.event.KeyEvent.VK_G, 0, false));
2159     gatherViews.addActionListener(new ActionListener()
2160     {
2161       @Override
2162       public void actionPerformed(ActionEvent e)
2163       {
2164         gatherViews_actionPerformed(e);
2165       }
2166     });
2167     expandViews.setEnabled(false);
2168     expandViews.setText(MessageManager.getString("action.expand_views"));
2169     expandViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
2170             java.awt.event.KeyEvent.VK_X, 0, false));
2171     expandViews.addActionListener(new ActionListener()
2172     {
2173       @Override
2174       public void actionPerformed(ActionEvent e)
2175       {
2176         expandViews_actionPerformed(e);
2177       }
2178     });
2179     pageSetup
2180             .setText(MessageManager.getString("action.page_setup") + "...");
2181     pageSetup.addActionListener(new ActionListener()
2182     {
2183       @Override
2184       public void actionPerformed(ActionEvent e)
2185       {
2186         pageSetup_actionPerformed(e);
2187       }
2188     });
2189     alignmentProperties.setText(MessageManager
2190             .getString("label.alignment_props") + "...");
2191     alignmentProperties.addActionListener(new ActionListener()
2192     {
2193       @Override
2194       public void actionPerformed(ActionEvent actionEvent)
2195       {
2196         alignmentProperties();
2197       }
2198     });
2199     tooltipSettingsMenu.setText(MessageManager
2200             .getString("label.sequence_id_tooltip"));
2201     autoAnnMenu.setText(MessageManager
2202             .getString("label.autocalculated_annotation"));
2203     alignFrameMenuBar.add(fileMenu);
2204     alignFrameMenuBar.add(editMenu);
2205     alignFrameMenuBar.add(selectMenu);
2206     alignFrameMenuBar.add(viewMenu);
2207     alignFrameMenuBar.add(annotationsMenu);
2208     alignFrameMenuBar.add(formatMenu);
2209     alignFrameMenuBar.add(colourMenu);
2210     alignFrameMenuBar.add(calculateMenu);
2211     alignFrameMenuBar.add(webService);
2212     fileMenu.add(fetchSequence);
2213     fileMenu.add(addSequenceMenu);
2214     fileMenu.add(reload);
2215     fileMenu.addSeparator();
2216     fileMenu.add(vamsasStore);
2217     fileMenu.add(save);
2218     fileMenu.add(saveAs);
2219     fileMenu.add(outputTextboxMenu);
2220     fileMenu.add(pageSetup);
2221     fileMenu.add(printMenuItem);
2222     fileMenu.addSeparator();
2223     fileMenu.add(jMenu2);
2224     fileMenu.add(exportFeatures);
2225     fileMenu.add(exportAnnotations);
2226     fileMenu.add(LoadtreeMenuItem);
2227     fileMenu.add(associatedData);
2228     fileMenu.addSeparator();
2229     fileMenu.add(closeMenuItem);
2230     editMenu.add(undoMenuItem);
2231     editMenu.add(redoMenuItem);
2232     editMenu.add(cut);
2233     editMenu.add(copy);
2234     editMenu.add(pasteMenu);
2235     editMenu.add(delete);
2236     editMenu.addSeparator();
2237     editMenu.add(remove2LeftMenuItem);
2238     editMenu.add(remove2RightMenuItem);
2239     editMenu.add(removeGappedColumnMenuItem);
2240     editMenu.add(removeAllGapsMenuItem);
2241     editMenu.add(removeRedundancyMenuItem);
2242     editMenu.addSeparator();
2243     // dont add these yet in the CVS build - they cannot be undone!
2244     // Excluded from Jalview 2.5 release - undo needs to be implemented.
2245     // editMenu.add(justifyLeftMenuItem);
2246     // editMenu.add(justifyRightMenuItem);
2247     // editMenu.addSeparator();
2248     editMenu.add(padGapsMenuitem);
2249     viewMenu.add(newView);
2250     viewMenu.add(expandViews);
2251     viewMenu.add(gatherViews);
2252     viewMenu.addSeparator();
2253     viewMenu.add(jMenu3);
2254     viewMenu.add(hideMenu);
2255     viewMenu.addSeparator();
2256     viewMenu.add(followHighlightMenuItem);
2257     annotationsMenu.add(annotationPanelMenuItem);
2258     annotationsMenu.addSeparator();
2259     annotationsMenu.add(showAllAlAnnotations);
2260     annotationsMenu.add(hideAllAlAnnotations);
2261     annotationsMenu.addSeparator();
2262     annotationsMenu.add(showAllSeqAnnotations);
2263     annotationsMenu.add(hideAllSeqAnnotations);
2264     annotationsMenu.add(sortAnnBySequence);
2265     annotationsMenu.add(sortAnnByLabel);
2266     annotationsMenu.addSeparator();
2267     autoAnnMenu.add(showAutoFirst);
2268     autoAnnMenu.add(showAutoLast);
2269     autoAnnMenu.addSeparator();
2270     autoAnnMenu.add(applyAutoAnnotationSettings);
2271     autoAnnMenu.add(showConsensusHistogram);
2272     autoAnnMenu.add(showSequenceLogo);
2273     autoAnnMenu.add(normaliseSequenceLogo);
2274     autoAnnMenu.addSeparator();
2275     autoAnnMenu.add(showGroupConservation);
2276     autoAnnMenu.add(showGroupConsensus);
2277     annotationsMenu.add(autoAnnMenu);
2278     viewMenu.addSeparator();
2279     viewMenu.add(showSeqFeatures);
2280     // viewMenu.add(showSeqFeaturesHeight);
2281
2282     viewMenu.add(openFeatureSettings);
2283     tooltipSettingsMenu.add(showDbRefsMenuitem);
2284     tooltipSettingsMenu.add(showNpFeatsMenuitem);
2285     viewMenu.add(tooltipSettingsMenu);
2286     viewMenu.addSeparator();
2287     viewMenu.add(alignmentProperties);
2288     viewMenu.addSeparator();
2289     viewMenu.add(overviewMenuItem);
2290     colourMenu.add(applyToAllGroups);
2291     colourMenu.add(textColour);
2292     colourMenu.addSeparator();
2293     colourMenu.add(noColourmenuItem);
2294     colourMenu.add(clustalColour);
2295     colourMenu.add(BLOSUM62Colour);
2296     colourMenu.add(PIDColour);
2297     colourMenu.add(zappoColour);
2298     colourMenu.add(taylorColour);
2299     colourMenu.add(hydrophobicityColour);
2300     colourMenu.add(helixColour);
2301     colourMenu.add(strandColour);
2302     colourMenu.add(turnColour);
2303     colourMenu.add(buriedColour);
2304     colourMenu.add(nucleotideColour);
2305     colourMenu.add(purinePyrimidineColour);
2306     colourMenu.add(RNAInteractionColour);
2307     // colourMenu.add(covariationColour);
2308     colourMenu.add(tcoffeeColour);
2309     colourMenu.add(userDefinedColour);
2310     colourMenu.addSeparator();
2311     colourMenu.add(conservationMenuItem);
2312     colourMenu.add(modifyConservation);
2313     colourMenu.add(abovePIDThreshold);
2314     colourMenu.add(modifyPID);
2315     colourMenu.add(annotationColour);
2316     colourMenu.add(rnahelicesColour);
2317     calculateMenu.add(sort);
2318     calculateMenu.add(calculateTree);
2319     calculateMenu.addSeparator();
2320     calculateMenu.add(pairwiseAlignmentMenuItem);
2321     calculateMenu.add(PCAMenuItem);
2322     calculateMenu.addSeparator();
2323     calculateMenu.add(showTranslation);
2324     calculateMenu.add(showProducts);
2325     calculateMenu.add(autoCalculate);
2326     calculateMenu.add(sortByTree);
2327     calculateMenu.addSeparator();
2328     calculateMenu.add(extractScores);
2329     webServiceNoServices = new JMenuItem(
2330             MessageManager.getString("label.no_services"));
2331     webService.add(webServiceNoServices);
2332     pasteMenu.add(pasteNew);
2333     pasteMenu.add(pasteThis);
2334     sort.add(sortIDMenuItem);
2335     sort.add(sortLengthMenuItem);
2336     sort.add(sortGroupMenuItem);
2337     sort.add(sortPairwiseMenuItem);
2338     sort.add(sortByTreeMenu);
2339     jMenu2.add(htmlMenuItem);
2340     jMenu2.add(epsFile);
2341     jMenu2.add(createPNG);
2342     addSequenceMenu.add(addFromFile);
2343     addSequenceMenu.add(addFromText);
2344     addSequenceMenu.add(addFromURL);
2345     this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
2346     statusPanel.add(statusBar, null);
2347     this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
2348     jMenu3.add(showAllColumns);
2349     jMenu3.add(showAllSeqs);
2350     jMenu3.add(showAllhidden);
2351     hideMenu.add(hideSelColumns);
2352     hideMenu.add(hideSelSequences);
2353     hideMenu.add(hideAllSelection);
2354     hideMenu.add(hideAllButSelection);
2355
2356     formatMenu.add(font);
2357     formatMenu.addSeparator();
2358     formatMenu.add(wrapMenuItem);
2359     formatMenu.add(scaleAbove);
2360     formatMenu.add(scaleLeft);
2361     formatMenu.add(scaleRight);
2362     formatMenu.add(seqLimits);
2363     formatMenu.add(idRightAlign);
2364     formatMenu.add(hiddenMarkers);
2365     formatMenu.add(viewBoxesMenuItem);
2366     formatMenu.add(viewTextMenuItem);
2367     formatMenu.add(colourTextMenuItem);
2368     formatMenu.add(renderGapsMenuItem);
2369     formatMenu.add(centreColumnLabelsMenuItem);
2370     formatMenu.add(showNonconservedMenuItem);
2371     selectMenu.add(findMenuItem);
2372     selectMenu.addSeparator();
2373     selectMenu.add(selectAllSequenceMenuItem);
2374     selectMenu.add(deselectAllSequenceMenuItem);
2375     selectMenu.add(invertSequenceMenuItem);
2376     selectMenu.add(invertColSel);
2377     selectMenu.add(createGroup);
2378     selectMenu.add(unGroup);
2379     selectMenu.add(grpsFromSelection);
2380     selectMenu.add(deleteGroups);
2381     calculateMenu.add(expandAlignment);
2382     // TODO - determine if the listenToViewSelections button is needed : see bug
2383     // JAL-574
2384     // selectMenu.addSeparator();
2385     // selectMenu.add(listenToViewSelections);
2386   }
2387
2388   /**
2389    * Action on clicking sort annotations by type.
2390    * 
2391    * @param sortOrder
2392    */
2393   protected void sortAnnotations_actionPerformed()
2394   {
2395   }
2396
2397   /**
2398    * Action on clicking Show all annotations.
2399    * 
2400    * @param forSequences
2401    *          update sequence-related annotations
2402    * @param forAlignment
2403    *          update non-sequence-related annotations
2404    */
2405   protected void showAllAnnotations_actionPerformed(boolean forSequences,
2406           boolean forAlignment)
2407   {
2408     setAnnotationsVisibility(true, forSequences, forAlignment);
2409   }
2410
2411   /**
2412    * Action on clicking Hide all annotations.
2413    * 
2414    * @param forSequences
2415    *          update sequence-related annotations
2416    * @param forAlignment
2417    *          update non-sequence-related annotations
2418    */
2419   protected void hideAllAnnotations_actionPerformed(boolean forSequences,
2420           boolean forAlignment)
2421   {
2422     setAnnotationsVisibility(false, forSequences, forAlignment);
2423   }
2424
2425   /**
2426    * Set the visibility of annotations to true or false. Can act on
2427    * sequence-related annotations, or alignment-related, or both.
2428    * 
2429    * @param visible
2430    * @param forSequences
2431    *          update sequence-related annotations
2432    * @param forAlignment
2433    *          update non-sequence-related annotations
2434    */
2435   protected void setAnnotationsVisibility(boolean visible,
2436           boolean forSequences, boolean forAlignment)
2437   {
2438
2439   }
2440
2441   protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
2442   {
2443     // TODO Auto-generated method stub
2444
2445   }
2446
2447   protected void listenToViewSelections_actionPerformed(ActionEvent e)
2448   {
2449     // TODO Auto-generated method stub
2450
2451   }
2452
2453   protected void showAllhidden_actionPerformed(ActionEvent e)
2454   {
2455     // TODO Auto-generated method stub
2456
2457   }
2458
2459   protected void hideAllButSelection_actionPerformed(ActionEvent e)
2460   {
2461     // TODO Auto-generated method stub
2462
2463   }
2464
2465   protected void hideAllSelection_actionPerformed(ActionEvent e)
2466   {
2467     // TODO Auto-generated method stub
2468
2469   }
2470
2471   protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
2472   {
2473     // TODO Auto-generated method stub
2474
2475   }
2476
2477   protected void showConsensusHistogram_actionPerformed(ActionEvent e)
2478   {
2479     // TODO Auto-generated method stub
2480
2481   }
2482
2483   protected void showSequenceLogo_actionPerformed(ActionEvent e)
2484   {
2485     // TODO Auto-generated method stub
2486
2487   }
2488
2489   protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
2490   {
2491     // TODO Auto-generated method stub
2492
2493   }
2494
2495   protected void showGroupConsensus_actionPerformed(ActionEvent e)
2496   {
2497     // TODO Auto-generated method stub
2498
2499   }
2500
2501   protected void showGroupConservation_actionPerformed(ActionEvent e)
2502   {
2503     // TODO Auto-generated method stub
2504
2505   }
2506
2507   protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
2508   {
2509     // TODO Auto-generated method stub
2510
2511   }
2512
2513   protected void showSeqFeaturesHeight_actionPerformed(
2514           ActionEvent actionEvent)
2515   {
2516     // TODO Auto-generated method stub
2517
2518   }
2519
2520   protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
2521   {
2522     // TODO Auto-generated method stub
2523
2524   }
2525
2526   protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
2527   {
2528     // TODO Auto-generated method stub
2529
2530   }
2531
2532   protected void followHighlight_actionPerformed()
2533   {
2534     // TODO Auto-generated method stub
2535
2536   }
2537
2538   protected void showNpFeats_actionPerformed(ActionEvent e)
2539   {
2540     // TODO Auto-generated method stub
2541
2542   }
2543
2544   protected void showDbRefs_actionPerformed(ActionEvent e)
2545   {
2546     // TODO Auto-generated method stub
2547
2548   }
2549
2550   protected void centreColumnLabels_actionPerformed(ActionEvent e)
2551   {
2552   }
2553
2554   protected void showProducts_actionPerformed(ActionEvent e)
2555   {
2556   }
2557
2558   protected void buildSortByAnnotationScoresMenu()
2559   {
2560   }
2561
2562   protected void extractScores_actionPerformed(ActionEvent e)
2563   {
2564   }
2565
2566   protected void outputText_actionPerformed(ActionEvent e)
2567   {
2568   }
2569
2570   public void addFromFile_actionPerformed(ActionEvent e)
2571   {
2572
2573   }
2574
2575   public void addFromText_actionPerformed(ActionEvent e)
2576   {
2577
2578   }
2579
2580   public void addFromURL_actionPerformed(ActionEvent e)
2581   {
2582
2583   }
2584
2585   public void exportFeatures_actionPerformed(ActionEvent e)
2586   {
2587
2588   }
2589
2590   public void exportAnnotations_actionPerformed(ActionEvent e)
2591   {
2592
2593   }
2594
2595   protected void htmlMenuItem_actionPerformed(ActionEvent e)
2596   {
2597   }
2598
2599   protected void closeMenuItem_actionPerformed(boolean b)
2600   {
2601   }
2602
2603   protected void redoMenuItem_actionPerformed(ActionEvent e)
2604   {
2605   }
2606
2607   protected void undoMenuItem_actionPerformed(ActionEvent e)
2608   {
2609   }
2610
2611   protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2612   {
2613   }
2614
2615   protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2616   {
2617   }
2618
2619   protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
2620   {
2621   }
2622
2623   protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
2624   {
2625   }
2626
2627   protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
2628   {
2629   }
2630
2631   protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
2632   {
2633   }
2634
2635   protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
2636   {
2637   }
2638
2639   protected void wrapMenuItem_actionPerformed(ActionEvent e)
2640   {
2641   }
2642
2643   protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
2644   {
2645   }
2646
2647   protected void viewTextMenuItem_actionPerformed(ActionEvent e)
2648   {
2649   }
2650
2651   protected void colourTextMenuItem_actionPerformed(ActionEvent e)
2652   {
2653   }
2654
2655   protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
2656   {
2657   }
2658
2659   protected void overviewMenuItem_actionPerformed(ActionEvent e)
2660   {
2661   }
2662
2663   protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
2664   {
2665   }
2666
2667   protected void sortIDMenuItem_actionPerformed(ActionEvent e)
2668   {
2669   }
2670
2671   protected void sortLengthMenuItem_actionPerformed(ActionEvent e)
2672   {
2673   }
2674
2675   protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
2676   {
2677   }
2678
2679   protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
2680   {
2681   }
2682
2683   protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
2684   {
2685   }
2686
2687   protected void PCAMenuItem_actionPerformed(ActionEvent e)
2688   {
2689   }
2690
2691   protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)
2692   {
2693   }
2694
2695   protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
2696   {
2697   }
2698
2699   protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)
2700   {
2701   }
2702
2703   protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)
2704   {
2705   }
2706
2707   protected void clustalColour_actionPerformed(ActionEvent e)
2708   {
2709   }
2710
2711   protected void zappoColour_actionPerformed(ActionEvent e)
2712   {
2713   }
2714
2715   protected void taylorColour_actionPerformed(ActionEvent e)
2716   {
2717   }
2718
2719   protected void hydrophobicityColour_actionPerformed(ActionEvent e)
2720   {
2721   }
2722
2723   protected void helixColour_actionPerformed(ActionEvent e)
2724   {
2725   }
2726
2727   protected void strandColour_actionPerformed(ActionEvent e)
2728   {
2729   }
2730
2731   protected void turnColour_actionPerformed(ActionEvent e)
2732   {
2733   }
2734
2735   protected void buriedColour_actionPerformed(ActionEvent e)
2736   {
2737   }
2738
2739   protected void userDefinedColour_actionPerformed(ActionEvent e)
2740   {
2741   }
2742
2743   protected void PIDColour_actionPerformed(ActionEvent e)
2744   {
2745   }
2746
2747   protected void BLOSUM62Colour_actionPerformed(ActionEvent e)
2748   {
2749   }
2750
2751   protected void purinePyrimidineColour_actionPerformed(ActionEvent e)
2752   {
2753   }
2754
2755   protected void RNAInteractionColour_actionPerformed(ActionEvent e)
2756   {
2757   }
2758
2759   /*
2760    * protected void covariationColour_actionPerformed(ActionEvent e) { }
2761    */
2762
2763   protected void noColourmenuItem_actionPerformed(ActionEvent e)
2764   {
2765   }
2766
2767   protected void conservationMenuItem_actionPerformed(ActionEvent e)
2768   {
2769   }
2770
2771   protected void printMenuItem_actionPerformed(ActionEvent e)
2772   {
2773   }
2774
2775   protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2776   {
2777   }
2778
2779   protected void findMenuItem_actionPerformed(ActionEvent e)
2780   {
2781   }
2782
2783   protected void abovePIDThreshold_actionPerformed(ActionEvent e)
2784   {
2785   }
2786
2787   public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2788   {
2789   }
2790
2791   protected void nucleotideColour_actionPerformed(ActionEvent e)
2792   {
2793   }
2794
2795   protected void deleteGroups_actionPerformed(ActionEvent e)
2796   {
2797   }
2798
2799   protected void createGroup_actionPerformed(ActionEvent e)
2800   {
2801   }
2802
2803   protected void unGroup_actionPerformed(ActionEvent e)
2804   {
2805   }
2806
2807   protected void copy_actionPerformed(ActionEvent e)
2808   {
2809   }
2810
2811   protected void cut_actionPerformed(ActionEvent e)
2812   {
2813   }
2814
2815   protected void delete_actionPerformed(ActionEvent e)
2816   {
2817   }
2818
2819   protected void pasteNew_actionPerformed(ActionEvent e)
2820   {
2821   }
2822
2823   protected void pasteThis_actionPerformed(ActionEvent e)
2824   {
2825   }
2826
2827   protected void applyToAllGroups_actionPerformed(ActionEvent e)
2828   {
2829   }
2830
2831   public void createPNG(java.io.File f)
2832   {
2833   }
2834
2835   protected void font_actionPerformed(ActionEvent e)
2836   {
2837   }
2838
2839   protected void seqLimit_actionPerformed(ActionEvent e)
2840   {
2841   }
2842
2843   public void seqDBRef_actionPerformed(ActionEvent e)
2844   {
2845
2846   }
2847
2848   public void createEPS(java.io.File f)
2849   {
2850   }
2851
2852   protected void LoadtreeMenuItem_actionPerformed(ActionEvent e)
2853   {
2854
2855   }
2856
2857   /**
2858    * Template method to handle the 'load T-Coffee scores' menu event.
2859    * <p>
2860    * Subclasses override this method to provide a custom action.
2861    * 
2862    * @param event
2863    *          The raised event
2864    */
2865   protected void loadScores_actionPerformed(ActionEvent event)
2866   {
2867
2868   }
2869
2870   /**
2871    * Template method to handle the 'Color T-Coffee scores' menu event.
2872    * <p>
2873    * Subclasses override this method to provide a custom action.
2874    * 
2875    * @param event
2876    *          The raised event
2877    */
2878   protected void tcoffeeColorScheme_actionPerformed(ActionEvent event)
2879   {
2880
2881   }
2882
2883   protected void jpred_actionPerformed(ActionEvent e)
2884   {
2885   }
2886
2887   protected void scaleAbove_actionPerformed(ActionEvent e)
2888   {
2889   }
2890
2891   protected void scaleLeft_actionPerformed(ActionEvent e)
2892   {
2893   }
2894
2895   protected void scaleRight_actionPerformed(ActionEvent e)
2896   {
2897   }
2898
2899   protected void modifyPID_actionPerformed(ActionEvent e)
2900   {
2901   }
2902
2903   protected void modifyConservation_actionPerformed(ActionEvent e)
2904   {
2905   }
2906
2907   protected void saveAs_actionPerformed(ActionEvent e)
2908   {
2909   }
2910
2911   protected void padGapsMenuitem_actionPerformed(ActionEvent e)
2912   {
2913   }
2914
2915   public void vamsasStore_actionPerformed(ActionEvent e)
2916   {
2917
2918   }
2919
2920   public void vamsasLoad_actionPerformed(ActionEvent e)
2921   {
2922
2923   }
2924
2925   public void showTranslation_actionPerformed(ActionEvent e)
2926   {
2927
2928   }
2929
2930   public void featureSettings_actionPerformed(ActionEvent e)
2931   {
2932
2933   }
2934
2935   public void fetchSequence_actionPerformed(ActionEvent e)
2936   {
2937
2938   }
2939
2940   public void smoothFont_actionPerformed(ActionEvent e)
2941   {
2942
2943   }
2944
2945   public void annotationColour_actionPerformed(ActionEvent e)
2946   {
2947
2948   }
2949
2950   public void rnahelicesColour_actionPerformed(ActionEvent e)
2951   {
2952
2953   }
2954
2955   public void associatedData_actionPerformed(ActionEvent e)
2956   {
2957
2958   }
2959
2960   public void autoCalculate_actionPerformed(ActionEvent e)
2961   {
2962
2963   }
2964
2965   public void sortByTreeOption_actionPerformed(ActionEvent e)
2966   {
2967
2968   }
2969
2970   public void showAllSeqs_actionPerformed(ActionEvent e)
2971   {
2972
2973   }
2974
2975   public void showAllColumns_actionPerformed(ActionEvent e)
2976   {
2977
2978   }
2979
2980   public void hideSelSequences_actionPerformed(ActionEvent e)
2981   {
2982
2983   }
2984
2985   public void hideSelColumns_actionPerformed(ActionEvent e)
2986   {
2987
2988   }
2989
2990   public void hiddenMarkers_actionPerformed(ActionEvent e)
2991   {
2992
2993   }
2994
2995   public void findPdbId_actionPerformed(ActionEvent e)
2996   {
2997
2998   }
2999
3000   public void enterPdbId_actionPerformed(ActionEvent e)
3001   {
3002
3003   }
3004
3005   public void pdbFile_actionPerformed(ActionEvent e)
3006   {
3007
3008   }
3009
3010   public void invertColSel_actionPerformed(ActionEvent e)
3011   {
3012
3013   }
3014
3015   public void tabSelectionChanged(int sel)
3016   {
3017
3018   }
3019
3020   public void tabbedPane_mousePressed(MouseEvent e)
3021   {
3022
3023   }
3024
3025   public void tabbedPane_focusGained(FocusEvent e)
3026   {
3027     requestFocus();
3028   }
3029
3030   public void save_actionPerformed(ActionEvent e)
3031   {
3032
3033   }
3034
3035   public void reload_actionPerformed(ActionEvent e)
3036   {
3037
3038   }
3039
3040   public void newView_actionPerformed(ActionEvent e)
3041   {
3042
3043   }
3044
3045   public void textColour_actionPerformed(ActionEvent e)
3046   {
3047
3048   }
3049
3050   public void idRightAlign_actionPerformed(ActionEvent e)
3051   {
3052
3053   }
3054
3055   public void expandViews_actionPerformed(ActionEvent e)
3056   {
3057
3058   }
3059
3060   public void gatherViews_actionPerformed(ActionEvent e)
3061   {
3062
3063   }
3064
3065   public void buildTreeMenu()
3066   {
3067
3068   }
3069
3070   public void pageSetup_actionPerformed(ActionEvent e)
3071   {
3072
3073   }
3074
3075   public void alignmentProperties()
3076   {
3077
3078   }
3079
3080   protected void expand_newalign(ActionEvent e)
3081   {
3082     // TODO Auto-generated method stub
3083
3084   }
3085
3086   protected boolean isShowAutoCalculatedAbove()
3087   {
3088     return showAutoCalculatedAbove;
3089   }
3090
3091   protected void setShowAutoCalculatedAbove(boolean showAutoCalculatedAbove)
3092   {
3093     this.showAutoCalculatedAbove = showAutoCalculatedAbove;
3094   }
3095
3096   protected SequenceAnnotationOrder getAnnotationSortOrder()
3097   {
3098     return annotationSortOrder;
3099   }
3100
3101   protected void setAnnotationSortOrder(SequenceAnnotationOrder annotationSortOrder)
3102   {
3103     this.annotationSortOrder = annotationSortOrder;
3104   }
3105 }