sort menuListener
[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   protected JMenuItem reload = new JMenuItem();\r
144   JMenuItem newView = new JMenuItem();\r
145   JMenuItem textColour = new JMenuItem();\r
146   JMenu formatMenu = new JMenu();\r
147   JMenu selectMenu = new JMenu();\r
148   protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();\r
149   protected JMenuItem gatherViews = new JMenuItem();\r
150   protected JMenuItem expandViews = new JMenuItem();\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     sort.addMenuListener(new MenuListener()\r
945     {\r
946       public void menuSelected(MenuEvent e)\r
947       {\r
948         buildTreeMenu();\r
949       }\r
950 \r
951       public void menuDeselected(MenuEvent e)\r
952       {\r
953       }\r
954 \r
955       public void menuCanceled(MenuEvent e)\r
956       {\r
957       }\r
958     });\r
959     calculate.setText("Calculate Tree");\r
960 \r
961     jMenu2.setText("Export Image");\r
962     padGapsMenuitem.setText("Pad Gaps");\r
963     padGapsMenuitem.setState( jalview.bin.Cache.getDefault("PAD_GAPS", false));\r
964     padGapsMenuitem.addActionListener(new ActionListener()\r
965     {\r
966       public void actionPerformed(ActionEvent e)\r
967       {\r
968         padGapsMenuitem_actionPerformed(e);\r
969       }\r
970     });\r
971     vamsasStore.setVisible(false);\r
972     vamsasStore.setText("VAMSAS store");\r
973     vamsasStore.addActionListener(new ActionListener()\r
974     {\r
975       public void actionPerformed(ActionEvent e)\r
976       {\r
977         vamsasStore_actionPerformed(e);\r
978       }\r
979     });\r
980     showTranslation.setText("Translate cDNA");\r
981     showTranslation.addActionListener(new ActionListener()\r
982     {\r
983       public void actionPerformed(ActionEvent e)\r
984       {\r
985         showTranslation_actionPerformed(e);\r
986       }\r
987     });\r
988 \r
989 \r
990     featureSettings.setText("Feature Settings...");\r
991     featureSettings.addActionListener(new ActionListener()\r
992     {\r
993       public void actionPerformed(ActionEvent e)\r
994       {\r
995         featureSettings_actionPerformed(e);\r
996       }\r
997     });\r
998     fetchSequence.setText("Fetch Sequence(s)...");\r
999     fetchSequence.addActionListener(new ActionListener()\r
1000     {\r
1001       public void actionPerformed(ActionEvent e)\r
1002       {\r
1003         fetchSequence_actionPerformed(e);\r
1004       }\r
1005     });\r
1006 \r
1007     annotationColour.setText("By Annotation...");\r
1008     annotationColour.addActionListener(new ActionListener()\r
1009     {\r
1010       public void actionPerformed(ActionEvent e)\r
1011       {\r
1012         annotationColour_actionPerformed(e);\r
1013       }\r
1014     });\r
1015     associatedData.setText("Load Features / Annotations");\r
1016     associatedData.addActionListener(new ActionListener()\r
1017     {\r
1018       public void actionPerformed(ActionEvent e)\r
1019       {\r
1020         associatedData_actionPerformed(e);\r
1021       }\r
1022     });\r
1023     autoCalculate.setText("Autocalculate Consensus");\r
1024     autoCalculate.setState( jalview.bin.Cache.getDefault("AUTO_CALC_CONSENSUS", true));\r
1025     autoCalculate.addActionListener(new ActionListener()\r
1026     {\r
1027       public void actionPerformed(ActionEvent e)\r
1028       {\r
1029         autoCalculate_actionPerformed(e);\r
1030       }\r
1031     });\r
1032     addSequenceMenu.setText("Add Sequences");\r
1033     addFromFile.setText("From File");\r
1034     addFromFile.addActionListener(new ActionListener()\r
1035     {\r
1036       public void actionPerformed(ActionEvent e)\r
1037       {\r
1038         addFromFile_actionPerformed(e);\r
1039       }\r
1040     });\r
1041     addFromText.setText("From Textbox");\r
1042     addFromText.addActionListener(new ActionListener()\r
1043     {\r
1044       public void actionPerformed(ActionEvent e)\r
1045       {\r
1046         addFromText_actionPerformed(e);\r
1047       }\r
1048     });\r
1049     addFromURL.setText("From URL");\r
1050     addFromURL.addActionListener(new ActionListener()\r
1051     {\r
1052       public void actionPerformed(ActionEvent e)\r
1053       {\r
1054         addFromURL_actionPerformed(e);\r
1055       }\r
1056     });\r
1057     exportFeatures.setText("Export Features...");\r
1058     exportFeatures.addActionListener(new ActionListener()\r
1059     {\r
1060       public void actionPerformed(ActionEvent e)\r
1061       {\r
1062         exportFeatures_actionPerformed(e);\r
1063       }\r
1064     });\r
1065     exportAnnotations.setText("Export Annotations...");\r
1066     exportAnnotations.addActionListener(new ActionListener()\r
1067     {\r
1068       public void actionPerformed(ActionEvent e)\r
1069       {\r
1070         exportAnnotations_actionPerformed(e);\r
1071       }\r
1072     });\r
1073     statusPanel.setLayout(gridLayout1);\r
1074     jMenu3.setText("Show");\r
1075     showAllSeqs.setText("All Sequences");\r
1076     showAllSeqs.addActionListener(new ActionListener()\r
1077     {\r
1078       public void actionPerformed(ActionEvent e)\r
1079       {\r
1080         showAllSeqs_actionPerformed(e);\r
1081       }\r
1082     });\r
1083     showAllColumns.setText("All Columns");\r
1084     showAllColumns.addActionListener(new ActionListener()\r
1085     {\r
1086       public void actionPerformed(ActionEvent e)\r
1087       {\r
1088         showAllColumns_actionPerformed(e);\r
1089       }\r
1090     });\r
1091     hideMenu.setText("Hide");\r
1092     hideSelSequences.setText("Selected Sequences");\r
1093     hideSelSequences.addActionListener(new ActionListener()\r
1094     {\r
1095       public void actionPerformed(ActionEvent e)\r
1096       {\r
1097         hideSelSequences_actionPerformed(e);\r
1098       }\r
1099     });\r
1100     hideSelColumns.setText("Selected Columns");\r
1101     hideSelColumns.addActionListener(new ActionListener()\r
1102     {\r
1103       public void actionPerformed(ActionEvent e)\r
1104       {\r
1105         hideSelColumns_actionPerformed(e);\r
1106       }\r
1107     });\r
1108     hiddenMarkers.setText("Show Hidden Markers");\r
1109     hiddenMarkers.addActionListener(new ActionListener()\r
1110     {\r
1111       public void actionPerformed(ActionEvent e)\r
1112       {\r
1113         hiddenMarkers_actionPerformed(e);\r
1114       }\r
1115     });\r
1116     invertColSel.setText("Invert Column Selection");\r
1117     invertColSel.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.\r
1118         event.KeyEvent.VK_I,\r
1119         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()\r
1120         |java.awt.event.KeyEvent.ALT_MASK,\r
1121         false));\r
1122     invertColSel.addActionListener(new ActionListener()\r
1123     {\r
1124       public void actionPerformed(ActionEvent e)\r
1125       {\r
1126         invertColSel_actionPerformed(e);\r
1127       }\r
1128     });\r
1129     tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()\r
1130     {\r
1131         public void stateChanged(ChangeEvent evt)\r
1132         {\r
1133             JTabbedPane pane = (JTabbedPane)evt.getSource();\r
1134             int sel = pane.getSelectedIndex();\r
1135             tabSelectionChanged(sel);\r
1136         }\r
1137     });\r
1138     tabbedPane.addMouseListener(new MouseAdapter()\r
1139     {\r
1140       public void mousePressed(MouseEvent e)\r
1141       {\r
1142         tabbedPane_mousePressed(e);\r
1143       }\r
1144     });\r
1145     tabbedPane.addFocusListener(new FocusAdapter()\r
1146     {\r
1147       public void focusGained(FocusEvent e)\r
1148       {\r
1149         tabbedPane_focusGained(e);\r
1150       }\r
1151     });\r
1152     save.setText("Save");\r
1153     save.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.\r
1154         KeyEvent.VK_S, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));\r
1155     save.addActionListener(new ActionListener()\r
1156     {\r
1157       public void actionPerformed(ActionEvent e)\r
1158       {\r
1159         save_actionPerformed(e);\r
1160       }\r
1161     });\r
1162     reload.setEnabled(false);\r
1163     reload.setText("Reload");\r
1164     reload.addActionListener(new ActionListener()\r
1165     {\r
1166       public void actionPerformed(ActionEvent e)\r
1167       {\r
1168         reload_actionPerformed(e);\r
1169       }\r
1170     });\r
1171     newView.setText("New View");\r
1172     newView.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.\r
1173         KeyEvent.VK_T, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));\r
1174     newView.addActionListener(new ActionListener()\r
1175     {\r
1176       public void actionPerformed(ActionEvent e)\r
1177       {\r
1178         newView_actionPerformed(e);\r
1179       }\r
1180     });\r
1181     tabbedPane.setToolTipText("<html><i> Right-click to rename tab"\r
1182                               +"<br> Press X to eXpand tabs, G to reGroup.</i></html>");\r
1183     textColour.setText("Text Colour");\r
1184     textColour.addActionListener(new ActionListener()\r
1185     {\r
1186       public void actionPerformed(ActionEvent e)\r
1187       {\r
1188         textColour_actionPerformed(e);\r
1189       }\r
1190     });\r
1191     formatMenu.setText("Format");\r
1192     selectMenu.setText("Select");\r
1193     idRightAlign.setText("Right Align Sequence Id");\r
1194     idRightAlign.addActionListener(new ActionListener()\r
1195     {\r
1196       public void actionPerformed(ActionEvent e)\r
1197       {\r
1198         idRightAlign_actionPerformed(e);\r
1199       }\r
1200     });\r
1201     gatherViews.setEnabled(false);\r
1202     gatherViews.setText("Gather Views");\r
1203     gatherViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.\r
1204         event.KeyEvent.VK_G, 0, false));\r
1205     gatherViews.addActionListener(new ActionListener()\r
1206     {\r
1207       public void actionPerformed(ActionEvent e)\r
1208       {\r
1209         gatherViews_actionPerformed(e);\r
1210       }\r
1211     });\r
1212     expandViews.setEnabled(false);\r
1213     expandViews.setText("Expand Views");\r
1214     expandViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.\r
1215         event.KeyEvent.VK_X, 0, false));\r
1216     expandViews.addActionListener(new ActionListener()\r
1217     {\r
1218       public void actionPerformed(ActionEvent e)\r
1219       {\r
1220         expandViews_actionPerformed(e);\r
1221       }\r
1222     });\r
1223 \r
1224     alignFrameMenuBar.add(fileMenu);\r
1225     alignFrameMenuBar.add(editMenu);\r
1226     alignFrameMenuBar.add(selectMenu);\r
1227     alignFrameMenuBar.add(viewMenu);\r
1228     alignFrameMenuBar.add(formatMenu);\r
1229     alignFrameMenuBar.add(colourMenu);\r
1230     alignFrameMenuBar.add(calculateMenu);\r
1231     alignFrameMenuBar.add(webService);\r
1232     fileMenu.add(fetchSequence);\r
1233     fileMenu.add(addSequenceMenu);\r
1234     fileMenu.add(reload);\r
1235     fileMenu.addSeparator();\r
1236     fileMenu.add(vamsasStore);\r
1237     fileMenu.add(save);\r
1238     fileMenu.add(saveAs);\r
1239     fileMenu.add(outputTextboxMenu);\r
1240     fileMenu.add(printMenuItem);\r
1241     fileMenu.addSeparator();\r
1242     fileMenu.add(jMenu2);\r
1243     fileMenu.add(exportFeatures);\r
1244     fileMenu.add(exportAnnotations);\r
1245     fileMenu.add(LoadtreeMenuItem);\r
1246     fileMenu.add(associatedData);\r
1247     fileMenu.addSeparator();\r
1248     fileMenu.add(closeMenuItem);\r
1249     editMenu.add(undoMenuItem);\r
1250     editMenu.add(redoMenuItem);\r
1251     editMenu.add(cut);\r
1252     editMenu.add(copy);\r
1253     editMenu.add(pasteMenu);\r
1254     editMenu.add(delete);\r
1255     editMenu.addSeparator();\r
1256     editMenu.add(remove2LeftMenuItem);\r
1257     editMenu.add(remove2RightMenuItem);\r
1258     editMenu.add(removeGappedColumnMenuItem);\r
1259     editMenu.add(removeAllGapsMenuItem);\r
1260     editMenu.add(removeRedundancyMenuItem);\r
1261     editMenu.addSeparator();\r
1262     editMenu.add(padGapsMenuitem);\r
1263     viewMenu.add(newView);\r
1264     viewMenu.add(expandViews);\r
1265     viewMenu.add(gatherViews);\r
1266     viewMenu.addSeparator();\r
1267     viewMenu.add(jMenu3);\r
1268     viewMenu.add(hideMenu);\r
1269     viewMenu.addSeparator();\r
1270     viewMenu.add(annotationPanelMenuItem);\r
1271     viewMenu.addSeparator();\r
1272     viewMenu.add(showSeqFeatures);\r
1273     viewMenu.add(featureSettings);\r
1274     viewMenu.addSeparator();\r
1275     viewMenu.add(overviewMenuItem);\r
1276     colourMenu.add(applyToAllGroups);\r
1277     colourMenu.add(textColour);\r
1278     colourMenu.addSeparator();\r
1279     colourMenu.add(noColourmenuItem);\r
1280     colourMenu.add(clustalColour);\r
1281     colourMenu.add(BLOSUM62Colour);\r
1282     colourMenu.add(PIDColour);\r
1283     colourMenu.add(zappoColour);\r
1284     colourMenu.add(taylorColour);\r
1285     colourMenu.add(hydrophobicityColour);\r
1286     colourMenu.add(helixColour);\r
1287     colourMenu.add(strandColour);\r
1288     colourMenu.add(turnColour);\r
1289     colourMenu.add(buriedColour);\r
1290     colourMenu.add(nucleotideColour);\r
1291     colourMenu.add(userDefinedColour);\r
1292     colourMenu.addSeparator();\r
1293     colourMenu.add(conservationMenuItem);\r
1294     colourMenu.add(modifyConservation);\r
1295     colourMenu.add(abovePIDThreshold);\r
1296     colourMenu.add(modifyPID);\r
1297     colourMenu.add(annotationColour);\r
1298     calculateMenu.add(sort);\r
1299     calculateMenu.add(calculate);\r
1300     calculateMenu.addSeparator();\r
1301     calculateMenu.add(pairwiseAlignmentMenuItem);\r
1302     calculateMenu.add(PCAMenuItem);\r
1303     calculateMenu.addSeparator();\r
1304     calculateMenu.add(showTranslation);\r
1305     calculateMenu.add(autoCalculate);\r
1306     webServiceNoServices=new JMenuItem("<No Services>");\r
1307     webService.add(webServiceNoServices);pasteMenu.add(pasteNew);\r
1308     pasteMenu.add(pasteThis);\r
1309     sort.add(sortIDMenuItem);\r
1310     sort.add(sortGroupMenuItem);\r
1311     sort.add(sortPairwiseMenuItem);\r
1312     sort.add(sortByTreeMenu);\r
1313     calculate.add(averageDistanceTreeMenuItem);\r
1314     calculate.add(neighbourTreeMenuItem);\r
1315     calculate.add(avDistanceTreeBlosumMenuItem);\r
1316     calculate.add(njTreeBlosumMenuItem);\r
1317     jMenu2.add(htmlMenuItem);\r
1318     jMenu2.add(epsFile);\r
1319     jMenu2.add(createPNG);\r
1320     addSequenceMenu.add(addFromFile);\r
1321     addSequenceMenu.add(addFromText);\r
1322     addSequenceMenu.add(addFromURL);\r
1323     this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);\r
1324     statusPanel.add(statusBar, null);\r
1325     this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);\r
1326     jMenu3.add(showAllColumns);\r
1327     jMenu3.add(showAllSeqs);\r
1328     hideMenu.add(hideSelColumns);\r
1329     hideMenu.add(hideSelSequences);\r
1330     formatMenu.add(font);\r
1331     formatMenu.addSeparator();\r
1332     formatMenu.add(wrapMenuItem);\r
1333     formatMenu.add(scaleAbove);\r
1334     formatMenu.add(scaleLeft);\r
1335     formatMenu.add(scaleRight);\r
1336     formatMenu.add(seqLimits);\r
1337     formatMenu.add(idRightAlign);\r
1338     formatMenu.add(hiddenMarkers);\r
1339     formatMenu.add(viewBoxesMenuItem);\r
1340     formatMenu.add(viewTextMenuItem);\r
1341     formatMenu.add(colourTextMenuItem);\r
1342     formatMenu.add(renderGapsMenuItem);\r
1343     selectMenu.add(findMenuItem);\r
1344     selectMenu.addSeparator();\r
1345     selectMenu.add(selectAllSequenceMenuItem);\r
1346     selectMenu.add(deselectAllSequenceMenuItem);\r
1347     selectMenu.add(invertSequenceMenuItem);\r
1348     selectMenu.add(invertColSel);\r
1349     selectMenu.add(deleteGroups);\r
1350   }\r
1351 \r
1352   protected void outputText_actionPerformed(ActionEvent e)\r
1353   {\r
1354   }\r
1355 \r
1356   public void addFromFile_actionPerformed(ActionEvent e)\r
1357   {\r
1358 \r
1359   }\r
1360 \r
1361   public void addFromText_actionPerformed(ActionEvent e)\r
1362   {\r
1363 \r
1364   }\r
1365 \r
1366   public void addFromURL_actionPerformed(ActionEvent e)\r
1367   {\r
1368 \r
1369   }\r
1370 \r
1371   public void exportFeatures_actionPerformed(ActionEvent e)\r
1372   {\r
1373 \r
1374   }\r
1375 \r
1376   public void exportAnnotations_actionPerformed(ActionEvent e)\r
1377   {\r
1378 \r
1379   }\r
1380 \r
1381   protected void htmlMenuItem_actionPerformed(ActionEvent e)\r
1382   {\r
1383   }\r
1384 \r
1385   protected void closeMenuItem_actionPerformed(boolean b)\r
1386   {\r
1387   }\r
1388 \r
1389   protected void redoMenuItem_actionPerformed(ActionEvent e)\r
1390   {\r
1391   }\r
1392 \r
1393   protected void undoMenuItem_actionPerformed(ActionEvent e)\r
1394   {\r
1395   }\r
1396 \r
1397   protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
1398   {\r
1399   }\r
1400 \r
1401   protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
1402   {\r
1403   }\r
1404 \r
1405   protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)\r
1406   {\r
1407   }\r
1408 \r
1409   protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)\r
1410   {\r
1411   }\r
1412 \r
1413   protected void remove2RightMenuItem_actionPerformed(ActionEvent e)\r
1414   {\r
1415   }\r
1416 \r
1417   protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)\r
1418   {\r
1419   }\r
1420 \r
1421   protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)\r
1422   {\r
1423   }\r
1424 \r
1425   protected void wrapMenuItem_actionPerformed(ActionEvent e)\r
1426   {\r
1427   }\r
1428 \r
1429   protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)\r
1430   {\r
1431   }\r
1432 \r
1433   protected void viewTextMenuItem_actionPerformed(ActionEvent e)\r
1434   {\r
1435   }\r
1436 \r
1437   protected void colourTextMenuItem_actionPerformed(ActionEvent e)\r
1438   {\r
1439   }\r
1440 \r
1441   protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)\r
1442   {\r
1443   }\r
1444 \r
1445   protected void overviewMenuItem_actionPerformed(ActionEvent e)\r
1446   {\r
1447   }\r
1448 \r
1449   protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)\r
1450   {\r
1451   }\r
1452 \r
1453   protected void sortIDMenuItem_actionPerformed(ActionEvent e)\r
1454   {\r
1455   }\r
1456 \r
1457   protected void sortGroupMenuItem_actionPerformed(ActionEvent e)\r
1458   {\r
1459   }\r
1460 \r
1461   protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)\r
1462   {\r
1463   }\r
1464 \r
1465   protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)\r
1466   {\r
1467   }\r
1468 \r
1469   protected void PCAMenuItem_actionPerformed(ActionEvent e)\r
1470   {\r
1471   }\r
1472 \r
1473   protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)\r
1474   {\r
1475   }\r
1476 \r
1477   protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)\r
1478   {\r
1479   }\r
1480 \r
1481   protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
1482   {\r
1483   }\r
1484 \r
1485   protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
1486   {\r
1487   }\r
1488 \r
1489   protected void clustalColour_actionPerformed(ActionEvent e)\r
1490   {\r
1491   }\r
1492 \r
1493   protected void zappoColour_actionPerformed(ActionEvent e)\r
1494   {\r
1495   }\r
1496 \r
1497   protected void taylorColour_actionPerformed(ActionEvent e)\r
1498   {\r
1499   }\r
1500 \r
1501   protected void hydrophobicityColour_actionPerformed(ActionEvent e)\r
1502   {\r
1503   }\r
1504 \r
1505   protected void helixColour_actionPerformed(ActionEvent e)\r
1506   {\r
1507   }\r
1508 \r
1509   protected void strandColour_actionPerformed(ActionEvent e)\r
1510   {\r
1511   }\r
1512 \r
1513   protected void turnColour_actionPerformed(ActionEvent e)\r
1514   {\r
1515   }\r
1516 \r
1517   protected void buriedColour_actionPerformed(ActionEvent e)\r
1518   {\r
1519   }\r
1520 \r
1521   protected void userDefinedColour_actionPerformed(ActionEvent e)\r
1522   {\r
1523   }\r
1524 \r
1525   protected void PIDColour_actionPerformed(ActionEvent e)\r
1526   {\r
1527   }\r
1528 \r
1529   protected void BLOSUM62Colour_actionPerformed(ActionEvent e)\r
1530   {\r
1531   }\r
1532 \r
1533   protected void noColourmenuItem_actionPerformed(ActionEvent e)\r
1534   {\r
1535   }\r
1536 \r
1537   protected void conservationMenuItem_actionPerformed(ActionEvent e)\r
1538   {\r
1539   }\r
1540 \r
1541   protected void printMenuItem_actionPerformed(ActionEvent e)\r
1542   {\r
1543   }\r
1544 \r
1545   protected void renderGapsMenuItem_actionPerformed(ActionEvent e)\r
1546   {\r
1547   }\r
1548 \r
1549   protected void findMenuItem_actionPerformed(ActionEvent e)\r
1550   {\r
1551   }\r
1552 \r
1553   protected void abovePIDThreshold_actionPerformed(ActionEvent e)\r
1554   {\r
1555   }\r
1556 \r
1557   public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)\r
1558   {\r
1559   }\r
1560 \r
1561   protected void nucleotideColour_actionPerformed(ActionEvent e)\r
1562   {\r
1563   }\r
1564 \r
1565   protected void deleteGroups_actionPerformed(ActionEvent e)\r
1566   {\r
1567   }\r
1568 \r
1569   protected void copy_actionPerformed(ActionEvent e)\r
1570   {\r
1571   }\r
1572 \r
1573   protected void cut_actionPerformed(ActionEvent e)\r
1574   {\r
1575   }\r
1576 \r
1577   protected void delete_actionPerformed(ActionEvent e)\r
1578   {\r
1579   }\r
1580 \r
1581   protected void pasteNew_actionPerformed(ActionEvent e)\r
1582   {\r
1583   }\r
1584 \r
1585   protected void pasteThis_actionPerformed(ActionEvent e)\r
1586   {\r
1587   }\r
1588 \r
1589   protected void applyToAllGroups_actionPerformed(ActionEvent e)\r
1590   {\r
1591   }\r
1592 \r
1593   public void createPNG(java.io.File f)\r
1594   {\r
1595   }\r
1596 \r
1597   protected void font_actionPerformed(ActionEvent e)\r
1598   {\r
1599   }\r
1600 \r
1601   protected void seqLimit_actionPerformed(ActionEvent e)\r
1602   {\r
1603   }\r
1604 \r
1605   public void seqDBRef_actionPerformed(ActionEvent e)\r
1606   {\r
1607 \r
1608   }\r
1609 \r
1610 \r
1611   public void createEPS(java.io.File f)\r
1612   {\r
1613   }\r
1614 \r
1615   protected void LoadtreeMenuItem_actionPerformed(ActionEvent e)\r
1616   {\r
1617   }\r
1618 \r
1619   protected void jpred_actionPerformed(ActionEvent e)\r
1620   {\r
1621   }\r
1622 \r
1623   protected void scaleAbove_actionPerformed(ActionEvent e)\r
1624   {\r
1625   }\r
1626 \r
1627   protected void scaleLeft_actionPerformed(ActionEvent e)\r
1628   {\r
1629   }\r
1630 \r
1631   protected void scaleRight_actionPerformed(ActionEvent e)\r
1632   {\r
1633   }\r
1634 \r
1635   protected void modifyPID_actionPerformed(ActionEvent e)\r
1636   {\r
1637   }\r
1638 \r
1639   protected void modifyConservation_actionPerformed(ActionEvent e)\r
1640   {\r
1641   }\r
1642 \r
1643 \r
1644 \r
1645   protected void saveAs_actionPerformed(ActionEvent e)\r
1646   {\r
1647   }\r
1648 \r
1649   protected void padGapsMenuitem_actionPerformed(ActionEvent e)\r
1650   {\r
1651   }\r
1652 \r
1653 \r
1654   public void vamsasStore_actionPerformed(ActionEvent e)\r
1655   {\r
1656 \r
1657   }\r
1658 \r
1659   public void vamsasLoad_actionPerformed(ActionEvent e)\r
1660   {\r
1661 \r
1662   }\r
1663 \r
1664   public void showTranslation_actionPerformed(ActionEvent e)\r
1665   {\r
1666 \r
1667   }\r
1668 \r
1669   public void featureSettings_actionPerformed(ActionEvent e)\r
1670   {\r
1671 \r
1672   }\r
1673 \r
1674   public void fetchSequence_actionPerformed(ActionEvent e)\r
1675   {\r
1676 \r
1677   }\r
1678 \r
1679   public void smoothFont_actionPerformed(ActionEvent e)\r
1680   {\r
1681 \r
1682   }\r
1683 \r
1684   public void annotationColour_actionPerformed(ActionEvent e)\r
1685   {\r
1686 \r
1687   }\r
1688 \r
1689 \r
1690   public void associatedData_actionPerformed(ActionEvent e)\r
1691   {\r
1692 \r
1693   }\r
1694 \r
1695   public void autoCalculate_actionPerformed(ActionEvent e)\r
1696   {\r
1697 \r
1698   }\r
1699 \r
1700   public void showAllSeqs_actionPerformed(ActionEvent e)\r
1701   {\r
1702 \r
1703   }\r
1704 \r
1705   public void showAllColumns_actionPerformed(ActionEvent e)\r
1706   {\r
1707 \r
1708   }\r
1709 \r
1710   public void hideSelSequences_actionPerformed(ActionEvent e)\r
1711   {\r
1712 \r
1713   }\r
1714 \r
1715   public void hideSelColumns_actionPerformed(ActionEvent e)\r
1716   {\r
1717 \r
1718   }\r
1719 \r
1720   public void hiddenMarkers_actionPerformed(ActionEvent e)\r
1721   {\r
1722 \r
1723   }\r
1724 \r
1725   public void findPdbId_actionPerformed(ActionEvent e)\r
1726   {\r
1727 \r
1728   }\r
1729 \r
1730   public void enterPdbId_actionPerformed(ActionEvent e)\r
1731   {\r
1732 \r
1733   }\r
1734 \r
1735   public void pdbFile_actionPerformed(ActionEvent e)\r
1736   {\r
1737 \r
1738   }\r
1739 \r
1740   public void invertColSel_actionPerformed(ActionEvent e)\r
1741   {\r
1742 \r
1743   }\r
1744 \r
1745   public void tabSelectionChanged(int sel)\r
1746   {\r
1747 \r
1748   }\r
1749 \r
1750   public void tabbedPane_mousePressed(MouseEvent e)\r
1751   {\r
1752 \r
1753   }\r
1754 \r
1755   public void tabbedPane_focusGained(FocusEvent e)\r
1756   {\r
1757     requestFocus();\r
1758   }\r
1759 \r
1760   public void save_actionPerformed(ActionEvent e)\r
1761   {\r
1762 \r
1763   }\r
1764 \r
1765   public void reload_actionPerformed(ActionEvent e)\r
1766   {\r
1767 \r
1768   }\r
1769 \r
1770   public void newView_actionPerformed(ActionEvent e)\r
1771   {\r
1772 \r
1773   }\r
1774 \r
1775   public void textColour_actionPerformed(ActionEvent e)\r
1776   {\r
1777 \r
1778   }\r
1779 \r
1780   public void idRightAlign_actionPerformed(ActionEvent e)\r
1781   {\r
1782 \r
1783   }\r
1784 \r
1785   public void expandViews_actionPerformed(ActionEvent e)\r
1786   {\r
1787 \r
1788   }\r
1789 \r
1790   public void gatherViews_actionPerformed(ActionEvent e)\r
1791   {\r
1792 \r
1793   }\r
1794 \r
1795   public void buildTreeMenu()\r
1796   {\r
1797 \r
1798   }\r
1799 }\r