2 * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
3 * Copyright (C) 2014 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.bin.Cache;
25 import jalview.gui.JvSwingUtils;
26 import jalview.gui.Preferences;
27 import jalview.schemes.ColourSchemeProperty;
28 import jalview.util.MessageManager;
30 import java.awt.BorderLayout;
31 import java.awt.Color;
32 import java.awt.GridLayout;
33 import java.awt.Toolkit;
34 import java.awt.event.ActionEvent;
35 import java.awt.event.ActionListener;
36 import java.awt.event.FocusAdapter;
37 import java.awt.event.FocusEvent;
38 import java.awt.event.KeyEvent;
39 import java.awt.event.MouseAdapter;
40 import java.awt.event.MouseEvent;
41 import java.util.HashMap;
44 import javax.swing.BorderFactory;
45 import javax.swing.ButtonGroup;
46 import javax.swing.JCheckBoxMenuItem;
47 import javax.swing.JInternalFrame;
48 import javax.swing.JLabel;
49 import javax.swing.JMenu;
50 import javax.swing.JMenuBar;
51 import javax.swing.JMenuItem;
52 import javax.swing.JOptionPane;
53 import javax.swing.JPanel;
54 import javax.swing.JRadioButtonMenuItem;
55 import javax.swing.JTabbedPane;
56 import javax.swing.KeyStroke;
57 import javax.swing.SwingUtilities;
58 import javax.swing.event.ChangeEvent;
59 import javax.swing.event.MenuEvent;
60 import javax.swing.event.MenuListener;
62 public class GAlignFrame extends JInternalFrame
64 protected JMenuBar alignFrameMenuBar = new JMenuBar();
66 protected JMenu fileMenu = new JMenu();
68 protected JMenuItem closeMenuItem = new JMenuItem();
70 protected JMenu editMenu = new JMenu();
72 protected JMenu viewMenu = new JMenu();
74 protected JMenu annotationsMenu = new JMenu();
76 protected JMenu colourMenu = new JMenu();
78 protected JMenu calculateMenu = new JMenu();
80 protected JMenu webService = new JMenu();
82 protected JMenuItem webServiceNoServices;
84 protected JMenuItem selectAllSequenceMenuItem = new JMenuItem();
86 protected JMenuItem deselectAllSequenceMenuItem = new JMenuItem();
88 protected JMenuItem invertSequenceMenuItem = new JMenuItem();
90 protected JMenuItem remove2LeftMenuItem = new JMenuItem();
92 protected JMenuItem remove2RightMenuItem = new JMenuItem();
94 protected JMenuItem removeGappedColumnMenuItem = new JMenuItem();
96 protected JMenuItem removeAllGapsMenuItem = new JMenuItem();
98 public JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
100 public JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
102 protected JMenuItem sortPairwiseMenuItem = new JMenuItem();
104 protected JMenuItem sortIDMenuItem = new JMenuItem();
106 protected JMenuItem sortLengthMenuItem = new JMenuItem();
108 protected JMenuItem sortGroupMenuItem = new JMenuItem();
110 protected JMenu sortByAnnotScore = new JMenu();
112 protected JMenuItem removeRedundancyMenuItem = new JMenuItem();
114 protected JMenuItem pairwiseAlignmentMenuItem = new JMenuItem();
116 protected JMenuItem PCAMenuItem = new JMenuItem();
118 protected JMenuItem averageDistanceTreeMenuItem = new JMenuItem();
120 protected JMenuItem neighbourTreeMenuItem = new JMenuItem();
122 BorderLayout borderLayout1 = new BorderLayout();
124 public JLabel statusBar = new JLabel();
126 protected JMenuItem saveAs = new JMenuItem();
128 protected JMenu outputTextboxMenu = new JMenu();
130 protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();
132 protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();
134 protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();
136 protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem();
138 protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();
140 protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();
142 protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();
144 protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();
146 protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();
148 protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();
150 protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();
152 protected JRadioButtonMenuItem nucleotideColour = new JRadioButtonMenuItem();
154 protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem();
156 protected JRadioButtonMenuItem RNAInteractionColour = new JRadioButtonMenuItem();
158 // protected JRadioButtonMenuItem covariationColour = new
159 // JRadioButtonMenuItem();
161 protected JRadioButtonMenuItem tcoffeeColour = new JRadioButtonMenuItem();
163 JMenuItem njTreeBlosumMenuItem = new JMenuItem();
165 JMenuItem avDistanceTreeBlosumMenuItem = new JMenuItem();
167 public JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
169 public JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
171 public JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem();
173 JMenuItem htmlMenuItem = new JMenuItem();
175 JMenuItem overviewMenuItem = new JMenuItem();
177 protected JMenuItem undoMenuItem = new JMenuItem();
179 protected JMenuItem redoMenuItem = new JMenuItem();
181 public JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();
183 JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();
185 public JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
187 JMenuItem printMenuItem = new JMenuItem();
189 public JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
191 JMenuItem findMenuItem = new JMenuItem();
193 public JCheckBoxMenuItem abovePIDThreshold = new JCheckBoxMenuItem();
195 public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
197 public JCheckBoxMenuItem showSeqFeaturesHeight = new JCheckBoxMenuItem();
199 JMenuItem deleteGroups = new JMenuItem();
201 JMenuItem createGroup = new JMenuItem();
203 JMenuItem unGroup = new JMenuItem();
205 JMenuItem delete = new JMenuItem();
207 JMenuItem copy = new JMenuItem();
209 JMenuItem cut = new JMenuItem();
211 JMenu pasteMenu = new JMenu();
213 JMenuItem pasteNew = new JMenuItem();
215 JMenuItem pasteThis = new JMenuItem();
217 public JCheckBoxMenuItem applyToAllGroups = new JCheckBoxMenuItem();
219 JMenuItem createPNG = new JMenuItem();
221 JMenuItem createBioJS = new JMenuItem();
223 JMenuItem createSVG = new JMenuItem();
225 protected JMenuItem font = new JMenuItem();
227 public JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
229 JMenuItem epsFile = new JMenuItem();
231 JMenuItem LoadtreeMenuItem = new JMenuItem();
233 public JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
235 public JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
237 public JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
239 protected JMenuItem modifyPID = new JMenuItem();
241 protected JMenuItem modifyConservation = new JMenuItem();
243 protected JMenu sortByTreeMenu = new JMenu();
245 protected JMenu sort = new JMenu();
247 protected JMenu calculateTree = new JMenu();
249 JMenu jMenu2 = new JMenu();
251 protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
253 protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
255 protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
257 protected ButtonGroup colours = new ButtonGroup();
259 JMenuItem vamsasStore = new JMenuItem();
261 protected JMenuItem showTranslation = new JMenuItem();
263 protected JMenu cdna = new JMenu();
265 protected JMenuItem extractScores = new JMenuItem();
267 protected JMenuItem expandAlignment = new JMenuItem();
269 protected JMenu showProducts = new JMenu();
271 public JMenuItem openFeatureSettings = new JMenuItem();
273 JMenuItem fetchSequence = new JMenuItem();
275 JMenuItem annotationColour = new JMenuItem();
277 JMenuItem annotationColumn = new JMenuItem();
279 protected JMenuItem rnahelicesColour = new JMenuItem();
281 JMenuItem associatedData = new JMenuItem();
283 protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
285 protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
287 protected JCheckBoxMenuItem listenToViewSelections = new JCheckBoxMenuItem();
289 JMenu addSequenceMenu = new JMenu();
291 JMenuItem addFromFile = new JMenuItem();
293 JMenuItem addFromText = new JMenuItem();
295 JMenuItem addFromURL = new JMenuItem();
297 JMenuItem exportAnnotations = new JMenuItem();
299 JMenuItem exportFeatures = new JMenuItem();
301 protected JPanel statusPanel = new JPanel();
303 GridLayout gridLayout1 = new GridLayout();
305 JMenu jMenu3 = new JMenu();
307 JMenuItem showAllSeqs = new JMenuItem();
309 JMenuItem showAllColumns = new JMenuItem();
311 JMenu hideMenu = new JMenu();
313 JMenuItem hideSelSequences = new JMenuItem();
315 JMenuItem hideSelColumns = new JMenuItem();
317 JMenuItem hideAllButSelection = new JMenuItem();
319 JMenuItem hideAllSelection = new JMenuItem();
321 JMenuItem showAllhidden = new JMenuItem();
323 protected JMenuItem showAllSeqAnnotations = new JMenuItem();
325 protected JMenuItem hideAllSeqAnnotations = new JMenuItem();
327 protected JMenuItem showAllAlAnnotations = new JMenuItem();
329 protected JMenuItem hideAllAlAnnotations = new JMenuItem();
331 protected JCheckBoxMenuItem sortAnnBySequence = new JCheckBoxMenuItem();
333 protected JCheckBoxMenuItem sortAnnByLabel = new JCheckBoxMenuItem();
335 protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
337 JMenuItem invertColSel = new JMenuItem();
339 protected JTabbedPane tabbedPane = new JTabbedPane();
341 JMenuItem save = new JMenuItem();
343 protected JMenuItem reload = new JMenuItem();
345 JMenuItem newView = new JMenuItem();
347 JMenuItem textColour = new JMenuItem();
349 protected JMenu formatMenu = new JMenu();
351 JMenu selectMenu = new JMenu();
353 protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
355 protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem();
357 protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem();
359 protected JMenuItem gatherViews = new JMenuItem();
361 protected JMenuItem expandViews = new JMenuItem();
363 JMenuItem pageSetup = new JMenuItem();
365 JMenuItem alignmentProperties = new JMenuItem();
367 JMenu tooltipSettingsMenu = new JMenu();
369 private JMenuItem justifyLeftMenuItem = new JMenuItem();
371 private JMenuItem justifyRightMenuItem = new JMenuItem();
373 JMenu autoAnnMenu = new JMenu();
375 protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem();
377 protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem();
379 protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem();
381 protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem();
383 protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
385 protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
387 protected JRadioButtonMenuItem showAutoFirst = new JRadioButtonMenuItem();
389 protected JRadioButtonMenuItem showAutoLast = new JRadioButtonMenuItem();
391 private JMenuItem grpsFromSelection = new JMenuItem();
393 private SequenceAnnotationOrder annotationSortOrder;
395 private boolean showAutoCalculatedAbove = false;
397 private Map<KeyStroke, JMenuItem> accelerators = new HashMap<KeyStroke, JMenuItem>();
404 setJMenuBar(alignFrameMenuBar);
406 // dynamically fill save as menu with available formats
407 for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)
409 JMenuItem item = new JMenuItem(
410 jalview.io.FormatAdapter.WRITEABLE_FORMATS[i]);
412 item.addActionListener(new ActionListener()
415 public void actionPerformed(ActionEvent e)
417 outputText_actionPerformed(e);
421 outputTextboxMenu.add(item);
423 } catch (Exception e)
425 System.err.println(e.toString());
428 if (!new jalview.util.Platform().isAMac())
430 closeMenuItem.setMnemonic('C');
431 outputTextboxMenu.setMnemonic('T');
432 undoMenuItem.setMnemonic('Z');
433 redoMenuItem.setMnemonic('0');
434 copy.setMnemonic('C');
435 cut.setMnemonic('U');
436 pasteMenu.setMnemonic('P');
437 reload.setMnemonic('R');
440 if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
442 java.util.Enumeration userColours = jalview.gui.UserDefinedColours
443 .getUserColourSchemes().keys();
445 while (userColours.hasMoreElements())
447 final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(
448 userColours.nextElement().toString());
449 radioItem.setName("USER_DEFINED");
450 radioItem.addMouseListener(new MouseAdapter()
453 public void mousePressed(MouseEvent evt)
455 if (evt.isControlDown()
456 || SwingUtilities.isRightMouseButton(evt))
458 radioItem.removeActionListener(radioItem.getActionListeners()[0]);
460 int option = JOptionPane.showInternalConfirmDialog(
461 jalview.gui.Desktop.desktop,
463 .getString("label.remove_from_default_list"),
465 .getString("label.remove_user_defined_colour"),
466 JOptionPane.YES_NO_OPTION);
467 if (option == JOptionPane.YES_OPTION)
469 jalview.gui.UserDefinedColours
470 .removeColourFromDefaults(radioItem.getText());
471 colourMenu.remove(radioItem);
475 radioItem.addActionListener(new ActionListener()
478 public void actionPerformed(ActionEvent evt)
480 userDefinedColour_actionPerformed(evt);
487 radioItem.addActionListener(new ActionListener()
490 public void actionPerformed(ActionEvent evt)
492 userDefinedColour_actionPerformed(evt);
495 colourMenu.insert(radioItem, 15);
496 colours.add(radioItem);
499 colours.add(noColourmenuItem);
500 colours.add(clustalColour);
501 colours.add(zappoColour);
502 colours.add(taylorColour);
503 colours.add(hydrophobicityColour);
504 colours.add(helixColour);
505 colours.add(strandColour);
506 colours.add(turnColour);
507 colours.add(buriedColour);
508 colours.add(userDefinedColour);
509 colours.add(PIDColour);
510 colours.add(BLOSUM62Colour);
511 colours.add(nucleotideColour);
512 colours.add(purinePyrimidineColour);
513 // colours.add(covariationColour);
514 colours.add(tcoffeeColour);
515 colours.add(RNAInteractionColour);
516 setColourSelected(jalview.bin.Cache
517 .getDefault("DEFAULT_COLOUR", "None"));
521 public void setColourSelected(String defaultColour)
524 if (defaultColour != null)
526 int index = ColourSchemeProperty
527 .getColourIndexFromName(defaultColour);
531 case ColourSchemeProperty.CLUSTAL:
532 clustalColour.setSelected(true);
536 case ColourSchemeProperty.BLOSUM:
537 BLOSUM62Colour.setSelected(true);
541 case ColourSchemeProperty.PID:
542 PIDColour.setSelected(true);
546 case ColourSchemeProperty.ZAPPO:
547 zappoColour.setSelected(true);
551 case ColourSchemeProperty.TAYLOR:
552 taylorColour.setSelected(true);
555 case ColourSchemeProperty.HYDROPHOBIC:
556 hydrophobicityColour.setSelected(true);
560 case ColourSchemeProperty.HELIX:
561 helixColour.setSelected(true);
565 case ColourSchemeProperty.STRAND:
566 strandColour.setSelected(true);
570 case ColourSchemeProperty.TURN:
571 turnColour.setSelected(true);
575 case ColourSchemeProperty.BURIED:
576 buriedColour.setSelected(true);
580 case ColourSchemeProperty.NUCLEOTIDE:
581 nucleotideColour.setSelected(true);
585 case ColourSchemeProperty.TCOFFEE:
586 tcoffeeColour.setSelected(true);
589 case ColourSchemeProperty.PURINEPYRIMIDINE:
590 purinePyrimidineColour.setSelected(true);
594 case ColourSchemeProperty.RNAINTERACTION:
595 RNAInteractionColour.setSelected(true);
599 * case ColourSchemeProperty.COVARIATION:
600 * covariationColour.setSelected(true);
604 case ColourSchemeProperty.USER_DEFINED:
605 userDefinedColour.setSelected(true);
608 case ColourSchemeProperty.NONE:
610 noColourmenuItem.setSelected(true);
618 private void jbInit() throws Exception
620 fileMenu.setText(MessageManager.getString("action.file"));
622 saveAs.setText(MessageManager.getString("action.save_as") + "...");
623 ActionListener al = new ActionListener()
626 public void actionPerformed(ActionEvent e)
628 saveAs_actionPerformed(e);
631 KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit
632 .getDefaultToolkit().getMenuShortcutKeyMask()
633 | KeyEvent.SHIFT_MASK, false);
634 addMenuActionAndAccelerator(keyStroke, saveAs, al);
636 closeMenuItem.setText(MessageManager.getString("action.close"));
637 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W, Toolkit
638 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
639 al = new ActionListener()
642 public void actionPerformed(ActionEvent e)
644 closeMenuItem_actionPerformed(false);
647 addMenuActionAndAccelerator(keyStroke, closeMenuItem, al);
649 editMenu.setText(MessageManager.getString("action.edit"));
650 viewMenu.setText(MessageManager.getString("action.view"));
651 annotationsMenu.setText(MessageManager.getString("action.annotations"));
652 colourMenu.setText(MessageManager.getString("action.colour"));
653 calculateMenu.setText(MessageManager.getString("action.calculate"));
654 webService.setText(MessageManager.getString("action.web_service"));
656 selectAllSequenceMenuItem.setText(MessageManager
657 .getString("action.select_all"));
658 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit
659 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
660 al = new ActionListener()
663 public void actionPerformed(ActionEvent e)
665 selectAllSequenceMenuItem_actionPerformed(e);
668 addMenuActionAndAccelerator(keyStroke, selectAllSequenceMenuItem, al);
670 deselectAllSequenceMenuItem.setText(MessageManager
671 .getString("action.deselect_all"));
672 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
673 al = new ActionListener()
676 public void actionPerformed(ActionEvent e)
678 deselectAllSequenceMenuItem_actionPerformed(e);
681 addMenuActionAndAccelerator(keyStroke, deselectAllSequenceMenuItem, al);
683 invertSequenceMenuItem.setText(MessageManager
684 .getString("action.invert_sequence_selection"));
685 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, Toolkit
686 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
687 al = new ActionListener()
690 public void actionPerformed(ActionEvent e)
692 invertSequenceMenuItem_actionPerformed(e);
695 addMenuActionAndAccelerator(keyStroke, invertSequenceMenuItem, al);
697 grpsFromSelection.setText(MessageManager
698 .getString("action.make_groups_selection"));
699 grpsFromSelection.addActionListener(new ActionListener()
702 public void actionPerformed(ActionEvent e)
704 makeGrpsFromSelection_actionPerformed(e);
707 expandAlignment.setText(MessageManager
708 .getString("action.view_flanking_regions"));
709 expandAlignment.setToolTipText(MessageManager
710 .getString("label.view_flanking_regions"));
711 expandAlignment.addActionListener(new ActionListener()
714 public void actionPerformed(ActionEvent e)
719 remove2LeftMenuItem.setText(MessageManager
720 .getString("action.remove_left"));
721 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L, Toolkit
722 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
723 al = new ActionListener()
726 public void actionPerformed(ActionEvent e)
728 remove2LeftMenuItem_actionPerformed(e);
731 addMenuActionAndAccelerator(keyStroke, remove2LeftMenuItem, al);
733 remove2RightMenuItem.setText(MessageManager
734 .getString("action.remove_right"));
735 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R, Toolkit
736 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
737 al = new ActionListener()
740 public void actionPerformed(ActionEvent e)
742 remove2RightMenuItem_actionPerformed(e);
745 addMenuActionAndAccelerator(keyStroke, remove2RightMenuItem, al);
747 removeGappedColumnMenuItem.setText(MessageManager
748 .getString("action.remove_empty_columns"));
749 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, Toolkit
750 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
751 al = new ActionListener()
754 public void actionPerformed(ActionEvent e)
756 removeGappedColumnMenuItem_actionPerformed(e);
759 addMenuActionAndAccelerator(keyStroke, removeGappedColumnMenuItem, al);
761 removeAllGapsMenuItem.setText(MessageManager
762 .getString("action.remove_all_gaps"));
763 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, Toolkit
764 .getDefaultToolkit().getMenuShortcutKeyMask()
765 | KeyEvent.SHIFT_MASK, false);
766 al = new ActionListener()
769 public void actionPerformed(ActionEvent e)
771 removeAllGapsMenuItem_actionPerformed(e);
774 addMenuActionAndAccelerator(keyStroke, removeAllGapsMenuItem, al);
776 justifyLeftMenuItem.setText(MessageManager
777 .getString("action.left_justify_alignment"));
778 justifyLeftMenuItem.addActionListener(new ActionListener()
781 public void actionPerformed(ActionEvent e)
783 justifyLeftMenuItem_actionPerformed(e);
786 justifyRightMenuItem.setText(MessageManager
787 .getString("action.right_justify_alignment"));
788 justifyRightMenuItem.addActionListener(new ActionListener()
791 public void actionPerformed(ActionEvent e)
793 justifyRightMenuItem_actionPerformed(e);
796 viewBoxesMenuItem.setText(MessageManager.getString("action.boxes"));
797 viewBoxesMenuItem.setState(true);
798 viewBoxesMenuItem.addActionListener(new ActionListener()
801 public void actionPerformed(ActionEvent e)
803 viewBoxesMenuItem_actionPerformed(e);
806 viewTextMenuItem.setText(MessageManager.getString("action.text"));
807 viewTextMenuItem.setState(true);
808 viewTextMenuItem.addActionListener(new ActionListener()
811 public void actionPerformed(ActionEvent e)
813 viewTextMenuItem_actionPerformed(e);
816 showNonconservedMenuItem.setText(MessageManager
817 .getString("label.show_non_conversed"));
818 showNonconservedMenuItem.setState(false);
819 showNonconservedMenuItem.addActionListener(new ActionListener()
822 public void actionPerformed(ActionEvent e)
824 showUnconservedMenuItem_actionPerformed(e);
827 sortPairwiseMenuItem.setText(MessageManager
828 .getString("action.by_pairwise_id"));
829 sortPairwiseMenuItem.addActionListener(new ActionListener()
832 public void actionPerformed(ActionEvent e)
834 sortPairwiseMenuItem_actionPerformed(e);
837 sortIDMenuItem.setText(MessageManager.getString("action.by_id"));
838 sortIDMenuItem.addActionListener(new ActionListener()
841 public void actionPerformed(ActionEvent e)
843 sortIDMenuItem_actionPerformed(e);
847 .setText(MessageManager.getString("action.by_length"));
848 sortLengthMenuItem.addActionListener(new ActionListener()
851 public void actionPerformed(ActionEvent e)
853 sortLengthMenuItem_actionPerformed(e);
856 sortGroupMenuItem.setText(MessageManager.getString("action.by_group"));
857 sortGroupMenuItem.addActionListener(new ActionListener()
860 public void actionPerformed(ActionEvent e)
862 sortGroupMenuItem_actionPerformed(e);
866 removeRedundancyMenuItem.setText(MessageManager.getString(
867 "action.remove_redundancy").concat("..."));
868 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit
869 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
870 al = new ActionListener()
873 public void actionPerformed(ActionEvent e)
875 removeRedundancyMenuItem_actionPerformed(e);
878 addMenuActionAndAccelerator(keyStroke, removeRedundancyMenuItem, al);
880 pairwiseAlignmentMenuItem.setText(MessageManager
881 .getString("action.pairwise_alignment"));
882 pairwiseAlignmentMenuItem.addActionListener(new ActionListener()
885 public void actionPerformed(ActionEvent e)
887 pairwiseAlignmentMenuItem_actionPerformed(e);
890 PCAMenuItem.setText(MessageManager
891 .getString("label.principal_component_analysis"));
892 PCAMenuItem.addActionListener(new ActionListener()
895 public void actionPerformed(ActionEvent e)
897 PCAMenuItem_actionPerformed(e);
900 averageDistanceTreeMenuItem.setText(MessageManager
901 .getString("label.average_distance_identity"));
902 averageDistanceTreeMenuItem.addActionListener(new ActionListener()
905 public void actionPerformed(ActionEvent e)
907 averageDistanceTreeMenuItem_actionPerformed(e);
910 neighbourTreeMenuItem.setText(MessageManager
911 .getString("label.neighbour_joining_identity"));
912 neighbourTreeMenuItem.addActionListener(new ActionListener()
915 public void actionPerformed(ActionEvent e)
917 neighbourTreeMenuItem_actionPerformed(e);
920 this.getContentPane().setLayout(borderLayout1);
921 alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
922 statusBar.setBackground(Color.white);
923 statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
924 statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
925 statusBar.setText(MessageManager.getString("label.status_bar"));
926 outputTextboxMenu.setText(MessageManager
927 .getString("label.out_to_textbox"));
928 clustalColour.setText(MessageManager.getString("label.clustalx"));
930 clustalColour.addActionListener(new ActionListener()
933 public void actionPerformed(ActionEvent e)
935 clustalColour_actionPerformed(e);
938 zappoColour.setText(MessageManager.getString("label.zappo"));
939 zappoColour.addActionListener(new ActionListener()
942 public void actionPerformed(ActionEvent e)
944 zappoColour_actionPerformed(e);
947 taylorColour.setText(MessageManager.getString("label.taylor"));
948 taylorColour.addActionListener(new ActionListener()
951 public void actionPerformed(ActionEvent e)
953 taylorColour_actionPerformed(e);
956 hydrophobicityColour.setText(MessageManager
957 .getString("label.hydrophobicity"));
958 hydrophobicityColour.addActionListener(new ActionListener()
961 public void actionPerformed(ActionEvent e)
963 hydrophobicityColour_actionPerformed(e);
966 helixColour.setText(MessageManager.getString("label.helix_propensity"));
967 helixColour.addActionListener(new ActionListener()
970 public void actionPerformed(ActionEvent e)
972 helixColour_actionPerformed(e);
975 strandColour.setText(MessageManager
976 .getString("label.strand_propensity"));
977 strandColour.addActionListener(new ActionListener()
980 public void actionPerformed(ActionEvent e)
982 strandColour_actionPerformed(e);
985 turnColour.setText(MessageManager.getString("label.turn_propensity"));
986 turnColour.addActionListener(new ActionListener()
989 public void actionPerformed(ActionEvent e)
991 turnColour_actionPerformed(e);
994 buriedColour.setText(MessageManager.getString("label.buried_index"));
995 buriedColour.addActionListener(new ActionListener()
998 public void actionPerformed(ActionEvent e)
1000 buriedColour_actionPerformed(e);
1003 userDefinedColour.setText(MessageManager
1004 .getString("action.user_defined"));
1005 userDefinedColour.addActionListener(new ActionListener()
1008 public void actionPerformed(ActionEvent e)
1010 userDefinedColour_actionPerformed(e);
1014 .setText(MessageManager.getString("label.percentage_identity"));
1015 PIDColour.addActionListener(new ActionListener()
1018 public void actionPerformed(ActionEvent e)
1020 PIDColour_actionPerformed(e);
1024 .setText(MessageManager.getString("label.blosum62_score"));
1025 BLOSUM62Colour.addActionListener(new ActionListener()
1028 public void actionPerformed(ActionEvent e)
1030 BLOSUM62Colour_actionPerformed(e);
1033 nucleotideColour.setText(MessageManager.getString("label.nucleotide"));
1034 nucleotideColour.addActionListener(new ActionListener()
1037 public void actionPerformed(ActionEvent e)
1039 nucleotideColour_actionPerformed(e);
1043 purinePyrimidineColour.setText(MessageManager
1044 .getString("label.purine_pyrimidine"));
1045 purinePyrimidineColour.addActionListener(new ActionListener()
1048 public void actionPerformed(ActionEvent e)
1050 purinePyrimidineColour_actionPerformed(e);
1054 RNAInteractionColour.setText("RNA Interaction type");
1055 RNAInteractionColour.addActionListener(new ActionListener()
1058 public void actionPerformed(ActionEvent e)
1060 RNAInteractionColour_actionPerformed(e);
1064 * covariationColour.setText("Covariation");
1065 * covariationColour.addActionListener(new ActionListener() { public void
1066 * actionPerformed(ActionEvent e) { covariationColour_actionPerformed(e); }
1070 avDistanceTreeBlosumMenuItem.setText(MessageManager
1071 .getString("label.average_distance_bloslum62"));
1072 avDistanceTreeBlosumMenuItem.addActionListener(new ActionListener()
1075 public void actionPerformed(ActionEvent e)
1077 avTreeBlosumMenuItem_actionPerformed(e);
1080 njTreeBlosumMenuItem.setText(MessageManager
1081 .getString("label.neighbour_blosum62"));
1082 njTreeBlosumMenuItem.addActionListener(new ActionListener()
1085 public void actionPerformed(ActionEvent e)
1087 njTreeBlosumMenuItem_actionPerformed(e);
1090 annotationPanelMenuItem.setActionCommand("");
1091 annotationPanelMenuItem.setText(MessageManager
1092 .getString("label.show_annotations"));
1093 annotationPanelMenuItem.setState(Cache.getDefault("SHOW_ANNOTATIONS",
1095 annotationPanelMenuItem.addActionListener(new ActionListener()
1098 public void actionPerformed(ActionEvent e)
1100 annotationPanelMenuItem_actionPerformed(e);
1103 showAllAlAnnotations.setText(MessageManager
1104 .getString("label.show_all_al_annotations"));
1105 final boolean isAnnotationPanelShown = annotationPanelMenuItem
1107 showAllAlAnnotations.setEnabled(isAnnotationPanelShown);
1108 showAllAlAnnotations.addActionListener(new ActionListener()
1111 public void actionPerformed(ActionEvent e)
1113 showAllAnnotations_actionPerformed(false, true);
1116 hideAllAlAnnotations.setText(MessageManager
1117 .getString("label.hide_all_al_annotations"));
1118 hideAllAlAnnotations.setEnabled(isAnnotationPanelShown);
1119 hideAllAlAnnotations.addActionListener(new ActionListener()
1122 public void actionPerformed(ActionEvent e)
1124 hideAllAnnotations_actionPerformed(false, true);
1127 showAllSeqAnnotations.setText(MessageManager
1128 .getString("label.show_all_seq_annotations"));
1129 showAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
1130 showAllSeqAnnotations.addActionListener(new ActionListener()
1133 public void actionPerformed(ActionEvent e)
1135 showAllAnnotations_actionPerformed(true, false);
1138 hideAllSeqAnnotations.setText(MessageManager
1139 .getString("label.hide_all_seq_annotations"));
1140 hideAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
1141 hideAllSeqAnnotations.addActionListener(new ActionListener()
1144 public void actionPerformed(ActionEvent e)
1146 hideAllAnnotations_actionPerformed(true, false);
1149 SequenceAnnotationOrder sortAnnotationsBy = SequenceAnnotationOrder
1150 .valueOf(Cache.getDefault(Preferences.SORT_ANNOTATIONS,
1151 SequenceAnnotationOrder.NONE.name()));
1152 sortAnnBySequence.setText(MessageManager
1153 .getString("label.sort_annotations_by_sequence"));
1155 .setSelected(sortAnnotationsBy == SequenceAnnotationOrder.SEQUENCE_AND_LABEL);
1156 sortAnnBySequence.addActionListener(new ActionListener()
1159 public void actionPerformed(ActionEvent e)
1161 boolean newState = sortAnnBySequence.getState();
1162 sortAnnByLabel.setSelected(false);
1163 setAnnotationSortOrder(newState ? SequenceAnnotationOrder.SEQUENCE_AND_LABEL
1164 : SequenceAnnotationOrder.NONE);
1165 sortAnnotations_actionPerformed();
1168 sortAnnByLabel.setText(MessageManager
1169 .getString("label.sort_annotations_by_label"));
1171 .setSelected(sortAnnotationsBy == SequenceAnnotationOrder.LABEL_AND_SEQUENCE);
1172 sortAnnByLabel.addActionListener(new ActionListener()
1175 public void actionPerformed(ActionEvent e)
1177 boolean newState = sortAnnByLabel.getState();
1178 sortAnnBySequence.setSelected(false);
1179 setAnnotationSortOrder(newState ? SequenceAnnotationOrder.LABEL_AND_SEQUENCE
1180 : SequenceAnnotationOrder.NONE);
1181 sortAnnotations_actionPerformed();
1184 colourTextMenuItem.setText(MessageManager
1185 .getString("label.colour_text"));
1186 colourTextMenuItem.addActionListener(new ActionListener()
1189 public void actionPerformed(ActionEvent e)
1191 colourTextMenuItem_actionPerformed(e);
1194 htmlMenuItem.setText(MessageManager.getString("label.html"));
1195 htmlMenuItem.addActionListener(new ActionListener()
1198 public void actionPerformed(ActionEvent e)
1200 htmlMenuItem_actionPerformed(e);
1204 // TODO uncomment when supported by MassageManager
1205 // createBioJS.setText(MessageManager.getString("label.biojs_html_export"));
1206 createBioJS.setText("BioJS");
1207 createBioJS.addActionListener(new java.awt.event.ActionListener()
1210 public void actionPerformed(ActionEvent e)
1212 bioJSMenuItem_actionPerformed(e);
1216 overviewMenuItem.setText(MessageManager
1217 .getString("label.overview_window"));
1218 overviewMenuItem.addActionListener(new ActionListener()
1221 public void actionPerformed(ActionEvent e)
1223 overviewMenuItem_actionPerformed(e);
1227 undoMenuItem.setEnabled(false);
1228 undoMenuItem.setText(MessageManager.getString("action.undo"));
1229 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z, Toolkit
1230 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1231 al = new ActionListener()
1234 public void actionPerformed(ActionEvent e)
1236 undoMenuItem_actionPerformed(e);
1239 addMenuActionAndAccelerator(keyStroke, undoMenuItem, al);
1241 redoMenuItem.setEnabled(false);
1242 redoMenuItem.setText(MessageManager.getString("action.redo"));
1243 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y, Toolkit
1244 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1245 al = new ActionListener()
1248 public void actionPerformed(ActionEvent e)
1250 redoMenuItem_actionPerformed(e);
1253 addMenuActionAndAccelerator(keyStroke, redoMenuItem, al);
1255 conservationMenuItem.setText(MessageManager
1256 .getString("action.by_conservation"));
1257 conservationMenuItem.addActionListener(new ActionListener()
1260 public void actionPerformed(ActionEvent e)
1262 conservationMenuItem_actionPerformed(e);
1265 noColourmenuItem.setText(MessageManager.getString("label.none"));
1266 noColourmenuItem.addActionListener(new ActionListener()
1269 public void actionPerformed(ActionEvent e)
1271 noColourmenuItem_actionPerformed(e);
1274 wrapMenuItem.setText(MessageManager.getString("label.wrap"));
1275 wrapMenuItem.addActionListener(new ActionListener()
1278 public void actionPerformed(ActionEvent e)
1280 wrapMenuItem_actionPerformed(e);
1284 printMenuItem.setText(MessageManager.getString("action.print") + "...");
1285 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P, Toolkit
1286 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1287 al = new ActionListener()
1290 public void actionPerformed(ActionEvent e)
1292 printMenuItem_actionPerformed(e);
1295 addMenuActionAndAccelerator(keyStroke, printMenuItem, al);
1298 .setText(MessageManager.getString("action.show_gaps"));
1299 renderGapsMenuItem.setState(true);
1300 renderGapsMenuItem.addActionListener(new ActionListener()
1303 public void actionPerformed(ActionEvent e)
1305 renderGapsMenuItem_actionPerformed(e);
1309 findMenuItem.setText(MessageManager.getString("action.find"));
1310 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F, Toolkit
1311 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1312 findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true,
1313 MessageManager.getString("label.find_tip")));
1314 al = new ActionListener()
1317 public void actionPerformed(ActionEvent e)
1319 findMenuItem_actionPerformed(e);
1322 addMenuActionAndAccelerator(keyStroke, findMenuItem, al);
1324 abovePIDThreshold.setText(MessageManager
1325 .getString("label.above_identity_threshold"));
1326 abovePIDThreshold.addActionListener(new ActionListener()
1329 public void actionPerformed(ActionEvent e)
1331 abovePIDThreshold_actionPerformed(e);
1334 showSeqFeatures.setText(MessageManager
1335 .getString("label.show_sequence_features"));
1336 showSeqFeatures.addActionListener(new ActionListener()
1339 public void actionPerformed(ActionEvent actionEvent)
1341 showSeqFeatures_actionPerformed(actionEvent);
1345 * showSeqFeaturesHeight.setText("Vary Sequence Feature Height");
1346 * showSeqFeaturesHeight.addActionListener(new ActionListener() { public
1347 * void actionPerformed(ActionEvent actionEvent) {
1348 * showSeqFeaturesHeight_actionPerformed(actionEvent); } });
1350 showDbRefsMenuitem.setText(MessageManager
1351 .getString("label.show_database_refs"));
1352 showDbRefsMenuitem.addActionListener(new ActionListener()
1356 public void actionPerformed(ActionEvent e)
1358 showDbRefs_actionPerformed(e);
1362 showNpFeatsMenuitem.setText(MessageManager
1363 .getString("label.show_non_positional_features"));
1364 showNpFeatsMenuitem.addActionListener(new ActionListener()
1368 public void actionPerformed(ActionEvent e)
1370 showNpFeats_actionPerformed(e);
1374 showGroupConservation.setText(MessageManager
1375 .getString("label.group_conservation"));
1376 showGroupConservation.addActionListener(new ActionListener()
1380 public void actionPerformed(ActionEvent e)
1382 showGroupConservation_actionPerformed(e);
1387 showGroupConsensus.setText(MessageManager
1388 .getString("label.group_consensus"));
1389 showGroupConsensus.addActionListener(new ActionListener()
1393 public void actionPerformed(ActionEvent e)
1395 showGroupConsensus_actionPerformed(e);
1399 showConsensusHistogram.setText(MessageManager
1400 .getString("label.show_consensus_histogram"));
1401 showConsensusHistogram.addActionListener(new ActionListener()
1405 public void actionPerformed(ActionEvent e)
1407 showConsensusHistogram_actionPerformed(e);
1411 showSequenceLogo.setText(MessageManager
1412 .getString("label.show_consensus_logo"));
1413 showSequenceLogo.addActionListener(new ActionListener()
1417 public void actionPerformed(ActionEvent e)
1419 showSequenceLogo_actionPerformed(e);
1423 normaliseSequenceLogo.setText(MessageManager
1424 .getString("label.norm_consensus_logo"));
1425 normaliseSequenceLogo.addActionListener(new ActionListener()
1429 public void actionPerformed(ActionEvent e)
1431 normaliseSequenceLogo_actionPerformed(e);
1435 applyAutoAnnotationSettings.setText(MessageManager
1436 .getString("label.apply_all_groups"));
1437 applyAutoAnnotationSettings.setState(false);
1438 applyAutoAnnotationSettings.setVisible(true);
1439 applyAutoAnnotationSettings.addActionListener(new ActionListener()
1442 public void actionPerformed(ActionEvent e)
1444 applyAutoAnnotationSettings_actionPerformed(e);
1448 ButtonGroup buttonGroup = new ButtonGroup();
1449 buttonGroup.add(showAutoFirst);
1450 buttonGroup.add(showAutoLast);
1451 showAutoFirst.setText(MessageManager.getString("label.show_first"));
1452 showAutoFirst.setSelected(Cache.getDefault(
1453 Preferences.SHOW_AUTOCALC_ABOVE, false));
1454 showAutoFirst.addActionListener(new ActionListener()
1457 public void actionPerformed(ActionEvent e)
1459 setShowAutoCalculatedAbove(showAutoFirst.isSelected());
1460 sortAnnotations_actionPerformed();
1463 showAutoLast.setText(MessageManager.getString("label.show_last"));
1464 showAutoLast.setSelected(!showAutoFirst.isSelected());
1465 showAutoLast.addActionListener(new ActionListener()
1468 public void actionPerformed(ActionEvent e)
1470 setShowAutoCalculatedAbove(!showAutoLast.isSelected());
1471 sortAnnotations_actionPerformed();
1475 nucleotideColour.setText(MessageManager.getString("label.nucleotide"));
1476 nucleotideColour.addActionListener(new ActionListener()
1479 public void actionPerformed(ActionEvent e)
1481 nucleotideColour_actionPerformed(e);
1485 tcoffeeColour.setText(MessageManager.getString("label.tcoffee_scores"));
1486 tcoffeeColour.setEnabled(false);
1487 tcoffeeColour.addActionListener(new ActionListener()
1491 public void actionPerformed(ActionEvent e)
1493 tcoffeeColorScheme_actionPerformed(e);
1498 .setText(MessageManager.getString("action.undefine_groups"));
1499 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U, Toolkit
1500 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1501 al = new ActionListener()
1504 public void actionPerformed(ActionEvent e)
1506 deleteGroups_actionPerformed(e);
1509 addMenuActionAndAccelerator(keyStroke, deleteGroups, al);
1511 createGroup.setText(MessageManager.getString("action.create_groups"));
1512 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit
1513 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1514 al = new ActionListener()
1517 public void actionPerformed(ActionEvent e)
1519 createGroup_actionPerformed(e);
1522 addMenuActionAndAccelerator(keyStroke, createGroup, al);
1524 unGroup.setText(MessageManager.getString("action.remove_group"));
1525 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit
1526 .getDefaultToolkit().getMenuShortcutKeyMask()
1527 | KeyEvent.SHIFT_MASK, false);
1528 al = new ActionListener()
1531 public void actionPerformed(ActionEvent e)
1533 unGroup_actionPerformed(e);
1536 addMenuActionAndAccelerator(keyStroke, unGroup, al);
1538 copy.setText(MessageManager.getString("action.copy"));
1539 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit
1540 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1542 al = new ActionListener()
1545 public void actionPerformed(ActionEvent e)
1547 copy_actionPerformed(e);
1550 addMenuActionAndAccelerator(keyStroke, copy, al);
1552 cut.setText(MessageManager.getString("action.cut"));
1553 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, Toolkit
1554 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1555 al = new ActionListener()
1558 public void actionPerformed(ActionEvent e)
1560 cut_actionPerformed(e);
1563 addMenuActionAndAccelerator(keyStroke, cut, al);
1565 delete.setText(MessageManager.getString("action.delete"));
1566 delete.addActionListener(new ActionListener()
1569 public void actionPerformed(ActionEvent e)
1571 delete_actionPerformed(e);
1575 pasteMenu.setText(MessageManager.getString("action.paste"));
1576 pasteNew.setText(MessageManager.getString("label.to_new_alignment"));
1577 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit
1578 .getDefaultToolkit().getMenuShortcutKeyMask()
1579 | KeyEvent.SHIFT_MASK, false);
1580 al = new ActionListener()
1583 public void actionPerformed(ActionEvent e)
1585 pasteNew_actionPerformed(e);
1588 addMenuActionAndAccelerator(keyStroke, pasteNew, al);
1590 pasteThis.setText(MessageManager.getString("label.to_this_alignment"));
1591 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit
1592 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1593 al = new ActionListener()
1596 public void actionPerformed(ActionEvent e)
1598 pasteThis_actionPerformed(e);
1601 addMenuActionAndAccelerator(keyStroke, pasteThis, al);
1603 applyToAllGroups.setText(MessageManager
1604 .getString("label.apply_colour_to_all_groups"));
1605 applyToAllGroups.addActionListener(new ActionListener()
1608 public void actionPerformed(ActionEvent e)
1610 applyToAllGroups_actionPerformed(e);
1613 createPNG.addActionListener(new ActionListener()
1616 public void actionPerformed(ActionEvent e)
1621 createPNG.setActionCommand(MessageManager
1622 .getString("label.save_png_image"));
1623 createPNG.setText("PNG");
1625 font.setText(MessageManager.getString("action.font"));
1626 font.addActionListener(new ActionListener()
1629 public void actionPerformed(ActionEvent e)
1631 font_actionPerformed(e);
1634 seqLimits.setText(MessageManager
1635 .getString("label.show_sequence_limits"));
1636 seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true));
1637 seqLimits.addActionListener(new ActionListener()
1640 public void actionPerformed(ActionEvent e)
1642 seqLimit_actionPerformed(e);
1645 epsFile.setText("EPS");
1646 epsFile.addActionListener(new ActionListener()
1649 public void actionPerformed(ActionEvent e)
1655 createSVG.setText("SVG");
1656 createSVG.addActionListener(new ActionListener()
1659 public void actionPerformed(ActionEvent e)
1665 LoadtreeMenuItem.setActionCommand(MessageManager
1666 .getString("label.load_tree_for_sequence_set"));
1667 LoadtreeMenuItem.setText(MessageManager
1668 .getString("label.load_associated_tree"));
1669 LoadtreeMenuItem.addActionListener(new ActionListener()
1672 public void actionPerformed(ActionEvent e)
1674 LoadtreeMenuItem_actionPerformed(e);
1678 scaleAbove.setVisible(false);
1679 scaleAbove.setText(MessageManager.getString("action.scale_above"));
1680 scaleAbove.addActionListener(new ActionListener()
1683 public void actionPerformed(ActionEvent e)
1685 scaleAbove_actionPerformed(e);
1688 scaleLeft.setVisible(false);
1689 scaleLeft.setSelected(true);
1690 scaleLeft.setText(MessageManager.getString("action.scale_left"));
1691 scaleLeft.addActionListener(new ActionListener()
1694 public void actionPerformed(ActionEvent e)
1696 scaleLeft_actionPerformed(e);
1699 scaleRight.setVisible(false);
1700 scaleRight.setSelected(true);
1701 scaleRight.setText(MessageManager.getString("action.scale_right"));
1702 scaleRight.addActionListener(new ActionListener()
1705 public void actionPerformed(ActionEvent e)
1707 scaleRight_actionPerformed(e);
1710 centreColumnLabelsMenuItem.setVisible(true);
1711 centreColumnLabelsMenuItem.setState(false);
1712 centreColumnLabelsMenuItem.setText(MessageManager
1713 .getString("label.centre_column_labels"));
1714 centreColumnLabelsMenuItem.addActionListener(new ActionListener()
1717 public void actionPerformed(ActionEvent e)
1719 centreColumnLabels_actionPerformed(e);
1722 followHighlightMenuItem.setVisible(true);
1723 followHighlightMenuItem.setState(true);
1724 followHighlightMenuItem.setText(MessageManager
1725 .getString("label.automatic_scrolling"));
1726 followHighlightMenuItem.addActionListener(new ActionListener()
1730 public void actionPerformed(ActionEvent e)
1732 followHighlight_actionPerformed();
1737 modifyPID.setText(MessageManager
1738 .getString("label.modify_identity_thereshold"));
1739 modifyPID.addActionListener(new ActionListener()
1742 public void actionPerformed(ActionEvent e)
1744 modifyPID_actionPerformed(e);
1747 modifyConservation.setText(MessageManager
1748 .getString("label.modify_conservation_thereshold"));
1749 modifyConservation.addActionListener(new ActionListener()
1752 public void actionPerformed(ActionEvent e)
1754 modifyConservation_actionPerformed(e);
1758 .setText(MessageManager.getString("action.by_tree_order"));
1759 sort.setText(MessageManager.getString("action.sort"));
1760 sort.addMenuListener(new MenuListener()
1763 public void menuSelected(MenuEvent e)
1769 public void menuDeselected(MenuEvent e)
1774 public void menuCanceled(MenuEvent e)
1778 sortByAnnotScore.setText(MessageManager
1779 .getString("label.sort_by_score"));
1780 sort.add(sortByAnnotScore);
1781 sort.addMenuListener(new javax.swing.event.MenuListener()
1785 public void menuCanceled(MenuEvent e)
1790 public void menuDeselected(MenuEvent e)
1795 public void menuSelected(MenuEvent e)
1797 buildSortByAnnotationScoresMenu();
1800 sortByAnnotScore.setVisible(false);
1803 .setText(MessageManager.getString("action.calculate_tree"));
1805 jMenu2.setText(MessageManager.getString("label.export_image"));
1806 padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps"));
1807 padGapsMenuitem.setState(jalview.bin.Cache
1808 .getDefault("PAD_GAPS", false));
1809 padGapsMenuitem.addActionListener(new ActionListener()
1812 public void actionPerformed(ActionEvent e)
1814 padGapsMenuitem_actionPerformed(e);
1817 vamsasStore.setVisible(false);
1818 vamsasStore.setText(MessageManager.getString("label.vamsas_store"));
1819 vamsasStore.addActionListener(new ActionListener()
1822 public void actionPerformed(ActionEvent e)
1824 vamsasStore_actionPerformed(e);
1827 showTranslation.setText(MessageManager
1828 .getString("label.translate_cDNA"));
1829 showTranslation.addActionListener(new ActionListener()
1832 public void actionPerformed(ActionEvent e)
1834 showTranslation_actionPerformed(e);
1841 cdna.setText(MessageManager.getString("label.cdna"));
1842 // link to available cDNA
1843 JMenuItem linkCdna = new JMenuItem(
1844 MessageManager.getString("label.link_cdna"));
1845 linkCdna.setToolTipText(JvSwingUtils.wrapTooltip(true,
1846 MessageManager.getString("label.link_cdna_tip")));
1847 linkCdna.addActionListener(new ActionListener()
1850 public void actionPerformed(ActionEvent e)
1852 linkCdna_actionPerformed();
1856 // align linked cDNA
1857 JMenuItem alignCdna = new JMenuItem(
1858 MessageManager.getString("label.align_cdna"));
1859 alignCdna.setToolTipText(JvSwingUtils.wrapTooltip(true,
1860 MessageManager.getString("label.align_cdna_tip")));
1861 alignCdna.addActionListener(new ActionListener()
1864 public void actionPerformed(ActionEvent e)
1866 alignCdna_actionPerformed();
1869 cdna.add(alignCdna);
1871 // view alignment as cDNA (when known)
1872 JMenuItem viewAsCdna = new JMenuItem(
1873 MessageManager.getString("label.view_as_cdna"));
1874 viewAsCdna.setToolTipText(JvSwingUtils.wrapTooltip(true,
1875 MessageManager.getString("label.view_as_cdna_tip")));
1876 viewAsCdna.addActionListener(new ActionListener()
1879 public void actionPerformed(ActionEvent e)
1881 viewAsCdna_actionPerformed();
1884 cdna.add(viewAsCdna);
1886 extractScores.setText(MessageManager.getString("label.extract_scores")
1888 extractScores.addActionListener(new ActionListener()
1891 public void actionPerformed(ActionEvent e)
1893 extractScores_actionPerformed(e);
1896 extractScores.setVisible(true);
1897 // JBPNote: TODO: make gui for regex based score extraction
1899 // for show products actions see AlignFrame.canShowProducts
1900 showProducts.setText(MessageManager.getString("label.get_cross_refs"));
1901 openFeatureSettings.setText(MessageManager
1902 .getString("label.feature_settings"));
1903 openFeatureSettings.addActionListener(new ActionListener()
1906 public void actionPerformed(ActionEvent e)
1908 featureSettings_actionPerformed(e);
1912 .setText(MessageManager.getString("label.fetch_sequences"));
1913 fetchSequence.addActionListener(new ActionListener()
1916 public void actionPerformed(ActionEvent e)
1918 fetchSequence_actionPerformed(e);
1922 annotationColour.setText(MessageManager
1923 .getString("action.by_annotation"));
1924 annotationColour.addActionListener(new ActionListener()
1927 public void actionPerformed(ActionEvent e)
1929 annotationColour_actionPerformed(e);
1933 annotationColumn.setText(MessageManager
1934 .getString("action.select_by_annotation"));
1935 annotationColumn.addActionListener(new ActionListener()
1938 public void actionPerformed(ActionEvent e)
1940 annotationColumn_actionPerformed(e);
1944 rnahelicesColour.setText(MessageManager
1945 .getString("action.by_rna_helixes"));
1946 rnahelicesColour.addActionListener(new ActionListener()
1949 public void actionPerformed(ActionEvent e)
1951 rnahelicesColour_actionPerformed(e);
1955 associatedData.setText(MessageManager
1956 .getString("label.load_features_annotations"));
1957 associatedData.addActionListener(new ActionListener()
1960 public void actionPerformed(ActionEvent e)
1962 associatedData_actionPerformed(e);
1965 autoCalculate.setText(MessageManager
1966 .getString("label.autocalculate_consensus"));
1967 autoCalculate.setState(jalview.bin.Cache.getDefault(
1968 "AUTO_CALC_CONSENSUS", true));
1969 autoCalculate.addActionListener(new ActionListener()
1972 public void actionPerformed(ActionEvent e)
1974 autoCalculate_actionPerformed(e);
1977 sortByTree.setText(MessageManager
1978 .getString("label.sort_alignment_new_tree"));
1980 .setToolTipText("<html>"
1982 .getString("label.enable_automatically_sort_alignment_when_open_new_tree"));
1984 .setState(jalview.bin.Cache.getDefault("SORT_BY_TREE", false));
1985 sortByTree.addActionListener(new ActionListener()
1988 public void actionPerformed(ActionEvent e)
1990 sortByTreeOption_actionPerformed(e);
1994 listenToViewSelections.setText(MessageManager
1995 .getString("label.listen_for_selections"));
1996 listenToViewSelections
1997 .setToolTipText("<html>"
1999 .getString("label.selections_mirror_selections_made_same_sequences_other_views"));
2000 listenToViewSelections.setState(false);
2001 listenToViewSelections.addActionListener(new ActionListener()
2004 public void actionPerformed(ActionEvent e)
2006 listenToViewSelections_actionPerformed(e);
2011 .setText(MessageManager.getString("label.add_sequences"));
2012 addFromFile.setText(MessageManager.getString("label.from_file"));
2013 addFromFile.addActionListener(new ActionListener()
2016 public void actionPerformed(ActionEvent e)
2018 addFromFile_actionPerformed(e);
2021 addFromText.setText(MessageManager.getString("label.from_textbox"));
2022 addFromText.addActionListener(new ActionListener()
2025 public void actionPerformed(ActionEvent e)
2027 addFromText_actionPerformed(e);
2030 addFromURL.setText(MessageManager.getString("label.from_url"));
2031 addFromURL.addActionListener(new ActionListener()
2034 public void actionPerformed(ActionEvent e)
2036 addFromURL_actionPerformed(e);
2039 exportFeatures.setText(MessageManager
2040 .getString("label.export_features"));
2041 exportFeatures.addActionListener(new ActionListener()
2044 public void actionPerformed(ActionEvent e)
2046 exportFeatures_actionPerformed(e);
2049 exportAnnotations.setText(MessageManager
2050 .getString("label.export_annotations"));
2051 exportAnnotations.addActionListener(new ActionListener()
2054 public void actionPerformed(ActionEvent e)
2056 exportAnnotations_actionPerformed(e);
2059 statusPanel.setLayout(gridLayout1);
2060 jMenu3.setText(MessageManager.getString("action.show"));
2061 showAllSeqs.setText(MessageManager.getString("label.all_sequences"));
2062 showAllSeqs.setToolTipText(MessageManager
2063 .getString("label.toggle_sequence_visibility"));
2064 showAllSeqs.addActionListener(new ActionListener()
2067 public void actionPerformed(ActionEvent e)
2069 showAllSeqs_actionPerformed(e);
2072 showAllColumns.setText(MessageManager.getString("label.all_columns"));
2073 showAllColumns.setToolTipText(MessageManager
2074 .getString("label.toggle_columns_visibility"));
2075 showAllColumns.addActionListener(new ActionListener()
2078 public void actionPerformed(ActionEvent e)
2080 showAllColumns_actionPerformed(e);
2083 hideMenu.setText(MessageManager.getString("action.hide"));
2084 hideSelSequences.setText(MessageManager
2085 .getString("label.selected_sequences"));
2086 hideSelSequences.setToolTipText(MessageManager
2087 .getString("label.toggle_sequence_visibility"));
2088 hideSelSequences.addActionListener(new ActionListener()
2091 public void actionPerformed(ActionEvent e)
2093 hideSelSequences_actionPerformed(e);
2096 hideSelColumns.setText(MessageManager
2097 .getString("label.selected_columns"));
2098 hideSelColumns.setToolTipText(MessageManager
2099 .getString("label.toggle_columns_visibility"));
2100 hideSelColumns.addActionListener(new ActionListener()
2103 public void actionPerformed(ActionEvent e)
2105 hideSelColumns_actionPerformed(e);
2108 hideAllSelection.setText(MessageManager
2109 .getString("label.selected_region"));
2110 hideAllSelection.addActionListener(new ActionListener()
2113 public void actionPerformed(ActionEvent e)
2115 hideAllSelection_actionPerformed(e);
2118 // TODO: should be hidden if no selection exists.
2119 hideAllButSelection.setText(MessageManager
2120 .getString("label.all_but_selected_region"));
2121 hideAllButSelection.addActionListener(new ActionListener()
2124 public void actionPerformed(ActionEvent e)
2126 hideAllButSelection_actionPerformed(e);
2129 showAllhidden.setText(MessageManager
2130 .getString("label.all_sequences_columns"));
2131 showAllhidden.setToolTipText(MessageManager
2132 .getString("label.toggles_visibility_hidden_selected_regions"));
2133 showAllhidden.addActionListener(new ActionListener()
2136 public void actionPerformed(ActionEvent e)
2138 showAllhidden_actionPerformed(e);
2141 hiddenMarkers.setText(MessageManager
2142 .getString("action.show_hidden_markers"));
2143 hiddenMarkers.addActionListener(new ActionListener()
2146 public void actionPerformed(ActionEvent e)
2148 hiddenMarkers_actionPerformed(e);
2152 invertColSel.setText(MessageManager
2153 .getString("action.invert_column_selection"));
2154 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
2155 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
2156 | KeyEvent.ALT_MASK, false);
2157 al = new ActionListener()
2160 public void actionPerformed(ActionEvent e)
2162 invertColSel_actionPerformed(e);
2165 addMenuActionAndAccelerator(keyStroke, invertColSel, al);
2167 tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
2170 public void stateChanged(ChangeEvent evt)
2172 JTabbedPane pane = (JTabbedPane) evt.getSource();
2173 int sel = pane.getSelectedIndex();
2174 tabSelectionChanged(sel);
2177 tabbedPane.addMouseListener(new MouseAdapter()
2180 public void mousePressed(MouseEvent e)
2182 tabbedPane_mousePressed(e);
2185 tabbedPane.addFocusListener(new FocusAdapter()
2188 public void focusGained(FocusEvent e)
2190 tabbedPane_focusGained(e);
2194 save.setText(MessageManager.getString("action.save"));
2195 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit
2196 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
2197 al = new ActionListener()
2200 public void actionPerformed(ActionEvent e)
2202 save_actionPerformed(e);
2205 addMenuActionAndAccelerator(keyStroke, save, al);
2207 reload.setEnabled(false);
2208 reload.setText(MessageManager.getString("action.reload"));
2209 reload.addActionListener(new ActionListener()
2212 public void actionPerformed(ActionEvent e)
2214 reload_actionPerformed(e);
2218 newView.setText(MessageManager.getString("action.new_view"));
2219 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit
2220 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
2221 al = new ActionListener()
2224 public void actionPerformed(ActionEvent e)
2226 newView_actionPerformed(e);
2229 addMenuActionAndAccelerator(keyStroke, newView, al);
2231 tabbedPane.setToolTipText("<html><i>"
2232 + MessageManager.getString("label.rename_tab_eXpand_reGroup")
2234 textColour.setText(MessageManager.getString("label.colour_text")
2236 textColour.addActionListener(new ActionListener()
2239 public void actionPerformed(ActionEvent e)
2241 textColour_actionPerformed(e);
2244 formatMenu.setText(MessageManager.getString("action.format"));
2245 selectMenu.setText(MessageManager.getString("action.select"));
2246 idRightAlign.setText(MessageManager
2247 .getString("label.right_align_sequence_id"));
2248 idRightAlign.addActionListener(new ActionListener()
2251 public void actionPerformed(ActionEvent e)
2253 idRightAlign_actionPerformed(e);
2257 gatherViews.setEnabled(false);
2258 gatherViews.setText(MessageManager.getString("action.gather_views"));
2259 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, 0, false);
2260 al = new ActionListener()
2263 public void actionPerformed(ActionEvent e)
2265 gatherViews_actionPerformed(e);
2268 addMenuActionAndAccelerator(keyStroke, gatherViews, al);
2270 expandViews.setEnabled(false);
2271 expandViews.setText(MessageManager.getString("action.expand_views"));
2272 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, 0, false);
2273 al = new ActionListener()
2276 public void actionPerformed(ActionEvent e)
2278 expandViews_actionPerformed(e);
2281 addMenuActionAndAccelerator(keyStroke, expandViews, al);
2284 .setText(MessageManager.getString("action.page_setup") + "...");
2285 pageSetup.addActionListener(new ActionListener()
2288 public void actionPerformed(ActionEvent e)
2290 pageSetup_actionPerformed(e);
2293 alignmentProperties.setText(MessageManager
2294 .getString("label.alignment_props") + "...");
2295 alignmentProperties.addActionListener(new ActionListener()
2298 public void actionPerformed(ActionEvent actionEvent)
2300 alignmentProperties();
2303 tooltipSettingsMenu.setText(MessageManager
2304 .getString("label.sequence_id_tooltip"));
2305 autoAnnMenu.setText(MessageManager
2306 .getString("label.autocalculated_annotation"));
2307 alignFrameMenuBar.add(fileMenu);
2308 alignFrameMenuBar.add(editMenu);
2309 alignFrameMenuBar.add(selectMenu);
2310 alignFrameMenuBar.add(viewMenu);
2311 alignFrameMenuBar.add(annotationsMenu);
2312 alignFrameMenuBar.add(formatMenu);
2313 alignFrameMenuBar.add(colourMenu);
2314 alignFrameMenuBar.add(calculateMenu);
2315 alignFrameMenuBar.add(webService);
2316 fileMenu.add(fetchSequence);
2317 fileMenu.add(addSequenceMenu);
2318 fileMenu.add(reload);
2319 fileMenu.addSeparator();
2320 fileMenu.add(vamsasStore);
2322 fileMenu.add(saveAs);
2323 fileMenu.add(outputTextboxMenu);
2324 fileMenu.add(pageSetup);
2325 fileMenu.add(printMenuItem);
2326 fileMenu.addSeparator();
2327 fileMenu.add(jMenu2);
2328 fileMenu.add(exportFeatures);
2329 fileMenu.add(exportAnnotations);
2330 fileMenu.add(LoadtreeMenuItem);
2331 fileMenu.add(associatedData);
2332 fileMenu.addSeparator();
2333 fileMenu.add(closeMenuItem);
2334 editMenu.add(undoMenuItem);
2335 editMenu.add(redoMenuItem);
2338 editMenu.add(pasteMenu);
2339 editMenu.add(delete);
2340 editMenu.addSeparator();
2341 editMenu.add(remove2LeftMenuItem);
2342 editMenu.add(remove2RightMenuItem);
2343 editMenu.add(removeGappedColumnMenuItem);
2344 editMenu.add(removeAllGapsMenuItem);
2345 editMenu.add(removeRedundancyMenuItem);
2346 editMenu.addSeparator();
2347 // dont add these yet in the CVS build - they cannot be undone!
2348 // Excluded from Jalview 2.5 release - undo needs to be implemented.
2349 // editMenu.add(justifyLeftMenuItem);
2350 // editMenu.add(justifyRightMenuItem);
2351 // editMenu.addSeparator();
2352 editMenu.add(padGapsMenuitem);
2353 viewMenu.add(newView);
2354 viewMenu.add(expandViews);
2355 viewMenu.add(gatherViews);
2356 viewMenu.addSeparator();
2357 viewMenu.add(jMenu3);
2358 viewMenu.add(hideMenu);
2359 viewMenu.addSeparator();
2360 viewMenu.add(followHighlightMenuItem);
2361 annotationsMenu.add(annotationPanelMenuItem);
2362 annotationsMenu.addSeparator();
2363 annotationsMenu.add(showAllAlAnnotations);
2364 annotationsMenu.add(hideAllAlAnnotations);
2365 annotationsMenu.addSeparator();
2366 annotationsMenu.add(showAllSeqAnnotations);
2367 annotationsMenu.add(hideAllSeqAnnotations);
2368 annotationsMenu.add(sortAnnBySequence);
2369 annotationsMenu.add(sortAnnByLabel);
2370 annotationsMenu.addSeparator();
2371 autoAnnMenu.add(showAutoFirst);
2372 autoAnnMenu.add(showAutoLast);
2373 autoAnnMenu.addSeparator();
2374 autoAnnMenu.add(applyAutoAnnotationSettings);
2375 autoAnnMenu.add(showConsensusHistogram);
2376 autoAnnMenu.add(showSequenceLogo);
2377 autoAnnMenu.add(normaliseSequenceLogo);
2378 autoAnnMenu.addSeparator();
2379 autoAnnMenu.add(showGroupConservation);
2380 autoAnnMenu.add(showGroupConsensus);
2381 annotationsMenu.add(autoAnnMenu);
2382 viewMenu.addSeparator();
2383 viewMenu.add(showSeqFeatures);
2384 // viewMenu.add(showSeqFeaturesHeight);
2386 viewMenu.add(openFeatureSettings);
2387 tooltipSettingsMenu.add(showDbRefsMenuitem);
2388 tooltipSettingsMenu.add(showNpFeatsMenuitem);
2389 viewMenu.add(tooltipSettingsMenu);
2390 viewMenu.addSeparator();
2391 viewMenu.add(alignmentProperties);
2392 viewMenu.addSeparator();
2393 viewMenu.add(overviewMenuItem);
2394 colourMenu.add(applyToAllGroups);
2395 colourMenu.add(textColour);
2396 colourMenu.addSeparator();
2397 colourMenu.add(noColourmenuItem);
2398 colourMenu.add(clustalColour);
2399 colourMenu.add(BLOSUM62Colour);
2400 colourMenu.add(PIDColour);
2401 colourMenu.add(zappoColour);
2402 colourMenu.add(taylorColour);
2403 colourMenu.add(hydrophobicityColour);
2404 colourMenu.add(helixColour);
2405 colourMenu.add(strandColour);
2406 colourMenu.add(turnColour);
2407 colourMenu.add(buriedColour);
2408 colourMenu.add(nucleotideColour);
2409 colourMenu.add(purinePyrimidineColour);
2410 colourMenu.add(RNAInteractionColour);
2411 // colourMenu.add(covariationColour);
2412 colourMenu.add(tcoffeeColour);
2413 colourMenu.add(userDefinedColour);
2414 colourMenu.addSeparator();
2415 colourMenu.add(conservationMenuItem);
2416 colourMenu.add(modifyConservation);
2417 colourMenu.add(abovePIDThreshold);
2418 colourMenu.add(modifyPID);
2419 colourMenu.add(annotationColour);
2420 colourMenu.add(rnahelicesColour);
2421 calculateMenu.add(sort);
2422 calculateMenu.add(calculateTree);
2423 calculateMenu.addSeparator();
2424 calculateMenu.add(pairwiseAlignmentMenuItem);
2425 calculateMenu.add(PCAMenuItem);
2426 calculateMenu.addSeparator();
2427 calculateMenu.add(showTranslation);
2428 calculateMenu.add(cdna);
2429 calculateMenu.add(showProducts);
2430 calculateMenu.add(autoCalculate);
2431 calculateMenu.add(sortByTree);
2432 calculateMenu.addSeparator();
2433 calculateMenu.add(extractScores);
2434 webServiceNoServices = new JMenuItem(
2435 MessageManager.getString("label.no_services"));
2436 webService.add(webServiceNoServices);
2437 pasteMenu.add(pasteNew);
2438 pasteMenu.add(pasteThis);
2439 sort.add(sortIDMenuItem);
2440 sort.add(sortLengthMenuItem);
2441 sort.add(sortGroupMenuItem);
2442 sort.add(sortPairwiseMenuItem);
2443 sort.add(sortByTreeMenu);
2444 jMenu2.add(htmlMenuItem);
2445 jMenu2.add(epsFile);
2446 jMenu2.add(createPNG);
2447 jMenu2.add(createBioJS);
2448 jMenu2.add(createSVG);
2449 addSequenceMenu.add(addFromFile);
2450 addSequenceMenu.add(addFromText);
2451 addSequenceMenu.add(addFromURL);
2452 this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
2453 statusPanel.add(statusBar, null);
2454 this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
2455 jMenu3.add(showAllColumns);
2456 jMenu3.add(showAllSeqs);
2457 jMenu3.add(showAllhidden);
2458 hideMenu.add(hideSelColumns);
2459 hideMenu.add(hideSelSequences);
2460 hideMenu.add(hideAllSelection);
2461 hideMenu.add(hideAllButSelection);
2463 formatMenu.add(font);
2464 formatMenu.addSeparator();
2465 formatMenu.add(wrapMenuItem);
2466 formatMenu.add(scaleAbove);
2467 formatMenu.add(scaleLeft);
2468 formatMenu.add(scaleRight);
2469 formatMenu.add(seqLimits);
2470 formatMenu.add(idRightAlign);
2471 formatMenu.add(hiddenMarkers);
2472 formatMenu.add(viewBoxesMenuItem);
2473 formatMenu.add(viewTextMenuItem);
2474 formatMenu.add(colourTextMenuItem);
2475 formatMenu.add(renderGapsMenuItem);
2476 formatMenu.add(centreColumnLabelsMenuItem);
2477 formatMenu.add(showNonconservedMenuItem);
2478 selectMenu.add(findMenuItem);
2479 selectMenu.addSeparator();
2480 selectMenu.add(selectAllSequenceMenuItem);
2481 selectMenu.add(deselectAllSequenceMenuItem);
2482 selectMenu.add(invertSequenceMenuItem);
2483 selectMenu.add(invertColSel);
2484 selectMenu.add(createGroup);
2485 selectMenu.add(unGroup);
2486 selectMenu.add(grpsFromSelection);
2487 selectMenu.add(deleteGroups);
2488 selectMenu.add(annotationColumn);
2489 calculateMenu.add(expandAlignment);
2490 // TODO - determine if the listenToViewSelections button is needed : see bug
2492 // selectMenu.addSeparator();
2493 // selectMenu.add(listenToViewSelections);
2497 * Adds the given action listener and key accelerator to the given menu item.
2498 * Also saves in a lookup table to support lookup of action by key stroke.
2502 * @param actionListener
2504 protected void addMenuActionAndAccelerator(KeyStroke keyStroke,
2505 JMenuItem menuItem, ActionListener actionListener)
2507 menuItem.setAccelerator(keyStroke);
2508 accelerators.put(keyStroke, menuItem);
2509 menuItem.addActionListener(actionListener);
2512 protected void viewAsCdna_actionPerformed()
2516 protected void alignCdna_actionPerformed()
2520 protected void linkCdna_actionPerformed()
2525 * Action on clicking sort annotations by type.
2529 protected void sortAnnotations_actionPerformed()
2534 * Action on clicking Show all annotations.
2536 * @param forSequences
2537 * update sequence-related annotations
2538 * @param forAlignment
2539 * update non-sequence-related annotations
2541 protected void showAllAnnotations_actionPerformed(boolean forSequences,
2542 boolean forAlignment)
2544 setAnnotationsVisibility(true, forSequences, forAlignment);
2548 * Action on clicking Hide all annotations.
2550 * @param forSequences
2551 * update sequence-related annotations
2552 * @param forAlignment
2553 * update non-sequence-related annotations
2555 protected void hideAllAnnotations_actionPerformed(boolean forSequences,
2556 boolean forAlignment)
2558 setAnnotationsVisibility(false, forSequences, forAlignment);
2562 * Set the visibility of annotations to true or false. Can act on
2563 * sequence-related annotations, or alignment-related, or both.
2566 * @param forSequences
2567 * update sequence-related annotations
2568 * @param forAlignment
2569 * update non-sequence-related annotations
2571 protected void setAnnotationsVisibility(boolean visible,
2572 boolean forSequences, boolean forAlignment)
2577 protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
2579 // TODO Auto-generated method stub
2583 protected void listenToViewSelections_actionPerformed(ActionEvent e)
2585 // TODO Auto-generated method stub
2589 protected void showAllhidden_actionPerformed(ActionEvent e)
2591 // TODO Auto-generated method stub
2595 protected void hideAllButSelection_actionPerformed(ActionEvent e)
2597 // TODO Auto-generated method stub
2601 protected void hideAllSelection_actionPerformed(ActionEvent e)
2603 // TODO Auto-generated method stub
2607 protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
2609 // TODO Auto-generated method stub
2613 protected void showConsensusHistogram_actionPerformed(ActionEvent e)
2615 // TODO Auto-generated method stub
2619 protected void showSequenceLogo_actionPerformed(ActionEvent e)
2621 // TODO Auto-generated method stub
2625 protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
2627 // TODO Auto-generated method stub
2631 protected void showGroupConsensus_actionPerformed(ActionEvent e)
2633 // TODO Auto-generated method stub
2637 protected void showGroupConservation_actionPerformed(ActionEvent e)
2639 // TODO Auto-generated method stub
2643 protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
2645 // TODO Auto-generated method stub
2649 protected void showSeqFeaturesHeight_actionPerformed(
2650 ActionEvent actionEvent)
2652 // TODO Auto-generated method stub
2656 protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
2658 // TODO Auto-generated method stub
2662 protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
2664 // TODO Auto-generated method stub
2668 protected void followHighlight_actionPerformed()
2670 // TODO Auto-generated method stub
2674 protected void showNpFeats_actionPerformed(ActionEvent e)
2676 // TODO Auto-generated method stub
2680 protected void showDbRefs_actionPerformed(ActionEvent e)
2682 // TODO Auto-generated method stub
2686 protected void centreColumnLabels_actionPerformed(ActionEvent e)
2690 protected void buildSortByAnnotationScoresMenu()
2694 protected void extractScores_actionPerformed(ActionEvent e)
2698 protected void outputText_actionPerformed(ActionEvent e)
2702 public void addFromFile_actionPerformed(ActionEvent e)
2707 public void addFromText_actionPerformed(ActionEvent e)
2712 public void addFromURL_actionPerformed(ActionEvent e)
2717 public void exportFeatures_actionPerformed(ActionEvent e)
2722 public void exportAnnotations_actionPerformed(ActionEvent e)
2727 protected void htmlMenuItem_actionPerformed(ActionEvent e)
2731 protected void bioJSMenuItem_actionPerformed(ActionEvent e)
2736 protected void closeMenuItem_actionPerformed(boolean b)
2740 protected void redoMenuItem_actionPerformed(ActionEvent e)
2744 protected void undoMenuItem_actionPerformed(ActionEvent e)
2748 protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2752 protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2756 protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
2760 protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
2764 protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
2768 protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
2772 protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
2776 protected void wrapMenuItem_actionPerformed(ActionEvent e)
2780 protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
2784 protected void viewTextMenuItem_actionPerformed(ActionEvent e)
2788 protected void colourTextMenuItem_actionPerformed(ActionEvent e)
2792 protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
2796 protected void overviewMenuItem_actionPerformed(ActionEvent e)
2800 protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
2804 protected void sortIDMenuItem_actionPerformed(ActionEvent e)
2808 protected void sortLengthMenuItem_actionPerformed(ActionEvent e)
2812 protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
2816 protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
2820 protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
2824 protected void PCAMenuItem_actionPerformed(ActionEvent e)
2828 protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)
2832 protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
2836 protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)
2840 protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)
2844 protected void clustalColour_actionPerformed(ActionEvent e)
2848 protected void zappoColour_actionPerformed(ActionEvent e)
2852 protected void taylorColour_actionPerformed(ActionEvent e)
2856 protected void hydrophobicityColour_actionPerformed(ActionEvent e)
2860 protected void helixColour_actionPerformed(ActionEvent e)
2864 protected void strandColour_actionPerformed(ActionEvent e)
2868 protected void turnColour_actionPerformed(ActionEvent e)
2872 protected void buriedColour_actionPerformed(ActionEvent e)
2876 protected void userDefinedColour_actionPerformed(ActionEvent e)
2880 protected void PIDColour_actionPerformed(ActionEvent e)
2884 protected void BLOSUM62Colour_actionPerformed(ActionEvent e)
2888 protected void purinePyrimidineColour_actionPerformed(ActionEvent e)
2892 protected void RNAInteractionColour_actionPerformed(ActionEvent e)
2897 * protected void covariationColour_actionPerformed(ActionEvent e) { }
2900 protected void noColourmenuItem_actionPerformed(ActionEvent e)
2904 protected void conservationMenuItem_actionPerformed(ActionEvent e)
2908 protected void printMenuItem_actionPerformed(ActionEvent e)
2912 protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2916 protected void findMenuItem_actionPerformed(ActionEvent e)
2920 protected void abovePIDThreshold_actionPerformed(ActionEvent e)
2924 public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2928 protected void nucleotideColour_actionPerformed(ActionEvent e)
2932 protected void deleteGroups_actionPerformed(ActionEvent e)
2936 protected void createGroup_actionPerformed(ActionEvent e)
2940 protected void unGroup_actionPerformed(ActionEvent e)
2944 protected void copy_actionPerformed(ActionEvent e)
2948 protected void cut_actionPerformed(ActionEvent e)
2952 protected void delete_actionPerformed(ActionEvent e)
2956 protected void pasteNew_actionPerformed(ActionEvent e)
2960 protected void pasteThis_actionPerformed(ActionEvent e)
2964 protected void applyToAllGroups_actionPerformed(ActionEvent e)
2968 public void createPNG(java.io.File f)
2972 protected void font_actionPerformed(ActionEvent e)
2976 protected void seqLimit_actionPerformed(ActionEvent e)
2980 public void seqDBRef_actionPerformed(ActionEvent e)
2985 public void createEPS(java.io.File f)
2989 public void createSVG(java.io.File f)
2993 protected void LoadtreeMenuItem_actionPerformed(ActionEvent e)
2999 * Template method to handle the 'load T-Coffee scores' menu event.
3001 * Subclasses override this method to provide a custom action.
3006 protected void loadScores_actionPerformed(ActionEvent event)
3012 * Template method to handle the 'Color T-Coffee scores' menu event.
3014 * Subclasses override this method to provide a custom action.
3019 protected void tcoffeeColorScheme_actionPerformed(ActionEvent event)
3024 protected void jpred_actionPerformed(ActionEvent e)
3028 protected void scaleAbove_actionPerformed(ActionEvent e)
3032 protected void scaleLeft_actionPerformed(ActionEvent e)
3036 protected void scaleRight_actionPerformed(ActionEvent e)
3040 protected void modifyPID_actionPerformed(ActionEvent e)
3044 protected void modifyConservation_actionPerformed(ActionEvent e)
3048 protected void saveAs_actionPerformed(ActionEvent e)
3052 protected void padGapsMenuitem_actionPerformed(ActionEvent e)
3056 public void vamsasStore_actionPerformed(ActionEvent e)
3061 public void vamsasLoad_actionPerformed(ActionEvent e)
3066 public void showTranslation_actionPerformed(ActionEvent e)
3071 public void featureSettings_actionPerformed(ActionEvent e)
3076 public void fetchSequence_actionPerformed(ActionEvent e)
3081 public void smoothFont_actionPerformed(ActionEvent e)
3086 public void annotationColour_actionPerformed(ActionEvent e)
3091 public void annotationColumn_actionPerformed(ActionEvent e)
3096 public void rnahelicesColour_actionPerformed(ActionEvent e)
3101 public void associatedData_actionPerformed(ActionEvent e)
3106 public void autoCalculate_actionPerformed(ActionEvent e)
3111 public void sortByTreeOption_actionPerformed(ActionEvent e)
3116 public void showAllSeqs_actionPerformed(ActionEvent e)
3121 public void showAllColumns_actionPerformed(ActionEvent e)
3126 public void hideSelSequences_actionPerformed(ActionEvent e)
3131 public void hideSelColumns_actionPerformed(ActionEvent e)
3136 public void hiddenMarkers_actionPerformed(ActionEvent e)
3141 public void findPdbId_actionPerformed(ActionEvent e)
3146 public void enterPdbId_actionPerformed(ActionEvent e)
3151 public void pdbFile_actionPerformed(ActionEvent e)
3156 public void invertColSel_actionPerformed(ActionEvent e)
3161 public void tabSelectionChanged(int sel)
3166 public void tabbedPane_mousePressed(MouseEvent e)
3171 public void tabbedPane_focusGained(FocusEvent e)
3176 public void save_actionPerformed(ActionEvent e)
3181 public void reload_actionPerformed(ActionEvent e)
3186 public void newView_actionPerformed(ActionEvent e)
3191 public void textColour_actionPerformed(ActionEvent e)
3196 public void idRightAlign_actionPerformed(ActionEvent e)
3201 public void expandViews_actionPerformed(ActionEvent e)
3206 public void gatherViews_actionPerformed(ActionEvent e)
3211 public void buildTreeMenu()
3216 public void pageSetup_actionPerformed(ActionEvent e)
3221 public void alignmentProperties()
3226 protected void expand_newalign(ActionEvent e)
3228 // TODO Auto-generated method stub
3232 protected boolean isShowAutoCalculatedAbove()
3234 return showAutoCalculatedAbove;
3237 protected void setShowAutoCalculatedAbove(boolean showAutoCalculatedAbove)
3239 this.showAutoCalculatedAbove = showAutoCalculatedAbove;
3242 protected SequenceAnnotationOrder getAnnotationSortOrder()
3244 return annotationSortOrder;
3247 protected void setAnnotationSortOrder(SequenceAnnotationOrder annotationSortOrder)
3249 this.annotationSortOrder = annotationSortOrder;
3252 public Map<KeyStroke, JMenuItem> getAccelerators()
3254 return this.accelerators;
3258 * Returns the selected index of the tabbed pane, or -1 if none selected
3259 * (including the case where the tabbed pane has not been made visible).
3263 public int getTabIndex()
3265 return tabbedPane.getSelectedIndex();
3268 public JPanel getStatusPanel()