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