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