Clover icon

Coverage Report

  1. Project Clover database Mon Sep 2 2024 17:57:51 BST
  2. Package jalview.jbgui

File GAlignFrame.java

 

Coverage histogram

../../img/srcFileCovDistChart6.png
37% of files have more coverage

Code metrics

24
756
274
1
2,894
2,336
287
0.38
2.76
274
1.05

Classes

Class Line # Actions
GAlignFrame 70 756 287
0.599620560%
 

Contributing tests

This file is covered by 180 tests. .

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
7    * Jalview is free software: you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation, either version 3
10    * of the License, or (at your option) any later version.
11    *
12    * Jalview is distributed in the hope that it will be useful, but
13    * WITHOUT ANY WARRANTY; without even the implied warranty
14    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15    * PURPOSE. See the GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU General Public License
18    * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19    * The Jalview Authors are detailed in the 'AUTHORS' file.
20    */
21    package jalview.jbgui;
22   
23    import java.awt.BorderLayout;
24    import java.awt.Color;
25    import java.awt.GridLayout;
26    import java.awt.Menu;
27    import java.awt.event.ActionEvent;
28    import java.awt.event.ActionListener;
29    import java.awt.event.FocusAdapter;
30    import java.awt.event.FocusEvent;
31    import java.awt.event.KeyEvent;
32    import java.awt.event.MouseAdapter;
33    import java.awt.event.MouseEvent;
34    import java.util.HashMap;
35    import java.util.List;
36    import java.util.Map;
37   
38    import javax.swing.BorderFactory;
39    import javax.swing.ButtonGroup;
40    import javax.swing.JCheckBoxMenuItem;
41    import javax.swing.JInternalFrame;
42    import javax.swing.JLabel;
43    import javax.swing.JMenu;
44    import javax.swing.JMenuBar;
45    import javax.swing.JMenuItem;
46    import javax.swing.JPanel;
47    import javax.swing.JRadioButtonMenuItem;
48    import javax.swing.JTabbedPane;
49    import javax.swing.KeyStroke;
50    import javax.swing.event.ChangeEvent;
51    import javax.swing.event.MenuEvent;
52    import javax.swing.event.MenuListener;
53   
54    import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
55    import jalview.analysis.GeneticCodeI;
56    import jalview.analysis.GeneticCodes;
57    import jalview.api.SplitContainerI;
58    import jalview.bin.Cache;
59    import jalview.bin.Console;
60    import jalview.gui.JvSwingUtils;
61    import jalview.gui.Preferences;
62    import jalview.io.FileFormats;
63    import jalview.log.JLoggerLog4j;
64    import jalview.schemes.ResidueColourScheme;
65    import jalview.util.Log4j;
66    import jalview.util.MessageManager;
67    import jalview.util.Platform;
68   
69    @SuppressWarnings("serial")
 
