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 JMenu hmmAlign = new JMenu();
77 protected JMenuItem hmmAlignRun = new JMenuItem();
79 protected JMenuItem hmmAlignSettings = new JMenuItem();
81 protected JMenu hmmSearch = new JMenu();
83 protected JMenuItem hmmSearchRun = new JMenuItem();
85 protected JMenuItem hmmSearchSettings = new JMenuItem();
87 protected JMenuItem addDatabase = new JMenuItem();
89 protected JMenu hmmBuild = new JMenu();
91 protected JMenuItem hmmBuildRun = new JMenuItem();
93 protected JMenuItem hmmBuildSettings = new JMenuItem();
95 protected JMenuItem webServiceNoServices;
97 protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
99 protected JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
101 protected JMenu sortByAnnotScore = new JMenu();
103 public JLabel statusBar = new JLabel();
105 protected JMenu outputTextboxMenu = new JMenu();
107 protected JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
109 protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
111 protected JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem();
113 protected JMenuItem undoMenuItem = new JMenuItem();
115 protected JMenuItem redoMenuItem = new JMenuItem();
117 protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
119 protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
121 public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
123 JMenuItem copy = new JMenuItem();
125 JMenuItem cut = new JMenuItem();
127 JMenu pasteMenu = new JMenu();
129 protected JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
131 protected JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
133 protected JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
135 protected JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
137 protected JCheckBoxMenuItem applyToAllGroups;
139 protected JMenu colourMenu = new JMenu();
141 protected JMenuItem textColour;
143 protected JCheckBoxMenuItem conservationMenuItem;
145 protected JMenuItem modifyConservation;
147 protected JCheckBoxMenuItem abovePIDThreshold;
149 protected JMenuItem modifyPID;
151 protected JMenuItem annotationColour;
153 protected JMenu sortByTreeMenu = new JMenu();
155 protected JMenu sort = new JMenu();
157 protected JMenuItem calculateTree = new JMenuItem();
159 protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
161 protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
163 protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
165 protected JMenuItem showTranslation = new JMenuItem();
167 protected JMenuItem showReverse = new JMenuItem();
169 protected JMenuItem showReverseComplement = new JMenuItem();
171 protected JMenu showProducts = new JMenu();
173 protected JMenuItem runGroovy = new JMenuItem();
175 protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
177 protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
179 protected JCheckBoxMenuItem listenToViewSelections = new JCheckBoxMenuItem();
181 protected JPanel statusPanel = new JPanel();
183 protected JMenuItem showAllSeqAnnotations = new JMenuItem();
185 protected JMenuItem hideAllSeqAnnotations = new JMenuItem();
187 protected JMenuItem showAllAlAnnotations = new JMenuItem();
189 protected JMenuItem hideAllAlAnnotations = new JMenuItem();
191 protected JCheckBoxMenuItem showComplementMenuItem = new JCheckBoxMenuItem();
193 protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
195 protected JTabbedPane tabbedPane = new JTabbedPane();
197 protected JMenuItem reload = new JMenuItem();
199 protected JMenu formatMenu = new JMenu();
201 protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
203 protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem();
205 protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem();
207 protected JMenuItem gatherViews = new JMenuItem();
209 protected JMenuItem expandViews = new JMenuItem();
211 protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem();
213 protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem();
215 protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem();
217 protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem();
219 protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
221 protected JCheckBoxMenuItem showInformationHistogram = new JCheckBoxMenuItem();
223 protected JCheckBoxMenuItem showHMMSequenceLogo = new JCheckBoxMenuItem();
225 protected JCheckBoxMenuItem normaliseHMMSequenceLogo = new JCheckBoxMenuItem();
227 protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
229 private SequenceAnnotationOrder annotationSortOrder;
231 private boolean showAutoCalculatedAbove = false;
233 private Map<KeyStroke, JMenuItem> accelerators = new HashMap<>();
235 private SplitContainerI splitFrame;
242 setJMenuBar(alignFrameMenuBar);
244 // dynamically fill save as menu with available formats
245 for (String ff : FileFormats.getInstance().getWritableFormats(true))
247 JMenuItem item = new JMenuItem(ff);
249 item.addActionListener(new ActionListener()
252 public void actionPerformed(ActionEvent e)
254 outputText_actionPerformed(e);
258 outputTextboxMenu.add(item);
260 } catch (Exception e)
262 System.err.println(e.toString());
265 if (!Platform.isAMac())
267 closeMenuItem.setMnemonic('C');
268 outputTextboxMenu.setMnemonic('T');
269 undoMenuItem.setMnemonic('Z');
270 redoMenuItem.setMnemonic('0');
271 copy.setMnemonic('C');
272 cut.setMnemonic('U');
273 pasteMenu.setMnemonic('P');
274 reload.setMnemonic('R');
278 private void jbInit() throws Exception
283 JMenuItem saveAs = new JMenuItem(
284 MessageManager.getString("action.save_as"));
285 ActionListener al = new ActionListener()
288 public void actionPerformed(ActionEvent e)
290 saveAs_actionPerformed(e);
294 // FIXME getDefaultToolkit throws an exception in Headless mode
295 KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
296 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
297 | KeyEvent.SHIFT_MASK,
299 addMenuActionAndAccelerator(keyStroke, saveAs, al);
301 closeMenuItem.setText(MessageManager.getString("action.close"));
302 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W,
303 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
304 al = new ActionListener()
307 public void actionPerformed(ActionEvent e)
309 closeMenuItem_actionPerformed(false);
312 addMenuActionAndAccelerator(keyStroke, closeMenuItem, al);
314 JMenu editMenu = new JMenu(MessageManager.getString("action.edit"));
315 JMenu viewMenu = new JMenu(MessageManager.getString("action.view"));
316 JMenu annotationsMenu = new JMenu(
317 MessageManager.getString("action.annotations"));
318 JMenu showMenu = new JMenu(MessageManager.getString("action.show"));
319 colourMenu.setText(MessageManager.getString("action.colour"));
320 JMenu calculateMenu = new JMenu(
321 MessageManager.getString("action.calculate"));
322 webService.setText(MessageManager.getString("action.web_service"));
323 hmmerMenu.setText(MessageManager.getString("action.hmmer"));
324 hmmerMenu.setEnabled(HmmerCommand.isHmmerAvailable());
325 hmmerMenu.addActionListener(new ActionListener()
328 public void actionPerformed(ActionEvent e)
330 hmmerMenu_actionPerformed(e);
333 hmmerMenu.add(hmmBuild);
334 hmmerMenu.add(hmmAlign);
335 hmmerMenu.add(hmmSearch);
337 JMenuItem selectAllSequenceMenuItem = new JMenuItem(
338 MessageManager.getString("action.select_all"));
339 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A,
340 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
341 al = new ActionListener()
344 public void actionPerformed(ActionEvent e)
346 selectAllSequenceMenuItem_actionPerformed(e);
349 addMenuActionAndAccelerator(keyStroke, selectAllSequenceMenuItem, al);
351 JMenuItem deselectAllSequenceMenuItem = new JMenuItem(
352 MessageManager.getString("action.deselect_all"));
353 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
354 al = new ActionListener()
357 public void actionPerformed(ActionEvent e)
359 deselectAllSequenceMenuItem_actionPerformed(e);
362 addMenuActionAndAccelerator(keyStroke, deselectAllSequenceMenuItem, al);
364 JMenuItem invertSequenceMenuItem = new JMenuItem(
365 MessageManager.getString("action.invert_sequence_selection"));
366 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
367 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
368 al = new ActionListener()
371 public void actionPerformed(ActionEvent e)
373 invertSequenceMenuItem_actionPerformed(e);
376 addMenuActionAndAccelerator(keyStroke, invertSequenceMenuItem, al);
378 JMenuItem grpsFromSelection = new JMenuItem(
379 MessageManager.getString("action.make_groups_selection"));
380 grpsFromSelection.addActionListener(new ActionListener()
383 public void actionPerformed(ActionEvent e)
385 makeGrpsFromSelection_actionPerformed(e);
388 JMenuItem expandAlignment = new JMenuItem(
389 MessageManager.getString("action.view_flanking_regions"));
390 expandAlignment.setToolTipText(
391 MessageManager.getString("label.view_flanking_regions"));
392 expandAlignment.addActionListener(new ActionListener()
395 public void actionPerformed(ActionEvent e)
400 JMenuItem remove2LeftMenuItem = new JMenuItem(
401 MessageManager.getString("action.remove_left"));
402 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L,
403 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
404 al = new ActionListener()
407 public void actionPerformed(ActionEvent e)
409 remove2LeftMenuItem_actionPerformed(e);
412 addMenuActionAndAccelerator(keyStroke, remove2LeftMenuItem, al);
414 JMenuItem remove2RightMenuItem = new JMenuItem(
415 MessageManager.getString("action.remove_right"));
416 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R,
417 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
418 al = new ActionListener()
421 public void actionPerformed(ActionEvent e)
423 remove2RightMenuItem_actionPerformed(e);
426 addMenuActionAndAccelerator(keyStroke, remove2RightMenuItem, al);
428 JMenuItem removeGappedColumnMenuItem = new JMenuItem(
429 MessageManager.getString("action.remove_empty_columns"));
430 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
431 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
432 al = new ActionListener()
435 public void actionPerformed(ActionEvent e)
437 removeGappedColumnMenuItem_actionPerformed(e);
440 addMenuActionAndAccelerator(keyStroke, removeGappedColumnMenuItem, al);
442 JMenuItem removeAllGapsMenuItem = new JMenuItem(
443 MessageManager.getString("action.remove_all_gaps"));
444 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
445 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
446 | KeyEvent.SHIFT_MASK,
448 al = new ActionListener()
451 public void actionPerformed(ActionEvent e)
453 removeAllGapsMenuItem_actionPerformed(e);
456 addMenuActionAndAccelerator(keyStroke, removeAllGapsMenuItem, al);
458 JMenuItem justifyLeftMenuItem = new JMenuItem(
459 MessageManager.getString("action.left_justify_alignment"));
460 justifyLeftMenuItem.addActionListener(new ActionListener()
463 public void actionPerformed(ActionEvent e)
465 justifyLeftMenuItem_actionPerformed(e);
468 JMenuItem justifyRightMenuItem = new JMenuItem(
469 MessageManager.getString("action.right_justify_alignment"));
470 justifyRightMenuItem.addActionListener(new ActionListener()
473 public void actionPerformed(ActionEvent e)
475 justifyRightMenuItem_actionPerformed(e);
478 viewBoxesMenuItem.setText(MessageManager.getString("action.boxes"));
479 viewBoxesMenuItem.setState(true);
480 viewBoxesMenuItem.addActionListener(new ActionListener()
483 public void actionPerformed(ActionEvent e)
485 viewBoxesMenuItem_actionPerformed(e);
488 viewTextMenuItem.setText(MessageManager.getString("action.text"));
489 viewTextMenuItem.setState(true);
490 viewTextMenuItem.addActionListener(new ActionListener()
493 public void actionPerformed(ActionEvent e)
495 viewTextMenuItem_actionPerformed(e);
498 showNonconservedMenuItem
499 .setText(MessageManager.getString("label.show_non_conserved"));
500 showNonconservedMenuItem.setState(false);
501 showNonconservedMenuItem.addActionListener(new ActionListener()
504 public void actionPerformed(ActionEvent e)
506 showUnconservedMenuItem_actionPerformed(e);
509 JMenuItem sortPairwiseMenuItem = new JMenuItem(
510 MessageManager.getString("action.by_pairwise_id"));
511 sortPairwiseMenuItem.addActionListener(new ActionListener()
514 public void actionPerformed(ActionEvent e)
516 sortPairwiseMenuItem_actionPerformed(e);
519 JMenuItem sortIDMenuItem = new JMenuItem(
520 MessageManager.getString("action.by_id"));
521 sortIDMenuItem.addActionListener(new ActionListener()
524 public void actionPerformed(ActionEvent e)
526 sortIDMenuItem_actionPerformed(e);
529 JMenuItem sortLengthMenuItem = new JMenuItem(
530 MessageManager.getString("action.by_length"));
531 sortLengthMenuItem.addActionListener(new ActionListener()
534 public void actionPerformed(ActionEvent e)
536 sortLengthMenuItem_actionPerformed(e);
539 JMenuItem sortGroupMenuItem = new JMenuItem(
540 MessageManager.getString("action.by_group"));
541 sortGroupMenuItem.addActionListener(new ActionListener()
544 public void actionPerformed(ActionEvent e)
546 sortGroupMenuItem_actionPerformed(e);
550 JMenuItem removeRedundancyMenuItem = new JMenuItem(
551 MessageManager.getString("action.remove_redundancy"));
552 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D,
553 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
554 al = new ActionListener()
557 public void actionPerformed(ActionEvent e)
559 removeRedundancyMenuItem_actionPerformed(e);
562 addMenuActionAndAccelerator(keyStroke, removeRedundancyMenuItem, al);
564 JMenuItem pairwiseAlignmentMenuItem = new JMenuItem(
565 MessageManager.getString("action.pairwise_alignment"));
566 pairwiseAlignmentMenuItem.addActionListener(new ActionListener()
569 public void actionPerformed(ActionEvent e)
571 pairwiseAlignmentMenuItem_actionPerformed(e);
575 this.getContentPane().setLayout(new BorderLayout());
576 alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
577 statusBar.setBackground(Color.white);
578 statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
579 statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
580 statusBar.setText(MessageManager.getString("label.status_bar"));
583 .setText(MessageManager.getString("label.out_to_textbox"));
586 annotationPanelMenuItem.setActionCommand("");
587 annotationPanelMenuItem
588 .setText(MessageManager.getString("label.show_annotations"));
589 annotationPanelMenuItem
590 .setState(Cache.getDefault("SHOW_ANNOTATIONS", true));
591 annotationPanelMenuItem.addActionListener(new ActionListener()
594 public void actionPerformed(ActionEvent e)
596 annotationPanelMenuItem_actionPerformed(e);
599 showAllAlAnnotations.setText(
600 MessageManager.getString("label.show_all_al_annotations"));
601 final boolean isAnnotationPanelShown = annotationPanelMenuItem
603 showAllAlAnnotations.setEnabled(isAnnotationPanelShown);
604 showAllAlAnnotations.addActionListener(new ActionListener()
607 public void actionPerformed(ActionEvent e)
609 showAllAnnotations_actionPerformed(false, true);
612 hideAllAlAnnotations.setText(
613 MessageManager.getString("label.hide_all_al_annotations"));
614 hideAllAlAnnotations.setEnabled(isAnnotationPanelShown);
615 hideAllAlAnnotations.addActionListener(new ActionListener()
618 public void actionPerformed(ActionEvent e)
620 hideAllAnnotations_actionPerformed(false, true);
623 showAllSeqAnnotations.setText(
624 MessageManager.getString("label.show_all_seq_annotations"));
625 showAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
626 showAllSeqAnnotations.addActionListener(new ActionListener()
629 public void actionPerformed(ActionEvent e)
631 showAllAnnotations_actionPerformed(true, false);
634 hideAllSeqAnnotations.setText(
635 MessageManager.getString("label.hide_all_seq_annotations"));
636 hideAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
637 hideAllSeqAnnotations.addActionListener(new ActionListener()
640 public void actionPerformed(ActionEvent e)
642 hideAllAnnotations_actionPerformed(true, false);
645 SequenceAnnotationOrder sortAnnotationsBy = SequenceAnnotationOrder
646 .valueOf(Cache.getDefault(Preferences.SORT_ANNOTATIONS,
647 SequenceAnnotationOrder.NONE.name()));
648 final JCheckBoxMenuItem sortAnnBySequence = new JCheckBoxMenuItem(
649 MessageManager.getString("label.sort_annotations_by_sequence"));
650 final JCheckBoxMenuItem sortAnnByLabel = new JCheckBoxMenuItem(
651 MessageManager.getString("label.sort_annotations_by_label"));
654 sortAnnBySequence.setSelected(
655 sortAnnotationsBy == SequenceAnnotationOrder.SEQUENCE_AND_LABEL);
656 sortAnnBySequence.addActionListener(new ActionListener()
659 public void actionPerformed(ActionEvent e)
661 boolean newState = sortAnnBySequence.getState();
662 sortAnnByLabel.setSelected(false);
663 setAnnotationSortOrder(
664 newState ? SequenceAnnotationOrder.SEQUENCE_AND_LABEL
665 : SequenceAnnotationOrder.NONE);
666 sortAnnotations_actionPerformed();
669 sortAnnByLabel.setSelected(
670 sortAnnotationsBy == SequenceAnnotationOrder.LABEL_AND_SEQUENCE);
671 sortAnnByLabel.addActionListener(new ActionListener()
674 public void actionPerformed(ActionEvent e)
676 boolean newState = sortAnnByLabel.getState();
677 sortAnnBySequence.setSelected(false);
678 setAnnotationSortOrder(
679 newState ? SequenceAnnotationOrder.LABEL_AND_SEQUENCE
680 : SequenceAnnotationOrder.NONE);
681 sortAnnotations_actionPerformed();
684 colourTextMenuItem = new JCheckBoxMenuItem(
685 MessageManager.getString("label.colour_text"));
686 colourTextMenuItem.addActionListener(new ActionListener()
689 public void actionPerformed(ActionEvent e)
691 colourTextMenuItem_actionPerformed(e);
695 JMenuItem htmlMenuItem = new JMenuItem(
696 MessageManager.getString("label.html"));
697 htmlMenuItem.addActionListener(new ActionListener()
700 public void actionPerformed(ActionEvent e)
702 htmlMenuItem_actionPerformed(e);
706 JMenuItem createBioJS = new JMenuItem(
707 MessageManager.getString("label.biojs_html_export"));
708 createBioJS.addActionListener(new java.awt.event.ActionListener()
711 public void actionPerformed(ActionEvent e)
713 bioJSMenuItem_actionPerformed(e);
717 JMenuItem overviewMenuItem = new JMenuItem(
718 MessageManager.getString("label.overview_window"));
719 overviewMenuItem.addActionListener(new ActionListener()
722 public void actionPerformed(ActionEvent e)
724 overviewMenuItem_actionPerformed(e);
728 undoMenuItem.setEnabled(false);
729 undoMenuItem.setText(MessageManager.getString("action.undo"));
730 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z,
731 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
732 al = new ActionListener()
735 public void actionPerformed(ActionEvent e)
737 undoMenuItem_actionPerformed(e);
740 addMenuActionAndAccelerator(keyStroke, undoMenuItem, al);
742 redoMenuItem.setEnabled(false);
743 redoMenuItem.setText(MessageManager.getString("action.redo"));
744 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y,
745 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
746 al = new ActionListener()
749 public void actionPerformed(ActionEvent e)
751 redoMenuItem_actionPerformed(e);
754 addMenuActionAndAccelerator(keyStroke, redoMenuItem, al);
756 wrapMenuItem.setText(MessageManager.getString("label.wrap"));
757 wrapMenuItem.addActionListener(new ActionListener()
760 public void actionPerformed(ActionEvent e)
762 wrapMenuItem_actionPerformed(e);
766 JMenuItem printMenuItem = new JMenuItem(
767 MessageManager.getString("action.print"));
768 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P,
769 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
770 al = new ActionListener()
773 public void actionPerformed(ActionEvent e)
775 printMenuItem_actionPerformed(e);
778 addMenuActionAndAccelerator(keyStroke, printMenuItem, al);
781 .setText(MessageManager.getString("action.show_gaps"));
782 renderGapsMenuItem.setState(true);
783 renderGapsMenuItem.addActionListener(new ActionListener()
786 public void actionPerformed(ActionEvent e)
788 renderGapsMenuItem_actionPerformed(e);
792 JMenuItem findMenuItem = new JMenuItem(
793 MessageManager.getString("action.find"));
794 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F,
795 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
796 findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true,
797 MessageManager.getString("label.find_tip")));
798 al = new ActionListener()
801 public void actionPerformed(ActionEvent e)
803 findMenuItem_actionPerformed(e);
806 addMenuActionAndAccelerator(keyStroke, findMenuItem, al);
808 showSeqFeatures.setText(
809 MessageManager.getString("label.show_sequence_features"));
811 showSeqFeatures.addActionListener(new ActionListener()
814 public void actionPerformed(ActionEvent actionEvent)
816 showSeqFeatures_actionPerformed(actionEvent);
820 * showSeqFeaturesHeight.setText("Vary Sequence Feature Height");
821 * showSeqFeaturesHeight.addActionListener(new ActionListener() { public
822 * void actionPerformed(ActionEvent actionEvent) {
823 * showSeqFeaturesHeight_actionPerformed(actionEvent); } });
826 .setText(MessageManager.getString("label.show_database_refs"));
827 showDbRefsMenuitem.addActionListener(new ActionListener()
831 public void actionPerformed(ActionEvent e)
833 showDbRefs_actionPerformed(e);
837 showNpFeatsMenuitem.setText(
838 MessageManager.getString("label.show_non_positional_features"));
839 showNpFeatsMenuitem.addActionListener(new ActionListener()
843 public void actionPerformed(ActionEvent e)
845 showNpFeats_actionPerformed(e);
849 showGroupConservation
850 .setText(MessageManager.getString("label.group_conservation"));
851 showGroupConservation.addActionListener(new ActionListener()
855 public void actionPerformed(ActionEvent e)
857 showGroupConservation_actionPerformed(e);
863 .setText(MessageManager.getString("label.group_consensus"));
864 showGroupConsensus.addActionListener(new ActionListener()
868 public void actionPerformed(ActionEvent e)
870 showGroupConsensus_actionPerformed(e);
874 showConsensusHistogram.setText(
875 MessageManager.getString("label.show_consensus_histogram"));
876 showConsensusHistogram.addActionListener(new ActionListener()
880 public void actionPerformed(ActionEvent e)
882 showConsensusHistogram_actionPerformed(e);
887 .setText(MessageManager.getString("label.show_consensus_logo"));
888 showSequenceLogo.addActionListener(new ActionListener()
892 public void actionPerformed(ActionEvent e)
894 showSequenceLogo_actionPerformed(e);
898 normaliseSequenceLogo
899 .setText(MessageManager.getString("label.norm_consensus_logo"));
900 normaliseSequenceLogo.addActionListener(new ActionListener()
904 public void actionPerformed(ActionEvent e)
906 normaliseSequenceLogo_actionPerformed(e);
910 applyAutoAnnotationSettings
911 .setText(MessageManager.getString("label.apply_all_groups"));
912 applyAutoAnnotationSettings.setState(false);
913 applyAutoAnnotationSettings.setVisible(true);
914 applyAutoAnnotationSettings.addActionListener(new ActionListener()
917 public void actionPerformed(ActionEvent e)
919 applyAutoAnnotationSettings_actionPerformed(e);
923 ButtonGroup buttonGroup = new ButtonGroup();
924 final JRadioButtonMenuItem showAutoFirst = new JRadioButtonMenuItem(
925 MessageManager.getString("label.show_first"));
926 final JRadioButtonMenuItem showAutoLast = new JRadioButtonMenuItem(
927 MessageManager.getString("label.show_last"));
928 buttonGroup.add(showAutoFirst);
929 buttonGroup.add(showAutoLast);
930 final boolean autoFirst = Cache
931 .getDefault(Preferences.SHOW_AUTOCALC_ABOVE, false);
932 showAutoFirst.setSelected(autoFirst);
933 setShowAutoCalculatedAbove(autoFirst);
934 showAutoFirst.addActionListener(new ActionListener()
937 public void actionPerformed(ActionEvent e)
939 setShowAutoCalculatedAbove(showAutoFirst.isSelected());
940 sortAnnotations_actionPerformed();
943 showAutoLast.setSelected(!showAutoFirst.isSelected());
944 showAutoLast.addActionListener(new ActionListener()
947 public void actionPerformed(ActionEvent e)
949 setShowAutoCalculatedAbove(!showAutoLast.isSelected());
950 sortAnnotations_actionPerformed();
954 JMenuItem deleteGroups = new JMenuItem(
955 MessageManager.getString("action.undefine_groups"));
956 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U,
957 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
958 al = new ActionListener()
961 public void actionPerformed(ActionEvent e)
963 deleteGroups_actionPerformed(e);
966 addMenuActionAndAccelerator(keyStroke, deleteGroups, al);
968 JMenuItem annotationColumn = new JMenuItem(
969 MessageManager.getString("action.select_by_annotation"));
970 annotationColumn.addActionListener(new ActionListener()
973 public void actionPerformed(ActionEvent e)
975 annotationColumn_actionPerformed(e);
979 JMenuItem createGroup = new JMenuItem(
980 MessageManager.getString("action.create_group"));
981 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
982 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
983 al = new ActionListener()
986 public void actionPerformed(ActionEvent e)
988 createGroup_actionPerformed(e);
991 addMenuActionAndAccelerator(keyStroke, createGroup, al);
993 JMenuItem unGroup = new JMenuItem(
994 MessageManager.getString("action.remove_group"));
995 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
996 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
997 | KeyEvent.SHIFT_MASK,
999 al = new ActionListener()
1002 public void actionPerformed(ActionEvent e)
1004 unGroup_actionPerformed(e);
1007 addMenuActionAndAccelerator(keyStroke, unGroup, al);
1009 copy.setText(MessageManager.getString("action.copy"));
1010 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C,
1011 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
1013 al = new ActionListener()
1016 public void actionPerformed(ActionEvent e)
1018 copy_actionPerformed(e);
1021 addMenuActionAndAccelerator(keyStroke, copy, al);
1023 cut.setText(MessageManager.getString("action.cut"));
1024 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X,
1025 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
1026 al = new ActionListener()
1029 public void actionPerformed(ActionEvent e)
1031 cut_actionPerformed(e);
1034 addMenuActionAndAccelerator(keyStroke, cut, al);
1036 JMenuItem delete = new JMenuItem(
1037 MessageManager.getString("action.delete"));
1038 delete.addActionListener(new ActionListener()
1041 public void actionPerformed(ActionEvent e)
1043 delete_actionPerformed(e);
1047 pasteMenu.setText(MessageManager.getString("action.paste"));
1048 JMenuItem pasteNew = new JMenuItem(
1049 MessageManager.getString("label.to_new_alignment"));
1050 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V,
1051 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
1052 | KeyEvent.SHIFT_MASK,
1054 al = new ActionListener()
1057 public void actionPerformed(ActionEvent e)
1061 pasteNew_actionPerformed(e);
1062 } catch (IOException | InterruptedException e1)
1064 // TODO Auto-generated catch block
1065 e1.printStackTrace();
1069 addMenuActionAndAccelerator(keyStroke, pasteNew, al);
1071 JMenuItem pasteThis = new JMenuItem(
1072 MessageManager.getString("label.to_this_alignment"));
1073 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V,
1074 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
1075 al = new ActionListener()
1078 public void actionPerformed(ActionEvent e)
1082 pasteThis_actionPerformed(e);
1083 } catch (IOException | InterruptedException e1)
1085 // TODO Auto-generated catch block
1086 e1.printStackTrace();
1090 addMenuActionAndAccelerator(keyStroke, pasteThis, al);
1092 JMenuItem createPNG = new JMenuItem("PNG");
1093 createPNG.addActionListener(new ActionListener()
1096 public void actionPerformed(ActionEvent e)
1101 createPNG.setActionCommand(
1102 MessageManager.getString("label.save_png_image"));
1103 JMenuItem font = new JMenuItem(MessageManager.getString("action.font"));
1104 font.addActionListener(new ActionListener()
1107 public void actionPerformed(ActionEvent e)
1109 font_actionPerformed(e);
1113 MessageManager.getString("label.show_sequence_limits"));
1114 seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true));
1115 seqLimits.addActionListener(new ActionListener()
1118 public void actionPerformed(ActionEvent e)
1120 seqLimit_actionPerformed(e);
1123 JMenuItem epsFile = new JMenuItem("EPS");
1124 epsFile.addActionListener(new ActionListener()
1127 public void actionPerformed(ActionEvent e)
1133 JMenuItem createSVG = new JMenuItem("SVG");
1134 createSVG.addActionListener(new ActionListener()
1137 public void actionPerformed(ActionEvent e)
1143 JMenuItem loadTreeMenuItem = new JMenuItem(
1144 MessageManager.getString("label.load_associated_tree"));
1145 loadTreeMenuItem.setActionCommand(
1146 MessageManager.getString("label.load_tree_for_sequence_set"));
1147 loadTreeMenuItem.addActionListener(new ActionListener()
1150 public void actionPerformed(ActionEvent e)
1152 loadTreeMenuItem_actionPerformed(e);
1156 scaleAbove.setVisible(false);
1157 scaleAbove.setText(MessageManager.getString("action.scale_above"));
1158 scaleAbove.addActionListener(new ActionListener()
1161 public void actionPerformed(ActionEvent e)
1163 scaleAbove_actionPerformed(e);
1166 scaleLeft.setVisible(false);
1167 scaleLeft.setSelected(true);
1168 scaleLeft.setText(MessageManager.getString("action.scale_left"));
1169 scaleLeft.addActionListener(new ActionListener()
1172 public void actionPerformed(ActionEvent e)
1174 scaleLeft_actionPerformed(e);
1177 scaleRight.setVisible(false);
1178 scaleRight.setSelected(true);
1179 scaleRight.setText(MessageManager.getString("action.scale_right"));
1180 scaleRight.addActionListener(new ActionListener()
1183 public void actionPerformed(ActionEvent e)
1185 scaleRight_actionPerformed(e);
1188 centreColumnLabelsMenuItem.setVisible(true);
1189 centreColumnLabelsMenuItem.setState(false);
1190 centreColumnLabelsMenuItem.setText(
1191 MessageManager.getString("label.centre_column_labels"));
1192 centreColumnLabelsMenuItem.addActionListener(new ActionListener()
1195 public void actionPerformed(ActionEvent e)
1197 centreColumnLabels_actionPerformed(e);
1200 followHighlightMenuItem.setVisible(true);
1201 followHighlightMenuItem.setState(true);
1202 followHighlightMenuItem
1203 .setText(MessageManager.getString("label.automatic_scrolling"));
1204 followHighlightMenuItem.addActionListener(new ActionListener()
1208 public void actionPerformed(ActionEvent e)
1210 followHighlight_actionPerformed();
1216 .setText(MessageManager.getString("action.by_tree_order"));
1217 sort.setText(MessageManager.getString("action.sort"));
1218 sort.addMenuListener(new MenuListener()
1221 public void menuSelected(MenuEvent e)
1223 buildTreeSortMenu();
1227 public void menuDeselected(MenuEvent e)
1232 public void menuCanceled(MenuEvent e)
1237 .setText(MessageManager.getString("label.sort_by_score"));
1238 sort.add(sortByAnnotScore);
1239 sort.addMenuListener(new javax.swing.event.MenuListener()
1243 public void menuCanceled(MenuEvent e)
1248 public void menuDeselected(MenuEvent e)
1253 public void menuSelected(MenuEvent e)
1255 buildSortByAnnotationScoresMenu();
1258 sortByAnnotScore.setVisible(false);
1261 .setText(MessageManager.getString("action.calculate_tree_pca"));
1263 padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps"));
1265 .setState(jalview.bin.Cache.getDefault("PAD_GAPS", false));
1266 padGapsMenuitem.addActionListener(new ActionListener()
1269 public void actionPerformed(ActionEvent e)
1271 padGapsMenuitem_actionPerformed(e);
1274 JMenuItem vamsasStore = new JMenuItem(
1275 MessageManager.getString("label.vamsas_store"));
1276 vamsasStore.setVisible(false);
1277 vamsasStore.addActionListener(new ActionListener()
1280 public void actionPerformed(ActionEvent e)
1282 vamsasStore_actionPerformed(e);
1286 .setText(MessageManager.getString("label.translate_cDNA"));
1287 showTranslation.addActionListener(new ActionListener()
1290 public void actionPerformed(ActionEvent e)
1292 showTranslation_actionPerformed(e);
1295 showReverse.setText(MessageManager.getString("label.reverse"));
1296 showReverse.addActionListener(new ActionListener()
1299 public void actionPerformed(ActionEvent e)
1301 showReverse_actionPerformed(false);
1304 showReverseComplement
1305 .setText(MessageManager.getString("label.reverse_complement"));
1306 showReverseComplement.addActionListener(new ActionListener()
1309 public void actionPerformed(ActionEvent e)
1311 showReverse_actionPerformed(true);
1315 JMenuItem extractScores = new JMenuItem(
1316 MessageManager.getString("label.extract_scores"));
1317 extractScores.addActionListener(new ActionListener()
1320 public void actionPerformed(ActionEvent e)
1322 extractScores_actionPerformed(e);
1325 extractScores.setVisible(true);
1326 // JBPNote: TODO: make gui for regex based score extraction
1328 // for show products actions see AlignFrame.canShowProducts
1329 showProducts.setText(MessageManager.getString("label.get_cross_refs"));
1331 runGroovy.setText(MessageManager.getString("label.run_groovy"));
1332 runGroovy.setToolTipText(
1333 MessageManager.getString("label.run_groovy_tip"));
1334 runGroovy.addActionListener(new ActionListener()
1337 public void actionPerformed(ActionEvent e)
1339 runGroovy_actionPerformed();
1343 JMenuItem openFeatureSettings = new JMenuItem(
1344 MessageManager.getString("action.feature_settings"));
1345 openFeatureSettings.addActionListener(new ActionListener()
1348 public void actionPerformed(ActionEvent e)
1350 featureSettings_actionPerformed(e);
1353 JMenuItem fetchSequence = new JMenuItem(
1354 MessageManager.getString("label.fetch_sequences"));
1355 fetchSequence.addActionListener(new ActionListener()
1358 public void actionPerformed(ActionEvent e)
1360 fetchSequence_actionPerformed(e);
1364 JMenuItem associatedData = new JMenuItem(
1365 MessageManager.getString("label.load_features_annotations"));
1366 associatedData.addActionListener(new ActionListener()
1369 public void actionPerformed(ActionEvent e)
1373 associatedData_actionPerformed(e);
1374 } catch (IOException | InterruptedException e1)
1376 // TODO Auto-generated catch block
1377 e1.printStackTrace();
1381 autoCalculate.setText(
1382 MessageManager.getString("label.autocalculate_consensus"));
1383 autoCalculate.setState(
1384 jalview.bin.Cache.getDefault("AUTO_CALC_CONSENSUS", true));
1385 autoCalculate.addActionListener(new ActionListener()
1388 public void actionPerformed(ActionEvent e)
1390 autoCalculate_actionPerformed(e);
1394 MessageManager.getString("label.sort_alignment_new_tree"));
1395 sortByTree.setToolTipText("<html>" + MessageManager.getString(
1396 "label.enable_automatically_sort_alignment_when_open_new_tree"));
1398 .setState(jalview.bin.Cache.getDefault("SORT_BY_TREE", false));
1399 sortByTree.addActionListener(new ActionListener()
1402 public void actionPerformed(ActionEvent e)
1404 sortByTreeOption_actionPerformed(e);
1408 listenToViewSelections.setText(
1409 MessageManager.getString("label.listen_for_selections"));
1410 listenToViewSelections
1411 .setToolTipText("<html>" + MessageManager.getString(
1412 "label.selections_mirror_selections_made_same_sequences_other_views"));
1413 listenToViewSelections.setState(false);
1414 listenToViewSelections.addActionListener(new ActionListener()
1417 public void actionPerformed(ActionEvent e)
1419 listenToViewSelections_actionPerformed(e);
1423 JMenu addSequenceMenu = new JMenu(
1424 MessageManager.getString("label.add_sequences"));
1425 JMenuItem addFromFile = new JMenuItem(
1426 MessageManager.getString("label.from_file"));
1427 addFromFile.addActionListener(new ActionListener()
1430 public void actionPerformed(ActionEvent e)
1432 addFromFile_actionPerformed(e);
1435 JMenuItem addFromText = new JMenuItem(
1436 MessageManager.getString("label.from_textbox"));
1437 addFromText.addActionListener(new ActionListener()
1440 public void actionPerformed(ActionEvent e)
1442 addFromText_actionPerformed(e);
1445 JMenuItem addFromURL = new JMenuItem(
1446 MessageManager.getString("label.from_url"));
1447 addFromURL.addActionListener(new ActionListener()
1450 public void actionPerformed(ActionEvent e)
1452 addFromURL_actionPerformed(e);
1455 JMenuItem exportFeatures = new JMenuItem(
1456 MessageManager.getString("label.export_features"));
1457 exportFeatures.addActionListener(new ActionListener()
1460 public void actionPerformed(ActionEvent e)
1462 exportFeatures_actionPerformed(e);
1465 JMenuItem exportAnnotations = new JMenuItem(
1466 MessageManager.getString("label.export_annotations"));
1467 exportAnnotations.addActionListener(new ActionListener()
1470 public void actionPerformed(ActionEvent e)
1472 exportAnnotations_actionPerformed(e);
1475 statusPanel.setLayout(new GridLayout());
1476 JMenuItem showAllSeqs = new JMenuItem(
1477 MessageManager.getString("label.all_sequences"));
1478 showAllSeqs.setToolTipText(
1479 MessageManager.getString("label.toggle_sequence_visibility"));
1480 showAllSeqs.addActionListener(new ActionListener()
1483 public void actionPerformed(ActionEvent e)
1485 showAllSeqs_actionPerformed(e);
1488 JMenuItem showAllColumns = new JMenuItem(
1489 MessageManager.getString("label.all_columns"));
1490 showAllColumns.setToolTipText(
1491 MessageManager.getString("label.toggle_columns_visibility"));
1492 showAllColumns.addActionListener(new ActionListener()
1495 public void actionPerformed(ActionEvent e)
1497 showAllColumns_actionPerformed(e);
1500 JMenu hideMenu = new JMenu(MessageManager.getString("action.hide"));
1501 JMenuItem hideSelSequences = new JMenuItem(
1502 MessageManager.getString("label.selected_sequences"));
1503 hideSelSequences.setToolTipText(
1504 MessageManager.getString("label.toggle_sequence_visibility"));
1505 hideSelSequences.addActionListener(new ActionListener()
1508 public void actionPerformed(ActionEvent e)
1510 hideSelSequences_actionPerformed(e);
1513 JMenuItem hideSelColumns = new JMenuItem(
1514 MessageManager.getString("label.selected_columns"));
1515 hideSelColumns.setToolTipText(
1516 MessageManager.getString("label.toggle_columns_visibility"));
1517 hideSelColumns.addActionListener(new ActionListener()
1520 public void actionPerformed(ActionEvent e)
1522 hideSelColumns_actionPerformed(e);
1525 JMenuItem hideAllSelection = new JMenuItem(
1526 MessageManager.getString("label.selected_region"));
1527 hideAllSelection.addActionListener(new ActionListener()
1530 public void actionPerformed(ActionEvent e)
1532 hideAllSelection_actionPerformed(e);
1535 // TODO: should be hidden if no selection exists.
1536 JMenuItem hideAllButSelection = new JMenuItem(
1537 MessageManager.getString("label.all_but_selected_region"));
1538 hideAllButSelection.addActionListener(new ActionListener()
1541 public void actionPerformed(ActionEvent e)
1543 hideAllButSelection_actionPerformed(e);
1546 JMenuItem showAllhidden = new JMenuItem(
1547 MessageManager.getString("label.all_sequences_columns"));
1548 showAllhidden.setToolTipText(MessageManager
1549 .getString("label.toggles_visibility_hidden_selected_regions"));
1550 showAllhidden.addActionListener(new ActionListener()
1553 public void actionPerformed(ActionEvent e)
1555 showAllhidden_actionPerformed(e);
1558 hiddenMarkers.setText(
1559 MessageManager.getString("action.show_hidden_markers"));
1560 hiddenMarkers.addActionListener(new ActionListener()
1563 public void actionPerformed(ActionEvent e)
1565 hiddenMarkers_actionPerformed(e);
1569 JMenuItem invertColSel = new JMenuItem(
1570 MessageManager.getString("action.invert_column_selection"));
1571 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
1572 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
1573 | KeyEvent.ALT_MASK,
1575 al = new ActionListener()
1578 public void actionPerformed(ActionEvent e)
1580 invertColSel_actionPerformed(e);
1583 addMenuActionAndAccelerator(keyStroke, invertColSel, al);
1585 showComplementMenuItem.setVisible(false);
1586 showComplementMenuItem.addActionListener(new ActionListener()
1589 public void actionPerformed(ActionEvent e)
1591 showComplement_actionPerformed(showComplementMenuItem.getState());
1595 tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
1598 public void stateChanged(ChangeEvent evt)
1600 JTabbedPane pane = (JTabbedPane) evt.getSource();
1601 int sel = pane.getSelectedIndex();
1602 tabSelectionChanged(sel);
1605 tabbedPane.addMouseListener(new MouseAdapter()
1608 public void mousePressed(MouseEvent e)
1610 if (e.isPopupTrigger()) // Mac
1612 tabbedPane_mousePressed(e);
1617 public void mouseReleased(MouseEvent e)
1619 if (e.isPopupTrigger()) // Windows
1621 tabbedPane_mousePressed(e);
1625 tabbedPane.addFocusListener(new FocusAdapter()
1628 public void focusGained(FocusEvent e)
1630 tabbedPane_focusGained(e);
1634 JMenuItem save = new JMenuItem(MessageManager.getString("action.save"));
1635 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
1636 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
1637 al = new ActionListener()
1640 public void actionPerformed(ActionEvent e)
1642 save_actionPerformed(e);
1645 addMenuActionAndAccelerator(keyStroke, save, al);
1647 reload.setEnabled(false);
1648 reload.setText(MessageManager.getString("action.reload"));
1649 reload.addActionListener(new ActionListener()
1652 public void actionPerformed(ActionEvent e)
1654 reload_actionPerformed(e);
1658 JMenuItem newView = new JMenuItem(
1659 MessageManager.getString("action.new_view"));
1660 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T,
1661 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
1662 al = new ActionListener()
1665 public void actionPerformed(ActionEvent e)
1667 newView_actionPerformed(e);
1670 addMenuActionAndAccelerator(keyStroke, newView, al);
1672 tabbedPane.setToolTipText("<html><i>"
1673 + MessageManager.getString("label.rename_tab_eXpand_reGroup")
1676 formatMenu.setText(MessageManager.getString("action.format"));
1677 JMenu selectMenu = new JMenu(MessageManager.getString("action.select"));
1679 idRightAlign.setText(
1680 MessageManager.getString("label.right_align_sequence_id"));
1681 idRightAlign.addActionListener(new ActionListener()
1684 public void actionPerformed(ActionEvent e)
1686 idRightAlign_actionPerformed(e);
1690 gatherViews.setEnabled(false);
1691 gatherViews.setText(MessageManager.getString("action.gather_views"));
1692 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, 0, false);
1693 al = new ActionListener()
1696 public void actionPerformed(ActionEvent e)
1698 gatherViews_actionPerformed(e);
1701 addMenuActionAndAccelerator(keyStroke, gatherViews, al);
1703 expandViews.setEnabled(false);
1704 expandViews.setText(MessageManager.getString("action.expand_views"));
1705 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, 0, false);
1706 al = new ActionListener()
1709 public void actionPerformed(ActionEvent e)
1711 expandViews_actionPerformed(e);
1714 addMenuActionAndAccelerator(keyStroke, expandViews, al);
1716 JMenuItem pageSetup = new JMenuItem(
1717 MessageManager.getString("action.page_setup"));
1718 pageSetup.addActionListener(new ActionListener()
1721 public void actionPerformed(ActionEvent e)
1723 pageSetup_actionPerformed(e);
1726 JMenuItem alignmentProperties = new JMenuItem(
1727 MessageManager.getString("label.alignment_props"));
1728 alignmentProperties.addActionListener(new ActionListener()
1731 public void actionPerformed(ActionEvent actionEvent)
1733 alignmentProperties();
1736 JMenuItem selectHighlighted = new JMenuItem(
1737 MessageManager.getString("action.select_highlighted_columns"));
1738 selectHighlighted.setToolTipText(
1739 MessageManager.getString("tooltip.select_highlighted_columns"));
1740 al = new ActionListener()
1743 public void actionPerformed(ActionEvent actionEvent)
1745 selectHighlightedColumns_actionPerformed(actionEvent);
1748 hmmBuildRun.setText(MessageManager.formatMessage(
1749 "label.action_with_default_settings", "hmmbuild"));
1750 hmmBuildRun.addActionListener(new ActionListener()
1753 public void actionPerformed(ActionEvent e)
1755 hmmBuildRun_actionPerformed();
1758 hmmBuildSettings.setText(
1759 MessageManager.getString("label.edit_settings_and_run"));
1760 hmmBuildSettings.addActionListener(new ActionListener()
1763 public void actionPerformed(ActionEvent e)
1765 hmmBuildSettings_actionPerformed();
1768 hmmAlignRun.setText(MessageManager.formatMessage(
1769 "label.action_with_default_settings", "hmmalign"));
1770 hmmAlignRun.addActionListener(new ActionListener()
1773 public void actionPerformed(ActionEvent e)
1775 hmmAlignRun_actionPerformed();
1778 hmmAlignSettings.setText(
1779 MessageManager.getString("label.edit_settings_and_run"));
1780 hmmAlignSettings.addActionListener(new ActionListener()
1783 public void actionPerformed(ActionEvent e)
1785 hmmAlignSettings_actionPerformed();
1788 hmmSearchRun.setText(MessageManager.formatMessage(
1789 "label.action_with_default_settings", "hmmsearch"));
1790 hmmSearchRun.addActionListener(new ActionListener()
1793 public void actionPerformed(ActionEvent e)
1795 hmmSearchRun_actionPerformed();
1798 addDatabase.setText(MessageManager.getString("label.add_database"));
1799 addDatabase.addActionListener(new ActionListener()
1802 public void actionPerformed(ActionEvent e)
1806 addDatabase_actionPerformed();
1807 } catch (IOException e1)
1809 e1.printStackTrace();
1813 hmmSearchSettings.setText(
1814 MessageManager.getString("label.edit_settings_and_run"));
1815 hmmSearchSettings.addActionListener(new ActionListener()
1818 public void actionPerformed(ActionEvent e)
1820 hmmSearchSettings_actionPerformed();
1823 selectHighlighted.addActionListener(al);
1824 JMenu tooltipSettingsMenu = new JMenu(
1825 MessageManager.getString("label.sequence_id_tooltip"));
1826 JMenu autoAnnMenu = new JMenu(
1827 MessageManager.getString("label.autocalculated_annotation"));
1829 JMenu exportImageMenu = new JMenu(
1830 MessageManager.getString("label.export_image"));
1831 JMenu fileMenu = new JMenu(MessageManager.getString("action.file"));
1832 alignFrameMenuBar.add(fileMenu);
1833 alignFrameMenuBar.add(editMenu);
1834 alignFrameMenuBar.add(selectMenu);
1835 alignFrameMenuBar.add(viewMenu);
1836 alignFrameMenuBar.add(annotationsMenu);
1837 alignFrameMenuBar.add(formatMenu);
1838 alignFrameMenuBar.add(colourMenu);
1839 alignFrameMenuBar.add(calculateMenu);
1840 alignFrameMenuBar.add(webService);
1841 alignFrameMenuBar.add(hmmerMenu);
1843 fileMenu.add(fetchSequence);
1844 fileMenu.add(addSequenceMenu);
1845 fileMenu.add(reload);
1846 fileMenu.addSeparator();
1847 fileMenu.add(vamsasStore);
1849 fileMenu.add(saveAs);
1850 fileMenu.add(outputTextboxMenu);
1851 fileMenu.add(pageSetup);
1852 fileMenu.add(printMenuItem);
1853 fileMenu.addSeparator();
1854 fileMenu.add(exportImageMenu);
1855 fileMenu.add(exportFeatures);
1856 fileMenu.add(exportAnnotations);
1857 fileMenu.add(loadTreeMenuItem);
1858 fileMenu.add(associatedData);
1859 fileMenu.addSeparator();
1860 fileMenu.add(closeMenuItem);
1862 pasteMenu.add(pasteNew);
1863 pasteMenu.add(pasteThis);
1864 editMenu.add(undoMenuItem);
1865 editMenu.add(redoMenuItem);
1868 editMenu.add(pasteMenu);
1869 editMenu.add(delete);
1870 editMenu.addSeparator();
1871 editMenu.add(remove2LeftMenuItem);
1872 editMenu.add(remove2RightMenuItem);
1873 editMenu.add(removeGappedColumnMenuItem);
1874 editMenu.add(removeAllGapsMenuItem);
1875 editMenu.add(removeRedundancyMenuItem);
1876 editMenu.addSeparator();
1877 // dont add these yet in the CVS build - they cannot be undone!
1878 // Excluded from Jalview 2.5 release - undo needs to be implemented.
1879 // editMenu.add(justifyLeftMenuItem);
1880 // editMenu.add(justifyRightMenuItem);
1881 // editMenu.addSeparator();
1882 editMenu.add(padGapsMenuitem);
1884 showMenu.add(showAllColumns);
1885 showMenu.add(showAllSeqs);
1886 showMenu.add(showAllhidden);
1887 hideMenu.add(hideSelColumns);
1888 hideMenu.add(hideSelSequences);
1889 hideMenu.add(hideAllSelection);
1890 hideMenu.add(hideAllButSelection);
1891 viewMenu.add(newView);
1892 viewMenu.add(expandViews);
1893 viewMenu.add(gatherViews);
1894 viewMenu.addSeparator();
1895 viewMenu.add(showMenu);
1896 viewMenu.add(hideMenu);
1897 viewMenu.add(showComplementMenuItem);
1898 viewMenu.addSeparator();
1899 viewMenu.add(followHighlightMenuItem);
1900 viewMenu.addSeparator();
1901 viewMenu.add(showSeqFeatures);
1902 // viewMenu.add(showSeqFeaturesHeight);
1903 viewMenu.add(openFeatureSettings);
1904 tooltipSettingsMenu.add(showDbRefsMenuitem);
1905 tooltipSettingsMenu.add(showNpFeatsMenuitem);
1906 viewMenu.add(tooltipSettingsMenu);
1907 viewMenu.addSeparator();
1908 viewMenu.add(alignmentProperties);
1909 viewMenu.addSeparator();
1910 viewMenu.add(overviewMenuItem);
1912 annotationsMenu.add(annotationPanelMenuItem);
1913 annotationsMenu.addSeparator();
1914 annotationsMenu.add(showAllAlAnnotations);
1915 annotationsMenu.add(hideAllAlAnnotations);
1916 annotationsMenu.addSeparator();
1917 annotationsMenu.add(showAllSeqAnnotations);
1918 annotationsMenu.add(hideAllSeqAnnotations);
1919 annotationsMenu.add(sortAnnBySequence);
1920 annotationsMenu.add(sortAnnByLabel);
1921 annotationsMenu.addSeparator();
1922 autoAnnMenu.add(showAutoFirst);
1923 autoAnnMenu.add(showAutoLast);
1924 autoAnnMenu.addSeparator();
1925 autoAnnMenu.add(applyAutoAnnotationSettings);
1926 autoAnnMenu.add(showConsensusHistogram);
1927 autoAnnMenu.add(showSequenceLogo);
1928 autoAnnMenu.add(normaliseSequenceLogo);
1929 autoAnnMenu.addSeparator();
1930 autoAnnMenu.add(showGroupConservation);
1931 autoAnnMenu.add(showGroupConsensus);
1932 annotationsMenu.add(autoAnnMenu);
1934 sort.add(sortIDMenuItem);
1935 sort.add(sortLengthMenuItem);
1936 sort.add(sortGroupMenuItem);
1937 sort.add(sortPairwiseMenuItem);
1938 sort.add(sortByTreeMenu);
1939 calculateMenu.add(sort);
1940 calculateMenu.add(calculateTree);
1941 calculateMenu.addSeparator();
1942 calculateMenu.add(pairwiseAlignmentMenuItem);
1943 calculateMenu.addSeparator();
1944 calculateMenu.add(showTranslation);
1945 calculateMenu.add(showReverse);
1946 calculateMenu.add(showReverseComplement);
1947 calculateMenu.add(showProducts);
1948 calculateMenu.add(autoCalculate);
1949 calculateMenu.add(sortByTree);
1950 calculateMenu.addSeparator();
1951 calculateMenu.add(expandAlignment);
1952 calculateMenu.add(extractScores);
1953 calculateMenu.addSeparator();
1954 calculateMenu.add(runGroovy);
1956 webServiceNoServices = new JMenuItem(
1957 MessageManager.getString("label.no_services"));
1958 webService.add(webServiceNoServices);
1959 exportImageMenu.add(htmlMenuItem);
1960 exportImageMenu.add(epsFile);
1961 exportImageMenu.add(createPNG);
1962 exportImageMenu.add(createBioJS);
1963 exportImageMenu.add(createSVG);
1964 addSequenceMenu.add(addFromFile);
1965 addSequenceMenu.add(addFromText);
1966 addSequenceMenu.add(addFromURL);
1967 this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
1968 statusPanel.add(statusBar, null);
1969 this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
1971 formatMenu.add(font);
1972 formatMenu.addSeparator();
1973 formatMenu.add(wrapMenuItem);
1974 formatMenu.add(scaleAbove);
1975 formatMenu.add(scaleLeft);
1976 formatMenu.add(scaleRight);
1977 formatMenu.add(seqLimits);
1978 formatMenu.add(idRightAlign);
1979 formatMenu.add(hiddenMarkers);
1980 formatMenu.add(viewBoxesMenuItem);
1981 formatMenu.add(viewTextMenuItem);
1982 formatMenu.add(colourTextMenuItem);
1983 formatMenu.add(renderGapsMenuItem);
1984 formatMenu.add(centreColumnLabelsMenuItem);
1985 formatMenu.add(showNonconservedMenuItem);
1986 selectMenu.add(findMenuItem);
1987 selectMenu.addSeparator();
1988 selectMenu.add(selectAllSequenceMenuItem);
1989 selectMenu.add(deselectAllSequenceMenuItem);
1990 selectMenu.add(invertSequenceMenuItem);
1991 selectMenu.add(invertColSel);
1992 selectMenu.add(createGroup);
1993 selectMenu.add(unGroup);
1994 selectMenu.add(grpsFromSelection);
1995 selectMenu.add(deleteGroups);
1996 selectMenu.add(annotationColumn);
1997 selectMenu.add(selectHighlighted);
1998 // TODO - determine if the listenToViewSelections button is needed : see bug
2000 // selectMenu.addSeparator();
2001 // selectMenu.add(listenToViewSelections);
2004 public void hmmerMenu_actionPerformed(ActionEvent e)
2010 * Constructs the entries on the HMMER menu (does not add them to the menu).
2012 protected void initHMMERMenu()
2014 hmmAlign = new JMenu(MessageManager.getString("label.hmmalign"));
2015 hmmAlignSettings = new JMenuItem(
2016 MessageManager.getString("label.edit_settings_and_run"));
2017 hmmAlignRun = new JMenuItem(MessageManager.formatMessage(
2018 "label.action_with_default_settings", "hmmalign"));
2019 hmmAlign.add(hmmAlignSettings);
2020 hmmAlign.add(hmmAlignRun);
2021 hmmBuild = new JMenu(MessageManager.getString("label.hmmbuild"));
2022 hmmBuildSettings = new JMenuItem(
2023 MessageManager.getString("label.edit_settings_and_run"));
2024 hmmBuildRun = new JMenuItem(MessageManager.formatMessage(
2025 "label.action_with_default_settings", "hmmbuild"));
2026 hmmBuild.add(hmmBuildSettings);
2027 hmmBuild.add(hmmBuildRun);
2028 hmmSearch = new JMenu(MessageManager.getString("label.hmmsearch"));
2029 hmmSearchSettings = new JMenuItem(
2030 MessageManager.getString("label.edit_settings_and_run"));
2031 hmmSearchRun = new JMenuItem(MessageManager.formatMessage(
2032 "label.action_with_default_settings", "hmmsearch"));
2033 addDatabase = new JMenuItem(
2034 MessageManager.getString("label.add_database"));
2035 hmmSearch.add(hmmSearchSettings);
2036 hmmSearch.add(hmmSearchRun);
2037 hmmSearch.add(addDatabase);
2041 * Constructs the entries on the Colour menu (but does not add them to the
2044 protected void initColourMenu()
2046 applyToAllGroups = new JCheckBoxMenuItem(
2047 MessageManager.getString("label.apply_colour_to_all_groups"));
2048 applyToAllGroups.addActionListener(new ActionListener()
2051 public void actionPerformed(ActionEvent e)
2053 applyToAllGroups_actionPerformed(applyToAllGroups.isSelected());
2057 textColour = new JMenuItem(
2058 MessageManager.getString("label.text_colour"));
2059 textColour.addActionListener(new ActionListener()
2062 public void actionPerformed(ActionEvent e)
2064 textColour_actionPerformed();
2068 conservationMenuItem = new JCheckBoxMenuItem(
2069 MessageManager.getString("action.by_conservation"));
2070 conservationMenuItem.addActionListener(new ActionListener()
2073 public void actionPerformed(ActionEvent e)
2075 conservationMenuItem_actionPerformed(
2076 conservationMenuItem.isSelected());
2080 abovePIDThreshold = new JCheckBoxMenuItem(
2081 MessageManager.getString("label.above_identity_threshold"));
2082 abovePIDThreshold.addActionListener(new ActionListener()
2085 public void actionPerformed(ActionEvent e)
2087 abovePIDThreshold_actionPerformed(abovePIDThreshold.isSelected());
2090 modifyPID = new JMenuItem(
2091 MessageManager.getString("label.modify_identity_threshold"));
2092 modifyPID.addActionListener(new ActionListener()
2095 public void actionPerformed(ActionEvent e)
2097 modifyPID_actionPerformed();
2100 modifyConservation = new JMenuItem(MessageManager
2101 .getString("label.modify_conservation_threshold"));
2102 modifyConservation.addActionListener(new ActionListener()
2105 public void actionPerformed(ActionEvent e)
2107 modifyConservation_actionPerformed();
2111 annotationColour = new JMenuItem(
2112 MessageManager.getString("action.by_annotation"));
2113 annotationColour.addActionListener(new ActionListener()
2116 public void actionPerformed(ActionEvent e)
2118 annotationColour_actionPerformed();
2123 protected void selectHighlightedColumns_actionPerformed(
2124 ActionEvent actionEvent)
2126 // TODO Auto-generated method stub
2131 * Generate the reverse sequence (or reverse complement if the flag is true)
2132 * and add it to the alignment
2136 protected void showReverse_actionPerformed(boolean complement)
2141 * Try to run script in a Groovy console, having first ensured that this
2142 * alignframe is set as currentAlignFrame in Desktop
2144 protected void runGroovy_actionPerformed()
2150 * Adds the given action listener and key accelerator to the given menu item.
2151 * Also saves in a lookup table to support lookup of action by key stroke.
2155 * @param actionListener
2157 protected void addMenuActionAndAccelerator(KeyStroke keyStroke,
2158 JMenuItem menuItem, ActionListener actionListener)
2160 menuItem.setAccelerator(keyStroke);
2161 accelerators.put(keyStroke, menuItem);
2162 menuItem.addActionListener(actionListener);
2166 * Action on clicking sort annotations by type.
2170 protected void sortAnnotations_actionPerformed()
2175 * Action on clicking Show all annotations.
2177 * @param forSequences
2178 * update sequence-related annotations
2179 * @param forAlignment
2180 * update non-sequence-related annotations
2182 protected void showAllAnnotations_actionPerformed(boolean forSequences,
2183 boolean forAlignment)
2185 setAnnotationsVisibility(true, forSequences, forAlignment);
2189 * Action on clicking Hide all annotations.
2191 * @param forSequences
2192 * update sequence-related annotations
2193 * @param forAlignment
2194 * update non-sequence-related annotations
2196 protected void hideAllAnnotations_actionPerformed(boolean forSequences,
2197 boolean forAlignment)
2199 setAnnotationsVisibility(false, forSequences, forAlignment);
2203 * Set the visibility of annotations to true or false. Can act on
2204 * sequence-related annotations, or alignment-related, or both.
2207 * @param forSequences
2208 * update sequence-related annotations
2209 * @param forAlignment
2210 * update non-sequence-related annotations
2212 protected void setAnnotationsVisibility(boolean visible,
2213 boolean forSequences, boolean forAlignment)
2218 protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
2220 // TODO Auto-generated method stub
2224 protected void listenToViewSelections_actionPerformed(ActionEvent e)
2226 // TODO Auto-generated method stub
2230 protected void showAllhidden_actionPerformed(ActionEvent e)
2232 // TODO Auto-generated method stub
2236 protected void hideAllButSelection_actionPerformed(ActionEvent e)
2238 // TODO Auto-generated method stub
2242 protected void hideAllSelection_actionPerformed(ActionEvent e)
2244 // TODO Auto-generated method stub
2248 protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
2250 // TODO Auto-generated method stub
2254 protected void showConsensusHistogram_actionPerformed(ActionEvent e)
2256 // TODO Auto-generated method stub
2260 protected void showSequenceLogo_actionPerformed(ActionEvent e)
2262 // TODO Auto-generated method stub
2266 protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
2268 // TODO Auto-generated method stub
2272 protected void showGroupConsensus_actionPerformed(ActionEvent e)
2274 // TODO Auto-generated method stub
2278 protected void showGroupConservation_actionPerformed(ActionEvent e)
2280 // TODO Auto-generated method stub
2284 protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
2286 // TODO Auto-generated method stub
2290 protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
2292 // TODO Auto-generated method stub
2296 protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
2298 // TODO Auto-generated method stub
2302 protected void followHighlight_actionPerformed()
2304 // TODO Auto-generated method stub
2308 protected void showNpFeats_actionPerformed(ActionEvent e)
2310 // TODO Auto-generated method stub
2314 protected void showDbRefs_actionPerformed(ActionEvent e)
2316 // TODO Auto-generated method stub
2320 protected void centreColumnLabels_actionPerformed(ActionEvent e)
2324 protected void buildSortByAnnotationScoresMenu()
2328 protected void extractScores_actionPerformed(ActionEvent e)
2332 protected void outputText_actionPerformed(ActionEvent e)
2336 public void addFromFile_actionPerformed(ActionEvent e)
2341 public void addFromText_actionPerformed(ActionEvent e)
2346 public void addFromURL_actionPerformed(ActionEvent e)
2351 public void exportFeatures_actionPerformed(ActionEvent e)
2356 public void exportAnnotations_actionPerformed(ActionEvent e)
2361 protected void htmlMenuItem_actionPerformed(ActionEvent e)
2365 protected void bioJSMenuItem_actionPerformed(ActionEvent e)
2370 protected void closeMenuItem_actionPerformed(boolean b)
2374 protected void redoMenuItem_actionPerformed(ActionEvent e)
2378 protected void undoMenuItem_actionPerformed(ActionEvent e)
2382 protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2386 protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2390 protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
2394 protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
2398 protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
2402 protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
2406 protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
2410 protected void wrapMenuItem_actionPerformed(ActionEvent e)
2414 protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
2418 protected void viewTextMenuItem_actionPerformed(ActionEvent e)
2422 protected void colourTextMenuItem_actionPerformed(ActionEvent e)
2426 protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
2430 protected void overviewMenuItem_actionPerformed(ActionEvent e)
2434 protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
2438 protected void sortIDMenuItem_actionPerformed(ActionEvent e)
2442 protected void sortLengthMenuItem_actionPerformed(ActionEvent e)
2446 protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
2450 protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
2454 protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
2458 protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
2462 protected void conservationMenuItem_actionPerformed(boolean selected)
2466 protected void printMenuItem_actionPerformed(ActionEvent e)
2470 protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2474 protected void findMenuItem_actionPerformed(ActionEvent e)
2478 protected void abovePIDThreshold_actionPerformed(boolean selected)
2482 public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2486 protected void deleteGroups_actionPerformed(ActionEvent e)
2490 protected void createGroup_actionPerformed(ActionEvent e)
2494 protected void unGroup_actionPerformed(ActionEvent e)
2498 protected void copy_actionPerformed(ActionEvent e)
2502 protected void cut_actionPerformed(ActionEvent e)
2506 protected void delete_actionPerformed(ActionEvent e)
2510 protected void pasteNew_actionPerformed(ActionEvent e)
2511 throws IOException, InterruptedException
2515 protected void pasteThis_actionPerformed(ActionEvent e)
2516 throws IOException, InterruptedException
2520 protected void applyToAllGroups_actionPerformed(boolean selected)
2524 protected void hmmBuildRun_actionPerformed()
2528 protected void hmmSearchRun_actionPerformed()
2532 protected void addDatabase_actionPerformed()
2533 throws FileFormatException, IOException
2537 protected void hmmAlignRun_actionPerformed()
2541 protected void hmmBuildSettings_actionPerformed()
2545 protected void hmmSearchSettings_actionPerformed()
2549 protected void hmmAlignSettings_actionPerformed()
2553 public void createPNG(java.io.File f)
2557 protected void font_actionPerformed(ActionEvent e)
2561 protected void seqLimit_actionPerformed(ActionEvent e)
2565 public void seqDBRef_actionPerformed(ActionEvent e)
2570 public void createEPS(java.io.File f)
2574 public void createSVG(java.io.File f)
2579 protected void loadTreeMenuItem_actionPerformed(ActionEvent e)
2585 * Template method to handle the 'load T-Coffee scores' menu event.
2587 * Subclasses override this method to provide a custom action.
2592 protected void loadScores_actionPerformed(ActionEvent event)
2597 protected void jpred_actionPerformed(ActionEvent e)
2601 protected void scaleAbove_actionPerformed(ActionEvent e)
2605 protected void scaleLeft_actionPerformed(ActionEvent e)
2609 protected void scaleRight_actionPerformed(ActionEvent e)
2613 protected void modifyPID_actionPerformed()
2617 protected void modifyConservation_actionPerformed()
2621 protected void saveAs_actionPerformed(ActionEvent e)
2625 protected void padGapsMenuitem_actionPerformed(ActionEvent e)
2629 public void vamsasStore_actionPerformed(ActionEvent e)
2634 public void vamsasLoad_actionPerformed(ActionEvent e)
2639 public void showTranslation_actionPerformed(ActionEvent e)
2644 public void featureSettings_actionPerformed(ActionEvent e)
2649 public void fetchSequence_actionPerformed(ActionEvent e)
2654 public void smoothFont_actionPerformed(ActionEvent e)
2659 public void annotationColour_actionPerformed()
2663 public void annotationColumn_actionPerformed(ActionEvent e)
2667 public void associatedData_actionPerformed(ActionEvent e)
2668 throws IOException, InterruptedException
2673 public void autoCalculate_actionPerformed(ActionEvent e)
2678 public void sortByTreeOption_actionPerformed(ActionEvent e)
2683 public void showAllSeqs_actionPerformed(ActionEvent e)
2688 public void showAllColumns_actionPerformed(ActionEvent e)
2693 public void hideSelSequences_actionPerformed(ActionEvent e)
2698 public void hideSelColumns_actionPerformed(ActionEvent e)
2703 public void hiddenMarkers_actionPerformed(ActionEvent e)
2708 public void findPdbId_actionPerformed(ActionEvent e)
2713 public void enterPdbId_actionPerformed(ActionEvent e)
2718 public void pdbFile_actionPerformed(ActionEvent e)
2723 public void invertColSel_actionPerformed(ActionEvent e)
2728 public void tabSelectionChanged(int sel)
2733 public void tabbedPane_mousePressed(MouseEvent e)
2738 public void tabbedPane_focusGained(FocusEvent e)
2743 public void save_actionPerformed(ActionEvent e)
2748 public void reload_actionPerformed(ActionEvent e)
2753 public void newView_actionPerformed(ActionEvent e)
2758 public void textColour_actionPerformed()
2763 public void idRightAlign_actionPerformed(ActionEvent e)
2768 public void expandViews_actionPerformed(ActionEvent e)
2773 public void gatherViews_actionPerformed(ActionEvent e)
2778 public void buildTreeSortMenu()
2783 public void pageSetup_actionPerformed(ActionEvent e)
2788 public void alignmentProperties()
2793 protected void expand_newalign(ActionEvent e)
2795 // TODO Auto-generated method stub
2799 protected boolean isShowAutoCalculatedAbove()
2801 return showAutoCalculatedAbove;
2804 protected void setShowAutoCalculatedAbove(boolean showAutoCalculatedAbove)
2806 this.showAutoCalculatedAbove = showAutoCalculatedAbove;
2809 protected SequenceAnnotationOrder getAnnotationSortOrder()
2811 return annotationSortOrder;
2814 protected void setAnnotationSortOrder(
2815 SequenceAnnotationOrder annotationSortOrder)
2817 this.annotationSortOrder = annotationSortOrder;
2820 public Map<KeyStroke, JMenuItem> getAccelerators()
2822 return this.accelerators;
2826 * Returns the selected index of the tabbed pane, or -1 if none selected
2827 * (including the case where the tabbed pane has not been made visible).
2831 public int getTabIndex()
2833 return tabbedPane.getSelectedIndex();
2836 public JPanel getStatusPanel()
2842 * Sets a reference to the containing split frame. Also makes the 'toggle
2843 * split view' menu item visible and checked.
2847 public void setSplitFrame(SplitContainerI sf)
2849 this.splitFrame = sf;
2852 this.showComplementMenuItem.setVisible(true);
2853 this.showComplementMenuItem.setState(true);
2857 public SplitContainerI getSplitViewContainer()
2859 return this.splitFrame;
2862 protected void showComplement_actionPerformed(boolean complement)
2866 protected void showInformationHistogram_actionPerformed(ActionEvent e)
2868 // TODO Auto-generated method stub
2872 protected void showHMMSequenceLogo_actionPerformed(ActionEvent e)
2877 protected void normaliseHMMSequenceLogo_actionPerformed(ActionEvent e)