cd529770d943c50300a651bd397012d6827d8358
[jalview.git] / src / jalview / jbgui / GAlignFrame.java
1 /********************\r
2  * 2004 Jalview Reengineered\r
3  * Barton Group\r
4  * Dundee University\r
5  *\r
6  * AM Waterhouse\r
7  *******************/\r
8 \r
9 package jalview.jbgui;\r
10 \r
11 import javax.swing.*;\r
12 import java.awt.event.*;\r
13 import java.awt.*;\r
14 \r
15 public class GAlignFrame extends JInternalFrame\r
16 {\r
17   protected JMenuBar alignFrameMenuBar = new JMenuBar();\r
18   protected JMenu fileMenu = new JMenu();\r
19   protected JMenuItem closeMenuItem = new JMenuItem();\r
20   protected JMenu editMenu = new JMenu();\r
21   protected JMenu viewMenu = new JMenu();\r
22   protected JMenu colourMenu = new JMenu();\r
23   protected JMenu calculateMenu = new JMenu();\r
24   protected JMenu alignMenu = new JMenu();\r
25   protected JMenuItem groupsMenuItem = new JMenuItem();\r
26   protected JMenuItem selectAllSequenceMenuItem = new JMenuItem();\r
27   protected JMenuItem deselectAllSequenceMenuItem = new JMenuItem();\r
28   protected JMenuItem invertSequenceMenuItem = new JMenuItem();\r
29   protected JMenuItem deselectAllColumnsMenuItem = new JMenuItem();\r
30   protected JMenuItem remove2LeftMenuItem = new JMenuItem();\r
31   protected JMenuItem remove2RightMenuItem = new JMenuItem();\r
32   protected JMenuItem removeGappedColumnMenuItem = new JMenuItem();\r
33   protected JMenuItem removeAllGapsMenuItem = new JMenuItem();\r
34   protected JMenuItem setGapCharMenuItem = new JMenuItem();\r
35   protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();\r
36   protected JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();\r
37   protected JMenuItem sortPairwiseMenuItem = new JMenuItem();\r
38   protected JMenuItem sortIDMenuItem = new JMenuItem();\r
39   protected JMenuItem sortGroupMenuItem = new JMenuItem();\r
40   protected JMenuItem sortTreeOrderMenuItem = new JMenuItem();\r
41   protected JMenuItem removeRedundancyMenuItem = new JMenuItem();\r
42   protected JMenuItem pairwiseAlignmentMenuItem = new JMenuItem();\r
43   protected JMenuItem PCAMenuItem = new JMenuItem();\r
44   protected JMenuItem averageDistanceTreeMenuItem = new JMenuItem();\r
45   protected JMenuItem neighbourTreeMenuItem = new JMenuItem();\r
46   protected JMenuItem clustalAlignMenuItem = new JMenuItem();\r
47   BorderLayout borderLayout1 = new BorderLayout();\r
48   public JLabel statusBar = new JLabel();\r
49   protected JMenu saveAlignmentMenu = new JMenu();\r
50   protected JMenu outputTextboxMenu = new JMenu();\r
51   protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();\r
52   protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();\r
53   protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();\r
54   protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem();\r
55   protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();\r
56   protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();\r
57   protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();\r
58   protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();\r
59   protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();\r
60   protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();\r
61   protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();\r
62   JMenuItem njTreeBlosumMenuItem = new JMenuItem();\r
63   JMenuItem avDistanceTreeBlosumMenuItem = new JMenuItem();\r
64   protected JCheckBoxMenuItem consensusGraphMenuItem = new JCheckBoxMenuItem();\r
65   protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();\r
66   JMenuItem htmlMenuItem = new JMenuItem();\r
67   JMenuItem overviewMenuItem = new JMenuItem();\r
68   protected JMenuItem undoMenuItem = new JMenuItem();\r
69   protected JMenuItem redoMenuItem = new JMenuItem();\r
70   protected JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();\r
71   JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();\r
72   protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();\r
73   JMenuItem printMenuItem = new JMenuItem();\r
74   protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();\r
75   JMenuItem findMenuItem = new JMenuItem();\r
76   JMenu searchMenu = new JMenu();\r
77   protected JCheckBoxMenuItem abovePIDThreshold = new JCheckBoxMenuItem();\r
78   protected JCheckBoxMenuItem sequenceFeatures = new JCheckBoxMenuItem();\r
79   protected JRadioButtonMenuItem nucleotideColour = new JRadioButtonMenuItem();\r
80   JMenuItem deleteGroups = new JMenuItem();\r
81   JMenuItem delete = new JMenuItem();\r
82   JMenuItem copy = new JMenuItem();\r
83   JMenuItem cut = new JMenuItem();\r
84   JMenu jMenu1 = new JMenu();\r
85   JMenuItem pasteNew = new JMenuItem();\r
86   JMenuItem pasteThis = new JMenuItem();\r
87   protected JCheckBoxMenuItem applyToAllGroups = new JCheckBoxMenuItem();\r
88   JMenuItem createJPG = new JMenuItem();\r
89   protected JMenuItem font = new JMenuItem();\r
90   public GAlignFrame()\r
91   {\r
92 \r
93 \r
94     try\r
95     {\r
96       jbInit();\r
97       setJMenuBar(alignFrameMenuBar);\r
98 \r
99       JMenuItem item;\r
100       // dynamically fill save as menu with available formats\r
101       for (int i = 0; i < jalview.io.FormatProperties.getFormats().size(); i++) {\r
102         item = new JMenuItem((String) jalview.io.FormatProperties.getFormats().elementAt(i));\r
103         saveAlignmentMenu.add( item );\r
104         item.addActionListener(new java.awt.event.ActionListener()\r
105         {\r
106           public void actionPerformed(ActionEvent e)\r
107           {\r
108             saveAs_actionPerformed(e);\r
109           }\r
110         });\r
111 \r
112         item = new JMenuItem((String) jalview.io.FormatProperties.getFormats().elementAt(i));\r
113         item.addActionListener(new java.awt.event.ActionListener()\r
114         {\r
115           public void actionPerformed(ActionEvent e)\r
116           {\r
117             outputText_actionPerformed(e);\r
118           }\r
119         });\r
120 \r
121         outputTextboxMenu.add( item );\r
122       }\r
123 \r
124     }\r
125     catch(Exception e)\r
126     {\r
127       e.printStackTrace();\r
128     }\r
129 \r
130     ButtonGroup colours = new ButtonGroup();\r
131     colours.add(noColourmenuItem);\r
132     colours.add(clustalColour);\r
133     colours.add(zappoColour);\r
134     colours.add(taylorColour);\r
135     colours.add(hydrophobicityColour);\r
136     colours.add(helixColour);\r
137     colours.add(strandColour);\r
138     colours.add(turnColour);\r
139     colours.add(buriedColour);\r
140     colours.add(userDefinedColour);\r
141     colours.add(PIDColour);\r
142     colours.add(BLOSUM62Colour);\r
143     colours.add(nucleotideColour);\r
144   }\r
145   private void jbInit() throws Exception\r
146   {\r
147     fileMenu.setMnemonic('F');\r
148     fileMenu.setText("File");\r
149     saveAlignmentMenu.setMnemonic('L');\r
150     saveAlignmentMenu.setText("Save alignment to local file");\r
151     closeMenuItem.setMnemonic('C');\r
152     closeMenuItem.setText("Close");\r
153     closeMenuItem.addActionListener(new java.awt.event.ActionListener()\r
154     {\r
155       public void actionPerformed(ActionEvent e)\r
156       {\r
157         closeMenuItem_actionPerformed(e);\r
158       }\r
159     });\r
160     editMenu.setText("Edit");\r
161     viewMenu.setText("View");\r
162     colourMenu.setText("Colour");\r
163     calculateMenu.setText("Calculate");\r
164     alignMenu.setText("Web Service");\r
165     groupsMenuItem.setVisible(false);\r
166     groupsMenuItem.setText("Groups");\r
167     groupsMenuItem.addActionListener(new java.awt.event.ActionListener()\r
168     {\r
169       public void actionPerformed(ActionEvent e)\r
170       {\r
171         groupsMenuItem_actionPerformed(e);\r
172       }\r
173     });\r
174     selectAllSequenceMenuItem.setText("Select all");\r
175     selectAllSequenceMenuItem.addActionListener(new java.awt.event.ActionListener()\r
176     {\r
177       public void actionPerformed(ActionEvent e)\r
178       {\r
179         selectAllSequenceMenuItem_actionPerformed(e);\r
180       }\r
181     });\r
182     deselectAllSequenceMenuItem.setText("Clear selection");\r
183     deselectAllSequenceMenuItem.addActionListener(new java.awt.event.ActionListener()\r
184     {\r
185       public void actionPerformed(ActionEvent e)\r
186       {\r
187         deselectAllSequenceMenuItem_actionPerformed(e);\r
188       }\r
189     });\r
190     invertSequenceMenuItem.setText("Invert sequence selection");\r
191     invertSequenceMenuItem.addActionListener(new java.awt.event.ActionListener()\r
192     {\r
193       public void actionPerformed(ActionEvent e)\r
194       {\r
195         invertSequenceMenuItem_actionPerformed(e);\r
196       }\r
197     });\r
198     deselectAllColumnsMenuItem.setText("Deselect all columns");\r
199     deselectAllColumnsMenuItem.addActionListener(new java.awt.event.ActionListener()\r
200     {\r
201       public void actionPerformed(ActionEvent e)\r
202       {\r
203         deselectAllColumnsMenuItem_actionPerformed(e);\r
204       }\r
205     });\r
206     remove2LeftMenuItem.setText("Remove sequence <- left of selected column");\r
207     remove2LeftMenuItem.addActionListener(new java.awt.event.ActionListener()\r
208     {\r
209       public void actionPerformed(ActionEvent e)\r
210       {\r
211         remove2LeftMenuItem_actionPerformed(e);\r
212       }\r
213     });\r
214     remove2RightMenuItem.setText("Remove sequence -> right of selected column");\r
215     remove2RightMenuItem.addActionListener(new java.awt.event.ActionListener()\r
216     {\r
217       public void actionPerformed(ActionEvent e)\r
218       {\r
219         remove2RightMenuItem_actionPerformed(e);\r
220       }\r
221     });\r
222     removeGappedColumnMenuItem.setText("Remove gapped columns");\r
223     removeGappedColumnMenuItem.addActionListener(new java.awt.event.ActionListener()\r
224     {\r
225       public void actionPerformed(ActionEvent e)\r
226       {\r
227         removeGappedColumnMenuItem_actionPerformed(e);\r
228       }\r
229     });\r
230     removeAllGapsMenuItem.setText("Remove all gaps");\r
231     removeAllGapsMenuItem.addActionListener(new java.awt.event.ActionListener()\r
232     {\r
233       public void actionPerformed(ActionEvent e)\r
234       {\r
235         removeAllGapsMenuItem_actionPerformed(e);\r
236       }\r
237     });\r
238     setGapCharMenuItem.setText("Set gap character to \".\"");\r
239     setGapCharMenuItem.addActionListener(new java.awt.event.ActionListener()\r
240     {\r
241       public void actionPerformed(ActionEvent e)\r
242       {\r
243         setGapCharMenuItem_actionPerformed(e);\r
244       }\r
245     });\r
246     viewBoxesMenuItem.setText("Boxes");\r
247     viewBoxesMenuItem.setState(true);\r
248     viewBoxesMenuItem.addActionListener(new java.awt.event.ActionListener()\r
249     {\r
250       public void actionPerformed(ActionEvent e)\r
251       {\r
252         viewBoxesMenuItem_actionPerformed(e);\r
253       }\r
254     });\r
255     viewTextMenuItem.setText("Text");\r
256     viewTextMenuItem.setState(true);\r
257     viewTextMenuItem.addActionListener(new java.awt.event.ActionListener()\r
258     {\r
259       public void actionPerformed(ActionEvent e)\r
260       {\r
261         viewTextMenuItem_actionPerformed(e);\r
262       }\r
263     });\r
264     sortPairwiseMenuItem.setText("Sort by pairwise identity");\r
265     sortPairwiseMenuItem.addActionListener(new java.awt.event.ActionListener()\r
266     {\r
267       public void actionPerformed(ActionEvent e)\r
268       {\r
269         sortPairwiseMenuItem_actionPerformed(e);\r
270       }\r
271     });\r
272     sortIDMenuItem.setText("Sort by ID");\r
273     sortIDMenuItem.addActionListener(new java.awt.event.ActionListener()\r
274     {\r
275       public void actionPerformed(ActionEvent e)\r
276       {\r
277         sortIDMenuItem_actionPerformed(e);\r
278       }\r
279     });\r
280     sortGroupMenuItem.setText("Sort by group");\r
281     sortGroupMenuItem.addActionListener(new java.awt.event.ActionListener()\r
282     {\r
283       public void actionPerformed(ActionEvent e)\r
284       {\r
285         sortGroupMenuItem_actionPerformed(e);\r
286       }\r
287     });\r
288     sortTreeOrderMenuItem.setText("Sort by tree order");\r
289     sortTreeOrderMenuItem.addActionListener(new java.awt.event.ActionListener()\r
290     {\r
291       public void actionPerformed(ActionEvent e)\r
292       {\r
293         sortTreeOrderMenuItem_actionPerformed(e);\r
294       }\r
295     });\r
296     removeRedundancyMenuItem.setText("Remove redundancy");\r
297     removeRedundancyMenuItem.addActionListener(new java.awt.event.ActionListener()\r
298     {\r
299       public void actionPerformed(ActionEvent e)\r
300       {\r
301         removeRedundancyMenuItem_actionPerformed(e);\r
302       }\r
303     });\r
304     pairwiseAlignmentMenuItem.setText("Pairwise alignments");\r
305     pairwiseAlignmentMenuItem.addActionListener(new java.awt.event.ActionListener()\r
306     {\r
307       public void actionPerformed(ActionEvent e)\r
308       {\r
309         pairwiseAlignmentMenuItem_actionPerformed(e);\r
310       }\r
311     });\r
312     PCAMenuItem.setText("Principal component analysis");\r
313     PCAMenuItem.addActionListener(new java.awt.event.ActionListener()\r
314     {\r
315       public void actionPerformed(ActionEvent e)\r
316       {\r
317         PCAMenuItem_actionPerformed(e);\r
318       }\r
319     });\r
320     averageDistanceTreeMenuItem.setText("Average distance tree using PID");\r
321     averageDistanceTreeMenuItem.addActionListener(new java.awt.event.ActionListener()\r
322     {\r
323       public void actionPerformed(ActionEvent e)\r
324       {\r
325         averageDistanceTreeMenuItem_actionPerformed(e);\r
326       }\r
327     });\r
328     neighbourTreeMenuItem.setText("Neighbour joining tree using PID");\r
329     neighbourTreeMenuItem.addActionListener(new java.awt.event.ActionListener()\r
330     {\r
331       public void actionPerformed(ActionEvent e)\r
332       {\r
333         neighbourTreeMenuItem_actionPerformed(e);\r
334       }\r
335     });\r
336     clustalAlignMenuItem.setText("Clustal alignment");\r
337     clustalAlignMenuItem.addActionListener(new java.awt.event.ActionListener()\r
338     {\r
339       public void actionPerformed(ActionEvent e)\r
340       {\r
341         clustalAlignMenuItem_actionPerformed(e);\r
342       }\r
343     });\r
344     this.getContentPane().setLayout(borderLayout1);\r
345     alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));\r
346     statusBar.setBackground(Color.white);\r
347     statusBar.setFont(new java.awt.Font("Verdana", 0, 11));\r
348     statusBar.setBorder(BorderFactory.createLineBorder(Color.black));\r
349     statusBar.setText("Status bar");\r
350     outputTextboxMenu.setMnemonic('T');\r
351     outputTextboxMenu.setText("Output alignment via textbox");\r
352     clustalColour.setSelected(false);\r
353     clustalColour.setText("Clustalx colours");\r
354     clustalColour.addActionListener(new java.awt.event.ActionListener()\r
355     {\r
356       public void actionPerformed(ActionEvent e)\r
357       {\r
358         clustalColour_actionPerformed(e);\r
359       }\r
360     });\r
361     zappoColour.setText("Zappo colour scheme");\r
362     zappoColour.addActionListener(new java.awt.event.ActionListener()\r
363     {\r
364       public void actionPerformed(ActionEvent e)\r
365       {\r
366         zappoColour_actionPerformed(e);\r
367       }\r
368     });\r
369     taylorColour.setText("Taylor colour scheme");\r
370     taylorColour.addActionListener(new java.awt.event.ActionListener()\r
371     {\r
372       public void actionPerformed(ActionEvent e)\r
373       {\r
374         taylorColour_actionPerformed(e);\r
375       }\r
376     });\r
377     hydrophobicityColour.setText("By hydrophobicity");\r
378     hydrophobicityColour.addActionListener(new java.awt.event.ActionListener()\r
379     {\r
380       public void actionPerformed(ActionEvent e)\r
381       {\r
382         hydrophobicityColour_actionPerformed(e);\r
383       }\r
384     });\r
385     helixColour.setText("Helix propensity");\r
386     helixColour.addActionListener(new java.awt.event.ActionListener()\r
387     {\r
388       public void actionPerformed(ActionEvent e)\r
389       {\r
390         helixColour_actionPerformed(e);\r
391       }\r
392     });\r
393     strandColour.setText("Strand propensity");\r
394     strandColour.addActionListener(new java.awt.event.ActionListener()\r
395     {\r
396       public void actionPerformed(ActionEvent e)\r
397       {\r
398         strandColour_actionPerformed(e);\r
399       }\r
400     });\r
401     turnColour.setText("Turn propensity");\r
402     turnColour.addActionListener(new java.awt.event.ActionListener()\r
403     {\r
404       public void actionPerformed(ActionEvent e)\r
405       {\r
406         turnColour_actionPerformed(e);\r
407       }\r
408     });\r
409     buriedColour.setText("Buried index");\r
410     buriedColour.addActionListener(new java.awt.event.ActionListener()\r
411     {\r
412       public void actionPerformed(ActionEvent e)\r
413       {\r
414         buriedColour_actionPerformed(e);\r
415       }\r
416     });\r
417     userDefinedColour.setText("User defined colours");\r
418     userDefinedColour.addActionListener(new java.awt.event.ActionListener()\r
419     {\r
420       public void actionPerformed(ActionEvent e)\r
421       {\r
422         userDefinedColour_actionPerformed(e);\r
423       }\r
424     });\r
425     PIDColour.setText("Percentage Identity");\r
426     PIDColour.addActionListener(new java.awt.event.ActionListener()\r
427     {\r
428       public void actionPerformed(ActionEvent e)\r
429       {\r
430         PIDColour_actionPerformed(e);\r
431       }\r
432     });\r
433     BLOSUM62Colour.setText("BLOSUM62 score");\r
434     BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener()\r
435     {\r
436       public void actionPerformed(ActionEvent e)\r
437       {\r
438         BLOSUM62Colour_actionPerformed(e);\r
439       }\r
440     });\r
441     avDistanceTreeBlosumMenuItem.setText("Average distance tree using BLOSUM62");\r
442     avDistanceTreeBlosumMenuItem.addActionListener(new java.awt.event.ActionListener()\r
443     {\r
444       public void actionPerformed(ActionEvent e)\r
445       {\r
446         avTreeBlosumMenuItem_actionPerformed(e);\r
447       }\r
448     });\r
449     njTreeBlosumMenuItem.setText("Neighbour joining tree using BLOSUM62");\r
450     njTreeBlosumMenuItem.addActionListener(new java.awt.event.ActionListener()\r
451     {\r
452       public void actionPerformed(ActionEvent e)\r
453       {\r
454         njTreeBlosumMenuItem_actionPerformed(e);\r
455       }\r
456     });\r
457     consensusGraphMenuItem.setActionCommand("");\r
458     consensusGraphMenuItem.setText("Consensus graph");\r
459     consensusGraphMenuItem.setState(true);\r
460     consensusGraphMenuItem.addActionListener(new java.awt.event.ActionListener()\r
461     {\r
462       public void actionPerformed(ActionEvent e)\r
463       {\r
464         consensusGraphMenuItem_actionPerformed(e);\r
465       }\r
466     });\r
467     colourTextMenuItem.setText("Colour text");\r
468     colourTextMenuItem.addActionListener(new java.awt.event.ActionListener()\r
469     {\r
470       public void actionPerformed(ActionEvent e)\r
471       {\r
472         colourTextMenuItem_actionPerformed(e);\r
473       }\r
474     });\r
475     htmlMenuItem.setText("Output as HTML");\r
476     htmlMenuItem.addActionListener(new java.awt.event.ActionListener()\r
477     {\r
478       public void actionPerformed(ActionEvent e)\r
479       {\r
480         htmlMenuItem_actionPerformed(e);\r
481       }\r
482     });\r
483     overviewMenuItem.setText("Overview window");\r
484     overviewMenuItem.addActionListener(new java.awt.event.ActionListener()\r
485     {\r
486       public void actionPerformed(ActionEvent e)\r
487       {\r
488         overviewMenuItem_actionPerformed(e);\r
489       }\r
490     });\r
491     undoMenuItem.setEnabled(false);\r
492     undoMenuItem.setMnemonic('Z');\r
493     undoMenuItem.setText("Undo");\r
494     undoMenuItem.addActionListener(new java.awt.event.ActionListener()\r
495     {\r
496       public void actionPerformed(ActionEvent e)\r
497       {\r
498         undoMenuItem_actionPerformed(e);\r
499       }\r
500     });\r
501     redoMenuItem.setEnabled(false);\r
502     redoMenuItem.setMnemonic('0');\r
503     redoMenuItem.setText("Redo");\r
504     redoMenuItem.addActionListener(new java.awt.event.ActionListener()\r
505     {\r
506       public void actionPerformed(ActionEvent e)\r
507       {\r
508         redoMenuItem_actionPerformed(e);\r
509       }\r
510     });\r
511     conservationMenuItem.setText("By conservation");\r
512     conservationMenuItem.addActionListener(new java.awt.event.ActionListener()\r
513     {\r
514       public void actionPerformed(ActionEvent e)\r
515       {\r
516         conservationMenuItem_actionPerformed(e);\r
517       }\r
518     });\r
519     noColourmenuItem.setText("None");\r
520     noColourmenuItem.setSelected(true);\r
521     noColourmenuItem.addActionListener(new java.awt.event.ActionListener()\r
522     {\r
523       public void actionPerformed(ActionEvent e)\r
524       {\r
525         noColourmenuItem_actionPerformed(e);\r
526       }\r
527     });\r
528     wrapMenuItem.setText("Wrap alignment");\r
529     wrapMenuItem.addActionListener(new java.awt.event.ActionListener()\r
530     {\r
531       public void actionPerformed(ActionEvent e)\r
532       {\r
533         wrapMenuItem_actionPerformed(e);\r
534       }\r
535     });\r
536     printMenuItem.setText("Print");\r
537     printMenuItem.addActionListener(new java.awt.event.ActionListener()\r
538     {\r
539       public void actionPerformed(ActionEvent e)\r
540       {\r
541         printMenuItem_actionPerformed(e);\r
542       }\r
543     });\r
544     renderGapsMenuItem.setText("Render gaps");\r
545     renderGapsMenuItem.setState(true);\r
546     renderGapsMenuItem.addActionListener(new java.awt.event.ActionListener()\r
547     {\r
548       public void actionPerformed(ActionEvent e)\r
549       {\r
550         renderGapsMenuItem_actionPerformed(e);\r
551       }\r
552     });\r
553     findMenuItem.setText("Find");\r
554     findMenuItem.addActionListener(new java.awt.event.ActionListener()\r
555     {\r
556       public void actionPerformed(ActionEvent e)\r
557       {\r
558         findMenuItem_actionPerformed(e);\r
559       }\r
560     });\r
561     searchMenu.setText("Search");\r
562 \r
563     abovePIDThreshold.setText("Above PID threshold");\r
564     abovePIDThreshold.addActionListener(new java.awt.event.ActionListener() {\r
565       public void actionPerformed(ActionEvent e) {\r
566         abovePIDThreshold_actionPerformed(e);\r
567       }\r
568     });\r
569     sequenceFeatures.setText("Sequence Features");\r
570     sequenceFeatures.addActionListener(new ActionListener()\r
571     {\r
572       public void actionPerformed(ActionEvent actionEvent)\r
573       {\r
574         sequenceFeatures_actionPerformed(actionEvent);\r
575       }\r
576     });\r
577     nucleotideColour.setText("Nucleotide colours");\r
578     nucleotideColour.addActionListener(new java.awt.event.ActionListener()\r
579     {\r
580       public void actionPerformed(ActionEvent e)\r
581       {\r
582         nucleotideColour_actionPerformed(e);\r
583       }\r
584     });\r
585     deleteGroups.setSelected(false);\r
586     deleteGroups.setText("Delete all groups");\r
587     deleteGroups.addActionListener(new java.awt.event.ActionListener()\r
588     {\r
589       public void actionPerformed(ActionEvent e)\r
590       {\r
591         deleteGroups_actionPerformed(e);\r
592       }\r
593     });\r
594     copy.setText("Copy");\r
595     copy.setMnemonic(KeyEvent.VK_C);\r
596 \r
597     copy.addActionListener(new java.awt.event.ActionListener()\r
598     {\r
599       public void actionPerformed(ActionEvent e)\r
600       {\r
601         copy_actionPerformed(e);\r
602       }\r
603     });\r
604     cut.setText("Cut");\r
605     cut.setMnemonic(KeyEvent.VK_X);\r
606     cut.addActionListener(new java.awt.event.ActionListener()\r
607     {\r
608       public void actionPerformed(ActionEvent e)\r
609       {\r
610         cut_actionPerformed(e);\r
611       }\r
612     });\r
613     delete.setText("Delete");\r
614     delete.addActionListener(new java.awt.event.ActionListener()\r
615     {\r
616       public void actionPerformed(ActionEvent e)\r
617       {\r
618         delete_actionPerformed(e);\r
619       }\r
620     });\r
621     jMenu1.setMnemonic('V');\r
622     jMenu1.setText("Paste");\r
623     pasteNew.setText("to new alignment");\r
624     pasteNew.addActionListener(new java.awt.event.ActionListener()\r
625     {\r
626       public void actionPerformed(ActionEvent e)\r
627       {\r
628         pasteNew_actionPerformed(e);\r
629       }\r
630     });\r
631     pasteThis.setText("add to this alignment");\r
632     pasteThis.addActionListener(new java.awt.event.ActionListener()\r
633     {\r
634       public void actionPerformed(ActionEvent e)\r
635       {\r
636         pasteThis_actionPerformed(e);\r
637       }\r
638     });\r
639     applyToAllGroups.setText("Apply colour to all groups");\r
640     applyToAllGroups.setState(true);\r
641     applyToAllGroups.addActionListener(new java.awt.event.ActionListener()\r
642     {\r
643       public void actionPerformed(ActionEvent e)\r
644       {\r
645         applyToAllGroups_actionPerformed(e);\r
646       }\r
647     });\r
648     createJPG.addActionListener(new java.awt.event.ActionListener()\r
649     {\r
650       public void actionPerformed(ActionEvent e)\r
651       {\r
652         createJPG_actionPerformed(e);\r
653       }\r
654     });\r
655     createJPG.setText("Save as JPG Image");\r
656     font.setText("Change Font");\r
657     font.addActionListener(new java.awt.event.ActionListener()\r
658     {\r
659       public void actionPerformed(ActionEvent e)\r
660       {\r
661         font_actionPerformed(e);\r
662       }\r
663     });\r
664     alignFrameMenuBar.add(fileMenu);\r
665     alignFrameMenuBar.add(editMenu);\r
666     alignFrameMenuBar.add(searchMenu);\r
667     alignFrameMenuBar.add(viewMenu);\r
668     alignFrameMenuBar.add(colourMenu);\r
669     alignFrameMenuBar.add(calculateMenu);\r
670     alignFrameMenuBar.add(alignMenu);\r
671     fileMenu.add(saveAlignmentMenu);\r
672     fileMenu.add(outputTextboxMenu);\r
673     fileMenu.add(htmlMenuItem);\r
674     fileMenu.add(createJPG);\r
675     fileMenu.add(printMenuItem);\r
676     fileMenu.addSeparator();\r
677     fileMenu.add(closeMenuItem);\r
678     editMenu.add(copy);\r
679     editMenu.add(jMenu1);\r
680     editMenu.add(cut);\r
681     editMenu.add(delete);\r
682     editMenu.addSeparator();\r
683     editMenu.add(undoMenuItem);\r
684     editMenu.add(redoMenuItem);\r
685     editMenu.addSeparator();\r
686     editMenu.add(deselectAllSequenceMenuItem);\r
687     editMenu.add(selectAllSequenceMenuItem);\r
688     editMenu.add(invertSequenceMenuItem);\r
689     editMenu.add(deleteGroups);\r
690     editMenu.add(groupsMenuItem);\r
691     editMenu.addSeparator();\r
692     editMenu.add(deselectAllColumnsMenuItem);\r
693     editMenu.add(remove2LeftMenuItem);\r
694     editMenu.add(remove2RightMenuItem);\r
695     editMenu.addSeparator();\r
696     editMenu.add(removeGappedColumnMenuItem);\r
697     editMenu.add(removeAllGapsMenuItem);\r
698     editMenu.add(setGapCharMenuItem);\r
699     searchMenu.add(findMenuItem);\r
700     viewMenu.add(font);\r
701     viewMenu.add(wrapMenuItem);\r
702     viewMenu.add(viewBoxesMenuItem);\r
703     viewMenu.add(viewTextMenuItem);\r
704     viewMenu.add(colourTextMenuItem);\r
705     viewMenu.add(renderGapsMenuItem);\r
706     viewMenu.add(consensusGraphMenuItem);\r
707     viewMenu.add(overviewMenuItem);\r
708     viewMenu.add(sequenceFeatures);\r
709     colourMenu.add(applyToAllGroups);\r
710     colourMenu.add(noColourmenuItem);\r
711     colourMenu.add(clustalColour);\r
712     colourMenu.add(zappoColour);\r
713     colourMenu.add(taylorColour);\r
714     colourMenu.add(hydrophobicityColour);\r
715     colourMenu.add(helixColour);\r
716     colourMenu.add(strandColour);\r
717     colourMenu.add(turnColour);\r
718     colourMenu.add(buriedColour);\r
719     colourMenu.add(nucleotideColour);\r
720     colourMenu.add(userDefinedColour);\r
721     colourMenu.add(PIDColour);\r
722     colourMenu.add(BLOSUM62Colour);\r
723     colourMenu.addSeparator();\r
724     colourMenu.add(abovePIDThreshold);\r
725     colourMenu.add(conservationMenuItem);\r
726     calculateMenu.add(sortPairwiseMenuItem);\r
727     calculateMenu.add(sortIDMenuItem);\r
728     calculateMenu.add(sortGroupMenuItem);\r
729     calculateMenu.add(sortTreeOrderMenuItem);\r
730     calculateMenu.add(removeRedundancyMenuItem);\r
731     calculateMenu.addSeparator();\r
732     calculateMenu.add(pairwiseAlignmentMenuItem);\r
733     calculateMenu.add(PCAMenuItem);\r
734     calculateMenu.addSeparator();\r
735     calculateMenu.add(averageDistanceTreeMenuItem);\r
736     calculateMenu.add(neighbourTreeMenuItem);\r
737     calculateMenu.add(avDistanceTreeBlosumMenuItem);\r
738     calculateMenu.add(njTreeBlosumMenuItem);\r
739     alignMenu.add(clustalAlignMenuItem);\r
740     this.getContentPane().add(statusBar, BorderLayout.SOUTH);\r
741     jMenu1.add(pasteNew);\r
742     jMenu1.add(pasteThis);\r
743   }\r
744 \r
745   protected void saveAs_actionPerformed(ActionEvent e)\r
746   {\r
747 \r
748   }\r
749 \r
750   protected void outputText_actionPerformed(ActionEvent e)\r
751   {\r
752 \r
753   }\r
754 \r
755   protected void htmlMenuItem_actionPerformed(ActionEvent e)\r
756   {\r
757 \r
758   }\r
759 \r
760 \r
761 \r
762 \r
763 \r
764   protected void closeMenuItem_actionPerformed(ActionEvent e)\r
765   {\r
766 \r
767   }\r
768 \r
769   protected void redoMenuItem_actionPerformed(ActionEvent e)\r
770   {\r
771 \r
772   }\r
773 \r
774   protected void undoMenuItem_actionPerformed(ActionEvent e)\r
775   {\r
776 \r
777   }\r
778 \r
779 \r
780   protected void groupsMenuItem_actionPerformed(ActionEvent e)\r
781   {\r
782 \r
783   }\r
784 \r
785 \r
786   protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
787   {\r
788 \r
789   }\r
790 \r
791   protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
792   {\r
793 \r
794   }\r
795 \r
796   protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)\r
797   {\r
798 \r
799   }\r
800 \r
801 \r
802   protected void deselectAllColumnsMenuItem_actionPerformed(ActionEvent e)\r
803   {\r
804 \r
805   }\r
806 \r
807   protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)\r
808   {\r
809 \r
810   }\r
811 \r
812   protected void remove2RightMenuItem_actionPerformed(ActionEvent e)\r
813   {\r
814 \r
815   }\r
816 \r
817   protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)\r
818   {\r
819 \r
820   }\r
821 \r
822   protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)\r
823   {\r
824 \r
825   }\r
826 \r
827   protected void setGapCharMenuItem_actionPerformed(ActionEvent e)\r
828   {\r
829 \r
830   }\r
831 \r
832 \r
833 \r
834 \r
835 \r
836   protected void wrapMenuItem_actionPerformed(ActionEvent e)\r
837   {\r
838 \r
839   }\r
840 \r
841 \r
842   protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)\r
843   {\r
844 \r
845   }\r
846 \r
847   protected void viewTextMenuItem_actionPerformed(ActionEvent e)\r
848   {\r
849 \r
850   }\r
851 \r
852 \r
853   protected void colourTextMenuItem_actionPerformed(ActionEvent e)\r
854   {\r
855 \r
856   }\r
857 \r
858 \r
859 \r
860   protected void consensusGraphMenuItem_actionPerformed(ActionEvent e)\r
861   {\r
862 \r
863   }\r
864 \r
865   protected void overviewMenuItem_actionPerformed(ActionEvent e)\r
866   {\r
867 \r
868   }\r
869 \r
870   protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)\r
871   {\r
872 \r
873   }\r
874 \r
875   protected void sortIDMenuItem_actionPerformed(ActionEvent e)\r
876   {\r
877 \r
878   }\r
879 \r
880   protected void sortGroupMenuItem_actionPerformed(ActionEvent e)\r
881   {\r
882 \r
883   }\r
884 \r
885   protected void sortTreeOrderMenuItem_actionPerformed(ActionEvent e)\r
886   {\r
887 \r
888   }\r
889 \r
890   protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)\r
891   {\r
892 \r
893   }\r
894 \r
895   protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)\r
896   {\r
897 \r
898   }\r
899 \r
900   protected void PCAMenuItem_actionPerformed(ActionEvent e)\r
901   {\r
902 \r
903   }\r
904 \r
905   protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)\r
906   {\r
907 \r
908   }\r
909 \r
910   protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)\r
911   {\r
912 \r
913   }\r
914 \r
915 \r
916   protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
917   {\r
918 \r
919   }\r
920 \r
921   protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
922   {\r
923 \r
924   }\r
925 \r
926 \r
927 \r
928   protected void clustalAlignMenuItem_actionPerformed(ActionEvent e)\r
929   {\r
930 \r
931   }\r
932 \r
933 \r
934 \r
935 \r
936   protected void clustalColour_actionPerformed(ActionEvent e)\r
937   {\r
938 \r
939   }\r
940 \r
941   protected void zappoColour_actionPerformed(ActionEvent e)\r
942   {\r
943 \r
944   }\r
945 \r
946   protected void taylorColour_actionPerformed(ActionEvent e)\r
947   {\r
948 \r
949   }\r
950 \r
951 \r
952   protected void hydrophobicityColour_actionPerformed(ActionEvent e)\r
953   {\r
954 \r
955   }\r
956 \r
957   protected void helixColour_actionPerformed(ActionEvent e)\r
958   {\r
959 \r
960   }\r
961 \r
962   protected void strandColour_actionPerformed(ActionEvent e)\r
963   {\r
964 \r
965   }\r
966 \r
967   protected void turnColour_actionPerformed(ActionEvent e)\r
968   {\r
969 \r
970   }\r
971 \r
972   protected void buriedColour_actionPerformed(ActionEvent e)\r
973   {\r
974 \r
975   }\r
976 \r
977 \r
978 \r
979   protected void userDefinedColour_actionPerformed(ActionEvent e)\r
980   {\r
981 \r
982   }\r
983 \r
984   protected void PIDColour_actionPerformed(ActionEvent e)\r
985   {\r
986 \r
987   }\r
988 \r
989   protected void BLOSUM62Colour_actionPerformed(ActionEvent e)\r
990   {\r
991 \r
992   }\r
993 \r
994 \r
995   protected void noColourmenuItem_actionPerformed(ActionEvent e)\r
996   {\r
997 \r
998   }\r
999 \r
1000   protected  void conservationMenuItem_actionPerformed(ActionEvent e)\r
1001   {\r
1002 \r
1003   }\r
1004 \r
1005 \r
1006   protected void printMenuItem_actionPerformed(ActionEvent e)\r
1007   {\r
1008 \r
1009   }\r
1010 \r
1011   protected void renderGapsMenuItem_actionPerformed(ActionEvent e)\r
1012   {\r
1013 \r
1014   }\r
1015 \r
1016   protected void findMenuItem_actionPerformed(ActionEvent e)\r
1017   {\r
1018 \r
1019   }\r
1020 \r
1021 \r
1022   protected void abovePIDThreshold_actionPerformed(ActionEvent e) {\r
1023 \r
1024   }\r
1025 \r
1026   public void sequenceFeatures_actionPerformed(ActionEvent actionEvent)\r
1027   {\r
1028 \r
1029   }\r
1030 \r
1031   protected void nucleotideColour_actionPerformed(ActionEvent e)\r
1032   {\r
1033 \r
1034   }\r
1035 \r
1036   protected void deleteGroups_actionPerformed(ActionEvent e)\r
1037   {\r
1038 \r
1039   }\r
1040 \r
1041  protected void copy_actionPerformed(ActionEvent e)\r
1042   {\r
1043 \r
1044   }\r
1045 \r
1046 \r
1047   protected void cut_actionPerformed(ActionEvent e)\r
1048   {\r
1049 \r
1050   }\r
1051 \r
1052   protected void delete_actionPerformed(ActionEvent e)\r
1053   {\r
1054 \r
1055   }\r
1056 \r
1057   protected void pasteNew_actionPerformed(ActionEvent e)\r
1058   {\r
1059 \r
1060   }\r
1061 \r
1062   protected void pasteThis_actionPerformed(ActionEvent e)\r
1063   {\r
1064 \r
1065   }\r
1066 \r
1067   protected void applyToAllGroups_actionPerformed(ActionEvent e)\r
1068   {\r
1069 \r
1070   }\r
1071 \r
1072   protected void createJPG_actionPerformed(ActionEvent e)\r
1073   {\r
1074 \r
1075   }\r
1076 \r
1077   protected void font_actionPerformed(ActionEvent e)\r
1078   {\r
1079 \r
1080   }\r
1081 \r
1082 \r
1083 \r
1084 }\r