70    public class GAlignFrame extends JInternalFrame
71    {
72    protected JMenuBar alignFrameMenuBar = new JMenuBar();
73   
74    protected JMenuItem closeMenuItem = new JMenuItem();
75   
76    public JMenu webService = new JMenu();// BH 2019 was protected, but not
77    // sufficient for AlignFrame thread run
78   
79    public JMenuItem webServiceNoServices;// BH 2019 was protected, but not
80    // sufficient for AlignFrame thread run
81   
82    protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
83   
84    protected JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
85   
86    protected JMenu sortByAnnotScore = new JMenu();
87   
88    public JLabel statusBar = new JLabel(); // BH 2019 was protected, but not
89    // sufficient for
90    // AlignFrame.printWriter
91   
92    protected JMenu outputTextboxMenu = new JMenu();
93   
94    protected JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
95   
96    protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
97   
98    protected JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem();
99   
100    protected JMenuItem undoMenuItem = new JMenuItem();
101   
102    protected JMenuItem redoMenuItem = new JMenuItem();
103   
104    protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
105   
106    protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
107   
108    public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
109   
110    JMenuItem copy = new JMenuItem();
111   
112    JMenuItem copyHighlighted = new JMenuItem();
113   
114    JMenuItem cut = new JMenuItem();
115   
116    JMenu pasteMenu = new JMenu();
117   
118    protected JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
119   
120    protected JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
121   
122    protected JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
123   
124    protected JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
125   
126    protected JCheckBoxMenuItem applyToAllGroups;
127   
128    protected JMenu colourMenu = new JMenu();
129   
130    protected JMenuItem textColour;
131   
132    protected JCheckBoxMenuItem conservationMenuItem;
133   
134    protected JMenuItem modifyConservation;
135   
136    protected JCheckBoxMenuItem abovePIDThreshold;
137   
138    protected JMenuItem modifyPID;
139   
140    protected JRadioButtonMenuItem annotationColour;
141   
142    protected JMenu sortByTreeMenu = new JMenu();
143   
144    protected JMenu sort = new JMenu();
145   
146    protected JMenuItem calculateTree = new JMenuItem();
147   
148    protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
149   
150    protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
151   
152    protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
153   
154    protected JMenu showTranslation = new JMenu();
155   
156    protected JMenuItem showReverse = new JMenuItem();
157   
158    protected JMenuItem showReverseComplement = new JMenuItem();
159   
160    protected JMenu showProducts = new JMenu();
161   
162    protected JMenuItem runGroovy = new JMenuItem();
163   
164    protected JMenuItem loadVcf;
165   
166    protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
167   
168    protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
169   
170    protected JCheckBoxMenuItem listenToViewSelections = new JCheckBoxMenuItem();
171   
172    protected JPanel statusPanel = new JPanel();
173   
174    protected JMenuItem showAllSeqAnnotations = new JMenuItem();
175   
176    protected JMenuItem hideAllSeqAnnotations = new JMenuItem();
177   
178    protected JMenuItem showAllAlAnnotations = new JMenuItem();
179   
180    protected JMenuItem hideAllAlAnnotations = new JMenuItem();
181   
182    protected JCheckBoxMenuItem showComplementMenuItem = new JCheckBoxMenuItem();
183   
184    protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
185   
186    protected JTabbedPane tabbedPane = new JTabbedPane();
187   
188    protected JMenuItem reload = new JMenuItem();
189   
190    protected JMenu formatMenu = new JMenu();
191   
192    protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
193   
194    protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem();
195   
196    protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem();
197   
198    protected JMenuItem gatherViews = new JMenuItem();
199   
200    protected JMenuItem expandViews = new JMenuItem();
201   
202    protected JCheckBoxMenuItem threeDStructure = new JCheckBoxMenuItem();
203   
204    protected JCheckBoxMenuItem jPred = new JCheckBoxMenuItem();
205   
206    protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem();
207   
208    protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem();
209   
210    protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem();
211   
212    protected JCheckBoxMenuItem showSSConsensusHistogram = new JCheckBoxMenuItem();
213   
214    protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem();
215   
216    protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
217   
218    protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
219   
220    protected JMenuItem openFeatureSettings;
221   
222    private SequenceAnnotationOrder annotationSortOrder;
223   
224    private boolean showAutoCalculatedAbove = false;
225   
226    private Map<KeyStroke, JMenuItem> accelerators = new HashMap<>();
227   
228    private SplitContainerI splitFrame;
229   
 
230  453 toggle public GAlignFrame()
231    {
232  453 try
233    {
234  453 setFrameIcon(null);
235   
236    // for Web-page embedding using id=align-frame-div
237  453 setName("jalview-alignment");
238   
239  453 jbInit();
240  452 setJMenuBar(alignFrameMenuBar);
241   
242    // dynamically fill save as menu with available formats
243  452 for (String ff : FileFormats.getInstance().getWritableFormats(true))
244    {
245  4972 JMenuItem item = new JMenuItem(ff);
246   
247  4972 item.addActionListener(new ActionListener()
248    {
 
249  0 toggle @Override
250    public void actionPerformed(ActionEvent e)
251    {
252  0 outputText_actionPerformed(e.getActionCommand());
253    }
254    });
255   
256  4972 outputTextboxMenu.add(item);
257    }
258    } catch (Exception e)
259    {
260  0 jalview.bin.Console.errPrintln(e.toString());
261    }
262   
263  452 if (Platform.allowMnemonics()) // was "not mac and not JS"
264    {
265  452 closeMenuItem.setMnemonic('C');
266  452 outputTextboxMenu.setMnemonic('T');
267  452 undoMenuItem.setMnemonic('Z');
268  452 redoMenuItem.setMnemonic('0');
269  452 copy.setMnemonic('C');
270  452 cut.setMnemonic('U');
271  452 pasteMenu.setMnemonic('P');
272  452 reload.setMnemonic('R');
273    }
274    }
275   
 
276  453 toggle private void jbInit() throws Exception
277    {
278  453 setFrameIcon(null);
279  453 initColourMenu();
280   
281  453 JMenuItem saveAs = new JMenuItem(
282    MessageManager.getString("action.save_as"));
283  453 ActionListener al = new ActionListener()
284    {
 
285  0 toggle @Override
286    public void actionPerformed(ActionEvent e)
287    {
288  0 saveAs_actionPerformed();
289    }
290    };
291   
292    // FIXME getDefaultToolkit throws an exception in Headless mode
293  453 KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
294    jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
295    | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
296    false);
297  453 addMenuActionAndAccelerator(keyStroke, saveAs, al);
298   
299  453 closeMenuItem.setText(MessageManager.getString("action.close"));
300  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W,
301    jalview.util.ShortcutKeyMaskExWrapper
302    .getMenuShortcutKeyMaskEx(),
303    false);
304  453 al = new ActionListener()
305    {
 
306  0 toggle @Override
307    public void actionPerformed(ActionEvent e)
308    {
309  0 closeMenuItem_actionPerformed(false);
310    }
311    };
312  453 addMenuActionAndAccelerator(keyStroke, closeMenuItem, al);
313   
314  453 JMenu editMenu = new JMenu(MessageManager.getString("action.edit"));
315  453 JMenu viewMenu = new JMenu(MessageManager.getString("action.view"));
316  453 JMenu annotationsMenu = new JMenu(
317    MessageManager.getString("action.annotations"));
318  453 JMenu showMenu = new JMenu(MessageManager.getString("action.show"));
319  453 colourMenu.setText(MessageManager.getString("action.colour"));
320  453 JMenu calculateMenu = new JMenu(
321    MessageManager.getString("action.calculate"));
322  453 webService.setText(MessageManager.getString("action.web_service"));
323  453 JMenuItem selectAllSequenceMenuItem = new JMenuItem(
324    MessageManager.getString("action.select_all"));
325  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A,
326    jalview.util.ShortcutKeyMaskExWrapper
327    .getMenuShortcutKeyMaskEx(),
328    false);
329  453 al = new ActionListener()
330    {
 
331  0 toggle @Override
332    public void actionPerformed(ActionEvent e)
333    {
334  0 selectAllSequenceMenuItem_actionPerformed(e);
335    }
336    };
337  453 addMenuActionAndAccelerator(keyStroke, selectAllSequenceMenuItem, al);
338   
339  453 JMenuItem deselectAllSequenceMenuItem = new JMenuItem(
340    MessageManager.getString("action.deselect_all"));
341  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
342  453 al = new ActionListener()
343    {
 
344  0 toggle @Override
345    public void actionPerformed(ActionEvent e)
346    {
347  0 deselectAllSequenceMenuItem_actionPerformed(e);
348    }
349    };
350  453 addMenuActionAndAccelerator(keyStroke, deselectAllSequenceMenuItem, al);
351   
352  453 JMenuItem invertSequenceMenuItem = new JMenuItem(
353    MessageManager.getString("action.invert_sequence_selection"));
354  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
355    jalview.util.ShortcutKeyMaskExWrapper
356    .getMenuShortcutKeyMaskEx(),
357    false);
358  453 al = new ActionListener()
359    {
 
360  0 toggle @Override
361    public void actionPerformed(ActionEvent e)
362    {
363  0 invertSequenceMenuItem_actionPerformed(e);
364    }
365    };
366  453 addMenuActionAndAccelerator(keyStroke, invertSequenceMenuItem, al);
367   
368  453 JMenuItem grpsFromSelection = new JMenuItem(
369    MessageManager.getString("action.make_groups_selection"));
370  453 grpsFromSelection.addActionListener(new ActionListener()
371    {
 
372  0 toggle @Override
373    public void actionPerformed(ActionEvent e)
374    {
375  0 makeGrpsFromSelection_actionPerformed(e);
376    }
377    });
378  453 JMenuItem expandAlignment = new JMenuItem(
379    MessageManager.getString("action.view_flanking_regions"));
380  453 expandAlignment.setToolTipText(
381    MessageManager.getString("label.view_flanking_regions"));
382  453 expandAlignment.addActionListener(new ActionListener()
383    {
 
384  0 toggle @Override
385    public void actionPerformed(ActionEvent e)
386    {
387  0 expand_newalign(e);
388    }
389    });
390  453 JMenuItem remove2LeftMenuItem = new JMenuItem(
391    MessageManager.getString("action.remove_left"));
392  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L,
393    jalview.util.ShortcutKeyMaskExWrapper
394    .getMenuShortcutKeyMaskEx(),
395    false);
396  453 al = new ActionListener()
397    {
 
398  0 toggle @Override
399    public void actionPerformed(ActionEvent e)
400    {
401  0 remove2LeftMenuItem_actionPerformed(e);
402    }
403    };
404  453 addMenuActionAndAccelerator(keyStroke, remove2LeftMenuItem, al);
405   
406  453 JMenuItem remove2RightMenuItem = new JMenuItem(
407    MessageManager.getString("action.remove_right"));
408  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R,
409    jalview.util.ShortcutKeyMaskExWrapper
410    .getMenuShortcutKeyMaskEx(),
411    false);
412  453 al = new ActionListener()
413    {
 
414  0 toggle @Override
415    public void actionPerformed(ActionEvent e)
416    {
417  0 remove2RightMenuItem_actionPerformed(e);
418    }
419    };
420  453 addMenuActionAndAccelerator(keyStroke, remove2RightMenuItem, al);
421   
422  453 JMenuItem removeGappedColumnMenuItem = new JMenuItem(
423    MessageManager.getString("action.remove_empty_columns"));
424  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
425    jalview.util.ShortcutKeyMaskExWrapper
426    .getMenuShortcutKeyMaskEx(),
427    false);
428  453 al = new ActionListener()
429    {
 
430  0 toggle @Override
431    public void actionPerformed(ActionEvent e)
432    {
433  0 removeGappedColumnMenuItem_actionPerformed(e);
434    }
435    };
436  453 addMenuActionAndAccelerator(keyStroke, removeGappedColumnMenuItem, al);
437   
438  453 JMenuItem removeAllGapsMenuItem = new JMenuItem(
439    MessageManager.getString("action.remove_all_gaps"));
440  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
441    jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
442    | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
443    false);
444  453 al = new ActionListener()
445    {
 
446  0 toggle @Override
447    public void actionPerformed(ActionEvent e)
448    {
449  0 removeAllGapsMenuItem_actionPerformed(e);
450    }
451    };
452  453 addMenuActionAndAccelerator(keyStroke, removeAllGapsMenuItem, al);
453   
454  453 JMenuItem justifyLeftMenuItem = new JMenuItem(
455    MessageManager.getString("action.left_justify"));
456  453 justifyLeftMenuItem.setToolTipText(
457    MessageManager.getString("tooltip.left_justify"));
458  453 justifyLeftMenuItem.addActionListener(new ActionListener()
459    {
 
460  0 toggle @Override
461    public void actionPerformed(ActionEvent e)
462    {
463  0 justifyLeftMenuItem_actionPerformed(e);
464    }
465    });
466  453 JMenuItem justifyRightMenuItem = new JMenuItem(
467    MessageManager.getString("action.right_justify"));
468  453 justifyRightMenuItem.setToolTipText(
469    MessageManager.getString("action.left_justify"));
470   
471  453 justifyRightMenuItem.addActionListener(new ActionListener()
472    {
 
473  0 toggle @Override
474    public void actionPerformed(ActionEvent e)
475    {
476  0 justifyRightMenuItem_actionPerformed(e);
477    }
478    });
479  453 viewBoxesMenuItem.setText(MessageManager.getString("action.boxes"));
480  453 viewBoxesMenuItem.setState(true);
481  453 viewBoxesMenuItem.addActionListener(new ActionListener()
482    {
 
483  0 toggle @Override
484    public void actionPerformed(ActionEvent e)
485    {
486  0 viewBoxesMenuItem_actionPerformed(e);
487    }
488    });
489  453 viewTextMenuItem.setText(MessageManager.getString("action.text"));
490  453 viewTextMenuItem.setState(true);
491  453 viewTextMenuItem.addActionListener(new ActionListener()
492    {
 
493  0 toggle @Override
494    public void actionPerformed(ActionEvent e)
495    {
496  0 viewTextMenuItem_actionPerformed(e);
497    }
498    });
499  453 showNonconservedMenuItem
500    .setText(MessageManager.getString("label.show_non_conserved"));
501  453 showNonconservedMenuItem.setState(false);
502  453 showNonconservedMenuItem.addActionListener(new ActionListener()
503    {
 
504  0 toggle @Override
505    public void actionPerformed(ActionEvent e)
506    {
507  0 showUnconservedMenuItem_actionPerformed(e);
508    }
509    });
510  453 JMenuItem sortPairwiseMenuItem = new JMenuItem(
511    MessageManager.getString("action.by_pairwise_id"));
512  453 sortPairwiseMenuItem.addActionListener(new ActionListener()
513    {
 
514  0 toggle @Override
515    public void actionPerformed(ActionEvent e)
516    {
517  0 sortPairwiseMenuItem_actionPerformed(e);
518    }
519    });
520  453 JMenuItem sortIDMenuItem = new JMenuItem(
521    MessageManager.getString("action.by_id"));
522  453 sortIDMenuItem.addActionListener(new ActionListener()
523    {
 
524  0 toggle @Override
525    public void actionPerformed(ActionEvent e)
526    {
527  0 sortIDMenuItem_actionPerformed(e);
528    }
529    });
530  453 JMenuItem sortLengthMenuItem = new JMenuItem(
531    MessageManager.getString("action.by_length"));
532  453 sortLengthMenuItem.addActionListener(new ActionListener()
533    {
 
534  0 toggle @Override
535    public void actionPerformed(ActionEvent e)
536    {
537  0 sortLengthMenuItem_actionPerformed(e);
538    }
539    });
540  453 JMenuItem sortGroupMenuItem = new JMenuItem(
541    MessageManager.getString("action.by_group"));
542  453 sortGroupMenuItem.addActionListener(new ActionListener()
543    {
 
544  0 toggle @Override
545    public void actionPerformed(ActionEvent e)
546    {
547  0 sortGroupMenuItem_actionPerformed(e);
548    }
549    });
550   
551  453 JMenuItem removeRedundancyMenuItem = new JMenuItem(
552    MessageManager.getString("action.remove_redundancy"));
553  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D,
554    jalview.util.ShortcutKeyMaskExWrapper
555    .getMenuShortcutKeyMaskEx(),
556    false);
557  453 al = new ActionListener()
558    {
 
559  0 toggle @Override
560    public void actionPerformed(ActionEvent e)
561    {
562  0 removeRedundancyMenuItem_actionPerformed(e);
563    }
564    };
565  453 addMenuActionAndAccelerator(keyStroke, removeRedundancyMenuItem, al);
566   
567  453 JMenuItem pairwiseAlignmentMenuItem = new JMenuItem(
568    MessageManager.getString("action.pairwise_alignment"));
569  453 pairwiseAlignmentMenuItem.addActionListener(new ActionListener()
570    {
 
571  0 toggle @Override
572    public void actionPerformed(ActionEvent e)
573    {
574  0 pairwiseAlignmentMenuItem_actionPerformed(e);
575    }
576    });
577   
578  453 this.getContentPane().setLayout(new BorderLayout());
579  453 alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
580  453 statusBar.setBackground(Color.white);
581  453 statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
582  453 statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
583  453 statusBar.setText(MessageManager.getString("label.status_bar"));
584  453 outputTextboxMenu
585    .setText(MessageManager.getString("label.out_to_textbox"));
586   
587  453 annotationPanelMenuItem.setActionCommand("");
588  453 annotationPanelMenuItem
589    .setText(MessageManager.getString("label.show_annotations"));
590  453 annotationPanelMenuItem
591    .setState(Cache.getDefault("SHOW_ANNOTATIONS", true));
592  453 annotationPanelMenuItem.addActionListener(new ActionListener()
593    {
 
594  0 toggle @Override
595    public void actionPerformed(ActionEvent e)
596    {
597  0 annotationPanelMenuItem_actionPerformed(e);
598    }
599    });
600  453 showAllAlAnnotations.setText(
601    MessageManager.getString("label.show_all_al_annotations"));
602  453 final boolean isAnnotationPanelShown = annotationPanelMenuItem
603    .getState();
604  453 showAllAlAnnotations.setEnabled(isAnnotationPanelShown);
605  453 showAllAlAnnotations.addActionListener(new ActionListener()
606    {
 
607  0 toggle @Override
608    public void actionPerformed(ActionEvent e)
609    {
610  0 showAllAnnotations_actionPerformed(false, true);
611    }
612    });
613  453 hideAllAlAnnotations.setText(
614    MessageManager.getString("label.hide_all_al_annotations"));
615  453 hideAllAlAnnotations.setEnabled(isAnnotationPanelShown);
616  453 hideAllAlAnnotations.addActionListener(new ActionListener()
617    {
 
618  0 toggle @Override
619    public void actionPerformed(ActionEvent e)
620    {
621  0 hideAllAnnotations_actionPerformed(false, true);
622    }
623    });
624  453 showAllSeqAnnotations.setText(
625    MessageManager.getString("label.show_all_seq_annotations"));
626  453 showAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
627  453 showAllSeqAnnotations.addActionListener(new ActionListener()
628    {
 
629  0 toggle @Override
630    public void actionPerformed(ActionEvent e)
631    {
632  0 showAllAnnotations_actionPerformed(true, false);
633    }
634    });
635  453 hideAllSeqAnnotations.setText(
636    MessageManager.getString("label.hide_all_seq_annotations"));
637  453 hideAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
638  453 hideAllSeqAnnotations.addActionListener(new ActionListener()
639    {
 
640  0 toggle @Override
641    public void actionPerformed(ActionEvent e)
642    {
643  0 hideAllAnnotations_actionPerformed(true, false);
644    }
645    });
646  453 SequenceAnnotationOrder sortAnnotationsBy = SequenceAnnotationOrder
647    .valueOf(Cache.getDefault(Preferences.SORT_ANNOTATIONS,
648    SequenceAnnotationOrder.NONE.name()));
649  453 final JCheckBoxMenuItem sortAnnBySequence = new JCheckBoxMenuItem(
650    MessageManager.getString("label.sort_annotations_by_sequence"));
651  453 final JCheckBoxMenuItem sortAnnByLabel = new JCheckBoxMenuItem(
652    MessageManager.getString("label.sort_annotations_by_label"));
653   
654  453 sortAnnBySequence.setSelected(
655    sortAnnotationsBy == SequenceAnnotationOrder.SEQUENCE_AND_LABEL);
656  453 sortAnnBySequence.addActionListener(new ActionListener()
657    {
 
658  0 toggle @Override
659    public void actionPerformed(ActionEvent e)
660    {
661  0 boolean newState = sortAnnBySequence.getState();
662  0 sortAnnByLabel.setSelected(false);
663  0 setAnnotationSortOrder(
664  0 newState ? SequenceAnnotationOrder.SEQUENCE_AND_LABEL
665    : SequenceAnnotationOrder.NONE);
666  0 sortAnnotations_actionPerformed();
667    }
668    });
669  453 sortAnnByLabel.setSelected(
670    sortAnnotationsBy == SequenceAnnotationOrder.LABEL_AND_SEQUENCE);
671  453 sortAnnByLabel.addActionListener(new ActionListener()
672    {
 
673  0 toggle @Override
674    public void actionPerformed(ActionEvent e)
675    {
676  0 boolean newState = sortAnnByLabel.getState();
677  0 sortAnnBySequence.setSelected(false);
678  0 setAnnotationSortOrder(
679  0 newState ? SequenceAnnotationOrder.LABEL_AND_SEQUENCE
680    : SequenceAnnotationOrder.NONE);
681  0 sortAnnotations_actionPerformed();
682    }
683    });
684  453 colourTextMenuItem = new JCheckBoxMenuItem(
685    MessageManager.getString("label.colour_text"));
686  453 colourTextMenuItem.addActionListener(new ActionListener()
687    {
 
688  0 toggle @Override
689    public void actionPerformed(ActionEvent e)
690    {
691  0 colourTextMenuItem_actionPerformed(e);
692    }
693    });
694   
695  453 JMenuItem htmlMenuItem = new JMenuItem(
696    MessageManager.getString("label.html"));
697  453 htmlMenuItem.addActionListener(new ActionListener()
698    {
 
699  0 toggle @Override
700    public void actionPerformed(ActionEvent e)
701    {
702  0 htmlMenuItem_actionPerformed(e);
703    }
704    });
705   
706  453 JMenuItem createBioJS = new JMenuItem(
707    MessageManager.getString("label.biojs_html_export"));
708  453 createBioJS.addActionListener(new java.awt.event.ActionListener()
709    {
 
710  0 toggle @Override
711    public void actionPerformed(ActionEvent e)
712    {
713  0 bioJSMenuItem_actionPerformed(e);
714    }
715    });
716   
717  453 JMenuItem overviewMenuItem = new JMenuItem(
718    MessageManager.getString("label.overview_window"));
719  453 overviewMenuItem.addActionListener(new ActionListener()
720    {
 
721  0 toggle @Override
722    public void actionPerformed(ActionEvent e)
723    {
724  0 overviewMenuItem_actionPerformed(e);
725    }
726    });
727   
728  453 undoMenuItem.setEnabled(false);
729  453 undoMenuItem.setText(MessageManager.getString("action.undo"));
730  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z,
731    jalview.util.ShortcutKeyMaskExWrapper
732    .getMenuShortcutKeyMaskEx(),
733    false);
734  453 al = new ActionListener()
735    {
 
736  0 toggle @Override
737    public void actionPerformed(ActionEvent e)
738    {
739  0 undoMenuItem_actionPerformed(e);
740    }
741    };
742  453 addMenuActionAndAccelerator(keyStroke, undoMenuItem, al);
743   
744  453 redoMenuItem.setEnabled(false);
745  453 redoMenuItem.setText(MessageManager.getString("action.redo"));
746  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y,
747    jalview.util.ShortcutKeyMaskExWrapper
748    .getMenuShortcutKeyMaskEx(),
749    false);
750  453 al = new ActionListener()
751    {
 
752  0 toggle @Override
753    public void actionPerformed(ActionEvent e)
754    {
755  0 redoMenuItem_actionPerformed(e);
756    }
757    };
758  453 addMenuActionAndAccelerator(keyStroke, redoMenuItem, al);
759   
760  453 wrapMenuItem.setText(MessageManager.getString("label.wrap"));
761  453 wrapMenuItem.addActionListener(new ActionListener()
762    {
 
763  0 toggle @Override
764    public void actionPerformed(ActionEvent e)
765    {
766  0 wrapMenuItem_actionPerformed(e);
767    }
768    });
769   
770  453 JMenuItem printMenuItem = new JMenuItem(
771    MessageManager.getString("action.print"));
772  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P,
773    jalview.util.ShortcutKeyMaskExWrapper
774    .getMenuShortcutKeyMaskEx(),
775    false);
776  453 al = new ActionListener()
777    {
 
778  0 toggle @Override
779    public void actionPerformed(ActionEvent e)
780    {
781  0 printMenuItem_actionPerformed(e);
782    }
783    };
784  453 addMenuActionAndAccelerator(keyStroke, printMenuItem, al);
785   
786  453 renderGapsMenuItem
787    .setText(MessageManager.getString("action.show_gaps"));
788  453 renderGapsMenuItem.setState(true);
789  453 renderGapsMenuItem.addActionListener(new ActionListener()
790    {
 
791  0 toggle @Override
792    public void actionPerformed(ActionEvent e)
793    {
794  0 renderGapsMenuItem_actionPerformed(e);
795    }
796    });
797   
798  453 JMenuItem findMenuItem = new JMenuItem(
799    MessageManager.getString("action.find"));
800  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F,
801    jalview.util.ShortcutKeyMaskExWrapper
802    .getMenuShortcutKeyMaskEx(),
803    false);
804  453 findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true,
805    MessageManager.getString("label.find_tip")));
806  453 al = new ActionListener()
807    {
 
808  0 toggle @Override
809    public void actionPerformed(ActionEvent e)
810    {
811  0 findMenuItem_actionPerformed(e);
812    }
813    };
814  453 addMenuActionAndAccelerator(keyStroke, findMenuItem, al);
815   
816  453 showSeqFeatures.setText(
817    MessageManager.getString("label.show_sequence_features"));
818  453 showSeqFeatures.addActionListener(new ActionListener()
819    {
 
820  0 toggle @Override
821    public void actionPerformed(ActionEvent actionEvent)
822    {
823  0 showSeqFeatures_actionPerformed(actionEvent);
824    }
825    });
826    /*
827    * showSeqFeaturesHeight.setText("Vary Sequence Feature Height");
828    * showSeqFeaturesHeight.addActionListener(new ActionListener() { public
829    * void actionPerformed(ActionEvent actionEvent) {
830    * showSeqFeaturesHeight_actionPerformed(actionEvent); } });
831    */
832  453 showDbRefsMenuitem
833    .setText(MessageManager.getString("label.show_database_refs"));
834  453 showDbRefsMenuitem.addActionListener(new ActionListener()
835    {
836   
 
837  0 toggle @Override
838    public void actionPerformed(ActionEvent e)
839    {
840  0 showDbRefs_actionPerformed(e);
841    }
842   
843    });
844  453 showNpFeatsMenuitem.setText(
845    MessageManager.getString("label.show_non_positional_features"));
846  453 showNpFeatsMenuitem.addActionListener(new ActionListener()
847    {
848   
 
849  0 toggle @Override
850    public void actionPerformed(ActionEvent e)
851    {
852  0 showNpFeats_actionPerformed(e);
853    }
854   
855    });
856  453 showGroupConservation
857    .setText(MessageManager.getString("label.group_conservation"));
858  453 showGroupConservation.addActionListener(new ActionListener()
859    {
860   
 
861  0 toggle @Override
862    public void actionPerformed(ActionEvent e)
863    {
864  0 showGroupConservation_actionPerformed(e);
865    }
866   
867    });
868   
869  453 showGroupConsensus
870    .setText(MessageManager.getString("label.group_consensus"));
871  453 showGroupConsensus.addActionListener(new ActionListener()
872    {
873   
 
874  0 toggle @Override
875    public void actionPerformed(ActionEvent e)
876    {
877  0 showGroupConsensus_actionPerformed(e);
878    }
879   
880    });
881  453 showConsensusHistogram.setText(
882    MessageManager.getString("label.show_consensus_histogram"));
883  453 showConsensusHistogram.addActionListener(new ActionListener()
884    {
885   
 
886  0 toggle @Override
887    public void actionPerformed(ActionEvent e)
888    {
889  0 showConsensusHistogram_actionPerformed(e);
890    }
891   
892    });
893  453 showSSConsensusHistogram.setText(
894    MessageManager.getString("label.show_ssconsensus_histogram"));
895  453 showSSConsensusHistogram.addActionListener(new ActionListener()
896    {
897   
 
898  0 toggle @Override
899    public void actionPerformed(ActionEvent e)
900    {
901  0 showConsensusHistogram_actionPerformed(e);
902    }
903   
904    });
905  453 showSequenceLogo
906    .setText(MessageManager.getString("label.show_consensus_logo"));
907  453 showSequenceLogo.addActionListener(new ActionListener()
908    {
909   
 
910  0 toggle @Override
911    public void actionPerformed(ActionEvent e)
912    {
913  0 showSequenceLogo_actionPerformed(e);
914    }
915   
916    });
917  453 normaliseSequenceLogo
918    .setText(MessageManager.getString("label.norm_consensus_logo"));
919  453 normaliseSequenceLogo.addActionListener(new ActionListener()
920    {
921   
 
922  0 toggle @Override
923    public void actionPerformed(ActionEvent e)
924    {
925  0 normaliseSequenceLogo_actionPerformed(e);
926    }
927   
928    });
929  453 applyAutoAnnotationSettings
930    .setText(MessageManager.getString("label.apply_all_groups"));
931  453 applyAutoAnnotationSettings.setState(false);
932  453 applyAutoAnnotationSettings.setVisible(true);
933  453 applyAutoAnnotationSettings.addActionListener(new ActionListener()
934    {
 
935  0 toggle @Override
936    public void actionPerformed(ActionEvent e)
937    {
938  0 applyAutoAnnotationSettings_actionPerformed(e);
939    }
940    });
941   
942  453 ButtonGroup buttonGroup = new ButtonGroup();
943  453 final JRadioButtonMenuItem showAutoFirst = new JRadioButtonMenuItem(
944    MessageManager.getString("label.show_first"));
945  453 final JRadioButtonMenuItem showAutoLast = new JRadioButtonMenuItem(
946    MessageManager.getString("label.show_last"));
947  453 buttonGroup.add(showAutoFirst);
948  453 buttonGroup.add(showAutoLast);
949  453 final boolean autoFirst = Cache
950    .getDefault(Preferences.SHOW_AUTOCALC_ABOVE, false);
951  453 showAutoFirst.setSelected(autoFirst);
952  453 setShowAutoCalculatedAbove(autoFirst);
953  453 showAutoFirst.addActionListener(new ActionListener()
954    {
 
955  0 toggle @Override
956    public void actionPerformed(ActionEvent e)
957    {
958  0 setShowAutoCalculatedAbove(showAutoFirst.isSelected());
959  0 sortAnnotations_actionPerformed();
960    }
961    });
962  453 showAutoLast.setSelected(!showAutoFirst.isSelected());
963  453 showAutoLast.addActionListener(new ActionListener()
964    {
 
965  0 toggle @Override
966    public void actionPerformed(ActionEvent e)
967    {
968  0 setShowAutoCalculatedAbove(!showAutoLast.isSelected());
969  0 sortAnnotations_actionPerformed();
970    }
971    });
972   
973  453 JMenuItem deleteGroups = new JMenuItem(
974    MessageManager.getString("action.undefine_groups"));
975  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U,
976    jalview.util.ShortcutKeyMaskExWrapper
977    .getMenuShortcutKeyMaskEx(),
978    false);
979  453 al = new ActionListener()
980    {
 
981  0 toggle @Override
982    public void actionPerformed(ActionEvent e)
983    {
984  0 deleteGroups_actionPerformed(e);
985    }
986    };
987  453 addMenuActionAndAccelerator(keyStroke, deleteGroups, al);
988   
989  453 JMenuItem annotationColumn = new JMenuItem(
990    MessageManager.getString("action.select_by_annotation"));
991  453 annotationColumn.addActionListener(new ActionListener()
992    {
 
993  0 toggle @Override
994    public void actionPerformed(ActionEvent e)
995    {
996  0 annotationColumn_actionPerformed(e);
997    }
998    });
999   
1000  453 JMenuItem createGroup = new JMenuItem(
1001    MessageManager.getString("action.create_group"));
1002  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
1003    jalview.util.ShortcutKeyMaskExWrapper
1004    .getMenuShortcutKeyMaskEx(),
1005    false);
1006  453 al = new ActionListener()
1007    {
 
1008  0 toggle @Override
1009    public void actionPerformed(ActionEvent e)
1010    {
1011  0 createGroup_actionPerformed(e);
1012    }
1013    };
1014  453 addMenuActionAndAccelerator(keyStroke, createGroup, al);
1015   
1016  453 JMenuItem unGroup = new JMenuItem(
1017    MessageManager.getString("action.remove_group"));
1018  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
1019    jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
1020    | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
1021    false);
1022  453 al = new ActionListener()
1023    {
 
1024  0 toggle @Override
1025    public void actionPerformed(ActionEvent e)
1026    {
1027  0 unGroup_actionPerformed(e);
1028    }
1029    };
1030  453 addMenuActionAndAccelerator(keyStroke, unGroup, al);
1031   
1032  453 copy.setText(MessageManager.getString("action.copy"));
1033  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C,
1034    jalview.util.ShortcutKeyMaskExWrapper
1035    .getMenuShortcutKeyMaskEx(),
1036    false);
1037   
1038  453 al = new ActionListener()
1039    {
 
1040  0 toggle @Override
1041    public void actionPerformed(ActionEvent e)
1042    {
1043  0 copy_actionPerformed();
1044    }
1045    };
1046  453 addMenuActionAndAccelerator(keyStroke, copy, al);
1047   
1048  453 cut.setText(MessageManager.getString("action.cut"));
1049  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X,
1050    jalview.util.ShortcutKeyMaskExWrapper
1051    .getMenuShortcutKeyMaskEx(),
1052    false);
1053  453 al = new ActionListener()
1054    {
 
1055  0 toggle @Override
1056    public void actionPerformed(ActionEvent e)
1057    {
1058  0 cut_actionPerformed();
1059    }
1060    };
1061  453 addMenuActionAndAccelerator(keyStroke, cut, al);
1062   
1063  453 JMenuItem delete = new JMenuItem(
1064    MessageManager.getString("action.delete"));
1065  453 delete.addActionListener(new ActionListener()
1066    {
 
1067  0 toggle @Override
1068    public void actionPerformed(ActionEvent e)
1069    {
1070  0 delete_actionPerformed();
1071    }
1072    });
1073   
1074  453 pasteMenu.setText(MessageManager.getString("action.paste"));
1075  453 JMenuItem pasteNew = new JMenuItem(
1076    MessageManager.getString("label.to_new_alignment"));
1077  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V,
1078    jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
1079    | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
1080    false);
1081  453 al = new ActionListener()
1082    {
 
1083  0 toggle @Override
1084    public void actionPerformed(ActionEvent e)
1085    {
1086  0 pasteNew_actionPerformed(e);
1087    }
1088    };
1089  453 addMenuActionAndAccelerator(keyStroke, pasteNew, al);
1090   
1091  453 JMenuItem pasteThis = new JMenuItem(
1092    MessageManager.getString("label.to_this_alignment"));
1093  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V,
1094    jalview.util.ShortcutKeyMaskExWrapper
1095    .getMenuShortcutKeyMaskEx(),
1096    false);
1097  453 al = new ActionListener()
1098    {
 
1099  0 toggle @Override
1100    public void actionPerformed(ActionEvent e)
1101    {
1102  0 pasteThis_actionPerformed(e);
1103    }
1104    };
1105  453 addMenuActionAndAccelerator(keyStroke, pasteThis, al);
1106   
1107  453 JMenuItem createPNG = new JMenuItem("PNG");
1108  453 createPNG.addActionListener(new ActionListener()
1109    {
 
1110  0 toggle @Override
1111    public void actionPerformed(ActionEvent e)
1112    {
1113  0 createPNG_actionPerformed(e);
1114    }
1115    });
1116  453 createPNG.setActionCommand(
1117    MessageManager.getString("label.save_png_image"));
1118   
1119  453 JMenuItem font = new JMenuItem(MessageManager.getString("action.font"));
1120  453 font.addActionListener(new ActionListener()
1121    {
 
1122  0 toggle @Override
1123    public void actionPerformed(ActionEvent e)
1124    {
1125  0 font_actionPerformed(e);
1126    }
1127    });
1128  453 seqLimits.setText(
1129    MessageManager.getString("label.show_sequence_limits"));
1130  453 seqLimits.setState(Cache.getDefault("SHOW_JVSUFFIX", true));
1131  453 seqLimits.addActionListener(new ActionListener()
1132    {
 
1133  0 toggle @Override
1134    public void actionPerformed(ActionEvent e)
1135    {
1136  0 seqLimit_actionPerformed(e);
1137    }
1138    });
1139  453 JMenuItem epsFile = new JMenuItem("EPS");
1140  453 epsFile.addActionListener(new ActionListener()
1141    {
 
1142  0 toggle @Override
1143    public void actionPerformed(ActionEvent e)
1144    {
1145  0 createEPS_actionPerformed(e);
1146    }
1147    });
1148   
1149  453 JMenuItem createSVG = new JMenuItem("SVG");
1150  453 createSVG.addActionListener(new ActionListener()
1151    {
 
1152  0 toggle @Override
1153    public void actionPerformed(ActionEvent e)
1154    {
1155  0 createSVG_actionPerformed(e);
1156    }
1157    });
1158   
1159  453 JMenuItem loadTreeMenuItem = new JMenuItem(
1160    MessageManager.getString("label.load_associated_tree"));
1161  453 loadTreeMenuItem.setActionCommand(
1162    MessageManager.getString("label.load_tree_for_sequence_set"));
1163  453 loadTreeMenuItem.addActionListener(new ActionListener()
1164    {
 
1165  0 toggle @Override
1166    public void actionPerformed(ActionEvent e)
1167    {
1168  0 loadTreeMenuItem_actionPerformed(e);
1169    }
1170    });
1171   
1172  453 scaleAbove.setVisible(false);
1173  453 scaleAbove.setText(MessageManager.getString("action.scale_above"));
1174  453 scaleAbove.addActionListener(new ActionListener()
1175    {
 
1176  0 toggle @Override
1177    public void actionPerformed(ActionEvent e)
1178    {
1179  0 scaleAbove_actionPerformed(e);
1180    }
1181    });
1182  453 scaleLeft.setVisible(false);
1183  453 scaleLeft.setSelected(true);
1184  453 scaleLeft.setText(MessageManager.getString("action.scale_left"));
1185  453 scaleLeft.addActionListener(new ActionListener()
1186    {
 
1187  0 toggle @Override
1188    public void actionPerformed(ActionEvent e)
1189    {
1190  0 scaleLeft_actionPerformed(e);
1191    }
1192    });
1193  453 scaleRight.setVisible(false);
1194  453 scaleRight.setSelected(true);
1195  453 scaleRight.setText(MessageManager.getString("action.scale_right"));
1196  453 scaleRight.addActionListener(new ActionListener()
1197    {
 
1198  0 toggle @Override
1199    public void actionPerformed(ActionEvent e)
1200    {
1201  0 scaleRight_actionPerformed(e);
1202    }
1203    });
1204  453 centreColumnLabelsMenuItem.setVisible(true);
1205  453 centreColumnLabelsMenuItem.setState(false);
1206  453 centreColumnLabelsMenuItem.setText(
1207    MessageManager.getString("label.centre_column_labels"));
1208  453 centreColumnLabelsMenuItem.addActionListener(new ActionListener()
1209    {
 
1210  0 toggle @Override
1211    public void actionPerformed(ActionEvent e)
1212    {
1213  0 centreColumnLabels_actionPerformed(e);
1214    }
1215    });
1216  453 followHighlightMenuItem.setVisible(true);
1217  453 followHighlightMenuItem.setState(true);
1218  453 followHighlightMenuItem
1219    .setText(MessageManager.getString("label.automatic_scrolling"));
1220  453 followHighlightMenuItem.addActionListener(new ActionListener()
1221    {
1222   
 
1223  0 toggle @Override
1224    public void actionPerformed(ActionEvent e)
1225    {
1226  0 followHighlight_actionPerformed();
1227    }
1228   
1229    });
1230   
1231  453 sortByTreeMenu
1232    .setText(MessageManager.getString("action.by_tree_order"));
1233  453 sort.setText(MessageManager.getString("action.sort"));
1234  453 sort.addMenuListener(new MenuListener()
1235    {
 
1236  0 toggle @Override
1237    public void menuSelected(MenuEvent e)
1238    {
1239  0 buildTreeSortMenu();
1240    }
1241   
 
1242  0 toggle @Override
1243    public void menuDeselected(MenuEvent e)
1244    {
1245    }
1246   
 
1247  0 toggle @Override
1248    public void menuCanceled(MenuEvent e)
1249    {
1250    }
1251    });
1252  453 sortByAnnotScore
1253    .setText(MessageManager.getString("label.sort_by_score"));
1254  453 sort.add(sortByAnnotScore);
1255  453 sort.addMenuListener(new javax.swing.event.MenuListener()
1256    {
1257   
 
1258  0 toggle @Override
1259    public void menuCanceled(MenuEvent e)
1260    {
1261    }
1262   
 
1263  0 toggle @Override
1264    public void menuDeselected(MenuEvent e)
1265    {
1266    }
1267   
 
1268  0 toggle @Override
1269    public void menuSelected(MenuEvent e)
1270    {
1271  0 buildSortByAnnotationScoresMenu();
1272    }
1273    });
1274  453 sortByAnnotScore.setVisible(false);
1275   
1276  453 calculateTree
1277    .setText(MessageManager.getString("action.calculate_tree_pca"));
1278   
1279  453 padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps"));
1280  453 padGapsMenuitem.setState(Cache.getDefault("PAD_GAPS", false));
1281  453 padGapsMenuitem.addActionListener(new ActionListener()
1282    {
 
1283  0 toggle @Override
1284    public void actionPerformed(ActionEvent e)
1285    {
1286  0 padGapsMenuitem_actionPerformed(e);
1287    }
1288    });
1289  453 JMenuItem vamsasStore = new JMenuItem(
1290    MessageManager.getString("label.vamsas_store"));
1291  453 vamsasStore.setVisible(false);
1292  453 vamsasStore.addActionListener(new ActionListener()
1293    {
 
1294  0 toggle @Override
1295    public void actionPerformed(ActionEvent e)
1296    {
1297  0 vamsasStore_actionPerformed(e);
1298    }
1299    });
1300   
1301    /*
1302    * Translate as cDNA with sub-menu of translation tables
1303    */
1304  453 showTranslation
1305    .setText(MessageManager.getString("label.translate_cDNA"));
1306  453 boolean first = true;
1307  453 for (final GeneticCodeI table : GeneticCodes.getInstance()
1308    .getCodeTables())
1309    {
1310  11325 JMenuItem item = new JMenuItem(table.getId() + " " + table.getName());
1311  11325 showTranslation.add(item);
1312  11325 item.addActionListener(new ActionListener()
1313    {
 
1314  0 toggle @Override
1315    public void actionPerformed(ActionEvent e)
1316    {
1317  0 showTranslation_actionPerformed(table);
1318    }
1319    });
1320  11325 if (first)
1321    {
1322  453 showTranslation.addSeparator();
1323    }
1324  11325 first = false;
1325    }
1326   
1327  453 showReverse.setText(MessageManager.getString("label.reverse"));
1328  453 showReverse.addActionListener(new ActionListener()
1329    {
 
1330  0 toggle @Override
1331    public void actionPerformed(ActionEvent e)
1332    {
1333  0 showReverse_actionPerformed(false);
1334    }
1335    });
1336  453 showReverseComplement
1337    .setText(MessageManager.getString("label.reverse_complement"));
1338  453 showReverseComplement.addActionListener(new ActionListener()
1339    {
 
1340  0 toggle @Override
1341    public void actionPerformed(ActionEvent e)
1342    {
1343  0 showReverse_actionPerformed(true);
1344    }
1345    });
1346   
1347  453 JMenuItem extractScores = new JMenuItem(
1348    MessageManager.getString("label.extract_scores"));
1349  453 extractScores.addActionListener(new ActionListener()
1350    {
 
1351  0 toggle @Override
1352    public void actionPerformed(ActionEvent e)
1353    {
1354  0 extractScores_actionPerformed(e);
1355    }
1356    });
1357  453 extractScores.setVisible(true);
1358    // JBPNote: TODO: make gui for regex based score extraction
1359   
1360    // for show products actions see AlignFrame.canShowProducts
1361  453 showProducts.setText(MessageManager.getString("label.get_cross_refs"));
1362   
1363  453 runGroovy.setText(MessageManager.getString("label.run_groovy"));
1364  453 runGroovy.setToolTipText(
1365    MessageManager.getString("label.run_groovy_tip"));
1366  453 runGroovy.addActionListener(new ActionListener()
1367    {
 
1368  0 toggle @Override
1369    public void actionPerformed(ActionEvent e)
1370    {
1371  0 runGroovy_actionPerformed();
1372    }
1373    });
1374   
1375  453 openFeatureSettings = new JMenuItem(
1376    MessageManager.getString("action.feature_settings"));
1377  453 openFeatureSettings.addActionListener(new ActionListener()
1378    {
 
1379  0 toggle @Override
1380    public void actionPerformed(ActionEvent e)
1381    {
1382  0 featureSettings_actionPerformed(e);
1383    }
1384    });
1385   
1386    /*
1387    * add sub-menu of database we can fetch from
1388    */
1389  453 JMenuItem fetchSequence = new JMenuItem(
1390    MessageManager.getString("label.fetch_sequences"));
1391  453 fetchSequence.addActionListener(new ActionListener()
1392    {
 
1393  0 toggle @Override
1394    public void actionPerformed(ActionEvent e)
1395    {
1396  0 fetchSequence_actionPerformed();
1397    }
1398    });
1399   
1400  453 JMenuItem associatedData = new JMenuItem(
1401    MessageManager.getString("label.load_features_annotations"));
1402  453 associatedData.addActionListener(new ActionListener()
1403    {
 
1404  0 toggle @Override
1405    public void actionPerformed(ActionEvent e)
1406    {
1407  0 associatedData_actionPerformed(e);
1408    }
1409    });
1410  453 loadVcf = new JMenuItem(
1411    MessageManager.getString("label.load_vcf_file"));
1412  453 loadVcf.setToolTipText(MessageManager.getString("label.load_vcf"));
1413  453 loadVcf.addActionListener(new ActionListener()
1414    {
 
1415  0 toggle @Override
1416    public void actionPerformed(ActionEvent e)
1417    {
1418  0 loadVcf_actionPerformed();
1419    }
1420    });
1421  453 autoCalculate.setText(
1422    MessageManager.getString("label.autocalculate_consensus"));
1423  453 autoCalculate.setState(Cache.getDefault("AUTO_CALC_CONSENSUS", true));
1424  453 autoCalculate.addActionListener(new ActionListener()
1425    {
 
1426  0 toggle @Override
1427    public void actionPerformed(ActionEvent e)
1428    {
1429  0 autoCalculate_actionPerformed(e);
1430    }
1431    });
1432  453 sortByTree.setText(
1433    MessageManager.getString("label.sort_alignment_new_tree"));
1434  453 sortByTree.setToolTipText("<html>" + MessageManager.getString(
1435    "label.enable_automatically_sort_alignment_when_open_new_tree"));
1436  453 sortByTree.setState(Cache.getDefault("SORT_BY_TREE", false));
1437  453 sortByTree.addActionListener(new ActionListener()
1438    {
 
1439  0 toggle @Override
1440    public void actionPerformed(ActionEvent e)
1441    {
1442  0 sortByTreeOption_actionPerformed(e);
1443    }
1444    });
1445   
1446  453 listenToViewSelections.setText(
1447    MessageManager.getString("label.listen_for_selections"));
1448  453 listenToViewSelections
1449    .setToolTipText("<html>" + MessageManager.getString(
1450    "label.selections_mirror_selections_made_same_sequences_other_views"));
1451  453 listenToViewSelections.setState(false);
1452  453 listenToViewSelections.addActionListener(new ActionListener()
1453    {
 
1454  0 toggle @Override
1455    public void actionPerformed(ActionEvent e)
1456    {
1457  0 listenToViewSelections_actionPerformed(e);
1458    }
1459    });
1460   
1461  453 JMenu addSequenceMenu = new JMenu(
1462    MessageManager.getString("label.add_sequences"));
1463  453 JMenuItem addFromFile = new JMenuItem(
1464    MessageManager.getString("label.from_file"));
1465  453 addFromFile.addActionListener(new ActionListener()
1466    {
 
1467  0 toggle @Override
1468    public void actionPerformed(ActionEvent e)
1469    {
1470  0 addFromFile_actionPerformed(e);
1471    }
1472    });
1473  453 JMenuItem addFromText = new JMenuItem(
1474    MessageManager.getString("label.from_textbox"));
1475  453 addFromText.addActionListener(new ActionListener()
1476    {
 
1477  0 toggle @Override
1478    public void actionPerformed(ActionEvent e)
1479    {
1480  0 addFromText_actionPerformed(e);
1481    }
1482    });
1483  453 JMenuItem addFromURL = new JMenuItem(
1484    MessageManager.getString("label.from_url"));
1485  453 addFromURL.addActionListener(new ActionListener()
1486    {
 
1487  0 toggle @Override
1488    public void actionPerformed(ActionEvent e)
1489    {
1490  0 addFromURL_actionPerformed(e);
1491    }
1492    });
1493  453 JMenuItem exportFeatures = new JMenuItem(
1494    MessageManager.getString("label.export_features"));
1495  453 exportFeatures.addActionListener(new ActionListener()
1496    {
 
1497  0 toggle @Override
1498    public void actionPerformed(ActionEvent e)
1499    {
1500  0 exportFeatures_actionPerformed(e);
1501    }
1502    });
1503  453 JMenuItem exportAnnotations = new JMenuItem(
1504    MessageManager.getString("label.export_annotations"));
1505  453 exportAnnotations.addActionListener(new ActionListener()
1506    {
 
1507  0 toggle @Override
1508    public void actionPerformed(ActionEvent e)
1509    {
1510  0 exportAnnotations_actionPerformed(e);
1511    }
1512    });
1513  453 statusPanel.setLayout(new GridLayout());
1514  453 JMenuItem showAllSeqs = new JMenuItem(
1515    MessageManager.getString("label.all_sequences"));
1516  453 showAllSeqs.setToolTipText(
1517    MessageManager.getString("label.toggle_sequence_visibility"));
1518  453 showAllSeqs.addActionListener(new ActionListener()
1519    {
 
1520  0 toggle @Override
1521    public void actionPerformed(ActionEvent e)
1522    {
1523  0 showAllSeqs_actionPerformed(e);
1524    }
1525    });
1526  453 JMenuItem showAllColumns = new JMenuItem(
1527    MessageManager.getString("label.all_columns"));
1528  453 showAllColumns.setToolTipText(
1529    MessageManager.getString("label.toggle_columns_visibility"));
1530  453 showAllColumns.addActionListener(new ActionListener()
1531    {
 
1532  0 toggle @Override
1533    public void actionPerformed(ActionEvent e)
1534    {
1535  0 showAllColumns_actionPerformed(e);
1536    }
1537    });
1538  453 JMenu hideMenu = new JMenu(MessageManager.getString("action.hide"));
1539  453 JMenuItem hideSelSequences = new JMenuItem(
1540    MessageManager.getString("label.selected_sequences"));
1541  453 hideSelSequences.setToolTipText(
1542    MessageManager.getString("label.toggle_sequence_visibility"));
1543  453 hideSelSequences.addActionListener(new ActionListener()
1544    {
 
1545  0 toggle @Override
1546    public void actionPerformed(ActionEvent e)
1547    {
1548  0 hideSelSequences_actionPerformed(e);
1549    }
1550    });
1551  453 JMenuItem hideSelColumns = new JMenuItem(
1552    MessageManager.getString("label.selected_columns"));
1553  453 hideSelColumns.setToolTipText(
1554    MessageManager.getString("label.toggle_columns_visibility"));
1555  453 hideSelColumns.addActionListener(new ActionListener()
1556    {
 
1557  0 toggle @Override
1558    public void actionPerformed(ActionEvent e)
1559    {
1560  0 hideSelColumns_actionPerformed(e);
1561    }
1562    });
1563  453 JMenuItem hideAllSelection = new JMenuItem(
1564    MessageManager.getString("label.selected_region"));
1565  453 hideAllSelection.addActionListener(new ActionListener()
1566    {
 
1567  0 toggle @Override
1568    public void actionPerformed(ActionEvent e)
1569    {
1570  0 hideAllSelection_actionPerformed(e);
1571    }
1572    });
1573    // TODO: should be hidden if no selection exists.
1574  453 JMenuItem hideAllButSelection = new JMenuItem(
1575    MessageManager.getString("label.all_but_selected_region"));
1576  453 hideAllButSelection.addActionListener(new ActionListener()
1577    {
 
1578  0 toggle @Override
1579    public void actionPerformed(ActionEvent e)
1580    {
1581  0 hideAllButSelection_actionPerformed(e);
1582    }
1583    });
1584  453 JMenuItem showAllhidden = new JMenuItem(
1585    MessageManager.getString("label.all_sequences_columns"));
1586  453 showAllhidden.setToolTipText(MessageManager
1587    .getString("label.toggles_visibility_hidden_selected_regions"));
1588  453 showAllhidden.addActionListener(new ActionListener()
1589    {
 
1590  0 toggle @Override
1591    public void actionPerformed(ActionEvent e)
1592    {
1593  0 showAllhidden_actionPerformed(e);
1594    }
1595    });
1596  453 hiddenMarkers.setText(
1597    MessageManager.getString("action.show_hidden_markers"));
1598  453 hiddenMarkers.addActionListener(new ActionListener()
1599    {
 
1600  0 toggle @Override
1601    public void actionPerformed(ActionEvent e)
1602    {
1603  0 hiddenMarkers_actionPerformed(e);
1604    }
1605    });
1606   
1607  453 JMenuItem invertColSel = new JMenuItem(
1608    MessageManager.getString("action.invert_column_selection"));
1609  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
1610    jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
1611    | jalview.util.ShortcutKeyMaskExWrapper.ALT_DOWN_MASK,
1612    false);
1613  453 al = new ActionListener()
1614    {
 
1615  0 toggle @Override
1616    public void actionPerformed(ActionEvent e)
1617    {
1618  0 invertColSel_actionPerformed(e);
1619    }
1620    };
1621  453 addMenuActionAndAccelerator(keyStroke, invertColSel, al);
1622   
1623  453 showComplementMenuItem.setVisible(false);
1624  453 showComplementMenuItem.addActionListener(new ActionListener()
1625    {
 
1626  0 toggle @Override
1627    public void actionPerformed(ActionEvent e)
1628    {
1629  0 showComplement_actionPerformed(showComplementMenuItem.getState());
1630    }
1631    });
1632   
1633  453 tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
1634    {
 
1635  157 toggle @Override
1636    public void stateChanged(ChangeEvent evt)
1637    {
1638  157 JTabbedPane pane = (JTabbedPane) evt.getSource();
1639  157 int sel = pane.getSelectedIndex();
1640  157 tabSelectionChanged(sel);
1641    }
1642    });
1643  453 tabbedPane.addMouseListener(new MouseAdapter()
1644    {
 
1645  0 toggle @Override
1646    public void mousePressed(MouseEvent e)
1647    {
1648  0 if (e.isPopupTrigger()) // Mac
1649    {
1650  0 tabbedPane_mousePressed(e);
1651    }
1652    }
1653   
 
1654  0 toggle @Override
1655    public void mouseReleased(MouseEvent e)
1656    {
1657  0 if (e.isPopupTrigger()) // Windows
1658    {
1659  0 tabbedPane_mousePressed(e);
1660    }
1661    }
1662    });
1663  453 tabbedPane.addFocusListener(new FocusAdapter()
1664    {
 
1665  61 toggle @Override
1666    public void focusGained(FocusEvent e)
1667    {
1668  61 tabbedPane_focusGained(e);
1669    }
1670    });
1671   
1672  453 JMenuItem save = new JMenuItem(MessageManager.getString("action.save"));
1673  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
1674    jalview.util.ShortcutKeyMaskExWrapper
1675    .getMenuShortcutKeyMaskEx(),
1676    false);
1677  453 al = new ActionListener()
1678    {
 
1679  0 toggle @Override
1680    public void actionPerformed(ActionEvent e)
1681    {
1682  0 save_actionPerformed(e);
1683    }
1684    };
1685  453 addMenuActionAndAccelerator(keyStroke, save, al);
1686   
1687  453 reload.setEnabled(false);
1688  453 reload.setText(MessageManager.getString("action.reload"));
1689  453 reload.addActionListener(new ActionListener()
1690    {
 
1691  0 toggle @Override
1692    public void actionPerformed(ActionEvent e)
1693    {
1694  0 reload_actionPerformed(e);
1695    }
1696    });
1697   
1698  453 JMenuItem newView = new JMenuItem(
1699    MessageManager.getString("action.new_view"));
1700  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T,
1701    jalview.util.ShortcutKeyMaskExWrapper
1702    .getMenuShortcutKeyMaskEx(),
1703    false);
1704  453 al = new ActionListener()
1705    {
 
1706  0 toggle @Override
1707    public void actionPerformed(ActionEvent e)
1708    {
1709  0 newView_actionPerformed(e);
1710    }
1711    };
1712  453 addMenuActionAndAccelerator(keyStroke, newView, al);
1713   
1714  453 tabbedPane.setToolTipText("<html><i>"
1715    + MessageManager.getString("label.rename_tab_eXpand_reGroup")
1716    + "</i></html>");
1717   
1718  453 formatMenu.setText(MessageManager.getString("action.format"));
1719  453 JMenu selectMenu = new JMenu(MessageManager.getString("action.select"));
1720   
1721  453 idRightAlign.setText(
1722    MessageManager.getString("label.right_align_sequence_id"));
1723  453 idRightAlign.addActionListener(new ActionListener()
1724    {
 
1725  0 toggle @Override
1726    public void actionPerformed(ActionEvent e)
1727    {
1728  0 idRightAlign_actionPerformed(e);
1729    }
1730    });
1731   
1732  453 gatherViews.setEnabled(false);
1733  453 gatherViews.setText(MessageManager.getString("action.gather_views"));
1734  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, 0, false);
1735  453 al = new ActionListener()
1736    {
 
1737  0 toggle @Override
1738    public void actionPerformed(ActionEvent e)
1739    {
1740  0 gatherViews_actionPerformed(e);
1741    }
1742    };
1743  453 addMenuActionAndAccelerator(keyStroke, gatherViews, al);
1744   
1745  453 expandViews.setEnabled(false);
1746  453 expandViews.setText(MessageManager.getString("action.expand_views"));
1747  453 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, 0, false);
1748  453 al = new ActionListener()
1749    {
 
1750  0 toggle @Override
1751    public void actionPerformed(ActionEvent e)
1752    {
1753  0 expandViews_actionPerformed(e);
1754    }
1755    };
1756  453 addMenuActionAndAccelerator(keyStroke, expandViews, al);
1757   
1758  453 JMenuItem pageSetup = new JMenuItem(
1759    MessageManager.getString("action.page_setup"));
1760  453 pageSetup.addActionListener(new ActionListener()
1761    {
 
1762  0 toggle @Override
1763    public void actionPerformed(ActionEvent e)
1764    {
1765  0 pageSetup_actionPerformed(e);
1766    }
1767    });
1768  453 JMenuItem alignmentProperties = new JMenuItem(
1769    MessageManager.getString("label.alignment_props"));
1770  453 alignmentProperties.addActionListener(new ActionListener()
1771    {
 
1772  0 toggle @Override
1773    public void actionPerformed(ActionEvent actionEvent)
1774    {
1775  0 alignmentProperties();
1776    }
1777    });
1778  453 JMenuItem selectHighlighted = new JMenuItem(
1779    MessageManager.getString("action.select_highlighted_columns"));
1780  453 selectHighlighted.setToolTipText(
1781    MessageManager.getString("tooltip.select_highlighted_columns"));
1782  453 al = new ActionListener()
1783    {
 
1784  0 toggle @Override
1785    public void actionPerformed(ActionEvent actionEvent)
1786    {
1787  0 selectHighlightedColumns_actionPerformed(actionEvent);
1788    }
1789    };
1790  452 selectHighlighted.addActionListener(al);
1791   
1792  452 copyHighlighted = new JMenuItem(
1793    MessageManager.getString("action.copy_highlighted_regions"));
1794  452 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C,
1795    jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
1796    + jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
1797    false);
1798  452 copyHighlighted.setToolTipText(
1799    MessageManager.getString("tooltip.copy_highlighted_regions"));
1800  452 al = new ActionListener()
1801    {
 
1802  0 toggle @Override
1803    public void actionPerformed(ActionEvent actionEvent)
1804    {
1805  0 copyHighlightedColumns_actionPerformed(actionEvent);
1806    }
1807    };
1808  452 addMenuActionAndAccelerator(keyStroke, copyHighlighted, al);
1809  452 copyHighlighted.addActionListener(al);
1810   
1811  452 ButtonGroup ssButtonGroup = new ButtonGroup();
1812  452 final JRadioButtonMenuItem showAll = new JRadioButtonMenuItem(
1813    MessageManager.getString("label.show_first"));
1814  452 final JRadioButtonMenuItem showjPred = new JRadioButtonMenuItem(
1815    MessageManager.getString("label.show_last"));
1816  452 final JRadioButtonMenuItem show3DSS = new JRadioButtonMenuItem(
1817    MessageManager.getString("label.show_last"));
1818  452 ssButtonGroup.add(showAll);
1819  452 ssButtonGroup.add(showjPred);
1820  452 ssButtonGroup.add(show3DSS);
1821  452 final boolean autoFirst1 = Cache
1822    .getDefault(Preferences.SHOW_AUTOCALC_ABOVE, false);
1823  452 showAll.setSelected(autoFirst1);
1824  452 setShowAutoCalculatedAbove(autoFirst);
1825  452 showAutoFirst.addActionListener(new ActionListener()
1826    {
 
1827  0 toggle @Override
1828    public void actionPerformed(ActionEvent e)
1829    {
1830  0 setShowAutoCalculatedAbove(showAutoFirst.isSelected());
1831  0 sortAnnotations_actionPerformed();
1832    }
1833    });
1834  452 showAutoLast.setSelected(!showAutoFirst.isSelected());
1835  452 showAutoLast.addActionListener(new ActionListener()
1836    {
 
1837  0 toggle @Override
1838    public void actionPerformed(ActionEvent e)
1839    {
1840  0 setShowAutoCalculatedAbove(!showAutoLast.isSelected());
1841  0 sortAnnotations_actionPerformed();
1842    }
1843    });
1844   
1845  452 JMenu tooltipSettingsMenu = new JMenu(
1846    MessageManager.getString("label.sequence_id_tooltip"));
1847  452 JMenu autoAnnMenu = new JMenu(
1848    MessageManager.getString("label.autocalculated_annotation"));
1849   
1850  452 JMenu showSS = new JMenu(
1851    MessageManager.getString("label.show_secondary_structure"));
1852   
1853  452 showSS.addMouseListener(new MouseAdapter()
1854    {
1855   
 
1856  0 toggle @Override
1857    public void mouseEntered(MouseEvent e)
1858    {
1859   
1860  0 updateShowSSRadioButtons(showSS, ssButtonGroup); // Update radio buttons
1861    // every time the menu
1862    // is clicked
1863   
1864    }
1865    });
1866   
1867  452 JMenu exportImageMenu = new JMenu(
1868    MessageManager.getString("label.export_image"));
1869  452 JMenu fileMenu = new JMenu(MessageManager.getString("action.file"));
1870  452 alignFrameMenuBar.add(fileMenu);
1871  452 alignFrameMenuBar.add(editMenu);
1872  452 alignFrameMenuBar.add(selectMenu);
1873  452 alignFrameMenuBar.add(viewMenu);
1874  452 alignFrameMenuBar.add(annotationsMenu);
1875  452 alignFrameMenuBar.add(formatMenu);
1876  452 alignFrameMenuBar.add(colourMenu);
1877  452 alignFrameMenuBar.add(calculateMenu);
1878  452 if (!Platform.isJS())
1879    {
1880  452 alignFrameMenuBar.add(webService);
1881    }
1882   
1883  452 fileMenu.add(fetchSequence);
1884  452 fileMenu.add(addSequenceMenu);
1885  452 fileMenu.add(reload);
1886  452 fileMenu.addSeparator();
1887  452 fileMenu.add(vamsasStore);
1888  452 fileMenu.add(save);
1889  452 fileMenu.add(saveAs);
1890  452 fileMenu.add(outputTextboxMenu);
1891  452 fileMenu.add(pageSetup);
1892  452 fileMenu.add(printMenuItem);
1893  452 fileMenu.addSeparator();
1894  452 fileMenu.add(exportImageMenu);
1895  452 fileMenu.add(exportFeatures);
1896  452 fileMenu.add(exportAnnotations);
1897  452 fileMenu.add(loadTreeMenuItem);
1898  452 fileMenu.add(associatedData);
1899  452 if (!Platform.isJS())
1900    {
1901  452 fileMenu.add(loadVcf);
1902    }
1903  452 fileMenu.addSeparator();
1904  452 fileMenu.add(closeMenuItem);
1905   
1906  452 pasteMenu.add(pasteNew);
1907  452 pasteMenu.add(pasteThis);
1908  452 editMenu.add(undoMenuItem);
1909  452 editMenu.add(redoMenuItem);
1910  452 editMenu.add(cut);
1911  452 editMenu.add(copy);
1912  452 editMenu.add(copyHighlighted);
1913  452 editMenu.add(pasteMenu);
1914  452 editMenu.add(delete);
1915  452 editMenu.addSeparator();
1916  452 editMenu.add(remove2LeftMenuItem);
1917  452 editMenu.add(remove2RightMenuItem);
1918  452 editMenu.add(removeGappedColumnMenuItem);
1919  452 editMenu.add(removeAllGapsMenuItem);
1920  452 editMenu.add(removeRedundancyMenuItem);
1921  452 editMenu.addSeparator();
1922   
1923  452 editMenu.add(justifyLeftMenuItem);
1924  452 editMenu.add(justifyRightMenuItem);
1925   
1926  452 editMenu.addSeparator();
1927  452 editMenu.add(padGapsMenuitem);
1928   
1929  452 showMenu.add(showAllColumns);
1930  452 showMenu.add(showAllSeqs);
1931  452 showMenu.add(showAllhidden);
1932  452 hideMenu.add(hideSelColumns);
1933  452 hideMenu.add(hideSelSequences);
1934  452 hideMenu.add(hideAllSelection);
1935  452 hideMenu.add(hideAllButSelection);
1936  452 viewMenu.add(newView);
1937  452 viewMenu.add(expandViews);
1938  452 viewMenu.add(gatherViews);
1939  452 viewMenu.addSeparator();
1940  452 viewMenu.add(showMenu);
1941  452 viewMenu.add(hideMenu);
1942  452 viewMenu.add(showComplementMenuItem);
1943  452 viewMenu.addSeparator();
1944  452 viewMenu.add(followHighlightMenuItem);
1945  452 viewMenu.addSeparator();
1946  452 viewMenu.add(showSeqFeatures);
1947    // viewMenu.add(showSeqFeaturesHeight);
1948  452 viewMenu.add(openFeatureSettings);
1949  452 tooltipSettingsMenu.add(showDbRefsMenuitem);
1950  452 tooltipSettingsMenu.add(showNpFeatsMenuitem);
1951  452 viewMenu.add(tooltipSettingsMenu);
1952  452 viewMenu.addSeparator();
1953  452 viewMenu.add(alignmentProperties);
1954  452 viewMenu.addSeparator();
1955  452 viewMenu.add(overviewMenuItem);
1956   
1957  452 annotationsMenu.add(annotationPanelMenuItem);
1958  452 annotationsMenu.addSeparator();
1959  452 annotationsMenu.add(showAllAlAnnotations);
1960  452 annotationsMenu.add(hideAllAlAnnotations);
1961  452 annotationsMenu.addSeparator();
1962  452 annotationsMenu.add(showAllSeqAnnotations);
1963  452 annotationsMenu.add(hideAllSeqAnnotations);
1964  452 annotationsMenu.add(sortAnnBySequence);
1965  452 annotationsMenu.add(sortAnnByLabel);
1966  452 annotationsMenu.addSeparator();
1967  452 annotationsMenu.add(showSS);
1968  452 annotationsMenu.addSeparator();
1969  452 autoAnnMenu.add(showAutoFirst);
1970  452 autoAnnMenu.add(showAutoLast);
1971  452 autoAnnMenu.addSeparator();
1972  452 autoAnnMenu.add(applyAutoAnnotationSettings);
1973  452 autoAnnMenu.add(showConsensusHistogram);
1974  452 autoAnnMenu.add(showSSConsensusHistogram);
1975  452 autoAnnMenu.add(showSequenceLogo);
1976  452 autoAnnMenu.add(normaliseSequenceLogo);
1977  452 autoAnnMenu.addSeparator();
1978  452 autoAnnMenu.add(showGroupConservation);
1979  452 autoAnnMenu.add(showGroupConsensus);
1980  452 annotationsMenu.add(autoAnnMenu);
1981   
1982  452 sort.add(sortIDMenuItem);
1983  452 sort.add(sortLengthMenuItem);
1984  452 sort.add(sortGroupMenuItem);
1985  452 sort.add(sortPairwiseMenuItem);
1986  452 sort.add(sortByTreeMenu);
1987  452 calculateMenu.add(sort);
1988  452 calculateMenu.add(calculateTree);
1989  452 calculateMenu.addSeparator();
1990  452 calculateMenu.add(pairwiseAlignmentMenuItem);
1991  452 calculateMenu.addSeparator();
1992  452 calculateMenu.add(showTranslation);
1993  452 calculateMenu.add(showReverse);
1994  452 calculateMenu.add(showReverseComplement);
1995  452 calculateMenu.add(showProducts);
1996  452 calculateMenu.add(autoCalculate);
1997  452 calculateMenu.add(sortByTree);
1998  452 calculateMenu.addSeparator();
1999  452 calculateMenu.add(expandAlignment);
2000  452 calculateMenu.add(extractScores);
2001  452 if (!Platform.isJS())
2002    {
2003  452 calculateMenu.addSeparator();
2004  452 calculateMenu.add(runGroovy);
2005    }
2006   
2007  452 webServiceNoServices = new JMenuItem(
2008    MessageManager.getString("label.no_services"));
2009  452 webService.add(webServiceNoServices);
2010  452 if (!Platform.isJS())
2011    {
2012  452 exportImageMenu.add(htmlMenuItem);
2013    }
2014  452 exportImageMenu.add(epsFile);
2015  452 exportImageMenu.add(createPNG);
2016  452 if (!Platform.isJS())
2017    {
2018  452 exportImageMenu.add(createBioJS);
2019  452 exportImageMenu.add(createSVG);
2020    }
2021  452 addSequenceMenu.add(addFromFile);
2022  452 addSequenceMenu.add(addFromText);
2023  452 addSequenceMenu.add(addFromURL);
2024  452 this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
2025  452 statusPanel.add(statusBar, null);
2026  452 this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
2027   
2028  452 formatMenu.add(font);
2029  452 formatMenu.addSeparator();
2030  452 formatMenu.add(wrapMenuItem);
2031  452 formatMenu.add(scaleAbove);
2032  452 formatMenu.add(scaleLeft);
2033  452 formatMenu.add(scaleRight);
2034  452 formatMenu.add(seqLimits);
2035  452 formatMenu.add(idRightAlign);
2036  452 formatMenu.add(hiddenMarkers);
2037  452 formatMenu.add(viewBoxesMenuItem);
2038  452 formatMenu.add(viewTextMenuItem);
2039  452 formatMenu.add(colourTextMenuItem);
2040  452 formatMenu.add(renderGapsMenuItem);
2041  452 formatMenu.add(centreColumnLabelsMenuItem);
2042  452 formatMenu.add(showNonconservedMenuItem);
2043  452 selectMenu.add(findMenuItem);
2044  452 selectMenu.addSeparator();
2045  452 selectMenu.add(selectAllSequenceMenuItem);
2046  452 selectMenu.add(deselectAllSequenceMenuItem);
2047  452 selectMenu.add(invertSequenceMenuItem);
2048  452 selectMenu.add(invertColSel);
2049  452 selectMenu.add(createGroup);
2050  452 selectMenu.add(unGroup);
2051  452 selectMenu.add(grpsFromSelection);
2052  452 selectMenu.add(deleteGroups);
2053  452 selectMenu.add(annotationColumn);
2054  452 selectMenu.add(selectHighlighted);
2055    // TODO - determine if the listenToViewSelections button is needed : see bug
2056    // JAL-574
2057    // selectMenu.addSeparator();
2058    // selectMenu.add(listenToViewSelections);
2059    }
2060   
 
