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