Clover icon

Coverage Report

  1. Project Clover database Thu Aug 13 2020 12:04:21 BST
  2. Package jalview.jbgui

File GAlignFrame.java

 

Coverage histogram

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

Code metrics

24
714
264
1
2,719
2,192
277
0.39
2.7
264
1.05

Classes

Class Line # Actions
GAlignFrame 65 714 277
0.596806459.7%
 

Contributing tests

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