2061  0 toggle protected void createPNG_actionPerformed(ActionEvent object)
2062    {
2063    // TODO Auto-generated method stub
2064   
2065    }
2066   
 
2067  0 toggle protected void createEPS_actionPerformed(ActionEvent object)
2068    {
2069    // TODO Auto-generated method stub
2070   
2071    }
2072   
 
2073  0 toggle protected void createSVG_actionPerformed(ActionEvent object)
2074    {
2075    // TODO Auto-generated method stub
2076   
2077    }
2078   
 
2079  0 toggle protected void copyHighlightedColumns_actionPerformed(
2080    ActionEvent actionEvent)
2081    {
2082   
2083    }
2084   
 
2085  0 toggle protected void loadVcf_actionPerformed()
2086    {
2087    }
2088   
2089    /**
2090    * Constructs the entries on the Colour menu (but does not add them to the
2091    * menu).
2092    */
 
2093  453 toggle protected void initColourMenu()
2094    {
2095  453 applyToAllGroups = new JCheckBoxMenuItem(
2096    MessageManager.getString("label.apply_colour_to_all_groups"));
2097  453 applyToAllGroups.addActionListener(new ActionListener()
2098    {
 
2099  0 toggle @Override
2100    public void actionPerformed(ActionEvent e)
2101    {
2102  0 applyToAllGroups_actionPerformed(applyToAllGroups.isSelected());
2103    }
2104    });
2105   
2106  453 textColour = new JMenuItem(
2107    MessageManager.getString("label.text_colour"));
2108  453 textColour.addActionListener(new ActionListener()
2109    {
 
2110  0 toggle @Override
2111    public void actionPerformed(ActionEvent e)
2112    {
2113  0 textColour_actionPerformed();
2114    }
2115    });
2116   
2117  453 conservationMenuItem = new JCheckBoxMenuItem(
2118    MessageManager.getString("action.by_conservation"));
2119  453 conservationMenuItem.addActionListener(new ActionListener()
2120    {
 
2121  0 toggle @Override
2122    public void actionPerformed(ActionEvent e)
2123    {
2124  0 conservationMenuItem_actionPerformed(
2125    conservationMenuItem.isSelected());
2126    }
2127    });
2128   
2129  453 abovePIDThreshold = new JCheckBoxMenuItem(
2130    MessageManager.getString("label.above_identity_threshold"));
2131  453 abovePIDThreshold.addActionListener(new ActionListener()
2132    {
 
2133  0 toggle @Override
2134    public void actionPerformed(ActionEvent e)
2135    {
2136  0 abovePIDThreshold_actionPerformed(abovePIDThreshold.isSelected());
2137    }
2138    });
2139  453 modifyPID = new JMenuItem(
2140    MessageManager.getString("label.modify_identity_threshold"));
2141  453 modifyPID.addActionListener(new ActionListener()
2142    {
 
2143  0 toggle @Override
2144    public void actionPerformed(ActionEvent e)
2145    {
2146  0 modifyPID_actionPerformed();
2147    }
2148    });
2149  453 modifyConservation = new JMenuItem(MessageManager
2150    .getString("label.modify_conservation_threshold"));
2151  453 modifyConservation.addActionListener(new ActionListener()
2152    {
 
2153  0 toggle @Override
2154    public void actionPerformed(ActionEvent e)
2155    {
2156  0 modifyConservation_actionPerformed();
2157    }
2158    });
2159   
2160  453 annotationColour = new JRadioButtonMenuItem(
2161    MessageManager.getString("action.by_annotation"));
2162  453 annotationColour.setName(ResidueColourScheme.ANNOTATION_COLOUR);
2163  453 annotationColour.addActionListener(new ActionListener()
2164    {
 
2165  0 toggle @Override
2166    public void actionPerformed(ActionEvent e)
2167    {
2168  0 annotationColour_actionPerformed();
2169    }
2170    });
2171    }
2172   
 
