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