4dcd0db1b641573b1a1a1580a7e4a122fae87325
[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.CTRL_MASK | 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.setState(true);\r
831     applyToAllGroups.addActionListener(new java.awt.event.ActionListener()\r
832     {\r
833       public void actionPerformed(ActionEvent e)\r
834       {\r
835         applyToAllGroups_actionPerformed(e);\r
836       }\r
837     });\r
838     createPNG.addActionListener(new java.awt.event.ActionListener()\r
839     {\r
840       public void actionPerformed(ActionEvent e)\r
841       {\r
842         createPNG(null);\r
843       }\r
844     });\r
845     createPNG.setActionCommand("Save As PNG Image");\r
846     createPNG.setText("PNG");\r
847     font.setText("Font...");\r
848     font.addActionListener(new java.awt.event.ActionListener()\r
849     {\r
850       public void actionPerformed(ActionEvent e)\r
851       {\r
852         font_actionPerformed(e);\r
853       }\r
854     });\r
855 \r
856     seqLimits.setText("Show Sequence Limits");\r
857     seqLimits.setState( jalview.bin.Cache.getDefault("SHOW_JVSUFFIX",true));\r
858     seqLimits.addActionListener(new java.awt.event.ActionListener()\r
859     {\r
860       public void actionPerformed(ActionEvent e)\r
861       {\r
862         seqLimit_actionPerformed(e);\r
863       }\r
864     });\r
865     epsFile.setText("EPS");\r
866     epsFile.addActionListener(new java.awt.event.ActionListener()\r
867     {\r
868       public void actionPerformed(ActionEvent e)\r
869       {\r
870         createEPS(null);\r
871       }\r
872     });\r
873     LoadtreeMenuItem.setActionCommand("Load a tree for this sequence set");\r
874     LoadtreeMenuItem.setText("Load Associated Tree");\r
875     LoadtreeMenuItem.addActionListener(new java.awt.event.ActionListener()\r
876     {\r
877       public void actionPerformed(ActionEvent e)\r
878       {\r
879         LoadtreeMenuItem_actionPerformed(e);\r
880       }\r
881     });\r
882     scaleAbove.setVisible(false);\r
883     scaleAbove.setText("Scale Above");\r
884     scaleAbove.addActionListener(new java.awt.event.ActionListener()\r
885     {\r
886       public void actionPerformed(ActionEvent e)\r
887       {\r
888         scaleAbove_actionPerformed(e);\r
889       }\r
890     });\r
891     scaleLeft.setVisible(false);\r
892     scaleLeft.setSelected(true);\r
893     scaleLeft.setText("Scale Left");\r
894     scaleLeft.addActionListener(new java.awt.event.ActionListener()\r
895     {\r
896       public void actionPerformed(ActionEvent e)\r
897       {\r
898         scaleLeft_actionPerformed(e);\r
899       }\r
900     });\r
901     scaleRight.setVisible(false);\r
902     scaleRight.setSelected(true);\r
903     scaleRight.setText("Scale Right");\r
904     scaleRight.addActionListener(new java.awt.event.ActionListener()\r
905     {\r
906       public void actionPerformed(ActionEvent e)\r
907       {\r
908         scaleRight_actionPerformed(e);\r
909       }\r
910     });\r
911     modifyPID.setText("Modify Identity Threshold...");\r
912     modifyPID.addActionListener(new java.awt.event.ActionListener()\r
913     {\r
914       public void actionPerformed(ActionEvent e)\r
915       {\r
916         modifyPID_actionPerformed(e);\r
917       }\r
918     });\r
919     modifyConservation.setText("Modify Conservation Threshold...");\r
920     modifyConservation.addActionListener(new java.awt.event.ActionListener()\r
921     {\r
922       public void actionPerformed(ActionEvent e)\r
923       {\r
924         modifyConservation_actionPerformed(e);\r
925       }\r
926     });\r
927     sortByTreeMenu.setText("By Tree Order");\r
928     sort.setText("Sort");\r
929     calculate.setText("Calculate Tree");\r
930 \r
931     jMenu2.setText("Export");\r
932     padGapsMenuitem.setText("Pad Gaps");\r
933     padGapsMenuitem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.\r
934         event.KeyEvent.VK_P, java.awt.event.KeyEvent.CTRL_MASK, false));\r
935     padGapsMenuitem.setState( jalview.bin.Cache.getDefault("PAD_GAPS", false));\r
936     padGapsMenuitem.addActionListener(new ActionListener()\r
937     {\r
938       public void actionPerformed(ActionEvent e)\r
939       {\r
940         padGapsMenuitem_actionPerformed(e);\r
941       }\r
942     });\r
943     vamsasStore.setVisible(false);\r
944     vamsasStore.setText("VAMSAS store");\r
945     vamsasStore.addActionListener(new ActionListener()\r
946     {\r
947       public void actionPerformed(ActionEvent e)\r
948       {\r
949         vamsasStore_actionPerformed(e);\r
950       }\r
951     });\r
952     showTranslation.setText("Translate cDNA");\r
953     showTranslation.addActionListener(new ActionListener()\r
954     {\r
955       public void actionPerformed(ActionEvent e)\r
956       {\r
957         showTranslation_actionPerformed(e);\r
958       }\r
959     });\r
960 \r
961    /* tabbedPane.addChangeListener(new ChangeListener()\r
962         {\r
963           public void stateChanged(ChangeEvent ece)\r
964           {\r
965 \r
966             tabSelected();\r
967           }\r
968         });*/\r
969     featureSettings.setText("Feature Settings...");\r
970     featureSettings.addActionListener(new ActionListener()\r
971     {\r
972       public void actionPerformed(ActionEvent e)\r
973       {\r
974         featureSettings_actionPerformed(e);\r
975       }\r
976     });\r
977     fetchSequence.setText("Fetch Sequence(s)...");\r
978     fetchSequence.addActionListener(new ActionListener()\r
979     {\r
980       public void actionPerformed(ActionEvent e)\r
981       {\r
982         fetchSequence_actionPerformed(e);\r
983       }\r
984     });\r
985     smoothFont.setText("Smooth Fonts");\r
986     smoothFont.addActionListener(new ActionListener()\r
987     {\r
988       public void actionPerformed(ActionEvent e)\r
989       {\r
990         smoothFont_actionPerformed(e);\r
991       }\r
992     });\r
993     smoothFont.setState( jalview.bin.Cache.getDefault("ANTI_ALIAS",false));\r
994     annotationColour.setText("By Annotation...");\r
995     annotationColour.addActionListener(new ActionListener()\r
996     {\r
997       public void actionPerformed(ActionEvent e)\r
998       {\r
999         annotationColour_actionPerformed(e);\r
1000       }\r
1001     });\r
1002     associatedData.setText("Load Features / Annotations");\r
1003     associatedData.addActionListener(new ActionListener()\r
1004     {\r
1005       public void actionPerformed(ActionEvent e)\r
1006       {\r
1007         associatedData_actionPerformed(e);\r
1008       }\r
1009     });\r
1010     autoCalculate.setText("Autocalculate Consensus");\r
1011     autoCalculate.setState( jalview.bin.Cache.getDefault("AUTO_CALC_CONSENSUS", true));\r
1012     autoCalculate.addActionListener(new ActionListener()\r
1013     {\r
1014       public void actionPerformed(ActionEvent e)\r
1015       {\r
1016         autoCalculate_actionPerformed(e);\r
1017       }\r
1018     });\r
1019     addSequenceMenu.setText("Add Sequences");\r
1020     addFromFile.setText("From File");\r
1021     addFromFile.addActionListener(new ActionListener()\r
1022     {\r
1023       public void actionPerformed(ActionEvent e)\r
1024       {\r
1025         addFromFile_actionPerformed(e);\r
1026       }\r
1027     });\r
1028     addFromText.setText("From Textbox");\r
1029     addFromText.addActionListener(new ActionListener()\r
1030     {\r
1031       public void actionPerformed(ActionEvent e)\r
1032       {\r
1033         addFromText_actionPerformed(e);\r
1034       }\r
1035     });\r
1036     addFromURL.setText("From URL");\r
1037     addFromURL.addActionListener(new ActionListener()\r
1038     {\r
1039       public void actionPerformed(ActionEvent e)\r
1040       {\r
1041         addFromURL_actionPerformed(e);\r
1042       }\r
1043     });\r
1044     exportFeatures.setText("Export Features...");\r
1045     exportFeatures.addActionListener(new ActionListener()\r
1046     {\r
1047       public void actionPerformed(ActionEvent e)\r
1048       {\r
1049         exportFeatures_actionPerformed(e);\r
1050       }\r
1051     });\r
1052     exportAnnotations.setText("Export Annotations...");\r
1053     exportAnnotations.addActionListener(new ActionListener()\r
1054     {\r
1055       public void actionPerformed(ActionEvent e)\r
1056       {\r
1057         exportAnnotations_actionPerformed(e);\r
1058       }\r
1059     });\r
1060     statusPanel.setLayout(gridLayout1);\r
1061     jMenu3.setText("Show");\r
1062     showAllSeqs.setText("All Sequences");\r
1063     showAllSeqs.addActionListener(new ActionListener()\r
1064     {\r
1065       public void actionPerformed(ActionEvent e)\r
1066       {\r
1067         showAllSeqs_actionPerformed(e);\r
1068       }\r
1069     });\r
1070     showAllColumns.setText("All Columns");\r
1071     showAllColumns.addActionListener(new ActionListener()\r
1072     {\r
1073       public void actionPerformed(ActionEvent e)\r
1074       {\r
1075         showAllColumns_actionPerformed(e);\r
1076       }\r
1077     });\r
1078     hideMenu.setText("Hide");\r
1079     hideSelSequences.setText("Selected Sequences");\r
1080     hideSelSequences.addActionListener(new ActionListener()\r
1081     {\r
1082       public void actionPerformed(ActionEvent e)\r
1083       {\r
1084         hideSelSequences_actionPerformed(e);\r
1085       }\r
1086     });\r
1087     hideSelColumns.setText("Selected Columns");\r
1088     hideSelColumns.addActionListener(new ActionListener()\r
1089     {\r
1090       public void actionPerformed(ActionEvent e)\r
1091       {\r
1092         hideSelColumns_actionPerformed(e);\r
1093       }\r
1094     });\r
1095     hiddenMarkers.setText("Hidden Markers");\r
1096     hiddenMarkers.setState(true);\r
1097     hiddenMarkers.addActionListener(new ActionListener()\r
1098     {\r
1099       public void actionPerformed(ActionEvent e)\r
1100       {\r
1101         hiddenMarkers_actionPerformed(e);\r
1102       }\r
1103     });\r
1104     invertColSel.setText("Invert Column Selection");\r
1105     invertColSel.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.\r
1106         event.KeyEvent.VK_I, java.awt.event.KeyEvent.CTRL_MASK, false));\r
1107     invertColSel.addActionListener(new ActionListener()\r
1108     {\r
1109       public void actionPerformed(ActionEvent e)\r
1110       {\r
1111         invertColSel_actionPerformed(e);\r
1112       }\r
1113     });\r
1114     tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()\r
1115     {\r
1116         public void stateChanged(ChangeEvent evt)\r
1117         {\r
1118             JTabbedPane pane = (JTabbedPane)evt.getSource();\r
1119             int sel = pane.getSelectedIndex();\r
1120             tabSelectionChanged(sel);\r
1121         }\r
1122     });\r
1123     tabbedPane.addMouseListener(new MouseAdapter()\r
1124     {\r
1125       public void mousePressed(MouseEvent e)\r
1126       {\r
1127         tabbedPane_mousePressed(e);\r
1128       }\r
1129     });\r
1130     tabbedPane.addFocusListener(new FocusAdapter()\r
1131     {\r
1132       public void focusGained(FocusEvent e)\r
1133       {\r
1134         tabbedPane_focusGained(e);\r
1135       }\r
1136     });\r
1137 \r
1138     alignFrameMenuBar.add(fileMenu);\r
1139     alignFrameMenuBar.add(editMenu);\r
1140     alignFrameMenuBar.add(searchMenu);\r
1141     alignFrameMenuBar.add(viewMenu);\r
1142     alignFrameMenuBar.add(colourMenu);\r
1143     alignFrameMenuBar.add(calculateMenu);\r
1144     alignFrameMenuBar.add(webService);\r
1145     fileMenu.add(addSequenceMenu);\r
1146     fileMenu.add(fetchSequence);\r
1147     fileMenu.addSeparator();\r
1148     fileMenu.add(vamsasStore);\r
1149     fileMenu.add(saveAlignmentMenu);\r
1150     fileMenu.add(jMenu2);\r
1151     fileMenu.add(outputTextboxMenu);\r
1152     fileMenu.add(printMenuItem);\r
1153     fileMenu.addSeparator();\r
1154     fileMenu.add(exportFeatures);\r
1155     fileMenu.add(exportAnnotations);\r
1156     fileMenu.add(LoadtreeMenuItem);\r
1157     fileMenu.add(associatedData);\r
1158     fileMenu.addSeparator();\r
1159     fileMenu.add(closeMenuItem);\r
1160     editMenu.add(undoMenuItem);\r
1161     editMenu.add(redoMenuItem);\r
1162     editMenu.add(cut);\r
1163     editMenu.add(copy);\r
1164     editMenu.add(jMenu1);\r
1165     editMenu.add(delete);\r
1166     editMenu.addSeparator();\r
1167     editMenu.add(selectAllSequenceMenuItem);\r
1168     editMenu.add(deselectAllSequenceMenuItem);\r
1169     editMenu.add(invertSequenceMenuItem);\r
1170     editMenu.add(invertColSel);\r
1171     editMenu.add(deleteGroups);\r
1172     editMenu.addSeparator();\r
1173     editMenu.add(remove2LeftMenuItem);\r
1174     editMenu.add(remove2RightMenuItem);\r
1175     editMenu.add(removeGappedColumnMenuItem);\r
1176     editMenu.add(removeAllGapsMenuItem);\r
1177     editMenu.add(removeRedundancyMenuItem);\r
1178     editMenu.addSeparator();\r
1179     editMenu.add(padGapsMenuitem);\r
1180     searchMenu.add(findMenuItem);\r
1181     viewMenu.add(font);\r
1182     viewMenu.add(smoothFont);\r
1183     viewMenu.addSeparator();\r
1184     viewMenu.add(jMenu3);\r
1185     viewMenu.add(hideMenu);\r
1186     viewMenu.add(hiddenMarkers);\r
1187     viewMenu.addSeparator();\r
1188     viewMenu.add(wrapMenuItem);\r
1189     viewMenu.add(seqLimits);\r
1190     viewMenu.add(scaleAbove);\r
1191     viewMenu.add(scaleLeft);\r
1192     viewMenu.add(scaleRight);\r
1193     viewMenu.add(viewBoxesMenuItem);\r
1194     viewMenu.add(viewTextMenuItem);\r
1195     viewMenu.add(colourTextMenuItem);\r
1196     viewMenu.add(renderGapsMenuItem);\r
1197     viewMenu.add(annotationPanelMenuItem);\r
1198     viewMenu.addSeparator();\r
1199     viewMenu.add(showSeqFeatures);\r
1200     viewMenu.add(featureSettings);\r
1201     viewMenu.addSeparator();\r
1202     viewMenu.add(overviewMenuItem);\r
1203     colourMenu.add(applyToAllGroups);\r
1204     colourMenu.addSeparator();\r
1205     colourMenu.add(noColourmenuItem);\r
1206     colourMenu.add(clustalColour);\r
1207     colourMenu.add(BLOSUM62Colour);\r
1208     colourMenu.add(PIDColour);\r
1209     colourMenu.add(zappoColour);\r
1210     colourMenu.add(taylorColour);\r
1211     colourMenu.add(hydrophobicityColour);\r
1212     colourMenu.add(helixColour);\r
1213     colourMenu.add(strandColour);\r
1214     colourMenu.add(turnColour);\r
1215     colourMenu.add(buriedColour);\r
1216     colourMenu.add(nucleotideColour);\r
1217     colourMenu.add(userDefinedColour);\r
1218     colourMenu.addSeparator();\r
1219     colourMenu.add(conservationMenuItem);\r
1220     colourMenu.add(modifyConservation);\r
1221     colourMenu.add(abovePIDThreshold);\r
1222     colourMenu.add(modifyPID);\r
1223     colourMenu.add(annotationColour);\r
1224     calculateMenu.add(sort);\r
1225     calculateMenu.add(calculate);\r
1226     calculateMenu.addSeparator();\r
1227     calculateMenu.add(pairwiseAlignmentMenuItem);\r
1228     calculateMenu.add(PCAMenuItem);\r
1229     calculateMenu.addSeparator();\r
1230     calculateMenu.add(showTranslation);\r
1231     calculateMenu.add(autoCalculate);\r
1232     webServiceNoServices=new JMenuItem("<No Services>");\r
1233     webService.add(webServiceNoServices);jMenu1.add(pasteNew);\r
1234     jMenu1.add(pasteThis);\r
1235     sort.add(sortIDMenuItem);\r
1236     sort.add(sortGroupMenuItem);\r
1237     sort.add(sortPairwiseMenuItem);\r
1238     calculate.add(averageDistanceTreeMenuItem);\r
1239     calculate.add(neighbourTreeMenuItem);\r
1240     calculate.add(avDistanceTreeBlosumMenuItem);\r
1241     calculate.add(njTreeBlosumMenuItem);\r
1242     jMenu2.add(htmlMenuItem);\r
1243     jMenu2.add(epsFile);\r
1244     jMenu2.add(createPNG);\r
1245     addSequenceMenu.add(addFromFile);\r
1246     addSequenceMenu.add(addFromText);\r
1247     addSequenceMenu.add(addFromURL);\r
1248     this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);\r
1249     statusPanel.add(statusBar, null);\r
1250     this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);\r
1251     jMenu3.add(showAllColumns);\r
1252     jMenu3.add(showAllSeqs);\r
1253     hideMenu.add(hideSelColumns);\r
1254     hideMenu.add(hideSelSequences);\r
1255   }\r
1256 \r
1257   protected void outputText_actionPerformed(ActionEvent e)\r
1258   {\r
1259   }\r
1260 \r
1261   public void addFromFile_actionPerformed(ActionEvent e)\r
1262   {\r
1263 \r
1264   }\r
1265 \r
1266   public void addFromText_actionPerformed(ActionEvent e)\r
1267   {\r
1268 \r
1269   }\r
1270 \r
1271   public void addFromURL_actionPerformed(ActionEvent e)\r
1272   {\r
1273 \r
1274   }\r
1275 \r
1276   public void exportFeatures_actionPerformed(ActionEvent e)\r
1277   {\r
1278 \r
1279   }\r
1280 \r
1281   public void exportAnnotations_actionPerformed(ActionEvent e)\r
1282   {\r
1283 \r
1284   }\r
1285 \r
1286   protected void htmlMenuItem_actionPerformed(ActionEvent e)\r
1287   {\r
1288   }\r
1289 \r
1290   protected void closeMenuItem_actionPerformed(ActionEvent e)\r
1291   {\r
1292   }\r
1293 \r
1294   protected void redoMenuItem_actionPerformed(ActionEvent e)\r
1295   {\r
1296   }\r
1297 \r
1298   protected void undoMenuItem_actionPerformed(ActionEvent e)\r
1299   {\r
1300   }\r
1301 \r
1302   protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
1303   {\r
1304   }\r
1305 \r
1306   protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
1307   {\r
1308   }\r
1309 \r
1310   protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)\r
1311   {\r
1312   }\r
1313 \r
1314   protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)\r
1315   {\r
1316   }\r
1317 \r
1318   protected void remove2RightMenuItem_actionPerformed(ActionEvent e)\r
1319   {\r
1320   }\r
1321 \r
1322   protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)\r
1323   {\r
1324   }\r
1325 \r
1326   protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)\r
1327   {\r
1328   }\r
1329 \r
1330   protected void wrapMenuItem_actionPerformed(ActionEvent e)\r
1331   {\r
1332   }\r
1333 \r
1334   protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)\r
1335   {\r
1336   }\r
1337 \r
1338   protected void viewTextMenuItem_actionPerformed(ActionEvent e)\r
1339   {\r
1340   }\r
1341 \r
1342   protected void colourTextMenuItem_actionPerformed(ActionEvent e)\r
1343   {\r
1344   }\r
1345 \r
1346   protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)\r
1347   {\r
1348   }\r
1349 \r
1350   protected void overviewMenuItem_actionPerformed(ActionEvent e)\r
1351   {\r
1352   }\r
1353 \r
1354   protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)\r
1355   {\r
1356   }\r
1357 \r
1358   protected void sortIDMenuItem_actionPerformed(ActionEvent e)\r
1359   {\r
1360   }\r
1361 \r
1362   protected void sortGroupMenuItem_actionPerformed(ActionEvent e)\r
1363   {\r
1364   }\r
1365 \r
1366   protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)\r
1367   {\r
1368   }\r
1369 \r
1370   protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)\r
1371   {\r
1372   }\r
1373 \r
1374   protected void PCAMenuItem_actionPerformed(ActionEvent e)\r
1375   {\r
1376   }\r
1377 \r
1378   protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)\r
1379   {\r
1380   }\r
1381 \r
1382   protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)\r
1383   {\r
1384   }\r
1385 \r
1386   protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
1387   {\r
1388   }\r
1389 \r
1390   protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
1391   {\r
1392   }\r
1393 \r
1394   protected void clustalColour_actionPerformed(ActionEvent e)\r
1395   {\r
1396   }\r
1397 \r
1398   protected void zappoColour_actionPerformed(ActionEvent e)\r
1399   {\r
1400   }\r
1401 \r
1402   protected void taylorColour_actionPerformed(ActionEvent e)\r
1403   {\r
1404   }\r
1405 \r
1406   protected void hydrophobicityColour_actionPerformed(ActionEvent e)\r
1407   {\r
1408   }\r
1409 \r
1410   protected void helixColour_actionPerformed(ActionEvent e)\r
1411   {\r
1412   }\r
1413 \r
1414   protected void strandColour_actionPerformed(ActionEvent e)\r
1415   {\r
1416   }\r
1417 \r
1418   protected void turnColour_actionPerformed(ActionEvent e)\r
1419   {\r
1420   }\r
1421 \r
1422   protected void buriedColour_actionPerformed(ActionEvent e)\r
1423   {\r
1424   }\r
1425 \r
1426   protected void userDefinedColour_actionPerformed(ActionEvent e)\r
1427   {\r
1428   }\r
1429 \r
1430   protected void PIDColour_actionPerformed(ActionEvent e)\r
1431   {\r
1432   }\r
1433 \r
1434   protected void BLOSUM62Colour_actionPerformed(ActionEvent e)\r
1435   {\r
1436   }\r
1437 \r
1438   protected void noColourmenuItem_actionPerformed(ActionEvent e)\r
1439   {\r
1440   }\r
1441 \r
1442   protected void conservationMenuItem_actionPerformed(ActionEvent e)\r
1443   {\r
1444   }\r
1445 \r
1446   protected void printMenuItem_actionPerformed(ActionEvent e)\r
1447   {\r
1448   }\r
1449 \r
1450   protected void renderGapsMenuItem_actionPerformed(ActionEvent e)\r
1451   {\r
1452   }\r
1453 \r
1454   protected void findMenuItem_actionPerformed(ActionEvent e)\r
1455   {\r
1456   }\r
1457 \r
1458   protected void abovePIDThreshold_actionPerformed(ActionEvent e)\r
1459   {\r
1460   }\r
1461 \r
1462   public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)\r
1463   {\r
1464   }\r
1465 \r
1466   protected void nucleotideColour_actionPerformed(ActionEvent e)\r
1467   {\r
1468   }\r
1469 \r
1470   protected void deleteGroups_actionPerformed(ActionEvent e)\r
1471   {\r
1472   }\r
1473 \r
1474   protected void copy_actionPerformed(ActionEvent e)\r
1475   {\r
1476   }\r
1477 \r
1478   protected void cut_actionPerformed(ActionEvent e)\r
1479   {\r
1480   }\r
1481 \r
1482   protected void delete_actionPerformed(ActionEvent e)\r
1483   {\r
1484   }\r
1485 \r
1486   protected void pasteNew_actionPerformed(ActionEvent e)\r
1487   {\r
1488   }\r
1489 \r
1490   protected void pasteThis_actionPerformed(ActionEvent e)\r
1491   {\r
1492   }\r
1493 \r
1494   protected void applyToAllGroups_actionPerformed(ActionEvent e)\r
1495   {\r
1496   }\r
1497 \r
1498   public void createPNG(java.io.File f)\r
1499   {\r
1500   }\r
1501 \r
1502   protected void font_actionPerformed(ActionEvent e)\r
1503   {\r
1504   }\r
1505 \r
1506   protected void seqLimit_actionPerformed(ActionEvent e)\r
1507   {\r
1508   }\r
1509 \r
1510   public void seqDBRef_actionPerformed(ActionEvent e)\r
1511   {\r
1512 \r
1513   }\r
1514 \r
1515 \r
1516   public void createEPS(java.io.File f)\r
1517   {\r
1518   }\r
1519 \r
1520   protected void LoadtreeMenuItem_actionPerformed(ActionEvent e)\r
1521   {\r
1522   }\r
1523 \r
1524   protected void jpred_actionPerformed(ActionEvent e)\r
1525   {\r
1526   }\r
1527 \r
1528   protected void scaleAbove_actionPerformed(ActionEvent e)\r
1529   {\r
1530   }\r
1531 \r
1532   protected void scaleLeft_actionPerformed(ActionEvent e)\r
1533   {\r
1534   }\r
1535 \r
1536   protected void scaleRight_actionPerformed(ActionEvent e)\r
1537   {\r
1538   }\r
1539 \r
1540   protected void modifyPID_actionPerformed(ActionEvent e)\r
1541   {\r
1542   }\r
1543 \r
1544   protected void modifyConservation_actionPerformed(ActionEvent e)\r
1545   {\r
1546   }\r
1547 \r
1548 \r
1549 \r
1550   protected void saveAlignmentMenu_actionPerformed(ActionEvent e)\r
1551   {\r
1552   }\r
1553 \r
1554   protected void padGapsMenuitem_actionPerformed(ActionEvent e)\r
1555   {\r
1556   }\r
1557 \r
1558 \r
1559   public void vamsasStore_actionPerformed(ActionEvent e)\r
1560   {\r
1561 \r
1562   }\r
1563 \r
1564   public void vamsasLoad_actionPerformed(ActionEvent e)\r
1565   {\r
1566 \r
1567   }\r
1568 \r
1569   public void showTranslation_actionPerformed(ActionEvent e)\r
1570   {\r
1571 \r
1572   }\r
1573 \r
1574   public void featureSettings_actionPerformed(ActionEvent e)\r
1575   {\r
1576 \r
1577   }\r
1578 \r
1579   public void fetchSequence_actionPerformed(ActionEvent e)\r
1580   {\r
1581 \r
1582   }\r
1583 \r
1584   public void smoothFont_actionPerformed(ActionEvent e)\r
1585   {\r
1586 \r
1587   }\r
1588 \r
1589   public void annotationColour_actionPerformed(ActionEvent e)\r
1590   {\r
1591 \r
1592   }\r
1593 \r
1594 \r
1595   public void associatedData_actionPerformed(ActionEvent e)\r
1596   {\r
1597 \r
1598   }\r
1599 \r
1600   public void autoCalculate_actionPerformed(ActionEvent e)\r
1601   {\r
1602 \r
1603   }\r
1604 \r
1605   public void showAllSeqs_actionPerformed(ActionEvent e)\r
1606   {\r
1607 \r
1608   }\r
1609 \r
1610   public void showAllColumns_actionPerformed(ActionEvent e)\r
1611   {\r
1612 \r
1613   }\r
1614 \r
1615   public void hideSelSequences_actionPerformed(ActionEvent e)\r
1616   {\r
1617 \r
1618   }\r
1619 \r
1620   public void hideSelColumns_actionPerformed(ActionEvent e)\r
1621   {\r
1622 \r
1623   }\r
1624 \r
1625   public void hiddenMarkers_actionPerformed(ActionEvent e)\r
1626   {\r
1627 \r
1628   }\r
1629 \r
1630   public void findPdbId_actionPerformed(ActionEvent e)\r
1631   {\r
1632 \r
1633   }\r
1634 \r
1635   public void enterPdbId_actionPerformed(ActionEvent e)\r
1636   {\r
1637 \r
1638   }\r
1639 \r
1640   public void pdbFile_actionPerformed(ActionEvent e)\r
1641   {\r
1642 \r
1643   }\r
1644 \r
1645   public void invertColSel_actionPerformed(ActionEvent e)\r
1646   {\r
1647 \r
1648   }\r
1649 \r
1650   public void tabSelectionChanged(int sel)\r
1651   {\r
1652 \r
1653   }\r
1654 \r
1655   public void tabbedPane_mousePressed(MouseEvent e)\r
1656   {\r
1657 \r
1658   }\r
1659 \r
1660   public void tabbedPane_focusGained(FocusEvent e)\r
1661   {\r
1662     requestFocus();\r
1663   }\r
1664 }\r