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