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