2173  0 toggle protected void selectHighlightedColumns_actionPerformed(
2174    ActionEvent actionEvent)
2175    {
2176    // TODO Auto-generated method stub
2177   
2178    }
2179   
2180    /**
2181    * Generate the reverse sequence (or reverse complement if the flag is true)
2182    * and add it to the alignment
2183    *
2184    * @param complement
2185    */
 
2186  0 toggle protected void showReverse_actionPerformed(boolean complement)
2187    {
2188    }
2189   
2190    /**
2191    * Try to run script in a Groovy console, having first ensured that this
2192    * alignframe is set as currentAlignFrame in Desktop
2193    */
 
2194  0 toggle protected void runGroovy_actionPerformed()
2195    {
2196   
2197    }
2198   
2199    /**
2200    * Adds the given action listener and key accelerator to the given menu item.
2201    * Also saves in a lookup table to support lookup of action by key stroke.
2202    *
2203    * @param keyStroke
2204    * @param menuItem
2205    * @param actionListener
2206    */
 
2207  12230 toggle protected void addMenuActionAndAccelerator(KeyStroke keyStroke,
2208    JMenuItem menuItem, ActionListener actionListener)
2209    {
2210  12230 menuItem.setAccelerator(keyStroke);
2211  12230 accelerators.put(keyStroke, menuItem);
2212  12230 menuItem.addActionListener(actionListener);
2213    }
2214   
2215    /**
2216    * Action on clicking sort annotations by type.
2217    *
2218    * @param sortOrder
2219    */
 
