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