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