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