2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
5 * This file is part of Jalview.
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.
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.
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.
21 package jalview.jbgui;
23 import java.awt.BorderLayout;
24 import java.awt.Color;
25 import java.awt.GridLayout;
26 import java.awt.event.ActionEvent;
27 import java.awt.event.ActionListener;
28 import java.awt.event.FocusAdapter;
29 import java.awt.event.FocusEvent;
30 import java.awt.event.KeyEvent;
31 import java.awt.event.MouseAdapter;
32 import java.awt.event.MouseEvent;
33 import java.util.HashMap;
36 import javax.swing.BorderFactory;
37 import javax.swing.ButtonGroup;
38 import javax.swing.JCheckBoxMenuItem;
39 import javax.swing.JInternalFrame;
40 import javax.swing.JLabel;
41 import javax.swing.JMenu;
42 import javax.swing.JMenuBar;
43 import javax.swing.JMenuItem;
44 import javax.swing.JPanel;
45 import javax.swing.JRadioButtonMenuItem;
46 import javax.swing.JTabbedPane;
47 import javax.swing.KeyStroke;
48 import javax.swing.event.ChangeEvent;
49 import javax.swing.event.MenuEvent;
50 import javax.swing.event.MenuListener;
52 import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
53 import jalview.analysis.GeneticCodeI;
54 import jalview.analysis.GeneticCodes;
55 import jalview.api.SplitContainerI;
56 import jalview.bin.Cache;
57 import jalview.gui.JvSwingUtils;
58 import jalview.gui.Preferences;
59 import jalview.io.FileFormats;
60 import jalview.schemes.ResidueColourScheme;
61 import jalview.util.MessageManager;
62 import jalview.util.Platform;
64 @SuppressWarnings("serial")
65 public class GAlignFrame extends JInternalFrame
67 protected JMenuBar alignFrameMenuBar = new JMenuBar();
69 protected JMenuItem closeMenuItem = new JMenuItem();
71 public JMenu webService = new JMenu();// BH 2019 was protected, but not
72 // sufficient for AlignFrame thread run
74 public JMenuItem webServiceNoServices;// BH 2019 was protected, but not
75 // sufficient for AlignFrame thread run
77 protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
79 protected JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
81 protected JMenu sortByAnnotScore = new JMenu();
83 public JLabel statusBar = new JLabel(); // BH 2019 was protected, but not
85 // AlignFrame.printWriter
87 protected JMenu outputTextboxMenu = new JMenu();
89 protected JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
91 protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
93 protected JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem();
95 protected JMenuItem undoMenuItem = new JMenuItem();
97 protected JMenuItem redoMenuItem = new JMenuItem();
99 protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
101 protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
103 public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
105 JMenuItem copy = new JMenuItem();
107 JMenuItem copyHighlighted = new JMenuItem();
109 JMenuItem cut = new JMenuItem();
111 JMenu pasteMenu = new JMenu();
113 protected JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
115 protected JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
117 protected JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
119 protected JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
121 protected JCheckBoxMenuItem applyToAllGroups;
123 protected JMenu colourMenu = new JMenu();
125 protected JMenuItem textColour;
127 protected JCheckBoxMenuItem conservationMenuItem;
129 protected JMenuItem modifyConservation;
131 protected JCheckBoxMenuItem abovePIDThreshold;
133 protected JMenuItem modifyPID;
135 protected JRadioButtonMenuItem annotationColour;
137 protected JMenu sortByTreeMenu = new JMenu();
139 protected JMenu sort = new JMenu();
141 protected JMenuItem calculateTree = new JMenuItem();
143 protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
145 protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
147 protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
149 protected JMenu showTranslation = new JMenu();
151 protected JMenuItem showReverse = new JMenuItem();
153 protected JMenuItem showReverseComplement = new JMenuItem();
155 protected JMenu showProducts = new JMenu();
157 protected JMenuItem runGroovy = new JMenuItem();
159 protected JMenuItem loadVcf;
161 protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
163 protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
165 protected JCheckBoxMenuItem listenToViewSelections = new JCheckBoxMenuItem();
167 protected JPanel statusPanel = new JPanel();
169 protected JMenuItem showAllSeqAnnotations = new JMenuItem();
171 protected JMenuItem hideAllSeqAnnotations = new JMenuItem();
173 protected JMenuItem showAllAlAnnotations = new JMenuItem();
175 protected JMenuItem hideAllAlAnnotations = new JMenuItem();
177 protected JCheckBoxMenuItem showComplementMenuItem = new JCheckBoxMenuItem();
179 protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
181 protected JTabbedPane tabbedPane = new JTabbedPane();
183 protected JMenuItem reload = new JMenuItem();
185 protected JMenu formatMenu = new JMenu();
187 protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
189 protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem();
191 protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem();
193 protected JMenuItem gatherViews = new JMenuItem();
195 protected JMenuItem expandViews = new JMenuItem();
197 protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem();
199 protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem();
201 protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem();
203 protected JCheckBoxMenuItem showSSConsensusHistogram = new JCheckBoxMenuItem();
205 protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem();
207 protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
209 protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
211 protected JMenuItem openFeatureSettings;
213 private SequenceAnnotationOrder annotationSortOrder;
215 private boolean showAutoCalculatedAbove = false;
217 private Map<KeyStroke, JMenuItem> accelerators = new HashMap<>();
219 private SplitContainerI splitFrame;
227 // for Web-page embedding using id=align-frame-div
228 setName("jalview-alignment");
231 setJMenuBar(alignFrameMenuBar);
233 // dynamically fill save as menu with available formats
234 for (String ff : FileFormats.getInstance().getWritableFormats(true))
236 JMenuItem item = new JMenuItem(ff);
238 item.addActionListener(new ActionListener()
241 public void actionPerformed(ActionEvent e)
243 outputText_actionPerformed(e.getActionCommand());
247 outputTextboxMenu.add(item);
249 } catch (Exception e)
251 jalview.bin.Console.errPrintln(e.toString());
254 if (Platform.allowMnemonics()) // was "not mac and not JS"
256 closeMenuItem.setMnemonic('C');
257 outputTextboxMenu.setMnemonic('T');
258 undoMenuItem.setMnemonic('Z');
259 redoMenuItem.setMnemonic('0');
260 copy.setMnemonic('C');
261 cut.setMnemonic('U');
262 pasteMenu.setMnemonic('P');
263 reload.setMnemonic('R');
267 private void jbInit() throws Exception
272 JMenuItem saveAs = new JMenuItem(
273 MessageManager.getString("action.save_as"));
274 ActionListener al = new ActionListener()
277 public void actionPerformed(ActionEvent e)
279 saveAs_actionPerformed();
283 // FIXME getDefaultToolkit throws an exception in Headless mode
284 KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
285 jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
286 | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
288 addMenuActionAndAccelerator(keyStroke, saveAs, al);
290 closeMenuItem.setText(MessageManager.getString("action.close"));
291 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W,
292 jalview.util.ShortcutKeyMaskExWrapper
293 .getMenuShortcutKeyMaskEx(),
295 al = new ActionListener()
298 public void actionPerformed(ActionEvent e)
300 closeMenuItem_actionPerformed(false);
303 addMenuActionAndAccelerator(keyStroke, closeMenuItem, al);
305 JMenu editMenu = new JMenu(MessageManager.getString("action.edit"));
306 JMenu viewMenu = new JMenu(MessageManager.getString("action.view"));
307 JMenu annotationsMenu = new JMenu(
308 MessageManager.getString("action.annotations"));
309 JMenu showMenu = new JMenu(MessageManager.getString("action.show"));
310 colourMenu.setText(MessageManager.getString("action.colour"));
311 JMenu calculateMenu = new JMenu(
312 MessageManager.getString("action.calculate"));
313 webService.setText(MessageManager.getString("action.web_service"));
314 JMenuItem selectAllSequenceMenuItem = new JMenuItem(
315 MessageManager.getString("action.select_all"));
316 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A,
317 jalview.util.ShortcutKeyMaskExWrapper
318 .getMenuShortcutKeyMaskEx(),
320 al = new ActionListener()
323 public void actionPerformed(ActionEvent e)
325 selectAllSequenceMenuItem_actionPerformed(e);
328 addMenuActionAndAccelerator(keyStroke, selectAllSequenceMenuItem, al);
330 JMenuItem deselectAllSequenceMenuItem = new JMenuItem(
331 MessageManager.getString("action.deselect_all"));
332 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
333 al = new ActionListener()
336 public void actionPerformed(ActionEvent e)
338 deselectAllSequenceMenuItem_actionPerformed(e);
341 addMenuActionAndAccelerator(keyStroke, deselectAllSequenceMenuItem, al);
343 JMenuItem invertSequenceMenuItem = new JMenuItem(
344 MessageManager.getString("action.invert_sequence_selection"));
345 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
346 jalview.util.ShortcutKeyMaskExWrapper
347 .getMenuShortcutKeyMaskEx(),
349 al = new ActionListener()
352 public void actionPerformed(ActionEvent e)
354 invertSequenceMenuItem_actionPerformed(e);
357 addMenuActionAndAccelerator(keyStroke, invertSequenceMenuItem, al);
359 JMenuItem grpsFromSelection = new JMenuItem(
360 MessageManager.getString("action.make_groups_selection"));
361 grpsFromSelection.addActionListener(new ActionListener()
364 public void actionPerformed(ActionEvent e)
366 makeGrpsFromSelection_actionPerformed(e);
369 JMenuItem expandAlignment = new JMenuItem(
370 MessageManager.getString("action.view_flanking_regions"));
371 expandAlignment.setToolTipText(
372 MessageManager.getString("label.view_flanking_regions"));
373 expandAlignment.addActionListener(new ActionListener()
376 public void actionPerformed(ActionEvent e)
381 JMenuItem remove2LeftMenuItem = new JMenuItem(
382 MessageManager.getString("action.remove_left"));
383 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L,
384 jalview.util.ShortcutKeyMaskExWrapper
385 .getMenuShortcutKeyMaskEx(),
387 al = new ActionListener()
390 public void actionPerformed(ActionEvent e)
392 remove2LeftMenuItem_actionPerformed(e);
395 addMenuActionAndAccelerator(keyStroke, remove2LeftMenuItem, al);
397 JMenuItem remove2RightMenuItem = new JMenuItem(
398 MessageManager.getString("action.remove_right"));
399 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R,
400 jalview.util.ShortcutKeyMaskExWrapper
401 .getMenuShortcutKeyMaskEx(),
403 al = new ActionListener()
406 public void actionPerformed(ActionEvent e)
408 remove2RightMenuItem_actionPerformed(e);
411 addMenuActionAndAccelerator(keyStroke, remove2RightMenuItem, al);
413 JMenuItem removeGappedColumnMenuItem = new JMenuItem(
414 MessageManager.getString("action.remove_empty_columns"));
415 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
416 jalview.util.ShortcutKeyMaskExWrapper
417 .getMenuShortcutKeyMaskEx(),
419 al = new ActionListener()
422 public void actionPerformed(ActionEvent e)
424 removeGappedColumnMenuItem_actionPerformed(e);
427 addMenuActionAndAccelerator(keyStroke, removeGappedColumnMenuItem, al);
429 JMenuItem removeAllGapsMenuItem = new JMenuItem(
430 MessageManager.getString("action.remove_all_gaps"));
431 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
432 jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
433 | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
435 al = new ActionListener()
438 public void actionPerformed(ActionEvent e)
440 removeAllGapsMenuItem_actionPerformed(e);
443 addMenuActionAndAccelerator(keyStroke, removeAllGapsMenuItem, al);
445 JMenuItem justifyLeftMenuItem = new JMenuItem(
446 MessageManager.getString("action.left_justify_alignment"));
447 justifyLeftMenuItem.addActionListener(new ActionListener()
450 public void actionPerformed(ActionEvent e)
452 justifyLeftMenuItem_actionPerformed(e);
455 JMenuItem justifyRightMenuItem = new JMenuItem(
456 MessageManager.getString("action.right_justify_alignment"));
457 justifyRightMenuItem.addActionListener(new ActionListener()
460 public void actionPerformed(ActionEvent e)
462 justifyRightMenuItem_actionPerformed(e);
465 viewBoxesMenuItem.setText(MessageManager.getString("action.boxes"));
466 viewBoxesMenuItem.setState(true);
467 viewBoxesMenuItem.addActionListener(new ActionListener()
470 public void actionPerformed(ActionEvent e)
472 viewBoxesMenuItem_actionPerformed(e);
475 viewTextMenuItem.setText(MessageManager.getString("action.text"));
476 viewTextMenuItem.setState(true);
477 viewTextMenuItem.addActionListener(new ActionListener()
480 public void actionPerformed(ActionEvent e)
482 viewTextMenuItem_actionPerformed(e);
485 showNonconservedMenuItem
486 .setText(MessageManager.getString("label.show_non_conserved"));
487 showNonconservedMenuItem.setState(false);
488 showNonconservedMenuItem.addActionListener(new ActionListener()
491 public void actionPerformed(ActionEvent e)
493 showUnconservedMenuItem_actionPerformed(e);
496 JMenuItem sortPairwiseMenuItem = new JMenuItem(
497 MessageManager.getString("action.by_pairwise_id"));
498 sortPairwiseMenuItem.addActionListener(new ActionListener()
501 public void actionPerformed(ActionEvent e)
503 sortPairwiseMenuItem_actionPerformed(e);
506 JMenuItem sortIDMenuItem = new JMenuItem(
507 MessageManager.getString("action.by_id"));
508 sortIDMenuItem.addActionListener(new ActionListener()
511 public void actionPerformed(ActionEvent e)
513 sortIDMenuItem_actionPerformed(e);
516 JMenuItem sortLengthMenuItem = new JMenuItem(
517 MessageManager.getString("action.by_length"));
518 sortLengthMenuItem.addActionListener(new ActionListener()
521 public void actionPerformed(ActionEvent e)
523 sortLengthMenuItem_actionPerformed(e);
526 JMenuItem sortGroupMenuItem = new JMenuItem(
527 MessageManager.getString("action.by_group"));
528 sortGroupMenuItem.addActionListener(new ActionListener()
531 public void actionPerformed(ActionEvent e)
533 sortGroupMenuItem_actionPerformed(e);
537 JMenuItem removeRedundancyMenuItem = new JMenuItem(
538 MessageManager.getString("action.remove_redundancy"));
539 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D,
540 jalview.util.ShortcutKeyMaskExWrapper
541 .getMenuShortcutKeyMaskEx(),
543 al = new ActionListener()
546 public void actionPerformed(ActionEvent e)
548 removeRedundancyMenuItem_actionPerformed(e);
551 addMenuActionAndAccelerator(keyStroke, removeRedundancyMenuItem, al);
553 JMenuItem pairwiseAlignmentMenuItem = new JMenuItem(
554 MessageManager.getString("action.pairwise_alignment"));
555 pairwiseAlignmentMenuItem.addActionListener(new ActionListener()
558 public void actionPerformed(ActionEvent e)
560 pairwiseAlignmentMenuItem_actionPerformed(e);
564 this.getContentPane().setLayout(new BorderLayout());
565 alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
566 statusBar.setBackground(Color.white);
567 statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
568 statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
569 statusBar.setText(MessageManager.getString("label.status_bar"));
571 .setText(MessageManager.getString("label.out_to_textbox"));
573 annotationPanelMenuItem.setActionCommand("");
574 annotationPanelMenuItem
575 .setText(MessageManager.getString("label.show_annotations"));
576 annotationPanelMenuItem
577 .setState(Cache.getDefault("SHOW_ANNOTATIONS", true));
578 annotationPanelMenuItem.addActionListener(new ActionListener()
581 public void actionPerformed(ActionEvent e)
583 annotationPanelMenuItem_actionPerformed(e);
586 showAllAlAnnotations.setText(
587 MessageManager.getString("label.show_all_al_annotations"));
588 final boolean isAnnotationPanelShown = annotationPanelMenuItem
590 showAllAlAnnotations.setEnabled(isAnnotationPanelShown);
591 showAllAlAnnotations.addActionListener(new ActionListener()
594 public void actionPerformed(ActionEvent e)
596 showAllAnnotations_actionPerformed(false, true);
599 hideAllAlAnnotations.setText(
600 MessageManager.getString("label.hide_all_al_annotations"));
601 hideAllAlAnnotations.setEnabled(isAnnotationPanelShown);
602 hideAllAlAnnotations.addActionListener(new ActionListener()
605 public void actionPerformed(ActionEvent e)
607 hideAllAnnotations_actionPerformed(false, true);
610 showAllSeqAnnotations.setText(
611 MessageManager.getString("label.show_all_seq_annotations"));
612 showAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
613 showAllSeqAnnotations.addActionListener(new ActionListener()
616 public void actionPerformed(ActionEvent e)
618 showAllAnnotations_actionPerformed(true, false);
621 hideAllSeqAnnotations.setText(
622 MessageManager.getString("label.hide_all_seq_annotations"));
623 hideAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
624 hideAllSeqAnnotations.addActionListener(new ActionListener()
627 public void actionPerformed(ActionEvent e)
629 hideAllAnnotations_actionPerformed(true, false);
632 SequenceAnnotationOrder sortAnnotationsBy = SequenceAnnotationOrder
633 .valueOf(Cache.getDefault(Preferences.SORT_ANNOTATIONS,
634 SequenceAnnotationOrder.NONE.name()));
635 final JCheckBoxMenuItem sortAnnBySequence = new JCheckBoxMenuItem(
636 MessageManager.getString("label.sort_annotations_by_sequence"));
637 final JCheckBoxMenuItem sortAnnByLabel = new JCheckBoxMenuItem(
638 MessageManager.getString("label.sort_annotations_by_label"));
640 sortAnnBySequence.setSelected(
641 sortAnnotationsBy == SequenceAnnotationOrder.SEQUENCE_AND_LABEL);
642 sortAnnBySequence.addActionListener(new ActionListener()
645 public void actionPerformed(ActionEvent e)
647 boolean newState = sortAnnBySequence.getState();
648 sortAnnByLabel.setSelected(false);
649 setAnnotationSortOrder(
650 newState ? SequenceAnnotationOrder.SEQUENCE_AND_LABEL
651 : SequenceAnnotationOrder.NONE);
652 sortAnnotations_actionPerformed();
655 sortAnnByLabel.setSelected(
656 sortAnnotationsBy == SequenceAnnotationOrder.LABEL_AND_SEQUENCE);
657 sortAnnByLabel.addActionListener(new ActionListener()
660 public void actionPerformed(ActionEvent e)
662 boolean newState = sortAnnByLabel.getState();
663 sortAnnBySequence.setSelected(false);
664 setAnnotationSortOrder(
665 newState ? SequenceAnnotationOrder.LABEL_AND_SEQUENCE
666 : SequenceAnnotationOrder.NONE);
667 sortAnnotations_actionPerformed();
670 colourTextMenuItem = new JCheckBoxMenuItem(
671 MessageManager.getString("label.colour_text"));
672 colourTextMenuItem.addActionListener(new ActionListener()
675 public void actionPerformed(ActionEvent e)
677 colourTextMenuItem_actionPerformed(e);
681 JMenuItem htmlMenuItem = new JMenuItem(
682 MessageManager.getString("label.html"));
683 htmlMenuItem.addActionListener(new ActionListener()
686 public void actionPerformed(ActionEvent e)
688 htmlMenuItem_actionPerformed(e);
692 JMenuItem createBioJS = new JMenuItem(
693 MessageManager.getString("label.biojs_html_export"));
694 createBioJS.addActionListener(new java.awt.event.ActionListener()
697 public void actionPerformed(ActionEvent e)
699 bioJSMenuItem_actionPerformed(e);
703 JMenuItem overviewMenuItem = new JMenuItem(
704 MessageManager.getString("label.overview_window"));
705 overviewMenuItem.addActionListener(new ActionListener()
708 public void actionPerformed(ActionEvent e)
710 overviewMenuItem_actionPerformed(e);
714 undoMenuItem.setEnabled(false);
715 undoMenuItem.setText(MessageManager.getString("action.undo"));
716 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z,
717 jalview.util.ShortcutKeyMaskExWrapper
718 .getMenuShortcutKeyMaskEx(),
720 al = new ActionListener()
723 public void actionPerformed(ActionEvent e)
725 undoMenuItem_actionPerformed(e);
728 addMenuActionAndAccelerator(keyStroke, undoMenuItem, al);
730 redoMenuItem.setEnabled(false);
731 redoMenuItem.setText(MessageManager.getString("action.redo"));
732 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y,
733 jalview.util.ShortcutKeyMaskExWrapper
734 .getMenuShortcutKeyMaskEx(),
736 al = new ActionListener()
739 public void actionPerformed(ActionEvent e)
741 redoMenuItem_actionPerformed(e);
744 addMenuActionAndAccelerator(keyStroke, redoMenuItem, al);
746 wrapMenuItem.setText(MessageManager.getString("label.wrap"));
747 wrapMenuItem.addActionListener(new ActionListener()
750 public void actionPerformed(ActionEvent e)
752 wrapMenuItem_actionPerformed(e);
756 JMenuItem printMenuItem = new JMenuItem(
757 MessageManager.getString("action.print"));
758 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P,
759 jalview.util.ShortcutKeyMaskExWrapper
760 .getMenuShortcutKeyMaskEx(),
762 al = new ActionListener()
765 public void actionPerformed(ActionEvent e)
767 printMenuItem_actionPerformed(e);
770 addMenuActionAndAccelerator(keyStroke, printMenuItem, al);
773 .setText(MessageManager.getString("action.show_gaps"));
774 renderGapsMenuItem.setState(true);
775 renderGapsMenuItem.addActionListener(new ActionListener()
778 public void actionPerformed(ActionEvent e)
780 renderGapsMenuItem_actionPerformed(e);
784 JMenuItem findMenuItem = new JMenuItem(
785 MessageManager.getString("action.find"));
786 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F,
787 jalview.util.ShortcutKeyMaskExWrapper
788 .getMenuShortcutKeyMaskEx(),
790 findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true,
791 MessageManager.getString("label.find_tip")));
792 al = new ActionListener()
795 public void actionPerformed(ActionEvent e)
797 findMenuItem_actionPerformed(e);
800 addMenuActionAndAccelerator(keyStroke, findMenuItem, al);
802 showSeqFeatures.setText(
803 MessageManager.getString("label.show_sequence_features"));
804 showSeqFeatures.addActionListener(new ActionListener()
807 public void actionPerformed(ActionEvent actionEvent)
809 showSeqFeatures_actionPerformed(actionEvent);
813 * showSeqFeaturesHeight.setText("Vary Sequence Feature Height");
814 * showSeqFeaturesHeight.addActionListener(new ActionListener() { public
815 * void actionPerformed(ActionEvent actionEvent) {
816 * showSeqFeaturesHeight_actionPerformed(actionEvent); } });
819 .setText(MessageManager.getString("label.show_database_refs"));
820 showDbRefsMenuitem.addActionListener(new ActionListener()
824 public void actionPerformed(ActionEvent e)
826 showDbRefs_actionPerformed(e);
830 showNpFeatsMenuitem.setText(
831 MessageManager.getString("label.show_non_positional_features"));
832 showNpFeatsMenuitem.addActionListener(new ActionListener()
836 public void actionPerformed(ActionEvent e)
838 showNpFeats_actionPerformed(e);
842 showGroupConservation
843 .setText(MessageManager.getString("label.group_conservation"));
844 showGroupConservation.addActionListener(new ActionListener()
848 public void actionPerformed(ActionEvent e)
850 showGroupConservation_actionPerformed(e);
856 .setText(MessageManager.getString("label.group_consensus"));
857 showGroupConsensus.addActionListener(new ActionListener()
861 public void actionPerformed(ActionEvent e)
863 showGroupConsensus_actionPerformed(e);
867 showConsensusHistogram.setText(
868 MessageManager.getString("label.show_consensus_histogram"));
869 showConsensusHistogram.addActionListener(new ActionListener()
873 public void actionPerformed(ActionEvent e)
875 showConsensusHistogram_actionPerformed(e);
879 showSSConsensusHistogram.setText(
880 MessageManager.getString("label.show_ssconsensus_histogram"));
881 showSSConsensusHistogram.addActionListener(new ActionListener()
885 public void actionPerformed(ActionEvent e)
887 showConsensusHistogram_actionPerformed(e);
892 .setText(MessageManager.getString("label.show_consensus_logo"));
893 showSequenceLogo.addActionListener(new ActionListener()
897 public void actionPerformed(ActionEvent e)
899 showSequenceLogo_actionPerformed(e);
903 normaliseSequenceLogo
904 .setText(MessageManager.getString("label.norm_consensus_logo"));
905 normaliseSequenceLogo.addActionListener(new ActionListener()
909 public void actionPerformed(ActionEvent e)
911 normaliseSequenceLogo_actionPerformed(e);
915 applyAutoAnnotationSettings
916 .setText(MessageManager.getString("label.apply_all_groups"));
917 applyAutoAnnotationSettings.setState(false);
918 applyAutoAnnotationSettings.setVisible(true);
919 applyAutoAnnotationSettings.addActionListener(new ActionListener()
922 public void actionPerformed(ActionEvent e)
924 applyAutoAnnotationSettings_actionPerformed(e);
928 ButtonGroup buttonGroup = new ButtonGroup();
929 final JRadioButtonMenuItem showAutoFirst = new JRadioButtonMenuItem(
930 MessageManager.getString("label.show_first"));
931 final JRadioButtonMenuItem showAutoLast = new JRadioButtonMenuItem(
932 MessageManager.getString("label.show_last"));
933 buttonGroup.add(showAutoFirst);
934 buttonGroup.add(showAutoLast);
935 final boolean autoFirst = Cache
936 .getDefault(Preferences.SHOW_AUTOCALC_ABOVE, false);
937 showAutoFirst.setSelected(autoFirst);
938 setShowAutoCalculatedAbove(autoFirst);
939 showAutoFirst.addActionListener(new ActionListener()
942 public void actionPerformed(ActionEvent e)
944 setShowAutoCalculatedAbove(showAutoFirst.isSelected());
945 sortAnnotations_actionPerformed();
948 showAutoLast.setSelected(!showAutoFirst.isSelected());
949 showAutoLast.addActionListener(new ActionListener()
952 public void actionPerformed(ActionEvent e)
954 setShowAutoCalculatedAbove(!showAutoLast.isSelected());
955 sortAnnotations_actionPerformed();
959 JMenuItem deleteGroups = new JMenuItem(
960 MessageManager.getString("action.undefine_groups"));
961 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U,
962 jalview.util.ShortcutKeyMaskExWrapper
963 .getMenuShortcutKeyMaskEx(),
965 al = new ActionListener()
968 public void actionPerformed(ActionEvent e)
970 deleteGroups_actionPerformed(e);
973 addMenuActionAndAccelerator(keyStroke, deleteGroups, al);
975 JMenuItem annotationColumn = new JMenuItem(
976 MessageManager.getString("action.select_by_annotation"));
977 annotationColumn.addActionListener(new ActionListener()
980 public void actionPerformed(ActionEvent e)
982 annotationColumn_actionPerformed(e);
986 JMenuItem createGroup = new JMenuItem(
987 MessageManager.getString("action.create_group"));
988 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
989 jalview.util.ShortcutKeyMaskExWrapper
990 .getMenuShortcutKeyMaskEx(),
992 al = new ActionListener()
995 public void actionPerformed(ActionEvent e)
997 createGroup_actionPerformed(e);
1000 addMenuActionAndAccelerator(keyStroke, createGroup, al);
1002 JMenuItem unGroup = new JMenuItem(
1003 MessageManager.getString("action.remove_group"));
1004 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
1005 jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
1006 | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
1008 al = new ActionListener()
1011 public void actionPerformed(ActionEvent e)
1013 unGroup_actionPerformed(e);
1016 addMenuActionAndAccelerator(keyStroke, unGroup, al);
1018 copy.setText(MessageManager.getString("action.copy"));
1019 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C,
1020 jalview.util.ShortcutKeyMaskExWrapper
1021 .getMenuShortcutKeyMaskEx(),
1024 al = new ActionListener()
1027 public void actionPerformed(ActionEvent e)
1029 copy_actionPerformed();
1032 addMenuActionAndAccelerator(keyStroke, copy, al);
1034 cut.setText(MessageManager.getString("action.cut"));
1035 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X,
1036 jalview.util.ShortcutKeyMaskExWrapper
1037 .getMenuShortcutKeyMaskEx(),
1039 al = new ActionListener()
1042 public void actionPerformed(ActionEvent e)
1044 cut_actionPerformed();
1047 addMenuActionAndAccelerator(keyStroke, cut, al);
1049 JMenuItem delete = new JMenuItem(
1050 MessageManager.getString("action.delete"));
1051 delete.addActionListener(new ActionListener()
1054 public void actionPerformed(ActionEvent e)
1056 delete_actionPerformed();
1060 pasteMenu.setText(MessageManager.getString("action.paste"));
1061 JMenuItem pasteNew = new JMenuItem(
1062 MessageManager.getString("label.to_new_alignment"));
1063 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V,
1064 jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
1065 | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
1067 al = new ActionListener()
1070 public void actionPerformed(ActionEvent e)
1072 pasteNew_actionPerformed(e);
1075 addMenuActionAndAccelerator(keyStroke, pasteNew, al);
1077 JMenuItem pasteThis = new JMenuItem(
1078 MessageManager.getString("label.to_this_alignment"));
1079 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V,
1080 jalview.util.ShortcutKeyMaskExWrapper
1081 .getMenuShortcutKeyMaskEx(),
1083 al = new ActionListener()
1086 public void actionPerformed(ActionEvent e)
1088 pasteThis_actionPerformed(e);
1091 addMenuActionAndAccelerator(keyStroke, pasteThis, al);
1093 JMenuItem createPNG = new JMenuItem("PNG");
1094 createPNG.addActionListener(new ActionListener()
1097 public void actionPerformed(ActionEvent e)
1099 createPNG_actionPerformed(e);
1102 createPNG.setActionCommand(
1103 MessageManager.getString("label.save_png_image"));
1105 JMenuItem font = new JMenuItem(MessageManager.getString("action.font"));
1106 font.addActionListener(new ActionListener()
1109 public void actionPerformed(ActionEvent e)
1111 font_actionPerformed(e);
1115 MessageManager.getString("label.show_sequence_limits"));
1116 seqLimits.setState(Cache.getDefault("SHOW_JVSUFFIX", true));
1117 seqLimits.addActionListener(new ActionListener()
1120 public void actionPerformed(ActionEvent e)
1122 seqLimit_actionPerformed(e);
1125 JMenuItem epsFile = new JMenuItem("EPS");
1126 epsFile.addActionListener(new ActionListener()
1129 public void actionPerformed(ActionEvent e)
1131 createEPS_actionPerformed(e);
1135 JMenuItem createSVG = new JMenuItem("SVG");
1136 createSVG.addActionListener(new ActionListener()
1139 public void actionPerformed(ActionEvent e)
1141 createSVG_actionPerformed(e);
1145 JMenuItem loadTreeMenuItem = new JMenuItem(
1146 MessageManager.getString("label.load_associated_tree"));
1147 loadTreeMenuItem.setActionCommand(
1148 MessageManager.getString("label.load_tree_for_sequence_set"));
1149 loadTreeMenuItem.addActionListener(new ActionListener()
1152 public void actionPerformed(ActionEvent e)
1154 loadTreeMenuItem_actionPerformed(e);
1158 scaleAbove.setVisible(false);
1159 scaleAbove.setText(MessageManager.getString("action.scale_above"));
1160 scaleAbove.addActionListener(new ActionListener()
1163 public void actionPerformed(ActionEvent e)
1165 scaleAbove_actionPerformed(e);
1168 scaleLeft.setVisible(false);
1169 scaleLeft.setSelected(true);
1170 scaleLeft.setText(MessageManager.getString("action.scale_left"));
1171 scaleLeft.addActionListener(new ActionListener()
1174 public void actionPerformed(ActionEvent e)
1176 scaleLeft_actionPerformed(e);
1179 scaleRight.setVisible(false);
1180 scaleRight.setSelected(true);
1181 scaleRight.setText(MessageManager.getString("action.scale_right"));
1182 scaleRight.addActionListener(new ActionListener()
1185 public void actionPerformed(ActionEvent e)
1187 scaleRight_actionPerformed(e);
1190 centreColumnLabelsMenuItem.setVisible(true);
1191 centreColumnLabelsMenuItem.setState(false);
1192 centreColumnLabelsMenuItem.setText(
1193 MessageManager.getString("label.centre_column_labels"));
1194 centreColumnLabelsMenuItem.addActionListener(new ActionListener()
1197 public void actionPerformed(ActionEvent e)
1199 centreColumnLabels_actionPerformed(e);
1202 followHighlightMenuItem.setVisible(true);
1203 followHighlightMenuItem.setState(true);
1204 followHighlightMenuItem
1205 .setText(MessageManager.getString("label.automatic_scrolling"));
1206 followHighlightMenuItem.addActionListener(new ActionListener()
1210 public void actionPerformed(ActionEvent e)
1212 followHighlight_actionPerformed();
1218 .setText(MessageManager.getString("action.by_tree_order"));
1219 sort.setText(MessageManager.getString("action.sort"));
1220 sort.addMenuListener(new MenuListener()
1223 public void menuSelected(MenuEvent e)
1225 buildTreeSortMenu();
1229 public void menuDeselected(MenuEvent e)
1234 public void menuCanceled(MenuEvent e)
1239 .setText(MessageManager.getString("label.sort_by_score"));
1240 sort.add(sortByAnnotScore);
1241 sort.addMenuListener(new javax.swing.event.MenuListener()
1245 public void menuCanceled(MenuEvent e)
1250 public void menuDeselected(MenuEvent e)
1255 public void menuSelected(MenuEvent e)
1257 buildSortByAnnotationScoresMenu();
1260 sortByAnnotScore.setVisible(false);
1263 .setText(MessageManager.getString("action.calculate_tree_pca"));
1265 padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps"));
1266 padGapsMenuitem.setState(Cache.getDefault("PAD_GAPS", false));
1267 padGapsMenuitem.addActionListener(new ActionListener()
1270 public void actionPerformed(ActionEvent e)
1272 padGapsMenuitem_actionPerformed(e);
1275 JMenuItem vamsasStore = new JMenuItem(
1276 MessageManager.getString("label.vamsas_store"));
1277 vamsasStore.setVisible(false);
1278 vamsasStore.addActionListener(new ActionListener()
1281 public void actionPerformed(ActionEvent e)
1283 vamsasStore_actionPerformed(e);
1288 * Translate as cDNA with sub-menu of translation tables
1291 .setText(MessageManager.getString("label.translate_cDNA"));
1292 boolean first = true;
1293 for (final GeneticCodeI table : GeneticCodes.getInstance()
1296 JMenuItem item = new JMenuItem(table.getId() + " " + table.getName());
1297 showTranslation.add(item);
1298 item.addActionListener(new ActionListener()
1301 public void actionPerformed(ActionEvent e)
1303 showTranslation_actionPerformed(table);
1308 showTranslation.addSeparator();
1313 showReverse.setText(MessageManager.getString("label.reverse"));
1314 showReverse.addActionListener(new ActionListener()
1317 public void actionPerformed(ActionEvent e)
1319 showReverse_actionPerformed(false);
1322 showReverseComplement
1323 .setText(MessageManager.getString("label.reverse_complement"));
1324 showReverseComplement.addActionListener(new ActionListener()
1327 public void actionPerformed(ActionEvent e)
1329 showReverse_actionPerformed(true);
1333 JMenuItem extractScores = new JMenuItem(
1334 MessageManager.getString("label.extract_scores"));
1335 extractScores.addActionListener(new ActionListener()
1338 public void actionPerformed(ActionEvent e)
1340 extractScores_actionPerformed(e);
1343 extractScores.setVisible(true);
1344 // JBPNote: TODO: make gui for regex based score extraction
1346 // for show products actions see AlignFrame.canShowProducts
1347 showProducts.setText(MessageManager.getString("label.get_cross_refs"));
1349 runGroovy.setText(MessageManager.getString("label.run_groovy"));
1350 runGroovy.setToolTipText(
1351 MessageManager.getString("label.run_groovy_tip"));
1352 runGroovy.addActionListener(new ActionListener()
1355 public void actionPerformed(ActionEvent e)
1357 runGroovy_actionPerformed();
1361 openFeatureSettings = new JMenuItem(
1362 MessageManager.getString("action.feature_settings"));
1363 openFeatureSettings.addActionListener(new ActionListener()
1366 public void actionPerformed(ActionEvent e)
1368 featureSettings_actionPerformed(e);
1373 * add sub-menu of database we can fetch from
1375 JMenuItem fetchSequence = new JMenuItem(
1376 MessageManager.getString("label.fetch_sequences"));
1377 fetchSequence.addActionListener(new ActionListener()
1380 public void actionPerformed(ActionEvent e)
1382 fetchSequence_actionPerformed();
1386 JMenuItem associatedData = new JMenuItem(
1387 MessageManager.getString("label.load_features_annotations"));
1388 associatedData.addActionListener(new ActionListener()
1391 public void actionPerformed(ActionEvent e)
1393 associatedData_actionPerformed(e);
1396 loadVcf = new JMenuItem(
1397 MessageManager.getString("label.load_vcf_file"));
1398 loadVcf.setToolTipText(MessageManager.getString("label.load_vcf"));
1399 loadVcf.addActionListener(new ActionListener()
1402 public void actionPerformed(ActionEvent e)
1404 loadVcf_actionPerformed();
1407 autoCalculate.setText(
1408 MessageManager.getString("label.autocalculate_consensus"));
1409 autoCalculate.setState(Cache.getDefault("AUTO_CALC_CONSENSUS", true));
1410 autoCalculate.addActionListener(new ActionListener()
1413 public void actionPerformed(ActionEvent e)
1415 autoCalculate_actionPerformed(e);
1419 MessageManager.getString("label.sort_alignment_new_tree"));
1420 sortByTree.setToolTipText("<html>" + MessageManager.getString(
1421 "label.enable_automatically_sort_alignment_when_open_new_tree"));
1422 sortByTree.setState(Cache.getDefault("SORT_BY_TREE", false));
1423 sortByTree.addActionListener(new ActionListener()
1426 public void actionPerformed(ActionEvent e)
1428 sortByTreeOption_actionPerformed(e);
1432 listenToViewSelections.setText(
1433 MessageManager.getString("label.listen_for_selections"));
1434 listenToViewSelections
1435 .setToolTipText("<html>" + MessageManager.getString(
1436 "label.selections_mirror_selections_made_same_sequences_other_views"));
1437 listenToViewSelections.setState(false);
1438 listenToViewSelections.addActionListener(new ActionListener()
1441 public void actionPerformed(ActionEvent e)
1443 listenToViewSelections_actionPerformed(e);
1447 JMenu addSequenceMenu = new JMenu(
1448 MessageManager.getString("label.add_sequences"));
1449 JMenuItem addFromFile = new JMenuItem(
1450 MessageManager.getString("label.from_file"));
1451 addFromFile.addActionListener(new ActionListener()
1454 public void actionPerformed(ActionEvent e)
1456 addFromFile_actionPerformed(e);
1459 JMenuItem addFromText = new JMenuItem(
1460 MessageManager.getString("label.from_textbox"));
1461 addFromText.addActionListener(new ActionListener()
1464 public void actionPerformed(ActionEvent e)
1466 addFromText_actionPerformed(e);
1469 JMenuItem addFromURL = new JMenuItem(
1470 MessageManager.getString("label.from_url"));
1471 addFromURL.addActionListener(new ActionListener()
1474 public void actionPerformed(ActionEvent e)
1476 addFromURL_actionPerformed(e);
1479 JMenuItem exportFeatures = new JMenuItem(
1480 MessageManager.getString("label.export_features"));
1481 exportFeatures.addActionListener(new ActionListener()
1484 public void actionPerformed(ActionEvent e)
1486 exportFeatures_actionPerformed(e);
1489 JMenuItem exportAnnotations = new JMenuItem(
1490 MessageManager.getString("label.export_annotations"));
1491 exportAnnotations.addActionListener(new ActionListener()
1494 public void actionPerformed(ActionEvent e)
1496 exportAnnotations_actionPerformed(e);
1499 statusPanel.setLayout(new GridLayout());
1500 JMenuItem showAllSeqs = new JMenuItem(
1501 MessageManager.getString("label.all_sequences"));
1502 showAllSeqs.setToolTipText(
1503 MessageManager.getString("label.toggle_sequence_visibility"));
1504 showAllSeqs.addActionListener(new ActionListener()
1507 public void actionPerformed(ActionEvent e)
1509 showAllSeqs_actionPerformed(e);
1512 JMenuItem showAllColumns = new JMenuItem(
1513 MessageManager.getString("label.all_columns"));
1514 showAllColumns.setToolTipText(
1515 MessageManager.getString("label.toggle_columns_visibility"));
1516 showAllColumns.addActionListener(new ActionListener()
1519 public void actionPerformed(ActionEvent e)
1521 showAllColumns_actionPerformed(e);
1524 JMenu hideMenu = new JMenu(MessageManager.getString("action.hide"));
1525 JMenuItem hideSelSequences = new JMenuItem(
1526 MessageManager.getString("label.selected_sequences"));
1527 hideSelSequences.setToolTipText(
1528 MessageManager.getString("label.toggle_sequence_visibility"));
1529 hideSelSequences.addActionListener(new ActionListener()
1532 public void actionPerformed(ActionEvent e)
1534 hideSelSequences_actionPerformed(e);
1537 JMenuItem hideSelColumns = new JMenuItem(
1538 MessageManager.getString("label.selected_columns"));
1539 hideSelColumns.setToolTipText(
1540 MessageManager.getString("label.toggle_columns_visibility"));
1541 hideSelColumns.addActionListener(new ActionListener()
1544 public void actionPerformed(ActionEvent e)
1546 hideSelColumns_actionPerformed(e);
1549 JMenuItem hideAllSelection = new JMenuItem(
1550 MessageManager.getString("label.selected_region"));
1551 hideAllSelection.addActionListener(new ActionListener()
1554 public void actionPerformed(ActionEvent e)
1556 hideAllSelection_actionPerformed(e);
1559 // TODO: should be hidden if no selection exists.
1560 JMenuItem hideAllButSelection = new JMenuItem(
1561 MessageManager.getString("label.all_but_selected_region"));
1562 hideAllButSelection.addActionListener(new ActionListener()
1565 public void actionPerformed(ActionEvent e)
1567 hideAllButSelection_actionPerformed(e);
1570 JMenuItem showAllhidden = new JMenuItem(
1571 MessageManager.getString("label.all_sequences_columns"));
1572 showAllhidden.setToolTipText(MessageManager
1573 .getString("label.toggles_visibility_hidden_selected_regions"));
1574 showAllhidden.addActionListener(new ActionListener()
1577 public void actionPerformed(ActionEvent e)
1579 showAllhidden_actionPerformed(e);
1582 hiddenMarkers.setText(
1583 MessageManager.getString("action.show_hidden_markers"));
1584 hiddenMarkers.addActionListener(new ActionListener()
1587 public void actionPerformed(ActionEvent e)
1589 hiddenMarkers_actionPerformed(e);
1593 JMenuItem invertColSel = new JMenuItem(
1594 MessageManager.getString("action.invert_column_selection"));
1595 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
1596 jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
1597 | jalview.util.ShortcutKeyMaskExWrapper.ALT_DOWN_MASK,
1599 al = new ActionListener()
1602 public void actionPerformed(ActionEvent e)
1604 invertColSel_actionPerformed(e);
1607 addMenuActionAndAccelerator(keyStroke, invertColSel, al);
1609 showComplementMenuItem.setVisible(false);
1610 showComplementMenuItem.addActionListener(new ActionListener()
1613 public void actionPerformed(ActionEvent e)
1615 showComplement_actionPerformed(showComplementMenuItem.getState());
1619 tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
1622 public void stateChanged(ChangeEvent evt)
1624 JTabbedPane pane = (JTabbedPane) evt.getSource();
1625 int sel = pane.getSelectedIndex();
1626 tabSelectionChanged(sel);
1629 tabbedPane.addMouseListener(new MouseAdapter()
1632 public void mousePressed(MouseEvent e)
1634 if (e.isPopupTrigger()) // Mac
1636 tabbedPane_mousePressed(e);
1641 public void mouseReleased(MouseEvent e)
1643 if (e.isPopupTrigger()) // Windows
1645 tabbedPane_mousePressed(e);
1649 tabbedPane.addFocusListener(new FocusAdapter()
1652 public void focusGained(FocusEvent e)
1654 tabbedPane_focusGained(e);
1658 JMenuItem save = new JMenuItem(MessageManager.getString("action.save"));
1659 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
1660 jalview.util.ShortcutKeyMaskExWrapper
1661 .getMenuShortcutKeyMaskEx(),
1663 al = new ActionListener()
1666 public void actionPerformed(ActionEvent e)
1668 save_actionPerformed(e);
1671 addMenuActionAndAccelerator(keyStroke, save, al);
1673 reload.setEnabled(false);
1674 reload.setText(MessageManager.getString("action.reload"));
1675 reload.addActionListener(new ActionListener()
1678 public void actionPerformed(ActionEvent e)
1680 reload_actionPerformed(e);
1684 JMenuItem newView = new JMenuItem(
1685 MessageManager.getString("action.new_view"));
1686 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T,
1687 jalview.util.ShortcutKeyMaskExWrapper
1688 .getMenuShortcutKeyMaskEx(),
1690 al = new ActionListener()
1693 public void actionPerformed(ActionEvent e)
1695 newView_actionPerformed(e);
1698 addMenuActionAndAccelerator(keyStroke, newView, al);
1700 tabbedPane.setToolTipText("<html><i>"
1701 + MessageManager.getString("label.rename_tab_eXpand_reGroup")
1704 formatMenu.setText(MessageManager.getString("action.format"));
1705 JMenu selectMenu = new JMenu(MessageManager.getString("action.select"));
1707 idRightAlign.setText(
1708 MessageManager.getString("label.right_align_sequence_id"));
1709 idRightAlign.addActionListener(new ActionListener()
1712 public void actionPerformed(ActionEvent e)
1714 idRightAlign_actionPerformed(e);
1718 gatherViews.setEnabled(false);
1719 gatherViews.setText(MessageManager.getString("action.gather_views"));
1720 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, 0, false);
1721 al = new ActionListener()
1724 public void actionPerformed(ActionEvent e)
1726 gatherViews_actionPerformed(e);
1729 addMenuActionAndAccelerator(keyStroke, gatherViews, al);
1731 expandViews.setEnabled(false);
1732 expandViews.setText(MessageManager.getString("action.expand_views"));
1733 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, 0, false);
1734 al = new ActionListener()
1737 public void actionPerformed(ActionEvent e)
1739 expandViews_actionPerformed(e);
1742 addMenuActionAndAccelerator(keyStroke, expandViews, al);
1744 JMenuItem pageSetup = new JMenuItem(
1745 MessageManager.getString("action.page_setup"));
1746 pageSetup.addActionListener(new ActionListener()
1749 public void actionPerformed(ActionEvent e)
1751 pageSetup_actionPerformed(e);
1754 JMenuItem alignmentProperties = new JMenuItem(
1755 MessageManager.getString("label.alignment_props"));
1756 alignmentProperties.addActionListener(new ActionListener()
1759 public void actionPerformed(ActionEvent actionEvent)
1761 alignmentProperties();
1764 JMenuItem selectHighlighted = new JMenuItem(
1765 MessageManager.getString("action.select_highlighted_columns"));
1766 selectHighlighted.setToolTipText(
1767 MessageManager.getString("tooltip.select_highlighted_columns"));
1768 al = new ActionListener()
1771 public void actionPerformed(ActionEvent actionEvent)
1773 selectHighlightedColumns_actionPerformed(actionEvent);
1776 selectHighlighted.addActionListener(al);
1778 copyHighlighted = new JMenuItem(
1779 MessageManager.getString("action.copy_highlighted_regions"));
1780 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C,
1781 jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
1782 + jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
1784 copyHighlighted.setToolTipText(
1785 MessageManager.getString("tooltip.copy_highlighted_regions"));
1786 al = new ActionListener()
1789 public void actionPerformed(ActionEvent actionEvent)
1791 copyHighlightedColumns_actionPerformed(actionEvent);
1794 addMenuActionAndAccelerator(keyStroke, copyHighlighted, al);
1795 copyHighlighted.addActionListener(al);
1797 JMenu tooltipSettingsMenu = new JMenu(
1798 MessageManager.getString("label.sequence_id_tooltip"));
1799 JMenu autoAnnMenu = new JMenu(
1800 MessageManager.getString("label.autocalculated_annotation"));
1802 JMenu exportImageMenu = new JMenu(
1803 MessageManager.getString("label.export_image"));
1804 JMenu fileMenu = new JMenu(MessageManager.getString("action.file"));
1805 alignFrameMenuBar.add(fileMenu);
1806 alignFrameMenuBar.add(editMenu);
1807 alignFrameMenuBar.add(selectMenu);
1808 alignFrameMenuBar.add(viewMenu);
1809 alignFrameMenuBar.add(annotationsMenu);
1810 alignFrameMenuBar.add(formatMenu);
1811 alignFrameMenuBar.add(colourMenu);
1812 alignFrameMenuBar.add(calculateMenu);
1813 if (!Platform.isJS())
1815 alignFrameMenuBar.add(webService);
1818 fileMenu.add(fetchSequence);
1819 fileMenu.add(addSequenceMenu);
1820 fileMenu.add(reload);
1821 fileMenu.addSeparator();
1822 fileMenu.add(vamsasStore);
1824 fileMenu.add(saveAs);
1825 fileMenu.add(outputTextboxMenu);
1826 fileMenu.add(pageSetup);
1827 fileMenu.add(printMenuItem);
1828 fileMenu.addSeparator();
1829 fileMenu.add(exportImageMenu);
1830 fileMenu.add(exportFeatures);
1831 fileMenu.add(exportAnnotations);
1832 fileMenu.add(loadTreeMenuItem);
1833 fileMenu.add(associatedData);
1834 if (!Platform.isJS())
1836 fileMenu.add(loadVcf);
1838 fileMenu.addSeparator();
1839 fileMenu.add(closeMenuItem);
1841 pasteMenu.add(pasteNew);
1842 pasteMenu.add(pasteThis);
1843 editMenu.add(undoMenuItem);
1844 editMenu.add(redoMenuItem);
1847 editMenu.add(copyHighlighted);
1848 editMenu.add(pasteMenu);
1849 editMenu.add(delete);
1850 editMenu.addSeparator();
1851 editMenu.add(remove2LeftMenuItem);
1852 editMenu.add(remove2RightMenuItem);
1853 editMenu.add(removeGappedColumnMenuItem);
1854 editMenu.add(removeAllGapsMenuItem);
1855 editMenu.add(removeRedundancyMenuItem);
1856 editMenu.addSeparator();
1857 // dont add these yet in the CVS build - they cannot be undone!
1858 // Excluded from Jalview 2.5 release - undo needs to be implemented.
1859 // editMenu.add(justifyLeftMenuItem);
1860 // editMenu.add(justifyRightMenuItem);
1861 // editMenu.addSeparator();
1862 editMenu.add(padGapsMenuitem);
1864 showMenu.add(showAllColumns);
1865 showMenu.add(showAllSeqs);
1866 showMenu.add(showAllhidden);
1867 hideMenu.add(hideSelColumns);
1868 hideMenu.add(hideSelSequences);
1869 hideMenu.add(hideAllSelection);
1870 hideMenu.add(hideAllButSelection);
1871 viewMenu.add(newView);
1872 viewMenu.add(expandViews);
1873 viewMenu.add(gatherViews);
1874 viewMenu.addSeparator();
1875 viewMenu.add(showMenu);
1876 viewMenu.add(hideMenu);
1877 viewMenu.add(showComplementMenuItem);
1878 viewMenu.addSeparator();
1879 viewMenu.add(followHighlightMenuItem);
1880 viewMenu.addSeparator();
1881 viewMenu.add(showSeqFeatures);
1882 // viewMenu.add(showSeqFeaturesHeight);
1883 viewMenu.add(openFeatureSettings);
1884 tooltipSettingsMenu.add(showDbRefsMenuitem);
1885 tooltipSettingsMenu.add(showNpFeatsMenuitem);
1886 viewMenu.add(tooltipSettingsMenu);
1887 viewMenu.addSeparator();
1888 viewMenu.add(alignmentProperties);
1889 viewMenu.addSeparator();
1890 viewMenu.add(overviewMenuItem);
1892 annotationsMenu.add(annotationPanelMenuItem);
1893 annotationsMenu.addSeparator();
1894 annotationsMenu.add(showAllAlAnnotations);
1895 annotationsMenu.add(hideAllAlAnnotations);
1896 annotationsMenu.addSeparator();
1897 annotationsMenu.add(showAllSeqAnnotations);
1898 annotationsMenu.add(hideAllSeqAnnotations);
1899 annotationsMenu.add(sortAnnBySequence);
1900 annotationsMenu.add(sortAnnByLabel);
1901 annotationsMenu.addSeparator();
1902 autoAnnMenu.add(showAutoFirst);
1903 autoAnnMenu.add(showAutoLast);
1904 autoAnnMenu.addSeparator();
1905 autoAnnMenu.add(applyAutoAnnotationSettings);
1906 autoAnnMenu.add(showConsensusHistogram);
1907 autoAnnMenu.add(showSSConsensusHistogram);
1908 autoAnnMenu.add(showSequenceLogo);
1909 autoAnnMenu.add(normaliseSequenceLogo);
1910 autoAnnMenu.addSeparator();
1911 autoAnnMenu.add(showGroupConservation);
1912 autoAnnMenu.add(showGroupConsensus);
1913 annotationsMenu.add(autoAnnMenu);
1915 sort.add(sortIDMenuItem);
1916 sort.add(sortLengthMenuItem);
1917 sort.add(sortGroupMenuItem);
1918 sort.add(sortPairwiseMenuItem);
1919 sort.add(sortByTreeMenu);
1920 calculateMenu.add(sort);
1921 calculateMenu.add(calculateTree);
1922 calculateMenu.addSeparator();
1923 calculateMenu.add(pairwiseAlignmentMenuItem);
1924 calculateMenu.addSeparator();
1925 calculateMenu.add(showTranslation);
1926 calculateMenu.add(showReverse);
1927 calculateMenu.add(showReverseComplement);
1928 calculateMenu.add(showProducts);
1929 calculateMenu.add(autoCalculate);
1930 calculateMenu.add(sortByTree);
1931 calculateMenu.addSeparator();
1932 calculateMenu.add(expandAlignment);
1933 calculateMenu.add(extractScores);
1934 if (!Platform.isJS())
1936 calculateMenu.addSeparator();
1937 calculateMenu.add(runGroovy);
1940 webServiceNoServices = new JMenuItem(
1941 MessageManager.getString("label.no_services"));
1942 webService.add(webServiceNoServices);
1943 if (!Platform.isJS())
1945 exportImageMenu.add(htmlMenuItem);
1947 exportImageMenu.add(epsFile);
1948 exportImageMenu.add(createPNG);
1949 if (!Platform.isJS())
1951 exportImageMenu.add(createBioJS);
1952 exportImageMenu.add(createSVG);
1954 addSequenceMenu.add(addFromFile);
1955 addSequenceMenu.add(addFromText);
1956 addSequenceMenu.add(addFromURL);
1957 this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
1958 statusPanel.add(statusBar, null);
1959 this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
1961 formatMenu.add(font);
1962 formatMenu.addSeparator();
1963 formatMenu.add(wrapMenuItem);
1964 formatMenu.add(scaleAbove);
1965 formatMenu.add(scaleLeft);
1966 formatMenu.add(scaleRight);
1967 formatMenu.add(seqLimits);
1968 formatMenu.add(idRightAlign);
1969 formatMenu.add(hiddenMarkers);
1970 formatMenu.add(viewBoxesMenuItem);
1971 formatMenu.add(viewTextMenuItem);
1972 formatMenu.add(colourTextMenuItem);
1973 formatMenu.add(renderGapsMenuItem);
1974 formatMenu.add(centreColumnLabelsMenuItem);
1975 formatMenu.add(showNonconservedMenuItem);
1976 selectMenu.add(findMenuItem);
1977 selectMenu.addSeparator();
1978 selectMenu.add(selectAllSequenceMenuItem);
1979 selectMenu.add(deselectAllSequenceMenuItem);
1980 selectMenu.add(invertSequenceMenuItem);
1981 selectMenu.add(invertColSel);
1982 selectMenu.add(createGroup);
1983 selectMenu.add(unGroup);
1984 selectMenu.add(grpsFromSelection);
1985 selectMenu.add(deleteGroups);
1986 selectMenu.add(annotationColumn);
1987 selectMenu.add(selectHighlighted);
1988 // TODO - determine if the listenToViewSelections button is needed : see bug
1990 // selectMenu.addSeparator();
1991 // selectMenu.add(listenToViewSelections);
1994 protected void createPNG_actionPerformed(ActionEvent object)
1996 // TODO Auto-generated method stub
2000 protected void createEPS_actionPerformed(ActionEvent object)
2002 // TODO Auto-generated method stub
2006 protected void createSVG_actionPerformed(ActionEvent object)
2008 // TODO Auto-generated method stub
2012 protected void copyHighlightedColumns_actionPerformed(
2013 ActionEvent actionEvent)
2018 protected void loadVcf_actionPerformed()
2023 * Constructs the entries on the Colour menu (but does not add them to the
2026 protected void initColourMenu()
2028 applyToAllGroups = new JCheckBoxMenuItem(
2029 MessageManager.getString("label.apply_colour_to_all_groups"));
2030 applyToAllGroups.addActionListener(new ActionListener()
2033 public void actionPerformed(ActionEvent e)
2035 applyToAllGroups_actionPerformed(applyToAllGroups.isSelected());
2039 textColour = new JMenuItem(
2040 MessageManager.getString("label.text_colour"));
2041 textColour.addActionListener(new ActionListener()
2044 public void actionPerformed(ActionEvent e)
2046 textColour_actionPerformed();
2050 conservationMenuItem = new JCheckBoxMenuItem(
2051 MessageManager.getString("action.by_conservation"));
2052 conservationMenuItem.addActionListener(new ActionListener()
2055 public void actionPerformed(ActionEvent e)
2057 conservationMenuItem_actionPerformed(
2058 conservationMenuItem.isSelected());
2062 abovePIDThreshold = new JCheckBoxMenuItem(
2063 MessageManager.getString("label.above_identity_threshold"));
2064 abovePIDThreshold.addActionListener(new ActionListener()
2067 public void actionPerformed(ActionEvent e)
2069 abovePIDThreshold_actionPerformed(abovePIDThreshold.isSelected());
2072 modifyPID = new JMenuItem(
2073 MessageManager.getString("label.modify_identity_threshold"));
2074 modifyPID.addActionListener(new ActionListener()
2077 public void actionPerformed(ActionEvent e)
2079 modifyPID_actionPerformed();
2082 modifyConservation = new JMenuItem(MessageManager
2083 .getString("label.modify_conservation_threshold"));
2084 modifyConservation.addActionListener(new ActionListener()
2087 public void actionPerformed(ActionEvent e)
2089 modifyConservation_actionPerformed();
2093 annotationColour = new JRadioButtonMenuItem(
2094 MessageManager.getString("action.by_annotation"));
2095 annotationColour.setName(ResidueColourScheme.ANNOTATION_COLOUR);
2096 annotationColour.addActionListener(new ActionListener()
2099 public void actionPerformed(ActionEvent e)
2101 annotationColour_actionPerformed();
2106 protected void selectHighlightedColumns_actionPerformed(
2107 ActionEvent actionEvent)
2109 // TODO Auto-generated method stub
2114 * Generate the reverse sequence (or reverse complement if the flag is true)
2115 * and add it to the alignment
2119 protected void showReverse_actionPerformed(boolean complement)
2124 * Try to run script in a Groovy console, having first ensured that this
2125 * alignframe is set as currentAlignFrame in Desktop
2127 protected void runGroovy_actionPerformed()
2133 * Adds the given action listener and key accelerator to the given menu item.
2134 * Also saves in a lookup table to support lookup of action by key stroke.
2138 * @param actionListener
2140 protected void addMenuActionAndAccelerator(KeyStroke keyStroke,
2141 JMenuItem menuItem, ActionListener actionListener)
2143 menuItem.setAccelerator(keyStroke);
2144 accelerators.put(keyStroke, menuItem);
2145 menuItem.addActionListener(actionListener);
2149 * Action on clicking sort annotations by type.
2153 protected void sortAnnotations_actionPerformed()
2158 * Action on clicking Show all annotations.
2160 * @param forSequences
2161 * update sequence-related annotations
2162 * @param forAlignment
2163 * update non-sequence-related annotations
2165 protected void showAllAnnotations_actionPerformed(boolean forSequences,
2166 boolean forAlignment)
2168 setAnnotationsVisibility(true, forSequences, forAlignment);
2172 * Action on clicking Hide all annotations.
2174 * @param forSequences
2175 * update sequence-related annotations
2176 * @param forAlignment
2177 * update non-sequence-related annotations
2179 protected void hideAllAnnotations_actionPerformed(boolean forSequences,
2180 boolean forAlignment)
2182 setAnnotationsVisibility(false, forSequences, forAlignment);
2186 * Set the visibility of annotations to true or false. Can act on
2187 * sequence-related annotations, or alignment-related, or both.
2190 * @param forSequences
2191 * update sequence-related annotations
2192 * @param forAlignment
2193 * update non-sequence-related annotations
2195 public void setAnnotationsVisibility(boolean visible,
2196 boolean forSequences, boolean forAlignment)
2201 protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
2203 // TODO Auto-generated method stub
2207 protected void listenToViewSelections_actionPerformed(ActionEvent e)
2209 // TODO Auto-generated method stub
2213 protected void showAllhidden_actionPerformed(ActionEvent e)
2215 // TODO Auto-generated method stub
2219 protected void hideAllButSelection_actionPerformed(ActionEvent e)
2221 // TODO Auto-generated method stub
2225 protected void hideAllSelection_actionPerformed(ActionEvent e)
2227 // TODO Auto-generated method stub
2231 protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
2233 // TODO Auto-generated method stub
2237 protected void showConsensusHistogram_actionPerformed(ActionEvent e)
2239 // TODO Auto-generated method stub
2243 protected void showSSConsensusHistogram_actionPerformed(ActionEvent e)
2245 // TODO Auto-generated method stub
2249 protected void showSequenceLogo_actionPerformed(ActionEvent e)
2251 // TODO Auto-generated method stub
2255 protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
2257 // TODO Auto-generated method stub
2261 protected void showGroupConsensus_actionPerformed(ActionEvent e)
2263 // TODO Auto-generated method stub
2267 protected void showGroupConservation_actionPerformed(ActionEvent e)
2269 // TODO Auto-generated method stub
2273 protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
2275 // TODO Auto-generated method stub
2279 protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
2281 // TODO Auto-generated method stub
2285 protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
2287 // TODO Auto-generated method stub
2291 protected void followHighlight_actionPerformed()
2293 // TODO Auto-generated method stub
2297 protected void showNpFeats_actionPerformed(ActionEvent e)
2299 // TODO Auto-generated method stub
2303 protected void showDbRefs_actionPerformed(ActionEvent e)
2305 // TODO Auto-generated method stub
2309 protected void centreColumnLabels_actionPerformed(ActionEvent e)
2313 protected void buildSortByAnnotationScoresMenu()
2317 protected void extractScores_actionPerformed(ActionEvent e)
2321 protected void outputText_actionPerformed(String formatName)
2325 public void addFromFile_actionPerformed(ActionEvent e)
2330 public void addFromText_actionPerformed(ActionEvent e)
2335 public void addFromURL_actionPerformed(ActionEvent e)
2340 public void exportFeatures_actionPerformed(ActionEvent e)
2345 public void exportAnnotations_actionPerformed(ActionEvent e)
2350 protected void htmlMenuItem_actionPerformed(ActionEvent e)
2354 protected void bioJSMenuItem_actionPerformed(ActionEvent e)
2359 protected void closeMenuItem_actionPerformed(boolean b)
2363 protected void redoMenuItem_actionPerformed(ActionEvent e)
2367 protected void undoMenuItem_actionPerformed(ActionEvent e)
2371 protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2375 protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2379 protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
2383 protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
2387 protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
2391 protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
2395 protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
2399 protected void wrapMenuItem_actionPerformed(ActionEvent e)
2403 protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
2407 protected void viewTextMenuItem_actionPerformed(ActionEvent e)
2411 protected void colourTextMenuItem_actionPerformed(ActionEvent e)
2415 protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
2419 protected void overviewMenuItem_actionPerformed(ActionEvent e)
2423 protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
2427 protected void sortIDMenuItem_actionPerformed(ActionEvent e)
2431 protected void sortLengthMenuItem_actionPerformed(ActionEvent e)
2435 protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
2439 protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
2443 protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
2447 protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
2451 protected void conservationMenuItem_actionPerformed(boolean selected)
2455 protected void printMenuItem_actionPerformed(ActionEvent e)
2459 protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2463 protected void findMenuItem_actionPerformed(ActionEvent e)
2467 protected void abovePIDThreshold_actionPerformed(boolean selected)
2471 public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2475 protected void deleteGroups_actionPerformed(ActionEvent e)
2479 protected void createGroup_actionPerformed(ActionEvent e)
2483 protected void unGroup_actionPerformed(ActionEvent e)
2487 protected void copy_actionPerformed()
2491 protected void cut_actionPerformed()
2495 protected void delete_actionPerformed()
2499 protected void pasteNew_actionPerformed(ActionEvent e)
2503 protected void pasteThis_actionPerformed(ActionEvent e)
2507 protected void applyToAllGroups_actionPerformed(boolean selected)
2511 protected void font_actionPerformed(ActionEvent e)
2515 protected void seqLimit_actionPerformed(ActionEvent e)
2519 public void seqDBRef_actionPerformed(ActionEvent e)
2524 protected void loadTreeMenuItem_actionPerformed(ActionEvent e)
2530 * Template method to handle the 'load T-Coffee scores' menu event.
2532 * Subclasses override this method to provide a custom action.
2537 protected void loadScores_actionPerformed(ActionEvent event)
2542 protected void jpred_actionPerformed(ActionEvent e)
2546 protected void scaleAbove_actionPerformed(ActionEvent e)
2550 protected void scaleLeft_actionPerformed(ActionEvent e)
2554 protected void scaleRight_actionPerformed(ActionEvent e)
2558 protected void modifyPID_actionPerformed()
2562 protected void modifyConservation_actionPerformed()
2566 protected void saveAs_actionPerformed()
2570 protected void padGapsMenuitem_actionPerformed(ActionEvent e)
2574 public void vamsasStore_actionPerformed(ActionEvent e)
2579 public void vamsasLoad_actionPerformed(ActionEvent e)
2584 public void showTranslation_actionPerformed(GeneticCodeI codeTable)
2589 public void featureSettings_actionPerformed(ActionEvent e)
2594 public void fetchSequence_actionPerformed()
2599 public void smoothFont_actionPerformed(ActionEvent e)
2604 public void annotationColour_actionPerformed()
2608 public void annotationColumn_actionPerformed(ActionEvent e)
2612 public void associatedData_actionPerformed(ActionEvent e)
2617 public void autoCalculate_actionPerformed(ActionEvent e)
2622 public void sortByTreeOption_actionPerformed(ActionEvent e)
2627 public void showAllSeqs_actionPerformed(ActionEvent e)
2632 public void showAllColumns_actionPerformed(ActionEvent e)
2637 public void hideSelSequences_actionPerformed(ActionEvent e)
2642 public void hideSelColumns_actionPerformed(ActionEvent e)
2647 public void hiddenMarkers_actionPerformed(ActionEvent e)
2652 public void findPdbId_actionPerformed(ActionEvent e)
2657 public void enterPdbId_actionPerformed(ActionEvent e)
2662 public void pdbFile_actionPerformed(ActionEvent e)
2667 public void invertColSel_actionPerformed(ActionEvent e)
2672 public void tabSelectionChanged(int sel)
2677 public void tabbedPane_mousePressed(MouseEvent e)
2682 public void tabbedPane_focusGained(FocusEvent e)
2687 public void save_actionPerformed(ActionEvent e)
2692 public void reload_actionPerformed(ActionEvent e)
2697 public void newView_actionPerformed(ActionEvent e)
2702 public void textColour_actionPerformed()
2707 public void idRightAlign_actionPerformed(ActionEvent e)
2712 public void expandViews_actionPerformed(ActionEvent e)
2717 public void gatherViews_actionPerformed(ActionEvent e)
2722 public void buildTreeSortMenu()
2727 public void pageSetup_actionPerformed(ActionEvent e)
2732 public void alignmentProperties()
2737 protected void expand_newalign(ActionEvent e)
2739 // TODO Auto-generated method stub
2743 protected boolean isShowAutoCalculatedAbove()
2745 return showAutoCalculatedAbove;
2748 protected void setShowAutoCalculatedAbove(boolean showAutoCalculatedAbove)
2750 this.showAutoCalculatedAbove = showAutoCalculatedAbove;
2753 protected SequenceAnnotationOrder getAnnotationSortOrder()
2755 return annotationSortOrder;
2758 protected void setAnnotationSortOrder(
2759 SequenceAnnotationOrder annotationSortOrder)
2761 this.annotationSortOrder = annotationSortOrder;
2764 public Map<KeyStroke, JMenuItem> getAccelerators()
2766 return this.accelerators;
2770 * Returns the selected index of the tabbed pane, or -1 if none selected
2771 * (including the case where the tabbed pane has not been made visible).
2775 public int getTabIndex()
2777 return tabbedPane.getSelectedIndex();
2780 public JPanel getStatusPanel()
2786 * Sets a reference to the containing split frame. Also makes the 'toggle
2787 * split view' menu item visible and checked.
2791 public void setSplitFrame(SplitContainerI sf)
2793 this.splitFrame = sf;
2796 this.showComplementMenuItem.setVisible(true);
2797 this.showComplementMenuItem.setState(true);
2801 public SplitContainerI getSplitViewContainer()
2803 return this.splitFrame;
2806 protected void showComplement_actionPerformed(boolean complement)