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