pickmanager on sequence and alignment position, vamsas pick broadcast and refactor...
[jalview.git] / src / jalview / jbgui / GAlignFrame.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer
3  * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
18  */
19 package jalview.jbgui;
20
21 import java.awt.*;
22 import java.awt.event.*;
23
24 import javax.swing.*;
25 import javax.swing.event.*;
26
27 import jalview.schemes.*;
28
29 public class GAlignFrame
30     extends JInternalFrame
31 {
32   protected JMenuBar alignFrameMenuBar = new JMenuBar();
33   protected JMenu fileMenu = new JMenu();
34   protected JMenuItem closeMenuItem = new JMenuItem();
35   protected JMenu editMenu = new JMenu();
36   protected JMenu viewMenu = new JMenu();
37   protected JMenu colourMenu = new JMenu();
38   protected JMenu calculateMenu = new JMenu();
39   protected JMenu webService = new JMenu();
40   protected JMenuItem webServiceNoServices;
41   protected JMenuItem selectAllSequenceMenuItem = new JMenuItem();
42   protected JMenuItem deselectAllSequenceMenuItem = new JMenuItem();
43   protected JMenuItem invertSequenceMenuItem = new JMenuItem();
44   protected JMenuItem remove2LeftMenuItem = new JMenuItem();
45   protected JMenuItem remove2RightMenuItem = new JMenuItem();
46   protected JMenuItem removeGappedColumnMenuItem = new JMenuItem();
47   protected JMenuItem removeAllGapsMenuItem = new JMenuItem();
48   public JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
49   public JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
50   protected JMenuItem sortPairwiseMenuItem = new JMenuItem();
51   protected JMenuItem sortIDMenuItem = new JMenuItem();
52   protected JMenuItem sortGroupMenuItem = new JMenuItem();
53   protected JMenu sortByAnnotScore = new JMenu();
54   protected JMenuItem removeRedundancyMenuItem = new JMenuItem();
55   protected JMenuItem pairwiseAlignmentMenuItem = new JMenuItem();
56   protected JMenuItem PCAMenuItem = new JMenuItem();
57   protected JMenuItem averageDistanceTreeMenuItem = new JMenuItem();
58   protected JMenuItem neighbourTreeMenuItem = new JMenuItem();
59   BorderLayout borderLayout1 = new BorderLayout();
60   public JLabel statusBar = new JLabel();
61   protected JMenuItem saveAs = new JMenuItem();
62   protected JMenu outputTextboxMenu = new JMenu();
63   protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();
64   protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();
65   protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();
66   protected JRadioButtonMenuItem hydrophobicityColour = new
67       JRadioButtonMenuItem();
68   protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();
69   protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();
70   protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();
71   protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();
72   protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();
73   protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();
74   protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();
75   JMenuItem njTreeBlosumMenuItem = new JMenuItem();
76   JMenuItem avDistanceTreeBlosumMenuItem = new JMenuItem();
77   public JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
78   public JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
79   JMenuItem htmlMenuItem = new JMenuItem();
80   JMenuItem overviewMenuItem = new JMenuItem();
81   protected JMenuItem undoMenuItem = new JMenuItem();
82   protected JMenuItem redoMenuItem = new JMenuItem();
83   public JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();
84   JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();
85   public JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
86   JMenuItem printMenuItem = new JMenuItem();
87   public JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
88   JMenuItem findMenuItem = new JMenuItem();
89   public JCheckBoxMenuItem abovePIDThreshold = new JCheckBoxMenuItem();
90   public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
91   protected JRadioButtonMenuItem nucleotideColour = new JRadioButtonMenuItem();
92   JMenuItem deleteGroups = new JMenuItem();
93   JMenuItem delete = new JMenuItem();
94   JMenuItem copy = new JMenuItem();
95   JMenuItem cut = new JMenuItem();
96   JMenu pasteMenu = new JMenu();
97   JMenuItem pasteNew = new JMenuItem();
98   JMenuItem pasteThis = new JMenuItem();
99   public JCheckBoxMenuItem applyToAllGroups = new JCheckBoxMenuItem();
100   JMenuItem createPNG = new JMenuItem();
101   protected JMenuItem font = new JMenuItem();
102   public JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
103   JMenuItem epsFile = new JMenuItem();
104   JMenuItem LoadtreeMenuItem = new JMenuItem();
105   public JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
106   public JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
107   public JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
108   protected JMenuItem modifyPID = new JMenuItem();
109   protected JMenuItem modifyConservation = new JMenuItem();
110   protected JMenu sortByTreeMenu = new JMenu();
111   protected JMenu sort = new JMenu();
112   JMenu calculate = new JMenu();
113   JMenu jMenu2 = new JMenu();
114   protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
115   protected ButtonGroup colours = new ButtonGroup();
116   JMenuItem vamsasStore = new JMenuItem();
117   protected JMenuItem showTranslation = new JMenuItem();
118   protected JMenuItem extractScores = new JMenuItem();
119   protected JMenu showProducts = new JMenu();
120   public JMenuItem featureSettings = new JMenuItem();
121   JMenuItem fetchSequence = new JMenuItem();
122   JMenuItem annotationColour = new JMenuItem();
123   JMenuItem associatedData = new JMenuItem();
124   protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
125   JMenu addSequenceMenu = new JMenu();
126   JMenuItem addFromFile = new JMenuItem();
127   JMenuItem addFromText = new JMenuItem();
128   JMenuItem addFromURL = new JMenuItem();
129   JMenuItem exportAnnotations = new JMenuItem();
130   JMenuItem exportFeatures = new JMenuItem();
131   protected JPanel statusPanel = new JPanel();
132   GridLayout gridLayout1 = new GridLayout();
133   JMenu jMenu3 = new JMenu();
134   JMenuItem showAllSeqs = new JMenuItem();
135   JMenuItem showAllColumns = new JMenuItem();
136   JMenu hideMenu = new JMenu();
137   JMenuItem hideSelSequences = new JMenuItem();
138   JMenuItem hideSelColumns = new JMenuItem();
139   protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
140   JMenuItem invertColSel = new JMenuItem();
141   protected JTabbedPane tabbedPane = new JTabbedPane();
142   JMenuItem save = new JMenuItem();
143   protected JMenuItem reload = new JMenuItem();
144   JMenuItem newView = new JMenuItem();
145   JMenuItem textColour = new JMenuItem();
146   JMenu formatMenu = new JMenu();
147   JMenu selectMenu = new JMenu();
148   protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
149   protected JMenuItem gatherViews = new JMenuItem();
150   protected JMenuItem expandViews = new JMenuItem();
151   JMenuItem pageSetup = new JMenuItem();
152   JMenuItem alignmentProperties = new JMenuItem();
153   public GAlignFrame()
154   {
155     try
156     {
157       jbInit();
158       setJMenuBar(alignFrameMenuBar);
159
160       // dynamically fill save as menu with available formats
161       for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)
162       {
163         JMenuItem item = new JMenuItem(jalview.io.FormatAdapter.
164                                        WRITEABLE_FORMATS[i]);
165
166         item.addActionListener(new java.awt.event.ActionListener()
167         {
168           public void actionPerformed(ActionEvent e)
169           {
170             outputText_actionPerformed(e);
171           }
172         });
173
174         outputTextboxMenu.add(item);
175       }
176     }
177     catch (Exception e)
178     {
179     }
180
181     if (!System.getProperty("os.name").startsWith("Mac"))
182     {
183       closeMenuItem.setMnemonic('C');
184       outputTextboxMenu.setMnemonic('T');
185       undoMenuItem.setMnemonic('Z');
186       redoMenuItem.setMnemonic('0');
187       copy.setMnemonic('C');
188       cut.setMnemonic('U');
189       pasteMenu.setMnemonic('P');
190       reload.setMnemonic('R');
191     }
192
193     if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
194     {
195       java.util.Enumeration userColours = jalview.gui.UserDefinedColours.
196           getUserColourSchemes().keys();
197
198       while (userColours.hasMoreElements())
199       {
200         final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(
201             userColours.
202             nextElement().toString());
203         radioItem.setName("USER_DEFINED");
204         radioItem.addMouseListener(new MouseAdapter()
205         {
206           public void mousePressed(MouseEvent evt)
207           {
208             if (evt.isControlDown() || SwingUtilities.isRightMouseButton(evt))
209             {
210               radioItem.removeActionListener(radioItem.getActionListeners()[0]);
211
212               int option = JOptionPane.showInternalConfirmDialog(jalview.gui.
213                   Desktop.desktop,
214                   "Remove from default list?",
215                   "Remove user defined colour",
216                   JOptionPane.YES_NO_OPTION);
217               if (option == JOptionPane.YES_OPTION)
218               {
219                 jalview.gui.UserDefinedColours.removeColourFromDefaults(
220                     radioItem.getText());
221                 colourMenu.remove(radioItem);
222               }
223               else
224               {
225                 radioItem.addActionListener(new ActionListener()
226                 {
227                   public void actionPerformed(ActionEvent evt)
228                   {
229                     userDefinedColour_actionPerformed(evt);
230                   }
231                 });
232               }
233             }
234           }
235         });
236         radioItem.addActionListener(new ActionListener()
237         {
238           public void actionPerformed(ActionEvent evt)
239           {
240             userDefinedColour_actionPerformed(evt);
241           }
242         });
243         colourMenu.insert(radioItem, 15);
244         colours.add(radioItem);
245       }
246     }
247     colours.add(noColourmenuItem);
248     colours.add(clustalColour);
249     colours.add(zappoColour);
250     colours.add(taylorColour);
251     colours.add(hydrophobicityColour);
252     colours.add(helixColour);
253     colours.add(strandColour);
254     colours.add(turnColour);
255     colours.add(buriedColour);
256     colours.add(userDefinedColour);
257     colours.add(PIDColour);
258     colours.add(BLOSUM62Colour);
259     colours.add(nucleotideColour);
260
261     setColourSelected(jalview.bin.Cache.getDefault("DEFAULT_COLOUR", "None"));
262
263   }
264
265   public void setColourSelected(String defaultColour)
266   {
267
268     if (defaultColour != null)
269     {
270       int index = ColourSchemeProperty.getColourIndexFromName(defaultColour);
271
272       switch (index)
273       {
274         case ColourSchemeProperty.NONE:
275           noColourmenuItem.setSelected(true);
276           break;
277         case ColourSchemeProperty.CLUSTAL:
278           clustalColour.setSelected(true);
279
280           break;
281
282         case ColourSchemeProperty.BLOSUM:
283           BLOSUM62Colour.setSelected(true);
284
285           break;
286
287         case ColourSchemeProperty.PID:
288           PIDColour.setSelected(true);
289
290           break;
291
292         case ColourSchemeProperty.ZAPPO:
293           zappoColour.setSelected(true);
294
295           break;
296
297         case ColourSchemeProperty.TAYLOR:
298           taylorColour.setSelected(true);
299           break;
300
301         case ColourSchemeProperty.HYDROPHOBIC:
302           hydrophobicityColour.setSelected(true);
303
304           break;
305
306         case ColourSchemeProperty.HELIX:
307           helixColour.setSelected(true);
308
309           break;
310
311         case ColourSchemeProperty.STRAND:
312           strandColour.setSelected(true);
313
314           break;
315
316         case ColourSchemeProperty.TURN:
317           turnColour.setSelected(true);
318
319           break;
320
321         case ColourSchemeProperty.BURIED:
322           buriedColour.setSelected(true);
323
324           break;
325
326         case ColourSchemeProperty.NUCLEOTIDE:
327           nucleotideColour.setSelected(true);
328
329           break;
330
331         case ColourSchemeProperty.USER_DEFINED:
332           userDefinedColour.setSelected(true);
333
334           break;
335       }
336     }
337
338   }
339
340   private void jbInit()
341       throws Exception
342   {
343     fileMenu.setText("File");
344     saveAs.setText("Save As...");
345     saveAs.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.
346         KeyEvent.VK_S,
347         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() |
348         java.awt.event.KeyEvent.SHIFT_MASK, false));
349     saveAs.addActionListener(new ActionListener()
350     {
351       public void actionPerformed(ActionEvent e)
352       {
353         saveAs_actionPerformed(e);
354       }
355     });
356     closeMenuItem.setText("Close");
357     closeMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.
358         event.KeyEvent.VK_W, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
359     closeMenuItem.addActionListener(new java.awt.event.ActionListener()
360     {
361       public void actionPerformed(ActionEvent e)
362       {
363         closeMenuItem_actionPerformed(false);
364       }
365     });
366     editMenu.setText("Edit");
367     viewMenu.setText("View");
368     colourMenu.setText("Colour");
369     calculateMenu.setText("Calculate");
370     webService.setText("Web Service");
371     selectAllSequenceMenuItem.setText("Select All");
372     selectAllSequenceMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
373         java.awt.event.KeyEvent.VK_A,
374         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
375     selectAllSequenceMenuItem.addActionListener(new java.awt.event.
376                                                 ActionListener()
377     {
378       public void actionPerformed(ActionEvent e)
379       {
380         selectAllSequenceMenuItem_actionPerformed(e);
381       }
382     });
383     deselectAllSequenceMenuItem.setText("Deselect All");
384     deselectAllSequenceMenuItem.setAccelerator(javax.swing.KeyStroke.
385                                                getKeyStroke(
386         java.awt.event.KeyEvent.VK_ESCAPE, 0, false));
387     deselectAllSequenceMenuItem.addActionListener(new java.awt.event.
388                                                   ActionListener()
389     {
390       public void actionPerformed(ActionEvent e)
391       {
392         deselectAllSequenceMenuItem_actionPerformed(e);
393       }
394     });
395     invertSequenceMenuItem.setText("Invert Sequence Selection");
396     invertSequenceMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
397         java.awt.event.KeyEvent.VK_I,
398         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
399     invertSequenceMenuItem.addActionListener(new java.awt.event.ActionListener()
400     {
401       public void actionPerformed(ActionEvent e)
402       {
403         invertSequenceMenuItem_actionPerformed(e);
404       }
405     });
406     remove2LeftMenuItem.setText("Remove Left");
407     remove2LeftMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.
408         awt.event.KeyEvent.VK_L,
409         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
410     remove2LeftMenuItem.addActionListener(new java.awt.event.ActionListener()
411     {
412       public void actionPerformed(ActionEvent e)
413       {
414         remove2LeftMenuItem_actionPerformed(e);
415       }
416     });
417     remove2RightMenuItem.setText("Remove Right");
418     remove2RightMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.
419         awt.event.KeyEvent.VK_R,
420         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
421     remove2RightMenuItem.addActionListener(new java.awt.event.ActionListener()
422     {
423       public void actionPerformed(ActionEvent e)
424       {
425         remove2RightMenuItem_actionPerformed(e);
426       }
427     });
428     removeGappedColumnMenuItem.setText("Remove Empty Columns");
429     removeGappedColumnMenuItem.setAccelerator(javax.swing.KeyStroke.
430                                               getKeyStroke(java.awt.event.
431         KeyEvent.VK_E, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
432     removeGappedColumnMenuItem.addActionListener(new java.awt.event.
433                                                  ActionListener()
434     {
435       public void actionPerformed(ActionEvent e)
436       {
437         removeGappedColumnMenuItem_actionPerformed(e);
438       }
439     });
440     removeAllGapsMenuItem.setText("Remove All Gaps");
441     removeAllGapsMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
442         java.awt.event.KeyEvent.VK_E,
443         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() |
444         java.awt.event.KeyEvent.SHIFT_MASK, false));
445     removeAllGapsMenuItem.addActionListener(new java.awt.event.ActionListener()
446     {
447       public void actionPerformed(ActionEvent e)
448       {
449         removeAllGapsMenuItem_actionPerformed(e);
450       }
451     });
452     viewBoxesMenuItem.setText("Boxes");
453     viewBoxesMenuItem.setState(true);
454     viewBoxesMenuItem.addActionListener(new java.awt.event.ActionListener()
455     {
456       public void actionPerformed(ActionEvent e)
457       {
458         viewBoxesMenuItem_actionPerformed(e);
459       }
460     });
461     viewTextMenuItem.setText("Text");
462     viewTextMenuItem.setState(true);
463     viewTextMenuItem.addActionListener(new java.awt.event.ActionListener()
464     {
465       public void actionPerformed(ActionEvent e)
466       {
467         viewTextMenuItem_actionPerformed(e);
468       }
469     });
470     sortPairwiseMenuItem.setText("by Pairwise Identity");
471     sortPairwiseMenuItem.addActionListener(new java.awt.event.ActionListener()
472     {
473       public void actionPerformed(ActionEvent e)
474       {
475         sortPairwiseMenuItem_actionPerformed(e);
476       }
477     });
478     sortIDMenuItem.setText("by ID");
479     sortIDMenuItem.addActionListener(new java.awt.event.ActionListener()
480     {
481       public void actionPerformed(ActionEvent e)
482       {
483         sortIDMenuItem_actionPerformed(e);
484       }
485     });
486     sortGroupMenuItem.setText("by Group");
487     sortGroupMenuItem.addActionListener(new java.awt.event.ActionListener()
488     {
489       public void actionPerformed(ActionEvent e)
490       {
491         sortGroupMenuItem_actionPerformed(e);
492       }
493     });
494     removeRedundancyMenuItem.setText("Remove Redundancy...");
495     removeRedundancyMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
496         java.awt.event.KeyEvent.VK_D,
497         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
498     removeRedundancyMenuItem.addActionListener(new java.awt.event.
499                                                ActionListener()
500     {
501       public void actionPerformed(ActionEvent e)
502       {
503         removeRedundancyMenuItem_actionPerformed(e);
504       }
505     });
506     pairwiseAlignmentMenuItem.setText("Pairwise Alignments...");
507     pairwiseAlignmentMenuItem.addActionListener(new java.awt.event.
508                                                 ActionListener()
509     {
510       public void actionPerformed(ActionEvent e)
511       {
512         pairwiseAlignmentMenuItem_actionPerformed(e);
513       }
514     });
515     PCAMenuItem.setText("Principal Component Analysis");
516     PCAMenuItem.addActionListener(new java.awt.event.ActionListener()
517     {
518       public void actionPerformed(ActionEvent e)
519       {
520         PCAMenuItem_actionPerformed(e);
521       }
522     });
523     averageDistanceTreeMenuItem.setText(
524         "Average Distance Using % Identity");
525     averageDistanceTreeMenuItem.addActionListener(new java.awt.event.
526                                                   ActionListener()
527     {
528       public void actionPerformed(ActionEvent e)
529       {
530         averageDistanceTreeMenuItem_actionPerformed(e);
531       }
532     });
533     neighbourTreeMenuItem.setText("Neighbour Joining Using % Identity");
534     neighbourTreeMenuItem.addActionListener(new java.awt.event.ActionListener()
535     {
536       public void actionPerformed(ActionEvent e)
537       {
538         neighbourTreeMenuItem_actionPerformed(e);
539       }
540     });
541     this.getContentPane().setLayout(borderLayout1);
542     alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
543     statusBar.setBackground(Color.white);
544     statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
545     statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
546     statusBar.setText("Status bar");
547     outputTextboxMenu.setText("Output to Textbox");
548     clustalColour.setText("Clustalx");
549
550     clustalColour.addActionListener(new java.awt.event.ActionListener()
551     {
552       public void actionPerformed(ActionEvent e)
553       {
554         clustalColour_actionPerformed(e);
555       }
556     });
557     zappoColour.setText("Zappo");
558     zappoColour.addActionListener(new java.awt.event.ActionListener()
559     {
560       public void actionPerformed(ActionEvent e)
561       {
562         zappoColour_actionPerformed(e);
563       }
564     });
565     taylorColour.setText("Taylor");
566     taylorColour.addActionListener(new java.awt.event.ActionListener()
567     {
568       public void actionPerformed(ActionEvent e)
569       {
570         taylorColour_actionPerformed(e);
571       }
572     });
573     hydrophobicityColour.setText("Hydrophobicity");
574     hydrophobicityColour.addActionListener(new java.awt.event.ActionListener()
575     {
576       public void actionPerformed(ActionEvent e)
577       {
578         hydrophobicityColour_actionPerformed(e);
579       }
580     });
581     helixColour.setText("Helix Propensity");
582     helixColour.addActionListener(new java.awt.event.ActionListener()
583     {
584       public void actionPerformed(ActionEvent e)
585       {
586         helixColour_actionPerformed(e);
587       }
588     });
589     strandColour.setText("Strand Propensity");
590     strandColour.addActionListener(new java.awt.event.ActionListener()
591     {
592       public void actionPerformed(ActionEvent e)
593       {
594         strandColour_actionPerformed(e);
595       }
596     });
597     turnColour.setText("Turn Propensity");
598     turnColour.addActionListener(new java.awt.event.ActionListener()
599     {
600       public void actionPerformed(ActionEvent e)
601       {
602         turnColour_actionPerformed(e);
603       }
604     });
605     buriedColour.setText("Buried Index");
606     buriedColour.addActionListener(new java.awt.event.ActionListener()
607     {
608       public void actionPerformed(ActionEvent e)
609       {
610         buriedColour_actionPerformed(e);
611       }
612     });
613     userDefinedColour.setText("User Defined...");
614     userDefinedColour.addActionListener(new java.awt.event.ActionListener()
615     {
616       public void actionPerformed(ActionEvent e)
617       {
618         userDefinedColour_actionPerformed(e);
619       }
620     });
621     PIDColour.setText("Percentage Identity");
622     PIDColour.addActionListener(new java.awt.event.ActionListener()
623     {
624       public void actionPerformed(ActionEvent e)
625       {
626         PIDColour_actionPerformed(e);
627       }
628     });
629     BLOSUM62Colour.setText("BLOSUM62 Score");
630     BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener()
631     {
632       public void actionPerformed(ActionEvent e)
633       {
634         BLOSUM62Colour_actionPerformed(e);
635       }
636     });
637     avDistanceTreeBlosumMenuItem.setText(
638         "Average Distance Using BLOSUM62");
639     avDistanceTreeBlosumMenuItem.addActionListener(new java.awt.event.
640         ActionListener()
641     {
642       public void actionPerformed(ActionEvent e)
643       {
644         avTreeBlosumMenuItem_actionPerformed(e);
645       }
646     });
647     njTreeBlosumMenuItem.setText("Neighbour Joining using BLOSUM62");
648     njTreeBlosumMenuItem.addActionListener(new java.awt.event.ActionListener()
649     {
650       public void actionPerformed(ActionEvent e)
651       {
652         njTreeBlosumMenuItem_actionPerformed(e);
653       }
654     });
655     annotationPanelMenuItem.setActionCommand("");
656     annotationPanelMenuItem.setText("Show Annotations");
657     annotationPanelMenuItem.setState(jalview.bin.Cache.getDefault(
658         "SHOW_ANNOTATIONS", true));
659     annotationPanelMenuItem.addActionListener(new java.awt.event.ActionListener()
660     {
661       public void actionPerformed(ActionEvent e)
662       {
663         annotationPanelMenuItem_actionPerformed(e);
664       }
665     });
666     colourTextMenuItem.setText("Colour Text");
667     colourTextMenuItem.addActionListener(new java.awt.event.ActionListener()
668     {
669       public void actionPerformed(ActionEvent e)
670       {
671         colourTextMenuItem_actionPerformed(e);
672       }
673     });
674     htmlMenuItem.setText("HTML");
675     htmlMenuItem.addActionListener(new java.awt.event.ActionListener()
676     {
677       public void actionPerformed(ActionEvent e)
678       {
679         htmlMenuItem_actionPerformed(e);
680       }
681     });
682     overviewMenuItem.setText("Overview Window");
683     overviewMenuItem.addActionListener(new java.awt.event.ActionListener()
684     {
685       public void actionPerformed(ActionEvent e)
686       {
687         overviewMenuItem_actionPerformed(e);
688       }
689     });
690     undoMenuItem.setEnabled(false);
691     undoMenuItem.setText("Undo");
692     undoMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
693         java.awt.event.KeyEvent.VK_Z,
694         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
695     undoMenuItem.addActionListener(new java.awt.event.ActionListener()
696     {
697       public void actionPerformed(ActionEvent e)
698       {
699         undoMenuItem_actionPerformed(e);
700       }
701     });
702     redoMenuItem.setEnabled(false);
703     redoMenuItem.setText("Redo");
704     redoMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.
705         event.KeyEvent.VK_Y, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
706     redoMenuItem.addActionListener(new java.awt.event.ActionListener()
707     {
708       public void actionPerformed(ActionEvent e)
709       {
710         redoMenuItem_actionPerformed(e);
711       }
712     });
713     conservationMenuItem.setText("By Conservation");
714     conservationMenuItem.addActionListener(new java.awt.event.ActionListener()
715     {
716       public void actionPerformed(ActionEvent e)
717       {
718         conservationMenuItem_actionPerformed(e);
719       }
720     });
721     noColourmenuItem.setText("None");
722     noColourmenuItem.addActionListener(new java.awt.event.ActionListener()
723     {
724       public void actionPerformed(ActionEvent e)
725       {
726         noColourmenuItem_actionPerformed(e);
727       }
728     });
729     wrapMenuItem.setText("Wrap");
730     wrapMenuItem.addActionListener(new java.awt.event.ActionListener()
731     {
732       public void actionPerformed(ActionEvent e)
733       {
734         wrapMenuItem_actionPerformed(e);
735       }
736     });
737     printMenuItem.setText("Print ...");
738     printMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.
739         event.KeyEvent.VK_P, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
740     printMenuItem.addActionListener(new java.awt.event.ActionListener()
741     {
742       public void actionPerformed(ActionEvent e)
743       {
744         printMenuItem_actionPerformed(e);
745       }
746     });
747     renderGapsMenuItem.setText("Show Gaps");
748     renderGapsMenuItem.setState(true);
749     renderGapsMenuItem.addActionListener(new java.awt.event.ActionListener()
750     {
751       public void actionPerformed(ActionEvent e)
752       {
753         renderGapsMenuItem_actionPerformed(e);
754       }
755     });
756     findMenuItem.setText("Find...");
757     findMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
758         java.awt.event.KeyEvent.VK_F,
759         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
760     findMenuItem.addActionListener(new java.awt.event.ActionListener()
761     {
762       public void actionPerformed(ActionEvent e)
763       {
764         findMenuItem_actionPerformed(e);
765       }
766     });
767     abovePIDThreshold.setText("Above Identity Threshold");
768     abovePIDThreshold.addActionListener(new java.awt.event.ActionListener()
769     {
770       public void actionPerformed(ActionEvent e)
771       {
772         abovePIDThreshold_actionPerformed(e);
773       }
774     });
775     showSeqFeatures.setText("Show Sequence Features");
776     showSeqFeatures.addActionListener(new ActionListener()
777     {
778       public void actionPerformed(ActionEvent actionEvent)
779       {
780         showSeqFeatures_actionPerformed(actionEvent);
781       }
782     });
783     nucleotideColour.setText("Nucleotide");
784     nucleotideColour.addActionListener(new java.awt.event.ActionListener()
785     {
786       public void actionPerformed(ActionEvent e)
787       {
788         nucleotideColour_actionPerformed(e);
789       }
790     });
791     deleteGroups.setText("Undefine groups");
792     deleteGroups.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.
793         event.KeyEvent.VK_U, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
794     deleteGroups.addActionListener(new java.awt.event.ActionListener()
795     {
796       public void actionPerformed(ActionEvent e)
797       {
798         deleteGroups_actionPerformed(e);
799       }
800     });
801     copy.setText("Copy");
802     copy.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
803         java.awt.event.KeyEvent.VK_C,
804         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
805
806     copy.addActionListener(new java.awt.event.ActionListener()
807     {
808       public void actionPerformed(ActionEvent e)
809       {
810         copy_actionPerformed(e);
811       }
812     });
813     cut.setText("Cut");
814     cut.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
815         java.awt.event.KeyEvent.VK_X,
816         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
817     cut.addActionListener(new java.awt.event.ActionListener()
818     {
819       public void actionPerformed(ActionEvent e)
820       {
821         cut_actionPerformed(e);
822       }
823     });
824     delete.setText("Delete");
825     delete.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.
826         KeyEvent.VK_BACK_SPACE, 0, false));
827     delete.addActionListener(new java.awt.event.ActionListener()
828     {
829       public void actionPerformed(ActionEvent e)
830       {
831         delete_actionPerformed(e);
832       }
833     });
834     pasteMenu.setText("Paste");
835     pasteNew.setText("To New Alignment");
836     pasteNew.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
837         java.awt.event.KeyEvent.VK_V,
838         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() |
839         java.awt.event.KeyEvent.SHIFT_MASK, false));
840     pasteNew.addActionListener(new java.awt.event.ActionListener()
841     {
842       public void actionPerformed(ActionEvent e)
843       {
844         pasteNew_actionPerformed(e);
845       }
846     });
847     pasteThis.setText("Add To This Alignment");
848     pasteThis.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
849         java.awt.event.KeyEvent.VK_V,
850         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
851     pasteThis.addActionListener(new java.awt.event.ActionListener()
852     {
853       public void actionPerformed(ActionEvent e)
854       {
855         pasteThis_actionPerformed(e);
856       }
857     });
858     applyToAllGroups.setText("Apply Colour To All Groups");
859     applyToAllGroups.addActionListener(new java.awt.event.ActionListener()
860     {
861       public void actionPerformed(ActionEvent e)
862       {
863         applyToAllGroups_actionPerformed(e);
864       }
865     });
866     createPNG.addActionListener(new java.awt.event.ActionListener()
867     {
868       public void actionPerformed(ActionEvent e)
869       {
870         createPNG(null);
871       }
872     });
873     createPNG.setActionCommand("Save As PNG Image");
874     createPNG.setText("PNG");
875     font.setText("Font...");
876     font.addActionListener(new java.awt.event.ActionListener()
877     {
878       public void actionPerformed(ActionEvent e)
879       {
880         font_actionPerformed(e);
881       }
882     });
883
884     seqLimits.setText("Show Sequence Limits");
885     seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true));
886     seqLimits.addActionListener(new java.awt.event.ActionListener()
887     {
888       public void actionPerformed(ActionEvent e)
889       {
890         seqLimit_actionPerformed(e);
891       }
892     });
893     epsFile.setText("EPS");
894     epsFile.addActionListener(new java.awt.event.ActionListener()
895     {
896       public void actionPerformed(ActionEvent e)
897       {
898         createEPS(null);
899       }
900     });
901     LoadtreeMenuItem.setActionCommand("Load a tree for this sequence set");
902     LoadtreeMenuItem.setText("Load Associated Tree");
903     LoadtreeMenuItem.addActionListener(new java.awt.event.ActionListener()
904     {
905       public void actionPerformed(ActionEvent e)
906       {
907         LoadtreeMenuItem_actionPerformed(e);
908       }
909     });
910     scaleAbove.setVisible(false);
911     scaleAbove.setText("Scale Above");
912     scaleAbove.addActionListener(new java.awt.event.ActionListener()
913     {
914       public void actionPerformed(ActionEvent e)
915       {
916         scaleAbove_actionPerformed(e);
917       }
918     });
919     scaleLeft.setVisible(false);
920     scaleLeft.setSelected(true);
921     scaleLeft.setText("Scale Left");
922     scaleLeft.addActionListener(new java.awt.event.ActionListener()
923     {
924       public void actionPerformed(ActionEvent e)
925       {
926         scaleLeft_actionPerformed(e);
927       }
928     });
929     scaleRight.setVisible(false);
930     scaleRight.setSelected(true);
931     scaleRight.setText("Scale Right");
932     scaleRight.addActionListener(new java.awt.event.ActionListener()
933     {
934       public void actionPerformed(ActionEvent e)
935       {
936         scaleRight_actionPerformed(e);
937       }
938     });
939     modifyPID.setText("Modify Identity Threshold...");
940     modifyPID.addActionListener(new java.awt.event.ActionListener()
941     {
942       public void actionPerformed(ActionEvent e)
943       {
944         modifyPID_actionPerformed(e);
945       }
946     });
947     modifyConservation.setText("Modify Conservation Threshold...");
948     modifyConservation.addActionListener(new java.awt.event.ActionListener()
949     {
950       public void actionPerformed(ActionEvent e)
951       {
952         modifyConservation_actionPerformed(e);
953       }
954     });
955     sortByTreeMenu.setText("By Tree Order");
956     sort.setText("Sort");
957     sort.addMenuListener(new MenuListener()
958     {
959       public void menuSelected(MenuEvent e)
960       {
961         buildTreeMenu();
962       }
963
964       public void menuDeselected(MenuEvent e)
965       {
966       }
967
968       public void menuCanceled(MenuEvent e)
969       {
970       }
971     });
972     sortByAnnotScore.setText("by Score");
973     sort.add(sortByAnnotScore);
974     sortByAnnotScore.addMenuListener(
975             new javax.swing.event.MenuListener() {
976               
977                 public void menuCanceled(MenuEvent e)
978                 {
979                 }
980
981                 public void menuDeselected(MenuEvent e)
982                 {
983                 }
984
985                 public void menuSelected(MenuEvent e)
986                 {
987                   buildSortByAnnotationScoresMenu();
988                 }
989               }
990               );
991     sortByAnnotScore.setVisible(false);
992     
993     calculate.setText("Calculate Tree");
994
995     jMenu2.setText("Export Image");
996     padGapsMenuitem.setText("Pad Gaps");
997     padGapsMenuitem.setState(jalview.bin.Cache.getDefault("PAD_GAPS", false));
998     padGapsMenuitem.addActionListener(new ActionListener()
999     {
1000       public void actionPerformed(ActionEvent e)
1001       {
1002         padGapsMenuitem_actionPerformed(e);
1003       }
1004     });
1005     vamsasStore.setVisible(false);
1006     vamsasStore.setText("VAMSAS store");
1007     vamsasStore.addActionListener(new ActionListener()
1008     {
1009       public void actionPerformed(ActionEvent e)
1010       {
1011         vamsasStore_actionPerformed(e);
1012       }
1013     });
1014     showTranslation.setText("Translate cDNA");
1015     showTranslation.addActionListener(new ActionListener()
1016     {
1017       public void actionPerformed(ActionEvent e)
1018       {
1019         showTranslation_actionPerformed(e);
1020       }
1021     });
1022     extractScores.setText("Extract Scores...");
1023     extractScores.addActionListener(new ActionListener()
1024     {
1025       public void actionPerformed(ActionEvent e)
1026       {
1027         extractScores_actionPerformed(e);
1028       }
1029     });
1030     extractScores.setVisible(true); // JBPNote: TODO: make gui for regex based score extraction
1031     showProducts.setText("Get Cross References");
1032     /*showProducts.addActionListener(new ActionListener()
1033     {
1034
1035       public void actionPerformed(ActionEvent e)
1036       {
1037         showProducts_actionPerformed(e);
1038       }
1039     });*/
1040     featureSettings.setText("Feature Settings...");
1041     featureSettings.addActionListener(new ActionListener()
1042     {
1043       public void actionPerformed(ActionEvent e)
1044       {
1045         featureSettings_actionPerformed(e);
1046       }
1047     });
1048     fetchSequence.setText("Fetch Sequence(s)...");
1049     fetchSequence.addActionListener(new ActionListener()
1050     {
1051       public void actionPerformed(ActionEvent e)
1052       {
1053         fetchSequence_actionPerformed(e);
1054       }
1055     });
1056
1057     annotationColour.setText("By Annotation...");
1058     annotationColour.addActionListener(new ActionListener()
1059     {
1060       public void actionPerformed(ActionEvent e)
1061       {
1062         annotationColour_actionPerformed(e);
1063       }
1064     });
1065     associatedData.setText("Load Features / Annotations");
1066     associatedData.addActionListener(new ActionListener()
1067     {
1068       public void actionPerformed(ActionEvent e)
1069       {
1070         associatedData_actionPerformed(e);
1071       }
1072     });
1073     autoCalculate.setText("Autocalculate Consensus");
1074     autoCalculate.setState(jalview.bin.Cache.getDefault("AUTO_CALC_CONSENSUS", true));
1075     autoCalculate.addActionListener(new ActionListener()
1076     {
1077       public void actionPerformed(ActionEvent e)
1078       {
1079         autoCalculate_actionPerformed(e);
1080       }
1081     });
1082     addSequenceMenu.setText("Add Sequences");
1083     addFromFile.setText("From File");
1084     addFromFile.addActionListener(new ActionListener()
1085     {
1086       public void actionPerformed(ActionEvent e)
1087       {
1088         addFromFile_actionPerformed(e);
1089       }
1090     });
1091     addFromText.setText("From Textbox");
1092     addFromText.addActionListener(new ActionListener()
1093     {
1094       public void actionPerformed(ActionEvent e)
1095       {
1096         addFromText_actionPerformed(e);
1097       }
1098     });
1099     addFromURL.setText("From URL");
1100     addFromURL.addActionListener(new ActionListener()
1101     {
1102       public void actionPerformed(ActionEvent e)
1103       {
1104         addFromURL_actionPerformed(e);
1105       }
1106     });
1107     exportFeatures.setText("Export Features...");
1108     exportFeatures.addActionListener(new ActionListener()
1109     {
1110       public void actionPerformed(ActionEvent e)
1111       {
1112         exportFeatures_actionPerformed(e);
1113       }
1114     });
1115     exportAnnotations.setText("Export Annotations...");
1116     exportAnnotations.addActionListener(new ActionListener()
1117     {
1118       public void actionPerformed(ActionEvent e)
1119       {
1120         exportAnnotations_actionPerformed(e);
1121       }
1122     });
1123     statusPanel.setLayout(gridLayout1);
1124     jMenu3.setText("Show");
1125     showAllSeqs.setText("All Sequences");
1126     showAllSeqs.addActionListener(new ActionListener()
1127     {
1128       public void actionPerformed(ActionEvent e)
1129       {
1130         showAllSeqs_actionPerformed(e);
1131       }
1132     });
1133     showAllColumns.setText("All Columns");
1134     showAllColumns.addActionListener(new ActionListener()
1135     {
1136       public void actionPerformed(ActionEvent e)
1137       {
1138         showAllColumns_actionPerformed(e);
1139       }
1140     });
1141     hideMenu.setText("Hide");
1142     hideSelSequences.setText("Selected Sequences");
1143     hideSelSequences.addActionListener(new ActionListener()
1144     {
1145       public void actionPerformed(ActionEvent e)
1146       {
1147         hideSelSequences_actionPerformed(e);
1148       }
1149     });
1150     hideSelColumns.setText("Selected Columns");
1151     hideSelColumns.addActionListener(new ActionListener()
1152     {
1153       public void actionPerformed(ActionEvent e)
1154       {
1155         hideSelColumns_actionPerformed(e);
1156       }
1157     });
1158     hiddenMarkers.setText("Show Hidden Markers");
1159     hiddenMarkers.addActionListener(new ActionListener()
1160     {
1161       public void actionPerformed(ActionEvent e)
1162       {
1163         hiddenMarkers_actionPerformed(e);
1164       }
1165     });
1166     invertColSel.setText("Invert Column Selection");
1167     invertColSel.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.
1168         event.KeyEvent.VK_I,
1169         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
1170         | java.awt.event.KeyEvent.ALT_MASK,
1171         false));
1172     invertColSel.addActionListener(new ActionListener()
1173     {
1174       public void actionPerformed(ActionEvent e)
1175       {
1176         invertColSel_actionPerformed(e);
1177       }
1178     });
1179     tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
1180     {
1181       public void stateChanged(ChangeEvent evt)
1182       {
1183         JTabbedPane pane = (JTabbedPane) evt.getSource();
1184         int sel = pane.getSelectedIndex();
1185         tabSelectionChanged(sel);
1186       }
1187     });
1188     tabbedPane.addMouseListener(new MouseAdapter()
1189     {
1190       public void mousePressed(MouseEvent e)
1191       {
1192         tabbedPane_mousePressed(e);
1193       }
1194     });
1195     tabbedPane.addFocusListener(new FocusAdapter()
1196     {
1197       public void focusGained(FocusEvent e)
1198       {
1199         tabbedPane_focusGained(e);
1200       }
1201     });
1202     save.setText("Save");
1203     save.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.
1204         KeyEvent.VK_S, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
1205     save.addActionListener(new ActionListener()
1206     {
1207       public void actionPerformed(ActionEvent e)
1208       {
1209         save_actionPerformed(e);
1210       }
1211     });
1212     reload.setEnabled(false);
1213     reload.setText("Reload");
1214     reload.addActionListener(new ActionListener()
1215     {
1216       public void actionPerformed(ActionEvent e)
1217       {
1218         reload_actionPerformed(e);
1219       }
1220     });
1221     newView.setText("New View");
1222     newView.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.
1223         KeyEvent.VK_T, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
1224     newView.addActionListener(new ActionListener()
1225     {
1226       public void actionPerformed(ActionEvent e)
1227       {
1228         newView_actionPerformed(e);
1229       }
1230     });
1231     tabbedPane.setToolTipText("<html><i> Right-click to rename tab"
1232                               +
1233         "<br> Press X to eXpand tabs, G to reGroup.</i></html>");
1234     textColour.setText("Colour Text ...");
1235     textColour.addActionListener(new ActionListener()
1236     {
1237       public void actionPerformed(ActionEvent e)
1238       {
1239         textColour_actionPerformed(e);
1240       }
1241     });
1242     formatMenu.setText("Format");
1243     selectMenu.setText("Select");
1244     idRightAlign.setText("Right Align Sequence Id");
1245     idRightAlign.addActionListener(new ActionListener()
1246     {
1247       public void actionPerformed(ActionEvent e)
1248       {
1249         idRightAlign_actionPerformed(e);
1250       }
1251     });
1252     gatherViews.setEnabled(false);
1253     gatherViews.setText("Gather Views");
1254     gatherViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.
1255         event.KeyEvent.VK_G, 0, false));
1256     gatherViews.addActionListener(new ActionListener()
1257     {
1258       public void actionPerformed(ActionEvent e)
1259       {
1260         gatherViews_actionPerformed(e);
1261       }
1262     });
1263     expandViews.setEnabled(false);
1264     expandViews.setText("Expand Views");
1265     expandViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.
1266         event.KeyEvent.VK_X, 0, false));
1267     expandViews.addActionListener(new ActionListener()
1268     {
1269       public void actionPerformed(ActionEvent e)
1270       {
1271         expandViews_actionPerformed(e);
1272       }
1273     });
1274     pageSetup.setText("Page Setup ...");
1275     pageSetup.addActionListener(new ActionListener()
1276     {
1277       public void actionPerformed(ActionEvent e)
1278       {
1279         pageSetup_actionPerformed(e);
1280       }
1281     });
1282     alignmentProperties.setText("Alignment Properties...");
1283     alignmentProperties.addActionListener(new ActionListener()
1284     {
1285       public void actionPerformed(ActionEvent actionEvent)
1286       {
1287         alignmentProperties();
1288       }
1289     });
1290
1291     alignFrameMenuBar.add(fileMenu);
1292     alignFrameMenuBar.add(editMenu);
1293     alignFrameMenuBar.add(selectMenu);
1294     alignFrameMenuBar.add(viewMenu);
1295     alignFrameMenuBar.add(formatMenu);
1296     alignFrameMenuBar.add(colourMenu);
1297     alignFrameMenuBar.add(calculateMenu);
1298     alignFrameMenuBar.add(webService);
1299     fileMenu.add(fetchSequence);
1300     fileMenu.add(addSequenceMenu);
1301     fileMenu.add(reload);
1302     fileMenu.addSeparator();
1303     fileMenu.add(vamsasStore);
1304     fileMenu.add(save);
1305     fileMenu.add(saveAs);
1306     fileMenu.add(outputTextboxMenu);
1307     fileMenu.add(pageSetup);
1308     fileMenu.add(printMenuItem);
1309     fileMenu.addSeparator();
1310     fileMenu.add(jMenu2);
1311     fileMenu.add(exportFeatures);
1312     fileMenu.add(exportAnnotations);
1313     fileMenu.add(LoadtreeMenuItem);
1314     fileMenu.add(associatedData);
1315     fileMenu.addSeparator();
1316     fileMenu.add(closeMenuItem);
1317     editMenu.add(undoMenuItem);
1318     editMenu.add(redoMenuItem);
1319     editMenu.add(cut);
1320     editMenu.add(copy);
1321     editMenu.add(pasteMenu);
1322     editMenu.add(delete);
1323     editMenu.addSeparator();
1324     editMenu.add(remove2LeftMenuItem);
1325     editMenu.add(remove2RightMenuItem);
1326     editMenu.add(removeGappedColumnMenuItem);
1327     editMenu.add(removeAllGapsMenuItem);
1328     editMenu.add(removeRedundancyMenuItem);
1329     editMenu.addSeparator();
1330     editMenu.add(padGapsMenuitem);
1331     viewMenu.add(newView);
1332     viewMenu.add(expandViews);
1333     viewMenu.add(gatherViews);
1334     viewMenu.addSeparator();
1335     viewMenu.add(jMenu3);
1336     viewMenu.add(hideMenu);
1337     viewMenu.addSeparator();
1338     viewMenu.add(annotationPanelMenuItem);
1339     viewMenu.addSeparator();
1340     viewMenu.add(showSeqFeatures);
1341     viewMenu.add(featureSettings);
1342     viewMenu.addSeparator();
1343     viewMenu.add(alignmentProperties);
1344     viewMenu.addSeparator();
1345     viewMenu.add(overviewMenuItem);
1346     colourMenu.add(applyToAllGroups);
1347     colourMenu.add(textColour);
1348     colourMenu.addSeparator();
1349     colourMenu.add(noColourmenuItem);
1350     colourMenu.add(clustalColour);
1351     colourMenu.add(BLOSUM62Colour);
1352     colourMenu.add(PIDColour);
1353     colourMenu.add(zappoColour);
1354     colourMenu.add(taylorColour);
1355     colourMenu.add(hydrophobicityColour);
1356     colourMenu.add(helixColour);
1357     colourMenu.add(strandColour);
1358     colourMenu.add(turnColour);
1359     colourMenu.add(buriedColour);
1360     colourMenu.add(nucleotideColour);
1361     colourMenu.add(userDefinedColour);
1362     colourMenu.addSeparator();
1363     colourMenu.add(conservationMenuItem);
1364     colourMenu.add(modifyConservation);
1365     colourMenu.add(abovePIDThreshold);
1366     colourMenu.add(modifyPID);
1367     colourMenu.add(annotationColour);
1368     calculateMenu.add(sort);
1369     calculateMenu.add(calculate);
1370     calculateMenu.addSeparator();
1371     calculateMenu.add(pairwiseAlignmentMenuItem);
1372     calculateMenu.add(PCAMenuItem);
1373     calculateMenu.addSeparator();
1374     calculateMenu.add(showTranslation);
1375     calculateMenu.add(showProducts);
1376     calculateMenu.add(autoCalculate);
1377     calculateMenu.addSeparator();
1378     calculateMenu.add(extractScores);
1379     webServiceNoServices = new JMenuItem("<No Services>");
1380     webService.add(webServiceNoServices);
1381     pasteMenu.add(pasteNew);
1382     pasteMenu.add(pasteThis);
1383     sort.add(sortIDMenuItem);
1384     sort.add(sortGroupMenuItem);
1385     sort.add(sortPairwiseMenuItem);
1386     sort.add(sortByTreeMenu);
1387     calculate.add(averageDistanceTreeMenuItem);
1388     calculate.add(neighbourTreeMenuItem);
1389     calculate.add(avDistanceTreeBlosumMenuItem);
1390     calculate.add(njTreeBlosumMenuItem);
1391     jMenu2.add(htmlMenuItem);
1392     jMenu2.add(epsFile);
1393     jMenu2.add(createPNG);
1394     addSequenceMenu.add(addFromFile);
1395     addSequenceMenu.add(addFromText);
1396     addSequenceMenu.add(addFromURL);
1397     this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
1398     statusPanel.add(statusBar, null);
1399     this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
1400     jMenu3.add(showAllColumns);
1401     jMenu3.add(showAllSeqs);
1402     hideMenu.add(hideSelColumns);
1403     hideMenu.add(hideSelSequences);
1404     formatMenu.add(font);
1405     formatMenu.addSeparator();
1406     formatMenu.add(wrapMenuItem);
1407     formatMenu.add(scaleAbove);
1408     formatMenu.add(scaleLeft);
1409     formatMenu.add(scaleRight);
1410     formatMenu.add(seqLimits);
1411     formatMenu.add(idRightAlign);
1412     formatMenu.add(hiddenMarkers);
1413     formatMenu.add(viewBoxesMenuItem);
1414     formatMenu.add(viewTextMenuItem);
1415     formatMenu.add(colourTextMenuItem);
1416     formatMenu.add(renderGapsMenuItem);
1417     selectMenu.add(findMenuItem);
1418     selectMenu.addSeparator();
1419     selectMenu.add(selectAllSequenceMenuItem);
1420     selectMenu.add(deselectAllSequenceMenuItem);
1421     selectMenu.add(invertSequenceMenuItem);
1422     selectMenu.add(invertColSel);
1423     selectMenu.add(deleteGroups);
1424   }
1425
1426   protected void showProducts_actionPerformed(ActionEvent e)
1427   {
1428     // TODO Auto-generated method stub
1429     
1430   }
1431
1432   protected void buildSortByAnnotationScoresMenu()
1433   {
1434   }
1435
1436   protected void extractScores_actionPerformed(ActionEvent e)
1437   {
1438   }
1439
1440   protected void outputText_actionPerformed(ActionEvent e)
1441   {
1442   }
1443
1444   public void addFromFile_actionPerformed(ActionEvent e)
1445   {
1446
1447   }
1448
1449   public void addFromText_actionPerformed(ActionEvent e)
1450   {
1451
1452   }
1453
1454   public void addFromURL_actionPerformed(ActionEvent e)
1455   {
1456
1457   }
1458
1459   public void exportFeatures_actionPerformed(ActionEvent e)
1460   {
1461
1462   }
1463
1464   public void exportAnnotations_actionPerformed(ActionEvent e)
1465   {
1466
1467   }
1468
1469   protected void htmlMenuItem_actionPerformed(ActionEvent e)
1470   {
1471   }
1472
1473   protected void closeMenuItem_actionPerformed(boolean b)
1474   {
1475   }
1476
1477   protected void redoMenuItem_actionPerformed(ActionEvent e)
1478   {
1479   }
1480
1481   protected void undoMenuItem_actionPerformed(ActionEvent e)
1482   {
1483   }
1484
1485   protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
1486   {
1487   }
1488
1489   protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
1490   {
1491   }
1492
1493   protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
1494   {
1495   }
1496
1497   protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
1498   {
1499   }
1500
1501   protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
1502   {
1503   }
1504
1505   protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
1506   {
1507   }
1508
1509   protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
1510   {
1511   }
1512
1513   protected void wrapMenuItem_actionPerformed(ActionEvent e)
1514   {
1515   }
1516
1517   protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
1518   {
1519   }
1520
1521   protected void viewTextMenuItem_actionPerformed(ActionEvent e)
1522   {
1523   }
1524
1525   protected void colourTextMenuItem_actionPerformed(ActionEvent e)
1526   {
1527   }
1528
1529   protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
1530   {
1531   }
1532
1533   protected void overviewMenuItem_actionPerformed(ActionEvent e)
1534   {
1535   }
1536
1537   protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
1538   {
1539   }
1540
1541   protected void sortIDMenuItem_actionPerformed(ActionEvent e)
1542   {
1543   }
1544
1545   protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
1546   {
1547   }
1548
1549   protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
1550   {
1551   }
1552
1553   protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
1554   {
1555   }
1556
1557   protected void PCAMenuItem_actionPerformed(ActionEvent e)
1558   {
1559   }
1560
1561   protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)
1562   {
1563   }
1564
1565   protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
1566   {
1567   }
1568
1569   protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)
1570   {
1571   }
1572
1573   protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)
1574   {
1575   }
1576
1577   protected void clustalColour_actionPerformed(ActionEvent e)
1578   {
1579   }
1580
1581   protected void zappoColour_actionPerformed(ActionEvent e)
1582   {
1583   }
1584
1585   protected void taylorColour_actionPerformed(ActionEvent e)
1586   {
1587   }
1588
1589   protected void hydrophobicityColour_actionPerformed(ActionEvent e)
1590   {
1591   }
1592
1593   protected void helixColour_actionPerformed(ActionEvent e)
1594   {
1595   }
1596
1597   protected void strandColour_actionPerformed(ActionEvent e)
1598   {
1599   }
1600
1601   protected void turnColour_actionPerformed(ActionEvent e)
1602   {
1603   }
1604
1605   protected void buriedColour_actionPerformed(ActionEvent e)
1606   {
1607   }
1608
1609   protected void userDefinedColour_actionPerformed(ActionEvent e)
1610   {
1611   }
1612
1613   protected void PIDColour_actionPerformed(ActionEvent e)
1614   {
1615   }
1616
1617   protected void BLOSUM62Colour_actionPerformed(ActionEvent e)
1618   {
1619   }
1620
1621   protected void noColourmenuItem_actionPerformed(ActionEvent e)
1622   {
1623   }
1624
1625   protected void conservationMenuItem_actionPerformed(ActionEvent e)
1626   {
1627   }
1628
1629   protected void printMenuItem_actionPerformed(ActionEvent e)
1630   {
1631   }
1632
1633   protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
1634   {
1635   }
1636
1637   protected void findMenuItem_actionPerformed(ActionEvent e)
1638   {
1639   }
1640
1641   protected void abovePIDThreshold_actionPerformed(ActionEvent e)
1642   {
1643   }
1644
1645   public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
1646   {
1647   }
1648
1649   protected void nucleotideColour_actionPerformed(ActionEvent e)
1650   {
1651   }
1652
1653   protected void deleteGroups_actionPerformed(ActionEvent e)
1654   {
1655   }
1656
1657   protected void copy_actionPerformed(ActionEvent e)
1658   {
1659   }
1660
1661   protected void cut_actionPerformed(ActionEvent e)
1662   {
1663   }
1664
1665   protected void delete_actionPerformed(ActionEvent e)
1666   {
1667   }
1668
1669   protected void pasteNew_actionPerformed(ActionEvent e)
1670   {
1671   }
1672
1673   protected void pasteThis_actionPerformed(ActionEvent e)
1674   {
1675   }
1676
1677   protected void applyToAllGroups_actionPerformed(ActionEvent e)
1678   {
1679   }
1680
1681   public void createPNG(java.io.File f)
1682   {
1683   }
1684
1685   protected void font_actionPerformed(ActionEvent e)
1686   {
1687   }
1688
1689   protected void seqLimit_actionPerformed(ActionEvent e)
1690   {
1691   }
1692
1693   public void seqDBRef_actionPerformed(ActionEvent e)
1694   {
1695
1696   }
1697
1698   public void createEPS(java.io.File f)
1699   {
1700   }
1701
1702   protected void LoadtreeMenuItem_actionPerformed(ActionEvent e)
1703   {
1704   }
1705
1706   protected void jpred_actionPerformed(ActionEvent e)
1707   {
1708   }
1709
1710   protected void scaleAbove_actionPerformed(ActionEvent e)
1711   {
1712   }
1713
1714   protected void scaleLeft_actionPerformed(ActionEvent e)
1715   {
1716   }
1717
1718   protected void scaleRight_actionPerformed(ActionEvent e)
1719   {
1720   }
1721
1722   protected void modifyPID_actionPerformed(ActionEvent e)
1723   {
1724   }
1725
1726   protected void modifyConservation_actionPerformed(ActionEvent e)
1727   {
1728   }
1729
1730   protected void saveAs_actionPerformed(ActionEvent e)
1731   {
1732   }
1733
1734   protected void padGapsMenuitem_actionPerformed(ActionEvent e)
1735   {
1736   }
1737
1738   public void vamsasStore_actionPerformed(ActionEvent e)
1739   {
1740
1741   }
1742
1743   public void vamsasLoad_actionPerformed(ActionEvent e)
1744   {
1745
1746   }
1747
1748   public void showTranslation_actionPerformed(ActionEvent e)
1749   {
1750
1751   }
1752
1753   public void featureSettings_actionPerformed(ActionEvent e)
1754   {
1755
1756   }
1757
1758   public void fetchSequence_actionPerformed(ActionEvent e)
1759   {
1760
1761   }
1762
1763   public void smoothFont_actionPerformed(ActionEvent e)
1764   {
1765
1766   }
1767
1768   public void annotationColour_actionPerformed(ActionEvent e)
1769   {
1770
1771   }
1772
1773   public void associatedData_actionPerformed(ActionEvent e)
1774   {
1775
1776   }
1777
1778   public void autoCalculate_actionPerformed(ActionEvent e)
1779   {
1780
1781   }
1782
1783   public void showAllSeqs_actionPerformed(ActionEvent e)
1784   {
1785
1786   }
1787
1788   public void showAllColumns_actionPerformed(ActionEvent e)
1789   {
1790
1791   }
1792
1793   public void hideSelSequences_actionPerformed(ActionEvent e)
1794   {
1795
1796   }
1797
1798   public void hideSelColumns_actionPerformed(ActionEvent e)
1799   {
1800
1801   }
1802
1803   public void hiddenMarkers_actionPerformed(ActionEvent e)
1804   {
1805
1806   }
1807
1808   public void findPdbId_actionPerformed(ActionEvent e)
1809   {
1810
1811   }
1812
1813   public void enterPdbId_actionPerformed(ActionEvent e)
1814   {
1815
1816   }
1817
1818   public void pdbFile_actionPerformed(ActionEvent e)
1819   {
1820
1821   }
1822
1823   public void invertColSel_actionPerformed(ActionEvent e)
1824   {
1825
1826   }
1827
1828   public void tabSelectionChanged(int sel)
1829   {
1830
1831   }
1832
1833   public void tabbedPane_mousePressed(MouseEvent e)
1834   {
1835
1836   }
1837
1838   public void tabbedPane_focusGained(FocusEvent e)
1839   {
1840     requestFocus();
1841   }
1842
1843   public void save_actionPerformed(ActionEvent e)
1844   {
1845
1846   }
1847
1848   public void reload_actionPerformed(ActionEvent e)
1849   {
1850
1851   }
1852
1853   public void newView_actionPerformed(ActionEvent e)
1854   {
1855
1856   }
1857
1858   public void textColour_actionPerformed(ActionEvent e)
1859   {
1860
1861   }
1862
1863   public void idRightAlign_actionPerformed(ActionEvent e)
1864   {
1865
1866   }
1867
1868   public void expandViews_actionPerformed(ActionEvent e)
1869   {
1870
1871   }
1872
1873   public void gatherViews_actionPerformed(ActionEvent e)
1874   {
1875
1876   }
1877
1878   public void buildTreeMenu()
1879   {
1880
1881   }
1882   
1883   public void pageSetup_actionPerformed(ActionEvent e)
1884   {
1885
1886   }
1887
1888   public void alignmentProperties()
1889   {
1890
1891   }
1892 }