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.io.FileFormats;
29 import jalview.util.MessageManager;
30 import jalview.util.Platform;
32 import java.awt.BorderLayout;
33 import java.awt.Color;
34 import java.awt.GridLayout;
35 import java.awt.Toolkit;
36 import java.awt.event.ActionEvent;
37 import java.awt.event.ActionListener;
38 import java.awt.event.FocusAdapter;
39 import java.awt.event.FocusEvent;
40 import java.awt.event.KeyEvent;
41 import java.awt.event.MouseAdapter;
42 import java.awt.event.MouseEvent;
43 import java.io.IOException;
44 import java.util.HashMap;
47 import javax.swing.BorderFactory;
48 import javax.swing.ButtonGroup;
49 import javax.swing.JCheckBoxMenuItem;
50 import javax.swing.JInternalFrame;
51 import javax.swing.JLabel;
52 import javax.swing.JMenu;
53 import javax.swing.JMenuBar;
54 import javax.swing.JMenuItem;
55 import javax.swing.JPanel;
56 import javax.swing.JRadioButtonMenuItem;
57 import javax.swing.JTabbedPane;
58 import javax.swing.KeyStroke;
59 import javax.swing.event.ChangeEvent;
60 import javax.swing.event.MenuEvent;
61 import javax.swing.event.MenuListener;
63 public class GAlignFrame extends JInternalFrame
65 protected JMenuBar alignFrameMenuBar = new JMenuBar();
67 protected JMenuItem closeMenuItem = new JMenuItem();
69 protected JMenu webService = new JMenu();
71 protected JMenu hmmerMenu = new JMenu();
73 protected JCheckBoxMenuItem autoAlignSeqs = new JCheckBoxMenuItem();
75 protected JMenuItem changeHMMERLocation = new JCheckBoxMenuItem();
77 protected JMenuItem hmmAlign = new JMenuItem();
79 protected JMenuItem hmmSearch = new JMenuItem();
81 protected JMenuItem hmmBuild = new JCheckBoxMenuItem();
83 protected JMenuItem webServiceNoServices;
85 protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
87 protected JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
89 protected JMenu sortByAnnotScore = new JMenu();
91 public JLabel statusBar = new JLabel();
93 protected JMenu outputTextboxMenu = new JMenu();
95 protected JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
97 protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
99 protected JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem();
101 protected JMenuItem undoMenuItem = new JMenuItem();
103 protected JMenuItem redoMenuItem = new JMenuItem();
105 protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
107 protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
109 public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
111 JMenuItem copy = new JMenuItem();
113 JMenuItem cut = new JMenuItem();
115 JMenu pasteMenu = new JMenu();
117 protected JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
119 protected JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
121 protected JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
123 protected JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
125 protected JCheckBoxMenuItem applyToAllGroups;
127 protected JMenu colourMenu = new JMenu();
129 protected JMenuItem textColour;
131 protected JCheckBoxMenuItem conservationMenuItem;
133 protected JMenuItem modifyConservation;
135 protected JCheckBoxMenuItem abovePIDThreshold;
137 protected JMenuItem modifyPID;
139 protected JMenuItem annotationColour;
141 protected JMenu sortByTreeMenu = new JMenu();
143 protected JMenu sort = new JMenu();
145 protected JMenuItem calculateTree = new JMenuItem();
147 protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
149 protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
151 protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
153 protected JMenuItem showTranslation = new JMenuItem();
155 protected JMenuItem showReverse = new JMenuItem();
157 protected JMenuItem showReverseComplement = new JMenuItem();
159 protected JMenu showProducts = new JMenu();
161 protected JMenuItem runGroovy = new JMenuItem();
163 protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
165 protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
167 protected JCheckBoxMenuItem listenToViewSelections = new JCheckBoxMenuItem();
169 protected JPanel statusPanel = new JPanel();
171 protected JMenuItem showAllSeqAnnotations = new JMenuItem();
173 protected JMenuItem hideAllSeqAnnotations = new JMenuItem();
175 protected JMenuItem showAllAlAnnotations = new JMenuItem();
177 protected JMenuItem hideAllAlAnnotations = new JMenuItem();
179 protected JCheckBoxMenuItem showComplementMenuItem = new JCheckBoxMenuItem();
181 protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
183 protected JTabbedPane tabbedPane = new JTabbedPane();
185 protected JMenuItem reload = new JMenuItem();
187 protected JMenu formatMenu = new JMenu();
189 protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
191 protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem();
193 protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem();
195 protected JMenuItem gatherViews = new JMenuItem();
197 protected JMenuItem expandViews = new JMenuItem();
199 protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem();
201 protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem();
203 protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem();
205 protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem();
207 protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
209 protected JCheckBoxMenuItem showInformationHistogram = new JCheckBoxMenuItem();
211 protected JCheckBoxMenuItem showHMMSequenceLogo = new JCheckBoxMenuItem();
213 protected JCheckBoxMenuItem normaliseHMMSequenceLogo = new JCheckBoxMenuItem();
215 protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
217 private SequenceAnnotationOrder annotationSortOrder;
219 private boolean showAutoCalculatedAbove = false;
221 private Map<KeyStroke, JMenuItem> accelerators = new HashMap<>();
223 private SplitContainerI splitFrame;
230 setJMenuBar(alignFrameMenuBar);
232 // dynamically fill save as menu with available formats
233 for (String ff : FileFormats.getInstance().getWritableFormats(true))
235 JMenuItem item = new JMenuItem(ff);
237 item.addActionListener(new ActionListener()
240 public void actionPerformed(ActionEvent e)
242 outputText_actionPerformed(e);
246 outputTextboxMenu.add(item);
248 } catch (Exception e)
250 System.err.println(e.toString());
253 if (!Platform.isAMac())
255 closeMenuItem.setMnemonic('C');
256 outputTextboxMenu.setMnemonic('T');
257 undoMenuItem.setMnemonic('Z');
258 redoMenuItem.setMnemonic('0');
259 copy.setMnemonic('C');
260 cut.setMnemonic('U');
261 pasteMenu.setMnemonic('P');
262 reload.setMnemonic('R');
266 private void jbInit() throws Exception
271 JMenuItem saveAs = new JMenuItem(
272 MessageManager.getString("action.save_as"));
273 ActionListener al = new ActionListener()
276 public void actionPerformed(ActionEvent e)
278 saveAs_actionPerformed(e);
282 // FIXME getDefaultToolkit throws an exception in Headless mode
283 KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit
284 .getDefaultToolkit().getMenuShortcutKeyMask()
285 | KeyEvent.SHIFT_MASK, false);
286 addMenuActionAndAccelerator(keyStroke, saveAs, al);
288 closeMenuItem.setText(MessageManager.getString("action.close"));
289 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W, Toolkit
290 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
291 al = new ActionListener()
294 public void actionPerformed(ActionEvent e)
296 closeMenuItem_actionPerformed(false);
299 addMenuActionAndAccelerator(keyStroke, closeMenuItem, al);
301 JMenu editMenu = new JMenu(MessageManager.getString("action.edit"));
302 JMenu viewMenu = new JMenu(MessageManager.getString("action.view"));
303 JMenu annotationsMenu = new JMenu(
304 MessageManager.getString("action.annotations"));
305 JMenu showMenu = new JMenu(MessageManager.getString("action.show"));
306 colourMenu.setText(MessageManager.getString("action.colour"));
307 JMenu calculateMenu = new JMenu(
308 MessageManager.getString("action.calculate"));
309 webService.setText(MessageManager.getString("action.web_service"));
310 hmmerMenu.setText(MessageManager.getString("action.hmmer"));
311 JMenuItem selectAllSequenceMenuItem = new JMenuItem(
312 MessageManager.getString("action.select_all"));
313 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit
314 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
315 al = new ActionListener()
318 public void actionPerformed(ActionEvent e)
320 selectAllSequenceMenuItem_actionPerformed(e);
323 addMenuActionAndAccelerator(keyStroke, selectAllSequenceMenuItem, al);
325 JMenuItem deselectAllSequenceMenuItem = new JMenuItem(
326 MessageManager.getString("action.deselect_all"));
327 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
328 al = new ActionListener()
331 public void actionPerformed(ActionEvent e)
333 deselectAllSequenceMenuItem_actionPerformed(e);
336 addMenuActionAndAccelerator(keyStroke, deselectAllSequenceMenuItem, al);
338 JMenuItem invertSequenceMenuItem = new JMenuItem(
339 MessageManager.getString("action.invert_sequence_selection"));
340 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, Toolkit
341 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
342 al = new ActionListener()
345 public void actionPerformed(ActionEvent e)
347 invertSequenceMenuItem_actionPerformed(e);
350 addMenuActionAndAccelerator(keyStroke, invertSequenceMenuItem, al);
352 JMenuItem grpsFromSelection = new JMenuItem(
353 MessageManager.getString("action.make_groups_selection"));
354 grpsFromSelection.addActionListener(new ActionListener()
357 public void actionPerformed(ActionEvent e)
359 makeGrpsFromSelection_actionPerformed(e);
362 JMenuItem expandAlignment = new JMenuItem(
363 MessageManager.getString("action.view_flanking_regions"));
364 expandAlignment.setToolTipText(MessageManager
365 .getString("label.view_flanking_regions"));
366 expandAlignment.addActionListener(new ActionListener()
369 public void actionPerformed(ActionEvent e)
374 JMenuItem remove2LeftMenuItem = new JMenuItem(
375 MessageManager.getString("action.remove_left"));
376 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L, Toolkit
377 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
378 al = new ActionListener()
381 public void actionPerformed(ActionEvent e)
383 remove2LeftMenuItem_actionPerformed(e);
386 addMenuActionAndAccelerator(keyStroke, remove2LeftMenuItem, al);
388 JMenuItem remove2RightMenuItem = new JMenuItem(
389 MessageManager.getString("action.remove_right"));
390 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R, Toolkit
391 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
392 al = new ActionListener()
395 public void actionPerformed(ActionEvent e)
397 remove2RightMenuItem_actionPerformed(e);
400 addMenuActionAndAccelerator(keyStroke, remove2RightMenuItem, al);
402 JMenuItem removeGappedColumnMenuItem = new JMenuItem(
403 MessageManager.getString("action.remove_empty_columns"));
404 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, Toolkit
405 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
406 al = new ActionListener()
409 public void actionPerformed(ActionEvent e)
411 removeGappedColumnMenuItem_actionPerformed(e);
414 addMenuActionAndAccelerator(keyStroke, removeGappedColumnMenuItem, al);
416 JMenuItem removeAllGapsMenuItem = new JMenuItem(
417 MessageManager.getString("action.remove_all_gaps"));
418 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, Toolkit
419 .getDefaultToolkit().getMenuShortcutKeyMask()
420 | KeyEvent.SHIFT_MASK, false);
421 al = new ActionListener()
424 public void actionPerformed(ActionEvent e)
426 removeAllGapsMenuItem_actionPerformed(e);
429 addMenuActionAndAccelerator(keyStroke, removeAllGapsMenuItem, al);
431 JMenuItem justifyLeftMenuItem = new JMenuItem(
432 MessageManager.getString("action.left_justify_alignment"));
433 justifyLeftMenuItem.addActionListener(new ActionListener()
436 public void actionPerformed(ActionEvent e)
438 justifyLeftMenuItem_actionPerformed(e);
441 JMenuItem justifyRightMenuItem = new JMenuItem(
442 MessageManager.getString("action.right_justify_alignment"));
443 justifyRightMenuItem.addActionListener(new ActionListener()
446 public void actionPerformed(ActionEvent e)
448 justifyRightMenuItem_actionPerformed(e);
451 viewBoxesMenuItem.setText(MessageManager.getString("action.boxes"));
452 viewBoxesMenuItem.setState(true);
453 viewBoxesMenuItem.addActionListener(new ActionListener()
456 public void actionPerformed(ActionEvent e)
458 viewBoxesMenuItem_actionPerformed(e);
461 viewTextMenuItem.setText(MessageManager.getString("action.text"));
462 viewTextMenuItem.setState(true);
463 viewTextMenuItem.addActionListener(new ActionListener()
466 public void actionPerformed(ActionEvent e)
468 viewTextMenuItem_actionPerformed(e);
471 showNonconservedMenuItem.setText(MessageManager
472 .getString("label.show_non_conserved"));
473 showNonconservedMenuItem.setState(false);
474 showNonconservedMenuItem.addActionListener(new ActionListener()
477 public void actionPerformed(ActionEvent e)
479 showUnconservedMenuItem_actionPerformed(e);
482 JMenuItem sortPairwiseMenuItem = new JMenuItem(
483 MessageManager.getString("action.by_pairwise_id"));
484 sortPairwiseMenuItem.addActionListener(new ActionListener()
487 public void actionPerformed(ActionEvent e)
489 sortPairwiseMenuItem_actionPerformed(e);
492 JMenuItem sortIDMenuItem = new JMenuItem(
493 MessageManager.getString("action.by_id"));
494 sortIDMenuItem.addActionListener(new ActionListener()
497 public void actionPerformed(ActionEvent e)
499 sortIDMenuItem_actionPerformed(e);
502 JMenuItem sortLengthMenuItem = new JMenuItem(
503 MessageManager.getString("action.by_length"));
504 sortLengthMenuItem.addActionListener(new ActionListener()
507 public void actionPerformed(ActionEvent e)
509 sortLengthMenuItem_actionPerformed(e);
512 JMenuItem sortGroupMenuItem = new JMenuItem(
513 MessageManager.getString("action.by_group"));
514 sortGroupMenuItem.addActionListener(new ActionListener()
517 public void actionPerformed(ActionEvent e)
519 sortGroupMenuItem_actionPerformed(e);
523 JMenuItem removeRedundancyMenuItem = new JMenuItem(
524 MessageManager.getString("action.remove_redundancy"));
525 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit
526 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
527 al = new ActionListener()
530 public void actionPerformed(ActionEvent e)
532 removeRedundancyMenuItem_actionPerformed(e);
535 addMenuActionAndAccelerator(keyStroke, removeRedundancyMenuItem, al);
537 JMenuItem pairwiseAlignmentMenuItem = new JMenuItem(
538 MessageManager.getString("action.pairwise_alignment"));
539 pairwiseAlignmentMenuItem.addActionListener(new ActionListener()
542 public void actionPerformed(ActionEvent e)
544 pairwiseAlignmentMenuItem_actionPerformed(e);
548 this.getContentPane().setLayout(new BorderLayout());
549 alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
550 statusBar.setBackground(Color.white);
551 statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
552 statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
553 statusBar.setText(MessageManager.getString("label.status_bar"));
554 outputTextboxMenu.setText(MessageManager
555 .getString("label.out_to_textbox"));
557 annotationPanelMenuItem.setActionCommand("");
558 annotationPanelMenuItem.setText(MessageManager
559 .getString("label.show_annotations"));
560 annotationPanelMenuItem.setState(Cache.getDefault("SHOW_ANNOTATIONS",
562 annotationPanelMenuItem.addActionListener(new ActionListener()
565 public void actionPerformed(ActionEvent e)
567 annotationPanelMenuItem_actionPerformed(e);
570 showAllAlAnnotations.setText(MessageManager
571 .getString("label.show_all_al_annotations"));
572 final boolean isAnnotationPanelShown = annotationPanelMenuItem
574 showAllAlAnnotations.setEnabled(isAnnotationPanelShown);
575 showAllAlAnnotations.addActionListener(new ActionListener()
578 public void actionPerformed(ActionEvent e)
580 showAllAnnotations_actionPerformed(false, true);
583 hideAllAlAnnotations.setText(MessageManager
584 .getString("label.hide_all_al_annotations"));
585 hideAllAlAnnotations.setEnabled(isAnnotationPanelShown);
586 hideAllAlAnnotations.addActionListener(new ActionListener()
589 public void actionPerformed(ActionEvent e)
591 hideAllAnnotations_actionPerformed(false, true);
594 showAllSeqAnnotations.setText(MessageManager
595 .getString("label.show_all_seq_annotations"));
596 showAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
597 showAllSeqAnnotations.addActionListener(new ActionListener()
600 public void actionPerformed(ActionEvent e)
602 showAllAnnotations_actionPerformed(true, false);
605 hideAllSeqAnnotations.setText(MessageManager
606 .getString("label.hide_all_seq_annotations"));
607 hideAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
608 hideAllSeqAnnotations.addActionListener(new ActionListener()
611 public void actionPerformed(ActionEvent e)
613 hideAllAnnotations_actionPerformed(true, false);
616 SequenceAnnotationOrder sortAnnotationsBy = SequenceAnnotationOrder
617 .valueOf(Cache.getDefault(Preferences.SORT_ANNOTATIONS,
618 SequenceAnnotationOrder.NONE.name()));
619 final JCheckBoxMenuItem sortAnnBySequence = new JCheckBoxMenuItem(
620 MessageManager.getString("label.sort_annotations_by_sequence"));
621 final JCheckBoxMenuItem sortAnnByLabel = new JCheckBoxMenuItem(
622 MessageManager.getString("label.sort_annotations_by_label"));
625 .setSelected(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(newState ? SequenceAnnotationOrder.SEQUENCE_AND_LABEL
634 : SequenceAnnotationOrder.NONE);
635 sortAnnotations_actionPerformed();
639 .setSelected(sortAnnotationsBy == SequenceAnnotationOrder.LABEL_AND_SEQUENCE);
640 sortAnnByLabel.addActionListener(new ActionListener()
643 public void actionPerformed(ActionEvent e)
645 boolean newState = sortAnnByLabel.getState();
646 sortAnnBySequence.setSelected(false);
647 setAnnotationSortOrder(newState ? SequenceAnnotationOrder.LABEL_AND_SEQUENCE
648 : SequenceAnnotationOrder.NONE);
649 sortAnnotations_actionPerformed();
652 colourTextMenuItem = new JCheckBoxMenuItem(
654 .getString("label.colour_text"));
655 colourTextMenuItem.addActionListener(new ActionListener()
658 public void actionPerformed(ActionEvent e)
660 colourTextMenuItem_actionPerformed(e);
664 JMenuItem htmlMenuItem = new JMenuItem(
665 MessageManager.getString("label.html"));
666 htmlMenuItem.addActionListener(new ActionListener()
669 public void actionPerformed(ActionEvent e)
671 htmlMenuItem_actionPerformed(e);
675 JMenuItem createBioJS = new JMenuItem(
676 MessageManager.getString("label.biojs_html_export"));
677 createBioJS.addActionListener(new java.awt.event.ActionListener()
680 public void actionPerformed(ActionEvent e)
682 bioJSMenuItem_actionPerformed(e);
686 JMenuItem overviewMenuItem = new JMenuItem(
687 MessageManager.getString("label.overview_window"));
688 overviewMenuItem.addActionListener(new ActionListener()
691 public void actionPerformed(ActionEvent e)
693 overviewMenuItem_actionPerformed(e);
697 undoMenuItem.setEnabled(false);
698 undoMenuItem.setText(MessageManager.getString("action.undo"));
699 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z, Toolkit
700 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
701 al = new ActionListener()
704 public void actionPerformed(ActionEvent e)
706 undoMenuItem_actionPerformed(e);
709 addMenuActionAndAccelerator(keyStroke, undoMenuItem, al);
711 redoMenuItem.setEnabled(false);
712 redoMenuItem.setText(MessageManager.getString("action.redo"));
713 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y, Toolkit
714 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
715 al = new ActionListener()
718 public void actionPerformed(ActionEvent e)
720 redoMenuItem_actionPerformed(e);
723 addMenuActionAndAccelerator(keyStroke, redoMenuItem, al);
725 wrapMenuItem.setText(MessageManager.getString("label.wrap"));
726 wrapMenuItem.addActionListener(new ActionListener()
729 public void actionPerformed(ActionEvent e)
731 wrapMenuItem_actionPerformed(e);
735 JMenuItem printMenuItem = new JMenuItem(
736 MessageManager.getString("action.print"));
737 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P, Toolkit
738 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
739 al = new ActionListener()
742 public void actionPerformed(ActionEvent e)
744 printMenuItem_actionPerformed(e);
747 addMenuActionAndAccelerator(keyStroke, printMenuItem, al);
750 .setText(MessageManager.getString("action.show_gaps"));
751 renderGapsMenuItem.setState(true);
752 renderGapsMenuItem.addActionListener(new ActionListener()
755 public void actionPerformed(ActionEvent e)
757 renderGapsMenuItem_actionPerformed(e);
761 JMenuItem findMenuItem = new JMenuItem(
762 MessageManager.getString("action.find"));
763 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F, Toolkit
764 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
765 findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true,
766 MessageManager.getString("label.find_tip")));
767 al = new ActionListener()
770 public void actionPerformed(ActionEvent e)
772 findMenuItem_actionPerformed(e);
775 addMenuActionAndAccelerator(keyStroke, findMenuItem, al);
777 showSeqFeatures.setText(MessageManager
778 .getString("label.show_sequence_features"));
779 showSeqFeatures.addActionListener(new ActionListener()
782 public void actionPerformed(ActionEvent actionEvent)
784 showSeqFeatures_actionPerformed(actionEvent);
788 * showSeqFeaturesHeight.setText("Vary Sequence Feature Height");
789 * showSeqFeaturesHeight.addActionListener(new ActionListener() { public
790 * void actionPerformed(ActionEvent actionEvent) {
791 * showSeqFeaturesHeight_actionPerformed(actionEvent); } });
793 showDbRefsMenuitem.setText(MessageManager
794 .getString("label.show_database_refs"));
795 showDbRefsMenuitem.addActionListener(new ActionListener()
799 public void actionPerformed(ActionEvent e)
801 showDbRefs_actionPerformed(e);
805 showNpFeatsMenuitem.setText(MessageManager
806 .getString("label.show_non_positional_features"));
807 showNpFeatsMenuitem.addActionListener(new ActionListener()
811 public void actionPerformed(ActionEvent e)
813 showNpFeats_actionPerformed(e);
817 showGroupConservation.setText(MessageManager
818 .getString("label.group_conservation"));
819 showGroupConservation.addActionListener(new ActionListener()
823 public void actionPerformed(ActionEvent e)
825 showGroupConservation_actionPerformed(e);
830 showGroupConsensus.setText(MessageManager
831 .getString("label.group_consensus"));
832 showGroupConsensus.addActionListener(new ActionListener()
836 public void actionPerformed(ActionEvent e)
838 showGroupConsensus_actionPerformed(e);
842 showConsensusHistogram.setText(MessageManager
843 .getString("label.show_consensus_histogram"));
844 showConsensusHistogram.addActionListener(new ActionListener()
848 public void actionPerformed(ActionEvent e)
850 showConsensusHistogram_actionPerformed(e);
854 showSequenceLogo.setText(MessageManager
855 .getString("label.show_consensus_logo"));
856 showSequenceLogo.addActionListener(new ActionListener()
860 public void actionPerformed(ActionEvent e)
862 showSequenceLogo_actionPerformed(e);
866 normaliseSequenceLogo.setText(MessageManager
867 .getString("label.norm_consensus_logo"));
868 normaliseSequenceLogo.addActionListener(new ActionListener()
872 public void actionPerformed(ActionEvent e)
874 normaliseSequenceLogo_actionPerformed(e);
878 applyAutoAnnotationSettings.setText(MessageManager
879 .getString("label.apply_all_groups"));
880 applyAutoAnnotationSettings.setState(false);
881 applyAutoAnnotationSettings.setVisible(true);
882 applyAutoAnnotationSettings.addActionListener(new ActionListener()
885 public void actionPerformed(ActionEvent e)
887 applyAutoAnnotationSettings_actionPerformed(e);
891 ButtonGroup buttonGroup = new ButtonGroup();
892 final JRadioButtonMenuItem showAutoFirst = new JRadioButtonMenuItem(
893 MessageManager.getString("label.show_first"));
894 final JRadioButtonMenuItem showAutoLast = new JRadioButtonMenuItem(
895 MessageManager.getString("label.show_last"));
896 buttonGroup.add(showAutoFirst);
897 buttonGroup.add(showAutoLast);
898 final boolean autoFirst = Cache.getDefault(
899 Preferences.SHOW_AUTOCALC_ABOVE, false);
900 showAutoFirst.setSelected(autoFirst);
901 setShowAutoCalculatedAbove(autoFirst);
902 showAutoFirst.addActionListener(new ActionListener()
905 public void actionPerformed(ActionEvent e)
907 setShowAutoCalculatedAbove(showAutoFirst.isSelected());
908 sortAnnotations_actionPerformed();
911 showAutoLast.setSelected(!showAutoFirst.isSelected());
912 showAutoLast.addActionListener(new ActionListener()
915 public void actionPerformed(ActionEvent e)
917 setShowAutoCalculatedAbove(!showAutoLast.isSelected());
918 sortAnnotations_actionPerformed();
922 JMenuItem deleteGroups = new JMenuItem(
923 MessageManager.getString("action.undefine_groups"));
924 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U, Toolkit
925 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
926 al = new ActionListener()
929 public void actionPerformed(ActionEvent e)
931 deleteGroups_actionPerformed(e);
934 addMenuActionAndAccelerator(keyStroke, deleteGroups, al);
936 JMenuItem annotationColumn = new JMenuItem(
937 MessageManager.getString("action.select_by_annotation"));
938 annotationColumn.addActionListener(new ActionListener()
941 public void actionPerformed(ActionEvent e)
943 annotationColumn_actionPerformed(e);
947 JMenuItem createGroup = new JMenuItem(
948 MessageManager.getString("action.create_group"));
949 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit
950 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
951 al = new ActionListener()
954 public void actionPerformed(ActionEvent e)
956 createGroup_actionPerformed(e);
959 addMenuActionAndAccelerator(keyStroke, createGroup, al);
961 JMenuItem unGroup = new JMenuItem(
962 MessageManager.getString("action.remove_group"));
963 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit
964 .getDefaultToolkit().getMenuShortcutKeyMask()
965 | KeyEvent.SHIFT_MASK, false);
966 al = new ActionListener()
969 public void actionPerformed(ActionEvent e)
971 unGroup_actionPerformed(e);
974 addMenuActionAndAccelerator(keyStroke, unGroup, al);
976 copy.setText(MessageManager.getString("action.copy"));
977 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit
978 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
980 al = new ActionListener()
983 public void actionPerformed(ActionEvent e)
985 copy_actionPerformed(e);
988 addMenuActionAndAccelerator(keyStroke, copy, al);
990 cut.setText(MessageManager.getString("action.cut"));
991 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, Toolkit
992 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
993 al = new ActionListener()
996 public void actionPerformed(ActionEvent e)
998 cut_actionPerformed(e);
1001 addMenuActionAndAccelerator(keyStroke, cut, al);
1003 JMenuItem delete = new JMenuItem(
1004 MessageManager.getString("action.delete"));
1005 delete.addActionListener(new ActionListener()
1008 public void actionPerformed(ActionEvent e)
1010 delete_actionPerformed(e);
1014 pasteMenu.setText(MessageManager.getString("action.paste"));
1015 JMenuItem pasteNew = new JMenuItem(
1016 MessageManager.getString("label.to_new_alignment"));
1017 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit
1018 .getDefaultToolkit().getMenuShortcutKeyMask()
1019 | KeyEvent.SHIFT_MASK, false);
1020 al = new ActionListener()
1023 public void actionPerformed(ActionEvent e)
1027 pasteNew_actionPerformed(e);
1028 } catch (IOException | InterruptedException e1)
1030 // TODO Auto-generated catch block
1031 e1.printStackTrace();
1035 addMenuActionAndAccelerator(keyStroke, pasteNew, al);
1037 JMenuItem pasteThis = new JMenuItem(
1038 MessageManager.getString("label.to_this_alignment"));
1039 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit
1040 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1041 al = new ActionListener()
1044 public void actionPerformed(ActionEvent e)
1048 pasteThis_actionPerformed(e);
1049 } catch (IOException | InterruptedException e1)
1051 // TODO Auto-generated catch block
1052 e1.printStackTrace();
1056 addMenuActionAndAccelerator(keyStroke, pasteThis, al);
1058 JMenuItem createPNG = new JMenuItem("PNG");
1059 createPNG.addActionListener(new ActionListener()
1062 public void actionPerformed(ActionEvent e)
1067 createPNG.setActionCommand(MessageManager
1068 .getString("label.save_png_image"));
1070 JMenuItem font = new JMenuItem(MessageManager.getString("action.font"));
1071 font.addActionListener(new ActionListener()
1074 public void actionPerformed(ActionEvent e)
1076 font_actionPerformed(e);
1079 seqLimits.setText(MessageManager
1080 .getString("label.show_sequence_limits"));
1081 seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true));
1082 seqLimits.addActionListener(new ActionListener()
1085 public void actionPerformed(ActionEvent e)
1087 seqLimit_actionPerformed(e);
1090 JMenuItem epsFile = new JMenuItem("EPS");
1091 epsFile.addActionListener(new ActionListener()
1094 public void actionPerformed(ActionEvent e)
1100 JMenuItem createSVG = new JMenuItem("SVG");
1101 createSVG.addActionListener(new ActionListener()
1104 public void actionPerformed(ActionEvent e)
1110 JMenuItem loadTreeMenuItem = new JMenuItem(
1111 MessageManager.getString("label.load_associated_tree"));
1112 loadTreeMenuItem.setActionCommand(MessageManager
1113 .getString("label.load_tree_for_sequence_set"));
1114 loadTreeMenuItem.addActionListener(new ActionListener()
1117 public void actionPerformed(ActionEvent e)
1119 loadTreeMenuItem_actionPerformed(e);
1123 scaleAbove.setVisible(false);
1124 scaleAbove.setText(MessageManager.getString("action.scale_above"));
1125 scaleAbove.addActionListener(new ActionListener()
1128 public void actionPerformed(ActionEvent e)
1130 scaleAbove_actionPerformed(e);
1133 scaleLeft.setVisible(false);
1134 scaleLeft.setSelected(true);
1135 scaleLeft.setText(MessageManager.getString("action.scale_left"));
1136 scaleLeft.addActionListener(new ActionListener()
1139 public void actionPerformed(ActionEvent e)
1141 scaleLeft_actionPerformed(e);
1144 scaleRight.setVisible(false);
1145 scaleRight.setSelected(true);
1146 scaleRight.setText(MessageManager.getString("action.scale_right"));
1147 scaleRight.addActionListener(new ActionListener()
1150 public void actionPerformed(ActionEvent e)
1152 scaleRight_actionPerformed(e);
1155 centreColumnLabelsMenuItem.setVisible(true);
1156 centreColumnLabelsMenuItem.setState(false);
1157 centreColumnLabelsMenuItem.setText(MessageManager
1158 .getString("label.centre_column_labels"));
1159 centreColumnLabelsMenuItem.addActionListener(new ActionListener()
1162 public void actionPerformed(ActionEvent e)
1164 centreColumnLabels_actionPerformed(e);
1167 followHighlightMenuItem.setVisible(true);
1168 followHighlightMenuItem.setState(true);
1169 followHighlightMenuItem.setText(MessageManager
1170 .getString("label.automatic_scrolling"));
1171 followHighlightMenuItem.addActionListener(new ActionListener()
1175 public void actionPerformed(ActionEvent e)
1177 followHighlight_actionPerformed();
1183 .setText(MessageManager.getString("action.by_tree_order"));
1184 sort.setText(MessageManager.getString("action.sort"));
1185 sort.addMenuListener(new MenuListener()
1188 public void menuSelected(MenuEvent e)
1190 buildTreeSortMenu();
1194 public void menuDeselected(MenuEvent e)
1199 public void menuCanceled(MenuEvent e)
1203 sortByAnnotScore.setText(MessageManager
1204 .getString("label.sort_by_score"));
1205 sort.add(sortByAnnotScore);
1206 sort.addMenuListener(new javax.swing.event.MenuListener()
1210 public void menuCanceled(MenuEvent e)
1215 public void menuDeselected(MenuEvent e)
1220 public void menuSelected(MenuEvent e)
1222 buildSortByAnnotationScoresMenu();
1225 sortByAnnotScore.setVisible(false);
1227 calculateTree.setText(MessageManager
1228 .getString("action.calculate_tree_pca"));
1230 padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps"));
1231 padGapsMenuitem.setState(jalview.bin.Cache
1232 .getDefault("PAD_GAPS", false));
1233 padGapsMenuitem.addActionListener(new ActionListener()
1236 public void actionPerformed(ActionEvent e)
1238 padGapsMenuitem_actionPerformed(e);
1241 JMenuItem vamsasStore = new JMenuItem(
1242 MessageManager.getString("label.vamsas_store"));
1243 vamsasStore.setVisible(false);
1244 vamsasStore.addActionListener(new ActionListener()
1247 public void actionPerformed(ActionEvent e)
1249 vamsasStore_actionPerformed(e);
1252 showTranslation.setText(MessageManager
1253 .getString("label.translate_cDNA"));
1254 showTranslation.addActionListener(new ActionListener()
1257 public void actionPerformed(ActionEvent e)
1259 showTranslation_actionPerformed(e);
1262 showReverse.setText(MessageManager.getString("label.reverse"));
1263 showReverse.addActionListener(new ActionListener()
1266 public void actionPerformed(ActionEvent e)
1268 showReverse_actionPerformed(false);
1271 showReverseComplement.setText(MessageManager
1272 .getString("label.reverse_complement"));
1273 showReverseComplement.addActionListener(new ActionListener()
1276 public void actionPerformed(ActionEvent e)
1278 showReverse_actionPerformed(true);
1282 JMenuItem extractScores = new JMenuItem(
1283 MessageManager.getString("label.extract_scores"));
1284 extractScores.addActionListener(new ActionListener()
1287 public void actionPerformed(ActionEvent e)
1289 extractScores_actionPerformed(e);
1292 extractScores.setVisible(true);
1293 // JBPNote: TODO: make gui for regex based score extraction
1295 // for show products actions see AlignFrame.canShowProducts
1296 showProducts.setText(MessageManager.getString("label.get_cross_refs"));
1298 runGroovy.setText(MessageManager.getString("label.run_groovy"));
1299 runGroovy.setToolTipText(MessageManager
1300 .getString("label.run_groovy_tip"));
1301 runGroovy.addActionListener(new ActionListener()
1304 public void actionPerformed(ActionEvent e)
1306 runGroovy_actionPerformed();
1310 JMenuItem openFeatureSettings = new JMenuItem(
1311 MessageManager.getString("action.feature_settings"));
1312 openFeatureSettings.addActionListener(new ActionListener()
1315 public void actionPerformed(ActionEvent e)
1317 featureSettings_actionPerformed(e);
1320 JMenuItem fetchSequence = new JMenuItem(
1321 MessageManager.getString("label.fetch_sequences"));
1322 fetchSequence.addActionListener(new ActionListener()
1325 public void actionPerformed(ActionEvent e)
1327 fetchSequence_actionPerformed(e);
1331 JMenuItem associatedData = new JMenuItem(
1332 MessageManager.getString("label.load_features_annotations"));
1333 associatedData.addActionListener(new ActionListener()
1336 public void actionPerformed(ActionEvent e)
1340 associatedData_actionPerformed(e);
1341 } catch (IOException | InterruptedException e1)
1343 // TODO Auto-generated catch block
1344 e1.printStackTrace();
1348 autoCalculate.setText(MessageManager
1349 .getString("label.autocalculate_consensus"));
1350 autoCalculate.setState(jalview.bin.Cache.getDefault(
1351 "AUTO_CALC_CONSENSUS", true));
1352 autoCalculate.addActionListener(new ActionListener()
1355 public void actionPerformed(ActionEvent e)
1357 autoCalculate_actionPerformed(e);
1360 sortByTree.setText(MessageManager
1361 .getString("label.sort_alignment_new_tree"));
1363 .setToolTipText("<html>"
1365 .getString("label.enable_automatically_sort_alignment_when_open_new_tree"));
1367 .setState(jalview.bin.Cache.getDefault("SORT_BY_TREE", false));
1368 sortByTree.addActionListener(new ActionListener()
1371 public void actionPerformed(ActionEvent e)
1373 sortByTreeOption_actionPerformed(e);
1377 listenToViewSelections.setText(MessageManager
1378 .getString("label.listen_for_selections"));
1379 listenToViewSelections
1380 .setToolTipText("<html>"
1382 .getString("label.selections_mirror_selections_made_same_sequences_other_views"));
1383 listenToViewSelections.setState(false);
1384 listenToViewSelections.addActionListener(new ActionListener()
1387 public void actionPerformed(ActionEvent e)
1389 listenToViewSelections_actionPerformed(e);
1393 JMenu addSequenceMenu = new JMenu(
1394 MessageManager.getString("label.add_sequences"));
1395 JMenuItem addFromFile = new JMenuItem(
1396 MessageManager.getString("label.from_file"));
1397 addFromFile.addActionListener(new ActionListener()
1400 public void actionPerformed(ActionEvent e)
1402 addFromFile_actionPerformed(e);
1405 JMenuItem addFromText = new JMenuItem(
1406 MessageManager.getString("label.from_textbox"));
1407 addFromText.addActionListener(new ActionListener()
1410 public void actionPerformed(ActionEvent e)
1412 addFromText_actionPerformed(e);
1415 JMenuItem addFromURL = new JMenuItem(
1416 MessageManager.getString("label.from_url"));
1417 addFromURL.addActionListener(new ActionListener()
1420 public void actionPerformed(ActionEvent e)
1422 addFromURL_actionPerformed(e);
1425 JMenuItem exportFeatures = new JMenuItem(
1426 MessageManager.getString("label.export_features"));
1427 exportFeatures.addActionListener(new ActionListener()
1430 public void actionPerformed(ActionEvent e)
1432 exportFeatures_actionPerformed(e);
1435 JMenuItem exportAnnotations = new JMenuItem(
1436 MessageManager.getString("label.export_annotations"));
1437 exportAnnotations.addActionListener(new ActionListener()
1440 public void actionPerformed(ActionEvent e)
1442 exportAnnotations_actionPerformed(e);
1445 statusPanel.setLayout(new GridLayout());
1446 JMenuItem showAllSeqs = new JMenuItem(
1447 MessageManager.getString("label.all_sequences"));
1448 showAllSeqs.setToolTipText(MessageManager
1449 .getString("label.toggle_sequence_visibility"));
1450 showAllSeqs.addActionListener(new ActionListener()
1453 public void actionPerformed(ActionEvent e)
1455 showAllSeqs_actionPerformed(e);
1458 JMenuItem showAllColumns = new JMenuItem(
1459 MessageManager.getString("label.all_columns"));
1460 showAllColumns.setToolTipText(MessageManager
1461 .getString("label.toggle_columns_visibility"));
1462 showAllColumns.addActionListener(new ActionListener()
1465 public void actionPerformed(ActionEvent e)
1467 showAllColumns_actionPerformed(e);
1470 JMenu hideMenu = new JMenu(MessageManager.getString("action.hide"));
1471 JMenuItem hideSelSequences = new JMenuItem(
1472 MessageManager.getString("label.selected_sequences"));
1473 hideSelSequences.setToolTipText(MessageManager
1474 .getString("label.toggle_sequence_visibility"));
1475 hideSelSequences.addActionListener(new ActionListener()
1478 public void actionPerformed(ActionEvent e)
1480 hideSelSequences_actionPerformed(e);
1483 JMenuItem hideSelColumns = new JMenuItem(
1484 MessageManager.getString("label.selected_columns"));
1485 hideSelColumns.setToolTipText(MessageManager
1486 .getString("label.toggle_columns_visibility"));
1487 hideSelColumns.addActionListener(new ActionListener()
1490 public void actionPerformed(ActionEvent e)
1492 hideSelColumns_actionPerformed(e);
1495 JMenuItem hideAllSelection = new JMenuItem(
1496 MessageManager.getString("label.selected_region"));
1497 hideAllSelection.addActionListener(new ActionListener()
1500 public void actionPerformed(ActionEvent e)
1502 hideAllSelection_actionPerformed(e);
1505 // TODO: should be hidden if no selection exists.
1506 JMenuItem hideAllButSelection = new JMenuItem(
1507 MessageManager.getString("label.all_but_selected_region"));
1508 hideAllButSelection.addActionListener(new ActionListener()
1511 public void actionPerformed(ActionEvent e)
1513 hideAllButSelection_actionPerformed(e);
1516 JMenuItem showAllhidden = new JMenuItem(
1517 MessageManager.getString("label.all_sequences_columns"));
1518 showAllhidden.setToolTipText(MessageManager
1519 .getString("label.toggles_visibility_hidden_selected_regions"));
1520 showAllhidden.addActionListener(new ActionListener()
1523 public void actionPerformed(ActionEvent e)
1525 showAllhidden_actionPerformed(e);
1528 hiddenMarkers.setText(MessageManager
1529 .getString("action.show_hidden_markers"));
1530 hiddenMarkers.addActionListener(new ActionListener()
1533 public void actionPerformed(ActionEvent e)
1535 hiddenMarkers_actionPerformed(e);
1539 JMenuItem invertColSel = new JMenuItem(
1540 MessageManager.getString("action.invert_column_selection"));
1541 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, Toolkit
1542 .getDefaultToolkit().getMenuShortcutKeyMask()
1543 | KeyEvent.ALT_MASK, false);
1544 al = new ActionListener()
1547 public void actionPerformed(ActionEvent e)
1549 invertColSel_actionPerformed(e);
1552 addMenuActionAndAccelerator(keyStroke, invertColSel, al);
1554 showComplementMenuItem.setVisible(false);
1555 showComplementMenuItem.addActionListener(new ActionListener()
1558 public void actionPerformed(ActionEvent e)
1560 showComplement_actionPerformed(showComplementMenuItem.getState());
1564 tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
1567 public void stateChanged(ChangeEvent evt)
1569 JTabbedPane pane = (JTabbedPane) evt.getSource();
1570 int sel = pane.getSelectedIndex();
1571 tabSelectionChanged(sel);
1574 tabbedPane.addMouseListener(new MouseAdapter()
1577 public void mousePressed(MouseEvent e)
1579 if (e.isPopupTrigger()) // Mac
1581 tabbedPane_mousePressed(e);
1586 public void mouseReleased(MouseEvent e)
1588 if (e.isPopupTrigger()) // Windows
1590 tabbedPane_mousePressed(e);
1594 tabbedPane.addFocusListener(new FocusAdapter()
1597 public void focusGained(FocusEvent e)
1599 tabbedPane_focusGained(e);
1603 JMenuItem save = new JMenuItem(MessageManager.getString("action.save"));
1604 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit
1605 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1606 al = new ActionListener()
1609 public void actionPerformed(ActionEvent e)
1611 save_actionPerformed(e);
1614 addMenuActionAndAccelerator(keyStroke, save, al);
1616 reload.setEnabled(false);
1617 reload.setText(MessageManager.getString("action.reload"));
1618 reload.addActionListener(new ActionListener()
1621 public void actionPerformed(ActionEvent e)
1623 reload_actionPerformed(e);
1627 JMenuItem newView = new JMenuItem(
1628 MessageManager.getString("action.new_view"));
1629 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit
1630 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1631 al = new ActionListener()
1634 public void actionPerformed(ActionEvent e)
1636 newView_actionPerformed(e);
1639 addMenuActionAndAccelerator(keyStroke, newView, al);
1641 tabbedPane.setToolTipText("<html><i>"
1642 + MessageManager.getString("label.rename_tab_eXpand_reGroup")
1645 formatMenu.setText(MessageManager.getString("action.format"));
1646 JMenu selectMenu = new JMenu(MessageManager.getString("action.select"));
1648 idRightAlign.setText(MessageManager
1649 .getString("label.right_align_sequence_id"));
1650 idRightAlign.addActionListener(new ActionListener()
1653 public void actionPerformed(ActionEvent e)
1655 idRightAlign_actionPerformed(e);
1659 gatherViews.setEnabled(false);
1660 gatherViews.setText(MessageManager.getString("action.gather_views"));
1661 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, 0, false);
1662 al = new ActionListener()
1665 public void actionPerformed(ActionEvent e)
1667 gatherViews_actionPerformed(e);
1670 addMenuActionAndAccelerator(keyStroke, gatherViews, al);
1672 expandViews.setEnabled(false);
1673 expandViews.setText(MessageManager.getString("action.expand_views"));
1674 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, 0, false);
1675 al = new ActionListener()
1678 public void actionPerformed(ActionEvent e)
1680 expandViews_actionPerformed(e);
1683 addMenuActionAndAccelerator(keyStroke, expandViews, al);
1685 JMenuItem pageSetup = new JMenuItem(
1686 MessageManager.getString("action.page_setup"));
1687 pageSetup.addActionListener(new ActionListener()
1690 public void actionPerformed(ActionEvent e)
1692 pageSetup_actionPerformed(e);
1695 JMenuItem alignmentProperties = new JMenuItem(
1696 MessageManager.getString("label.alignment_props"));
1697 alignmentProperties.addActionListener(new ActionListener()
1700 public void actionPerformed(ActionEvent actionEvent)
1702 alignmentProperties();
1705 JMenuItem selectHighlighted = new JMenuItem(
1706 MessageManager.getString("action.select_highlighted_columns"));
1707 selectHighlighted.setToolTipText(MessageManager
1708 .getString("tooltip.select_highlighted_columns"));
1709 al = new ActionListener()
1712 public void actionPerformed(ActionEvent actionEvent)
1714 selectHighlightedColumns_actionPerformed(actionEvent);
1717 hmmBuild.setText(MessageManager.getString("label.hmmbuild"));
1718 hmmBuild.addActionListener(new ActionListener()
1722 public void actionPerformed(ActionEvent e)
1726 hmmBuild_actionPerformed(e);
1727 } catch (IOException e1)
1729 // TODO Auto-generated catch block
1730 e1.printStackTrace();
1731 } catch (InterruptedException e1)
1733 // TODO Auto-generated catch block
1734 e1.printStackTrace();
1739 hmmAlign.setText(MessageManager.getString("label.hmmalign"));
1740 hmmAlign.addActionListener(new ActionListener()
1744 public void actionPerformed(ActionEvent e)
1748 hmmAlign_actionPerformed(e);
1749 } catch (IOException e1)
1751 // TODO Auto-generated catch block
1752 e1.printStackTrace();
1753 } catch (InterruptedException e1)
1755 // TODO Auto-generated catch block
1756 e1.printStackTrace();
1761 changeHMMERLocation.setText(
1762 MessageManager.getString("label.change_hmmer_location"));
1763 changeHMMERLocation.addActionListener(new ActionListener()
1767 public void actionPerformed(ActionEvent e)
1769 changeHMMERLocation_actionPerformed(e);
1773 selectHighlighted.addActionListener(al);
1774 JMenu tooltipSettingsMenu = new JMenu(
1775 MessageManager.getString("label.sequence_id_tooltip"));
1776 JMenu autoAnnMenu = new JMenu(
1777 MessageManager.getString("label.autocalculated_annotation"));
1779 JMenu exportImageMenu = new JMenu(
1780 MessageManager.getString("label.export_image"));
1781 JMenu fileMenu = new JMenu(MessageManager.getString("action.file"));
1782 alignFrameMenuBar.add(fileMenu);
1783 alignFrameMenuBar.add(editMenu);
1784 alignFrameMenuBar.add(selectMenu);
1785 alignFrameMenuBar.add(viewMenu);
1786 alignFrameMenuBar.add(annotationsMenu);
1787 alignFrameMenuBar.add(formatMenu);
1788 alignFrameMenuBar.add(colourMenu);
1789 alignFrameMenuBar.add(calculateMenu);
1790 alignFrameMenuBar.add(webService);
1791 alignFrameMenuBar.add(hmmerMenu);
1793 fileMenu.add(fetchSequence);
1794 fileMenu.add(addSequenceMenu);
1795 fileMenu.add(reload);
1796 fileMenu.addSeparator();
1797 fileMenu.add(vamsasStore);
1799 fileMenu.add(saveAs);
1800 fileMenu.add(outputTextboxMenu);
1801 fileMenu.add(pageSetup);
1802 fileMenu.add(printMenuItem);
1803 fileMenu.addSeparator();
1804 fileMenu.add(exportImageMenu);
1805 fileMenu.add(exportFeatures);
1806 fileMenu.add(exportAnnotations);
1807 fileMenu.add(loadTreeMenuItem);
1808 fileMenu.add(associatedData);
1809 fileMenu.addSeparator();
1810 fileMenu.add(closeMenuItem);
1812 pasteMenu.add(pasteNew);
1813 pasteMenu.add(pasteThis);
1814 editMenu.add(undoMenuItem);
1815 editMenu.add(redoMenuItem);
1818 editMenu.add(pasteMenu);
1819 editMenu.add(delete);
1820 editMenu.addSeparator();
1821 editMenu.add(remove2LeftMenuItem);
1822 editMenu.add(remove2RightMenuItem);
1823 editMenu.add(removeGappedColumnMenuItem);
1824 editMenu.add(removeAllGapsMenuItem);
1825 editMenu.add(removeRedundancyMenuItem);
1826 editMenu.addSeparator();
1827 // dont add these yet in the CVS build - they cannot be undone!
1828 // Excluded from Jalview 2.5 release - undo needs to be implemented.
1829 // editMenu.add(justifyLeftMenuItem);
1830 // editMenu.add(justifyRightMenuItem);
1831 // editMenu.addSeparator();
1832 editMenu.add(padGapsMenuitem);
1834 showMenu.add(showAllColumns);
1835 showMenu.add(showAllSeqs);
1836 showMenu.add(showAllhidden);
1837 hideMenu.add(hideSelColumns);
1838 hideMenu.add(hideSelSequences);
1839 hideMenu.add(hideAllSelection);
1840 hideMenu.add(hideAllButSelection);
1841 viewMenu.add(newView);
1842 viewMenu.add(expandViews);
1843 viewMenu.add(gatherViews);
1844 viewMenu.addSeparator();
1845 viewMenu.add(showMenu);
1846 viewMenu.add(hideMenu);
1847 viewMenu.add(showComplementMenuItem);
1848 viewMenu.addSeparator();
1849 viewMenu.add(followHighlightMenuItem);
1850 viewMenu.addSeparator();
1851 viewMenu.add(showSeqFeatures);
1852 // viewMenu.add(showSeqFeaturesHeight);
1853 viewMenu.add(openFeatureSettings);
1854 tooltipSettingsMenu.add(showDbRefsMenuitem);
1855 tooltipSettingsMenu.add(showNpFeatsMenuitem);
1856 viewMenu.add(tooltipSettingsMenu);
1857 viewMenu.addSeparator();
1858 viewMenu.add(alignmentProperties);
1859 viewMenu.addSeparator();
1860 viewMenu.add(overviewMenuItem);
1862 annotationsMenu.add(annotationPanelMenuItem);
1863 annotationsMenu.addSeparator();
1864 annotationsMenu.add(showAllAlAnnotations);
1865 annotationsMenu.add(hideAllAlAnnotations);
1866 annotationsMenu.addSeparator();
1867 annotationsMenu.add(showAllSeqAnnotations);
1868 annotationsMenu.add(hideAllSeqAnnotations);
1869 annotationsMenu.add(sortAnnBySequence);
1870 annotationsMenu.add(sortAnnByLabel);
1871 annotationsMenu.addSeparator();
1872 autoAnnMenu.add(showAutoFirst);
1873 autoAnnMenu.add(showAutoLast);
1874 autoAnnMenu.addSeparator();
1875 autoAnnMenu.add(applyAutoAnnotationSettings);
1876 autoAnnMenu.add(showConsensusHistogram);
1877 autoAnnMenu.add(showSequenceLogo);
1878 autoAnnMenu.add(normaliseSequenceLogo);
1879 autoAnnMenu.addSeparator();
1880 autoAnnMenu.add(showGroupConservation);
1881 autoAnnMenu.add(showGroupConsensus);
1882 annotationsMenu.add(autoAnnMenu);
1885 sort.add(sortIDMenuItem);
1886 sort.add(sortLengthMenuItem);
1887 sort.add(sortGroupMenuItem);
1888 sort.add(sortPairwiseMenuItem);
1889 sort.add(sortByTreeMenu);
1890 calculateMenu.add(sort);
1891 calculateMenu.add(calculateTree);
1892 calculateMenu.addSeparator();
1893 calculateMenu.add(pairwiseAlignmentMenuItem);
1894 calculateMenu.addSeparator();
1895 calculateMenu.add(showTranslation);
1896 calculateMenu.add(showReverse);
1897 calculateMenu.add(showReverseComplement);
1898 calculateMenu.add(showProducts);
1899 calculateMenu.add(autoCalculate);
1900 calculateMenu.add(sortByTree);
1901 calculateMenu.addSeparator();
1902 calculateMenu.add(expandAlignment);
1903 calculateMenu.add(extractScores);
1904 calculateMenu.addSeparator();
1905 calculateMenu.add(runGroovy);
1907 webServiceNoServices = new JMenuItem(
1908 MessageManager.getString("label.no_services"));
1909 webService.add(webServiceNoServices);
1910 exportImageMenu.add(htmlMenuItem);
1911 exportImageMenu.add(epsFile);
1912 exportImageMenu.add(createPNG);
1913 exportImageMenu.add(createBioJS);
1914 exportImageMenu.add(createSVG);
1915 addSequenceMenu.add(addFromFile);
1916 addSequenceMenu.add(addFromText);
1917 addSequenceMenu.add(addFromURL);
1918 this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
1919 statusPanel.add(statusBar, null);
1920 this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
1922 formatMenu.add(font);
1923 formatMenu.addSeparator();
1924 formatMenu.add(wrapMenuItem);
1925 formatMenu.add(scaleAbove);
1926 formatMenu.add(scaleLeft);
1927 formatMenu.add(scaleRight);
1928 formatMenu.add(seqLimits);
1929 formatMenu.add(idRightAlign);
1930 formatMenu.add(hiddenMarkers);
1931 formatMenu.add(viewBoxesMenuItem);
1932 formatMenu.add(viewTextMenuItem);
1933 formatMenu.add(colourTextMenuItem);
1934 formatMenu.add(renderGapsMenuItem);
1935 formatMenu.add(centreColumnLabelsMenuItem);
1936 formatMenu.add(showNonconservedMenuItem);
1937 selectMenu.add(findMenuItem);
1938 selectMenu.addSeparator();
1939 selectMenu.add(selectAllSequenceMenuItem);
1940 selectMenu.add(deselectAllSequenceMenuItem);
1941 selectMenu.add(invertSequenceMenuItem);
1942 selectMenu.add(invertColSel);
1943 selectMenu.add(createGroup);
1944 selectMenu.add(unGroup);
1945 selectMenu.add(grpsFromSelection);
1946 selectMenu.add(deleteGroups);
1947 selectMenu.add(annotationColumn);
1948 selectMenu.add(selectHighlighted);
1949 // TODO - determine if the listenToViewSelections button is needed : see bug
1951 // selectMenu.addSeparator();
1952 // selectMenu.add(listenToViewSelections);
1956 * Constructs the entries on the Colour menu (but does not add them to the
1959 protected void initHMMERMenu()
1961 autoAlignSeqs = new JCheckBoxMenuItem(
1962 MessageManager.getString("label.auto_align_seqs"));
1963 hmmAlign = new JMenuItem(MessageManager.getString("label.hmmalign"));
1964 hmmBuild = new JMenuItem(MessageManager.getString("label.hmmbuild"));
1965 hmmSearch = new JMenuItem(MessageManager.getString("label.hmmsearch"));
1966 autoAlignSeqs.addActionListener(new ActionListener()
1969 public void actionPerformed(ActionEvent e)
1971 autoAlignSeqs_actionPerformed(autoAlignSeqs.isSelected());
1976 protected void initColourMenu()
1978 applyToAllGroups = new JCheckBoxMenuItem(
1979 MessageManager.getString("label.apply_colour_to_all_groups"));
1980 applyToAllGroups.addActionListener(new ActionListener()
1983 public void actionPerformed(ActionEvent e)
1985 applyToAllGroups_actionPerformed(applyToAllGroups.isSelected());
1989 textColour = new JMenuItem(
1990 MessageManager.getString("label.text_colour"));
1991 textColour.addActionListener(new ActionListener()
1994 public void actionPerformed(ActionEvent e)
1996 textColour_actionPerformed();
2000 conservationMenuItem = new JCheckBoxMenuItem(
2001 MessageManager.getString("action.by_conservation"));
2002 conservationMenuItem.addActionListener(new ActionListener()
2005 public void actionPerformed(ActionEvent e)
2007 conservationMenuItem_actionPerformed(conservationMenuItem
2012 abovePIDThreshold = new JCheckBoxMenuItem(
2013 MessageManager.getString("label.above_identity_threshold"));
2014 abovePIDThreshold.addActionListener(new ActionListener()
2017 public void actionPerformed(ActionEvent e)
2019 abovePIDThreshold_actionPerformed(abovePIDThreshold.isSelected());
2022 modifyPID = new JMenuItem(
2023 MessageManager.getString("label.modify_identity_threshold"));
2024 modifyPID.addActionListener(new ActionListener()
2027 public void actionPerformed(ActionEvent e)
2029 modifyPID_actionPerformed();
2032 modifyConservation = new JMenuItem(
2034 .getString("label.modify_conservation_threshold"));
2035 modifyConservation.addActionListener(new ActionListener()
2038 public void actionPerformed(ActionEvent e)
2040 modifyConservation_actionPerformed();
2044 annotationColour = new JMenuItem(
2045 MessageManager.getString("action.by_annotation"));
2046 annotationColour.addActionListener(new ActionListener()
2049 public void actionPerformed(ActionEvent e)
2051 annotationColour_actionPerformed();
2056 protected void selectHighlightedColumns_actionPerformed(
2057 ActionEvent actionEvent)
2059 // TODO Auto-generated method stub
2064 * Generate the reverse sequence (or reverse complement if the flag is true)
2065 * and add it to the alignment
2069 protected void showReverse_actionPerformed(boolean complement)
2074 * Try to run script in a Groovy console, having first ensured that this
2075 * alignframe is set as currentAlignFrame in Desktop
2077 protected void runGroovy_actionPerformed()
2083 * Adds the given action listener and key accelerator to the given menu item.
2084 * Also saves in a lookup table to support lookup of action by key stroke.
2088 * @param actionListener
2090 protected void addMenuActionAndAccelerator(KeyStroke keyStroke,
2091 JMenuItem menuItem, ActionListener actionListener)
2093 menuItem.setAccelerator(keyStroke);
2094 accelerators.put(keyStroke, menuItem);
2095 menuItem.addActionListener(actionListener);
2099 * Action on clicking sort annotations by type.
2103 protected void sortAnnotations_actionPerformed()
2108 * Action on clicking Show all annotations.
2110 * @param forSequences
2111 * update sequence-related annotations
2112 * @param forAlignment
2113 * update non-sequence-related annotations
2115 protected void showAllAnnotations_actionPerformed(boolean forSequences,
2116 boolean forAlignment)
2118 setAnnotationsVisibility(true, forSequences, forAlignment);
2122 * Action on clicking Hide all annotations.
2124 * @param forSequences
2125 * update sequence-related annotations
2126 * @param forAlignment
2127 * update non-sequence-related annotations
2129 protected void hideAllAnnotations_actionPerformed(boolean forSequences,
2130 boolean forAlignment)
2132 setAnnotationsVisibility(false, forSequences, forAlignment);
2136 * Set the visibility of annotations to true or false. Can act on
2137 * sequence-related annotations, or alignment-related, or both.
2140 * @param forSequences
2141 * update sequence-related annotations
2142 * @param forAlignment
2143 * update non-sequence-related annotations
2145 protected void setAnnotationsVisibility(boolean visible,
2146 boolean forSequences, boolean forAlignment)
2151 protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
2153 // TODO Auto-generated method stub
2157 protected void listenToViewSelections_actionPerformed(ActionEvent e)
2159 // TODO Auto-generated method stub
2163 protected void showAllhidden_actionPerformed(ActionEvent e)
2165 // TODO Auto-generated method stub
2169 protected void hideAllButSelection_actionPerformed(ActionEvent e)
2171 // TODO Auto-generated method stub
2175 protected void hideAllSelection_actionPerformed(ActionEvent e)
2177 // TODO Auto-generated method stub
2181 protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
2183 // TODO Auto-generated method stub
2187 protected void showConsensusHistogram_actionPerformed(ActionEvent e)
2189 // TODO Auto-generated method stub
2193 protected void showSequenceLogo_actionPerformed(ActionEvent e)
2195 // TODO Auto-generated method stub
2199 protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
2201 // TODO Auto-generated method stub
2205 protected void showGroupConsensus_actionPerformed(ActionEvent e)
2207 // TODO Auto-generated method stub
2211 protected void showGroupConservation_actionPerformed(ActionEvent e)
2213 // TODO Auto-generated method stub
2217 protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
2219 // TODO Auto-generated method stub
2223 protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
2225 // TODO Auto-generated method stub
2229 protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
2231 // TODO Auto-generated method stub
2235 protected void followHighlight_actionPerformed()
2237 // TODO Auto-generated method stub
2241 protected void showNpFeats_actionPerformed(ActionEvent e)
2243 // TODO Auto-generated method stub
2247 protected void showDbRefs_actionPerformed(ActionEvent e)
2249 // TODO Auto-generated method stub
2253 protected void centreColumnLabels_actionPerformed(ActionEvent e)
2257 protected void buildSortByAnnotationScoresMenu()
2261 protected void extractScores_actionPerformed(ActionEvent e)
2265 protected void outputText_actionPerformed(ActionEvent e)
2269 public void addFromFile_actionPerformed(ActionEvent e)
2274 public void addFromText_actionPerformed(ActionEvent e)
2279 public void addFromURL_actionPerformed(ActionEvent e)
2284 public void exportFeatures_actionPerformed(ActionEvent e)
2289 public void exportAnnotations_actionPerformed(ActionEvent e)
2294 protected void htmlMenuItem_actionPerformed(ActionEvent e)
2298 protected void bioJSMenuItem_actionPerformed(ActionEvent e)
2303 protected void closeMenuItem_actionPerformed(boolean b)
2307 protected void redoMenuItem_actionPerformed(ActionEvent e)
2311 protected void undoMenuItem_actionPerformed(ActionEvent e)
2315 protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2319 protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2323 protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
2327 protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
2331 protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
2335 protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
2339 protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
2343 protected void wrapMenuItem_actionPerformed(ActionEvent e)
2347 protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
2351 protected void viewTextMenuItem_actionPerformed(ActionEvent e)
2355 protected void colourTextMenuItem_actionPerformed(ActionEvent e)
2359 protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
2363 protected void overviewMenuItem_actionPerformed(ActionEvent e)
2367 protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
2371 protected void sortIDMenuItem_actionPerformed(ActionEvent e)
2375 protected void sortLengthMenuItem_actionPerformed(ActionEvent e)
2379 protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
2383 protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
2387 protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
2391 protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
2395 protected void conservationMenuItem_actionPerformed(boolean selected)
2399 protected void printMenuItem_actionPerformed(ActionEvent e)
2403 protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2407 protected void findMenuItem_actionPerformed(ActionEvent e)
2411 protected void abovePIDThreshold_actionPerformed(boolean selected)
2415 public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2419 protected void deleteGroups_actionPerformed(ActionEvent e)
2423 protected void createGroup_actionPerformed(ActionEvent e)
2427 protected void unGroup_actionPerformed(ActionEvent e)
2431 protected void copy_actionPerformed(ActionEvent e)
2435 protected void cut_actionPerformed(ActionEvent e)
2439 protected void delete_actionPerformed(ActionEvent e)
2443 protected void pasteNew_actionPerformed(ActionEvent e)
2444 throws IOException, InterruptedException
2448 protected void pasteThis_actionPerformed(ActionEvent e)
2449 throws IOException, InterruptedException
2453 protected void applyToAllGroups_actionPerformed(boolean selected)
2457 protected void autoAlignSeqs_actionPerformed(boolean selected)
2461 protected void hmmAlign_actionPerformed(ActionEvent e)
2462 throws IOException, InterruptedException
2466 protected void changeHMMERLocation_actionPerformed(ActionEvent e)
2470 protected void hmmBuild_actionPerformed(ActionEvent e)
2471 throws IOException, InterruptedException
2475 protected void hmmSearch_actionPerformed(ActionEvent e)
2479 public void createPNG(java.io.File f)
2483 protected void font_actionPerformed(ActionEvent e)
2487 protected void seqLimit_actionPerformed(ActionEvent e)
2491 public void seqDBRef_actionPerformed(ActionEvent e)
2496 public void createEPS(java.io.File f)
2500 public void createSVG(java.io.File f)
2505 protected void loadTreeMenuItem_actionPerformed(ActionEvent e)
2511 * Template method to handle the 'load T-Coffee scores' menu event.
2513 * Subclasses override this method to provide a custom action.
2518 protected void loadScores_actionPerformed(ActionEvent event)
2523 protected void jpred_actionPerformed(ActionEvent e)
2527 protected void scaleAbove_actionPerformed(ActionEvent e)
2531 protected void scaleLeft_actionPerformed(ActionEvent e)
2535 protected void scaleRight_actionPerformed(ActionEvent e)
2539 protected void modifyPID_actionPerformed()
2543 protected void modifyConservation_actionPerformed()
2547 protected void saveAs_actionPerformed(ActionEvent e)
2551 protected void padGapsMenuitem_actionPerformed(ActionEvent e)
2555 public void vamsasStore_actionPerformed(ActionEvent e)
2560 public void vamsasLoad_actionPerformed(ActionEvent e)
2565 public void showTranslation_actionPerformed(ActionEvent e)
2570 public void featureSettings_actionPerformed(ActionEvent e)
2575 public void fetchSequence_actionPerformed(ActionEvent e)
2580 public void smoothFont_actionPerformed(ActionEvent e)
2585 public void annotationColour_actionPerformed()
2589 public void annotationColumn_actionPerformed(ActionEvent e)
2593 public void associatedData_actionPerformed(ActionEvent e)
2594 throws IOException, InterruptedException
2599 public void autoCalculate_actionPerformed(ActionEvent e)
2604 public void sortByTreeOption_actionPerformed(ActionEvent e)
2609 public void showAllSeqs_actionPerformed(ActionEvent e)
2614 public void showAllColumns_actionPerformed(ActionEvent e)
2619 public void hideSelSequences_actionPerformed(ActionEvent e)
2624 public void hideSelColumns_actionPerformed(ActionEvent e)
2629 public void hiddenMarkers_actionPerformed(ActionEvent e)
2634 public void findPdbId_actionPerformed(ActionEvent e)
2639 public void enterPdbId_actionPerformed(ActionEvent e)
2644 public void pdbFile_actionPerformed(ActionEvent e)
2649 public void invertColSel_actionPerformed(ActionEvent e)
2654 public void tabSelectionChanged(int sel)
2659 public void tabbedPane_mousePressed(MouseEvent e)
2664 public void tabbedPane_focusGained(FocusEvent e)
2669 public void save_actionPerformed(ActionEvent e)
2674 public void reload_actionPerformed(ActionEvent e)
2679 public void newView_actionPerformed(ActionEvent e)
2684 public void textColour_actionPerformed()
2689 public void idRightAlign_actionPerformed(ActionEvent e)
2694 public void expandViews_actionPerformed(ActionEvent e)
2699 public void gatherViews_actionPerformed(ActionEvent e)
2704 public void buildTreeSortMenu()
2709 public void pageSetup_actionPerformed(ActionEvent e)
2714 public void alignmentProperties()
2719 protected void expand_newalign(ActionEvent e)
2721 // TODO Auto-generated method stub
2725 protected boolean isShowAutoCalculatedAbove()
2727 return showAutoCalculatedAbove;
2730 protected void setShowAutoCalculatedAbove(boolean showAutoCalculatedAbove)
2732 this.showAutoCalculatedAbove = showAutoCalculatedAbove;
2735 protected SequenceAnnotationOrder getAnnotationSortOrder()
2737 return annotationSortOrder;
2740 protected void setAnnotationSortOrder(
2741 SequenceAnnotationOrder annotationSortOrder)
2743 this.annotationSortOrder = annotationSortOrder;
2746 public Map<KeyStroke, JMenuItem> getAccelerators()
2748 return this.accelerators;
2752 * Returns the selected index of the tabbed pane, or -1 if none selected
2753 * (including the case where the tabbed pane has not been made visible).
2757 public int getTabIndex()
2759 return tabbedPane.getSelectedIndex();
2762 public JPanel getStatusPanel()
2768 * Sets a reference to the containing split frame. Also makes the 'toggle
2769 * split view' menu item visible and checked.
2773 public void setSplitFrame(SplitContainerI sf)
2775 this.splitFrame = sf;
2778 this.showComplementMenuItem.setVisible(true);
2779 this.showComplementMenuItem.setState(true);
2783 public SplitContainerI getSplitViewContainer()
2785 return this.splitFrame;
2788 protected void showComplement_actionPerformed(boolean complement)
2792 protected void showInformationHistogram_actionPerformed(ActionEvent e)
2794 // TODO Auto-generated method stub
2798 protected void showHMMSequenceLogo_actionPerformed(ActionEvent e)
2800 // TODO Auto-generated method stub
2804 protected void normaliseHMMSequenceLogo_actionPerformed(ActionEvent e)
2806 // TODO Auto-generated method stub