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