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 JMenuItem hmmAlign = new JMenuItem();
75 protected JMenuItem hmmSearch = new JMenuItem();
77 protected JMenuItem hmmBuild = new JCheckBoxMenuItem();
79 protected JMenuItem webServiceNoServices;
81 protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
83 protected JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
85 protected JMenu sortByAnnotScore = new JMenu();
87 public JLabel statusBar = new JLabel();
89 protected JMenu outputTextboxMenu = new JMenu();
91 protected JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
93 protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
95 protected JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem();
97 protected JMenuItem undoMenuItem = new JMenuItem();
99 protected JMenuItem redoMenuItem = new JMenuItem();
101 protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
103 protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
105 public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
107 JMenuItem copy = new JMenuItem();
109 JMenuItem cut = new JMenuItem();
111 JMenu pasteMenu = new JMenu();
113 protected JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
115 protected JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
117 protected JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
119 protected JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
121 protected JCheckBoxMenuItem applyToAllGroups;
123 protected JMenu colourMenu = new JMenu();
125 protected JMenuItem textColour;
127 protected JCheckBoxMenuItem conservationMenuItem;
129 protected JMenuItem modifyConservation;
131 protected JCheckBoxMenuItem abovePIDThreshold;
133 protected JMenuItem modifyPID;
135 protected JMenuItem annotationColour;
137 protected JMenu sortByTreeMenu = new JMenu();
139 protected JMenu sort = new JMenu();
141 protected JMenuItem calculateTree = new JMenuItem();
143 protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
145 protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
147 protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
149 protected JMenuItem showTranslation = new JMenuItem();
151 protected JMenuItem showReverse = new JMenuItem();
153 protected JMenuItem showReverseComplement = new JMenuItem();
155 protected JMenu showProducts = new JMenu();
157 protected JMenuItem runGroovy = new JMenuItem();
159 protected 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 showInformationHistogram = new JCheckBoxMenuItem();
207 protected JCheckBoxMenuItem showHMMSequenceLogo = new JCheckBoxMenuItem();
209 protected JCheckBoxMenuItem normaliseHMMSequenceLogo = new JCheckBoxMenuItem();
211 protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
213 private SequenceAnnotationOrder annotationSortOrder;
215 private boolean showAutoCalculatedAbove = false;
217 private Map<KeyStroke, JMenuItem> accelerators = new HashMap<>();
219 private SplitContainerI splitFrame;
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);
242 outputTextboxMenu.add(item);
244 } catch (Exception e)
246 System.err.println(e.toString());
249 if (!Platform.isAMac())
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
267 JMenuItem saveAs = new JMenuItem(
268 MessageManager.getString("action.save_as"));
269 ActionListener al = new ActionListener()
272 public void actionPerformed(ActionEvent e)
274 saveAs_actionPerformed(e);
278 // FIXME getDefaultToolkit throws an exception in Headless mode
279 KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit
280 .getDefaultToolkit().getMenuShortcutKeyMask()
281 | KeyEvent.SHIFT_MASK, false);
282 addMenuActionAndAccelerator(keyStroke, saveAs, al);
284 closeMenuItem.setText(MessageManager.getString("action.close"));
285 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W, Toolkit
286 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
287 al = new ActionListener()
290 public void actionPerformed(ActionEvent e)
292 closeMenuItem_actionPerformed(false);
295 addMenuActionAndAccelerator(keyStroke, closeMenuItem, al);
297 JMenu editMenu = new JMenu(MessageManager.getString("action.edit"));
298 JMenu viewMenu = new JMenu(MessageManager.getString("action.view"));
299 JMenu annotationsMenu = new JMenu(
300 MessageManager.getString("action.annotations"));
301 JMenu showMenu = new JMenu(MessageManager.getString("action.show"));
302 colourMenu.setText(MessageManager.getString("action.colour"));
303 JMenu calculateMenu = new JMenu(
304 MessageManager.getString("action.calculate"));
305 webService.setText(MessageManager.getString("action.web_service"));
306 hmmerMenu.setText(MessageManager.getString("action.hmmer"));
307 String status = Cache.getProperty("HMMER_FUNCTIONING");
308 if ("false".equals(status) || status == null)
310 hmmerMenu.setEnabled(false);
314 hmmerMenu.setEnabled(true);
317 JMenuItem selectAllSequenceMenuItem = new JMenuItem(
318 MessageManager.getString("action.select_all"));
319 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit
320 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
321 al = new ActionListener()
324 public void actionPerformed(ActionEvent e)
326 selectAllSequenceMenuItem_actionPerformed(e);
329 addMenuActionAndAccelerator(keyStroke, selectAllSequenceMenuItem, al);
331 JMenuItem deselectAllSequenceMenuItem = new JMenuItem(
332 MessageManager.getString("action.deselect_all"));
333 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
334 al = new ActionListener()
337 public void actionPerformed(ActionEvent e)
339 deselectAllSequenceMenuItem_actionPerformed(e);
342 addMenuActionAndAccelerator(keyStroke, deselectAllSequenceMenuItem, al);
344 JMenuItem invertSequenceMenuItem = new JMenuItem(
345 MessageManager.getString("action.invert_sequence_selection"));
346 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, Toolkit
347 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
348 al = new ActionListener()
351 public void actionPerformed(ActionEvent e)
353 invertSequenceMenuItem_actionPerformed(e);
356 addMenuActionAndAccelerator(keyStroke, invertSequenceMenuItem, al);
358 JMenuItem grpsFromSelection = new JMenuItem(
359 MessageManager.getString("action.make_groups_selection"));
360 grpsFromSelection.addActionListener(new ActionListener()
363 public void actionPerformed(ActionEvent e)
365 makeGrpsFromSelection_actionPerformed(e);
368 JMenuItem expandAlignment = new JMenuItem(
369 MessageManager.getString("action.view_flanking_regions"));
370 expandAlignment.setToolTipText(MessageManager
371 .getString("label.view_flanking_regions"));
372 expandAlignment.addActionListener(new ActionListener()
375 public void actionPerformed(ActionEvent e)
380 JMenuItem remove2LeftMenuItem = new JMenuItem(
381 MessageManager.getString("action.remove_left"));
382 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L, Toolkit
383 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
384 al = new ActionListener()
387 public void actionPerformed(ActionEvent e)
389 remove2LeftMenuItem_actionPerformed(e);
392 addMenuActionAndAccelerator(keyStroke, remove2LeftMenuItem, al);
394 JMenuItem remove2RightMenuItem = new JMenuItem(
395 MessageManager.getString("action.remove_right"));
396 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R, Toolkit
397 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
398 al = new ActionListener()
401 public void actionPerformed(ActionEvent e)
403 remove2RightMenuItem_actionPerformed(e);
406 addMenuActionAndAccelerator(keyStroke, remove2RightMenuItem, al);
408 JMenuItem removeGappedColumnMenuItem = new JMenuItem(
409 MessageManager.getString("action.remove_empty_columns"));
410 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, Toolkit
411 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
412 al = new ActionListener()
415 public void actionPerformed(ActionEvent e)
417 removeGappedColumnMenuItem_actionPerformed(e);
420 addMenuActionAndAccelerator(keyStroke, removeGappedColumnMenuItem, al);
422 JMenuItem removeAllGapsMenuItem = new JMenuItem(
423 MessageManager.getString("action.remove_all_gaps"));
424 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, Toolkit
425 .getDefaultToolkit().getMenuShortcutKeyMask()
426 | KeyEvent.SHIFT_MASK, false);
427 al = new ActionListener()
430 public void actionPerformed(ActionEvent e)
432 removeAllGapsMenuItem_actionPerformed(e);
435 addMenuActionAndAccelerator(keyStroke, removeAllGapsMenuItem, al);
437 JMenuItem justifyLeftMenuItem = new JMenuItem(
438 MessageManager.getString("action.left_justify_alignment"));
439 justifyLeftMenuItem.addActionListener(new ActionListener()
442 public void actionPerformed(ActionEvent e)
444 justifyLeftMenuItem_actionPerformed(e);
447 JMenuItem justifyRightMenuItem = new JMenuItem(
448 MessageManager.getString("action.right_justify_alignment"));
449 justifyRightMenuItem.addActionListener(new ActionListener()
452 public void actionPerformed(ActionEvent e)
454 justifyRightMenuItem_actionPerformed(e);
457 viewBoxesMenuItem.setText(MessageManager.getString("action.boxes"));
458 viewBoxesMenuItem.setState(true);
459 viewBoxesMenuItem.addActionListener(new ActionListener()
462 public void actionPerformed(ActionEvent e)
464 viewBoxesMenuItem_actionPerformed(e);
467 viewTextMenuItem.setText(MessageManager.getString("action.text"));
468 viewTextMenuItem.setState(true);
469 viewTextMenuItem.addActionListener(new ActionListener()
472 public void actionPerformed(ActionEvent e)
474 viewTextMenuItem_actionPerformed(e);
477 showNonconservedMenuItem.setText(MessageManager
478 .getString("label.show_non_conserved"));
479 showNonconservedMenuItem.setState(false);
480 showNonconservedMenuItem.addActionListener(new ActionListener()
483 public void actionPerformed(ActionEvent e)
485 showUnconservedMenuItem_actionPerformed(e);
488 JMenuItem sortPairwiseMenuItem = new JMenuItem(
489 MessageManager.getString("action.by_pairwise_id"));
490 sortPairwiseMenuItem.addActionListener(new ActionListener()
493 public void actionPerformed(ActionEvent e)
495 sortPairwiseMenuItem_actionPerformed(e);
498 JMenuItem sortIDMenuItem = new JMenuItem(
499 MessageManager.getString("action.by_id"));
500 sortIDMenuItem.addActionListener(new ActionListener()
503 public void actionPerformed(ActionEvent e)
505 sortIDMenuItem_actionPerformed(e);
508 JMenuItem sortLengthMenuItem = new JMenuItem(
509 MessageManager.getString("action.by_length"));
510 sortLengthMenuItem.addActionListener(new ActionListener()
513 public void actionPerformed(ActionEvent e)
515 sortLengthMenuItem_actionPerformed(e);
518 JMenuItem sortGroupMenuItem = new JMenuItem(
519 MessageManager.getString("action.by_group"));
520 sortGroupMenuItem.addActionListener(new ActionListener()
523 public void actionPerformed(ActionEvent e)
525 sortGroupMenuItem_actionPerformed(e);
529 JMenuItem removeRedundancyMenuItem = new JMenuItem(
530 MessageManager.getString("action.remove_redundancy"));
531 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit
532 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
533 al = new ActionListener()
536 public void actionPerformed(ActionEvent e)
538 removeRedundancyMenuItem_actionPerformed(e);
541 addMenuActionAndAccelerator(keyStroke, removeRedundancyMenuItem, al);
543 JMenuItem pairwiseAlignmentMenuItem = new JMenuItem(
544 MessageManager.getString("action.pairwise_alignment"));
545 pairwiseAlignmentMenuItem.addActionListener(new ActionListener()
548 public void actionPerformed(ActionEvent e)
550 pairwiseAlignmentMenuItem_actionPerformed(e);
554 this.getContentPane().setLayout(new BorderLayout());
555 alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
556 statusBar.setBackground(Color.white);
557 statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
558 statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
559 statusBar.setText(MessageManager.getString("label.status_bar"));
560 outputTextboxMenu.setText(MessageManager
561 .getString("label.out_to_textbox"));
563 annotationPanelMenuItem.setActionCommand("");
564 annotationPanelMenuItem.setText(MessageManager
565 .getString("label.show_annotations"));
566 annotationPanelMenuItem.setState(Cache.getDefault("SHOW_ANNOTATIONS",
568 annotationPanelMenuItem.addActionListener(new ActionListener()
571 public void actionPerformed(ActionEvent e)
573 annotationPanelMenuItem_actionPerformed(e);
576 showAllAlAnnotations.setText(MessageManager
577 .getString("label.show_all_al_annotations"));
578 final boolean isAnnotationPanelShown = annotationPanelMenuItem
580 showAllAlAnnotations.setEnabled(isAnnotationPanelShown);
581 showAllAlAnnotations.addActionListener(new ActionListener()
584 public void actionPerformed(ActionEvent e)
586 showAllAnnotations_actionPerformed(false, true);
589 hideAllAlAnnotations.setText(MessageManager
590 .getString("label.hide_all_al_annotations"));
591 hideAllAlAnnotations.setEnabled(isAnnotationPanelShown);
592 hideAllAlAnnotations.addActionListener(new ActionListener()
595 public void actionPerformed(ActionEvent e)
597 hideAllAnnotations_actionPerformed(false, true);
600 showAllSeqAnnotations.setText(MessageManager
601 .getString("label.show_all_seq_annotations"));
602 showAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
603 showAllSeqAnnotations.addActionListener(new ActionListener()
606 public void actionPerformed(ActionEvent e)
608 showAllAnnotations_actionPerformed(true, false);
611 hideAllSeqAnnotations.setText(MessageManager
612 .getString("label.hide_all_seq_annotations"));
613 hideAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
614 hideAllSeqAnnotations.addActionListener(new ActionListener()
617 public void actionPerformed(ActionEvent e)
619 hideAllAnnotations_actionPerformed(true, false);
622 SequenceAnnotationOrder sortAnnotationsBy = SequenceAnnotationOrder
623 .valueOf(Cache.getDefault(Preferences.SORT_ANNOTATIONS,
624 SequenceAnnotationOrder.NONE.name()));
625 final JCheckBoxMenuItem sortAnnBySequence = new JCheckBoxMenuItem(
626 MessageManager.getString("label.sort_annotations_by_sequence"));
627 final JCheckBoxMenuItem sortAnnByLabel = new JCheckBoxMenuItem(
628 MessageManager.getString("label.sort_annotations_by_label"));
631 .setSelected(sortAnnotationsBy == SequenceAnnotationOrder.SEQUENCE_AND_LABEL);
632 sortAnnBySequence.addActionListener(new ActionListener()
635 public void actionPerformed(ActionEvent e)
637 boolean newState = sortAnnBySequence.getState();
638 sortAnnByLabel.setSelected(false);
639 setAnnotationSortOrder(newState ? SequenceAnnotationOrder.SEQUENCE_AND_LABEL
640 : SequenceAnnotationOrder.NONE);
641 sortAnnotations_actionPerformed();
645 .setSelected(sortAnnotationsBy == SequenceAnnotationOrder.LABEL_AND_SEQUENCE);
646 sortAnnByLabel.addActionListener(new ActionListener()
649 public void actionPerformed(ActionEvent e)
651 boolean newState = sortAnnByLabel.getState();
652 sortAnnBySequence.setSelected(false);
653 setAnnotationSortOrder(newState ? SequenceAnnotationOrder.LABEL_AND_SEQUENCE
654 : SequenceAnnotationOrder.NONE);
655 sortAnnotations_actionPerformed();
658 colourTextMenuItem = new JCheckBoxMenuItem(
660 .getString("label.colour_text"));
661 colourTextMenuItem.addActionListener(new ActionListener()
664 public void actionPerformed(ActionEvent e)
666 colourTextMenuItem_actionPerformed(e);
670 JMenuItem htmlMenuItem = new JMenuItem(
671 MessageManager.getString("label.html"));
672 htmlMenuItem.addActionListener(new ActionListener()
675 public void actionPerformed(ActionEvent e)
677 htmlMenuItem_actionPerformed(e);
681 JMenuItem createBioJS = new JMenuItem(
682 MessageManager.getString("label.biojs_html_export"));
683 createBioJS.addActionListener(new java.awt.event.ActionListener()
686 public void actionPerformed(ActionEvent e)
688 bioJSMenuItem_actionPerformed(e);
692 JMenuItem overviewMenuItem = new JMenuItem(
693 MessageManager.getString("label.overview_window"));
694 overviewMenuItem.addActionListener(new ActionListener()
697 public void actionPerformed(ActionEvent e)
699 overviewMenuItem_actionPerformed(e);
703 undoMenuItem.setEnabled(false);
704 undoMenuItem.setText(MessageManager.getString("action.undo"));
705 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z, Toolkit
706 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
707 al = new ActionListener()
710 public void actionPerformed(ActionEvent e)
712 undoMenuItem_actionPerformed(e);
715 addMenuActionAndAccelerator(keyStroke, undoMenuItem, al);
717 redoMenuItem.setEnabled(false);
718 redoMenuItem.setText(MessageManager.getString("action.redo"));
719 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y, Toolkit
720 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
721 al = new ActionListener()
724 public void actionPerformed(ActionEvent e)
726 redoMenuItem_actionPerformed(e);
729 addMenuActionAndAccelerator(keyStroke, redoMenuItem, al);
731 wrapMenuItem.setText(MessageManager.getString("label.wrap"));
732 wrapMenuItem.addActionListener(new ActionListener()
735 public void actionPerformed(ActionEvent e)
737 wrapMenuItem_actionPerformed(e);
741 JMenuItem printMenuItem = new JMenuItem(
742 MessageManager.getString("action.print"));
743 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P, Toolkit
744 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
745 al = new ActionListener()
748 public void actionPerformed(ActionEvent e)
750 printMenuItem_actionPerformed(e);
753 addMenuActionAndAccelerator(keyStroke, printMenuItem, al);
756 .setText(MessageManager.getString("action.show_gaps"));
757 renderGapsMenuItem.setState(true);
758 renderGapsMenuItem.addActionListener(new ActionListener()
761 public void actionPerformed(ActionEvent e)
763 renderGapsMenuItem_actionPerformed(e);
767 JMenuItem findMenuItem = new JMenuItem(
768 MessageManager.getString("action.find"));
769 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F, Toolkit
770 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
771 findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true,
772 MessageManager.getString("label.find_tip")));
773 al = new ActionListener()
776 public void actionPerformed(ActionEvent e)
778 findMenuItem_actionPerformed(e);
781 addMenuActionAndAccelerator(keyStroke, findMenuItem, al);
783 showSeqFeatures.setText(MessageManager
784 .getString("label.show_sequence_features"));
785 showSeqFeatures.addActionListener(new ActionListener()
788 public void actionPerformed(ActionEvent actionEvent)
790 showSeqFeatures_actionPerformed(actionEvent);
794 * showSeqFeaturesHeight.setText("Vary Sequence Feature Height");
795 * showSeqFeaturesHeight.addActionListener(new ActionListener() { public
796 * void actionPerformed(ActionEvent actionEvent) {
797 * showSeqFeaturesHeight_actionPerformed(actionEvent); } });
799 showDbRefsMenuitem.setText(MessageManager
800 .getString("label.show_database_refs"));
801 showDbRefsMenuitem.addActionListener(new ActionListener()
805 public void actionPerformed(ActionEvent e)
807 showDbRefs_actionPerformed(e);
811 showNpFeatsMenuitem.setText(MessageManager
812 .getString("label.show_non_positional_features"));
813 showNpFeatsMenuitem.addActionListener(new ActionListener()
817 public void actionPerformed(ActionEvent e)
819 showNpFeats_actionPerformed(e);
823 showGroupConservation.setText(MessageManager
824 .getString("label.group_conservation"));
825 showGroupConservation.addActionListener(new ActionListener()
829 public void actionPerformed(ActionEvent e)
831 showGroupConservation_actionPerformed(e);
836 showGroupConsensus.setText(MessageManager
837 .getString("label.group_consensus"));
838 showGroupConsensus.addActionListener(new ActionListener()
842 public void actionPerformed(ActionEvent e)
844 showGroupConsensus_actionPerformed(e);
848 showConsensusHistogram.setText(MessageManager
849 .getString("label.show_consensus_histogram"));
850 showConsensusHistogram.addActionListener(new ActionListener()
854 public void actionPerformed(ActionEvent e)
856 showConsensusHistogram_actionPerformed(e);
860 showSequenceLogo.setText(MessageManager
861 .getString("label.show_consensus_logo"));
862 showSequenceLogo.addActionListener(new ActionListener()
866 public void actionPerformed(ActionEvent e)
868 showSequenceLogo_actionPerformed(e);
872 normaliseSequenceLogo.setText(MessageManager
873 .getString("label.norm_consensus_logo"));
874 normaliseSequenceLogo.addActionListener(new ActionListener()
878 public void actionPerformed(ActionEvent e)
880 normaliseSequenceLogo_actionPerformed(e);
884 applyAutoAnnotationSettings.setText(MessageManager
885 .getString("label.apply_all_groups"));
886 applyAutoAnnotationSettings.setState(false);
887 applyAutoAnnotationSettings.setVisible(true);
888 applyAutoAnnotationSettings.addActionListener(new ActionListener()
891 public void actionPerformed(ActionEvent e)
893 applyAutoAnnotationSettings_actionPerformed(e);
897 ButtonGroup buttonGroup = new ButtonGroup();
898 final JRadioButtonMenuItem showAutoFirst = new JRadioButtonMenuItem(
899 MessageManager.getString("label.show_first"));
900 final JRadioButtonMenuItem showAutoLast = new JRadioButtonMenuItem(
901 MessageManager.getString("label.show_last"));
902 buttonGroup.add(showAutoFirst);
903 buttonGroup.add(showAutoLast);
904 final boolean autoFirst = Cache.getDefault(
905 Preferences.SHOW_AUTOCALC_ABOVE, false);
906 showAutoFirst.setSelected(autoFirst);
907 setShowAutoCalculatedAbove(autoFirst);
908 showAutoFirst.addActionListener(new ActionListener()
911 public void actionPerformed(ActionEvent e)
913 setShowAutoCalculatedAbove(showAutoFirst.isSelected());
914 sortAnnotations_actionPerformed();
917 showAutoLast.setSelected(!showAutoFirst.isSelected());
918 showAutoLast.addActionListener(new ActionListener()
921 public void actionPerformed(ActionEvent e)
923 setShowAutoCalculatedAbove(!showAutoLast.isSelected());
924 sortAnnotations_actionPerformed();
928 JMenuItem deleteGroups = new JMenuItem(
929 MessageManager.getString("action.undefine_groups"));
930 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U, Toolkit
931 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
932 al = new ActionListener()
935 public void actionPerformed(ActionEvent e)
937 deleteGroups_actionPerformed(e);
940 addMenuActionAndAccelerator(keyStroke, deleteGroups, al);
942 JMenuItem annotationColumn = new JMenuItem(
943 MessageManager.getString("action.select_by_annotation"));
944 annotationColumn.addActionListener(new ActionListener()
947 public void actionPerformed(ActionEvent e)
949 annotationColumn_actionPerformed(e);
953 JMenuItem createGroup = new JMenuItem(
954 MessageManager.getString("action.create_group"));
955 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit
956 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
957 al = new ActionListener()
960 public void actionPerformed(ActionEvent e)
962 createGroup_actionPerformed(e);
965 addMenuActionAndAccelerator(keyStroke, createGroup, al);
967 JMenuItem unGroup = new JMenuItem(
968 MessageManager.getString("action.remove_group"));
969 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit
970 .getDefaultToolkit().getMenuShortcutKeyMask()
971 | KeyEvent.SHIFT_MASK, false);
972 al = new ActionListener()
975 public void actionPerformed(ActionEvent e)
977 unGroup_actionPerformed(e);
980 addMenuActionAndAccelerator(keyStroke, unGroup, al);
982 copy.setText(MessageManager.getString("action.copy"));
983 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit
984 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
986 al = new ActionListener()
989 public void actionPerformed(ActionEvent e)
991 copy_actionPerformed(e);
994 addMenuActionAndAccelerator(keyStroke, copy, al);
996 cut.setText(MessageManager.getString("action.cut"));
997 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, Toolkit
998 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
999 al = new ActionListener()
1002 public void actionPerformed(ActionEvent e)
1004 cut_actionPerformed(e);
1007 addMenuActionAndAccelerator(keyStroke, cut, al);
1009 JMenuItem delete = new JMenuItem(
1010 MessageManager.getString("action.delete"));
1011 delete.addActionListener(new ActionListener()
1014 public void actionPerformed(ActionEvent e)
1016 delete_actionPerformed(e);
1020 pasteMenu.setText(MessageManager.getString("action.paste"));
1021 JMenuItem pasteNew = new JMenuItem(
1022 MessageManager.getString("label.to_new_alignment"));
1023 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit
1024 .getDefaultToolkit().getMenuShortcutKeyMask()
1025 | KeyEvent.SHIFT_MASK, false);
1026 al = new ActionListener()
1029 public void actionPerformed(ActionEvent e)
1033 pasteNew_actionPerformed(e);
1034 } catch (IOException | InterruptedException e1)
1036 // TODO Auto-generated catch block
1037 e1.printStackTrace();
1041 addMenuActionAndAccelerator(keyStroke, pasteNew, al);
1043 JMenuItem pasteThis = new JMenuItem(
1044 MessageManager.getString("label.to_this_alignment"));
1045 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit
1046 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1047 al = new ActionListener()
1050 public void actionPerformed(ActionEvent e)
1054 pasteThis_actionPerformed(e);
1055 } catch (IOException | InterruptedException e1)
1057 // TODO Auto-generated catch block
1058 e1.printStackTrace();
1062 addMenuActionAndAccelerator(keyStroke, pasteThis, al);
1064 JMenuItem createPNG = new JMenuItem("PNG");
1065 createPNG.addActionListener(new ActionListener()
1068 public void actionPerformed(ActionEvent e)
1073 createPNG.setActionCommand(MessageManager
1074 .getString("label.save_png_image"));
1076 JMenuItem font = new JMenuItem(MessageManager.getString("action.font"));
1077 font.addActionListener(new ActionListener()
1080 public void actionPerformed(ActionEvent e)
1082 font_actionPerformed(e);
1085 seqLimits.setText(MessageManager
1086 .getString("label.show_sequence_limits"));
1087 seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true));
1088 seqLimits.addActionListener(new ActionListener()
1091 public void actionPerformed(ActionEvent e)
1093 seqLimit_actionPerformed(e);
1096 JMenuItem epsFile = new JMenuItem("EPS");
1097 epsFile.addActionListener(new ActionListener()
1100 public void actionPerformed(ActionEvent e)
1106 JMenuItem createSVG = new JMenuItem("SVG");
1107 createSVG.addActionListener(new ActionListener()
1110 public void actionPerformed(ActionEvent e)
1116 JMenuItem loadTreeMenuItem = new JMenuItem(
1117 MessageManager.getString("label.load_associated_tree"));
1118 loadTreeMenuItem.setActionCommand(MessageManager
1119 .getString("label.load_tree_for_sequence_set"));
1120 loadTreeMenuItem.addActionListener(new ActionListener()
1123 public void actionPerformed(ActionEvent e)
1125 loadTreeMenuItem_actionPerformed(e);
1129 scaleAbove.setVisible(false);
1130 scaleAbove.setText(MessageManager.getString("action.scale_above"));
1131 scaleAbove.addActionListener(new ActionListener()
1134 public void actionPerformed(ActionEvent e)
1136 scaleAbove_actionPerformed(e);
1139 scaleLeft.setVisible(false);
1140 scaleLeft.setSelected(true);
1141 scaleLeft.setText(MessageManager.getString("action.scale_left"));
1142 scaleLeft.addActionListener(new ActionListener()
1145 public void actionPerformed(ActionEvent e)
1147 scaleLeft_actionPerformed(e);
1150 scaleRight.setVisible(false);
1151 scaleRight.setSelected(true);
1152 scaleRight.setText(MessageManager.getString("action.scale_right"));
1153 scaleRight.addActionListener(new ActionListener()
1156 public void actionPerformed(ActionEvent e)
1158 scaleRight_actionPerformed(e);
1161 centreColumnLabelsMenuItem.setVisible(true);
1162 centreColumnLabelsMenuItem.setState(false);
1163 centreColumnLabelsMenuItem.setText(MessageManager
1164 .getString("label.centre_column_labels"));
1165 centreColumnLabelsMenuItem.addActionListener(new ActionListener()
1168 public void actionPerformed(ActionEvent e)
1170 centreColumnLabels_actionPerformed(e);
1173 followHighlightMenuItem.setVisible(true);
1174 followHighlightMenuItem.setState(true);
1175 followHighlightMenuItem.setText(MessageManager
1176 .getString("label.automatic_scrolling"));
1177 followHighlightMenuItem.addActionListener(new ActionListener()
1181 public void actionPerformed(ActionEvent e)
1183 followHighlight_actionPerformed();
1189 .setText(MessageManager.getString("action.by_tree_order"));
1190 sort.setText(MessageManager.getString("action.sort"));
1191 sort.addMenuListener(new MenuListener()
1194 public void menuSelected(MenuEvent e)
1196 buildTreeSortMenu();
1200 public void menuDeselected(MenuEvent e)
1205 public void menuCanceled(MenuEvent e)
1209 sortByAnnotScore.setText(MessageManager
1210 .getString("label.sort_by_score"));
1211 sort.add(sortByAnnotScore);
1212 sort.addMenuListener(new javax.swing.event.MenuListener()
1216 public void menuCanceled(MenuEvent e)
1221 public void menuDeselected(MenuEvent e)
1226 public void menuSelected(MenuEvent e)
1228 buildSortByAnnotationScoresMenu();
1231 sortByAnnotScore.setVisible(false);
1233 calculateTree.setText(MessageManager
1234 .getString("action.calculate_tree_pca"));
1236 padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps"));
1237 padGapsMenuitem.setState(jalview.bin.Cache
1238 .getDefault("PAD_GAPS", false));
1239 padGapsMenuitem.addActionListener(new ActionListener()
1242 public void actionPerformed(ActionEvent e)
1244 padGapsMenuitem_actionPerformed(e);
1247 JMenuItem vamsasStore = new JMenuItem(
1248 MessageManager.getString("label.vamsas_store"));
1249 vamsasStore.setVisible(false);
1250 vamsasStore.addActionListener(new ActionListener()
1253 public void actionPerformed(ActionEvent e)
1255 vamsasStore_actionPerformed(e);
1258 showTranslation.setText(MessageManager
1259 .getString("label.translate_cDNA"));
1260 showTranslation.addActionListener(new ActionListener()
1263 public void actionPerformed(ActionEvent e)
1265 showTranslation_actionPerformed(e);
1268 showReverse.setText(MessageManager.getString("label.reverse"));
1269 showReverse.addActionListener(new ActionListener()
1272 public void actionPerformed(ActionEvent e)
1274 showReverse_actionPerformed(false);
1277 showReverseComplement.setText(MessageManager
1278 .getString("label.reverse_complement"));
1279 showReverseComplement.addActionListener(new ActionListener()
1282 public void actionPerformed(ActionEvent e)
1284 showReverse_actionPerformed(true);
1288 JMenuItem extractScores = new JMenuItem(
1289 MessageManager.getString("label.extract_scores"));
1290 extractScores.addActionListener(new ActionListener()
1293 public void actionPerformed(ActionEvent e)
1295 extractScores_actionPerformed(e);
1298 extractScores.setVisible(true);
1299 // JBPNote: TODO: make gui for regex based score extraction
1301 // for show products actions see AlignFrame.canShowProducts
1302 showProducts.setText(MessageManager.getString("label.get_cross_refs"));
1304 runGroovy.setText(MessageManager.getString("label.run_groovy"));
1305 runGroovy.setToolTipText(MessageManager
1306 .getString("label.run_groovy_tip"));
1307 runGroovy.addActionListener(new ActionListener()
1310 public void actionPerformed(ActionEvent e)
1312 runGroovy_actionPerformed();
1316 JMenuItem openFeatureSettings = new JMenuItem(
1317 MessageManager.getString("action.feature_settings"));
1318 openFeatureSettings.addActionListener(new ActionListener()
1321 public void actionPerformed(ActionEvent e)
1323 featureSettings_actionPerformed(e);
1326 JMenuItem fetchSequence = new JMenuItem(
1327 MessageManager.getString("label.fetch_sequences"));
1328 fetchSequence.addActionListener(new ActionListener()
1331 public void actionPerformed(ActionEvent e)
1333 fetchSequence_actionPerformed(e);
1337 JMenuItem associatedData = new JMenuItem(
1338 MessageManager.getString("label.load_features_annotations"));
1339 associatedData.addActionListener(new ActionListener()
1342 public void actionPerformed(ActionEvent e)
1346 associatedData_actionPerformed(e);
1347 } catch (IOException | InterruptedException e1)
1349 // TODO Auto-generated catch block
1350 e1.printStackTrace();
1354 autoCalculate.setText(MessageManager
1355 .getString("label.autocalculate_consensus"));
1356 autoCalculate.setState(jalview.bin.Cache.getDefault(
1357 "AUTO_CALC_CONSENSUS", true));
1358 autoCalculate.addActionListener(new ActionListener()
1361 public void actionPerformed(ActionEvent e)
1363 autoCalculate_actionPerformed(e);
1366 sortByTree.setText(MessageManager
1367 .getString("label.sort_alignment_new_tree"));
1369 .setToolTipText("<html>"
1371 .getString("label.enable_automatically_sort_alignment_when_open_new_tree"));
1373 .setState(jalview.bin.Cache.getDefault("SORT_BY_TREE", false));
1374 sortByTree.addActionListener(new ActionListener()
1377 public void actionPerformed(ActionEvent e)
1379 sortByTreeOption_actionPerformed(e);
1383 listenToViewSelections.setText(MessageManager
1384 .getString("label.listen_for_selections"));
1385 listenToViewSelections
1386 .setToolTipText("<html>"
1388 .getString("label.selections_mirror_selections_made_same_sequences_other_views"));
1389 listenToViewSelections.setState(false);
1390 listenToViewSelections.addActionListener(new ActionListener()
1393 public void actionPerformed(ActionEvent e)
1395 listenToViewSelections_actionPerformed(e);
1399 JMenu addSequenceMenu = new JMenu(
1400 MessageManager.getString("label.add_sequences"));
1401 JMenuItem addFromFile = new JMenuItem(
1402 MessageManager.getString("label.from_file"));
1403 addFromFile.addActionListener(new ActionListener()
1406 public void actionPerformed(ActionEvent e)
1408 addFromFile_actionPerformed(e);
1411 JMenuItem addFromText = new JMenuItem(
1412 MessageManager.getString("label.from_textbox"));
1413 addFromText.addActionListener(new ActionListener()
1416 public void actionPerformed(ActionEvent e)
1418 addFromText_actionPerformed(e);
1421 JMenuItem addFromURL = new JMenuItem(
1422 MessageManager.getString("label.from_url"));
1423 addFromURL.addActionListener(new ActionListener()
1426 public void actionPerformed(ActionEvent e)
1428 addFromURL_actionPerformed(e);
1431 JMenuItem exportFeatures = new JMenuItem(
1432 MessageManager.getString("label.export_features"));
1433 exportFeatures.addActionListener(new ActionListener()
1436 public void actionPerformed(ActionEvent e)
1438 exportFeatures_actionPerformed(e);
1441 JMenuItem exportAnnotations = new JMenuItem(
1442 MessageManager.getString("label.export_annotations"));
1443 exportAnnotations.addActionListener(new ActionListener()
1446 public void actionPerformed(ActionEvent e)
1448 exportAnnotations_actionPerformed(e);
1451 statusPanel.setLayout(new GridLayout());
1452 JMenuItem showAllSeqs = new JMenuItem(
1453 MessageManager.getString("label.all_sequences"));
1454 showAllSeqs.setToolTipText(MessageManager
1455 .getString("label.toggle_sequence_visibility"));
1456 showAllSeqs.addActionListener(new ActionListener()
1459 public void actionPerformed(ActionEvent e)
1461 showAllSeqs_actionPerformed(e);
1464 JMenuItem showAllColumns = new JMenuItem(
1465 MessageManager.getString("label.all_columns"));
1466 showAllColumns.setToolTipText(MessageManager
1467 .getString("label.toggle_columns_visibility"));
1468 showAllColumns.addActionListener(new ActionListener()
1471 public void actionPerformed(ActionEvent e)
1473 showAllColumns_actionPerformed(e);
1476 JMenu hideMenu = new JMenu(MessageManager.getString("action.hide"));
1477 JMenuItem hideSelSequences = new JMenuItem(
1478 MessageManager.getString("label.selected_sequences"));
1479 hideSelSequences.setToolTipText(MessageManager
1480 .getString("label.toggle_sequence_visibility"));
1481 hideSelSequences.addActionListener(new ActionListener()
1484 public void actionPerformed(ActionEvent e)
1486 hideSelSequences_actionPerformed(e);
1489 JMenuItem hideSelColumns = new JMenuItem(
1490 MessageManager.getString("label.selected_columns"));
1491 hideSelColumns.setToolTipText(MessageManager
1492 .getString("label.toggle_columns_visibility"));
1493 hideSelColumns.addActionListener(new ActionListener()
1496 public void actionPerformed(ActionEvent e)
1498 hideSelColumns_actionPerformed(e);
1501 JMenuItem hideAllSelection = new JMenuItem(
1502 MessageManager.getString("label.selected_region"));
1503 hideAllSelection.addActionListener(new ActionListener()
1506 public void actionPerformed(ActionEvent e)
1508 hideAllSelection_actionPerformed(e);
1511 // TODO: should be hidden if no selection exists.
1512 JMenuItem hideAllButSelection = new JMenuItem(
1513 MessageManager.getString("label.all_but_selected_region"));
1514 hideAllButSelection.addActionListener(new ActionListener()
1517 public void actionPerformed(ActionEvent e)
1519 hideAllButSelection_actionPerformed(e);
1522 JMenuItem showAllhidden = new JMenuItem(
1523 MessageManager.getString("label.all_sequences_columns"));
1524 showAllhidden.setToolTipText(MessageManager
1525 .getString("label.toggles_visibility_hidden_selected_regions"));
1526 showAllhidden.addActionListener(new ActionListener()
1529 public void actionPerformed(ActionEvent e)
1531 showAllhidden_actionPerformed(e);
1534 hiddenMarkers.setText(MessageManager
1535 .getString("action.show_hidden_markers"));
1536 hiddenMarkers.addActionListener(new ActionListener()
1539 public void actionPerformed(ActionEvent e)
1541 hiddenMarkers_actionPerformed(e);
1545 JMenuItem invertColSel = new JMenuItem(
1546 MessageManager.getString("action.invert_column_selection"));
1547 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, Toolkit
1548 .getDefaultToolkit().getMenuShortcutKeyMask()
1549 | KeyEvent.ALT_MASK, false);
1550 al = new ActionListener()
1553 public void actionPerformed(ActionEvent e)
1555 invertColSel_actionPerformed(e);
1558 addMenuActionAndAccelerator(keyStroke, invertColSel, al);
1560 showComplementMenuItem.setVisible(false);
1561 showComplementMenuItem.addActionListener(new ActionListener()
1564 public void actionPerformed(ActionEvent e)
1566 showComplement_actionPerformed(showComplementMenuItem.getState());
1570 tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
1573 public void stateChanged(ChangeEvent evt)
1575 JTabbedPane pane = (JTabbedPane) evt.getSource();
1576 int sel = pane.getSelectedIndex();
1577 tabSelectionChanged(sel);
1580 tabbedPane.addMouseListener(new MouseAdapter()
1583 public void mousePressed(MouseEvent e)
1585 if (e.isPopupTrigger()) // Mac
1587 tabbedPane_mousePressed(e);
1592 public void mouseReleased(MouseEvent e)
1594 if (e.isPopupTrigger()) // Windows
1596 tabbedPane_mousePressed(e);
1600 tabbedPane.addFocusListener(new FocusAdapter()
1603 public void focusGained(FocusEvent e)
1605 tabbedPane_focusGained(e);
1609 JMenuItem save = new JMenuItem(MessageManager.getString("action.save"));
1610 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit
1611 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1612 al = new ActionListener()
1615 public void actionPerformed(ActionEvent e)
1617 save_actionPerformed(e);
1620 addMenuActionAndAccelerator(keyStroke, save, al);
1622 reload.setEnabled(false);
1623 reload.setText(MessageManager.getString("action.reload"));
1624 reload.addActionListener(new ActionListener()
1627 public void actionPerformed(ActionEvent e)
1629 reload_actionPerformed(e);
1633 JMenuItem newView = new JMenuItem(
1634 MessageManager.getString("action.new_view"));
1635 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit
1636 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1637 al = new ActionListener()
1640 public void actionPerformed(ActionEvent e)
1642 newView_actionPerformed(e);
1645 addMenuActionAndAccelerator(keyStroke, newView, al);
1647 tabbedPane.setToolTipText("<html><i>"
1648 + MessageManager.getString("label.rename_tab_eXpand_reGroup")
1651 formatMenu.setText(MessageManager.getString("action.format"));
1652 JMenu selectMenu = new JMenu(MessageManager.getString("action.select"));
1654 idRightAlign.setText(MessageManager
1655 .getString("label.right_align_sequence_id"));
1656 idRightAlign.addActionListener(new ActionListener()
1659 public void actionPerformed(ActionEvent e)
1661 idRightAlign_actionPerformed(e);
1665 gatherViews.setEnabled(false);
1666 gatherViews.setText(MessageManager.getString("action.gather_views"));
1667 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, 0, false);
1668 al = new ActionListener()
1671 public void actionPerformed(ActionEvent e)
1673 gatherViews_actionPerformed(e);
1676 addMenuActionAndAccelerator(keyStroke, gatherViews, al);
1678 expandViews.setEnabled(false);
1679 expandViews.setText(MessageManager.getString("action.expand_views"));
1680 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, 0, false);
1681 al = new ActionListener()
1684 public void actionPerformed(ActionEvent e)
1686 expandViews_actionPerformed(e);
1689 addMenuActionAndAccelerator(keyStroke, expandViews, al);
1691 JMenuItem pageSetup = new JMenuItem(
1692 MessageManager.getString("action.page_setup"));
1693 pageSetup.addActionListener(new ActionListener()
1696 public void actionPerformed(ActionEvent e)
1698 pageSetup_actionPerformed(e);
1701 JMenuItem alignmentProperties = new JMenuItem(
1702 MessageManager.getString("label.alignment_props"));
1703 alignmentProperties.addActionListener(new ActionListener()
1706 public void actionPerformed(ActionEvent actionEvent)
1708 alignmentProperties();
1711 JMenuItem selectHighlighted = new JMenuItem(
1712 MessageManager.getString("action.select_highlighted_columns"));
1713 selectHighlighted.setToolTipText(MessageManager
1714 .getString("tooltip.select_highlighted_columns"));
1715 al = new ActionListener()
1718 public void actionPerformed(ActionEvent actionEvent)
1720 selectHighlightedColumns_actionPerformed(actionEvent);
1723 hmmBuild.setText(MessageManager.getString("label.hmmbuild"));
1724 hmmBuild.addActionListener(new ActionListener()
1728 public void actionPerformed(ActionEvent e)
1732 hmmBuild_actionPerformed(e);
1733 } catch (IOException e1)
1735 // TODO Auto-generated catch block
1736 e1.printStackTrace();
1737 } catch (InterruptedException e1)
1739 // TODO Auto-generated catch block
1740 e1.printStackTrace();
1745 hmmAlign.setText(MessageManager.getString("label.hmmalign"));
1746 hmmAlign.addActionListener(new ActionListener()
1750 public void actionPerformed(ActionEvent e)
1754 hmmAlign_actionPerformed(e);
1755 } catch (IOException e1)
1757 // TODO Auto-generated catch block
1758 e1.printStackTrace();
1759 } catch (InterruptedException e1)
1761 // TODO Auto-generated catch block
1762 e1.printStackTrace();
1767 selectHighlighted.addActionListener(al);
1768 JMenu tooltipSettingsMenu = new JMenu(
1769 MessageManager.getString("label.sequence_id_tooltip"));
1770 JMenu autoAnnMenu = new JMenu(
1771 MessageManager.getString("label.autocalculated_annotation"));
1773 JMenu exportImageMenu = new JMenu(
1774 MessageManager.getString("label.export_image"));
1775 JMenu fileMenu = new JMenu(MessageManager.getString("action.file"));
1776 alignFrameMenuBar.add(fileMenu);
1777 alignFrameMenuBar.add(editMenu);
1778 alignFrameMenuBar.add(selectMenu);
1779 alignFrameMenuBar.add(viewMenu);
1780 alignFrameMenuBar.add(annotationsMenu);
1781 alignFrameMenuBar.add(formatMenu);
1782 alignFrameMenuBar.add(colourMenu);
1783 alignFrameMenuBar.add(calculateMenu);
1784 alignFrameMenuBar.add(webService);
1785 alignFrameMenuBar.add(hmmerMenu);
1787 fileMenu.add(fetchSequence);
1788 fileMenu.add(addSequenceMenu);
1789 fileMenu.add(reload);
1790 fileMenu.addSeparator();
1791 fileMenu.add(vamsasStore);
1793 fileMenu.add(saveAs);
1794 fileMenu.add(outputTextboxMenu);
1795 fileMenu.add(pageSetup);
1796 fileMenu.add(printMenuItem);
1797 fileMenu.addSeparator();
1798 fileMenu.add(exportImageMenu);
1799 fileMenu.add(exportFeatures);
1800 fileMenu.add(exportAnnotations);
1801 fileMenu.add(loadTreeMenuItem);
1802 fileMenu.add(associatedData);
1803 fileMenu.addSeparator();
1804 fileMenu.add(closeMenuItem);
1806 pasteMenu.add(pasteNew);
1807 pasteMenu.add(pasteThis);
1808 editMenu.add(undoMenuItem);
1809 editMenu.add(redoMenuItem);
1812 editMenu.add(pasteMenu);
1813 editMenu.add(delete);
1814 editMenu.addSeparator();
1815 editMenu.add(remove2LeftMenuItem);
1816 editMenu.add(remove2RightMenuItem);
1817 editMenu.add(removeGappedColumnMenuItem);
1818 editMenu.add(removeAllGapsMenuItem);
1819 editMenu.add(removeRedundancyMenuItem);
1820 editMenu.addSeparator();
1821 // dont add these yet in the CVS build - they cannot be undone!
1822 // Excluded from Jalview 2.5 release - undo needs to be implemented.
1823 // editMenu.add(justifyLeftMenuItem);
1824 // editMenu.add(justifyRightMenuItem);
1825 // editMenu.addSeparator();
1826 editMenu.add(padGapsMenuitem);
1828 showMenu.add(showAllColumns);
1829 showMenu.add(showAllSeqs);
1830 showMenu.add(showAllhidden);
1831 hideMenu.add(hideSelColumns);
1832 hideMenu.add(hideSelSequences);
1833 hideMenu.add(hideAllSelection);
1834 hideMenu.add(hideAllButSelection);
1835 viewMenu.add(newView);
1836 viewMenu.add(expandViews);
1837 viewMenu.add(gatherViews);
1838 viewMenu.addSeparator();
1839 viewMenu.add(showMenu);
1840 viewMenu.add(hideMenu);
1841 viewMenu.add(showComplementMenuItem);
1842 viewMenu.addSeparator();
1843 viewMenu.add(followHighlightMenuItem);
1844 viewMenu.addSeparator();
1845 viewMenu.add(showSeqFeatures);
1846 // viewMenu.add(showSeqFeaturesHeight);
1847 viewMenu.add(openFeatureSettings);
1848 tooltipSettingsMenu.add(showDbRefsMenuitem);
1849 tooltipSettingsMenu.add(showNpFeatsMenuitem);
1850 viewMenu.add(tooltipSettingsMenu);
1851 viewMenu.addSeparator();
1852 viewMenu.add(alignmentProperties);
1853 viewMenu.addSeparator();
1854 viewMenu.add(overviewMenuItem);
1856 annotationsMenu.add(annotationPanelMenuItem);
1857 annotationsMenu.addSeparator();
1858 annotationsMenu.add(showAllAlAnnotations);
1859 annotationsMenu.add(hideAllAlAnnotations);
1860 annotationsMenu.addSeparator();
1861 annotationsMenu.add(showAllSeqAnnotations);
1862 annotationsMenu.add(hideAllSeqAnnotations);
1863 annotationsMenu.add(sortAnnBySequence);
1864 annotationsMenu.add(sortAnnByLabel);
1865 annotationsMenu.addSeparator();
1866 autoAnnMenu.add(showAutoFirst);
1867 autoAnnMenu.add(showAutoLast);
1868 autoAnnMenu.addSeparator();
1869 autoAnnMenu.add(applyAutoAnnotationSettings);
1870 autoAnnMenu.add(showConsensusHistogram);
1871 autoAnnMenu.add(showSequenceLogo);
1872 autoAnnMenu.add(normaliseSequenceLogo);
1873 autoAnnMenu.addSeparator();
1874 autoAnnMenu.add(showGroupConservation);
1875 autoAnnMenu.add(showGroupConsensus);
1876 annotationsMenu.add(autoAnnMenu);
1879 sort.add(sortIDMenuItem);
1880 sort.add(sortLengthMenuItem);
1881 sort.add(sortGroupMenuItem);
1882 sort.add(sortPairwiseMenuItem);
1883 sort.add(sortByTreeMenu);
1884 calculateMenu.add(sort);
1885 calculateMenu.add(calculateTree);
1886 calculateMenu.addSeparator();
1887 calculateMenu.add(pairwiseAlignmentMenuItem);
1888 calculateMenu.addSeparator();
1889 calculateMenu.add(showTranslation);
1890 calculateMenu.add(showReverse);
1891 calculateMenu.add(showReverseComplement);
1892 calculateMenu.add(showProducts);
1893 calculateMenu.add(autoCalculate);
1894 calculateMenu.add(sortByTree);
1895 calculateMenu.addSeparator();
1896 calculateMenu.add(expandAlignment);
1897 calculateMenu.add(extractScores);
1898 calculateMenu.addSeparator();
1899 calculateMenu.add(runGroovy);
1901 webServiceNoServices = new JMenuItem(
1902 MessageManager.getString("label.no_services"));
1903 webService.add(webServiceNoServices);
1904 exportImageMenu.add(htmlMenuItem);
1905 exportImageMenu.add(epsFile);
1906 exportImageMenu.add(createPNG);
1907 exportImageMenu.add(createBioJS);
1908 exportImageMenu.add(createSVG);
1909 addSequenceMenu.add(addFromFile);
1910 addSequenceMenu.add(addFromText);
1911 addSequenceMenu.add(addFromURL);
1912 this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
1913 statusPanel.add(statusBar, null);
1914 this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
1916 formatMenu.add(font);
1917 formatMenu.addSeparator();
1918 formatMenu.add(wrapMenuItem);
1919 formatMenu.add(scaleAbove);
1920 formatMenu.add(scaleLeft);
1921 formatMenu.add(scaleRight);
1922 formatMenu.add(seqLimits);
1923 formatMenu.add(idRightAlign);
1924 formatMenu.add(hiddenMarkers);
1925 formatMenu.add(viewBoxesMenuItem);
1926 formatMenu.add(viewTextMenuItem);
1927 formatMenu.add(colourTextMenuItem);
1928 formatMenu.add(renderGapsMenuItem);
1929 formatMenu.add(centreColumnLabelsMenuItem);
1930 formatMenu.add(showNonconservedMenuItem);
1931 selectMenu.add(findMenuItem);
1932 selectMenu.addSeparator();
1933 selectMenu.add(selectAllSequenceMenuItem);
1934 selectMenu.add(deselectAllSequenceMenuItem);
1935 selectMenu.add(invertSequenceMenuItem);
1936 selectMenu.add(invertColSel);
1937 selectMenu.add(createGroup);
1938 selectMenu.add(unGroup);
1939 selectMenu.add(grpsFromSelection);
1940 selectMenu.add(deleteGroups);
1941 selectMenu.add(annotationColumn);
1942 selectMenu.add(selectHighlighted);
1943 // TODO - determine if the listenToViewSelections button is needed : see bug
1945 // selectMenu.addSeparator();
1946 // selectMenu.add(listenToViewSelections);
1950 * Constructs the entries on the Colour menu (but does not add them to the
1953 protected void initHMMERMenu()
1955 hmmAlign = new JMenuItem(MessageManager.getString("label.hmmalign"));
1956 hmmBuild = new JMenuItem(MessageManager.getString("label.hmmbuild"));
1957 hmmSearch = new JMenuItem(MessageManager.getString("label.hmmsearch"));
1959 protected void initColourMenu()
1961 applyToAllGroups = new JCheckBoxMenuItem(
1962 MessageManager.getString("label.apply_colour_to_all_groups"));
1963 applyToAllGroups.addActionListener(new ActionListener()
1966 public void actionPerformed(ActionEvent e)
1968 applyToAllGroups_actionPerformed(applyToAllGroups.isSelected());
1972 textColour = new JMenuItem(
1973 MessageManager.getString("label.text_colour"));
1974 textColour.addActionListener(new ActionListener()
1977 public void actionPerformed(ActionEvent e)
1979 textColour_actionPerformed();
1983 conservationMenuItem = new JCheckBoxMenuItem(
1984 MessageManager.getString("action.by_conservation"));
1985 conservationMenuItem.addActionListener(new ActionListener()
1988 public void actionPerformed(ActionEvent e)
1990 conservationMenuItem_actionPerformed(conservationMenuItem
1995 abovePIDThreshold = new JCheckBoxMenuItem(
1996 MessageManager.getString("label.above_identity_threshold"));
1997 abovePIDThreshold.addActionListener(new ActionListener()
2000 public void actionPerformed(ActionEvent e)
2002 abovePIDThreshold_actionPerformed(abovePIDThreshold.isSelected());
2005 modifyPID = new JMenuItem(
2006 MessageManager.getString("label.modify_identity_threshold"));
2007 modifyPID.addActionListener(new ActionListener()
2010 public void actionPerformed(ActionEvent e)
2012 modifyPID_actionPerformed();
2015 modifyConservation = new JMenuItem(
2017 .getString("label.modify_conservation_threshold"));
2018 modifyConservation.addActionListener(new ActionListener()
2021 public void actionPerformed(ActionEvent e)
2023 modifyConservation_actionPerformed();
2027 annotationColour = new JMenuItem(
2028 MessageManager.getString("action.by_annotation"));
2029 annotationColour.addActionListener(new ActionListener()
2032 public void actionPerformed(ActionEvent e)
2034 annotationColour_actionPerformed();
2039 protected void selectHighlightedColumns_actionPerformed(
2040 ActionEvent actionEvent)
2042 // TODO Auto-generated method stub
2047 * Generate the reverse sequence (or reverse complement if the flag is true)
2048 * and add it to the alignment
2052 protected void showReverse_actionPerformed(boolean complement)
2057 * Try to run script in a Groovy console, having first ensured that this
2058 * alignframe is set as currentAlignFrame in Desktop
2060 protected void runGroovy_actionPerformed()
2066 * Adds the given action listener and key accelerator to the given menu item.
2067 * Also saves in a lookup table to support lookup of action by key stroke.
2071 * @param actionListener
2073 protected void addMenuActionAndAccelerator(KeyStroke keyStroke,
2074 JMenuItem menuItem, ActionListener actionListener)
2076 menuItem.setAccelerator(keyStroke);
2077 accelerators.put(keyStroke, menuItem);
2078 menuItem.addActionListener(actionListener);
2082 * Action on clicking sort annotations by type.
2086 protected void sortAnnotations_actionPerformed()
2091 * Action on clicking Show all annotations.
2093 * @param forSequences
2094 * update sequence-related annotations
2095 * @param forAlignment
2096 * update non-sequence-related annotations
2098 protected void showAllAnnotations_actionPerformed(boolean forSequences,
2099 boolean forAlignment)
2101 setAnnotationsVisibility(true, forSequences, forAlignment);
2105 * Action on clicking Hide all annotations.
2107 * @param forSequences
2108 * update sequence-related annotations
2109 * @param forAlignment
2110 * update non-sequence-related annotations
2112 protected void hideAllAnnotations_actionPerformed(boolean forSequences,
2113 boolean forAlignment)
2115 setAnnotationsVisibility(false, forSequences, forAlignment);
2119 * Set the visibility of annotations to true or false. Can act on
2120 * sequence-related annotations, or alignment-related, or both.
2123 * @param forSequences
2124 * update sequence-related annotations
2125 * @param forAlignment
2126 * update non-sequence-related annotations
2128 protected void setAnnotationsVisibility(boolean visible,
2129 boolean forSequences, boolean forAlignment)
2134 protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
2136 // TODO Auto-generated method stub
2140 protected void listenToViewSelections_actionPerformed(ActionEvent e)
2142 // TODO Auto-generated method stub
2146 protected void showAllhidden_actionPerformed(ActionEvent e)
2148 // TODO Auto-generated method stub
2152 protected void hideAllButSelection_actionPerformed(ActionEvent e)
2154 // TODO Auto-generated method stub
2158 protected void hideAllSelection_actionPerformed(ActionEvent e)
2160 // TODO Auto-generated method stub
2164 protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
2166 // TODO Auto-generated method stub
2170 protected void showConsensusHistogram_actionPerformed(ActionEvent e)
2172 // TODO Auto-generated method stub
2176 protected void showSequenceLogo_actionPerformed(ActionEvent e)
2178 // TODO Auto-generated method stub
2182 protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
2184 // TODO Auto-generated method stub
2188 protected void showGroupConsensus_actionPerformed(ActionEvent e)
2190 // TODO Auto-generated method stub
2194 protected void showGroupConservation_actionPerformed(ActionEvent e)
2196 // TODO Auto-generated method stub
2200 protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
2202 // TODO Auto-generated method stub
2206 protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
2208 // TODO Auto-generated method stub
2212 protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
2214 // TODO Auto-generated method stub
2218 protected void followHighlight_actionPerformed()
2220 // TODO Auto-generated method stub
2224 protected void showNpFeats_actionPerformed(ActionEvent e)
2226 // TODO Auto-generated method stub
2230 protected void showDbRefs_actionPerformed(ActionEvent e)
2232 // TODO Auto-generated method stub
2236 protected void centreColumnLabels_actionPerformed(ActionEvent e)
2240 protected void buildSortByAnnotationScoresMenu()
2244 protected void extractScores_actionPerformed(ActionEvent e)
2248 protected void outputText_actionPerformed(ActionEvent e)
2252 public void addFromFile_actionPerformed(ActionEvent e)
2257 public void addFromText_actionPerformed(ActionEvent e)
2262 public void addFromURL_actionPerformed(ActionEvent e)
2267 public void exportFeatures_actionPerformed(ActionEvent e)
2272 public void exportAnnotations_actionPerformed(ActionEvent e)
2277 protected void htmlMenuItem_actionPerformed(ActionEvent e)
2281 protected void bioJSMenuItem_actionPerformed(ActionEvent e)
2286 protected void closeMenuItem_actionPerformed(boolean b)
2290 protected void redoMenuItem_actionPerformed(ActionEvent e)
2294 protected void undoMenuItem_actionPerformed(ActionEvent e)
2298 protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2302 protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2306 protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
2310 protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
2314 protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
2318 protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
2322 protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
2326 protected void wrapMenuItem_actionPerformed(ActionEvent e)
2330 protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
2334 protected void viewTextMenuItem_actionPerformed(ActionEvent e)
2338 protected void colourTextMenuItem_actionPerformed(ActionEvent e)
2342 protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
2346 protected void overviewMenuItem_actionPerformed(ActionEvent e)
2350 protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
2354 protected void sortIDMenuItem_actionPerformed(ActionEvent e)
2358 protected void sortLengthMenuItem_actionPerformed(ActionEvent e)
2362 protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
2366 protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
2370 protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
2374 protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
2378 protected void conservationMenuItem_actionPerformed(boolean selected)
2382 protected void printMenuItem_actionPerformed(ActionEvent e)
2386 protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2390 protected void findMenuItem_actionPerformed(ActionEvent e)
2394 protected void abovePIDThreshold_actionPerformed(boolean selected)
2398 public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2402 protected void deleteGroups_actionPerformed(ActionEvent e)
2406 protected void createGroup_actionPerformed(ActionEvent e)
2410 protected void unGroup_actionPerformed(ActionEvent e)
2414 protected void copy_actionPerformed(ActionEvent e)
2418 protected void cut_actionPerformed(ActionEvent e)
2422 protected void delete_actionPerformed(ActionEvent e)
2426 protected void pasteNew_actionPerformed(ActionEvent e)
2427 throws IOException, InterruptedException
2431 protected void pasteThis_actionPerformed(ActionEvent e)
2432 throws IOException, InterruptedException
2436 protected void applyToAllGroups_actionPerformed(boolean selected)
2440 protected void autoAlignSeqs_actionPerformed(boolean selected)
2444 protected void hmmAlign_actionPerformed(ActionEvent e)
2445 throws IOException, InterruptedException
2449 protected void changeHMMERLocation_actionPerformed(ActionEvent e)
2453 protected void hmmBuild_actionPerformed(ActionEvent e)
2454 throws IOException, InterruptedException
2458 protected void hmmSearch_actionPerformed(ActionEvent e)
2462 public void createPNG(java.io.File f)
2466 protected void font_actionPerformed(ActionEvent e)
2470 protected void seqLimit_actionPerformed(ActionEvent e)
2474 public void seqDBRef_actionPerformed(ActionEvent e)
2479 public void createEPS(java.io.File f)
2483 public void createSVG(java.io.File f)
2488 protected void loadTreeMenuItem_actionPerformed(ActionEvent e)
2494 * Template method to handle the 'load T-Coffee scores' menu event.
2496 * Subclasses override this method to provide a custom action.
2501 protected void loadScores_actionPerformed(ActionEvent event)
2506 protected void jpred_actionPerformed(ActionEvent e)
2510 protected void scaleAbove_actionPerformed(ActionEvent e)
2514 protected void scaleLeft_actionPerformed(ActionEvent e)
2518 protected void scaleRight_actionPerformed(ActionEvent e)
2522 protected void modifyPID_actionPerformed()
2526 protected void modifyConservation_actionPerformed()
2530 protected void saveAs_actionPerformed(ActionEvent e)
2534 protected void padGapsMenuitem_actionPerformed(ActionEvent e)
2538 public void vamsasStore_actionPerformed(ActionEvent e)
2543 public void vamsasLoad_actionPerformed(ActionEvent e)
2548 public void showTranslation_actionPerformed(ActionEvent e)
2553 public void featureSettings_actionPerformed(ActionEvent e)
2558 public void fetchSequence_actionPerformed(ActionEvent e)
2563 public void smoothFont_actionPerformed(ActionEvent e)
2568 public void annotationColour_actionPerformed()
2572 public void annotationColumn_actionPerformed(ActionEvent e)
2576 public void associatedData_actionPerformed(ActionEvent e)
2577 throws IOException, InterruptedException
2582 public void autoCalculate_actionPerformed(ActionEvent e)
2587 public void sortByTreeOption_actionPerformed(ActionEvent e)
2592 public void showAllSeqs_actionPerformed(ActionEvent e)
2597 public void showAllColumns_actionPerformed(ActionEvent e)
2602 public void hideSelSequences_actionPerformed(ActionEvent e)
2607 public void hideSelColumns_actionPerformed(ActionEvent e)
2612 public void hiddenMarkers_actionPerformed(ActionEvent e)
2617 public void findPdbId_actionPerformed(ActionEvent e)
2622 public void enterPdbId_actionPerformed(ActionEvent e)
2627 public void pdbFile_actionPerformed(ActionEvent e)
2632 public void invertColSel_actionPerformed(ActionEvent e)
2637 public void tabSelectionChanged(int sel)
2642 public void tabbedPane_mousePressed(MouseEvent e)
2647 public void tabbedPane_focusGained(FocusEvent e)
2652 public void save_actionPerformed(ActionEvent e)
2657 public void reload_actionPerformed(ActionEvent e)
2662 public void newView_actionPerformed(ActionEvent e)
2667 public void textColour_actionPerformed()
2672 public void idRightAlign_actionPerformed(ActionEvent e)
2677 public void expandViews_actionPerformed(ActionEvent e)
2682 public void gatherViews_actionPerformed(ActionEvent e)
2687 public void buildTreeSortMenu()
2692 public void pageSetup_actionPerformed(ActionEvent e)
2697 public void alignmentProperties()
2702 protected void expand_newalign(ActionEvent e)
2704 // TODO Auto-generated method stub
2708 protected boolean isShowAutoCalculatedAbove()
2710 return showAutoCalculatedAbove;
2713 protected void setShowAutoCalculatedAbove(boolean showAutoCalculatedAbove)
2715 this.showAutoCalculatedAbove = showAutoCalculatedAbove;
2718 protected SequenceAnnotationOrder getAnnotationSortOrder()
2720 return annotationSortOrder;
2723 protected void setAnnotationSortOrder(
2724 SequenceAnnotationOrder annotationSortOrder)
2726 this.annotationSortOrder = annotationSortOrder;
2729 public Map<KeyStroke, JMenuItem> getAccelerators()
2731 return this.accelerators;
2735 * Returns the selected index of the tabbed pane, or -1 if none selected
2736 * (including the case where the tabbed pane has not been made visible).
2740 public int getTabIndex()
2742 return tabbedPane.getSelectedIndex();
2745 public JPanel getStatusPanel()
2751 * Sets a reference to the containing split frame. Also makes the 'toggle
2752 * split view' menu item visible and checked.
2756 public void setSplitFrame(SplitContainerI sf)
2758 this.splitFrame = sf;
2761 this.showComplementMenuItem.setVisible(true);
2762 this.showComplementMenuItem.setState(true);
2766 public SplitContainerI getSplitViewContainer()
2768 return this.splitFrame;
2771 protected void showComplement_actionPerformed(boolean complement)
2775 protected void showInformationHistogram_actionPerformed(ActionEvent e)
2777 // TODO Auto-generated method stub
2781 protected void showHMMSequenceLogo_actionPerformed(ActionEvent e)
2783 // TODO Auto-generated method stub
2787 protected void normaliseHMMSequenceLogo_actionPerformed(ActionEvent e)
2789 // TODO Auto-generated method stub