2220  0 toggle protected void sortAnnotations_actionPerformed()
2221    {
2222    }
2223   
2224    /**
2225    * Action on clicking Show all annotations.
2226    *
2227    * @param forSequences
2228    * update sequence-related annotations
2229    * @param forAlignment
2230    * update non-sequence-related annotations
2231    */
 
2232  0 toggle protected void showAllAnnotations_actionPerformed(boolean forSequences,
2233    boolean forAlignment)
2234    {
2235  0 setAnnotationsVisibility(true, forSequences, forAlignment);
2236    }
2237   
2238    /**
2239    * Action on clicking Hide all annotations.
2240    *
2241    * @param forSequences
2242    * update sequence-related annotations
2243    * @param forAlignment
2244    * update non-sequence-related annotations
2245    */
 
2246  0 toggle protected void hideAllAnnotations_actionPerformed(boolean forSequences,
2247    boolean forAlignment)
2248    {
2249  0 setAnnotationsVisibility(false, forSequences, forAlignment);
2250    }
2251   
2252    /**
2253    * Set the visibility of annotations to true or false. Can act on
2254    * sequence-related annotations, or alignment-related, or both.
2255    *
2256    * @param visible
2257    * @param forSequences
2258    * update sequence-related annotations
2259    * @param forAlignment
2260    * update non-sequence-related annotations
2261    */
 
