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