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