2262  0 toggle public void setAnnotationsVisibility(boolean visible,
2263    boolean forSequences, boolean forAlignment)
2264    {
2265   
2266    }
2267   
 
2268  0 toggle protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
2269    {
2270    // TODO Auto-generated method stub
2271   
2272    }
2273   
 
2274  0 toggle protected void listenToViewSelections_actionPerformed(ActionEvent e)
2275    {
2276    // TODO Auto-generated method stub
2277   
2278    }
2279   
 
2280  0 toggle protected void showAllhidden_actionPerformed(ActionEvent e)
2281    {
2282    // TODO Auto-generated method stub
2283   
2284    }
2285   
 
2286  0 toggle protected void hideAllButSelection_actionPerformed(ActionEvent e)
2287    {
2288    // TODO Auto-generated method stub
2289   
2290    }
2291   
 
2292  0 toggle protected void hideAllSelection_actionPerformed(ActionEvent e)
2293    {
2294    // TODO Auto-generated method stub
2295   
2296    }
2297   
 
2298  0 toggle protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
2299    {
2300    // TODO Auto-generated method stub
2301   
2302    }
2303   
 
2304  0 toggle protected void showConsensusHistogram_actionPerformed(ActionEvent e)
2305    {
2306    // TODO Auto-generated method stub
2307   
2308    }
2309   
 
