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