Clover icon

Coverage Report

  1. Project Clover database Wed Dec 3 2025 15:58:31 GMT
  2. Package jalview.jbgui

File GAlignFrame.java

 

Coverage histogram

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

Code metrics

28
779
286
1
3,027
2,436
301
0.39
2.72
286
1.05

Classes

Class Line # Actions
GAlignFrame 67 779 301
0.5901189459%
 

Contributing tests

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