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 jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
24 import jalview.api.SplitContainerI;
25 import jalview.bin.Cache;
26 import jalview.gui.JvSwingUtils;
27 import jalview.gui.Preferences;
28 import jalview.hmmer.HmmerCommand;
29 import jalview.io.FileFormatException;
30 import jalview.io.FileFormats;
31 import jalview.util.MessageManager;
32 import jalview.util.Platform;
34 import java.awt.BorderLayout;
35 import java.awt.Color;
36 import java.awt.GridLayout;
37 import java.awt.Toolkit;
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.io.IOException;
46 import java.util.HashMap;
49 import javax.swing.BorderFactory;
50 import javax.swing.ButtonGroup;
51 import javax.swing.JCheckBoxMenuItem;
52 import javax.swing.JInternalFrame;
53 import javax.swing.JLabel;
54 import javax.swing.JMenu;
55 import javax.swing.JMenuBar;
56 import javax.swing.JMenuItem;
57 import javax.swing.JPanel;
58 import javax.swing.JRadioButtonMenuItem;
59 import javax.swing.JTabbedPane;
60 import javax.swing.KeyStroke;
61 import javax.swing.event.ChangeEvent;
62 import javax.swing.event.MenuEvent;
63 import javax.swing.event.MenuListener;
65 public class GAlignFrame extends JInternalFrame
67 protected JMenuBar alignFrameMenuBar = new JMenuBar();
69 protected JMenuItem closeMenuItem = new JMenuItem();
71 protected JMenu webService = new JMenu();
73 protected JMenu hmmerMenu = new JMenu();
75 protected JMenuItem webServiceNoServices;
77 protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
79 protected JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
81 protected JMenu sortByAnnotScore = new JMenu();
83 public JLabel statusBar = new JLabel();
85 protected JMenu outputTextboxMenu = new JMenu();
87 protected JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
89 protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
91 protected JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem();
93 protected JMenuItem undoMenuItem = new JMenuItem();
95 protected JMenuItem redoMenuItem = new JMenuItem();
97 protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
99 protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
101 public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
103 JMenuItem copy = new JMenuItem();
105 JMenuItem cut = new JMenuItem();
107 JMenu pasteMenu = new JMenu();
109 protected JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
111 protected JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
113 protected JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
115 protected JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
117 protected JCheckBoxMenuItem applyToAllGroups;
119 protected JMenu colourMenu = new JMenu();
121 protected JMenuItem textColour;
123 protected JCheckBoxMenuItem conservationMenuItem;
125 protected JMenuItem modifyConservation;
127 protected JCheckBoxMenuItem abovePIDThreshold;
129 protected JMenuItem modifyPID;
131 protected JMenuItem annotationColour;
133 protected JMenu sortByTreeMenu = new JMenu();
135 protected JMenu sort = new JMenu();
137 protected JMenuItem calculateTree = new JMenuItem();
139 protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
141 protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
143 protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
145 protected JMenuItem showTranslation = new JMenuItem();
147 protected JMenuItem showReverse = new JMenuItem();
149 protected JMenuItem showReverseComplement = new JMenuItem();
151 protected JMenu showProducts = new JMenu();
153 protected JMenuItem runGroovy = new JMenuItem();
155 protected JMenuItem loadVcf;
157 protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
159 protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
161 protected JCheckBoxMenuItem listenToViewSelections = new JCheckBoxMenuItem();
163 protected JPanel statusPanel = new JPanel();
165 protected JMenuItem showAllSeqAnnotations = new JMenuItem();
167 protected JMenuItem hideAllSeqAnnotations = new JMenuItem();
169 protected JMenuItem showAllAlAnnotations = new JMenuItem();
171 protected JMenuItem hideAllAlAnnotations = new JMenuItem();
173 protected JCheckBoxMenuItem showComplementMenuItem = new JCheckBoxMenuItem();
175 protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
177 protected JTabbedPane tabbedPane = new JTabbedPane();
179 protected JMenuItem reload = new JMenuItem();
181 protected JMenu formatMenu = new JMenu();
183 protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
185 protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem();
187 protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem();
189 protected JMenuItem gatherViews = new JMenuItem();
191 protected JMenuItem expandViews = new JMenuItem();
193 protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem();
195 protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem();
197 protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem();
199 protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem();
201 protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
203 protected JCheckBoxMenuItem showInformationHistogram = new JCheckBoxMenuItem();
205 protected JCheckBoxMenuItem showHMMSequenceLogo = new JCheckBoxMenuItem();
207 protected JCheckBoxMenuItem normaliseHMMSequenceLogo = new JCheckBoxMenuItem();
209 protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
211 private SequenceAnnotationOrder annotationSortOrder;
213 private boolean showAutoCalculatedAbove = false;
215 private Map<KeyStroke, JMenuItem> accelerators = new HashMap<>();
217 private SplitContainerI splitFrame;
224 setJMenuBar(alignFrameMenuBar);
226 // dynamically fill save as menu with available formats
227 for (String ff : FileFormats.getInstance().getWritableFormats(true))
229 JMenuItem item = new JMenuItem(ff);
231 item.addActionListener(new ActionListener()
234 public void actionPerformed(ActionEvent e)
236 outputText_actionPerformed(e);
240 outputTextboxMenu.add(item);
242 } catch (Exception e)
244 System.err.println(e.toString());
247 if (!Platform.isAMac())
249 closeMenuItem.setMnemonic('C');
250 outputTextboxMenu.setMnemonic('T');
251 undoMenuItem.setMnemonic('Z');
252 redoMenuItem.setMnemonic('0');
253 copy.setMnemonic('C');
254 cut.setMnemonic('U');
255 pasteMenu.setMnemonic('P');
256 reload.setMnemonic('R');
260 private void jbInit() throws Exception
264 JMenuItem saveAs = new JMenuItem(
265 MessageManager.getString("action.save_as"));
266 ActionListener al = new ActionListener()
269 public void actionPerformed(ActionEvent e)
271 saveAs_actionPerformed(e);
275 // FIXME getDefaultToolkit throws an exception in Headless mode
276 KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
277 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
278 | KeyEvent.SHIFT_MASK,
280 addMenuActionAndAccelerator(keyStroke, saveAs, al);
282 closeMenuItem.setText(MessageManager.getString("action.close"));
283 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W,
284 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
285 al = new ActionListener()
288 public void actionPerformed(ActionEvent e)
290 closeMenuItem_actionPerformed(false);
293 addMenuActionAndAccelerator(keyStroke, closeMenuItem, al);
295 JMenu editMenu = new JMenu(MessageManager.getString("action.edit"));
296 JMenu viewMenu = new JMenu(MessageManager.getString("action.view"));
297 JMenu annotationsMenu = new JMenu(
298 MessageManager.getString("action.annotations"));
299 JMenu showMenu = new JMenu(MessageManager.getString("action.show"));
300 colourMenu.setText(MessageManager.getString("action.colour"));
301 JMenu calculateMenu = new JMenu(
302 MessageManager.getString("action.calculate"));
303 webService.setText(MessageManager.getString("action.web_service"));
307 JMenuItem selectAllSequenceMenuItem = new JMenuItem(
308 MessageManager.getString("action.select_all"));
309 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A,
310 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
311 al = new ActionListener()
314 public void actionPerformed(ActionEvent e)
316 selectAllSequenceMenuItem_actionPerformed(e);
319 addMenuActionAndAccelerator(keyStroke, selectAllSequenceMenuItem, al);
321 JMenuItem deselectAllSequenceMenuItem = new JMenuItem(
322 MessageManager.getString("action.deselect_all"));
323 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
324 al = new ActionListener()
327 public void actionPerformed(ActionEvent e)
329 deselectAllSequenceMenuItem_actionPerformed(e);
332 addMenuActionAndAccelerator(keyStroke, deselectAllSequenceMenuItem, al);
334 JMenuItem invertSequenceMenuItem = new JMenuItem(
335 MessageManager.getString("action.invert_sequence_selection"));
336 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
337 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
338 al = new ActionListener()
341 public void actionPerformed(ActionEvent e)
343 invertSequenceMenuItem_actionPerformed(e);
346 addMenuActionAndAccelerator(keyStroke, invertSequenceMenuItem, al);
348 JMenuItem grpsFromSelection = new JMenuItem(
349 MessageManager.getString("action.make_groups_selection"));
350 grpsFromSelection.addActionListener(new ActionListener()
353 public void actionPerformed(ActionEvent e)
355 makeGrpsFromSelection_actionPerformed(e);
358 JMenuItem expandAlignment = new JMenuItem(
359 MessageManager.getString("action.view_flanking_regions"));
360 expandAlignment.setToolTipText(
361 MessageManager.getString("label.view_flanking_regions"));
362 expandAlignment.addActionListener(new ActionListener()
365 public void actionPerformed(ActionEvent e)
370 JMenuItem remove2LeftMenuItem = new JMenuItem(
371 MessageManager.getString("action.remove_left"));
372 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L,
373 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
374 al = new ActionListener()
377 public void actionPerformed(ActionEvent e)
379 remove2LeftMenuItem_actionPerformed(e);
382 addMenuActionAndAccelerator(keyStroke, remove2LeftMenuItem, al);
384 JMenuItem remove2RightMenuItem = new JMenuItem(
385 MessageManager.getString("action.remove_right"));
386 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R,
387 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
388 al = new ActionListener()
391 public void actionPerformed(ActionEvent e)
393 remove2RightMenuItem_actionPerformed(e);
396 addMenuActionAndAccelerator(keyStroke, remove2RightMenuItem, al);
398 JMenuItem removeGappedColumnMenuItem = new JMenuItem(
399 MessageManager.getString("action.remove_empty_columns"));
400 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
401 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
402 al = new ActionListener()
405 public void actionPerformed(ActionEvent e)
407 removeGappedColumnMenuItem_actionPerformed(e);
410 addMenuActionAndAccelerator(keyStroke, removeGappedColumnMenuItem, al);
412 JMenuItem removeAllGapsMenuItem = new JMenuItem(
413 MessageManager.getString("action.remove_all_gaps"));
414 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
415 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
416 | KeyEvent.SHIFT_MASK,
418 al = new ActionListener()
421 public void actionPerformed(ActionEvent e)
423 removeAllGapsMenuItem_actionPerformed(e);
426 addMenuActionAndAccelerator(keyStroke, removeAllGapsMenuItem, al);
428 JMenuItem justifyLeftMenuItem = new JMenuItem(
429 MessageManager.getString("action.left_justify_alignment"));
430 justifyLeftMenuItem.addActionListener(new ActionListener()
433 public void actionPerformed(ActionEvent e)
435 justifyLeftMenuItem_actionPerformed(e);
438 JMenuItem justifyRightMenuItem = new JMenuItem(
439 MessageManager.getString("action.right_justify_alignment"));
440 justifyRightMenuItem.addActionListener(new ActionListener()
443 public void actionPerformed(ActionEvent e)
445 justifyRightMenuItem_actionPerformed(e);
448 viewBoxesMenuItem.setText(MessageManager.getString("action.boxes"));
449 viewBoxesMenuItem.setState(true);
450 viewBoxesMenuItem.addActionListener(new ActionListener()
453 public void actionPerformed(ActionEvent e)
455 viewBoxesMenuItem_actionPerformed(e);
458 viewTextMenuItem.setText(MessageManager.getString("action.text"));
459 viewTextMenuItem.setState(true);
460 viewTextMenuItem.addActionListener(new ActionListener()
463 public void actionPerformed(ActionEvent e)
465 viewTextMenuItem_actionPerformed(e);
468 showNonconservedMenuItem
469 .setText(MessageManager.getString("label.show_non_conserved"));
470 showNonconservedMenuItem.setState(false);
471 showNonconservedMenuItem.addActionListener(new ActionListener()
474 public void actionPerformed(ActionEvent e)
476 showUnconservedMenuItem_actionPerformed(e);
479 JMenuItem sortPairwiseMenuItem = new JMenuItem(
480 MessageManager.getString("action.by_pairwise_id"));
481 sortPairwiseMenuItem.addActionListener(new ActionListener()
484 public void actionPerformed(ActionEvent e)
486 sortPairwiseMenuItem_actionPerformed(e);
489 JMenuItem sortIDMenuItem = new JMenuItem(
490 MessageManager.getString("action.by_id"));
491 sortIDMenuItem.addActionListener(new ActionListener()
494 public void actionPerformed(ActionEvent e)
496 sortIDMenuItem_actionPerformed(e);
499 JMenuItem sortLengthMenuItem = new JMenuItem(
500 MessageManager.getString("action.by_length"));
501 sortLengthMenuItem.addActionListener(new ActionListener()
504 public void actionPerformed(ActionEvent e)
506 sortLengthMenuItem_actionPerformed(e);
509 JMenuItem sortGroupMenuItem = new JMenuItem(
510 MessageManager.getString("action.by_group"));
511 sortGroupMenuItem.addActionListener(new ActionListener()
514 public void actionPerformed(ActionEvent e)
516 sortGroupMenuItem_actionPerformed(e);
520 JMenuItem removeRedundancyMenuItem = new JMenuItem(
521 MessageManager.getString("action.remove_redundancy"));
522 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D,
523 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
524 al = new ActionListener()
527 public void actionPerformed(ActionEvent e)
529 removeRedundancyMenuItem_actionPerformed(e);
532 addMenuActionAndAccelerator(keyStroke, removeRedundancyMenuItem, al);
534 JMenuItem pairwiseAlignmentMenuItem = new JMenuItem(
535 MessageManager.getString("action.pairwise_alignment"));
536 pairwiseAlignmentMenuItem.addActionListener(new ActionListener()
539 public void actionPerformed(ActionEvent e)
541 pairwiseAlignmentMenuItem_actionPerformed(e);
545 this.getContentPane().setLayout(new BorderLayout());
546 alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
547 statusBar.setBackground(Color.white);
548 statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
549 statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
550 statusBar.setText(MessageManager.getString("label.status_bar"));
553 .setText(MessageManager.getString("label.out_to_textbox"));
556 annotationPanelMenuItem.setActionCommand("");
557 annotationPanelMenuItem
558 .setText(MessageManager.getString("label.show_annotations"));
559 annotationPanelMenuItem
560 .setState(Cache.getDefault("SHOW_ANNOTATIONS", true));
561 annotationPanelMenuItem.addActionListener(new ActionListener()
564 public void actionPerformed(ActionEvent e)
566 annotationPanelMenuItem_actionPerformed(e);
569 showAllAlAnnotations.setText(
570 MessageManager.getString("label.show_all_al_annotations"));
571 final boolean isAnnotationPanelShown = annotationPanelMenuItem
573 showAllAlAnnotations.setEnabled(isAnnotationPanelShown);
574 showAllAlAnnotations.addActionListener(new ActionListener()
577 public void actionPerformed(ActionEvent e)
579 showAllAnnotations_actionPerformed(false, true);
582 hideAllAlAnnotations.setText(
583 MessageManager.getString("label.hide_all_al_annotations"));
584 hideAllAlAnnotations.setEnabled(isAnnotationPanelShown);
585 hideAllAlAnnotations.addActionListener(new ActionListener()
588 public void actionPerformed(ActionEvent e)
590 hideAllAnnotations_actionPerformed(false, true);
593 showAllSeqAnnotations.setText(
594 MessageManager.getString("label.show_all_seq_annotations"));
595 showAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
596 showAllSeqAnnotations.addActionListener(new ActionListener()
599 public void actionPerformed(ActionEvent e)
601 showAllAnnotations_actionPerformed(true, false);
604 hideAllSeqAnnotations.setText(
605 MessageManager.getString("label.hide_all_seq_annotations"));
606 hideAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
607 hideAllSeqAnnotations.addActionListener(new ActionListener()
610 public void actionPerformed(ActionEvent e)
612 hideAllAnnotations_actionPerformed(true, false);
615 SequenceAnnotationOrder sortAnnotationsBy = SequenceAnnotationOrder
616 .valueOf(Cache.getDefault(Preferences.SORT_ANNOTATIONS,
617 SequenceAnnotationOrder.NONE.name()));
618 final JCheckBoxMenuItem sortAnnBySequence = new JCheckBoxMenuItem(
619 MessageManager.getString("label.sort_annotations_by_sequence"));
620 final JCheckBoxMenuItem sortAnnByLabel = new JCheckBoxMenuItem(
621 MessageManager.getString("label.sort_annotations_by_label"));
624 sortAnnBySequence.setSelected(
625 sortAnnotationsBy == SequenceAnnotationOrder.SEQUENCE_AND_LABEL);
626 sortAnnBySequence.addActionListener(new ActionListener()
629 public void actionPerformed(ActionEvent e)
631 boolean newState = sortAnnBySequence.getState();
632 sortAnnByLabel.setSelected(false);
633 setAnnotationSortOrder(
634 newState ? SequenceAnnotationOrder.SEQUENCE_AND_LABEL
635 : SequenceAnnotationOrder.NONE);
636 sortAnnotations_actionPerformed();
639 sortAnnByLabel.setSelected(
640 sortAnnotationsBy == SequenceAnnotationOrder.LABEL_AND_SEQUENCE);
641 sortAnnByLabel.addActionListener(new ActionListener()
644 public void actionPerformed(ActionEvent e)
646 boolean newState = sortAnnByLabel.getState();
647 sortAnnBySequence.setSelected(false);
648 setAnnotationSortOrder(
649 newState ? SequenceAnnotationOrder.LABEL_AND_SEQUENCE
650 : SequenceAnnotationOrder.NONE);
651 sortAnnotations_actionPerformed();
654 colourTextMenuItem = new JCheckBoxMenuItem(
655 MessageManager.getString("label.colour_text"));
656 colourTextMenuItem.addActionListener(new ActionListener()
659 public void actionPerformed(ActionEvent e)
661 colourTextMenuItem_actionPerformed(e);
665 JMenuItem htmlMenuItem = new JMenuItem(
666 MessageManager.getString("label.html"));
667 htmlMenuItem.addActionListener(new ActionListener()
670 public void actionPerformed(ActionEvent e)
672 htmlMenuItem_actionPerformed(e);
676 JMenuItem createBioJS = new JMenuItem(
677 MessageManager.getString("label.biojs_html_export"));
678 createBioJS.addActionListener(new java.awt.event.ActionListener()
681 public void actionPerformed(ActionEvent e)
683 bioJSMenuItem_actionPerformed(e);
687 JMenuItem overviewMenuItem = new JMenuItem(
688 MessageManager.getString("label.overview_window"));
689 overviewMenuItem.addActionListener(new ActionListener()
692 public void actionPerformed(ActionEvent e)
694 overviewMenuItem_actionPerformed(e);
698 undoMenuItem.setEnabled(false);
699 undoMenuItem.setText(MessageManager.getString("action.undo"));
700 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z,
701 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
702 al = new ActionListener()
705 public void actionPerformed(ActionEvent e)
707 undoMenuItem_actionPerformed(e);
710 addMenuActionAndAccelerator(keyStroke, undoMenuItem, al);
712 redoMenuItem.setEnabled(false);
713 redoMenuItem.setText(MessageManager.getString("action.redo"));
714 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y,
715 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
716 al = new ActionListener()
719 public void actionPerformed(ActionEvent e)
721 redoMenuItem_actionPerformed(e);
724 addMenuActionAndAccelerator(keyStroke, redoMenuItem, al);
726 wrapMenuItem.setText(MessageManager.getString("label.wrap"));
727 wrapMenuItem.addActionListener(new ActionListener()
730 public void actionPerformed(ActionEvent e)
732 wrapMenuItem_actionPerformed(e);
736 JMenuItem printMenuItem = new JMenuItem(
737 MessageManager.getString("action.print"));
738 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P,
739 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
740 al = new ActionListener()
743 public void actionPerformed(ActionEvent e)
745 printMenuItem_actionPerformed(e);
748 addMenuActionAndAccelerator(keyStroke, printMenuItem, al);
751 .setText(MessageManager.getString("action.show_gaps"));
752 renderGapsMenuItem.setState(true);
753 renderGapsMenuItem.addActionListener(new ActionListener()
756 public void actionPerformed(ActionEvent e)
758 renderGapsMenuItem_actionPerformed(e);
762 JMenuItem findMenuItem = new JMenuItem(
763 MessageManager.getString("action.find"));
764 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F,
765 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
766 findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true,
767 MessageManager.getString("label.find_tip")));
768 al = new ActionListener()
771 public void actionPerformed(ActionEvent e)
773 findMenuItem_actionPerformed(e);
776 addMenuActionAndAccelerator(keyStroke, findMenuItem, al);
778 showSeqFeatures.setText(
779 MessageManager.getString("label.show_sequence_features"));
781 showSeqFeatures.addActionListener(new ActionListener()
784 public void actionPerformed(ActionEvent actionEvent)
786 showSeqFeatures_actionPerformed(actionEvent);
790 * showSeqFeaturesHeight.setText("Vary Sequence Feature Height");
791 * showSeqFeaturesHeight.addActionListener(new ActionListener() { public
792 * void actionPerformed(ActionEvent actionEvent) {
793 * showSeqFeaturesHeight_actionPerformed(actionEvent); } });
796 .setText(MessageManager.getString("label.show_database_refs"));
797 showDbRefsMenuitem.addActionListener(new ActionListener()
801 public void actionPerformed(ActionEvent e)
803 showDbRefs_actionPerformed(e);
807 showNpFeatsMenuitem.setText(
808 MessageManager.getString("label.show_non_positional_features"));
809 showNpFeatsMenuitem.addActionListener(new ActionListener()
813 public void actionPerformed(ActionEvent e)
815 showNpFeats_actionPerformed(e);
819 showGroupConservation
820 .setText(MessageManager.getString("label.group_conservation"));
821 showGroupConservation.addActionListener(new ActionListener()
825 public void actionPerformed(ActionEvent e)
827 showGroupConservation_actionPerformed(e);
833 .setText(MessageManager.getString("label.group_consensus"));
834 showGroupConsensus.addActionListener(new ActionListener()
838 public void actionPerformed(ActionEvent e)
840 showGroupConsensus_actionPerformed(e);
844 showConsensusHistogram.setText(
845 MessageManager.getString("label.show_consensus_histogram"));
846 showConsensusHistogram.addActionListener(new ActionListener()
850 public void actionPerformed(ActionEvent e)
852 showConsensusHistogram_actionPerformed(e);
857 .setText(MessageManager.getString("label.show_consensus_logo"));
858 showSequenceLogo.addActionListener(new ActionListener()
862 public void actionPerformed(ActionEvent e)
864 showSequenceLogo_actionPerformed(e);
868 normaliseSequenceLogo
869 .setText(MessageManager.getString("label.norm_consensus_logo"));
870 normaliseSequenceLogo.addActionListener(new ActionListener()
874 public void actionPerformed(ActionEvent e)
876 normaliseSequenceLogo_actionPerformed(e);
880 applyAutoAnnotationSettings
881 .setText(MessageManager.getString("label.apply_all_groups"));
882 applyAutoAnnotationSettings.setState(false);
883 applyAutoAnnotationSettings.setVisible(true);
884 applyAutoAnnotationSettings.addActionListener(new ActionListener()
887 public void actionPerformed(ActionEvent e)
889 applyAutoAnnotationSettings_actionPerformed(e);
893 ButtonGroup buttonGroup = new ButtonGroup();
894 final JRadioButtonMenuItem showAutoFirst = new JRadioButtonMenuItem(
895 MessageManager.getString("label.show_first"));
896 final JRadioButtonMenuItem showAutoLast = new JRadioButtonMenuItem(
897 MessageManager.getString("label.show_last"));
898 buttonGroup.add(showAutoFirst);
899 buttonGroup.add(showAutoLast);
900 final boolean autoFirst = Cache
901 .getDefault(Preferences.SHOW_AUTOCALC_ABOVE, false);
902 showAutoFirst.setSelected(autoFirst);
903 setShowAutoCalculatedAbove(autoFirst);
904 showAutoFirst.addActionListener(new ActionListener()
907 public void actionPerformed(ActionEvent e)
909 setShowAutoCalculatedAbove(showAutoFirst.isSelected());
910 sortAnnotations_actionPerformed();
913 showAutoLast.setSelected(!showAutoFirst.isSelected());
914 showAutoLast.addActionListener(new ActionListener()
917 public void actionPerformed(ActionEvent e)
919 setShowAutoCalculatedAbove(!showAutoLast.isSelected());
920 sortAnnotations_actionPerformed();
924 JMenuItem deleteGroups = new JMenuItem(
925 MessageManager.getString("action.undefine_groups"));
926 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U,
927 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
928 al = new ActionListener()
931 public void actionPerformed(ActionEvent e)
933 deleteGroups_actionPerformed(e);
936 addMenuActionAndAccelerator(keyStroke, deleteGroups, al);
938 JMenuItem annotationColumn = new JMenuItem(
939 MessageManager.getString("action.select_by_annotation"));
940 annotationColumn.addActionListener(new ActionListener()
943 public void actionPerformed(ActionEvent e)
945 annotationColumn_actionPerformed(e);
949 JMenuItem createGroup = new JMenuItem(
950 MessageManager.getString("action.create_group"));
951 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
952 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
953 al = new ActionListener()
956 public void actionPerformed(ActionEvent e)
958 createGroup_actionPerformed(e);
961 addMenuActionAndAccelerator(keyStroke, createGroup, al);
963 JMenuItem unGroup = new JMenuItem(
964 MessageManager.getString("action.remove_group"));
965 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
966 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
967 | KeyEvent.SHIFT_MASK,
969 al = new ActionListener()
972 public void actionPerformed(ActionEvent e)
974 unGroup_actionPerformed(e);
977 addMenuActionAndAccelerator(keyStroke, unGroup, al);
979 copy.setText(MessageManager.getString("action.copy"));
980 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C,
981 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
983 al = new ActionListener()
986 public void actionPerformed(ActionEvent e)
988 copy_actionPerformed(e);
991 addMenuActionAndAccelerator(keyStroke, copy, al);
993 cut.setText(MessageManager.getString("action.cut"));
994 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X,
995 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
996 al = new ActionListener()
999 public void actionPerformed(ActionEvent e)
1001 cut_actionPerformed(e);
1004 addMenuActionAndAccelerator(keyStroke, cut, al);
1006 JMenuItem delete = new JMenuItem(
1007 MessageManager.getString("action.delete"));
1008 delete.addActionListener(new ActionListener()
1011 public void actionPerformed(ActionEvent e)
1013 delete_actionPerformed(e);
1017 pasteMenu.setText(MessageManager.getString("action.paste"));
1018 JMenuItem pasteNew = new JMenuItem(
1019 MessageManager.getString("label.to_new_alignment"));
1020 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V,
1021 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
1022 | KeyEvent.SHIFT_MASK,
1024 al = new ActionListener()
1027 public void actionPerformed(ActionEvent e)
1031 pasteNew_actionPerformed(e);
1032 } catch (IOException | InterruptedException e1)
1034 // TODO Auto-generated catch block
1035 e1.printStackTrace();
1039 addMenuActionAndAccelerator(keyStroke, pasteNew, al);
1041 JMenuItem pasteThis = new JMenuItem(
1042 MessageManager.getString("label.to_this_alignment"));
1043 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V,
1044 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
1045 al = new ActionListener()
1048 public void actionPerformed(ActionEvent e)
1052 pasteThis_actionPerformed(e);
1053 } catch (IOException | InterruptedException e1)
1055 // TODO Auto-generated catch block
1056 e1.printStackTrace();
1060 addMenuActionAndAccelerator(keyStroke, pasteThis, al);
1062 JMenuItem createPNG = new JMenuItem("PNG");
1063 createPNG.addActionListener(new ActionListener()
1066 public void actionPerformed(ActionEvent e)
1071 createPNG.setActionCommand(
1072 MessageManager.getString("label.save_png_image"));
1073 JMenuItem font = new JMenuItem(MessageManager.getString("action.font"));
1074 font.addActionListener(new ActionListener()
1077 public void actionPerformed(ActionEvent e)
1079 font_actionPerformed(e);
1083 MessageManager.getString("label.show_sequence_limits"));
1084 seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true));
1085 seqLimits.addActionListener(new ActionListener()
1088 public void actionPerformed(ActionEvent e)
1090 seqLimit_actionPerformed(e);
1093 JMenuItem epsFile = new JMenuItem("EPS");
1094 epsFile.addActionListener(new ActionListener()
1097 public void actionPerformed(ActionEvent e)
1103 JMenuItem createSVG = new JMenuItem("SVG");
1104 createSVG.addActionListener(new ActionListener()
1107 public void actionPerformed(ActionEvent e)
1112 JMenuItem createPDF = new JMenuItem("PDF");
1113 createPDF.addActionListener(new ActionListener()
1116 public void actionPerformed(ActionEvent e)
1122 JMenuItem loadTreeMenuItem = new JMenuItem(
1123 MessageManager.getString("label.load_associated_tree"));
1124 loadTreeMenuItem.setActionCommand(
1125 MessageManager.getString("label.load_tree_for_sequence_set"));
1126 loadTreeMenuItem.addActionListener(new ActionListener()
1129 public void actionPerformed(ActionEvent e)
1131 loadTreeMenuItem_actionPerformed(e);
1135 scaleAbove.setVisible(false);
1136 scaleAbove.setText(MessageManager.getString("action.scale_above"));
1137 scaleAbove.addActionListener(new ActionListener()
1140 public void actionPerformed(ActionEvent e)
1142 scaleAbove_actionPerformed(e);
1145 scaleLeft.setVisible(false);
1146 scaleLeft.setSelected(true);
1147 scaleLeft.setText(MessageManager.getString("action.scale_left"));
1148 scaleLeft.addActionListener(new ActionListener()
1151 public void actionPerformed(ActionEvent e)
1153 scaleLeft_actionPerformed(e);
1156 scaleRight.setVisible(false);
1157 scaleRight.setSelected(true);
1158 scaleRight.setText(MessageManager.getString("action.scale_right"));
1159 scaleRight.addActionListener(new ActionListener()
1162 public void actionPerformed(ActionEvent e)
1164 scaleRight_actionPerformed(e);
1167 centreColumnLabelsMenuItem.setVisible(true);
1168 centreColumnLabelsMenuItem.setState(false);
1169 centreColumnLabelsMenuItem.setText(
1170 MessageManager.getString("label.centre_column_labels"));
1171 centreColumnLabelsMenuItem.addActionListener(new ActionListener()
1174 public void actionPerformed(ActionEvent e)
1176 centreColumnLabels_actionPerformed(e);
1179 followHighlightMenuItem.setVisible(true);
1180 followHighlightMenuItem.setState(true);
1181 followHighlightMenuItem
1182 .setText(MessageManager.getString("label.automatic_scrolling"));
1183 followHighlightMenuItem.addActionListener(new ActionListener()
1187 public void actionPerformed(ActionEvent e)
1189 followHighlight_actionPerformed();
1195 .setText(MessageManager.getString("action.by_tree_order"));
1196 sort.setText(MessageManager.getString("action.sort"));
1197 sort.addMenuListener(new MenuListener()
1200 public void menuSelected(MenuEvent e)
1202 buildTreeSortMenu();
1206 public void menuDeselected(MenuEvent e)
1211 public void menuCanceled(MenuEvent e)
1216 .setText(MessageManager.getString("label.sort_by_score"));
1217 sort.add(sortByAnnotScore);
1218 sort.addMenuListener(new javax.swing.event.MenuListener()
1222 public void menuCanceled(MenuEvent e)
1227 public void menuDeselected(MenuEvent e)
1232 public void menuSelected(MenuEvent e)
1234 buildSortByAnnotationScoresMenu();
1237 sortByAnnotScore.setVisible(false);
1240 .setText(MessageManager.getString("action.calculate_tree_pca"));
1242 padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps"));
1244 .setState(jalview.bin.Cache.getDefault("PAD_GAPS", false));
1245 padGapsMenuitem.addActionListener(new ActionListener()
1248 public void actionPerformed(ActionEvent e)
1250 padGapsMenuitem_actionPerformed(e);
1253 JMenuItem vamsasStore = new JMenuItem(
1254 MessageManager.getString("label.vamsas_store"));
1255 vamsasStore.setVisible(false);
1256 vamsasStore.addActionListener(new ActionListener()
1259 public void actionPerformed(ActionEvent e)
1261 vamsasStore_actionPerformed(e);
1265 .setText(MessageManager.getString("label.translate_cDNA"));
1266 showTranslation.addActionListener(new ActionListener()
1269 public void actionPerformed(ActionEvent e)
1271 showTranslation_actionPerformed(e);
1274 showReverse.setText(MessageManager.getString("label.reverse"));
1275 showReverse.addActionListener(new ActionListener()
1278 public void actionPerformed(ActionEvent e)
1280 showReverse_actionPerformed(false);
1283 showReverseComplement
1284 .setText(MessageManager.getString("label.reverse_complement"));
1285 showReverseComplement.addActionListener(new ActionListener()
1288 public void actionPerformed(ActionEvent e)
1290 showReverse_actionPerformed(true);
1294 JMenuItem extractScores = new JMenuItem(
1295 MessageManager.getString("label.extract_scores"));
1296 extractScores.addActionListener(new ActionListener()
1299 public void actionPerformed(ActionEvent e)
1301 extractScores_actionPerformed(e);
1304 extractScores.setVisible(true);
1305 // JBPNote: TODO: make gui for regex based score extraction
1307 // for show products actions see AlignFrame.canShowProducts
1308 showProducts.setText(MessageManager.getString("label.get_cross_refs"));
1310 runGroovy.setText(MessageManager.getString("label.run_groovy"));
1311 runGroovy.setToolTipText(
1312 MessageManager.getString("label.run_groovy_tip"));
1313 runGroovy.addActionListener(new ActionListener()
1316 public void actionPerformed(ActionEvent e)
1318 runGroovy_actionPerformed();
1322 JMenuItem openFeatureSettings = new JMenuItem(
1323 MessageManager.getString("action.feature_settings"));
1324 openFeatureSettings.addActionListener(new ActionListener()
1327 public void actionPerformed(ActionEvent e)
1329 featureSettings_actionPerformed(e);
1332 JMenuItem fetchSequence = new JMenuItem(
1333 MessageManager.getString("label.fetch_sequences"));
1334 fetchSequence.addActionListener(new ActionListener()
1337 public void actionPerformed(ActionEvent e)
1339 fetchSequence_actionPerformed(e);
1343 JMenuItem associatedData = new JMenuItem(
1344 MessageManager.getString("label.load_features_annotations"));
1345 associatedData.addActionListener(new ActionListener()
1348 public void actionPerformed(ActionEvent e)
1352 associatedData_actionPerformed(e);
1353 } catch (IOException | InterruptedException e1)
1355 // TODO Auto-generated catch block
1356 e1.printStackTrace();
1360 loadVcf = new JMenuItem(MessageManager.getString("label.load_vcf_file"));
1361 loadVcf.setToolTipText(MessageManager.getString("label.load_vcf"));
1362 loadVcf.addActionListener(new ActionListener()
1365 public void actionPerformed(ActionEvent e)
1367 loadVcf_actionPerformed();
1370 autoCalculate.setText(
1371 MessageManager.getString("label.autocalculate_consensus"));
1372 autoCalculate.setState(
1373 jalview.bin.Cache.getDefault("AUTO_CALC_CONSENSUS", true));
1374 autoCalculate.addActionListener(new ActionListener()
1377 public void actionPerformed(ActionEvent e)
1379 autoCalculate_actionPerformed(e);
1383 MessageManager.getString("label.sort_alignment_new_tree"));
1384 sortByTree.setToolTipText("<html>" + MessageManager.getString(
1385 "label.enable_automatically_sort_alignment_when_open_new_tree"));
1387 .setState(jalview.bin.Cache.getDefault("SORT_BY_TREE", false));
1388 sortByTree.addActionListener(new ActionListener()
1391 public void actionPerformed(ActionEvent e)
1393 sortByTreeOption_actionPerformed(e);
1397 listenToViewSelections.setText(
1398 MessageManager.getString("label.listen_for_selections"));
1399 listenToViewSelections
1400 .setToolTipText("<html>" + MessageManager.getString(
1401 "label.selections_mirror_selections_made_same_sequences_other_views"));
1402 listenToViewSelections.setState(false);
1403 listenToViewSelections.addActionListener(new ActionListener()
1406 public void actionPerformed(ActionEvent e)
1408 listenToViewSelections_actionPerformed(e);
1412 JMenu addSequenceMenu = new JMenu(
1413 MessageManager.getString("label.add_sequences"));
1414 JMenuItem addFromFile = new JMenuItem(
1415 MessageManager.getString("label.from_file"));
1416 addFromFile.addActionListener(new ActionListener()
1419 public void actionPerformed(ActionEvent e)
1421 addFromFile_actionPerformed(e);
1424 JMenuItem addFromText = new JMenuItem(
1425 MessageManager.getString("label.from_textbox"));
1426 addFromText.addActionListener(new ActionListener()
1429 public void actionPerformed(ActionEvent e)
1431 addFromText_actionPerformed(e);
1434 JMenuItem addFromURL = new JMenuItem(
1435 MessageManager.getString("label.from_url"));
1436 addFromURL.addActionListener(new ActionListener()
1439 public void actionPerformed(ActionEvent e)
1441 addFromURL_actionPerformed(e);
1444 JMenuItem exportFeatures = new JMenuItem(
1445 MessageManager.getString("label.export_features"));
1446 exportFeatures.addActionListener(new ActionListener()
1449 public void actionPerformed(ActionEvent e)
1451 exportFeatures_actionPerformed(e);
1454 JMenuItem exportAnnotations = new JMenuItem(
1455 MessageManager.getString("label.export_annotations"));
1456 exportAnnotations.addActionListener(new ActionListener()
1459 public void actionPerformed(ActionEvent e)
1461 exportAnnotations_actionPerformed(e);
1464 statusPanel.setLayout(new GridLayout());
1465 JMenuItem showAllSeqs = new JMenuItem(
1466 MessageManager.getString("label.all_sequences"));
1467 showAllSeqs.setToolTipText(
1468 MessageManager.getString("label.toggle_sequence_visibility"));
1469 showAllSeqs.addActionListener(new ActionListener()
1472 public void actionPerformed(ActionEvent e)
1474 showAllSeqs_actionPerformed(e);
1477 JMenuItem showAllColumns = new JMenuItem(
1478 MessageManager.getString("label.all_columns"));
1479 showAllColumns.setToolTipText(
1480 MessageManager.getString("label.toggle_columns_visibility"));
1481 showAllColumns.addActionListener(new ActionListener()
1484 public void actionPerformed(ActionEvent e)
1486 showAllColumns_actionPerformed(e);
1489 JMenu hideMenu = new JMenu(MessageManager.getString("action.hide"));
1490 JMenuItem hideSelSequences = new JMenuItem(
1491 MessageManager.getString("label.selected_sequences"));
1492 hideSelSequences.setToolTipText(
1493 MessageManager.getString("label.toggle_sequence_visibility"));
1494 hideSelSequences.addActionListener(new ActionListener()
1497 public void actionPerformed(ActionEvent e)
1499 hideSelSequences_actionPerformed(e);
1502 JMenuItem hideSelColumns = new JMenuItem(
1503 MessageManager.getString("label.selected_columns"));
1504 hideSelColumns.setToolTipText(
1505 MessageManager.getString("label.toggle_columns_visibility"));
1506 hideSelColumns.addActionListener(new ActionListener()
1509 public void actionPerformed(ActionEvent e)
1511 hideSelColumns_actionPerformed(e);
1514 JMenuItem hideAllSelection = new JMenuItem(
1515 MessageManager.getString("label.selected_region"));
1516 hideAllSelection.addActionListener(new ActionListener()
1519 public void actionPerformed(ActionEvent e)
1521 hideAllSelection_actionPerformed(e);
1524 // TODO: should be hidden if no selection exists.
1525 JMenuItem hideAllButSelection = new JMenuItem(
1526 MessageManager.getString("label.all_but_selected_region"));
1527 hideAllButSelection.addActionListener(new ActionListener()
1530 public void actionPerformed(ActionEvent e)
1532 hideAllButSelection_actionPerformed(e);
1535 JMenuItem showAllhidden = new JMenuItem(
1536 MessageManager.getString("label.all_sequences_columns"));
1537 showAllhidden.setToolTipText(MessageManager
1538 .getString("label.toggles_visibility_hidden_selected_regions"));
1539 showAllhidden.addActionListener(new ActionListener()
1542 public void actionPerformed(ActionEvent e)
1544 showAllhidden_actionPerformed(e);
1547 hiddenMarkers.setText(
1548 MessageManager.getString("action.show_hidden_markers"));
1549 hiddenMarkers.addActionListener(new ActionListener()
1552 public void actionPerformed(ActionEvent e)
1554 hiddenMarkers_actionPerformed(e);
1558 JMenuItem invertColSel = new JMenuItem(
1559 MessageManager.getString("action.invert_column_selection"));
1560 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
1561 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
1562 | KeyEvent.ALT_MASK,
1564 al = new ActionListener()
1567 public void actionPerformed(ActionEvent e)
1569 invertColSel_actionPerformed(e);
1572 addMenuActionAndAccelerator(keyStroke, invertColSel, al);
1574 showComplementMenuItem.setVisible(false);
1575 showComplementMenuItem.addActionListener(new ActionListener()
1578 public void actionPerformed(ActionEvent e)
1580 showComplement_actionPerformed(showComplementMenuItem.getState());
1584 tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
1587 public void stateChanged(ChangeEvent evt)
1589 JTabbedPane pane = (JTabbedPane) evt.getSource();
1590 int sel = pane.getSelectedIndex();
1591 tabSelectionChanged(sel);
1594 tabbedPane.addMouseListener(new MouseAdapter()
1597 public void mousePressed(MouseEvent e)
1599 if (e.isPopupTrigger()) // Mac
1601 tabbedPane_mousePressed(e);
1606 public void mouseReleased(MouseEvent e)
1608 if (e.isPopupTrigger()) // Windows
1610 tabbedPane_mousePressed(e);
1614 tabbedPane.addFocusListener(new FocusAdapter()
1617 public void focusGained(FocusEvent e)
1619 tabbedPane_focusGained(e);
1623 JMenuItem save = new JMenuItem(MessageManager.getString("action.save"));
1624 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
1625 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
1626 al = new ActionListener()
1629 public void actionPerformed(ActionEvent e)
1631 save_actionPerformed(e);
1634 addMenuActionAndAccelerator(keyStroke, save, al);
1636 reload.setEnabled(false);
1637 reload.setText(MessageManager.getString("action.reload"));
1638 reload.addActionListener(new ActionListener()
1641 public void actionPerformed(ActionEvent e)
1643 reload_actionPerformed(e);
1647 JMenuItem newView = new JMenuItem(
1648 MessageManager.getString("action.new_view"));
1649 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T,
1650 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
1651 al = new ActionListener()
1654 public void actionPerformed(ActionEvent e)
1656 newView_actionPerformed(e);
1659 addMenuActionAndAccelerator(keyStroke, newView, al);
1661 tabbedPane.setToolTipText("<html><i>"
1662 + MessageManager.getString("label.rename_tab_eXpand_reGroup")
1665 formatMenu.setText(MessageManager.getString("action.format"));
1666 JMenu selectMenu = new JMenu(MessageManager.getString("action.select"));
1668 idRightAlign.setText(
1669 MessageManager.getString("label.right_align_sequence_id"));
1670 idRightAlign.addActionListener(new ActionListener()
1673 public void actionPerformed(ActionEvent e)
1675 idRightAlign_actionPerformed(e);
1679 gatherViews.setEnabled(false);
1680 gatherViews.setText(MessageManager.getString("action.gather_views"));
1681 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, 0, false);
1682 al = new ActionListener()
1685 public void actionPerformed(ActionEvent e)
1687 gatherViews_actionPerformed(e);
1690 addMenuActionAndAccelerator(keyStroke, gatherViews, al);
1692 expandViews.setEnabled(false);
1693 expandViews.setText(MessageManager.getString("action.expand_views"));
1694 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, 0, false);
1695 al = new ActionListener()
1698 public void actionPerformed(ActionEvent e)
1700 expandViews_actionPerformed(e);
1703 addMenuActionAndAccelerator(keyStroke, expandViews, al);
1705 JMenuItem pageSetup = new JMenuItem(
1706 MessageManager.getString("action.page_setup"));
1707 pageSetup.addActionListener(new ActionListener()
1710 public void actionPerformed(ActionEvent e)
1712 pageSetup_actionPerformed(e);
1715 JMenuItem alignmentProperties = new JMenuItem(
1716 MessageManager.getString("label.alignment_props"));
1717 alignmentProperties.addActionListener(new ActionListener()
1720 public void actionPerformed(ActionEvent actionEvent)
1722 alignmentProperties();
1725 JMenuItem selectHighlighted = new JMenuItem(
1726 MessageManager.getString("action.select_highlighted_columns"));
1727 selectHighlighted.setToolTipText(
1728 MessageManager.getString("tooltip.select_highlighted_columns"));
1729 al = new ActionListener()
1732 public void actionPerformed(ActionEvent actionEvent)
1734 selectHighlightedColumns_actionPerformed(actionEvent);
1737 selectHighlighted.addActionListener(al);
1738 JMenu tooltipSettingsMenu = new JMenu(
1739 MessageManager.getString("label.sequence_id_tooltip"));
1740 JMenu autoAnnMenu = new JMenu(
1741 MessageManager.getString("label.autocalculated_annotation"));
1743 JMenu exportImageMenu = new JMenu(
1744 MessageManager.getString("label.export_image"));
1745 JMenu fileMenu = new JMenu(MessageManager.getString("action.file"));
1746 alignFrameMenuBar.add(fileMenu);
1747 alignFrameMenuBar.add(editMenu);
1748 alignFrameMenuBar.add(selectMenu);
1749 alignFrameMenuBar.add(viewMenu);
1750 alignFrameMenuBar.add(annotationsMenu);
1751 alignFrameMenuBar.add(formatMenu);
1752 alignFrameMenuBar.add(colourMenu);
1753 alignFrameMenuBar.add(calculateMenu);
1754 alignFrameMenuBar.add(webService);
1755 alignFrameMenuBar.add(hmmerMenu);
1757 fileMenu.add(fetchSequence);
1758 fileMenu.add(addSequenceMenu);
1759 fileMenu.add(reload);
1760 fileMenu.addSeparator();
1761 fileMenu.add(vamsasStore);
1763 fileMenu.add(saveAs);
1764 fileMenu.add(outputTextboxMenu);
1765 fileMenu.add(pageSetup);
1766 fileMenu.add(printMenuItem);
1767 fileMenu.addSeparator();
1768 fileMenu.add(exportImageMenu);
1769 fileMenu.add(exportFeatures);
1770 fileMenu.add(exportAnnotations);
1771 fileMenu.add(loadTreeMenuItem);
1772 fileMenu.add(associatedData);
1773 fileMenu.add(loadVcf);
1774 fileMenu.addSeparator();
1775 fileMenu.add(closeMenuItem);
1777 pasteMenu.add(pasteNew);
1778 pasteMenu.add(pasteThis);
1779 editMenu.add(undoMenuItem);
1780 editMenu.add(redoMenuItem);
1783 editMenu.add(pasteMenu);
1784 editMenu.add(delete);
1785 editMenu.addSeparator();
1786 editMenu.add(remove2LeftMenuItem);
1787 editMenu.add(remove2RightMenuItem);
1788 editMenu.add(removeGappedColumnMenuItem);
1789 editMenu.add(removeAllGapsMenuItem);
1790 editMenu.add(removeRedundancyMenuItem);
1791 editMenu.addSeparator();
1792 // dont add these yet in the CVS build - they cannot be undone!
1793 // Excluded from Jalview 2.5 release - undo needs to be implemented.
1794 // editMenu.add(justifyLeftMenuItem);
1795 // editMenu.add(justifyRightMenuItem);
1796 // editMenu.addSeparator();
1797 editMenu.add(padGapsMenuitem);
1799 showMenu.add(showAllColumns);
1800 showMenu.add(showAllSeqs);
1801 showMenu.add(showAllhidden);
1802 hideMenu.add(hideSelColumns);
1803 hideMenu.add(hideSelSequences);
1804 hideMenu.add(hideAllSelection);
1805 hideMenu.add(hideAllButSelection);
1806 viewMenu.add(newView);
1807 viewMenu.add(expandViews);
1808 viewMenu.add(gatherViews);
1809 viewMenu.addSeparator();
1810 viewMenu.add(showMenu);
1811 viewMenu.add(hideMenu);
1812 viewMenu.add(showComplementMenuItem);
1813 viewMenu.addSeparator();
1814 viewMenu.add(followHighlightMenuItem);
1815 viewMenu.addSeparator();
1816 viewMenu.add(showSeqFeatures);
1817 // viewMenu.add(showSeqFeaturesHeight);
1818 viewMenu.add(openFeatureSettings);
1819 tooltipSettingsMenu.add(showDbRefsMenuitem);
1820 tooltipSettingsMenu.add(showNpFeatsMenuitem);
1821 viewMenu.add(tooltipSettingsMenu);
1822 viewMenu.addSeparator();
1823 viewMenu.add(alignmentProperties);
1824 viewMenu.addSeparator();
1825 viewMenu.add(overviewMenuItem);
1827 annotationsMenu.add(annotationPanelMenuItem);
1828 annotationsMenu.addSeparator();
1829 annotationsMenu.add(showAllAlAnnotations);
1830 annotationsMenu.add(hideAllAlAnnotations);
1831 annotationsMenu.addSeparator();
1832 annotationsMenu.add(showAllSeqAnnotations);
1833 annotationsMenu.add(hideAllSeqAnnotations);
1834 annotationsMenu.add(sortAnnBySequence);
1835 annotationsMenu.add(sortAnnByLabel);
1836 annotationsMenu.addSeparator();
1837 autoAnnMenu.add(showAutoFirst);
1838 autoAnnMenu.add(showAutoLast);
1839 autoAnnMenu.addSeparator();
1840 autoAnnMenu.add(applyAutoAnnotationSettings);
1841 autoAnnMenu.add(showConsensusHistogram);
1842 autoAnnMenu.add(showSequenceLogo);
1843 autoAnnMenu.add(normaliseSequenceLogo);
1844 autoAnnMenu.addSeparator();
1845 autoAnnMenu.add(showGroupConservation);
1846 autoAnnMenu.add(showGroupConsensus);
1847 annotationsMenu.add(autoAnnMenu);
1849 sort.add(sortIDMenuItem);
1850 sort.add(sortLengthMenuItem);
1851 sort.add(sortGroupMenuItem);
1852 sort.add(sortPairwiseMenuItem);
1853 sort.add(sortByTreeMenu);
1854 calculateMenu.add(sort);
1855 calculateMenu.add(calculateTree);
1856 calculateMenu.addSeparator();
1857 calculateMenu.add(pairwiseAlignmentMenuItem);
1858 calculateMenu.addSeparator();
1859 calculateMenu.add(showTranslation);
1860 calculateMenu.add(showReverse);
1861 calculateMenu.add(showReverseComplement);
1862 calculateMenu.add(showProducts);
1863 calculateMenu.add(autoCalculate);
1864 calculateMenu.add(sortByTree);
1865 calculateMenu.addSeparator();
1866 calculateMenu.add(expandAlignment);
1867 calculateMenu.add(extractScores);
1868 calculateMenu.addSeparator();
1869 calculateMenu.add(runGroovy);
1871 webServiceNoServices = new JMenuItem(
1872 MessageManager.getString("label.no_services"));
1873 webService.add(webServiceNoServices);
1874 exportImageMenu.add(htmlMenuItem);
1875 exportImageMenu.add(epsFile);
1876 exportImageMenu.add(createPNG);
1877 exportImageMenu.add(createBioJS);
1878 exportImageMenu.add(createSVG);
1879 exportImageMenu.add(createPDF);
1880 addSequenceMenu.add(addFromFile);
1881 addSequenceMenu.add(addFromText);
1882 addSequenceMenu.add(addFromURL);
1883 this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
1884 statusPanel.add(statusBar, null);
1885 this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
1887 formatMenu.add(font);
1888 formatMenu.addSeparator();
1889 formatMenu.add(wrapMenuItem);
1890 formatMenu.add(scaleAbove);
1891 formatMenu.add(scaleLeft);
1892 formatMenu.add(scaleRight);
1893 formatMenu.add(seqLimits);
1894 formatMenu.add(idRightAlign);
1895 formatMenu.add(hiddenMarkers);
1896 formatMenu.add(viewBoxesMenuItem);
1897 formatMenu.add(viewTextMenuItem);
1898 formatMenu.add(colourTextMenuItem);
1899 formatMenu.add(renderGapsMenuItem);
1900 formatMenu.add(centreColumnLabelsMenuItem);
1901 formatMenu.add(showNonconservedMenuItem);
1902 selectMenu.add(findMenuItem);
1903 selectMenu.addSeparator();
1904 selectMenu.add(selectAllSequenceMenuItem);
1905 selectMenu.add(deselectAllSequenceMenuItem);
1906 selectMenu.add(invertSequenceMenuItem);
1907 selectMenu.add(invertColSel);
1908 selectMenu.add(createGroup);
1909 selectMenu.add(unGroup);
1910 selectMenu.add(grpsFromSelection);
1911 selectMenu.add(deleteGroups);
1912 selectMenu.add(annotationColumn);
1913 selectMenu.add(selectHighlighted);
1914 // TODO - determine if the listenToViewSelections button is needed : see bug
1916 // selectMenu.addSeparator();
1917 // selectMenu.add(listenToViewSelections);
1921 * Constructs the entries on the HMMER menu
1923 protected void initHMMERMenu()
1928 JMenu hmmBuild = new JMenu(MessageManager.getString("label.hmmbuild"));
1929 JMenuItem hmmBuildSettings = new JMenuItem(
1930 MessageManager.getString("label.edit_settings_and_run"));
1931 hmmBuildSettings.addActionListener(new ActionListener()
1934 public void actionPerformed(ActionEvent e)
1936 hmmBuild_actionPerformed(false);
1939 JMenuItem hmmBuildRun = new JMenuItem(MessageManager.formatMessage(
1940 "label.action_with_default_settings", "hmmbuild"));
1941 hmmBuildRun.addActionListener(new ActionListener()
1944 public void actionPerformed(ActionEvent e)
1946 hmmBuild_actionPerformed(true);
1949 hmmBuild.add(hmmBuildRun);
1950 hmmBuild.add(hmmBuildSettings);
1955 JMenu hmmAlign = new JMenu(MessageManager.getString("label.hmmalign"));
1956 JMenuItem hmmAlignRun = new JMenuItem(MessageManager.formatMessage(
1957 "label.action_with_default_settings", "hmmalign"));
1958 hmmAlignRun.addActionListener(new ActionListener()
1961 public void actionPerformed(ActionEvent e)
1963 hmmAlign_actionPerformed(true);
1966 JMenuItem hmmAlignSettings = new JMenuItem(
1967 MessageManager.getString("label.edit_settings_and_run"));
1968 hmmAlignSettings.addActionListener(new ActionListener()
1971 public void actionPerformed(ActionEvent e)
1973 hmmAlign_actionPerformed(false);
1976 hmmAlign.add(hmmAlignRun);
1977 hmmAlign.add(hmmAlignSettings);
1982 JMenu hmmSearch = new JMenu(
1983 MessageManager.getString("label.hmmsearch"));
1984 JMenuItem hmmSearchSettings = new JMenuItem(
1985 MessageManager.getString("label.edit_settings_and_run"));
1986 hmmSearchSettings.addActionListener(new ActionListener()
1989 public void actionPerformed(ActionEvent e)
1991 hmmSearch_actionPerformed(false);
1994 JMenuItem hmmSearchRun = new JMenuItem(MessageManager.formatMessage(
1995 "label.action_with_default_settings", "hmmsearch"));
1996 hmmSearchRun.addActionListener(new ActionListener()
1999 public void actionPerformed(ActionEvent e)
2001 hmmSearch_actionPerformed(true);
2004 JMenuItem addDatabase = new JMenuItem(
2005 MessageManager.getString("label.add_database"));
2006 addDatabase.addActionListener(new ActionListener()
2009 public void actionPerformed(ActionEvent e)
2013 addDatabase_actionPerformed();
2014 } catch (IOException e1)
2016 e1.printStackTrace();
2020 hmmSearch.add(hmmSearchRun);
2021 hmmSearch.add(hmmSearchSettings);
2022 // hmmSearch.add(addDatabase);
2027 hmmerMenu.setText(MessageManager.getString("action.hmmer"));
2028 hmmerMenu.setEnabled(HmmerCommand.isHmmerAvailable());
2029 hmmerMenu.add(hmmBuild);
2030 hmmerMenu.add(hmmAlign);
2031 hmmerMenu.add(hmmSearch);
2035 protected void loadVcf_actionPerformed()
2040 * Constructs the entries on the Colour menu (but does not add them to the
2043 protected void initColourMenu()
2045 applyToAllGroups = new JCheckBoxMenuItem(
2046 MessageManager.getString("label.apply_colour_to_all_groups"));
2047 applyToAllGroups.addActionListener(new ActionListener()
2050 public void actionPerformed(ActionEvent e)
2052 applyToAllGroups_actionPerformed(applyToAllGroups.isSelected());
2056 textColour = new JMenuItem(
2057 MessageManager.getString("label.text_colour"));
2058 textColour.addActionListener(new ActionListener()
2061 public void actionPerformed(ActionEvent e)
2063 textColour_actionPerformed();
2067 conservationMenuItem = new JCheckBoxMenuItem(
2068 MessageManager.getString("action.by_conservation"));
2069 conservationMenuItem.addActionListener(new ActionListener()
2072 public void actionPerformed(ActionEvent e)
2074 conservationMenuItem_actionPerformed(
2075 conservationMenuItem.isSelected());
2079 abovePIDThreshold = new JCheckBoxMenuItem(
2080 MessageManager.getString("label.above_identity_threshold"));
2081 abovePIDThreshold.addActionListener(new ActionListener()
2084 public void actionPerformed(ActionEvent e)
2086 abovePIDThreshold_actionPerformed(abovePIDThreshold.isSelected());
2089 modifyPID = new JMenuItem(
2090 MessageManager.getString("label.modify_identity_threshold"));
2091 modifyPID.addActionListener(new ActionListener()
2094 public void actionPerformed(ActionEvent e)
2096 modifyPID_actionPerformed();
2099 modifyConservation = new JMenuItem(MessageManager
2100 .getString("label.modify_conservation_threshold"));
2101 modifyConservation.addActionListener(new ActionListener()
2104 public void actionPerformed(ActionEvent e)
2106 modifyConservation_actionPerformed();
2110 annotationColour = new JMenuItem(
2111 MessageManager.getString("action.by_annotation"));
2112 annotationColour.addActionListener(new ActionListener()
2115 public void actionPerformed(ActionEvent e)
2117 annotationColour_actionPerformed();
2122 protected void selectHighlightedColumns_actionPerformed(
2123 ActionEvent actionEvent)
2125 // TODO Auto-generated method stub
2130 * Generate the reverse sequence (or reverse complement if the flag is true)
2131 * and add it to the alignment
2135 protected void showReverse_actionPerformed(boolean complement)
2140 * Try to run script in a Groovy console, having first ensured that this
2141 * alignframe is set as currentAlignFrame in Desktop
2143 protected void runGroovy_actionPerformed()
2149 * Adds the given action listener and key accelerator to the given menu item.
2150 * Also saves in a lookup table to support lookup of action by key stroke.
2154 * @param actionListener
2156 protected void addMenuActionAndAccelerator(KeyStroke keyStroke,
2157 JMenuItem menuItem, ActionListener actionListener)
2159 menuItem.setAccelerator(keyStroke);
2160 accelerators.put(keyStroke, menuItem);
2161 menuItem.addActionListener(actionListener);
2165 * Action on clicking sort annotations by type.
2169 protected void sortAnnotations_actionPerformed()
2174 * Action on clicking Show all annotations.
2176 * @param forSequences
2177 * update sequence-related annotations
2178 * @param forAlignment
2179 * update non-sequence-related annotations
2181 protected void showAllAnnotations_actionPerformed(boolean forSequences,
2182 boolean forAlignment)
2184 setAnnotationsVisibility(true, forSequences, forAlignment);
2188 * Action on clicking Hide all annotations.
2190 * @param forSequences
2191 * update sequence-related annotations
2192 * @param forAlignment
2193 * update non-sequence-related annotations
2195 protected void hideAllAnnotations_actionPerformed(boolean forSequences,
2196 boolean forAlignment)
2198 setAnnotationsVisibility(false, forSequences, forAlignment);
2202 * Set the visibility of annotations to true or false. Can act on
2203 * sequence-related annotations, or alignment-related, or both.
2206 * @param forSequences
2207 * update sequence-related annotations
2208 * @param forAlignment
2209 * update non-sequence-related annotations
2211 protected void setAnnotationsVisibility(boolean visible,
2212 boolean forSequences, boolean forAlignment)
2217 protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
2219 // TODO Auto-generated method stub
2223 protected void listenToViewSelections_actionPerformed(ActionEvent e)
2225 // TODO Auto-generated method stub
2229 protected void showAllhidden_actionPerformed(ActionEvent e)
2231 // TODO Auto-generated method stub
2235 protected void hideAllButSelection_actionPerformed(ActionEvent e)
2237 // TODO Auto-generated method stub
2241 protected void hideAllSelection_actionPerformed(ActionEvent e)
2243 // TODO Auto-generated method stub
2247 protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
2249 // TODO Auto-generated method stub
2253 protected void showConsensusHistogram_actionPerformed(ActionEvent e)
2255 // TODO Auto-generated method stub
2259 protected void showSequenceLogo_actionPerformed(ActionEvent e)
2261 // TODO Auto-generated method stub
2265 protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
2267 // TODO Auto-generated method stub
2271 protected void showGroupConsensus_actionPerformed(ActionEvent e)
2273 // TODO Auto-generated method stub
2277 protected void showGroupConservation_actionPerformed(ActionEvent e)
2279 // TODO Auto-generated method stub
2283 protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
2285 // TODO Auto-generated method stub
2289 protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
2291 // TODO Auto-generated method stub
2295 protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
2297 // TODO Auto-generated method stub
2301 protected void followHighlight_actionPerformed()
2303 // TODO Auto-generated method stub
2307 protected void showNpFeats_actionPerformed(ActionEvent e)
2309 // TODO Auto-generated method stub
2313 protected void showDbRefs_actionPerformed(ActionEvent e)
2315 // TODO Auto-generated method stub
2319 protected void centreColumnLabels_actionPerformed(ActionEvent e)
2323 protected void buildSortByAnnotationScoresMenu()
2327 protected void extractScores_actionPerformed(ActionEvent e)
2331 protected void outputText_actionPerformed(ActionEvent e)
2335 public void addFromFile_actionPerformed(ActionEvent e)
2340 public void addFromText_actionPerformed(ActionEvent e)
2345 public void addFromURL_actionPerformed(ActionEvent e)
2350 public void exportFeatures_actionPerformed(ActionEvent e)
2355 public void exportAnnotations_actionPerformed(ActionEvent e)
2360 protected void htmlMenuItem_actionPerformed(ActionEvent e)
2364 protected void bioJSMenuItem_actionPerformed(ActionEvent e)
2369 protected void closeMenuItem_actionPerformed(boolean b)
2373 protected void redoMenuItem_actionPerformed(ActionEvent e)
2377 protected void undoMenuItem_actionPerformed(ActionEvent e)
2381 protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2385 protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2389 protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
2393 protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
2397 protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
2401 protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
2405 protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
2409 protected void wrapMenuItem_actionPerformed(ActionEvent e)
2413 protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
2417 protected void viewTextMenuItem_actionPerformed(ActionEvent e)
2421 protected void colourTextMenuItem_actionPerformed(ActionEvent e)
2425 protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
2429 protected void overviewMenuItem_actionPerformed(ActionEvent e)
2433 protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
2437 protected void sortIDMenuItem_actionPerformed(ActionEvent e)
2441 protected void sortLengthMenuItem_actionPerformed(ActionEvent e)
2445 protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
2449 protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
2453 protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
2457 protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
2461 protected void conservationMenuItem_actionPerformed(boolean selected)
2465 protected void printMenuItem_actionPerformed(ActionEvent e)
2469 protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2473 protected void findMenuItem_actionPerformed(ActionEvent e)
2477 protected void abovePIDThreshold_actionPerformed(boolean selected)
2481 public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2485 protected void deleteGroups_actionPerformed(ActionEvent e)
2489 protected void createGroup_actionPerformed(ActionEvent e)
2493 protected void unGroup_actionPerformed(ActionEvent e)
2497 protected void copy_actionPerformed(ActionEvent e)
2501 protected void cut_actionPerformed(ActionEvent e)
2505 protected void delete_actionPerformed(ActionEvent e)
2509 protected void pasteNew_actionPerformed(ActionEvent e)
2510 throws IOException, InterruptedException
2514 protected void pasteThis_actionPerformed(ActionEvent e)
2515 throws IOException, InterruptedException
2519 protected void applyToAllGroups_actionPerformed(boolean selected)
2523 protected void hmmBuild_actionPerformed(boolean withDefaults)
2527 protected void hmmSearch_actionPerformed(boolean withDefaults)
2531 protected void addDatabase_actionPerformed()
2532 throws FileFormatException, IOException
2536 protected void hmmAlign_actionPerformed(boolean withDefaults)
2540 public void createPNG(java.io.File f)
2544 protected void font_actionPerformed(ActionEvent e)
2548 protected void seqLimit_actionPerformed(ActionEvent e)
2552 public void seqDBRef_actionPerformed(ActionEvent e)
2557 public void createEPS(java.io.File f)
2561 public void createPDF(java.io.File f)
2565 public void createSVG(java.io.File f)
2570 protected void loadTreeMenuItem_actionPerformed(ActionEvent e)
2576 * Template method to handle the 'load T-Coffee scores' menu event.
2578 * Subclasses override this method to provide a custom action.
2583 protected void loadScores_actionPerformed(ActionEvent event)
2588 protected void jpred_actionPerformed(ActionEvent e)
2592 protected void scaleAbove_actionPerformed(ActionEvent e)
2596 protected void scaleLeft_actionPerformed(ActionEvent e)
2600 protected void scaleRight_actionPerformed(ActionEvent e)
2604 protected void modifyPID_actionPerformed()
2608 protected void modifyConservation_actionPerformed()
2612 protected void saveAs_actionPerformed(ActionEvent e)
2616 protected void padGapsMenuitem_actionPerformed(ActionEvent e)
2620 public void vamsasStore_actionPerformed(ActionEvent e)
2625 public void vamsasLoad_actionPerformed(ActionEvent e)
2630 public void showTranslation_actionPerformed(ActionEvent e)
2635 public void featureSettings_actionPerformed(ActionEvent e)
2640 public void fetchSequence_actionPerformed(ActionEvent e)
2645 public void smoothFont_actionPerformed(ActionEvent e)
2650 public void annotationColour_actionPerformed()
2654 public void annotationColumn_actionPerformed(ActionEvent e)
2658 public void associatedData_actionPerformed(ActionEvent e)
2659 throws IOException, InterruptedException
2664 public void autoCalculate_actionPerformed(ActionEvent e)
2669 public void sortByTreeOption_actionPerformed(ActionEvent e)
2674 public void showAllSeqs_actionPerformed(ActionEvent e)
2679 public void showAllColumns_actionPerformed(ActionEvent e)
2684 public void hideSelSequences_actionPerformed(ActionEvent e)
2689 public void hideSelColumns_actionPerformed(ActionEvent e)
2694 public void hiddenMarkers_actionPerformed(ActionEvent e)
2699 public void findPdbId_actionPerformed(ActionEvent e)
2704 public void enterPdbId_actionPerformed(ActionEvent e)
2709 public void pdbFile_actionPerformed(ActionEvent e)
2714 public void invertColSel_actionPerformed(ActionEvent e)
2719 public void tabSelectionChanged(int sel)
2724 public void tabbedPane_mousePressed(MouseEvent e)
2729 public void tabbedPane_focusGained(FocusEvent e)
2734 public void save_actionPerformed(ActionEvent e)
2739 public void reload_actionPerformed(ActionEvent e)
2744 public void newView_actionPerformed(ActionEvent e)
2749 public void textColour_actionPerformed()
2754 public void idRightAlign_actionPerformed(ActionEvent e)
2759 public void expandViews_actionPerformed(ActionEvent e)
2764 public void gatherViews_actionPerformed(ActionEvent e)
2769 public void buildTreeSortMenu()
2774 public void pageSetup_actionPerformed(ActionEvent e)
2779 public void alignmentProperties()
2784 protected void expand_newalign(ActionEvent e)
2786 // TODO Auto-generated method stub
2790 protected boolean isShowAutoCalculatedAbove()
2792 return showAutoCalculatedAbove;
2795 protected void setShowAutoCalculatedAbove(boolean showAutoCalculatedAbove)
2797 this.showAutoCalculatedAbove = showAutoCalculatedAbove;
2800 protected SequenceAnnotationOrder getAnnotationSortOrder()
2802 return annotationSortOrder;
2805 protected void setAnnotationSortOrder(
2806 SequenceAnnotationOrder annotationSortOrder)
2808 this.annotationSortOrder = annotationSortOrder;
2811 public Map<KeyStroke, JMenuItem> getAccelerators()
2813 return this.accelerators;
2817 * Returns the selected index of the tabbed pane, or -1 if none selected
2818 * (including the case where the tabbed pane has not been made visible).
2822 public int getTabIndex()
2824 return tabbedPane.getSelectedIndex();
2827 public JPanel getStatusPanel()
2833 * Sets a reference to the containing split frame. Also makes the 'toggle
2834 * split view' menu item visible and checked.
2838 public void setSplitFrame(SplitContainerI sf)
2840 this.splitFrame = sf;
2843 this.showComplementMenuItem.setVisible(true);
2844 this.showComplementMenuItem.setState(true);
2848 public SplitContainerI getSplitViewContainer()
2850 return this.splitFrame;
2853 protected void showComplement_actionPerformed(boolean complement)