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