2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
21 package jalview.jbgui;
23 import java.awt.BorderLayout;
24 import java.awt.Color;
25 import java.awt.GridLayout;
26 import java.awt.event.ActionEvent;
27 import java.awt.event.ActionListener;
28 import java.awt.event.FocusAdapter;
29 import java.awt.event.FocusEvent;
30 import java.awt.event.KeyEvent;
31 import java.awt.event.MouseAdapter;
32 import java.awt.event.MouseEvent;
33 import java.util.HashMap;
36 import javax.swing.BorderFactory;
37 import javax.swing.ButtonGroup;
38 import javax.swing.JCheckBoxMenuItem;
39 import javax.swing.JInternalFrame;
40 import javax.swing.JLabel;
41 import javax.swing.JMenu;
42 import javax.swing.JMenuBar;
43 import javax.swing.JMenuItem;
44 import javax.swing.JPanel;
45 import javax.swing.JRadioButtonMenuItem;
46 import javax.swing.JTabbedPane;
47 import javax.swing.KeyStroke;
48 import javax.swing.event.ChangeEvent;
49 import javax.swing.event.MenuEvent;
50 import javax.swing.event.MenuListener;
52 import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
53 import jalview.analysis.GeneticCodeI;
54 import jalview.analysis.GeneticCodes;
55 import jalview.api.SplitContainerI;
56 import jalview.bin.Cache;
57 import jalview.gui.JvSwingUtils;
58 import jalview.gui.Preferences;
59 import jalview.io.FileFormats;
60 import jalview.schemes.ResidueColourScheme;
61 import jalview.util.MessageManager;
62 import jalview.util.Platform;
64 @SuppressWarnings("serial")
65 public class GAlignFrame extends JInternalFrame
67 protected JMenuBar alignFrameMenuBar = new JMenuBar();
69 protected JMenuItem closeMenuItem = new JMenuItem();
71 public JMenu webService = new JMenu();// BH 2019 was protected, but not
72 // sufficient for AlignFrame thread run
74 public JMenuItem webServiceNoServices;// BH 2019 was protected, but not
75 // sufficient for AlignFrame thread run
77 protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
79 protected JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
81 protected JMenu sortByAnnotScore = new JMenu();
83 public JLabel statusBar = new JLabel(); // BH 2019 was protected, but not
85 // AlignFrame.printWriter
87 protected JMenu outputTextboxMenu = new JMenu();
89 protected JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
91 protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
93 protected JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem();
95 protected JMenuItem undoMenuItem = new JMenuItem();
97 protected JMenuItem redoMenuItem = new JMenuItem();
99 protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
101 protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
103 public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
105 JMenuItem copy = new JMenuItem();
107 JMenuItem cut = new JMenuItem();
109 JMenu pasteMenu = new JMenu();
111 protected JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
113 protected JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
115 protected JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
117 protected JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
119 protected JCheckBoxMenuItem applyToAllGroups;
121 protected JMenu colourMenu = new JMenu();
123 protected JMenuItem textColour;
125 protected JCheckBoxMenuItem conservationMenuItem;
127 protected JMenuItem modifyConservation;
129 protected JCheckBoxMenuItem abovePIDThreshold;
131 protected JMenuItem modifyPID;
133 protected JRadioButtonMenuItem annotationColour;
135 protected JMenu sortByTreeMenu = new JMenu();
137 protected JMenu sort = new JMenu();
139 protected JMenuItem calculateTree = new JMenuItem();
141 protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
143 protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
145 protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
147 protected JMenu showTranslation = new JMenu();
149 protected JMenuItem showReverse = new JMenuItem();
151 protected JMenuItem showReverseComplement = new JMenuItem();
153 protected JMenu showProducts = new JMenu();
155 protected JMenuItem runGroovy = new JMenuItem();
157 protected JMenuItem loadVcf;
159 protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
161 protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
163 protected JCheckBoxMenuItem listenToViewSelections = new JCheckBoxMenuItem();
165 protected JPanel statusPanel = new JPanel();
167 protected JMenuItem showAllSeqAnnotations = new JMenuItem();
169 protected JMenuItem hideAllSeqAnnotations = new JMenuItem();
171 protected JMenuItem showAllAlAnnotations = new JMenuItem();
173 protected JMenuItem hideAllAlAnnotations = new JMenuItem();
175 protected JCheckBoxMenuItem showComplementMenuItem = new JCheckBoxMenuItem();
177 protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
179 protected JTabbedPane tabbedPane = new JTabbedPane();
181 protected JMenuItem reload = new JMenuItem();
183 protected JMenu formatMenu = new JMenu();
185 protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
187 protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem();
189 protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem();
191 protected JMenuItem gatherViews = new JMenuItem();
193 protected JMenuItem expandViews = new JMenuItem();
195 protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem();
197 protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem();
199 protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem();
201 protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem();
203 protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
205 protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
207 protected JMenuItem openFeatureSettings;
209 private SequenceAnnotationOrder annotationSortOrder;
211 private boolean showAutoCalculatedAbove = false;
213 private Map<KeyStroke, JMenuItem> accelerators = new HashMap<>();
215 private SplitContainerI splitFrame;
222 // for Web-page embedding using id=align-frame-div
223 setName("jalview-alignment");
226 setJMenuBar(alignFrameMenuBar);
228 // dynamically fill save as menu with available formats
229 for (String ff : FileFormats.getInstance().getWritableFormats(true))
231 JMenuItem item = new JMenuItem(ff);
233 item.addActionListener(new ActionListener()
236 public void actionPerformed(ActionEvent e)
238 outputText_actionPerformed(e.getActionCommand());
242 outputTextboxMenu.add(item);
244 } catch (Exception e)
246 System.err.println(e.toString());
249 if (Platform.allowMnemonics()) // was "not mac and not JS"
251 closeMenuItem.setMnemonic('C');
252 outputTextboxMenu.setMnemonic('T');
253 undoMenuItem.setMnemonic('Z');
254 redoMenuItem.setMnemonic('0');
255 copy.setMnemonic('C');
256 cut.setMnemonic('U');
257 pasteMenu.setMnemonic('P');
258 reload.setMnemonic('R');
262 private void jbInit() throws Exception
266 JMenuItem saveAs = new JMenuItem(
267 MessageManager.getString("action.save_as"));
268 ActionListener al = new ActionListener()
271 public void actionPerformed(ActionEvent e)
273 saveAs_actionPerformed();
277 // FIXME getDefaultToolkit throws an exception in Headless mode
278 KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
279 jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
280 | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
282 addMenuActionAndAccelerator(keyStroke, saveAs, al);
284 closeMenuItem.setText(MessageManager.getString("action.close"));
285 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W,
286 jalview.util.ShortcutKeyMaskExWrapper
287 .getMenuShortcutKeyMaskEx(),
289 al = new ActionListener()
292 public void actionPerformed(ActionEvent e)
294 closeMenuItem_actionPerformed(false);
297 addMenuActionAndAccelerator(keyStroke, closeMenuItem, al);
299 JMenu editMenu = new JMenu(MessageManager.getString("action.edit"));
300 JMenu viewMenu = new JMenu(MessageManager.getString("action.view"));
301 JMenu annotationsMenu = new JMenu(
302 MessageManager.getString("action.annotations"));
303 JMenu showMenu = new JMenu(MessageManager.getString("action.show"));
304 colourMenu.setText(MessageManager.getString("action.colour"));
305 JMenu calculateMenu = new JMenu(
306 MessageManager.getString("action.calculate"));
307 webService.setText(MessageManager.getString("action.web_service"));
308 JMenuItem selectAllSequenceMenuItem = new JMenuItem(
309 MessageManager.getString("action.select_all"));
310 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A,
311 jalview.util.ShortcutKeyMaskExWrapper
312 .getMenuShortcutKeyMaskEx(),
314 al = new ActionListener()
317 public void actionPerformed(ActionEvent e)
319 selectAllSequenceMenuItem_actionPerformed(e);
322 addMenuActionAndAccelerator(keyStroke, selectAllSequenceMenuItem, al);
324 JMenuItem deselectAllSequenceMenuItem = new JMenuItem(
325 MessageManager.getString("action.deselect_all"));
326 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
327 al = new ActionListener()
330 public void actionPerformed(ActionEvent e)
332 deselectAllSequenceMenuItem_actionPerformed(e);
335 addMenuActionAndAccelerator(keyStroke, deselectAllSequenceMenuItem, al);
337 JMenuItem invertSequenceMenuItem = new JMenuItem(
338 MessageManager.getString("action.invert_sequence_selection"));
339 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
340 jalview.util.ShortcutKeyMaskExWrapper
341 .getMenuShortcutKeyMaskEx(),
343 al = new ActionListener()
346 public void actionPerformed(ActionEvent e)
348 invertSequenceMenuItem_actionPerformed(e);
351 addMenuActionAndAccelerator(keyStroke, invertSequenceMenuItem, al);
353 JMenuItem grpsFromSelection = new JMenuItem(
354 MessageManager.getString("action.make_groups_selection"));
355 grpsFromSelection.addActionListener(new ActionListener()
358 public void actionPerformed(ActionEvent e)
360 makeGrpsFromSelection_actionPerformed(e);
363 JMenuItem expandAlignment = new JMenuItem(
364 MessageManager.getString("action.view_flanking_regions"));
365 expandAlignment.setToolTipText(
366 MessageManager.getString("label.view_flanking_regions"));
367 expandAlignment.addActionListener(new ActionListener()
370 public void actionPerformed(ActionEvent e)
375 JMenuItem remove2LeftMenuItem = new JMenuItem(
376 MessageManager.getString("action.remove_left"));
377 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L,
378 jalview.util.ShortcutKeyMaskExWrapper
379 .getMenuShortcutKeyMaskEx(),
381 al = new ActionListener()
384 public void actionPerformed(ActionEvent e)
386 remove2LeftMenuItem_actionPerformed(e);
389 addMenuActionAndAccelerator(keyStroke, remove2LeftMenuItem, al);
391 JMenuItem remove2RightMenuItem = new JMenuItem(
392 MessageManager.getString("action.remove_right"));
393 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R,
394 jalview.util.ShortcutKeyMaskExWrapper
395 .getMenuShortcutKeyMaskEx(),
397 al = new ActionListener()
400 public void actionPerformed(ActionEvent e)
402 remove2RightMenuItem_actionPerformed(e);
405 addMenuActionAndAccelerator(keyStroke, remove2RightMenuItem, al);
407 JMenuItem removeGappedColumnMenuItem = new JMenuItem(
408 MessageManager.getString("action.remove_empty_columns"));
409 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
410 jalview.util.ShortcutKeyMaskExWrapper
411 .getMenuShortcutKeyMaskEx(),
413 al = new ActionListener()
416 public void actionPerformed(ActionEvent e)
418 removeGappedColumnMenuItem_actionPerformed(e);
421 addMenuActionAndAccelerator(keyStroke, removeGappedColumnMenuItem, al);
423 JMenuItem removeAllGapsMenuItem = new JMenuItem(
424 MessageManager.getString("action.remove_all_gaps"));
425 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
426 jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
427 | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
429 al = new ActionListener()
432 public void actionPerformed(ActionEvent e)
434 removeAllGapsMenuItem_actionPerformed(e);
437 addMenuActionAndAccelerator(keyStroke, removeAllGapsMenuItem, al);
439 JMenuItem justifyLeftMenuItem = new JMenuItem(
440 MessageManager.getString("action.left_justify"));
441 justifyLeftMenuItem.setToolTipText(
442 MessageManager.getString("tooltip.left_justify"));
443 justifyLeftMenuItem.addActionListener(new ActionListener()
446 public void actionPerformed(ActionEvent e)
448 justifyLeftMenuItem_actionPerformed(e);
451 JMenuItem justifyRightMenuItem = new JMenuItem(
452 MessageManager.getString("action.right_justify"));
453 justifyRightMenuItem.setToolTipText(
454 MessageManager.getString("action.left_justify"));
456 justifyRightMenuItem.addActionListener(new ActionListener()
459 public void actionPerformed(ActionEvent e)
461 justifyRightMenuItem_actionPerformed(e);
464 viewBoxesMenuItem.setText(MessageManager.getString("action.boxes"));
465 viewBoxesMenuItem.setState(true);
466 viewBoxesMenuItem.addActionListener(new ActionListener()
469 public void actionPerformed(ActionEvent e)
471 viewBoxesMenuItem_actionPerformed(e);
474 viewTextMenuItem.setText(MessageManager.getString("action.text"));
475 viewTextMenuItem.setState(true);
476 viewTextMenuItem.addActionListener(new ActionListener()
479 public void actionPerformed(ActionEvent e)
481 viewTextMenuItem_actionPerformed(e);
484 showNonconservedMenuItem
485 .setText(MessageManager.getString("label.show_non_conserved"));
486 showNonconservedMenuItem.setState(false);
487 showNonconservedMenuItem.addActionListener(new ActionListener()
490 public void actionPerformed(ActionEvent e)
492 showUnconservedMenuItem_actionPerformed(e);
495 JMenuItem sortPairwiseMenuItem = new JMenuItem(
496 MessageManager.getString("action.by_pairwise_id"));
497 sortPairwiseMenuItem.addActionListener(new ActionListener()
500 public void actionPerformed(ActionEvent e)
502 sortPairwiseMenuItem_actionPerformed(e);
505 JMenuItem sortIDMenuItem = new JMenuItem(
506 MessageManager.getString("action.by_id"));
507 sortIDMenuItem.addActionListener(new ActionListener()
510 public void actionPerformed(ActionEvent e)
512 sortIDMenuItem_actionPerformed(e);
515 JMenuItem sortLengthMenuItem = new JMenuItem(
516 MessageManager.getString("action.by_length"));
517 sortLengthMenuItem.addActionListener(new ActionListener()
520 public void actionPerformed(ActionEvent e)
522 sortLengthMenuItem_actionPerformed(e);
525 JMenuItem sortGroupMenuItem = new JMenuItem(
526 MessageManager.getString("action.by_group"));
527 sortGroupMenuItem.addActionListener(new ActionListener()
530 public void actionPerformed(ActionEvent e)
532 sortGroupMenuItem_actionPerformed(e);
536 JMenuItem removeRedundancyMenuItem = new JMenuItem(
537 MessageManager.getString("action.remove_redundancy"));
538 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D,
539 jalview.util.ShortcutKeyMaskExWrapper
540 .getMenuShortcutKeyMaskEx(),
542 al = new ActionListener()
545 public void actionPerformed(ActionEvent e)
547 removeRedundancyMenuItem_actionPerformed(e);
550 addMenuActionAndAccelerator(keyStroke, removeRedundancyMenuItem, al);
552 JMenuItem pairwiseAlignmentMenuItem = new JMenuItem(
553 MessageManager.getString("action.pairwise_alignment"));
554 pairwiseAlignmentMenuItem.addActionListener(new ActionListener()
557 public void actionPerformed(ActionEvent e)
559 pairwiseAlignmentMenuItem_actionPerformed(e);
563 this.getContentPane().setLayout(new BorderLayout());
564 alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
565 statusBar.setBackground(Color.white);
566 statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
567 statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
568 statusBar.setText(MessageManager.getString("label.status_bar"));
570 .setText(MessageManager.getString("label.out_to_textbox"));
572 annotationPanelMenuItem.setActionCommand("");
573 annotationPanelMenuItem
574 .setText(MessageManager.getString("label.show_annotations"));
575 annotationPanelMenuItem
576 .setState(Cache.getDefault("SHOW_ANNOTATIONS", true));
577 annotationPanelMenuItem.addActionListener(new ActionListener()
580 public void actionPerformed(ActionEvent e)
582 annotationPanelMenuItem_actionPerformed(e);
585 showAllAlAnnotations.setText(
586 MessageManager.getString("label.show_all_al_annotations"));
587 final boolean isAnnotationPanelShown = annotationPanelMenuItem
589 showAllAlAnnotations.setEnabled(isAnnotationPanelShown);
590 showAllAlAnnotations.addActionListener(new ActionListener()
593 public void actionPerformed(ActionEvent e)
595 showAllAnnotations_actionPerformed(false, true);
598 hideAllAlAnnotations.setText(
599 MessageManager.getString("label.hide_all_al_annotations"));
600 hideAllAlAnnotations.setEnabled(isAnnotationPanelShown);
601 hideAllAlAnnotations.addActionListener(new ActionListener()
604 public void actionPerformed(ActionEvent e)
606 hideAllAnnotations_actionPerformed(false, true);
609 showAllSeqAnnotations.setText(
610 MessageManager.getString("label.show_all_seq_annotations"));
611 showAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
612 showAllSeqAnnotations.addActionListener(new ActionListener()
615 public void actionPerformed(ActionEvent e)
617 showAllAnnotations_actionPerformed(true, false);
620 hideAllSeqAnnotations.setText(
621 MessageManager.getString("label.hide_all_seq_annotations"));
622 hideAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
623 hideAllSeqAnnotations.addActionListener(new ActionListener()
626 public void actionPerformed(ActionEvent e)
628 hideAllAnnotations_actionPerformed(true, false);
631 SequenceAnnotationOrder sortAnnotationsBy = SequenceAnnotationOrder
632 .valueOf(Cache.getDefault(Preferences.SORT_ANNOTATIONS,
633 SequenceAnnotationOrder.NONE.name()));
634 final JCheckBoxMenuItem sortAnnBySequence = new JCheckBoxMenuItem(
635 MessageManager.getString("label.sort_annotations_by_sequence"));
636 final JCheckBoxMenuItem sortAnnByLabel = new JCheckBoxMenuItem(
637 MessageManager.getString("label.sort_annotations_by_label"));
639 sortAnnBySequence.setSelected(
640 sortAnnotationsBy == SequenceAnnotationOrder.SEQUENCE_AND_LABEL);
641 sortAnnBySequence.addActionListener(new ActionListener()
644 public void actionPerformed(ActionEvent e)
646 boolean newState = sortAnnBySequence.getState();
647 sortAnnByLabel.setSelected(false);
648 setAnnotationSortOrder(
649 newState ? SequenceAnnotationOrder.SEQUENCE_AND_LABEL
650 : SequenceAnnotationOrder.NONE);
651 sortAnnotations_actionPerformed();
654 sortAnnByLabel.setSelected(
655 sortAnnotationsBy == SequenceAnnotationOrder.LABEL_AND_SEQUENCE);
656 sortAnnByLabel.addActionListener(new ActionListener()
659 public void actionPerformed(ActionEvent e)
661 boolean newState = sortAnnByLabel.getState();
662 sortAnnBySequence.setSelected(false);
663 setAnnotationSortOrder(
664 newState ? SequenceAnnotationOrder.LABEL_AND_SEQUENCE
665 : SequenceAnnotationOrder.NONE);
666 sortAnnotations_actionPerformed();
669 colourTextMenuItem = new JCheckBoxMenuItem(
670 MessageManager.getString("label.colour_text"));
671 colourTextMenuItem.addActionListener(new ActionListener()
674 public void actionPerformed(ActionEvent e)
676 colourTextMenuItem_actionPerformed(e);
680 JMenuItem htmlMenuItem = new JMenuItem(
681 MessageManager.getString("label.html"));
682 htmlMenuItem.addActionListener(new ActionListener()
685 public void actionPerformed(ActionEvent e)
687 htmlMenuItem_actionPerformed(e);
691 JMenuItem createBioJS = new JMenuItem(
692 MessageManager.getString("label.biojs_html_export"));
693 createBioJS.addActionListener(new java.awt.event.ActionListener()
696 public void actionPerformed(ActionEvent e)
698 bioJSMenuItem_actionPerformed(e);
702 JMenuItem overviewMenuItem = new JMenuItem(
703 MessageManager.getString("label.overview_window"));
704 overviewMenuItem.addActionListener(new ActionListener()
707 public void actionPerformed(ActionEvent e)
709 overviewMenuItem_actionPerformed(e);
713 undoMenuItem.setEnabled(false);
714 undoMenuItem.setText(MessageManager.getString("action.undo"));
715 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z,
716 jalview.util.ShortcutKeyMaskExWrapper
717 .getMenuShortcutKeyMaskEx(),
719 al = new ActionListener()
722 public void actionPerformed(ActionEvent e)
724 undoMenuItem_actionPerformed(e);
727 addMenuActionAndAccelerator(keyStroke, undoMenuItem, al);
729 redoMenuItem.setEnabled(false);
730 redoMenuItem.setText(MessageManager.getString("action.redo"));
731 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y,
732 jalview.util.ShortcutKeyMaskExWrapper
733 .getMenuShortcutKeyMaskEx(),
735 al = new ActionListener()
738 public void actionPerformed(ActionEvent e)
740 redoMenuItem_actionPerformed(e);
743 addMenuActionAndAccelerator(keyStroke, redoMenuItem, al);
745 wrapMenuItem.setText(MessageManager.getString("label.wrap"));
746 wrapMenuItem.addActionListener(new ActionListener()
749 public void actionPerformed(ActionEvent e)
751 wrapMenuItem_actionPerformed(e);
755 JMenuItem printMenuItem = new JMenuItem(
756 MessageManager.getString("action.print"));
757 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P,
758 jalview.util.ShortcutKeyMaskExWrapper
759 .getMenuShortcutKeyMaskEx(),
761 al = new ActionListener()
764 public void actionPerformed(ActionEvent e)
766 printMenuItem_actionPerformed(e);
769 addMenuActionAndAccelerator(keyStroke, printMenuItem, al);
772 .setText(MessageManager.getString("action.show_gaps"));
773 renderGapsMenuItem.setState(true);
774 renderGapsMenuItem.addActionListener(new ActionListener()
777 public void actionPerformed(ActionEvent e)
779 renderGapsMenuItem_actionPerformed(e);
783 JMenuItem findMenuItem = new JMenuItem(
784 MessageManager.getString("action.find"));
785 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F,
786 jalview.util.ShortcutKeyMaskExWrapper
787 .getMenuShortcutKeyMaskEx(),
789 findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true,
790 MessageManager.getString("label.find_tip")));
791 al = new ActionListener()
794 public void actionPerformed(ActionEvent e)
796 findMenuItem_actionPerformed(e);
799 addMenuActionAndAccelerator(keyStroke, findMenuItem, al);
801 showSeqFeatures.setText(
802 MessageManager.getString("label.show_sequence_features"));
803 showSeqFeatures.addActionListener(new ActionListener()
806 public void actionPerformed(ActionEvent actionEvent)
808 showSeqFeatures_actionPerformed(actionEvent);
812 * showSeqFeaturesHeight.setText("Vary Sequence Feature Height");
813 * showSeqFeaturesHeight.addActionListener(new ActionListener() { public
814 * void actionPerformed(ActionEvent actionEvent) {
815 * showSeqFeaturesHeight_actionPerformed(actionEvent); } });
818 .setText(MessageManager.getString("label.show_database_refs"));
819 showDbRefsMenuitem.addActionListener(new ActionListener()
823 public void actionPerformed(ActionEvent e)
825 showDbRefs_actionPerformed(e);
829 showNpFeatsMenuitem.setText(
830 MessageManager.getString("label.show_non_positional_features"));
831 showNpFeatsMenuitem.addActionListener(new ActionListener()
835 public void actionPerformed(ActionEvent e)
837 showNpFeats_actionPerformed(e);
841 showGroupConservation
842 .setText(MessageManager.getString("label.group_conservation"));
843 showGroupConservation.addActionListener(new ActionListener()
847 public void actionPerformed(ActionEvent e)
849 showGroupConservation_actionPerformed(e);
855 .setText(MessageManager.getString("label.group_consensus"));
856 showGroupConsensus.addActionListener(new ActionListener()
860 public void actionPerformed(ActionEvent e)
862 showGroupConsensus_actionPerformed(e);
866 showConsensusHistogram.setText(
867 MessageManager.getString("label.show_consensus_histogram"));
868 showConsensusHistogram.addActionListener(new ActionListener()
872 public void actionPerformed(ActionEvent e)
874 showConsensusHistogram_actionPerformed(e);
879 .setText(MessageManager.getString("label.show_consensus_logo"));
880 showSequenceLogo.addActionListener(new ActionListener()
884 public void actionPerformed(ActionEvent e)
886 showSequenceLogo_actionPerformed(e);
890 normaliseSequenceLogo
891 .setText(MessageManager.getString("label.norm_consensus_logo"));
892 normaliseSequenceLogo.addActionListener(new ActionListener()
896 public void actionPerformed(ActionEvent e)
898 normaliseSequenceLogo_actionPerformed(e);
902 applyAutoAnnotationSettings
903 .setText(MessageManager.getString("label.apply_all_groups"));
904 applyAutoAnnotationSettings.setState(false);
905 applyAutoAnnotationSettings.setVisible(true);
906 applyAutoAnnotationSettings.addActionListener(new ActionListener()
909 public void actionPerformed(ActionEvent e)
911 applyAutoAnnotationSettings_actionPerformed(e);
915 ButtonGroup buttonGroup = new ButtonGroup();
916 final JRadioButtonMenuItem showAutoFirst = new JRadioButtonMenuItem(
917 MessageManager.getString("label.show_first"));
918 final JRadioButtonMenuItem showAutoLast = new JRadioButtonMenuItem(
919 MessageManager.getString("label.show_last"));
920 buttonGroup.add(showAutoFirst);
921 buttonGroup.add(showAutoLast);
922 final boolean autoFirst = Cache
923 .getDefault(Preferences.SHOW_AUTOCALC_ABOVE, false);
924 showAutoFirst.setSelected(autoFirst);
925 setShowAutoCalculatedAbove(autoFirst);
926 showAutoFirst.addActionListener(new ActionListener()
929 public void actionPerformed(ActionEvent e)
931 setShowAutoCalculatedAbove(showAutoFirst.isSelected());
932 sortAnnotations_actionPerformed();
935 showAutoLast.setSelected(!showAutoFirst.isSelected());
936 showAutoLast.addActionListener(new ActionListener()
939 public void actionPerformed(ActionEvent e)
941 setShowAutoCalculatedAbove(!showAutoLast.isSelected());
942 sortAnnotations_actionPerformed();
946 JMenuItem deleteGroups = new JMenuItem(
947 MessageManager.getString("action.undefine_groups"));
948 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U,
949 jalview.util.ShortcutKeyMaskExWrapper
950 .getMenuShortcutKeyMaskEx(),
952 al = new ActionListener()
955 public void actionPerformed(ActionEvent e)
957 deleteGroups_actionPerformed(e);
960 addMenuActionAndAccelerator(keyStroke, deleteGroups, al);
962 JMenuItem annotationColumn = new JMenuItem(
963 MessageManager.getString("action.select_by_annotation"));
964 annotationColumn.addActionListener(new ActionListener()
967 public void actionPerformed(ActionEvent e)
969 annotationColumn_actionPerformed(e);
973 JMenuItem createGroup = new JMenuItem(
974 MessageManager.getString("action.create_group"));
975 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
976 jalview.util.ShortcutKeyMaskExWrapper
977 .getMenuShortcutKeyMaskEx(),
979 al = new ActionListener()
982 public void actionPerformed(ActionEvent e)
984 createGroup_actionPerformed(e);
987 addMenuActionAndAccelerator(keyStroke, createGroup, al);
989 JMenuItem unGroup = new JMenuItem(
990 MessageManager.getString("action.remove_group"));
991 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
992 jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
993 | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
995 al = new ActionListener()
998 public void actionPerformed(ActionEvent e)
1000 unGroup_actionPerformed(e);
1003 addMenuActionAndAccelerator(keyStroke, unGroup, al);
1005 copy.setText(MessageManager.getString("action.copy"));
1006 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C,
1007 jalview.util.ShortcutKeyMaskExWrapper
1008 .getMenuShortcutKeyMaskEx(),
1011 al = new ActionListener()
1014 public void actionPerformed(ActionEvent e)
1016 copy_actionPerformed();
1019 addMenuActionAndAccelerator(keyStroke, copy, al);
1021 cut.setText(MessageManager.getString("action.cut"));
1022 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X,
1023 jalview.util.ShortcutKeyMaskExWrapper
1024 .getMenuShortcutKeyMaskEx(),
1026 al = new ActionListener()
1029 public void actionPerformed(ActionEvent e)
1031 cut_actionPerformed();
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();
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 jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
1052 | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK,
1054 al = new ActionListener()
1057 public void actionPerformed(ActionEvent e)
1059 pasteNew_actionPerformed(e);
1062 addMenuActionAndAccelerator(keyStroke, pasteNew, al);
1064 JMenuItem pasteThis = new JMenuItem(
1065 MessageManager.getString("label.to_this_alignment"));
1066 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V,
1067 jalview.util.ShortcutKeyMaskExWrapper
1068 .getMenuShortcutKeyMaskEx(),
1070 al = new ActionListener()
1073 public void actionPerformed(ActionEvent e)
1075 pasteThis_actionPerformed(e);
1078 addMenuActionAndAccelerator(keyStroke, pasteThis, al);
1080 JMenuItem createPNG = new JMenuItem("PNG");
1081 createPNG.addActionListener(new ActionListener()
1084 public void actionPerformed(ActionEvent e)
1089 createPNG.setActionCommand(
1090 MessageManager.getString("label.save_png_image"));
1092 JMenuItem font = new JMenuItem(MessageManager.getString("action.font"));
1093 font.addActionListener(new ActionListener()
1096 public void actionPerformed(ActionEvent e)
1098 font_actionPerformed(e);
1102 MessageManager.getString("label.show_sequence_limits"));
1103 seqLimits.setState(Cache.getDefault("SHOW_JVSUFFIX", true));
1104 seqLimits.addActionListener(new ActionListener()
1107 public void actionPerformed(ActionEvent e)
1109 seqLimit_actionPerformed(e);
1112 JMenuItem epsFile = new JMenuItem("EPS");
1113 epsFile.addActionListener(new ActionListener()
1116 public void actionPerformed(ActionEvent e)
1122 JMenuItem createSVG = new JMenuItem("SVG");
1123 createSVG.addActionListener(new ActionListener()
1126 public void actionPerformed(ActionEvent e)
1132 JMenuItem loadTreeMenuItem = new JMenuItem(
1133 MessageManager.getString("label.load_associated_tree"));
1134 loadTreeMenuItem.setActionCommand(
1135 MessageManager.getString("label.load_tree_for_sequence_set"));
1136 loadTreeMenuItem.addActionListener(new ActionListener()
1139 public void actionPerformed(ActionEvent e)
1141 loadTreeMenuItem_actionPerformed(e);
1145 scaleAbove.setVisible(false);
1146 scaleAbove.setText(MessageManager.getString("action.scale_above"));
1147 scaleAbove.addActionListener(new ActionListener()
1150 public void actionPerformed(ActionEvent e)
1152 scaleAbove_actionPerformed(e);
1155 scaleLeft.setVisible(false);
1156 scaleLeft.setSelected(true);
1157 scaleLeft.setText(MessageManager.getString("action.scale_left"));
1158 scaleLeft.addActionListener(new ActionListener()
1161 public void actionPerformed(ActionEvent e)
1163 scaleLeft_actionPerformed(e);
1166 scaleRight.setVisible(false);
1167 scaleRight.setSelected(true);
1168 scaleRight.setText(MessageManager.getString("action.scale_right"));
1169 scaleRight.addActionListener(new ActionListener()
1172 public void actionPerformed(ActionEvent e)
1174 scaleRight_actionPerformed(e);
1177 centreColumnLabelsMenuItem.setVisible(true);
1178 centreColumnLabelsMenuItem.setState(false);
1179 centreColumnLabelsMenuItem.setText(
1180 MessageManager.getString("label.centre_column_labels"));
1181 centreColumnLabelsMenuItem.addActionListener(new ActionListener()
1184 public void actionPerformed(ActionEvent e)
1186 centreColumnLabels_actionPerformed(e);
1189 followHighlightMenuItem.setVisible(true);
1190 followHighlightMenuItem.setState(true);
1191 followHighlightMenuItem
1192 .setText(MessageManager.getString("label.automatic_scrolling"));
1193 followHighlightMenuItem.addActionListener(new ActionListener()
1197 public void actionPerformed(ActionEvent e)
1199 followHighlight_actionPerformed();
1205 .setText(MessageManager.getString("action.by_tree_order"));
1206 sort.setText(MessageManager.getString("action.sort"));
1207 sort.addMenuListener(new MenuListener()
1210 public void menuSelected(MenuEvent e)
1212 buildTreeSortMenu();
1216 public void menuDeselected(MenuEvent e)
1221 public void menuCanceled(MenuEvent e)
1226 .setText(MessageManager.getString("label.sort_by_score"));
1227 sort.add(sortByAnnotScore);
1228 sort.addMenuListener(new javax.swing.event.MenuListener()
1232 public void menuCanceled(MenuEvent e)
1237 public void menuDeselected(MenuEvent e)
1242 public void menuSelected(MenuEvent e)
1244 buildSortByAnnotationScoresMenu();
1247 sortByAnnotScore.setVisible(false);
1250 .setText(MessageManager.getString("action.calculate_tree_pca"));
1252 padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps"));
1253 padGapsMenuitem.setState(Cache.getDefault("PAD_GAPS", false));
1254 padGapsMenuitem.addActionListener(new ActionListener()
1257 public void actionPerformed(ActionEvent e)
1259 padGapsMenuitem_actionPerformed(e);
1262 JMenuItem vamsasStore = new JMenuItem(
1263 MessageManager.getString("label.vamsas_store"));
1264 vamsasStore.setVisible(false);
1265 vamsasStore.addActionListener(new ActionListener()
1268 public void actionPerformed(ActionEvent e)
1270 vamsasStore_actionPerformed(e);
1275 * Translate as cDNA with sub-menu of translation tables
1278 .setText(MessageManager.getString("label.translate_cDNA"));
1279 boolean first = true;
1280 for (final GeneticCodeI table : GeneticCodes.getInstance()
1283 JMenuItem item = new JMenuItem(table.getId() + " " + table.getName());
1284 showTranslation.add(item);
1285 item.addActionListener(new ActionListener()
1288 public void actionPerformed(ActionEvent e)
1290 showTranslation_actionPerformed(table);
1295 showTranslation.addSeparator();
1300 showReverse.setText(MessageManager.getString("label.reverse"));
1301 showReverse.addActionListener(new ActionListener()
1304 public void actionPerformed(ActionEvent e)
1306 showReverse_actionPerformed(false);
1309 showReverseComplement
1310 .setText(MessageManager.getString("label.reverse_complement"));
1311 showReverseComplement.addActionListener(new ActionListener()
1314 public void actionPerformed(ActionEvent e)
1316 showReverse_actionPerformed(true);
1320 JMenuItem extractScores = new JMenuItem(
1321 MessageManager.getString("label.extract_scores"));
1322 extractScores.addActionListener(new ActionListener()
1325 public void actionPerformed(ActionEvent e)
1327 extractScores_actionPerformed(e);
1330 extractScores.setVisible(true);
1331 // JBPNote: TODO: make gui for regex based score extraction
1333 // for show products actions see AlignFrame.canShowProducts
1334 showProducts.setText(MessageManager.getString("label.get_cross_refs"));
1336 runGroovy.setText(MessageManager.getString("label.run_groovy"));
1337 runGroovy.setToolTipText(
1338 MessageManager.getString("label.run_groovy_tip"));
1339 runGroovy.addActionListener(new ActionListener()
1342 public void actionPerformed(ActionEvent e)
1344 runGroovy_actionPerformed();
1348 openFeatureSettings = new JMenuItem(
1349 MessageManager.getString("action.feature_settings"));
1350 openFeatureSettings.addActionListener(new ActionListener()
1353 public void actionPerformed(ActionEvent e)
1355 featureSettings_actionPerformed(e);
1360 * add sub-menu of database we can fetch from
1362 JMenuItem fetchSequence = new JMenuItem(
1363 MessageManager.getString("label.fetch_sequences"));
1364 fetchSequence.addActionListener(new ActionListener()
1367 public void actionPerformed(ActionEvent e)
1369 fetchSequence_actionPerformed();
1373 JMenuItem associatedData = new JMenuItem(
1374 MessageManager.getString("label.load_features_annotations"));
1375 associatedData.addActionListener(new ActionListener()
1378 public void actionPerformed(ActionEvent e)
1380 associatedData_actionPerformed(e);
1383 loadVcf = new JMenuItem(
1384 MessageManager.getString("label.load_vcf_file"));
1385 loadVcf.setToolTipText(MessageManager.getString("label.load_vcf"));
1386 loadVcf.addActionListener(new ActionListener()
1389 public void actionPerformed(ActionEvent e)
1391 loadVcf_actionPerformed();
1394 autoCalculate.setText(
1395 MessageManager.getString("label.autocalculate_consensus"));
1396 autoCalculate.setState(Cache.getDefault("AUTO_CALC_CONSENSUS", true));
1397 autoCalculate.addActionListener(new ActionListener()
1400 public void actionPerformed(ActionEvent e)
1402 autoCalculate_actionPerformed(e);
1406 MessageManager.getString("label.sort_alignment_new_tree"));
1407 sortByTree.setToolTipText("<html>" + MessageManager.getString(
1408 "label.enable_automatically_sort_alignment_when_open_new_tree"));
1409 sortByTree.setState(Cache.getDefault("SORT_BY_TREE", false));
1410 sortByTree.addActionListener(new ActionListener()
1413 public void actionPerformed(ActionEvent e)
1415 sortByTreeOption_actionPerformed(e);
1419 listenToViewSelections.setText(
1420 MessageManager.getString("label.listen_for_selections"));
1421 listenToViewSelections
1422 .setToolTipText("<html>" + MessageManager.getString(
1423 "label.selections_mirror_selections_made_same_sequences_other_views"));
1424 listenToViewSelections.setState(false);
1425 listenToViewSelections.addActionListener(new ActionListener()
1428 public void actionPerformed(ActionEvent e)
1430 listenToViewSelections_actionPerformed(e);
1434 JMenu addSequenceMenu = new JMenu(
1435 MessageManager.getString("label.add_sequences"));
1436 JMenuItem addFromFile = new JMenuItem(
1437 MessageManager.getString("label.from_file"));
1438 addFromFile.addActionListener(new ActionListener()
1441 public void actionPerformed(ActionEvent e)
1443 addFromFile_actionPerformed(e);
1446 JMenuItem addFromText = new JMenuItem(
1447 MessageManager.getString("label.from_textbox"));
1448 addFromText.addActionListener(new ActionListener()
1451 public void actionPerformed(ActionEvent e)
1453 addFromText_actionPerformed(e);
1456 JMenuItem addFromURL = new JMenuItem(
1457 MessageManager.getString("label.from_url"));
1458 addFromURL.addActionListener(new ActionListener()
1461 public void actionPerformed(ActionEvent e)
1463 addFromURL_actionPerformed(e);
1466 JMenuItem exportFeatures = new JMenuItem(
1467 MessageManager.getString("label.export_features"));
1468 exportFeatures.addActionListener(new ActionListener()
1471 public void actionPerformed(ActionEvent e)
1473 exportFeatures_actionPerformed(e);
1476 JMenuItem exportAnnotations = new JMenuItem(
1477 MessageManager.getString("label.export_annotations"));
1478 exportAnnotations.addActionListener(new ActionListener()
1481 public void actionPerformed(ActionEvent e)
1483 exportAnnotations_actionPerformed(e);
1486 statusPanel.setLayout(new GridLayout());
1487 JMenuItem showAllSeqs = new JMenuItem(
1488 MessageManager.getString("label.all_sequences"));
1489 showAllSeqs.setToolTipText(
1490 MessageManager.getString("label.toggle_sequence_visibility"));
1491 showAllSeqs.addActionListener(new ActionListener()
1494 public void actionPerformed(ActionEvent e)
1496 showAllSeqs_actionPerformed(e);
1499 JMenuItem showAllColumns = new JMenuItem(
1500 MessageManager.getString("label.all_columns"));
1501 showAllColumns.setToolTipText(
1502 MessageManager.getString("label.toggle_columns_visibility"));
1503 showAllColumns.addActionListener(new ActionListener()
1506 public void actionPerformed(ActionEvent e)
1508 showAllColumns_actionPerformed(e);
1511 JMenu hideMenu = new JMenu(MessageManager.getString("action.hide"));
1512 JMenuItem hideSelSequences = new JMenuItem(
1513 MessageManager.getString("label.selected_sequences"));
1514 hideSelSequences.setToolTipText(
1515 MessageManager.getString("label.toggle_sequence_visibility"));
1516 hideSelSequences.addActionListener(new ActionListener()
1519 public void actionPerformed(ActionEvent e)
1521 hideSelSequences_actionPerformed(e);
1524 JMenuItem hideSelColumns = new JMenuItem(
1525 MessageManager.getString("label.selected_columns"));
1526 hideSelColumns.setToolTipText(
1527 MessageManager.getString("label.toggle_columns_visibility"));
1528 hideSelColumns.addActionListener(new ActionListener()
1531 public void actionPerformed(ActionEvent e)
1533 hideSelColumns_actionPerformed(e);
1536 JMenuItem hideAllSelection = new JMenuItem(
1537 MessageManager.getString("label.selected_region"));
1538 hideAllSelection.addActionListener(new ActionListener()
1541 public void actionPerformed(ActionEvent e)
1543 hideAllSelection_actionPerformed(e);
1546 // TODO: should be hidden if no selection exists.
1547 JMenuItem hideAllButSelection = new JMenuItem(
1548 MessageManager.getString("label.all_but_selected_region"));
1549 hideAllButSelection.addActionListener(new ActionListener()
1552 public void actionPerformed(ActionEvent e)
1554 hideAllButSelection_actionPerformed(e);
1557 JMenuItem showAllhidden = new JMenuItem(
1558 MessageManager.getString("label.all_sequences_columns"));
1559 showAllhidden.setToolTipText(MessageManager
1560 .getString("label.toggles_visibility_hidden_selected_regions"));
1561 showAllhidden.addActionListener(new ActionListener()
1564 public void actionPerformed(ActionEvent e)
1566 showAllhidden_actionPerformed(e);
1569 hiddenMarkers.setText(
1570 MessageManager.getString("action.show_hidden_markers"));
1571 hiddenMarkers.addActionListener(new ActionListener()
1574 public void actionPerformed(ActionEvent e)
1576 hiddenMarkers_actionPerformed(e);
1580 JMenuItem invertColSel = new JMenuItem(
1581 MessageManager.getString("action.invert_column_selection"));
1582 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
1583 jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx()
1584 | jalview.util.ShortcutKeyMaskExWrapper.ALT_DOWN_MASK,
1586 al = new ActionListener()
1589 public void actionPerformed(ActionEvent e)
1591 invertColSel_actionPerformed(e);
1594 addMenuActionAndAccelerator(keyStroke, invertColSel, al);
1596 showComplementMenuItem.setVisible(false);
1597 showComplementMenuItem.addActionListener(new ActionListener()
1600 public void actionPerformed(ActionEvent e)
1602 showComplement_actionPerformed(showComplementMenuItem.getState());
1606 tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
1609 public void stateChanged(ChangeEvent evt)
1611 JTabbedPane pane = (JTabbedPane) evt.getSource();
1612 int sel = pane.getSelectedIndex();
1613 tabSelectionChanged(sel);
1616 tabbedPane.addMouseListener(new MouseAdapter()
1619 public void mousePressed(MouseEvent e)
1621 if (e.isPopupTrigger()) // Mac
1623 tabbedPane_mousePressed(e);
1628 public void mouseReleased(MouseEvent e)
1630 if (e.isPopupTrigger()) // Windows
1632 tabbedPane_mousePressed(e);
1636 tabbedPane.addFocusListener(new FocusAdapter()
1639 public void focusGained(FocusEvent e)
1641 tabbedPane_focusGained(e);
1645 JMenuItem save = new JMenuItem(MessageManager.getString("action.save"));
1646 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
1647 jalview.util.ShortcutKeyMaskExWrapper
1648 .getMenuShortcutKeyMaskEx(),
1650 al = new ActionListener()
1653 public void actionPerformed(ActionEvent e)
1655 save_actionPerformed(e);
1658 addMenuActionAndAccelerator(keyStroke, save, al);
1660 reload.setEnabled(false);
1661 reload.setText(MessageManager.getString("action.reload"));
1662 reload.addActionListener(new ActionListener()
1665 public void actionPerformed(ActionEvent e)
1667 reload_actionPerformed(e);
1671 JMenuItem newView = new JMenuItem(
1672 MessageManager.getString("action.new_view"));
1673 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T,
1674 jalview.util.ShortcutKeyMaskExWrapper
1675 .getMenuShortcutKeyMaskEx(),
1677 al = new ActionListener()
1680 public void actionPerformed(ActionEvent e)
1682 newView_actionPerformed(e);
1685 addMenuActionAndAccelerator(keyStroke, newView, al);
1687 tabbedPane.setToolTipText("<html><i>"
1688 + MessageManager.getString("label.rename_tab_eXpand_reGroup")
1691 formatMenu.setText(MessageManager.getString("action.format"));
1692 JMenu selectMenu = new JMenu(MessageManager.getString("action.select"));
1694 idRightAlign.setText(
1695 MessageManager.getString("label.right_align_sequence_id"));
1696 idRightAlign.addActionListener(new ActionListener()
1699 public void actionPerformed(ActionEvent e)
1701 idRightAlign_actionPerformed(e);
1705 gatherViews.setEnabled(false);
1706 gatherViews.setText(MessageManager.getString("action.gather_views"));
1707 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, 0, false);
1708 al = new ActionListener()
1711 public void actionPerformed(ActionEvent e)
1713 gatherViews_actionPerformed(e);
1716 addMenuActionAndAccelerator(keyStroke, gatherViews, al);
1718 expandViews.setEnabled(false);
1719 expandViews.setText(MessageManager.getString("action.expand_views"));
1720 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, 0, false);
1721 al = new ActionListener()
1724 public void actionPerformed(ActionEvent e)
1726 expandViews_actionPerformed(e);
1729 addMenuActionAndAccelerator(keyStroke, expandViews, al);
1731 JMenuItem pageSetup = new JMenuItem(
1732 MessageManager.getString("action.page_setup"));
1733 pageSetup.addActionListener(new ActionListener()
1736 public void actionPerformed(ActionEvent e)
1738 pageSetup_actionPerformed(e);
1741 JMenuItem alignmentProperties = new JMenuItem(
1742 MessageManager.getString("label.alignment_props"));
1743 alignmentProperties.addActionListener(new ActionListener()
1746 public void actionPerformed(ActionEvent actionEvent)
1748 alignmentProperties();
1751 JMenuItem selectHighlighted = new JMenuItem(
1752 MessageManager.getString("action.select_highlighted_columns"));
1753 selectHighlighted.setToolTipText(
1754 MessageManager.getString("tooltip.select_highlighted_columns"));
1755 al = new ActionListener()
1758 public void actionPerformed(ActionEvent actionEvent)
1760 selectHighlightedColumns_actionPerformed(actionEvent);
1763 selectHighlighted.addActionListener(al);
1764 JMenu tooltipSettingsMenu = new JMenu(
1765 MessageManager.getString("label.sequence_id_tooltip"));
1766 JMenu autoAnnMenu = new JMenu(
1767 MessageManager.getString("label.autocalculated_annotation"));
1769 JMenu exportImageMenu = new JMenu(
1770 MessageManager.getString("label.export_image"));
1771 JMenu fileMenu = new JMenu(MessageManager.getString("action.file"));
1772 alignFrameMenuBar.add(fileMenu);
1773 alignFrameMenuBar.add(editMenu);
1774 alignFrameMenuBar.add(selectMenu);
1775 alignFrameMenuBar.add(viewMenu);
1776 alignFrameMenuBar.add(annotationsMenu);
1777 alignFrameMenuBar.add(formatMenu);
1778 alignFrameMenuBar.add(colourMenu);
1779 alignFrameMenuBar.add(calculateMenu);
1780 if (!Platform.isJS())
1782 alignFrameMenuBar.add(webService);
1785 fileMenu.add(fetchSequence);
1786 fileMenu.add(addSequenceMenu);
1787 fileMenu.add(reload);
1788 fileMenu.addSeparator();
1789 fileMenu.add(vamsasStore);
1791 fileMenu.add(saveAs);
1792 fileMenu.add(outputTextboxMenu);
1793 fileMenu.add(pageSetup);
1794 fileMenu.add(printMenuItem);
1795 fileMenu.addSeparator();
1796 fileMenu.add(exportImageMenu);
1797 fileMenu.add(exportFeatures);
1798 fileMenu.add(exportAnnotations);
1799 fileMenu.add(loadTreeMenuItem);
1800 fileMenu.add(associatedData);
1801 if (!Platform.isJS())
1803 fileMenu.add(loadVcf);
1805 fileMenu.addSeparator();
1806 fileMenu.add(closeMenuItem);
1808 pasteMenu.add(pasteNew);
1809 pasteMenu.add(pasteThis);
1810 editMenu.add(undoMenuItem);
1811 editMenu.add(redoMenuItem);
1814 editMenu.add(pasteMenu);
1815 editMenu.add(delete);
1816 editMenu.addSeparator();
1817 editMenu.add(remove2LeftMenuItem);
1818 editMenu.add(remove2RightMenuItem);
1819 editMenu.add(removeGappedColumnMenuItem);
1820 editMenu.add(removeAllGapsMenuItem);
1821 editMenu.add(removeRedundancyMenuItem);
1822 editMenu.addSeparator();
1824 editMenu.add(justifyLeftMenuItem);
1825 editMenu.add(justifyRightMenuItem);
1827 editMenu.addSeparator();
1828 editMenu.add(padGapsMenuitem);
1830 showMenu.add(showAllColumns);
1831 showMenu.add(showAllSeqs);
1832 showMenu.add(showAllhidden);
1833 hideMenu.add(hideSelColumns);
1834 hideMenu.add(hideSelSequences);
1835 hideMenu.add(hideAllSelection);
1836 hideMenu.add(hideAllButSelection);
1837 viewMenu.add(newView);
1838 viewMenu.add(expandViews);
1839 viewMenu.add(gatherViews);
1840 viewMenu.addSeparator();
1841 viewMenu.add(showMenu);
1842 viewMenu.add(hideMenu);
1843 viewMenu.add(showComplementMenuItem);
1844 viewMenu.addSeparator();
1845 viewMenu.add(followHighlightMenuItem);
1846 viewMenu.addSeparator();
1847 viewMenu.add(showSeqFeatures);
1848 // viewMenu.add(showSeqFeaturesHeight);
1849 viewMenu.add(openFeatureSettings);
1850 tooltipSettingsMenu.add(showDbRefsMenuitem);
1851 tooltipSettingsMenu.add(showNpFeatsMenuitem);
1852 viewMenu.add(tooltipSettingsMenu);
1853 viewMenu.addSeparator();
1854 viewMenu.add(alignmentProperties);
1855 viewMenu.addSeparator();
1856 viewMenu.add(overviewMenuItem);
1858 annotationsMenu.add(annotationPanelMenuItem);
1859 annotationsMenu.addSeparator();
1860 annotationsMenu.add(showAllAlAnnotations);
1861 annotationsMenu.add(hideAllAlAnnotations);
1862 annotationsMenu.addSeparator();
1863 annotationsMenu.add(showAllSeqAnnotations);
1864 annotationsMenu.add(hideAllSeqAnnotations);
1865 annotationsMenu.add(sortAnnBySequence);
1866 annotationsMenu.add(sortAnnByLabel);
1867 annotationsMenu.addSeparator();
1868 autoAnnMenu.add(showAutoFirst);
1869 autoAnnMenu.add(showAutoLast);
1870 autoAnnMenu.addSeparator();
1871 autoAnnMenu.add(applyAutoAnnotationSettings);
1872 autoAnnMenu.add(showConsensusHistogram);
1873 autoAnnMenu.add(showSequenceLogo);
1874 autoAnnMenu.add(normaliseSequenceLogo);
1875 autoAnnMenu.addSeparator();
1876 autoAnnMenu.add(showGroupConservation);
1877 autoAnnMenu.add(showGroupConsensus);
1878 annotationsMenu.add(autoAnnMenu);
1880 sort.add(sortIDMenuItem);
1881 sort.add(sortLengthMenuItem);
1882 sort.add(sortGroupMenuItem);
1883 sort.add(sortPairwiseMenuItem);
1884 sort.add(sortByTreeMenu);
1885 calculateMenu.add(sort);
1886 calculateMenu.add(calculateTree);
1887 calculateMenu.addSeparator();
1888 calculateMenu.add(pairwiseAlignmentMenuItem);
1889 calculateMenu.addSeparator();
1890 calculateMenu.add(showTranslation);
1891 calculateMenu.add(showReverse);
1892 calculateMenu.add(showReverseComplement);
1893 calculateMenu.add(showProducts);
1894 calculateMenu.add(autoCalculate);
1895 calculateMenu.add(sortByTree);
1896 calculateMenu.addSeparator();
1897 calculateMenu.add(expandAlignment);
1898 calculateMenu.add(extractScores);
1899 if (!Platform.isJS())
1901 calculateMenu.addSeparator();
1902 calculateMenu.add(runGroovy);
1905 webServiceNoServices = new JMenuItem(
1906 MessageManager.getString("label.no_services"));
1907 webService.add(webServiceNoServices);
1908 if (!Platform.isJS())
1910 exportImageMenu.add(htmlMenuItem);
1912 exportImageMenu.add(epsFile);
1913 exportImageMenu.add(createPNG);
1914 if (!Platform.isJS())
1916 exportImageMenu.add(createBioJS);
1917 exportImageMenu.add(createSVG);
1919 addSequenceMenu.add(addFromFile);
1920 addSequenceMenu.add(addFromText);
1921 addSequenceMenu.add(addFromURL);
1922 this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
1923 statusPanel.add(statusBar, null);
1924 this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
1926 formatMenu.add(font);
1927 formatMenu.addSeparator();
1928 formatMenu.add(wrapMenuItem);
1929 formatMenu.add(scaleAbove);
1930 formatMenu.add(scaleLeft);
1931 formatMenu.add(scaleRight);
1932 formatMenu.add(seqLimits);
1933 formatMenu.add(idRightAlign);
1934 formatMenu.add(hiddenMarkers);
1935 formatMenu.add(viewBoxesMenuItem);
1936 formatMenu.add(viewTextMenuItem);
1937 formatMenu.add(colourTextMenuItem);
1938 formatMenu.add(renderGapsMenuItem);
1939 formatMenu.add(centreColumnLabelsMenuItem);
1940 formatMenu.add(showNonconservedMenuItem);
1941 selectMenu.add(findMenuItem);
1942 selectMenu.addSeparator();
1943 selectMenu.add(selectAllSequenceMenuItem);
1944 selectMenu.add(deselectAllSequenceMenuItem);
1945 selectMenu.add(invertSequenceMenuItem);
1946 selectMenu.add(invertColSel);
1947 selectMenu.add(createGroup);
1948 selectMenu.add(unGroup);
1949 selectMenu.add(grpsFromSelection);
1950 selectMenu.add(deleteGroups);
1951 selectMenu.add(annotationColumn);
1952 selectMenu.add(selectHighlighted);
1953 // TODO - determine if the listenToViewSelections button is needed : see bug
1955 // selectMenu.addSeparator();
1956 // selectMenu.add(listenToViewSelections);
1959 protected void loadVcf_actionPerformed()
1964 * Constructs the entries on the Colour menu (but does not add them to the
1967 protected void initColourMenu()
1969 applyToAllGroups = new JCheckBoxMenuItem(
1970 MessageManager.getString("label.apply_colour_to_all_groups"));
1971 applyToAllGroups.addActionListener(new ActionListener()
1974 public void actionPerformed(ActionEvent e)
1976 applyToAllGroups_actionPerformed(applyToAllGroups.isSelected());
1980 textColour = new JMenuItem(
1981 MessageManager.getString("label.text_colour"));
1982 textColour.addActionListener(new ActionListener()
1985 public void actionPerformed(ActionEvent e)
1987 textColour_actionPerformed();
1991 conservationMenuItem = new JCheckBoxMenuItem(
1992 MessageManager.getString("action.by_conservation"));
1993 conservationMenuItem.addActionListener(new ActionListener()
1996 public void actionPerformed(ActionEvent e)
1998 conservationMenuItem_actionPerformed(
1999 conservationMenuItem.isSelected());
2003 abovePIDThreshold = new JCheckBoxMenuItem(
2004 MessageManager.getString("label.above_identity_threshold"));
2005 abovePIDThreshold.addActionListener(new ActionListener()
2008 public void actionPerformed(ActionEvent e)
2010 abovePIDThreshold_actionPerformed(abovePIDThreshold.isSelected());
2013 modifyPID = new JMenuItem(
2014 MessageManager.getString("label.modify_identity_threshold"));
2015 modifyPID.addActionListener(new ActionListener()
2018 public void actionPerformed(ActionEvent e)
2020 modifyPID_actionPerformed();
2023 modifyConservation = new JMenuItem(MessageManager
2024 .getString("label.modify_conservation_threshold"));
2025 modifyConservation.addActionListener(new ActionListener()
2028 public void actionPerformed(ActionEvent e)
2030 modifyConservation_actionPerformed();
2034 annotationColour = new JRadioButtonMenuItem(
2035 MessageManager.getString("action.by_annotation"));
2036 annotationColour.setName(ResidueColourScheme.ANNOTATION_COLOUR);
2037 annotationColour.addActionListener(new ActionListener()
2040 public void actionPerformed(ActionEvent e)
2042 annotationColour_actionPerformed();
2047 protected void selectHighlightedColumns_actionPerformed(
2048 ActionEvent actionEvent)
2050 // TODO Auto-generated method stub
2055 * Generate the reverse sequence (or reverse complement if the flag is true)
2056 * and add it to the alignment
2060 protected void showReverse_actionPerformed(boolean complement)
2065 * Try to run script in a Groovy console, having first ensured that this
2066 * alignframe is set as currentAlignFrame in Desktop
2068 protected void runGroovy_actionPerformed()
2074 * Adds the given action listener and key accelerator to the given menu item.
2075 * Also saves in a lookup table to support lookup of action by key stroke.
2079 * @param actionListener
2081 protected void addMenuActionAndAccelerator(KeyStroke keyStroke,
2082 JMenuItem menuItem, ActionListener actionListener)
2084 menuItem.setAccelerator(keyStroke);
2085 accelerators.put(keyStroke, menuItem);
2086 menuItem.addActionListener(actionListener);
2090 * Action on clicking sort annotations by type.
2094 protected void sortAnnotations_actionPerformed()
2099 * Action on clicking Show all annotations.
2101 * @param forSequences
2102 * update sequence-related annotations
2103 * @param forAlignment
2104 * update non-sequence-related annotations
2106 protected void showAllAnnotations_actionPerformed(boolean forSequences,
2107 boolean forAlignment)
2109 setAnnotationsVisibility(true, forSequences, forAlignment);
2113 * Action on clicking Hide all annotations.
2115 * @param forSequences
2116 * update sequence-related annotations
2117 * @param forAlignment
2118 * update non-sequence-related annotations
2120 protected void hideAllAnnotations_actionPerformed(boolean forSequences,
2121 boolean forAlignment)
2123 setAnnotationsVisibility(false, forSequences, forAlignment);
2127 * Set the visibility of annotations to true or false. Can act on
2128 * sequence-related annotations, or alignment-related, or both.
2131 * @param forSequences
2132 * update sequence-related annotations
2133 * @param forAlignment
2134 * update non-sequence-related annotations
2136 protected void setAnnotationsVisibility(boolean visible,
2137 boolean forSequences, boolean forAlignment)
2142 protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
2144 // TODO Auto-generated method stub
2148 protected void listenToViewSelections_actionPerformed(ActionEvent e)
2150 // TODO Auto-generated method stub
2154 protected void showAllhidden_actionPerformed(ActionEvent e)
2156 // TODO Auto-generated method stub
2160 protected void hideAllButSelection_actionPerformed(ActionEvent e)
2162 // TODO Auto-generated method stub
2166 protected void hideAllSelection_actionPerformed(ActionEvent e)
2168 // TODO Auto-generated method stub
2172 protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
2174 // TODO Auto-generated method stub
2178 protected void showConsensusHistogram_actionPerformed(ActionEvent e)
2180 // TODO Auto-generated method stub
2184 protected void showSequenceLogo_actionPerformed(ActionEvent e)
2186 // TODO Auto-generated method stub
2190 protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
2192 // TODO Auto-generated method stub
2196 protected void showGroupConsensus_actionPerformed(ActionEvent e)
2198 // TODO Auto-generated method stub
2202 protected void showGroupConservation_actionPerformed(ActionEvent e)
2204 // TODO Auto-generated method stub
2208 protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
2210 // TODO Auto-generated method stub
2214 protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
2216 // TODO Auto-generated method stub
2220 protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
2222 // TODO Auto-generated method stub
2226 protected void followHighlight_actionPerformed()
2228 // TODO Auto-generated method stub
2232 protected void showNpFeats_actionPerformed(ActionEvent e)
2234 // TODO Auto-generated method stub
2238 protected void showDbRefs_actionPerformed(ActionEvent e)
2240 // TODO Auto-generated method stub
2244 protected void centreColumnLabels_actionPerformed(ActionEvent e)
2248 protected void buildSortByAnnotationScoresMenu()
2252 protected void extractScores_actionPerformed(ActionEvent e)
2256 protected void outputText_actionPerformed(String formatName)
2260 public void addFromFile_actionPerformed(ActionEvent e)
2265 public void addFromText_actionPerformed(ActionEvent e)
2270 public void addFromURL_actionPerformed(ActionEvent e)
2275 public void exportFeatures_actionPerformed(ActionEvent e)
2280 public void exportAnnotations_actionPerformed(ActionEvent e)
2285 protected void htmlMenuItem_actionPerformed(ActionEvent e)
2289 protected void bioJSMenuItem_actionPerformed(ActionEvent e)
2294 protected void closeMenuItem_actionPerformed(boolean b)
2298 protected void redoMenuItem_actionPerformed(ActionEvent e)
2302 protected void undoMenuItem_actionPerformed(ActionEvent e)
2306 protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2310 protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2314 protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
2318 protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
2322 protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
2326 protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
2330 protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
2334 protected void wrapMenuItem_actionPerformed(ActionEvent e)
2338 protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
2342 protected void viewTextMenuItem_actionPerformed(ActionEvent e)
2346 protected void colourTextMenuItem_actionPerformed(ActionEvent e)
2350 protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
2354 protected void overviewMenuItem_actionPerformed(ActionEvent e)
2358 protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
2362 protected void sortIDMenuItem_actionPerformed(ActionEvent e)
2366 protected void sortLengthMenuItem_actionPerformed(ActionEvent e)
2370 protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
2374 protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
2378 protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
2382 protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
2386 protected void conservationMenuItem_actionPerformed(boolean selected)
2390 protected void printMenuItem_actionPerformed(ActionEvent e)
2394 protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2398 protected void findMenuItem_actionPerformed(ActionEvent e)
2402 protected void abovePIDThreshold_actionPerformed(boolean selected)
2406 public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2410 protected void deleteGroups_actionPerformed(ActionEvent e)
2414 protected void createGroup_actionPerformed(ActionEvent e)
2418 protected void unGroup_actionPerformed(ActionEvent e)
2422 protected void copy_actionPerformed()
2426 protected void cut_actionPerformed()
2430 protected void delete_actionPerformed()
2434 protected void pasteNew_actionPerformed(ActionEvent e)
2438 protected void pasteThis_actionPerformed(ActionEvent e)
2442 protected void applyToAllGroups_actionPerformed(boolean selected)
2446 public void createPNG(java.io.File f)
2450 protected void font_actionPerformed(ActionEvent e)
2454 protected void seqLimit_actionPerformed(ActionEvent e)
2458 public void seqDBRef_actionPerformed(ActionEvent e)
2463 public void createEPS(java.io.File f)
2467 public void createSVG(java.io.File f)
2472 protected void loadTreeMenuItem_actionPerformed(ActionEvent e)
2478 * Template method to handle the 'load T-Coffee scores' menu event.
2480 * Subclasses override this method to provide a custom action.
2485 protected void loadScores_actionPerformed(ActionEvent event)
2490 protected void jpred_actionPerformed(ActionEvent e)
2494 protected void scaleAbove_actionPerformed(ActionEvent e)
2498 protected void scaleLeft_actionPerformed(ActionEvent e)
2502 protected void scaleRight_actionPerformed(ActionEvent e)
2506 protected void modifyPID_actionPerformed()
2510 protected void modifyConservation_actionPerformed()
2514 protected void saveAs_actionPerformed()
2518 protected void padGapsMenuitem_actionPerformed(ActionEvent e)
2522 public void vamsasStore_actionPerformed(ActionEvent e)
2527 public void vamsasLoad_actionPerformed(ActionEvent e)
2532 public void showTranslation_actionPerformed(GeneticCodeI codeTable)
2537 public void featureSettings_actionPerformed(ActionEvent e)
2542 public void fetchSequence_actionPerformed()
2547 public void smoothFont_actionPerformed(ActionEvent e)
2552 public void annotationColour_actionPerformed()
2556 public void annotationColumn_actionPerformed(ActionEvent e)
2560 public void associatedData_actionPerformed(ActionEvent e)
2565 public void autoCalculate_actionPerformed(ActionEvent e)
2570 public void sortByTreeOption_actionPerformed(ActionEvent e)
2575 public void showAllSeqs_actionPerformed(ActionEvent e)
2580 public void showAllColumns_actionPerformed(ActionEvent e)
2585 public void hideSelSequences_actionPerformed(ActionEvent e)
2590 public void hideSelColumns_actionPerformed(ActionEvent e)
2595 public void hiddenMarkers_actionPerformed(ActionEvent e)
2600 public void findPdbId_actionPerformed(ActionEvent e)
2605 public void enterPdbId_actionPerformed(ActionEvent e)
2610 public void pdbFile_actionPerformed(ActionEvent e)
2615 public void invertColSel_actionPerformed(ActionEvent e)
2620 public void tabSelectionChanged(int sel)
2625 public void tabbedPane_mousePressed(MouseEvent e)
2630 public void tabbedPane_focusGained(FocusEvent e)
2635 public void save_actionPerformed(ActionEvent e)
2640 public void reload_actionPerformed(ActionEvent e)
2645 public void newView_actionPerformed(ActionEvent e)
2650 public void textColour_actionPerformed()
2655 public void idRightAlign_actionPerformed(ActionEvent e)
2660 public void expandViews_actionPerformed(ActionEvent e)
2665 public void gatherViews_actionPerformed(ActionEvent e)
2670 public void buildTreeSortMenu()
2675 public void pageSetup_actionPerformed(ActionEvent e)
2680 public void alignmentProperties()
2685 protected void expand_newalign(ActionEvent e)
2687 // TODO Auto-generated method stub
2691 protected boolean isShowAutoCalculatedAbove()
2693 return showAutoCalculatedAbove;
2696 protected void setShowAutoCalculatedAbove(boolean showAutoCalculatedAbove)
2698 this.showAutoCalculatedAbove = showAutoCalculatedAbove;
2701 protected SequenceAnnotationOrder getAnnotationSortOrder()
2703 return annotationSortOrder;
2706 protected void setAnnotationSortOrder(
2707 SequenceAnnotationOrder annotationSortOrder)
2709 this.annotationSortOrder = annotationSortOrder;
2712 public Map<KeyStroke, JMenuItem> getAccelerators()
2714 return this.accelerators;
2718 * Returns the selected index of the tabbed pane, or -1 if none selected
2719 * (including the case where the tabbed pane has not been made visible).
2723 public int getTabIndex()
2725 return tabbedPane.getSelectedIndex();
2728 public JPanel getStatusPanel()
2734 * Sets a reference to the containing split frame. Also makes the 'toggle
2735 * split view' menu item visible and checked.
2739 public void setSplitFrame(SplitContainerI sf)
2741 this.splitFrame = sf;
2744 this.showComplementMenuItem.setVisible(true);
2745 this.showComplementMenuItem.setState(true);
2749 public SplitContainerI getSplitViewContainer()
2751 return this.splitFrame;
2754 protected void showComplement_actionPerformed(boolean complement)