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