2310  0 toggle protected void showSSConsensusHistogram_actionPerformed(ActionEvent e)
2311    {
2312    // TODO Auto-generated method stub
2313   
2314    }
2315   
 
2316  0 toggle protected void showSequenceLogo_actionPerformed(ActionEvent e)
2317    {
2318    // TODO Auto-generated method stub
2319   
2320    }
2321   
 
2322  0 toggle protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
2323    {
2324    // TODO Auto-generated method stub
2325   
2326    }
2327   
 
2328  0 toggle protected void showGroupConsensus_actionPerformed(ActionEvent e)
2329    {
2330    // TODO Auto-generated method stub
2331   
2332    }
2333   
 
2334  0 toggle protected void showGroupConservation_actionPerformed(ActionEvent e)
2335    {
2336    // TODO Auto-generated method stub
2337   
2338    }
2339   
 
2340  0 toggle protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
2341    {
2342    // TODO Auto-generated method stub
2343   
2344    }
2345   
 
2346  0 toggle protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
2347    {
2348    // TODO Auto-generated method stub
2349   
2350    }
2351   
 
2352  0 toggle protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
2353    {
2354    // TODO Auto-generated method stub
2355   
2356    }
2357   
 
2358  0 toggle protected void followHighlight_actionPerformed()
2359    {
2360    // TODO Auto-generated method stub
2361   
2362    }
2363   
 
2364  0 toggle protected void showNpFeats_actionPerformed(ActionEvent e)
2365    {
2366    // TODO Auto-generated method stub
2367   
2368    }
2369   
 
2370  0 toggle protected void showDbRefs_actionPerformed(ActionEvent e)
2371    {
2372    // TODO Auto-generated method stub
2373   
2374    }
2375   
 
2376  0 toggle protected void centreColumnLabels_actionPerformed(ActionEvent e)
2377    {
2378    }
2379   
 
2380  0 toggle protected void buildSortByAnnotationScoresMenu()
2381    {
2382    }
2383   
 
2384  0 toggle protected void extractScores_actionPerformed(ActionEvent e)
2385    {
2386    }
2387   
 
2388  0 toggle protected void outputText_actionPerformed(String formatName)
2389    {
2390    }
2391   
 
2392  0 toggle public void addFromFile_actionPerformed(ActionEvent e)
2393    {
2394   
2395    }
2396   
 
2397  0 toggle public void addFromText_actionPerformed(ActionEvent e)
2398    {
2399   
2400    }
2401   
 
2402  0 toggle public void addFromURL_actionPerformed(ActionEvent e)
2403    {
2404   
2405    }
2406   
 
2407  0 toggle public void exportFeatures_actionPerformed(ActionEvent e)
2408    {
2409   
2410    }
2411   
 
2412  0 toggle public void exportAnnotations_actionPerformed(ActionEvent e)
2413    {
2414   
2415    }
2416   
 
2417  0 toggle protected void htmlMenuItem_actionPerformed(ActionEvent e)
2418    {
2419    }
2420   
 
