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.schemes.ColourSchemeProperty;
29 import jalview.util.MessageManager;
31 import java.awt.BorderLayout;
32 import java.awt.Color;
33 import java.awt.GridLayout;
34 import java.awt.Toolkit;
35 import java.awt.event.ActionEvent;
36 import java.awt.event.ActionListener;
37 import java.awt.event.FocusAdapter;
38 import java.awt.event.FocusEvent;
39 import java.awt.event.KeyEvent;
40 import java.awt.event.MouseAdapter;
41 import java.awt.event.MouseEvent;
42 import java.util.HashMap;
45 import javax.swing.BorderFactory;
46 import javax.swing.ButtonGroup;
47 import javax.swing.JCheckBoxMenuItem;
48 import javax.swing.JInternalFrame;
49 import javax.swing.JLabel;
50 import javax.swing.JMenu;
51 import javax.swing.JMenuBar;
52 import javax.swing.JMenuItem;
53 import javax.swing.JOptionPane;
54 import javax.swing.JPanel;
55 import javax.swing.JRadioButtonMenuItem;
56 import javax.swing.JTabbedPane;
57 import javax.swing.KeyStroke;
58 import javax.swing.SwingUtilities;
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 colourMenu = new JMenu();
71 protected JMenu webService = new JMenu();
73 protected JMenuItem webServiceNoServices;
75 public JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
77 public JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
79 protected JMenu sortByAnnotScore = new JMenu();
81 public JLabel statusBar = new JLabel();
83 protected JMenu outputTextboxMenu = new JMenu();
85 protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();
87 protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();
89 protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();
91 protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem();
93 protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();
95 protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();
97 protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();
99 protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();
101 protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();
103 protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();
105 protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();
107 protected JRadioButtonMenuItem nucleotideColour = new JRadioButtonMenuItem();
109 protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem();
111 protected JRadioButtonMenuItem RNAInteractionColour = new JRadioButtonMenuItem();
113 // protected JRadioButtonMenuItem covariationColour = new
114 // JRadioButtonMenuItem();
116 protected JRadioButtonMenuItem tcoffeeColour = new JRadioButtonMenuItem();
118 public JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
120 public JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
122 public JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem();
124 protected JMenuItem undoMenuItem = new JMenuItem();
126 protected JMenuItem redoMenuItem = new JMenuItem();
128 public JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();
130 JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();
132 public JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
134 public JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
136 public JCheckBoxMenuItem abovePIDThreshold = new JCheckBoxMenuItem();
138 public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
140 public JCheckBoxMenuItem showSeqFeaturesHeight = new JCheckBoxMenuItem();
142 JMenuItem copy = new JMenuItem();
144 JMenuItem cut = new JMenuItem();
146 JMenu pasteMenu = new JMenu();
148 public JCheckBoxMenuItem applyToAllGroups = new JCheckBoxMenuItem();
150 public JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
152 public JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
154 public JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
156 public JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
158 protected JMenuItem modifyConservation = new JMenuItem();
160 protected JMenu sortByTreeMenu = new JMenu();
162 protected JMenu sort = new JMenu();
164 protected JMenu calculateTree = new JMenu();
166 protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
168 protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
170 protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
172 protected ButtonGroup colours = new ButtonGroup();
174 protected JMenuItem showTranslation = new JMenuItem();
176 protected JMenuItem showReverse = new JMenuItem();
178 protected JMenuItem showReverseComplement = new JMenuItem();
180 protected JMenu showProducts = new JMenu();
182 protected JMenuItem runGroovy = new JMenuItem();
184 protected JMenuItem rnahelicesColour = new JMenuItem();
186 protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
188 protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
190 protected JCheckBoxMenuItem listenToViewSelections = new JCheckBoxMenuItem();
192 protected JPanel statusPanel = new JPanel();
194 protected JMenuItem showAllSeqAnnotations = new JMenuItem();
196 protected JMenuItem hideAllSeqAnnotations = new JMenuItem();
198 protected JMenuItem showAllAlAnnotations = new JMenuItem();
200 protected JMenuItem hideAllAlAnnotations = new JMenuItem();
202 protected JCheckBoxMenuItem showComplementMenuItem = new JCheckBoxMenuItem();
204 protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
206 protected JTabbedPane tabbedPane = new JTabbedPane();
208 protected JMenuItem reload = new JMenuItem();
210 protected JMenu formatMenu = new JMenu();
212 protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
214 protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem();
216 protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem();
218 protected JMenuItem gatherViews = new JMenuItem();
220 protected JMenuItem expandViews = new JMenuItem();
222 protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem();
224 protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem();
226 protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem();
228 protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem();
230 protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
232 protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
234 private SequenceAnnotationOrder annotationSortOrder;
236 private boolean showAutoCalculatedAbove = false;
238 private Map<KeyStroke, JMenuItem> accelerators = new HashMap<KeyStroke, JMenuItem>();
240 private SplitContainerI splitFrame;
247 setJMenuBar(alignFrameMenuBar);
249 // dynamically fill save as menu with available formats
250 for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)
252 JMenuItem item = new JMenuItem(
253 jalview.io.FormatAdapter.WRITEABLE_FORMATS[i]);
255 item.addActionListener(new ActionListener()
258 public void actionPerformed(ActionEvent e)
260 outputText_actionPerformed(e);
264 outputTextboxMenu.add(item);
266 } catch (Exception e)
268 System.err.println(e.toString());
271 if (!jalview.util.Platform.isAMac())
273 closeMenuItem.setMnemonic('C');
274 outputTextboxMenu.setMnemonic('T');
275 undoMenuItem.setMnemonic('Z');
276 redoMenuItem.setMnemonic('0');
277 copy.setMnemonic('C');
278 cut.setMnemonic('U');
279 pasteMenu.setMnemonic('P');
280 reload.setMnemonic('R');
283 if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
285 java.util.Enumeration userColours = jalview.gui.UserDefinedColours
286 .getUserColourSchemes().keys();
288 while (userColours.hasMoreElements())
290 final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(
291 userColours.nextElement().toString());
292 radioItem.setName("USER_DEFINED");
293 radioItem.addMouseListener(new MouseAdapter()
296 public void mousePressed(MouseEvent evt)
298 if (evt.isControlDown()
299 || SwingUtilities.isRightMouseButton(evt))
301 radioItem.removeActionListener(radioItem.getActionListeners()[0]);
303 int option = JOptionPane.showInternalConfirmDialog(
304 jalview.gui.Desktop.desktop,
306 .getString("label.remove_from_default_list"),
308 .getString("label.remove_user_defined_colour"),
309 JOptionPane.YES_NO_OPTION);
310 if (option == JOptionPane.YES_OPTION)
312 jalview.gui.UserDefinedColours
313 .removeColourFromDefaults(radioItem.getText());
314 colourMenu.remove(radioItem);
318 radioItem.addActionListener(new ActionListener()
321 public void actionPerformed(ActionEvent evt)
323 userDefinedColour_actionPerformed(evt);
330 radioItem.addActionListener(new ActionListener()
333 public void actionPerformed(ActionEvent evt)
335 userDefinedColour_actionPerformed(evt);
338 colourMenu.insert(radioItem, 15);
339 colours.add(radioItem);
342 colours.add(noColourmenuItem);
343 colours.add(clustalColour);
344 colours.add(zappoColour);
345 colours.add(taylorColour);
346 colours.add(hydrophobicityColour);
347 colours.add(helixColour);
348 colours.add(strandColour);
349 colours.add(turnColour);
350 colours.add(buriedColour);
351 colours.add(userDefinedColour);
352 colours.add(PIDColour);
353 colours.add(BLOSUM62Colour);
354 colours.add(nucleotideColour);
355 colours.add(purinePyrimidineColour);
356 // colours.add(covariationColour);
357 colours.add(tcoffeeColour);
358 colours.add(RNAInteractionColour);
359 setColourSelected(jalview.bin.Cache.getDefault(
360 Preferences.DEFAULT_COLOUR, "None"));
363 public void setColourSelected(String defaultColour)
366 if (defaultColour != null)
368 int index = ColourSchemeProperty
369 .getColourIndexFromName(defaultColour);
373 case ColourSchemeProperty.CLUSTAL:
374 clustalColour.setSelected(true);
378 case ColourSchemeProperty.BLOSUM:
379 BLOSUM62Colour.setSelected(true);
383 case ColourSchemeProperty.PID:
384 PIDColour.setSelected(true);
388 case ColourSchemeProperty.ZAPPO:
389 zappoColour.setSelected(true);
393 case ColourSchemeProperty.TAYLOR:
394 taylorColour.setSelected(true);
397 case ColourSchemeProperty.HYDROPHOBIC:
398 hydrophobicityColour.setSelected(true);
402 case ColourSchemeProperty.HELIX:
403 helixColour.setSelected(true);
407 case ColourSchemeProperty.STRAND:
408 strandColour.setSelected(true);
412 case ColourSchemeProperty.TURN:
413 turnColour.setSelected(true);
417 case ColourSchemeProperty.BURIED:
418 buriedColour.setSelected(true);
422 case ColourSchemeProperty.NUCLEOTIDE:
423 nucleotideColour.setSelected(true);
427 case ColourSchemeProperty.TCOFFEE:
428 tcoffeeColour.setSelected(true);
431 case ColourSchemeProperty.PURINEPYRIMIDINE:
432 purinePyrimidineColour.setSelected(true);
436 case ColourSchemeProperty.RNAINTERACTION:
437 RNAInteractionColour.setSelected(true);
441 * case ColourSchemeProperty.COVARIATION:
442 * covariationColour.setSelected(true);
446 case ColourSchemeProperty.USER_DEFINED:
447 userDefinedColour.setSelected(true);
450 case ColourSchemeProperty.NONE:
452 noColourmenuItem.setSelected(true);
460 private void jbInit() throws Exception
462 JMenuItem saveAs = new JMenuItem(
463 MessageManager.getString("action.save_as"));
464 ActionListener al = new ActionListener()
467 public void actionPerformed(ActionEvent e)
469 saveAs_actionPerformed(e);
472 KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit
473 .getDefaultToolkit().getMenuShortcutKeyMask()
474 | KeyEvent.SHIFT_MASK, false);
475 addMenuActionAndAccelerator(keyStroke, saveAs, al);
477 closeMenuItem.setText(MessageManager.getString("action.close"));
478 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W, Toolkit
479 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
480 al = new ActionListener()
483 public void actionPerformed(ActionEvent e)
485 closeMenuItem_actionPerformed(false);
488 addMenuActionAndAccelerator(keyStroke, closeMenuItem, al);
490 JMenu editMenu = new JMenu(MessageManager.getString("action.edit"));
491 JMenu viewMenu = new JMenu(MessageManager.getString("action.view"));
492 JMenu annotationsMenu = new JMenu(
493 MessageManager.getString("action.annotations"));
494 JMenu showMenu = new JMenu(MessageManager.getString("action.show"));
495 colourMenu.setText(MessageManager.getString("action.colour"));
496 JMenu calculateMenu = new JMenu(
497 MessageManager.getString("action.calculate"));
498 webService.setText(MessageManager.getString("action.web_service"));
499 JMenuItem selectAllSequenceMenuItem = new JMenuItem(
500 MessageManager.getString("action.select_all"));
501 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit
502 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
503 al = new ActionListener()
506 public void actionPerformed(ActionEvent e)
508 selectAllSequenceMenuItem_actionPerformed(e);
511 addMenuActionAndAccelerator(keyStroke, selectAllSequenceMenuItem, al);
513 JMenuItem deselectAllSequenceMenuItem = new JMenuItem(
514 MessageManager.getString("action.deselect_all"));
515 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
516 al = new ActionListener()
519 public void actionPerformed(ActionEvent e)
521 deselectAllSequenceMenuItem_actionPerformed(e);
524 addMenuActionAndAccelerator(keyStroke, deselectAllSequenceMenuItem, al);
526 JMenuItem invertSequenceMenuItem = new JMenuItem(
527 MessageManager.getString("action.invert_sequence_selection"));
528 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, Toolkit
529 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
530 al = new ActionListener()
533 public void actionPerformed(ActionEvent e)
535 invertSequenceMenuItem_actionPerformed(e);
538 addMenuActionAndAccelerator(keyStroke, invertSequenceMenuItem, al);
540 JMenuItem grpsFromSelection = new JMenuItem(
541 MessageManager.getString("action.make_groups_selection"));
542 grpsFromSelection.addActionListener(new ActionListener()
545 public void actionPerformed(ActionEvent e)
547 makeGrpsFromSelection_actionPerformed(e);
550 JMenuItem expandAlignment = new JMenuItem(
551 MessageManager.getString("action.view_flanking_regions"));
552 expandAlignment.setToolTipText(MessageManager
553 .getString("label.view_flanking_regions"));
554 expandAlignment.addActionListener(new ActionListener()
557 public void actionPerformed(ActionEvent e)
562 JMenuItem remove2LeftMenuItem = new JMenuItem(
563 MessageManager.getString("action.remove_left"));
564 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L, Toolkit
565 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
566 al = new ActionListener()
569 public void actionPerformed(ActionEvent e)
571 remove2LeftMenuItem_actionPerformed(e);
574 addMenuActionAndAccelerator(keyStroke, remove2LeftMenuItem, al);
576 JMenuItem remove2RightMenuItem = new JMenuItem(
577 MessageManager.getString("action.remove_right"));
578 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R, Toolkit
579 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
580 al = new ActionListener()
583 public void actionPerformed(ActionEvent e)
585 remove2RightMenuItem_actionPerformed(e);
588 addMenuActionAndAccelerator(keyStroke, remove2RightMenuItem, al);
590 JMenuItem removeGappedColumnMenuItem = new JMenuItem(
591 MessageManager.getString("action.remove_empty_columns"));
592 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, Toolkit
593 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
594 al = new ActionListener()
597 public void actionPerformed(ActionEvent e)
599 removeGappedColumnMenuItem_actionPerformed(e);
602 addMenuActionAndAccelerator(keyStroke, removeGappedColumnMenuItem, al);
604 JMenuItem removeAllGapsMenuItem = new JMenuItem(
605 MessageManager.getString("action.remove_all_gaps"));
606 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, Toolkit
607 .getDefaultToolkit().getMenuShortcutKeyMask()
608 | KeyEvent.SHIFT_MASK, false);
609 al = new ActionListener()
612 public void actionPerformed(ActionEvent e)
614 removeAllGapsMenuItem_actionPerformed(e);
617 addMenuActionAndAccelerator(keyStroke, removeAllGapsMenuItem, al);
619 JMenuItem justifyLeftMenuItem = new JMenuItem(
620 MessageManager.getString("action.left_justify_alignment"));
621 justifyLeftMenuItem.addActionListener(new ActionListener()
624 public void actionPerformed(ActionEvent e)
626 justifyLeftMenuItem_actionPerformed(e);
629 JMenuItem justifyRightMenuItem = new JMenuItem(
630 MessageManager.getString("action.right_justify_alignment"));
631 justifyRightMenuItem.addActionListener(new ActionListener()
634 public void actionPerformed(ActionEvent e)
636 justifyRightMenuItem_actionPerformed(e);
639 viewBoxesMenuItem.setText(MessageManager.getString("action.boxes"));
640 viewBoxesMenuItem.setState(true);
641 viewBoxesMenuItem.addActionListener(new ActionListener()
644 public void actionPerformed(ActionEvent e)
646 viewBoxesMenuItem_actionPerformed(e);
649 viewTextMenuItem.setText(MessageManager.getString("action.text"));
650 viewTextMenuItem.setState(true);
651 viewTextMenuItem.addActionListener(new ActionListener()
654 public void actionPerformed(ActionEvent e)
656 viewTextMenuItem_actionPerformed(e);
659 showNonconservedMenuItem.setText(MessageManager
660 .getString("label.show_non_conversed"));
661 showNonconservedMenuItem.setState(false);
662 showNonconservedMenuItem.addActionListener(new ActionListener()
665 public void actionPerformed(ActionEvent e)
667 showUnconservedMenuItem_actionPerformed(e);
670 JMenuItem sortPairwiseMenuItem = new JMenuItem(
671 MessageManager.getString("action.by_pairwise_id"));
672 sortPairwiseMenuItem.addActionListener(new ActionListener()
675 public void actionPerformed(ActionEvent e)
677 sortPairwiseMenuItem_actionPerformed(e);
680 JMenuItem sortIDMenuItem = new JMenuItem(
681 MessageManager.getString("action.by_id"));
682 sortIDMenuItem.addActionListener(new ActionListener()
685 public void actionPerformed(ActionEvent e)
687 sortIDMenuItem_actionPerformed(e);
690 JMenuItem sortLengthMenuItem = new JMenuItem(
691 MessageManager.getString("action.by_length"));
692 sortLengthMenuItem.addActionListener(new ActionListener()
695 public void actionPerformed(ActionEvent e)
697 sortLengthMenuItem_actionPerformed(e);
700 JMenuItem sortGroupMenuItem = new JMenuItem(
701 MessageManager.getString("action.by_group"));
702 sortGroupMenuItem.addActionListener(new ActionListener()
705 public void actionPerformed(ActionEvent e)
707 sortGroupMenuItem_actionPerformed(e);
711 JMenuItem removeRedundancyMenuItem = new JMenuItem(
712 MessageManager.getString("action.remove_redundancy"));
713 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit
714 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
715 al = new ActionListener()
718 public void actionPerformed(ActionEvent e)
720 removeRedundancyMenuItem_actionPerformed(e);
723 addMenuActionAndAccelerator(keyStroke, removeRedundancyMenuItem, al);
725 JMenuItem pairwiseAlignmentMenuItem = new JMenuItem(
726 MessageManager.getString("action.pairwise_alignment"));
727 pairwiseAlignmentMenuItem.addActionListener(new ActionListener()
730 public void actionPerformed(ActionEvent e)
732 pairwiseAlignmentMenuItem_actionPerformed(e);
735 JMenuItem PCAMenuItem = new JMenuItem(
736 MessageManager.getString("label.principal_component_analysis"));
737 PCAMenuItem.addActionListener(new ActionListener()
740 public void actionPerformed(ActionEvent e)
742 PCAMenuItem_actionPerformed(e);
745 JMenuItem averageDistanceTreeMenuItem = new JMenuItem(
746 MessageManager.getString("label.average_distance_identity"));
747 averageDistanceTreeMenuItem.addActionListener(new ActionListener()
750 public void actionPerformed(ActionEvent e)
752 averageDistanceTreeMenuItem_actionPerformed(e);
755 JMenuItem neighbourTreeMenuItem = new JMenuItem(
756 MessageManager.getString("label.neighbour_joining_identity"));
757 neighbourTreeMenuItem.addActionListener(new ActionListener()
760 public void actionPerformed(ActionEvent e)
762 neighbourTreeMenuItem_actionPerformed(e);
766 this.getContentPane().setLayout(new BorderLayout());
767 alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
768 statusBar.setBackground(Color.white);
769 statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
770 statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
771 statusBar.setText(MessageManager.getString("label.status_bar"));
772 outputTextboxMenu.setText(MessageManager
773 .getString("label.out_to_textbox"));
774 clustalColour.setText(MessageManager.getString("label.clustalx"));
775 clustalColour.addActionListener(new ActionListener()
778 public void actionPerformed(ActionEvent e)
780 clustalColour_actionPerformed(e);
783 zappoColour.setText(MessageManager.getString("label.zappo"));
784 zappoColour.addActionListener(new ActionListener()
787 public void actionPerformed(ActionEvent e)
789 zappoColour_actionPerformed(e);
792 taylorColour.setText(MessageManager.getString("label.taylor"));
793 taylorColour.addActionListener(new ActionListener()
796 public void actionPerformed(ActionEvent e)
798 taylorColour_actionPerformed(e);
801 hydrophobicityColour.setText(MessageManager
802 .getString("label.hydrophobicity"));
803 hydrophobicityColour.addActionListener(new ActionListener()
806 public void actionPerformed(ActionEvent e)
808 hydrophobicityColour_actionPerformed(e);
811 helixColour.setText(MessageManager.getString("label.helix_propensity"));
812 helixColour.addActionListener(new ActionListener()
815 public void actionPerformed(ActionEvent e)
817 helixColour_actionPerformed(e);
820 strandColour.setText(MessageManager
821 .getString("label.strand_propensity"));
822 strandColour.addActionListener(new ActionListener()
825 public void actionPerformed(ActionEvent e)
827 strandColour_actionPerformed(e);
830 turnColour.setText(MessageManager.getString("label.turn_propensity"));
831 turnColour.addActionListener(new ActionListener()
834 public void actionPerformed(ActionEvent e)
836 turnColour_actionPerformed(e);
839 buriedColour.setText(MessageManager.getString("label.buried_index"));
840 buriedColour.addActionListener(new ActionListener()
843 public void actionPerformed(ActionEvent e)
845 buriedColour_actionPerformed(e);
848 userDefinedColour.setText(MessageManager
849 .getString("action.user_defined"));
850 userDefinedColour.addActionListener(new ActionListener()
853 public void actionPerformed(ActionEvent e)
855 userDefinedColour_actionPerformed(e);
859 .setText(MessageManager.getString("label.percentage_identity"));
860 PIDColour.addActionListener(new ActionListener()
863 public void actionPerformed(ActionEvent e)
865 PIDColour_actionPerformed(e);
869 .setText(MessageManager.getString("label.blosum62_score"));
870 BLOSUM62Colour.addActionListener(new ActionListener()
873 public void actionPerformed(ActionEvent e)
875 BLOSUM62Colour_actionPerformed(e);
878 nucleotideColour.setText(MessageManager.getString("label.nucleotide"));
879 nucleotideColour.addActionListener(new ActionListener()
882 public void actionPerformed(ActionEvent e)
884 nucleotideColour_actionPerformed(e);
888 purinePyrimidineColour.setText(MessageManager
889 .getString("label.purine_pyrimidine"));
890 purinePyrimidineColour.addActionListener(new ActionListener()
893 public void actionPerformed(ActionEvent e)
895 purinePyrimidineColour_actionPerformed(e);
899 RNAInteractionColour.setText("RNA Interaction type");
900 RNAInteractionColour.addActionListener(new ActionListener()
903 public void actionPerformed(ActionEvent e)
905 RNAInteractionColour_actionPerformed(e);
909 * covariationColour.setText("Covariation");
910 * covariationColour.addActionListener(new ActionListener() { public void
911 * actionPerformed(ActionEvent e) { covariationColour_actionPerformed(e); }
915 JMenuItem avDistanceTreeBlosumMenuItem = new JMenuItem(
916 MessageManager.getString("label.average_distance_bloslum62"));
917 avDistanceTreeBlosumMenuItem.addActionListener(new ActionListener()
920 public void actionPerformed(ActionEvent e)
922 avTreeBlosumMenuItem_actionPerformed(e);
925 JMenuItem njTreeBlosumMenuItem = new JMenuItem(
926 MessageManager.getString("label.neighbour_blosum62"));
927 njTreeBlosumMenuItem.addActionListener(new ActionListener()
930 public void actionPerformed(ActionEvent e)
932 njTreeBlosumMenuItem_actionPerformed(e);
935 annotationPanelMenuItem.setActionCommand("");
936 annotationPanelMenuItem.setText(MessageManager
937 .getString("label.show_annotations"));
938 annotationPanelMenuItem.setState(Cache.getDefault("SHOW_ANNOTATIONS",
940 annotationPanelMenuItem.addActionListener(new ActionListener()
943 public void actionPerformed(ActionEvent e)
945 annotationPanelMenuItem_actionPerformed(e);
948 showAllAlAnnotations.setText(MessageManager
949 .getString("label.show_all_al_annotations"));
950 final boolean isAnnotationPanelShown = annotationPanelMenuItem
952 showAllAlAnnotations.setEnabled(isAnnotationPanelShown);
953 showAllAlAnnotations.addActionListener(new ActionListener()
956 public void actionPerformed(ActionEvent e)
958 showAllAnnotations_actionPerformed(false, true);
961 hideAllAlAnnotations.setText(MessageManager
962 .getString("label.hide_all_al_annotations"));
963 hideAllAlAnnotations.setEnabled(isAnnotationPanelShown);
964 hideAllAlAnnotations.addActionListener(new ActionListener()
967 public void actionPerformed(ActionEvent e)
969 hideAllAnnotations_actionPerformed(false, true);
972 showAllSeqAnnotations.setText(MessageManager
973 .getString("label.show_all_seq_annotations"));
974 showAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
975 showAllSeqAnnotations.addActionListener(new ActionListener()
978 public void actionPerformed(ActionEvent e)
980 showAllAnnotations_actionPerformed(true, false);
983 hideAllSeqAnnotations.setText(MessageManager
984 .getString("label.hide_all_seq_annotations"));
985 hideAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
986 hideAllSeqAnnotations.addActionListener(new ActionListener()
989 public void actionPerformed(ActionEvent e)
991 hideAllAnnotations_actionPerformed(true, false);
994 SequenceAnnotationOrder sortAnnotationsBy = SequenceAnnotationOrder
995 .valueOf(Cache.getDefault(Preferences.SORT_ANNOTATIONS,
996 SequenceAnnotationOrder.NONE.name()));
997 final JCheckBoxMenuItem sortAnnBySequence = new JCheckBoxMenuItem(
998 MessageManager.getString("label.sort_annotations_by_sequence"));
999 final JCheckBoxMenuItem sortAnnByLabel = new JCheckBoxMenuItem(
1000 MessageManager.getString("label.sort_annotations_by_label"));
1003 .setSelected(sortAnnotationsBy == SequenceAnnotationOrder.SEQUENCE_AND_LABEL);
1004 sortAnnBySequence.addActionListener(new ActionListener()
1007 public void actionPerformed(ActionEvent e)
1009 boolean newState = sortAnnBySequence.getState();
1010 sortAnnByLabel.setSelected(false);
1011 setAnnotationSortOrder(newState ? SequenceAnnotationOrder.SEQUENCE_AND_LABEL
1012 : SequenceAnnotationOrder.NONE);
1013 sortAnnotations_actionPerformed();
1017 .setSelected(sortAnnotationsBy == SequenceAnnotationOrder.LABEL_AND_SEQUENCE);
1018 sortAnnByLabel.addActionListener(new ActionListener()
1021 public void actionPerformed(ActionEvent e)
1023 boolean newState = sortAnnByLabel.getState();
1024 sortAnnBySequence.setSelected(false);
1025 setAnnotationSortOrder(newState ? SequenceAnnotationOrder.LABEL_AND_SEQUENCE
1026 : SequenceAnnotationOrder.NONE);
1027 sortAnnotations_actionPerformed();
1030 colourTextMenuItem.setText(MessageManager
1031 .getString("label.colour_text"));
1032 colourTextMenuItem.addActionListener(new ActionListener()
1035 public void actionPerformed(ActionEvent e)
1037 colourTextMenuItem_actionPerformed(e);
1041 JMenuItem htmlMenuItem = new JMenuItem(
1042 MessageManager.getString("label.html"));
1043 htmlMenuItem.addActionListener(new ActionListener()
1046 public void actionPerformed(ActionEvent e)
1048 htmlMenuItem_actionPerformed(e);
1052 JMenuItem createBioJS = new JMenuItem(
1053 MessageManager.getString("label.biojs_html_export"));
1054 createBioJS.addActionListener(new java.awt.event.ActionListener()
1057 public void actionPerformed(ActionEvent e)
1059 bioJSMenuItem_actionPerformed(e);
1063 JMenuItem overviewMenuItem = new JMenuItem(
1064 MessageManager.getString("label.overview_window"));
1065 overviewMenuItem.addActionListener(new ActionListener()
1068 public void actionPerformed(ActionEvent e)
1070 overviewMenuItem_actionPerformed(e);
1074 undoMenuItem.setEnabled(false);
1075 undoMenuItem.setText(MessageManager.getString("action.undo"));
1076 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z, Toolkit
1077 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1078 al = new ActionListener()
1081 public void actionPerformed(ActionEvent e)
1083 undoMenuItem_actionPerformed(e);
1086 addMenuActionAndAccelerator(keyStroke, undoMenuItem, al);
1088 redoMenuItem.setEnabled(false);
1089 redoMenuItem.setText(MessageManager.getString("action.redo"));
1090 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y, Toolkit
1091 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1092 al = new ActionListener()
1095 public void actionPerformed(ActionEvent e)
1097 redoMenuItem_actionPerformed(e);
1100 addMenuActionAndAccelerator(keyStroke, redoMenuItem, al);
1102 conservationMenuItem.setText(MessageManager
1103 .getString("action.by_conservation"));
1104 conservationMenuItem.addActionListener(new ActionListener()
1107 public void actionPerformed(ActionEvent e)
1109 conservationMenuItem_actionPerformed(e);
1112 noColourmenuItem.setText(MessageManager.getString("label.none"));
1113 noColourmenuItem.addActionListener(new ActionListener()
1116 public void actionPerformed(ActionEvent e)
1118 noColourmenuItem_actionPerformed(e);
1121 wrapMenuItem.setText(MessageManager.getString("label.wrap"));
1122 wrapMenuItem.addActionListener(new ActionListener()
1125 public void actionPerformed(ActionEvent e)
1127 wrapMenuItem_actionPerformed(e);
1131 JMenuItem printMenuItem = new JMenuItem(
1132 MessageManager.getString("action.print"));
1133 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P, Toolkit
1134 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1135 al = new ActionListener()
1138 public void actionPerformed(ActionEvent e)
1140 printMenuItem_actionPerformed(e);
1143 addMenuActionAndAccelerator(keyStroke, printMenuItem, al);
1146 .setText(MessageManager.getString("action.show_gaps"));
1147 renderGapsMenuItem.setState(true);
1148 renderGapsMenuItem.addActionListener(new ActionListener()
1151 public void actionPerformed(ActionEvent e)
1153 renderGapsMenuItem_actionPerformed(e);
1157 JMenuItem findMenuItem = new JMenuItem(
1158 MessageManager.getString("action.find"));
1159 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F, Toolkit
1160 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1161 findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true,
1162 MessageManager.getString("label.find_tip")));
1163 al = new ActionListener()
1166 public void actionPerformed(ActionEvent e)
1168 findMenuItem_actionPerformed(e);
1171 addMenuActionAndAccelerator(keyStroke, findMenuItem, al);
1173 abovePIDThreshold.setText(MessageManager
1174 .getString("label.above_identity_threshold"));
1175 abovePIDThreshold.addActionListener(new ActionListener()
1178 public void actionPerformed(ActionEvent e)
1180 abovePIDThreshold_actionPerformed(e);
1183 showSeqFeatures.setText(MessageManager
1184 .getString("label.show_sequence_features"));
1185 showSeqFeatures.addActionListener(new ActionListener()
1188 public void actionPerformed(ActionEvent actionEvent)
1190 showSeqFeatures_actionPerformed(actionEvent);
1194 * showSeqFeaturesHeight.setText("Vary Sequence Feature Height");
1195 * showSeqFeaturesHeight.addActionListener(new ActionListener() { public
1196 * void actionPerformed(ActionEvent actionEvent) {
1197 * showSeqFeaturesHeight_actionPerformed(actionEvent); } });
1199 showDbRefsMenuitem.setText(MessageManager
1200 .getString("label.show_database_refs"));
1201 showDbRefsMenuitem.addActionListener(new ActionListener()
1205 public void actionPerformed(ActionEvent e)
1207 showDbRefs_actionPerformed(e);
1211 showNpFeatsMenuitem.setText(MessageManager
1212 .getString("label.show_non_positional_features"));
1213 showNpFeatsMenuitem.addActionListener(new ActionListener()
1217 public void actionPerformed(ActionEvent e)
1219 showNpFeats_actionPerformed(e);
1223 showGroupConservation.setText(MessageManager
1224 .getString("label.group_conservation"));
1225 showGroupConservation.addActionListener(new ActionListener()
1229 public void actionPerformed(ActionEvent e)
1231 showGroupConservation_actionPerformed(e);
1236 showGroupConsensus.setText(MessageManager
1237 .getString("label.group_consensus"));
1238 showGroupConsensus.addActionListener(new ActionListener()
1242 public void actionPerformed(ActionEvent e)
1244 showGroupConsensus_actionPerformed(e);
1248 showConsensusHistogram.setText(MessageManager
1249 .getString("label.show_consensus_histogram"));
1250 showConsensusHistogram.addActionListener(new ActionListener()
1254 public void actionPerformed(ActionEvent e)
1256 showConsensusHistogram_actionPerformed(e);
1260 showSequenceLogo.setText(MessageManager
1261 .getString("label.show_consensus_logo"));
1262 showSequenceLogo.addActionListener(new ActionListener()
1266 public void actionPerformed(ActionEvent e)
1268 showSequenceLogo_actionPerformed(e);
1272 normaliseSequenceLogo.setText(MessageManager
1273 .getString("label.norm_consensus_logo"));
1274 normaliseSequenceLogo.addActionListener(new ActionListener()
1278 public void actionPerformed(ActionEvent e)
1280 normaliseSequenceLogo_actionPerformed(e);
1284 applyAutoAnnotationSettings.setText(MessageManager
1285 .getString("label.apply_all_groups"));
1286 applyAutoAnnotationSettings.setState(false);
1287 applyAutoAnnotationSettings.setVisible(true);
1288 applyAutoAnnotationSettings.addActionListener(new ActionListener()
1291 public void actionPerformed(ActionEvent e)
1293 applyAutoAnnotationSettings_actionPerformed(e);
1297 ButtonGroup buttonGroup = new ButtonGroup();
1298 final JRadioButtonMenuItem showAutoFirst = new JRadioButtonMenuItem(
1299 MessageManager.getString("label.show_first"));
1300 final JRadioButtonMenuItem showAutoLast = new JRadioButtonMenuItem(
1301 MessageManager.getString("label.show_last"));
1302 buttonGroup.add(showAutoFirst);
1303 buttonGroup.add(showAutoLast);
1304 final boolean autoFirst = Cache.getDefault(
1305 Preferences.SHOW_AUTOCALC_ABOVE, false);
1306 showAutoFirst.setSelected(autoFirst);
1307 setShowAutoCalculatedAbove(autoFirst);
1308 showAutoFirst.addActionListener(new ActionListener()
1311 public void actionPerformed(ActionEvent e)
1313 setShowAutoCalculatedAbove(showAutoFirst.isSelected());
1314 sortAnnotations_actionPerformed();
1317 showAutoLast.setSelected(!showAutoFirst.isSelected());
1318 showAutoLast.addActionListener(new ActionListener()
1321 public void actionPerformed(ActionEvent e)
1323 setShowAutoCalculatedAbove(!showAutoLast.isSelected());
1324 sortAnnotations_actionPerformed();
1328 nucleotideColour.setText(MessageManager.getString("label.nucleotide"));
1329 nucleotideColour.addActionListener(new ActionListener()
1332 public void actionPerformed(ActionEvent e)
1334 nucleotideColour_actionPerformed(e);
1338 tcoffeeColour.setText(MessageManager.getString("label.tcoffee_scores"));
1339 tcoffeeColour.setEnabled(false);
1340 tcoffeeColour.addActionListener(new ActionListener()
1344 public void actionPerformed(ActionEvent e)
1346 tcoffeeColorScheme_actionPerformed(e);
1350 JMenuItem deleteGroups = new JMenuItem(
1351 MessageManager.getString("action.undefine_groups"));
1352 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U, Toolkit
1353 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1354 al = new ActionListener()
1357 public void actionPerformed(ActionEvent e)
1359 deleteGroups_actionPerformed(e);
1362 addMenuActionAndAccelerator(keyStroke, deleteGroups, al);
1364 JMenuItem createGroup = new JMenuItem(
1365 MessageManager.getString("action.create_groups"));
1366 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit
1367 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1368 al = new ActionListener()
1371 public void actionPerformed(ActionEvent e)
1373 createGroup_actionPerformed(e);
1376 addMenuActionAndAccelerator(keyStroke, createGroup, al);
1378 JMenuItem unGroup = new JMenuItem(
1379 MessageManager.getString("action.remove_group"));
1380 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit
1381 .getDefaultToolkit().getMenuShortcutKeyMask()
1382 | KeyEvent.SHIFT_MASK, false);
1383 al = new ActionListener()
1386 public void actionPerformed(ActionEvent e)
1388 unGroup_actionPerformed(e);
1391 addMenuActionAndAccelerator(keyStroke, unGroup, al);
1393 copy.setText(MessageManager.getString("action.copy"));
1394 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit
1395 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1397 al = new ActionListener()
1400 public void actionPerformed(ActionEvent e)
1402 copy_actionPerformed(e);
1405 addMenuActionAndAccelerator(keyStroke, copy, al);
1407 cut.setText(MessageManager.getString("action.cut"));
1408 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, Toolkit
1409 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1410 al = new ActionListener()
1413 public void actionPerformed(ActionEvent e)
1415 cut_actionPerformed(e);
1418 addMenuActionAndAccelerator(keyStroke, cut, al);
1420 JMenuItem delete = new JMenuItem(
1421 MessageManager.getString("action.delete"));
1422 delete.addActionListener(new ActionListener()
1425 public void actionPerformed(ActionEvent e)
1427 delete_actionPerformed(e);
1431 pasteMenu.setText(MessageManager.getString("action.paste"));
1432 JMenuItem pasteNew = new JMenuItem(
1433 MessageManager.getString("label.to_new_alignment"));
1434 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit
1435 .getDefaultToolkit().getMenuShortcutKeyMask()
1436 | KeyEvent.SHIFT_MASK, false);
1437 al = new ActionListener()
1440 public void actionPerformed(ActionEvent e)
1442 pasteNew_actionPerformed(e);
1445 addMenuActionAndAccelerator(keyStroke, pasteNew, al);
1447 JMenuItem pasteThis = new JMenuItem(
1448 MessageManager.getString("label.to_this_alignment"));
1449 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit
1450 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1451 al = new ActionListener()
1454 public void actionPerformed(ActionEvent e)
1456 pasteThis_actionPerformed(e);
1459 addMenuActionAndAccelerator(keyStroke, pasteThis, al);
1461 applyToAllGroups.setText(MessageManager
1462 .getString("label.apply_colour_to_all_groups"));
1463 applyToAllGroups.addActionListener(new ActionListener()
1466 public void actionPerformed(ActionEvent e)
1468 applyToAllGroups_actionPerformed(e);
1471 JMenuItem createPNG = new JMenuItem("PNG");
1472 createPNG.addActionListener(new ActionListener()
1475 public void actionPerformed(ActionEvent e)
1480 createPNG.setActionCommand(MessageManager
1481 .getString("label.save_png_image"));
1483 JMenuItem font = new JMenuItem(MessageManager.getString("action.font"));
1484 font.addActionListener(new ActionListener()
1487 public void actionPerformed(ActionEvent e)
1489 font_actionPerformed(e);
1492 seqLimits.setText(MessageManager
1493 .getString("label.show_sequence_limits"));
1494 seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true));
1495 seqLimits.addActionListener(new ActionListener()
1498 public void actionPerformed(ActionEvent e)
1500 seqLimit_actionPerformed(e);
1503 JMenuItem epsFile = new JMenuItem("EPS");
1504 epsFile.addActionListener(new ActionListener()
1507 public void actionPerformed(ActionEvent e)
1513 JMenuItem createSVG = new JMenuItem("SVG");
1514 createSVG.addActionListener(new ActionListener()
1517 public void actionPerformed(ActionEvent e)
1523 JMenuItem loadTreeMenuItem = new JMenuItem(
1524 MessageManager.getString("label.load_associated_tree"));
1525 loadTreeMenuItem.setActionCommand(MessageManager
1526 .getString("label.load_tree_for_sequence_set"));
1527 loadTreeMenuItem.addActionListener(new ActionListener()
1530 public void actionPerformed(ActionEvent e)
1532 loadTreeMenuItem_actionPerformed(e);
1536 scaleAbove.setVisible(false);
1537 scaleAbove.setText(MessageManager.getString("action.scale_above"));
1538 scaleAbove.addActionListener(new ActionListener()
1541 public void actionPerformed(ActionEvent e)
1543 scaleAbove_actionPerformed(e);
1546 scaleLeft.setVisible(false);
1547 scaleLeft.setSelected(true);
1548 scaleLeft.setText(MessageManager.getString("action.scale_left"));
1549 scaleLeft.addActionListener(new ActionListener()
1552 public void actionPerformed(ActionEvent e)
1554 scaleLeft_actionPerformed(e);
1557 scaleRight.setVisible(false);
1558 scaleRight.setSelected(true);
1559 scaleRight.setText(MessageManager.getString("action.scale_right"));
1560 scaleRight.addActionListener(new ActionListener()
1563 public void actionPerformed(ActionEvent e)
1565 scaleRight_actionPerformed(e);
1568 centreColumnLabelsMenuItem.setVisible(true);
1569 centreColumnLabelsMenuItem.setState(false);
1570 centreColumnLabelsMenuItem.setText(MessageManager
1571 .getString("label.centre_column_labels"));
1572 centreColumnLabelsMenuItem.addActionListener(new ActionListener()
1575 public void actionPerformed(ActionEvent e)
1577 centreColumnLabels_actionPerformed(e);
1580 followHighlightMenuItem.setVisible(true);
1581 followHighlightMenuItem.setState(true);
1582 followHighlightMenuItem.setText(MessageManager
1583 .getString("label.automatic_scrolling"));
1584 followHighlightMenuItem.addActionListener(new ActionListener()
1588 public void actionPerformed(ActionEvent e)
1590 followHighlight_actionPerformed();
1595 JMenuItem modifyPID = new JMenuItem(
1596 MessageManager.getString("label.modify_identity_thereshold"));
1597 modifyPID.addActionListener(new ActionListener()
1600 public void actionPerformed(ActionEvent e)
1602 modifyPID_actionPerformed(e);
1605 modifyConservation.setText(MessageManager
1606 .getString("label.modify_conservation_thereshold"));
1607 modifyConservation.addActionListener(new ActionListener()
1610 public void actionPerformed(ActionEvent e)
1612 modifyConservation_actionPerformed(e);
1616 .setText(MessageManager.getString("action.by_tree_order"));
1617 sort.setText(MessageManager.getString("action.sort"));
1618 sort.addMenuListener(new MenuListener()
1621 public void menuSelected(MenuEvent e)
1627 public void menuDeselected(MenuEvent e)
1632 public void menuCanceled(MenuEvent e)
1636 sortByAnnotScore.setText(MessageManager
1637 .getString("label.sort_by_score"));
1638 sort.add(sortByAnnotScore);
1639 sort.addMenuListener(new javax.swing.event.MenuListener()
1643 public void menuCanceled(MenuEvent e)
1648 public void menuDeselected(MenuEvent e)
1653 public void menuSelected(MenuEvent e)
1655 buildSortByAnnotationScoresMenu();
1658 sortByAnnotScore.setVisible(false);
1661 .setText(MessageManager.getString("action.calculate_tree"));
1663 padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps"));
1664 padGapsMenuitem.setState(jalview.bin.Cache
1665 .getDefault("PAD_GAPS", false));
1666 padGapsMenuitem.addActionListener(new ActionListener()
1669 public void actionPerformed(ActionEvent e)
1671 padGapsMenuitem_actionPerformed(e);
1674 JMenuItem vamsasStore = new JMenuItem(
1675 MessageManager.getString("label.vamsas_store"));
1676 vamsasStore.setVisible(false);
1677 vamsasStore.addActionListener(new ActionListener()
1680 public void actionPerformed(ActionEvent e)
1682 vamsasStore_actionPerformed(e);
1685 showTranslation.setText(MessageManager
1686 .getString("label.translate_cDNA"));
1687 showTranslation.addActionListener(new ActionListener()
1690 public void actionPerformed(ActionEvent e)
1692 showTranslation_actionPerformed(e);
1695 showReverse.setText(MessageManager.getString("label.reverse"));
1696 showReverse.addActionListener(new ActionListener()
1699 public void actionPerformed(ActionEvent e)
1701 showReverse_actionPerformed(false);
1704 showReverseComplement.setText(MessageManager
1705 .getString("label.reverse_complement"));
1706 showReverseComplement.addActionListener(new ActionListener()
1709 public void actionPerformed(ActionEvent e)
1711 showReverse_actionPerformed(true);
1715 JMenuItem extractScores = new JMenuItem(
1716 MessageManager.getString("label.extract_scores"));
1717 extractScores.addActionListener(new ActionListener()
1720 public void actionPerformed(ActionEvent e)
1722 extractScores_actionPerformed(e);
1725 extractScores.setVisible(true);
1726 // JBPNote: TODO: make gui for regex based score extraction
1728 // for show products actions see AlignFrame.canShowProducts
1729 showProducts.setText(MessageManager.getString("label.get_cross_refs"));
1731 runGroovy.setText(MessageManager.getString("label.run_groovy"));
1732 runGroovy.setToolTipText(MessageManager.getString("label.run_groovy_tip"));
1733 runGroovy.addActionListener(new ActionListener()
1736 public void actionPerformed(ActionEvent e)
1738 runGroovy_actionPerformed();
1742 JMenuItem openFeatureSettings = new JMenuItem(
1743 MessageManager.getString("action.feature_settings"));
1744 openFeatureSettings.addActionListener(new ActionListener()
1747 public void actionPerformed(ActionEvent e)
1749 featureSettings_actionPerformed(e);
1752 JMenuItem fetchSequence = new JMenuItem(
1753 MessageManager.getString("label.fetch_sequences"));
1754 fetchSequence.addActionListener(new ActionListener()
1757 public void actionPerformed(ActionEvent e)
1759 fetchSequence_actionPerformed(e);
1763 JMenuItem annotationColour = new JMenuItem(
1764 MessageManager.getString("action.by_annotation"));
1765 annotationColour.addActionListener(new ActionListener()
1768 public void actionPerformed(ActionEvent e)
1770 annotationColour_actionPerformed(e);
1774 JMenuItem annotationColumn = new JMenuItem(
1775 MessageManager.getString("action.select_by_annotation"));
1776 annotationColumn.addActionListener(new ActionListener()
1779 public void actionPerformed(ActionEvent e)
1781 annotationColumn_actionPerformed(e);
1785 rnahelicesColour.setText(MessageManager
1786 .getString("action.by_rna_helixes"));
1787 rnahelicesColour.addActionListener(new ActionListener()
1790 public void actionPerformed(ActionEvent e)
1792 rnahelicesColour_actionPerformed(e);
1796 JMenuItem associatedData = new JMenuItem(
1797 MessageManager.getString("label.load_features_annotations"));
1798 associatedData.addActionListener(new ActionListener()
1801 public void actionPerformed(ActionEvent e)
1803 associatedData_actionPerformed(e);
1806 autoCalculate.setText(MessageManager
1807 .getString("label.autocalculate_consensus"));
1808 autoCalculate.setState(jalview.bin.Cache.getDefault(
1809 "AUTO_CALC_CONSENSUS", true));
1810 autoCalculate.addActionListener(new ActionListener()
1813 public void actionPerformed(ActionEvent e)
1815 autoCalculate_actionPerformed(e);
1818 sortByTree.setText(MessageManager
1819 .getString("label.sort_alignment_new_tree"));
1821 .setToolTipText("<html>"
1823 .getString("label.enable_automatically_sort_alignment_when_open_new_tree"));
1825 .setState(jalview.bin.Cache.getDefault("SORT_BY_TREE", false));
1826 sortByTree.addActionListener(new ActionListener()
1829 public void actionPerformed(ActionEvent e)
1831 sortByTreeOption_actionPerformed(e);
1835 listenToViewSelections.setText(MessageManager
1836 .getString("label.listen_for_selections"));
1837 listenToViewSelections
1838 .setToolTipText("<html>"
1840 .getString("label.selections_mirror_selections_made_same_sequences_other_views"));
1841 listenToViewSelections.setState(false);
1842 listenToViewSelections.addActionListener(new ActionListener()
1845 public void actionPerformed(ActionEvent e)
1847 listenToViewSelections_actionPerformed(e);
1851 JMenu addSequenceMenu = new JMenu(
1852 MessageManager.getString("label.add_sequences"));
1853 JMenuItem addFromFile = new JMenuItem(
1854 MessageManager.getString("label.from_file"));
1855 addFromFile.addActionListener(new ActionListener()
1858 public void actionPerformed(ActionEvent e)
1860 addFromFile_actionPerformed(e);
1863 JMenuItem addFromText = new JMenuItem(
1864 MessageManager.getString("label.from_textbox"));
1865 addFromText.addActionListener(new ActionListener()
1868 public void actionPerformed(ActionEvent e)
1870 addFromText_actionPerformed(e);
1873 JMenuItem addFromURL = new JMenuItem(
1874 MessageManager.getString("label.from_url"));
1875 addFromURL.addActionListener(new ActionListener()
1878 public void actionPerformed(ActionEvent e)
1880 addFromURL_actionPerformed(e);
1883 JMenuItem exportFeatures = new JMenuItem(
1884 MessageManager.getString("label.export_features"));
1885 exportFeatures.addActionListener(new ActionListener()
1888 public void actionPerformed(ActionEvent e)
1890 exportFeatures_actionPerformed(e);
1893 JMenuItem exportAnnotations = new JMenuItem(
1894 MessageManager.getString("label.export_annotations"));
1895 exportAnnotations.addActionListener(new ActionListener()
1898 public void actionPerformed(ActionEvent e)
1900 exportAnnotations_actionPerformed(e);
1903 statusPanel.setLayout(new GridLayout());
1904 JMenuItem showAllSeqs = new JMenuItem(
1905 MessageManager.getString("label.all_sequences"));
1906 showAllSeqs.setToolTipText(MessageManager
1907 .getString("label.toggle_sequence_visibility"));
1908 showAllSeqs.addActionListener(new ActionListener()
1911 public void actionPerformed(ActionEvent e)
1913 showAllSeqs_actionPerformed(e);
1916 JMenuItem showAllColumns = new JMenuItem(
1917 MessageManager.getString("label.all_columns"));
1918 showAllColumns.setToolTipText(MessageManager
1919 .getString("label.toggle_columns_visibility"));
1920 showAllColumns.addActionListener(new ActionListener()
1923 public void actionPerformed(ActionEvent e)
1925 showAllColumns_actionPerformed(e);
1928 JMenu hideMenu = new JMenu(MessageManager.getString("action.hide"));
1929 JMenuItem hideSelSequences = new JMenuItem(
1930 MessageManager.getString("label.selected_sequences"));
1931 hideSelSequences.setToolTipText(MessageManager
1932 .getString("label.toggle_sequence_visibility"));
1933 hideSelSequences.addActionListener(new ActionListener()
1936 public void actionPerformed(ActionEvent e)
1938 hideSelSequences_actionPerformed(e);
1941 JMenuItem hideSelColumns = new JMenuItem(
1942 MessageManager.getString("label.selected_columns"));
1943 hideSelColumns.setToolTipText(MessageManager
1944 .getString("label.toggle_columns_visibility"));
1945 hideSelColumns.addActionListener(new ActionListener()
1948 public void actionPerformed(ActionEvent e)
1950 hideSelColumns_actionPerformed(e);
1953 JMenuItem hideAllSelection = new JMenuItem(
1954 MessageManager.getString("label.selected_region"));
1955 hideAllSelection.addActionListener(new ActionListener()
1958 public void actionPerformed(ActionEvent e)
1960 hideAllSelection_actionPerformed(e);
1963 // TODO: should be hidden if no selection exists.
1964 JMenuItem hideAllButSelection = new JMenuItem(
1965 MessageManager.getString("label.all_but_selected_region"));
1966 hideAllButSelection.addActionListener(new ActionListener()
1969 public void actionPerformed(ActionEvent e)
1971 hideAllButSelection_actionPerformed(e);
1974 JMenuItem showAllhidden = new JMenuItem(
1975 MessageManager.getString("label.all_sequences_columns"));
1976 showAllhidden.setToolTipText(MessageManager
1977 .getString("label.toggles_visibility_hidden_selected_regions"));
1978 showAllhidden.addActionListener(new ActionListener()
1981 public void actionPerformed(ActionEvent e)
1983 showAllhidden_actionPerformed(e);
1986 hiddenMarkers.setText(MessageManager
1987 .getString("action.show_hidden_markers"));
1988 hiddenMarkers.addActionListener(new ActionListener()
1991 public void actionPerformed(ActionEvent e)
1993 hiddenMarkers_actionPerformed(e);
1997 JMenuItem invertColSel = new JMenuItem(
1998 MessageManager.getString("action.invert_column_selection"));
1999 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, Toolkit
2000 .getDefaultToolkit().getMenuShortcutKeyMask()
2001 | KeyEvent.ALT_MASK, false);
2002 al = new ActionListener()
2005 public void actionPerformed(ActionEvent e)
2007 invertColSel_actionPerformed(e);
2010 addMenuActionAndAccelerator(keyStroke, invertColSel, al);
2012 showComplementMenuItem.setVisible(false);
2013 showComplementMenuItem.addActionListener(new ActionListener()
2016 public void actionPerformed(ActionEvent e)
2018 showComplement_actionPerformed(showComplementMenuItem.getState());
2022 tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
2025 public void stateChanged(ChangeEvent evt)
2027 JTabbedPane pane = (JTabbedPane) evt.getSource();
2028 int sel = pane.getSelectedIndex();
2029 tabSelectionChanged(sel);
2032 tabbedPane.addMouseListener(new MouseAdapter()
2035 public void mousePressed(MouseEvent e)
2037 tabbedPane_mousePressed(e);
2040 tabbedPane.addFocusListener(new FocusAdapter()
2043 public void focusGained(FocusEvent e)
2045 tabbedPane_focusGained(e);
2049 JMenuItem save = new JMenuItem(MessageManager.getString("action.save"));
2050 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit
2051 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
2052 al = new ActionListener()
2055 public void actionPerformed(ActionEvent e)
2057 save_actionPerformed(e);
2060 addMenuActionAndAccelerator(keyStroke, save, al);
2062 reload.setEnabled(false);
2063 reload.setText(MessageManager.getString("action.reload"));
2064 reload.addActionListener(new ActionListener()
2067 public void actionPerformed(ActionEvent e)
2069 reload_actionPerformed(e);
2073 JMenuItem newView = new JMenuItem(
2074 MessageManager.getString("action.new_view"));
2075 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit
2076 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
2077 al = new ActionListener()
2080 public void actionPerformed(ActionEvent e)
2082 newView_actionPerformed(e);
2085 addMenuActionAndAccelerator(keyStroke, newView, al);
2087 tabbedPane.setToolTipText("<html><i>"
2088 + MessageManager.getString("label.rename_tab_eXpand_reGroup")
2090 JMenuItem textColour = new JMenuItem(
2091 MessageManager.getString("action.set_text_colour"));
2092 textColour.addActionListener(new ActionListener()
2095 public void actionPerformed(ActionEvent e)
2097 textColour_actionPerformed(e);
2100 formatMenu.setText(MessageManager.getString("action.format"));
2101 JMenu selectMenu = new JMenu(MessageManager.getString("action.select"));
2102 idRightAlign.setText(MessageManager
2103 .getString("label.right_align_sequence_id"));
2104 idRightAlign.addActionListener(new ActionListener()
2107 public void actionPerformed(ActionEvent e)
2109 idRightAlign_actionPerformed(e);
2113 gatherViews.setEnabled(false);
2114 gatherViews.setText(MessageManager.getString("action.gather_views"));
2115 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, 0, false);
2116 al = new ActionListener()
2119 public void actionPerformed(ActionEvent e)
2121 gatherViews_actionPerformed(e);
2124 addMenuActionAndAccelerator(keyStroke, gatherViews, al);
2126 expandViews.setEnabled(false);
2127 expandViews.setText(MessageManager.getString("action.expand_views"));
2128 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, 0, false);
2129 al = new ActionListener()
2132 public void actionPerformed(ActionEvent e)
2134 expandViews_actionPerformed(e);
2137 addMenuActionAndAccelerator(keyStroke, expandViews, al);
2139 JMenuItem pageSetup = new JMenuItem(
2140 MessageManager.getString("action.page_setup"));
2141 pageSetup.addActionListener(new ActionListener()
2144 public void actionPerformed(ActionEvent e)
2146 pageSetup_actionPerformed(e);
2149 JMenuItem alignmentProperties = new JMenuItem(
2150 MessageManager.getString("label.alignment_props"));
2151 alignmentProperties.addActionListener(new ActionListener()
2154 public void actionPerformed(ActionEvent actionEvent)
2156 alignmentProperties();
2159 JMenu tooltipSettingsMenu = new JMenu(
2160 MessageManager.getString("label.sequence_id_tooltip"));
2161 JMenu autoAnnMenu = new JMenu(
2162 MessageManager.getString("label.autocalculated_annotation"));
2164 JMenu exportImageMenu = new JMenu(
2165 MessageManager.getString("label.export_image"));
2166 JMenu fileMenu = new JMenu(MessageManager.getString("action.file"));
2167 alignFrameMenuBar.add(fileMenu);
2168 alignFrameMenuBar.add(editMenu);
2169 alignFrameMenuBar.add(selectMenu);
2170 alignFrameMenuBar.add(viewMenu);
2171 alignFrameMenuBar.add(annotationsMenu);
2172 alignFrameMenuBar.add(formatMenu);
2173 alignFrameMenuBar.add(colourMenu);
2174 alignFrameMenuBar.add(calculateMenu);
2175 alignFrameMenuBar.add(webService);
2177 fileMenu.add(fetchSequence);
2178 fileMenu.add(addSequenceMenu);
2179 fileMenu.add(reload);
2180 fileMenu.addSeparator();
2181 fileMenu.add(vamsasStore);
2183 fileMenu.add(saveAs);
2184 fileMenu.add(outputTextboxMenu);
2185 fileMenu.add(pageSetup);
2186 fileMenu.add(printMenuItem);
2187 fileMenu.addSeparator();
2188 fileMenu.add(exportImageMenu);
2189 fileMenu.add(exportFeatures);
2190 fileMenu.add(exportAnnotations);
2191 fileMenu.add(loadTreeMenuItem);
2192 fileMenu.add(associatedData);
2193 fileMenu.addSeparator();
2194 fileMenu.add(closeMenuItem);
2196 pasteMenu.add(pasteNew);
2197 pasteMenu.add(pasteThis);
2198 editMenu.add(undoMenuItem);
2199 editMenu.add(redoMenuItem);
2202 editMenu.add(pasteMenu);
2203 editMenu.add(delete);
2204 editMenu.addSeparator();
2205 editMenu.add(remove2LeftMenuItem);
2206 editMenu.add(remove2RightMenuItem);
2207 editMenu.add(removeGappedColumnMenuItem);
2208 editMenu.add(removeAllGapsMenuItem);
2209 editMenu.add(removeRedundancyMenuItem);
2210 editMenu.addSeparator();
2211 // dont add these yet in the CVS build - they cannot be undone!
2212 // Excluded from Jalview 2.5 release - undo needs to be implemented.
2213 // editMenu.add(justifyLeftMenuItem);
2214 // editMenu.add(justifyRightMenuItem);
2215 // editMenu.addSeparator();
2216 editMenu.add(padGapsMenuitem);
2218 showMenu.add(showAllColumns);
2219 showMenu.add(showAllSeqs);
2220 showMenu.add(showAllhidden);
2221 hideMenu.add(hideSelColumns);
2222 hideMenu.add(hideSelSequences);
2223 hideMenu.add(hideAllSelection);
2224 hideMenu.add(hideAllButSelection);
2225 viewMenu.add(newView);
2226 viewMenu.add(expandViews);
2227 viewMenu.add(gatherViews);
2228 viewMenu.addSeparator();
2229 viewMenu.add(showMenu);
2230 viewMenu.add(hideMenu);
2231 viewMenu.add(showComplementMenuItem);
2232 viewMenu.addSeparator();
2233 viewMenu.add(followHighlightMenuItem);
2234 viewMenu.addSeparator();
2235 viewMenu.add(showSeqFeatures);
2236 // viewMenu.add(showSeqFeaturesHeight);
2237 viewMenu.add(openFeatureSettings);
2238 tooltipSettingsMenu.add(showDbRefsMenuitem);
2239 tooltipSettingsMenu.add(showNpFeatsMenuitem);
2240 viewMenu.add(tooltipSettingsMenu);
2241 viewMenu.addSeparator();
2242 viewMenu.add(alignmentProperties);
2243 viewMenu.addSeparator();
2244 viewMenu.add(overviewMenuItem);
2246 annotationsMenu.add(annotationPanelMenuItem);
2247 annotationsMenu.addSeparator();
2248 annotationsMenu.add(showAllAlAnnotations);
2249 annotationsMenu.add(hideAllAlAnnotations);
2250 annotationsMenu.addSeparator();
2251 annotationsMenu.add(showAllSeqAnnotations);
2252 annotationsMenu.add(hideAllSeqAnnotations);
2253 annotationsMenu.add(sortAnnBySequence);
2254 annotationsMenu.add(sortAnnByLabel);
2255 annotationsMenu.addSeparator();
2256 autoAnnMenu.add(showAutoFirst);
2257 autoAnnMenu.add(showAutoLast);
2258 autoAnnMenu.addSeparator();
2259 autoAnnMenu.add(applyAutoAnnotationSettings);
2260 autoAnnMenu.add(showConsensusHistogram);
2261 autoAnnMenu.add(showSequenceLogo);
2262 autoAnnMenu.add(normaliseSequenceLogo);
2263 autoAnnMenu.addSeparator();
2264 autoAnnMenu.add(showGroupConservation);
2265 autoAnnMenu.add(showGroupConsensus);
2266 annotationsMenu.add(autoAnnMenu);
2268 colourMenu.add(applyToAllGroups);
2269 colourMenu.add(textColour);
2270 colourMenu.addSeparator();
2271 colourMenu.add(noColourmenuItem);
2272 colourMenu.add(clustalColour);
2273 colourMenu.add(BLOSUM62Colour);
2274 colourMenu.add(PIDColour);
2275 colourMenu.add(zappoColour);
2276 colourMenu.add(taylorColour);
2277 colourMenu.add(hydrophobicityColour);
2278 colourMenu.add(helixColour);
2279 colourMenu.add(strandColour);
2280 colourMenu.add(turnColour);
2281 colourMenu.add(buriedColour);
2282 colourMenu.add(nucleotideColour);
2283 colourMenu.add(purinePyrimidineColour);
2284 colourMenu.add(RNAInteractionColour);
2285 // colourMenu.add(covariationColour);
2286 colourMenu.add(tcoffeeColour);
2287 colourMenu.add(userDefinedColour);
2288 colourMenu.addSeparator();
2289 colourMenu.add(conservationMenuItem);
2290 colourMenu.add(modifyConservation);
2291 colourMenu.add(abovePIDThreshold);
2292 colourMenu.add(modifyPID);
2293 colourMenu.add(annotationColour);
2294 colourMenu.add(rnahelicesColour);
2296 sort.add(sortIDMenuItem);
2297 sort.add(sortLengthMenuItem);
2298 sort.add(sortGroupMenuItem);
2299 sort.add(sortPairwiseMenuItem);
2300 sort.add(sortByTreeMenu);
2301 calculateMenu.add(sort);
2302 calculateMenu.add(calculateTree);
2303 calculateMenu.addSeparator();
2304 calculateMenu.add(pairwiseAlignmentMenuItem);
2305 calculateMenu.add(PCAMenuItem);
2306 calculateMenu.addSeparator();
2307 calculateMenu.add(showTranslation);
2308 calculateMenu.add(showReverse);
2309 calculateMenu.add(showReverseComplement);
2310 calculateMenu.add(showProducts);
2311 calculateMenu.add(autoCalculate);
2312 calculateMenu.add(sortByTree);
2313 calculateMenu.addSeparator();
2314 calculateMenu.add(expandAlignment);
2315 calculateMenu.add(extractScores);
2316 calculateMenu.addSeparator();
2317 calculateMenu.add(runGroovy);
2319 webServiceNoServices = new JMenuItem(
2320 MessageManager.getString("label.no_services"));
2321 webService.add(webServiceNoServices);
2322 exportImageMenu.add(htmlMenuItem);
2323 exportImageMenu.add(epsFile);
2324 exportImageMenu.add(createPNG);
2325 exportImageMenu.add(createBioJS);
2326 exportImageMenu.add(createSVG);
2327 addSequenceMenu.add(addFromFile);
2328 addSequenceMenu.add(addFromText);
2329 addSequenceMenu.add(addFromURL);
2330 this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
2331 statusPanel.add(statusBar, null);
2332 this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
2334 formatMenu.add(font);
2335 formatMenu.addSeparator();
2336 formatMenu.add(wrapMenuItem);
2337 formatMenu.add(scaleAbove);
2338 formatMenu.add(scaleLeft);
2339 formatMenu.add(scaleRight);
2340 formatMenu.add(seqLimits);
2341 formatMenu.add(idRightAlign);
2342 formatMenu.add(hiddenMarkers);
2343 formatMenu.add(viewBoxesMenuItem);
2344 formatMenu.add(viewTextMenuItem);
2345 formatMenu.add(colourTextMenuItem);
2346 formatMenu.add(renderGapsMenuItem);
2347 formatMenu.add(centreColumnLabelsMenuItem);
2348 formatMenu.add(showNonconservedMenuItem);
2349 selectMenu.add(findMenuItem);
2350 selectMenu.addSeparator();
2351 selectMenu.add(selectAllSequenceMenuItem);
2352 selectMenu.add(deselectAllSequenceMenuItem);
2353 selectMenu.add(invertSequenceMenuItem);
2354 selectMenu.add(invertColSel);
2355 selectMenu.add(createGroup);
2356 selectMenu.add(unGroup);
2357 selectMenu.add(grpsFromSelection);
2358 selectMenu.add(deleteGroups);
2359 selectMenu.add(annotationColumn);
2360 // TODO - determine if the listenToViewSelections button is needed : see bug
2362 // selectMenu.addSeparator();
2363 // selectMenu.add(listenToViewSelections);
2367 * Generate the reverse sequence (or reverse complement if the flag is true)
2368 * and add it to the alignment
2372 protected void showReverse_actionPerformed(boolean complement)
2377 * Try to run script in a Groovy console, having first ensured that this
2378 * alignframe is set as currentAlignFrame in Desktop
2380 protected void runGroovy_actionPerformed()
2385 * Adds the given action listener and key accelerator to the given menu item.
2386 * Also saves in a lookup table to support lookup of action by key stroke.
2390 * @param actionListener
2392 protected void addMenuActionAndAccelerator(KeyStroke keyStroke,
2393 JMenuItem menuItem, ActionListener actionListener)
2395 menuItem.setAccelerator(keyStroke);
2396 accelerators.put(keyStroke, menuItem);
2397 menuItem.addActionListener(actionListener);
2401 * Action on clicking sort annotations by type.
2405 protected void sortAnnotations_actionPerformed()
2410 * Action on clicking Show all annotations.
2412 * @param forSequences
2413 * update sequence-related annotations
2414 * @param forAlignment
2415 * update non-sequence-related annotations
2417 protected void showAllAnnotations_actionPerformed(boolean forSequences,
2418 boolean forAlignment)
2420 setAnnotationsVisibility(true, forSequences, forAlignment);
2424 * Action on clicking Hide all annotations.
2426 * @param forSequences
2427 * update sequence-related annotations
2428 * @param forAlignment
2429 * update non-sequence-related annotations
2431 protected void hideAllAnnotations_actionPerformed(boolean forSequences,
2432 boolean forAlignment)
2434 setAnnotationsVisibility(false, forSequences, forAlignment);
2438 * Set the visibility of annotations to true or false. Can act on
2439 * sequence-related annotations, or alignment-related, or both.
2442 * @param forSequences
2443 * update sequence-related annotations
2444 * @param forAlignment
2445 * update non-sequence-related annotations
2447 protected void setAnnotationsVisibility(boolean visible,
2448 boolean forSequences, boolean forAlignment)
2453 protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
2455 // TODO Auto-generated method stub
2459 protected void listenToViewSelections_actionPerformed(ActionEvent e)
2461 // TODO Auto-generated method stub
2465 protected void showAllhidden_actionPerformed(ActionEvent e)
2467 // TODO Auto-generated method stub
2471 protected void hideAllButSelection_actionPerformed(ActionEvent e)
2473 // TODO Auto-generated method stub
2477 protected void hideAllSelection_actionPerformed(ActionEvent e)
2479 // TODO Auto-generated method stub
2483 protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
2485 // TODO Auto-generated method stub
2489 protected void showConsensusHistogram_actionPerformed(ActionEvent e)
2491 // TODO Auto-generated method stub
2495 protected void showSequenceLogo_actionPerformed(ActionEvent e)
2497 // TODO Auto-generated method stub
2501 protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
2503 // TODO Auto-generated method stub
2507 protected void showGroupConsensus_actionPerformed(ActionEvent e)
2509 // TODO Auto-generated method stub
2513 protected void showGroupConservation_actionPerformed(ActionEvent e)
2515 // TODO Auto-generated method stub
2519 protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
2521 // TODO Auto-generated method stub
2525 protected void showSeqFeaturesHeight_actionPerformed(
2526 ActionEvent actionEvent)
2528 // TODO Auto-generated method stub
2532 protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
2534 // TODO Auto-generated method stub
2538 protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
2540 // TODO Auto-generated method stub
2544 protected void followHighlight_actionPerformed()
2546 // TODO Auto-generated method stub
2550 protected void showNpFeats_actionPerformed(ActionEvent e)
2552 // TODO Auto-generated method stub
2556 protected void showDbRefs_actionPerformed(ActionEvent e)
2558 // TODO Auto-generated method stub
2562 protected void centreColumnLabels_actionPerformed(ActionEvent e)
2566 protected void buildSortByAnnotationScoresMenu()
2570 protected void extractScores_actionPerformed(ActionEvent e)
2574 protected void outputText_actionPerformed(ActionEvent e)
2578 public void addFromFile_actionPerformed(ActionEvent e)
2583 public void addFromText_actionPerformed(ActionEvent e)
2588 public void addFromURL_actionPerformed(ActionEvent e)
2593 public void exportFeatures_actionPerformed(ActionEvent e)
2598 public void exportAnnotations_actionPerformed(ActionEvent e)
2603 protected void htmlMenuItem_actionPerformed(ActionEvent e)
2607 protected void bioJSMenuItem_actionPerformed(ActionEvent e)
2612 protected void closeMenuItem_actionPerformed(boolean b)
2616 protected void redoMenuItem_actionPerformed(ActionEvent e)
2620 protected void undoMenuItem_actionPerformed(ActionEvent e)
2624 protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2628 protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2632 protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
2636 protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
2640 protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
2644 protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
2648 protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
2652 protected void wrapMenuItem_actionPerformed(ActionEvent e)
2656 protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
2660 protected void viewTextMenuItem_actionPerformed(ActionEvent e)
2664 protected void colourTextMenuItem_actionPerformed(ActionEvent e)
2668 protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
2672 protected void overviewMenuItem_actionPerformed(ActionEvent e)
2676 protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
2680 protected void sortIDMenuItem_actionPerformed(ActionEvent e)
2684 protected void sortLengthMenuItem_actionPerformed(ActionEvent e)
2688 protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
2692 protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
2696 protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
2700 protected void PCAMenuItem_actionPerformed(ActionEvent e)
2704 protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)
2708 protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
2712 protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)
2716 protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)
2720 protected void clustalColour_actionPerformed(ActionEvent e)
2724 protected void zappoColour_actionPerformed(ActionEvent e)
2728 protected void taylorColour_actionPerformed(ActionEvent e)
2732 protected void hydrophobicityColour_actionPerformed(ActionEvent e)
2736 protected void helixColour_actionPerformed(ActionEvent e)
2740 protected void strandColour_actionPerformed(ActionEvent e)
2744 protected void turnColour_actionPerformed(ActionEvent e)
2748 protected void buriedColour_actionPerformed(ActionEvent e)
2752 protected void userDefinedColour_actionPerformed(ActionEvent e)
2756 protected void PIDColour_actionPerformed(ActionEvent e)
2760 protected void BLOSUM62Colour_actionPerformed(ActionEvent e)
2764 protected void purinePyrimidineColour_actionPerformed(ActionEvent e)
2768 protected void RNAInteractionColour_actionPerformed(ActionEvent e)
2773 * protected void covariationColour_actionPerformed(ActionEvent e) { }
2776 protected void noColourmenuItem_actionPerformed(ActionEvent e)
2780 protected void conservationMenuItem_actionPerformed(ActionEvent e)
2784 protected void printMenuItem_actionPerformed(ActionEvent e)
2788 protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2792 protected void findMenuItem_actionPerformed(ActionEvent e)
2796 protected void abovePIDThreshold_actionPerformed(ActionEvent e)
2800 public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2804 protected void nucleotideColour_actionPerformed(ActionEvent e)
2808 protected void deleteGroups_actionPerformed(ActionEvent e)
2812 protected void createGroup_actionPerformed(ActionEvent e)
2816 protected void unGroup_actionPerformed(ActionEvent e)
2820 protected void copy_actionPerformed(ActionEvent e)
2824 protected void cut_actionPerformed(ActionEvent e)
2828 protected void delete_actionPerformed(ActionEvent e)
2832 protected void pasteNew_actionPerformed(ActionEvent e)
2836 protected void pasteThis_actionPerformed(ActionEvent e)
2840 protected void applyToAllGroups_actionPerformed(ActionEvent e)
2844 public void createPNG(java.io.File f)
2848 protected void font_actionPerformed(ActionEvent e)
2852 protected void seqLimit_actionPerformed(ActionEvent e)
2856 public void seqDBRef_actionPerformed(ActionEvent e)
2861 public void createEPS(java.io.File f)
2865 public void createSVG(java.io.File f)
2870 protected void loadTreeMenuItem_actionPerformed(ActionEvent e)
2876 * Template method to handle the 'load T-Coffee scores' menu event.
2878 * Subclasses override this method to provide a custom action.
2883 protected void loadScores_actionPerformed(ActionEvent event)
2889 * Template method to handle the 'Color T-Coffee scores' menu event.
2891 * Subclasses override this method to provide a custom action.
2896 protected void tcoffeeColorScheme_actionPerformed(ActionEvent event)
2901 protected void jpred_actionPerformed(ActionEvent e)
2905 protected void scaleAbove_actionPerformed(ActionEvent e)
2909 protected void scaleLeft_actionPerformed(ActionEvent e)
2913 protected void scaleRight_actionPerformed(ActionEvent e)
2917 protected void modifyPID_actionPerformed(ActionEvent e)
2921 protected void modifyConservation_actionPerformed(ActionEvent e)
2925 protected void saveAs_actionPerformed(ActionEvent e)
2929 protected void padGapsMenuitem_actionPerformed(ActionEvent e)
2933 public void vamsasStore_actionPerformed(ActionEvent e)
2938 public void vamsasLoad_actionPerformed(ActionEvent e)
2943 public void showTranslation_actionPerformed(ActionEvent e)
2948 public void featureSettings_actionPerformed(ActionEvent e)
2953 public void fetchSequence_actionPerformed(ActionEvent e)
2958 public void smoothFont_actionPerformed(ActionEvent e)
2963 public void annotationColour_actionPerformed(ActionEvent e)
2968 public void annotationColumn_actionPerformed(ActionEvent e)
2973 public void rnahelicesColour_actionPerformed(ActionEvent e)
2978 public void associatedData_actionPerformed(ActionEvent e)
2983 public void autoCalculate_actionPerformed(ActionEvent e)
2988 public void sortByTreeOption_actionPerformed(ActionEvent e)
2993 public void showAllSeqs_actionPerformed(ActionEvent e)
2998 public void showAllColumns_actionPerformed(ActionEvent e)
3003 public void hideSelSequences_actionPerformed(ActionEvent e)
3008 public void hideSelColumns_actionPerformed(ActionEvent e)
3013 public void hiddenMarkers_actionPerformed(ActionEvent e)
3018 public void findPdbId_actionPerformed(ActionEvent e)
3023 public void enterPdbId_actionPerformed(ActionEvent e)
3028 public void pdbFile_actionPerformed(ActionEvent e)
3033 public void invertColSel_actionPerformed(ActionEvent e)
3038 public void tabSelectionChanged(int sel)
3043 public void tabbedPane_mousePressed(MouseEvent e)
3048 public void tabbedPane_focusGained(FocusEvent e)
3053 public void save_actionPerformed(ActionEvent e)
3058 public void reload_actionPerformed(ActionEvent e)
3063 public void newView_actionPerformed(ActionEvent e)
3068 public void textColour_actionPerformed(ActionEvent e)
3073 public void idRightAlign_actionPerformed(ActionEvent e)
3078 public void expandViews_actionPerformed(ActionEvent e)
3083 public void gatherViews_actionPerformed(ActionEvent e)
3088 public void buildTreeMenu()
3093 public void pageSetup_actionPerformed(ActionEvent e)
3098 public void alignmentProperties()
3103 protected void expand_newalign(ActionEvent e)
3105 // TODO Auto-generated method stub
3109 protected boolean isShowAutoCalculatedAbove()
3111 return showAutoCalculatedAbove;
3114 protected void setShowAutoCalculatedAbove(boolean showAutoCalculatedAbove)
3116 this.showAutoCalculatedAbove = showAutoCalculatedAbove;
3119 protected SequenceAnnotationOrder getAnnotationSortOrder()
3121 return annotationSortOrder;
3124 protected void setAnnotationSortOrder(
3125 SequenceAnnotationOrder annotationSortOrder)
3127 this.annotationSortOrder = annotationSortOrder;
3130 public Map<KeyStroke, JMenuItem> getAccelerators()
3132 return this.accelerators;
3136 * Returns the selected index of the tabbed pane, or -1 if none selected
3137 * (including the case where the tabbed pane has not been made visible).
3141 public int getTabIndex()
3143 return tabbedPane.getSelectedIndex();
3146 public JPanel getStatusPanel()
3152 * Sets a reference to the containing split frame. Also makes the 'toggle
3153 * split view' menu item visible and checked.
3157 public void setSplitFrame(SplitContainerI sf)
3159 this.splitFrame = sf;
3162 this.showComplementMenuItem.setVisible(true);
3163 this.showComplementMenuItem.setState(true);
3167 public SplitContainerI getSplitViewContainer()
3169 return this.splitFrame;
3172 protected void showComplement_actionPerformed(boolean complement)