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