2421  0 toggle protected void bioJSMenuItem_actionPerformed(ActionEvent e)
2422    {
2423   
2424    }
2425   
 
2426  0 toggle protected void closeMenuItem_actionPerformed(boolean b)
2427    {
2428    }
2429   
 
2430  0 toggle protected void redoMenuItem_actionPerformed(ActionEvent e)
2431    {
2432    }
2433   
 
2434  0 toggle protected void undoMenuItem_actionPerformed(ActionEvent e)
2435    {
2436    }
2437   
 
2438  0 toggle protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2439    {
2440    }
2441   
 
2442  0 toggle protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2443    {
2444    }
2445   
 
2446  0 toggle protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
2447    {
2448    }
2449   
 
2450  0 toggle protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
2451    {
2452    }
2453   
 
2454  0 toggle protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
2455    {
2456    }
2457   
 
2458  0 toggle protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
2459    {
2460    }
2461   
 
2462  0 toggle protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
2463    {
2464    }
2465   
 
2466  0 toggle protected void wrapMenuItem_actionPerformed(ActionEvent e)
2467    {
2468    }
2469   
 
2470  0 toggle protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
2471    {
2472    }
2473   
 
2474  0 toggle protected void viewTextMenuItem_actionPerformed(ActionEvent e)
2475    {
2476    }
2477   
 
2478  0 toggle protected void colourTextMenuItem_actionPerformed(ActionEvent e)
2479    {
2480    }
2481   
 
2482  0 toggle protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
2483    {
2484    }
2485   
 
2486  0 toggle protected void overviewMenuItem_actionPerformed(ActionEvent e)
2487    {
2488    }
2489   
 
2490  0 toggle protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
2491    {
2492    }
2493   
 
2494  0 toggle protected void sortIDMenuItem_actionPerformed(ActionEvent e)
2495    {
2496    }
2497   
 
2498  0 toggle protected void sortLengthMenuItem_actionPerformed(ActionEvent e)
2499    {
2500    }
2501   
 
2502  0 toggle protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
2503    {
2504    }
2505   
 
2506  0 toggle protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
2507    {
2508    }
2509   
 
2510  0 toggle protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
2511    {
2512    }
2513   
 
2514  0 toggle protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
2515    {
2516    }
2517   
 
2518  0 toggle protected void conservationMenuItem_actionPerformed(boolean selected)
2519    {
2520    }
2521   
 
2522  0 toggle protected void printMenuItem_actionPerformed(ActionEvent e)
2523    {
2524    }
2525   
 
2526  0 toggle protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2527    {
2528    }
2529   
 
2530  0 toggle protected void findMenuItem_actionPerformed(ActionEvent e)
2531    {
2532    }
2533   
 
2534  0 toggle protected void abovePIDThreshold_actionPerformed(boolean selected)
2535    {
2536    }
2537   
 
2538  0 toggle public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2539    {
2540    }
2541   
 
2542  0 toggle protected void deleteGroups_actionPerformed(ActionEvent e)
2543    {
2544    }
2545   
 
2546  0 toggle protected void createGroup_actionPerformed(ActionEvent e)
2547    {
2548    }
2549   
 
2550  0 toggle protected void unGroup_actionPerformed(ActionEvent e)
2551    {
2552    }
2553   
 
2554  0 toggle protected void copy_actionPerformed()
2555    {
2556    }
2557   
 
2558  0 toggle protected void cut_actionPerformed()
2559    {
2560    }
2561   
 
2562  0 toggle protected void delete_actionPerformed()
2563    {
2564    }
2565   
 
2566  0 toggle protected void pasteNew_actionPerformed(ActionEvent e)
2567    {
2568    }
2569   
 
2570  0 toggle protected void pasteThis_actionPerformed(ActionEvent e)
2571    {
2572    }
2573   
 
2574  0 toggle protected void applyToAllGroups_actionPerformed(boolean selected)
2575    {
2576    }
2577   
 
2578  0 toggle protected void font_actionPerformed(ActionEvent e)
2579    {
2580    }
2581   
 
2582  0 toggle protected void seqLimit_actionPerformed(ActionEvent e)
2583    {
2584    }
2585   
 
2586  0 toggle public void seqDBRef_actionPerformed(ActionEvent e)
2587    {
2588   
2589    }
2590   
 
2591  0 toggle protected void loadTreeMenuItem_actionPerformed(ActionEvent e)
2592    {
2593   
2594    }
2595   
2596    /**
2597    * Template method to handle the 'load T-Coffee scores' menu event.
2598    * <p>
2599    * Subclasses override this method to provide a custom action.
2600    *
2601    * @param event
2602    * The raised event
2603    */
 
2604  0 toggle protected void loadScores_actionPerformed(ActionEvent event)
2605    {
2606   
2607    }
2608   
 
2609  0 toggle protected void jpred_actionPerformed(ActionEvent e)
2610    {
2611    }
2612   
 
2613  0 toggle protected void scaleAbove_actionPerformed(ActionEvent e)
2614    {
2615    }
2616   
 
2617  0 toggle protected void scaleLeft_actionPerformed(ActionEvent e)
2618    {
2619    }
2620   
 
2621  0 toggle protected void scaleRight_actionPerformed(ActionEvent e)
2622    {
2623    }
2624   
 
2625  0 toggle protected void modifyPID_actionPerformed()
2626    {
2627    }
2628   
 
2629  0 toggle protected void modifyConservation_actionPerformed()
2630    {
2631    }
2632   
 
2633  0 toggle protected void saveAs_actionPerformed()
2634    {
2635    }
2636   
 
2637  0 toggle protected void padGapsMenuitem_actionPerformed(ActionEvent e)
2638    {
2639    }
2640   
 
2641  0 toggle public void vamsasStore_actionPerformed(ActionEvent e)
2642    {
2643   
2644    }
2645   
 
2646  0 toggle public void vamsasLoad_actionPerformed(ActionEvent e)
2647    {
2648   
2649    }
2650   
 
2651  0 toggle public void showTranslation_actionPerformed(GeneticCodeI codeTable)
2652    {
2653   
2654    }
2655   
 
2656  0 toggle public void featureSettings_actionPerformed(ActionEvent e)
2657    {
2658   
2659    }
2660   
 
2661  0 toggle public void fetchSequence_actionPerformed()
2662    {
2663   
2664    }
2665   
 
2666  0 toggle public void smoothFont_actionPerformed(ActionEvent e)
2667    {
2668   
2669    }
2670   
 
2671  0 toggle public void annotationColour_actionPerformed()
2672    {
2673    }
2674   
 
2675  0 toggle public void annotationColumn_actionPerformed(ActionEvent e)
2676    {
2677    }
2678   
 
2679  0 toggle public void associatedData_actionPerformed(ActionEvent e)
2680    {
2681   
2682    }
2683   
 
2684  0 toggle public void autoCalculate_actionPerformed(ActionEvent e)
2685    {
2686   
2687    }
2688   
 
2689  0 toggle public void sortByTreeOption_actionPerformed(ActionEvent e)
2690    {
2691   
2692    }
2693   
 
2694  0 toggle public void showAllSeqs_actionPerformed(ActionEvent e)
2695    {
2696   
2697    }
2698   
 
2699  0 toggle public void showAllColumns_actionPerformed(ActionEvent e)
2700    {
2701   
2702    }
2703   
 
2704  0 toggle public void hideSelSequences_actionPerformed(ActionEvent e)
2705    {
2706   
2707    }
2708   
 
2709  0 toggle public void hideSelColumns_actionPerformed(ActionEvent e)
2710    {
2711   
2712    }
2713   
 
2714  0 toggle public void hiddenMarkers_actionPerformed(ActionEvent e)
2715    {
2716   
2717    }
2718   
 
2719  0 toggle public void findPdbId_actionPerformed(ActionEvent e)
2720    {
2721   
2722    }
2723   
 
2724  0 toggle public void enterPdbId_actionPerformed(ActionEvent e)
2725    {
2726   
2727    }
2728   
 
2729  0 toggle public void pdbFile_actionPerformed(ActionEvent e)
2730    {
2731   
2732    }
2733   
 
2734  0 toggle public void invertColSel_actionPerformed(ActionEvent e)
2735    {
2736   
2737    }
2738   
 
2739  0 toggle public void tabSelectionChanged(int sel)
2740    {
2741   
2742    }
2743   
 
2744  0 toggle public void tabbedPane_mousePressed(MouseEvent e)
2745    {
2746   
2747    }
2748   
 
2749  61 toggle public void tabbedPane_focusGained(FocusEvent e)
2750    {
2751  61 requestFocus();
2752    }
2753   
 
2754  0 toggle public void save_actionPerformed(ActionEvent e)
2755    {
2756   
2757    }
2758   
 
2759  0 toggle public void reload_actionPerformed(ActionEvent e)
2760    {
2761   
2762    }
2763   
 
2764  0 toggle public void newView_actionPerformed(ActionEvent e)
2765    {
2766   
2767    }
2768   
 
2769  0 toggle public void textColour_actionPerformed()
2770    {
2771   
2772    }
2773   
 
2774  0 toggle public void idRightAlign_actionPerformed(ActionEvent e)
2775    {
2776   
2777    }
2778   
 
2779  0 toggle public void expandViews_actionPerformed(ActionEvent e)
2780    {
2781   
2782    }
2783   
 
2784  0 toggle public void gatherViews_actionPerformed(ActionEvent e)
2785    {
2786   
2787    }
2788   
 
2789  0 toggle public void buildTreeSortMenu()
2790    {
2791   
2792    }
2793   
 
2794  0 toggle public void pageSetup_actionPerformed(ActionEvent e)
2795    {
2796   
2797    }
2798   
 
2799  0 toggle public void alignmentProperties()
2800    {
2801   
2802    }
2803   
 
2804  0 toggle protected void expand_newalign(ActionEvent e)
2805    {
2806    // TODO Auto-generated method stub
2807   
2808    }
2809   
 
2810  452 toggle protected boolean isShowAutoCalculatedAbove()
2811    {
2812  452 return showAutoCalculatedAbove;
2813    }
2814   
 
2815  905 toggle protected void setShowAutoCalculatedAbove(boolean showAutoCalculatedAbove)
2816    {
2817  905 this.showAutoCalculatedAbove = showAutoCalculatedAbove;
2818    }
2819   
 
2820  0 toggle protected SequenceAnnotationOrder getAnnotationSortOrder()
2821    {
2822  0 return annotationSortOrder;
2823    }
2824   
 
2825  0 toggle protected void setAnnotationSortOrder(
2826    SequenceAnnotationOrder annotationSortOrder)
2827    {
2828  0 this.annotationSortOrder = annotationSortOrder;
2829    }
2830   
 
2831  33 toggle public Map<KeyStroke, JMenuItem> getAccelerators()
2832    {
2833  33 return this.accelerators;
2834    }
2835   
2836    /**
2837    * Returns the selected index of the tabbed pane, or -1 if none selected
2838    * (including the case where the tabbed pane has not been made visible).
2839    *
2840    * @return
2841    */
 
2842  0 toggle public int getTabIndex()
2843    {
2844  0 return tabbedPane.getSelectedIndex();
2845    }
2846   
 
2847  0 toggle public JPanel getStatusPanel()
2848    {
2849  0 return statusPanel;
2850    }
2851   
2852    /**
2853    * Sets a reference to the containing split frame. Also makes the 'toggle
2854    * split view' menu item visible and checked.
2855    *
2856    * @param sf
2857    */
 
2858  6 toggle public void setSplitFrame(SplitContainerI sf)
2859    {
2860  6 this.splitFrame = sf;
2861  6 if (sf != null)
2862    {
2863  6 this.showComplementMenuItem.setVisible(true);
2864  6 this.showComplementMenuItem.setState(true);
2865    }
2866    }
2867   
 
2868  3 toggle public SplitContainerI getSplitViewContainer()
2869    {
2870  3 return this.splitFrame;
2871    }
2872   
 
2873  0 toggle protected void showComplement_actionPerformed(boolean complement)
2874    {
2875    }
2876   
 
2877  0 toggle protected List<String> updateShowSSRadioButtons()
2878    {
2879    // TODO Auto-generated method stub
2880  0 return null;
2881    }
2882   
 
2883  0 toggle protected void updateShowSSRadioButtons(JMenu showSS,
2884    ButtonGroup ssButtonGroup)
2885    {
2886    // TODO Auto-generated method stub
2887    }
2888   
 
2889  0 toggle protected void showSS_actionPerformed(String ssSourceSelection)
2890    {
2891    // TODO Auto-generated method stub
2892   
2893    }
2894    }