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.Desktop;
27 import jalview.gui.JvSwingUtils;
28 import jalview.gui.Preferences;
29 import jalview.gui.UserDefinedColours;
30 import jalview.io.FormatAdapter;
31 import jalview.schemes.ColourSchemeProperty;
32 import jalview.util.MessageManager;
33 import jalview.util.Platform;
35 import java.awt.BorderLayout;
36 import java.awt.Color;
37 import java.awt.GridLayout;
38 import java.awt.Toolkit;
39 import java.awt.event.ActionEvent;
40 import java.awt.event.ActionListener;
41 import java.awt.event.FocusAdapter;
42 import java.awt.event.FocusEvent;
43 import java.awt.event.KeyEvent;
44 import java.awt.event.MouseAdapter;
45 import java.awt.event.MouseEvent;
46 import java.util.Enumeration;
47 import java.util.HashMap;
50 import javax.swing.BorderFactory;
51 import javax.swing.ButtonGroup;
52 import javax.swing.JCheckBoxMenuItem;
53 import javax.swing.JInternalFrame;
54 import javax.swing.JLabel;
55 import javax.swing.JMenu;
56 import javax.swing.JMenuBar;
57 import javax.swing.JMenuItem;
58 import javax.swing.JOptionPane;
59 import javax.swing.JPanel;
60 import javax.swing.JRadioButtonMenuItem;
61 import javax.swing.JTabbedPane;
62 import javax.swing.KeyStroke;
63 import javax.swing.SwingUtilities;
64 import javax.swing.event.ChangeEvent;
65 import javax.swing.event.MenuEvent;
66 import javax.swing.event.MenuListener;
68 public class GAlignFrame extends JInternalFrame
70 protected JMenuBar alignFrameMenuBar = new JMenuBar();
72 protected JMenuItem closeMenuItem = new JMenuItem();
74 protected JMenu colourMenu = new JMenu();
76 protected JMenu webService = new JMenu();
78 protected JMenuItem webServiceNoServices;
80 public JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
82 public JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
84 protected JMenu sortByAnnotScore = new JMenu();
86 public JLabel statusBar = new JLabel();
88 protected JMenu outputTextboxMenu = new JMenu();
90 protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();
92 protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();
94 protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();
96 protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem();
98 protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();
100 protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();
102 protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();
104 protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();
106 protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();
108 protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();
110 protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();
112 protected JRadioButtonMenuItem nucleotideColour = new JRadioButtonMenuItem();
114 protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem();
116 protected JRadioButtonMenuItem RNAInteractionColour = new JRadioButtonMenuItem();
118 // protected JRadioButtonMenuItem covariationColour = new
119 // JRadioButtonMenuItem();
121 protected JRadioButtonMenuItem tcoffeeColour = new JRadioButtonMenuItem();
123 public JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
125 public JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
127 public JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem();
129 protected JMenuItem undoMenuItem = new JMenuItem();
131 protected JMenuItem redoMenuItem = new JMenuItem();
133 public JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();
135 JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();
137 public JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
139 public JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
141 public JCheckBoxMenuItem abovePIDThreshold = new JCheckBoxMenuItem();
143 public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
145 public JCheckBoxMenuItem showSeqFeaturesHeight = new JCheckBoxMenuItem();
147 JMenuItem copy = new JMenuItem();
149 JMenuItem cut = new JMenuItem();
151 JMenu pasteMenu = new JMenu();
153 public JCheckBoxMenuItem applyToAllGroups = new JCheckBoxMenuItem();
155 public JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
157 public JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
159 public JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
161 public JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
163 protected JMenuItem modifyConservation = new JMenuItem();
165 protected JMenu sortByTreeMenu = new JMenu();
167 protected JMenu sort = new JMenu();
169 protected JMenu calculateTree = new JMenu();
171 protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
173 protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
175 protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
177 protected ButtonGroup colours = new ButtonGroup();
179 protected JMenuItem showTranslation = new JMenuItem();
181 protected JMenu showProducts = new JMenu();
183 protected JMenuItem rnahelicesColour = new JMenuItem();
185 protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
187 protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
189 protected JCheckBoxMenuItem listenToViewSelections = new JCheckBoxMenuItem();
191 protected JPanel statusPanel = new JPanel();
193 protected JMenuItem showAllSeqAnnotations = new JMenuItem();
195 protected JMenuItem hideAllSeqAnnotations = new JMenuItem();
197 protected JMenuItem showAllAlAnnotations = new JMenuItem();
199 protected JMenuItem hideAllAlAnnotations = new JMenuItem();
201 protected JCheckBoxMenuItem showComplementMenuItem = new JCheckBoxMenuItem();
203 protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
205 protected JTabbedPane tabbedPane = new JTabbedPane();
207 protected JMenuItem reload = new JMenuItem();
209 protected JMenu formatMenu = new JMenu();
211 protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
213 protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem();
215 protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem();
217 protected JMenuItem gatherViews = new JMenuItem();
219 protected JMenuItem expandViews = new JMenuItem();
221 protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem();
223 protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem();
225 protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem();
227 protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem();
229 protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
231 protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
233 private SequenceAnnotationOrder annotationSortOrder;
235 private boolean showAutoCalculatedAbove = false;
237 private Map<KeyStroke, JMenuItem> accelerators = new HashMap<KeyStroke, JMenuItem>();
239 private SplitContainerI splitFrame;
246 setJMenuBar(alignFrameMenuBar);
248 // dynamically fill save as menu with available formats
249 for (int i = 0; i < FormatAdapter.WRITEABLE_FORMATS.length; i++)
251 JMenuItem item = new JMenuItem(
252 FormatAdapter.WRITEABLE_FORMATS[i]);
254 item.addActionListener(new ActionListener()
257 public void actionPerformed(ActionEvent e)
259 outputText_actionPerformed(e);
263 outputTextboxMenu.add(item);
265 } catch (Exception e)
267 System.err.println(e.toString());
270 if (!Platform.isAMac())
272 closeMenuItem.setMnemonic('C');
273 outputTextboxMenu.setMnemonic('T');
274 undoMenuItem.setMnemonic('Z');
275 redoMenuItem.setMnemonic('0');
276 copy.setMnemonic('C');
277 cut.setMnemonic('U');
278 pasteMenu.setMnemonic('P');
279 reload.setMnemonic('R');
282 if (UserDefinedColours.getUserColourSchemes() != null)
284 Enumeration userColours = UserDefinedColours.getUserColourSchemes()
287 while (userColours.hasMoreElements())
289 final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(
290 userColours.nextElement().toString());
291 radioItem.setName("USER_DEFINED");
292 radioItem.addMouseListener(new MouseAdapter()
295 public void mousePressed(MouseEvent evt)
297 if (evt.isControlDown()
298 || SwingUtilities.isRightMouseButton(evt))
300 radioItem.removeActionListener(radioItem.getActionListeners()[0]);
302 int option = JOptionPane.showInternalConfirmDialog(
305 .getString("label.remove_from_default_list"),
307 .getString("label.remove_user_defined_colour"),
308 JOptionPane.YES_NO_OPTION);
309 if (option == JOptionPane.YES_OPTION)
311 UserDefinedColours.removeColourFromDefaults(radioItem
313 colourMenu.remove(radioItem);
317 radioItem.addActionListener(new ActionListener()
320 public void actionPerformed(ActionEvent evt)
322 userDefinedColour_actionPerformed(evt);
329 radioItem.addActionListener(new ActionListener()
332 public void actionPerformed(ActionEvent evt)
334 userDefinedColour_actionPerformed(evt);
337 colourMenu.insert(radioItem, 15);
338 colours.add(radioItem);
341 colours.add(noColourmenuItem);
342 colours.add(clustalColour);
343 colours.add(zappoColour);
344 colours.add(taylorColour);
345 colours.add(hydrophobicityColour);
346 colours.add(helixColour);
347 colours.add(strandColour);
348 colours.add(turnColour);
349 colours.add(buriedColour);
350 colours.add(userDefinedColour);
351 colours.add(PIDColour);
352 colours.add(BLOSUM62Colour);
353 colours.add(nucleotideColour);
354 colours.add(purinePyrimidineColour);
355 // colours.add(covariationColour);
356 colours.add(tcoffeeColour);
357 colours.add(RNAInteractionColour);
358 setColourSelected(Cache.getDefault(
359 Preferences.DEFAULT_COLOUR, "None"));
362 public void setColourSelected(String defaultColour)
365 if (defaultColour != null)
367 int index = ColourSchemeProperty
368 .getColourIndexFromName(defaultColour);
372 case ColourSchemeProperty.CLUSTAL:
373 clustalColour.setSelected(true);
377 case ColourSchemeProperty.BLOSUM:
378 BLOSUM62Colour.setSelected(true);
382 case ColourSchemeProperty.PID:
383 PIDColour.setSelected(true);
387 case ColourSchemeProperty.ZAPPO:
388 zappoColour.setSelected(true);
392 case ColourSchemeProperty.TAYLOR:
393 taylorColour.setSelected(true);
396 case ColourSchemeProperty.HYDROPHOBIC:
397 hydrophobicityColour.setSelected(true);
401 case ColourSchemeProperty.HELIX:
402 helixColour.setSelected(true);
406 case ColourSchemeProperty.STRAND:
407 strandColour.setSelected(true);
411 case ColourSchemeProperty.TURN:
412 turnColour.setSelected(true);
416 case ColourSchemeProperty.BURIED:
417 buriedColour.setSelected(true);
421 case ColourSchemeProperty.NUCLEOTIDE:
422 nucleotideColour.setSelected(true);
426 case ColourSchemeProperty.TCOFFEE:
427 tcoffeeColour.setSelected(true);
430 case ColourSchemeProperty.PURINEPYRIMIDINE:
431 purinePyrimidineColour.setSelected(true);
435 case ColourSchemeProperty.RNAINTERACTION:
436 RNAInteractionColour.setSelected(true);
440 * case ColourSchemeProperty.COVARIATION:
441 * covariationColour.setSelected(true);
445 case ColourSchemeProperty.USER_DEFINED:
446 userDefinedColour.setSelected(true);
449 case ColourSchemeProperty.NONE:
451 noColourmenuItem.setSelected(true);
459 private void jbInit() throws Exception
461 JMenuItem saveAs = new JMenuItem(
462 MessageManager.getString("action.save_as") + "...");
463 ActionListener al = new ActionListener()
466 public void actionPerformed(ActionEvent e)
468 saveAs_actionPerformed(e);
471 KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit
472 .getDefaultToolkit().getMenuShortcutKeyMask()
473 | KeyEvent.SHIFT_MASK, false);
474 addMenuActionAndAccelerator(keyStroke, saveAs, al);
476 closeMenuItem.setText(MessageManager.getString("action.close"));
477 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W, Toolkit
478 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
479 al = new ActionListener()
482 public void actionPerformed(ActionEvent e)
484 closeMenuItem_actionPerformed(false);
487 addMenuActionAndAccelerator(keyStroke, closeMenuItem, al);
489 JMenu editMenu = new JMenu(MessageManager.getString("action.edit"));
490 JMenu viewMenu = new JMenu(MessageManager.getString("action.view"));
491 JMenu annotationsMenu = new JMenu(
492 MessageManager.getString("action.annotations"));
493 JMenu showMenu = new JMenu(MessageManager.getString("action.show"));
494 colourMenu.setText(MessageManager.getString("action.colour"));
495 JMenu calculateMenu = new JMenu(
496 MessageManager.getString("action.calculate"));
497 webService.setText(MessageManager.getString("action.web_service"));
498 JMenuItem selectAllSequenceMenuItem = new JMenuItem(
500 .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(MessageManager
712 .getString("action.remove_redundancy").concat("..."));
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 showAutoFirst.setSelected(Cache.getDefault(
1305 Preferences.SHOW_AUTOCALC_ABOVE, false));
1306 showAutoFirst.addActionListener(new ActionListener()
1309 public void actionPerformed(ActionEvent e)
1311 setShowAutoCalculatedAbove(showAutoFirst.isSelected());
1312 sortAnnotations_actionPerformed();
1315 showAutoLast.setSelected(!showAutoFirst.isSelected());
1316 showAutoLast.addActionListener(new ActionListener()
1319 public void actionPerformed(ActionEvent e)
1321 setShowAutoCalculatedAbove(!showAutoLast.isSelected());
1322 sortAnnotations_actionPerformed();
1326 nucleotideColour.setText(MessageManager.getString("label.nucleotide"));
1327 nucleotideColour.addActionListener(new ActionListener()
1330 public void actionPerformed(ActionEvent e)
1332 nucleotideColour_actionPerformed(e);
1336 tcoffeeColour.setText(MessageManager.getString("label.tcoffee_scores"));
1337 tcoffeeColour.setEnabled(false);
1338 tcoffeeColour.addActionListener(new ActionListener()
1342 public void actionPerformed(ActionEvent e)
1344 tcoffeeColorScheme_actionPerformed(e);
1348 JMenuItem deleteGroups = new JMenuItem(
1349 MessageManager.getString("action.undefine_groups"));
1350 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U, Toolkit
1351 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1352 al = new ActionListener()
1355 public void actionPerformed(ActionEvent e)
1357 deleteGroups_actionPerformed(e);
1360 addMenuActionAndAccelerator(keyStroke, deleteGroups, al);
1362 JMenuItem createGroup = new JMenuItem(
1363 MessageManager.getString("action.create_groups"));
1364 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit
1365 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1366 al = new ActionListener()
1369 public void actionPerformed(ActionEvent e)
1371 createGroup_actionPerformed(e);
1374 addMenuActionAndAccelerator(keyStroke, createGroup, al);
1376 JMenuItem unGroup = new JMenuItem(
1377 MessageManager.getString("action.remove_group"));
1378 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit
1379 .getDefaultToolkit().getMenuShortcutKeyMask()
1380 | KeyEvent.SHIFT_MASK, false);
1381 al = new ActionListener()
1384 public void actionPerformed(ActionEvent e)
1386 unGroup_actionPerformed(e);
1389 addMenuActionAndAccelerator(keyStroke, unGroup, al);
1391 copy.setText(MessageManager.getString("action.copy"));
1392 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit
1393 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1395 al = new ActionListener()
1398 public void actionPerformed(ActionEvent e)
1400 copy_actionPerformed(e);
1403 addMenuActionAndAccelerator(keyStroke, copy, al);
1405 cut.setText(MessageManager.getString("action.cut"));
1406 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, Toolkit
1407 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1408 al = new ActionListener()
1411 public void actionPerformed(ActionEvent e)
1413 cut_actionPerformed(e);
1416 addMenuActionAndAccelerator(keyStroke, cut, al);
1418 JMenuItem delete = new JMenuItem(
1419 MessageManager.getString("action.delete"));
1420 delete.addActionListener(new ActionListener()
1423 public void actionPerformed(ActionEvent e)
1425 delete_actionPerformed(e);
1429 pasteMenu.setText(MessageManager.getString("action.paste"));
1430 JMenuItem pasteNew = new JMenuItem(
1431 MessageManager.getString("label.to_new_alignment"));
1432 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit
1433 .getDefaultToolkit().getMenuShortcutKeyMask()
1434 | KeyEvent.SHIFT_MASK, false);
1435 al = new ActionListener()
1438 public void actionPerformed(ActionEvent e)
1440 pasteNew_actionPerformed(e);
1443 addMenuActionAndAccelerator(keyStroke, pasteNew, al);
1445 JMenuItem pasteThis = new JMenuItem(
1446 MessageManager.getString("label.to_this_alignment"));
1447 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit
1448 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
1449 al = new ActionListener()
1452 public void actionPerformed(ActionEvent e)
1454 pasteThis_actionPerformed(e);
1457 addMenuActionAndAccelerator(keyStroke, pasteThis, al);
1459 applyToAllGroups.setText(MessageManager
1460 .getString("label.apply_colour_to_all_groups"));
1461 applyToAllGroups.addActionListener(new ActionListener()
1464 public void actionPerformed(ActionEvent e)
1466 applyToAllGroups_actionPerformed(e);
1469 JMenuItem createPNG = new JMenuItem("PNG");
1470 createPNG.addActionListener(new ActionListener()
1473 public void actionPerformed(ActionEvent e)
1478 createPNG.setActionCommand(MessageManager
1479 .getString("label.save_png_image"));
1481 JMenuItem font = new JMenuItem(MessageManager.getString("action.font"));
1482 font.addActionListener(new ActionListener()
1485 public void actionPerformed(ActionEvent e)
1487 font_actionPerformed(e);
1490 seqLimits.setText(MessageManager
1491 .getString("label.show_sequence_limits"));
1492 seqLimits.setState(Cache.getDefault("SHOW_JVSUFFIX", true));
1493 seqLimits.addActionListener(new ActionListener()
1496 public void actionPerformed(ActionEvent e)
1498 seqLimit_actionPerformed(e);
1501 JMenuItem epsFile = new JMenuItem("EPS");
1502 epsFile.addActionListener(new ActionListener()
1505 public void actionPerformed(ActionEvent e)
1511 JMenuItem createSVG = new JMenuItem("SVG");
1512 createSVG.addActionListener(new ActionListener()
1515 public void actionPerformed(ActionEvent e)
1521 JMenuItem loadTreeMenuItem = new JMenuItem(
1522 MessageManager.getString("label.load_associated_tree"));
1523 loadTreeMenuItem.setActionCommand(MessageManager
1524 .getString("label.load_tree_for_sequence_set"));
1525 loadTreeMenuItem.addActionListener(new ActionListener()
1528 public void actionPerformed(ActionEvent e)
1530 loadTreeMenuItem_actionPerformed(e);
1534 scaleAbove.setVisible(false);
1535 scaleAbove.setText(MessageManager.getString("action.scale_above"));
1536 scaleAbove.addActionListener(new ActionListener()
1539 public void actionPerformed(ActionEvent e)
1541 scaleAbove_actionPerformed(e);
1544 scaleLeft.setVisible(false);
1545 scaleLeft.setSelected(true);
1546 scaleLeft.setText(MessageManager.getString("action.scale_left"));
1547 scaleLeft.addActionListener(new ActionListener()
1550 public void actionPerformed(ActionEvent e)
1552 scaleLeft_actionPerformed(e);
1555 scaleRight.setVisible(false);
1556 scaleRight.setSelected(true);
1557 scaleRight.setText(MessageManager.getString("action.scale_right"));
1558 scaleRight.addActionListener(new ActionListener()
1561 public void actionPerformed(ActionEvent e)
1563 scaleRight_actionPerformed(e);
1566 centreColumnLabelsMenuItem.setVisible(true);
1567 centreColumnLabelsMenuItem.setState(false);
1568 centreColumnLabelsMenuItem.setText(MessageManager
1569 .getString("label.centre_column_labels"));
1570 centreColumnLabelsMenuItem.addActionListener(new ActionListener()
1573 public void actionPerformed(ActionEvent e)
1575 centreColumnLabels_actionPerformed(e);
1578 followHighlightMenuItem.setVisible(true);
1579 followHighlightMenuItem.setState(true);
1580 followHighlightMenuItem.setText(MessageManager
1581 .getString("label.automatic_scrolling"));
1582 followHighlightMenuItem.addActionListener(new ActionListener()
1586 public void actionPerformed(ActionEvent e)
1588 followHighlight_actionPerformed();
1593 JMenuItem modifyPID = new JMenuItem(
1594 MessageManager.getString("label.modify_identity_thereshold"));
1595 modifyPID.addActionListener(new ActionListener()
1598 public void actionPerformed(ActionEvent e)
1600 modifyPID_actionPerformed(e);
1603 modifyConservation.setText(MessageManager
1604 .getString("label.modify_conservation_thereshold"));
1605 modifyConservation.addActionListener(new ActionListener()
1608 public void actionPerformed(ActionEvent e)
1610 modifyConservation_actionPerformed(e);
1614 .setText(MessageManager.getString("action.by_tree_order"));
1615 sort.setText(MessageManager.getString("action.sort"));
1616 sort.addMenuListener(new MenuListener()
1619 public void menuSelected(MenuEvent e)
1625 public void menuDeselected(MenuEvent e)
1630 public void menuCanceled(MenuEvent e)
1634 sortByAnnotScore.setText(MessageManager
1635 .getString("label.sort_by_score"));
1636 sort.add(sortByAnnotScore);
1637 sort.addMenuListener(new javax.swing.event.MenuListener()
1641 public void menuCanceled(MenuEvent e)
1646 public void menuDeselected(MenuEvent e)
1651 public void menuSelected(MenuEvent e)
1653 buildSortByAnnotationScoresMenu();
1656 sortByAnnotScore.setVisible(false);
1659 .setText(MessageManager.getString("action.calculate_tree"));
1661 padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps"));
1662 padGapsMenuitem.setState(Cache
1663 .getDefault("PAD_GAPS", false));
1664 padGapsMenuitem.addActionListener(new ActionListener()
1667 public void actionPerformed(ActionEvent e)
1669 padGapsMenuitem_actionPerformed(e);
1672 JMenuItem vamsasStore = new JMenuItem(
1673 MessageManager.getString("label.vamsas_store"));
1674 vamsasStore.setVisible(false);
1675 vamsasStore.addActionListener(new ActionListener()
1678 public void actionPerformed(ActionEvent e)
1680 vamsasStore_actionPerformed(e);
1683 showTranslation.setText(MessageManager
1684 .getString("label.translate_cDNA"));
1685 showTranslation.addActionListener(new ActionListener()
1688 public void actionPerformed(ActionEvent e)
1690 showTranslation_actionPerformed(e);
1694 JMenuItem extractScores = new JMenuItem(
1695 MessageManager.getString("label.extract_scores") + "...");
1696 extractScores.addActionListener(new ActionListener()
1699 public void actionPerformed(ActionEvent e)
1701 extractScores_actionPerformed(e);
1704 extractScores.setVisible(true);
1705 // JBPNote: TODO: make gui for regex based score extraction
1707 // for show products actions see AlignFrame.canShowProducts
1708 showProducts.setText(MessageManager.getString("label.get_cross_refs"));
1710 JMenuItem openFeatureSettings = new JMenuItem(
1711 MessageManager.getString("label.feature_settings"));
1712 openFeatureSettings.addActionListener(new ActionListener()
1715 public void actionPerformed(ActionEvent e)
1717 featureSettings_actionPerformed(e);
1720 JMenuItem fetchSequence = new JMenuItem(
1721 MessageManager.getString("label.fetch_sequences"));
1722 fetchSequence.addActionListener(new ActionListener()
1725 public void actionPerformed(ActionEvent e)
1727 fetchSequence_actionPerformed(e);
1731 JMenuItem annotationColour = new JMenuItem(
1732 MessageManager.getString("action.by_annotation"));
1733 annotationColour.addActionListener(new ActionListener()
1736 public void actionPerformed(ActionEvent e)
1738 annotationColour_actionPerformed(e);
1742 JMenuItem annotationColumn = new JMenuItem(
1743 MessageManager.getString("action.select_by_annotation"));
1744 annotationColumn.addActionListener(new ActionListener()
1747 public void actionPerformed(ActionEvent e)
1749 annotationColumn_actionPerformed(e);
1753 rnahelicesColour.setText(MessageManager
1754 .getString("action.by_rna_helixes"));
1755 rnahelicesColour.addActionListener(new ActionListener()
1758 public void actionPerformed(ActionEvent e)
1760 rnahelicesColour_actionPerformed(e);
1764 JMenuItem associatedData = new JMenuItem(
1765 MessageManager.getString("label.load_features_annotations"));
1766 associatedData.addActionListener(new ActionListener()
1769 public void actionPerformed(ActionEvent e)
1771 associatedData_actionPerformed(e);
1774 autoCalculate.setText(MessageManager
1775 .getString("label.autocalculate_consensus"));
1776 autoCalculate.setState(Cache.getDefault(
1777 "AUTO_CALC_CONSENSUS", true));
1778 autoCalculate.addActionListener(new ActionListener()
1781 public void actionPerformed(ActionEvent e)
1783 autoCalculate_actionPerformed(e);
1786 sortByTree.setText(MessageManager
1787 .getString("label.sort_alignment_new_tree"));
1789 .setToolTipText("<html>"
1791 .getString("label.enable_automatically_sort_alignment_when_open_new_tree"));
1793 .setState(Cache.getDefault("SORT_BY_TREE", false));
1794 sortByTree.addActionListener(new ActionListener()
1797 public void actionPerformed(ActionEvent e)
1799 sortByTreeOption_actionPerformed(e);
1803 listenToViewSelections.setText(MessageManager
1804 .getString("label.listen_for_selections"));
1805 listenToViewSelections
1806 .setToolTipText("<html>"
1808 .getString("label.selections_mirror_selections_made_same_sequences_other_views"));
1809 listenToViewSelections.setState(false);
1810 listenToViewSelections.addActionListener(new ActionListener()
1813 public void actionPerformed(ActionEvent e)
1815 listenToViewSelections_actionPerformed(e);
1819 JMenu addSequenceMenu = new JMenu(
1820 MessageManager.getString("label.add_sequences"));
1821 JMenuItem addFromFile = new JMenuItem(
1822 MessageManager.getString("label.from_file"));
1823 addFromFile.addActionListener(new ActionListener()
1826 public void actionPerformed(ActionEvent e)
1828 addFromFile_actionPerformed(e);
1831 JMenuItem addFromText = new JMenuItem(
1832 MessageManager.getString("label.from_textbox"));
1833 addFromText.addActionListener(new ActionListener()
1836 public void actionPerformed(ActionEvent e)
1838 addFromText_actionPerformed(e);
1841 JMenuItem addFromURL = new JMenuItem(
1842 MessageManager.getString("label.from_url"));
1843 addFromURL.addActionListener(new ActionListener()
1846 public void actionPerformed(ActionEvent e)
1848 addFromURL_actionPerformed(e);
1851 JMenuItem exportFeatures = new JMenuItem(
1852 MessageManager.getString("label.export_features"));
1853 exportFeatures.addActionListener(new ActionListener()
1856 public void actionPerformed(ActionEvent e)
1858 exportFeatures_actionPerformed(e);
1861 JMenuItem exportAnnotations = new JMenuItem(
1862 MessageManager.getString("label.export_annotations"));
1863 exportAnnotations.addActionListener(new ActionListener()
1866 public void actionPerformed(ActionEvent e)
1868 exportAnnotations_actionPerformed(e);
1871 statusPanel.setLayout(new GridLayout());
1872 JMenuItem showAllSeqs = new JMenuItem(
1873 MessageManager.getString("label.all_sequences"));
1874 showAllSeqs.setToolTipText(MessageManager
1875 .getString("label.toggle_sequence_visibility"));
1876 showAllSeqs.addActionListener(new ActionListener()
1879 public void actionPerformed(ActionEvent e)
1881 showAllSeqs_actionPerformed(e);
1884 JMenuItem showAllColumns = new JMenuItem(
1885 MessageManager.getString("label.all_columns"));
1886 showAllColumns.setToolTipText(MessageManager
1887 .getString("label.toggle_columns_visibility"));
1888 showAllColumns.addActionListener(new ActionListener()
1891 public void actionPerformed(ActionEvent e)
1893 showAllColumns_actionPerformed(e);
1896 JMenu hideMenu = new JMenu(MessageManager.getString("action.hide"));
1897 JMenuItem hideSelSequences = new JMenuItem(
1898 MessageManager.getString("label.selected_sequences"));
1899 hideSelSequences.setToolTipText(MessageManager
1900 .getString("label.toggle_sequence_visibility"));
1901 hideSelSequences.addActionListener(new ActionListener()
1904 public void actionPerformed(ActionEvent e)
1906 hideSelSequences_actionPerformed(e);
1909 JMenuItem hideSelColumns = new JMenuItem(
1910 MessageManager.getString("label.selected_columns"));
1911 hideSelColumns.setToolTipText(MessageManager
1912 .getString("label.toggle_columns_visibility"));
1913 hideSelColumns.addActionListener(new ActionListener()
1916 public void actionPerformed(ActionEvent e)
1918 hideSelColumns_actionPerformed(e);
1921 JMenuItem hideAllSelection = new JMenuItem(
1922 MessageManager.getString("label.selected_region"));
1923 hideAllSelection.addActionListener(new ActionListener()
1926 public void actionPerformed(ActionEvent e)
1928 hideAllSelection_actionPerformed(e);
1931 // TODO: should be hidden if no selection exists.
1932 JMenuItem hideAllButSelection = new JMenuItem(
1933 MessageManager.getString("label.all_but_selected_region"));
1934 hideAllButSelection.addActionListener(new ActionListener()
1937 public void actionPerformed(ActionEvent e)
1939 hideAllButSelection_actionPerformed(e);
1942 JMenuItem showAllhidden = new JMenuItem(
1943 MessageManager.getString("label.all_sequences_columns"));
1944 showAllhidden.setToolTipText(MessageManager
1945 .getString("label.toggles_visibility_hidden_selected_regions"));
1946 showAllhidden.addActionListener(new ActionListener()
1949 public void actionPerformed(ActionEvent e)
1951 showAllhidden_actionPerformed(e);
1954 hiddenMarkers.setText(MessageManager
1955 .getString("action.show_hidden_markers"));
1956 hiddenMarkers.addActionListener(new ActionListener()
1959 public void actionPerformed(ActionEvent e)
1961 hiddenMarkers_actionPerformed(e);
1965 JMenuItem invertColSel = new JMenuItem(
1966 MessageManager.getString("action.invert_column_selection"));
1967 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
1968 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
1969 | KeyEvent.ALT_MASK, false);
1970 al = new ActionListener()
1973 public void actionPerformed(ActionEvent e)
1975 invertColSel_actionPerformed(e);
1978 addMenuActionAndAccelerator(keyStroke, invertColSel, al);
1980 showComplementMenuItem.setVisible(false);
1981 showComplementMenuItem.addActionListener(new ActionListener()
1984 public void actionPerformed(ActionEvent e)
1986 showComplement_actionPerformed(showComplementMenuItem.getState());
1990 tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
1993 public void stateChanged(ChangeEvent evt)
1995 JTabbedPane pane = (JTabbedPane) evt.getSource();
1996 int sel = pane.getSelectedIndex();
1997 tabSelectionChanged(sel);
2000 tabbedPane.addMouseListener(new MouseAdapter()
2003 public void mousePressed(MouseEvent e)
2005 tabbedPane_mousePressed(e);
2008 tabbedPane.addFocusListener(new FocusAdapter()
2011 public void focusGained(FocusEvent e)
2013 tabbedPane_focusGained(e);
2017 JMenuItem save = new JMenuItem(MessageManager.getString("action.save"));
2018 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit
2019 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
2020 al = new ActionListener()
2023 public void actionPerformed(ActionEvent e)
2025 save_actionPerformed(e);
2028 addMenuActionAndAccelerator(keyStroke, save, al);
2030 reload.setEnabled(false);
2031 reload.setText(MessageManager.getString("action.reload"));
2032 reload.addActionListener(new ActionListener()
2035 public void actionPerformed(ActionEvent e)
2037 reload_actionPerformed(e);
2041 JMenuItem newView = new JMenuItem(
2042 MessageManager.getString("action.new_view"));
2043 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit
2044 .getDefaultToolkit().getMenuShortcutKeyMask(), false);
2045 al = new ActionListener()
2048 public void actionPerformed(ActionEvent e)
2050 newView_actionPerformed(e);
2053 addMenuActionAndAccelerator(keyStroke, newView, al);
2055 tabbedPane.setToolTipText("<html><i>"
2056 + MessageManager.getString("label.rename_tab_eXpand_reGroup")
2058 JMenuItem textColour = new JMenuItem(
2059 MessageManager.getString("label.colour_text") + "...");
2060 textColour.addActionListener(new ActionListener()
2063 public void actionPerformed(ActionEvent e)
2065 textColour_actionPerformed(e);
2068 formatMenu.setText(MessageManager.getString("action.format"));
2069 JMenu selectMenu = new JMenu(MessageManager.getString("action.select"));
2070 idRightAlign.setText(MessageManager
2071 .getString("label.right_align_sequence_id"));
2072 idRightAlign.addActionListener(new ActionListener()
2075 public void actionPerformed(ActionEvent e)
2077 idRightAlign_actionPerformed(e);
2081 gatherViews.setEnabled(false);
2082 gatherViews.setText(MessageManager.getString("action.gather_views"));
2083 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, 0, false);
2084 al = new ActionListener()
2087 public void actionPerformed(ActionEvent e)
2089 gatherViews_actionPerformed(e);
2092 addMenuActionAndAccelerator(keyStroke, gatherViews, al);
2094 expandViews.setEnabled(false);
2095 expandViews.setText(MessageManager.getString("action.expand_views"));
2096 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, 0, false);
2097 al = new ActionListener()
2100 public void actionPerformed(ActionEvent e)
2102 expandViews_actionPerformed(e);
2105 addMenuActionAndAccelerator(keyStroke, expandViews, al);
2107 JMenuItem pageSetup = new JMenuItem(
2108 MessageManager.getString("action.page_setup") + "...");
2109 pageSetup.addActionListener(new ActionListener()
2112 public void actionPerformed(ActionEvent e)
2114 pageSetup_actionPerformed(e);
2117 JMenuItem alignmentProperties = new JMenuItem(
2118 MessageManager.getString("label.alignment_props") + "...");
2119 alignmentProperties.addActionListener(new ActionListener()
2122 public void actionPerformed(ActionEvent actionEvent)
2124 alignmentProperties();
2127 JMenu tooltipSettingsMenu = new JMenu(
2128 MessageManager.getString("label.sequence_id_tooltip"));
2129 JMenu autoAnnMenu = new JMenu(
2130 MessageManager.getString("label.autocalculated_annotation"));
2132 JMenu exportImageMenu = new JMenu(
2133 MessageManager.getString("label.export_image"));
2134 JMenu fileMenu = new JMenu(MessageManager.getString("action.file"));
2135 alignFrameMenuBar.add(fileMenu);
2136 alignFrameMenuBar.add(editMenu);
2137 alignFrameMenuBar.add(selectMenu);
2138 alignFrameMenuBar.add(viewMenu);
2139 alignFrameMenuBar.add(annotationsMenu);
2140 alignFrameMenuBar.add(formatMenu);
2141 alignFrameMenuBar.add(colourMenu);
2142 alignFrameMenuBar.add(calculateMenu);
2143 alignFrameMenuBar.add(webService);
2144 fileMenu.add(fetchSequence);
2145 fileMenu.add(addSequenceMenu);
2146 fileMenu.add(reload);
2147 fileMenu.addSeparator();
2148 fileMenu.add(vamsasStore);
2150 fileMenu.add(saveAs);
2151 fileMenu.add(outputTextboxMenu);
2152 fileMenu.add(pageSetup);
2153 fileMenu.add(printMenuItem);
2154 fileMenu.addSeparator();
2155 fileMenu.add(exportImageMenu);
2156 fileMenu.add(exportFeatures);
2157 fileMenu.add(exportAnnotations);
2158 fileMenu.add(loadTreeMenuItem);
2159 fileMenu.add(associatedData);
2160 fileMenu.addSeparator();
2161 fileMenu.add(closeMenuItem);
2162 editMenu.add(undoMenuItem);
2163 editMenu.add(redoMenuItem);
2166 editMenu.add(pasteMenu);
2167 editMenu.add(delete);
2168 editMenu.addSeparator();
2169 editMenu.add(remove2LeftMenuItem);
2170 editMenu.add(remove2RightMenuItem);
2171 editMenu.add(removeGappedColumnMenuItem);
2172 editMenu.add(removeAllGapsMenuItem);
2173 editMenu.add(removeRedundancyMenuItem);
2174 editMenu.addSeparator();
2175 // dont add these yet in the CVS build - they cannot be undone!
2176 // Excluded from Jalview 2.5 release - undo needs to be implemented.
2177 // editMenu.add(justifyLeftMenuItem);
2178 // editMenu.add(justifyRightMenuItem);
2179 // editMenu.addSeparator();
2180 editMenu.add(padGapsMenuitem);
2182 viewMenu.add(newView);
2183 viewMenu.add(expandViews);
2184 viewMenu.add(gatherViews);
2185 viewMenu.addSeparator();
2186 viewMenu.add(showMenu);
2187 viewMenu.add(hideMenu);
2188 viewMenu.add(showComplementMenuItem);
2189 viewMenu.addSeparator();
2190 viewMenu.add(followHighlightMenuItem);
2191 viewMenu.addSeparator();
2192 viewMenu.add(showSeqFeatures);
2193 // viewMenu.add(showSeqFeaturesHeight);
2194 viewMenu.add(openFeatureSettings);
2195 tooltipSettingsMenu.add(showDbRefsMenuitem);
2196 tooltipSettingsMenu.add(showNpFeatsMenuitem);
2197 viewMenu.add(tooltipSettingsMenu);
2198 viewMenu.addSeparator();
2199 viewMenu.add(alignmentProperties);
2200 viewMenu.addSeparator();
2201 viewMenu.add(overviewMenuItem);
2203 annotationsMenu.add(annotationPanelMenuItem);
2204 annotationsMenu.addSeparator();
2205 annotationsMenu.add(showAllAlAnnotations);
2206 annotationsMenu.add(hideAllAlAnnotations);
2207 annotationsMenu.addSeparator();
2208 annotationsMenu.add(showAllSeqAnnotations);
2209 annotationsMenu.add(hideAllSeqAnnotations);
2210 annotationsMenu.add(sortAnnBySequence);
2211 annotationsMenu.add(sortAnnByLabel);
2212 annotationsMenu.addSeparator();
2213 autoAnnMenu.add(showAutoFirst);
2214 autoAnnMenu.add(showAutoLast);
2215 autoAnnMenu.addSeparator();
2216 autoAnnMenu.add(applyAutoAnnotationSettings);
2217 autoAnnMenu.add(showConsensusHistogram);
2218 autoAnnMenu.add(showSequenceLogo);
2219 autoAnnMenu.add(normaliseSequenceLogo);
2220 autoAnnMenu.addSeparator();
2221 autoAnnMenu.add(showGroupConservation);
2222 autoAnnMenu.add(showGroupConsensus);
2223 annotationsMenu.add(autoAnnMenu);
2225 colourMenu.add(applyToAllGroups);
2226 colourMenu.add(textColour);
2227 colourMenu.addSeparator();
2228 colourMenu.add(noColourmenuItem);
2229 colourMenu.add(clustalColour);
2230 colourMenu.add(BLOSUM62Colour);
2231 colourMenu.add(PIDColour);
2232 colourMenu.add(zappoColour);
2233 colourMenu.add(taylorColour);
2234 colourMenu.add(hydrophobicityColour);
2235 colourMenu.add(helixColour);
2236 colourMenu.add(strandColour);
2237 colourMenu.add(turnColour);
2238 colourMenu.add(buriedColour);
2239 colourMenu.add(nucleotideColour);
2240 colourMenu.add(purinePyrimidineColour);
2241 colourMenu.add(RNAInteractionColour);
2242 // colourMenu.add(covariationColour);
2243 colourMenu.add(tcoffeeColour);
2244 colourMenu.add(userDefinedColour);
2245 colourMenu.addSeparator();
2246 colourMenu.add(conservationMenuItem);
2247 colourMenu.add(modifyConservation);
2248 colourMenu.add(abovePIDThreshold);
2249 colourMenu.add(modifyPID);
2250 colourMenu.add(annotationColour);
2251 colourMenu.add(rnahelicesColour);
2252 calculateMenu.add(sort);
2253 calculateMenu.add(calculateTree);
2254 calculateMenu.addSeparator();
2255 calculateMenu.add(pairwiseAlignmentMenuItem);
2256 calculateMenu.add(PCAMenuItem);
2257 calculateMenu.addSeparator();
2258 calculateMenu.add(showTranslation);
2259 calculateMenu.add(showProducts);
2260 calculateMenu.add(autoCalculate);
2261 calculateMenu.add(sortByTree);
2262 calculateMenu.addSeparator();
2263 calculateMenu.add(extractScores);
2264 webServiceNoServices = new JMenuItem(
2265 MessageManager.getString("label.no_services"));
2266 webService.add(webServiceNoServices);
2267 pasteMenu.add(pasteNew);
2268 pasteMenu.add(pasteThis);
2269 sort.add(sortIDMenuItem);
2270 sort.add(sortLengthMenuItem);
2271 sort.add(sortGroupMenuItem);
2272 sort.add(sortPairwiseMenuItem);
2273 sort.add(sortByTreeMenu);
2274 exportImageMenu.add(htmlMenuItem);
2275 exportImageMenu.add(epsFile);
2276 exportImageMenu.add(createPNG);
2277 exportImageMenu.add(createBioJS);
2278 exportImageMenu.add(createSVG);
2279 addSequenceMenu.add(addFromFile);
2280 addSequenceMenu.add(addFromText);
2281 addSequenceMenu.add(addFromURL);
2282 this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
2283 statusPanel.add(statusBar, null);
2284 this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
2285 showMenu.add(showAllColumns);
2286 showMenu.add(showAllSeqs);
2287 showMenu.add(showAllhidden);
2288 hideMenu.add(hideSelColumns);
2289 hideMenu.add(hideSelSequences);
2290 hideMenu.add(hideAllSelection);
2291 hideMenu.add(hideAllButSelection);
2293 formatMenu.add(font);
2294 formatMenu.addSeparator();
2295 formatMenu.add(wrapMenuItem);
2296 formatMenu.add(scaleAbove);
2297 formatMenu.add(scaleLeft);
2298 formatMenu.add(scaleRight);
2299 formatMenu.add(seqLimits);
2300 formatMenu.add(idRightAlign);
2301 formatMenu.add(hiddenMarkers);
2302 formatMenu.add(viewBoxesMenuItem);
2303 formatMenu.add(viewTextMenuItem);
2304 formatMenu.add(colourTextMenuItem);
2305 formatMenu.add(renderGapsMenuItem);
2306 formatMenu.add(centreColumnLabelsMenuItem);
2307 formatMenu.add(showNonconservedMenuItem);
2308 selectMenu.add(findMenuItem);
2309 selectMenu.addSeparator();
2310 selectMenu.add(selectAllSequenceMenuItem);
2311 selectMenu.add(deselectAllSequenceMenuItem);
2312 selectMenu.add(invertSequenceMenuItem);
2313 selectMenu.add(invertColSel);
2314 selectMenu.add(createGroup);
2315 selectMenu.add(unGroup);
2316 selectMenu.add(grpsFromSelection);
2317 selectMenu.add(deleteGroups);
2318 selectMenu.add(annotationColumn);
2319 calculateMenu.add(expandAlignment);
2320 // TODO - determine if the listenToViewSelections button is needed : see bug
2322 // selectMenu.addSeparator();
2323 // selectMenu.add(listenToViewSelections);
2327 * Adds the given action listener and key accelerator to the given menu item.
2328 * Also saves in a lookup table to support lookup of action by key stroke.
2332 * @param actionListener
2334 protected void addMenuActionAndAccelerator(KeyStroke keyStroke,
2335 JMenuItem menuItem, ActionListener actionListener)
2337 menuItem.setAccelerator(keyStroke);
2338 accelerators.put(keyStroke, menuItem);
2339 menuItem.addActionListener(actionListener);
2343 * Action on clicking sort annotations by type.
2347 protected void sortAnnotations_actionPerformed()
2352 * Action on clicking Show all annotations.
2354 * @param forSequences
2355 * update sequence-related annotations
2356 * @param forAlignment
2357 * update non-sequence-related annotations
2359 protected void showAllAnnotations_actionPerformed(boolean forSequences,
2360 boolean forAlignment)
2362 setAnnotationsVisibility(true, forSequences, forAlignment);
2366 * Action on clicking Hide all annotations.
2368 * @param forSequences
2369 * update sequence-related annotations
2370 * @param forAlignment
2371 * update non-sequence-related annotations
2373 protected void hideAllAnnotations_actionPerformed(boolean forSequences,
2374 boolean forAlignment)
2376 setAnnotationsVisibility(false, forSequences, forAlignment);
2380 * Set the visibility of annotations to true or false. Can act on
2381 * sequence-related annotations, or alignment-related, or both.
2384 * @param forSequences
2385 * update sequence-related annotations
2386 * @param forAlignment
2387 * update non-sequence-related annotations
2389 protected void setAnnotationsVisibility(boolean visible,
2390 boolean forSequences, boolean forAlignment)
2395 protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
2397 // TODO Auto-generated method stub
2401 protected void listenToViewSelections_actionPerformed(ActionEvent e)
2403 // TODO Auto-generated method stub
2407 protected void showAllhidden_actionPerformed(ActionEvent e)
2409 // TODO Auto-generated method stub
2413 protected void hideAllButSelection_actionPerformed(ActionEvent e)
2415 // TODO Auto-generated method stub
2419 protected void hideAllSelection_actionPerformed(ActionEvent e)
2421 // TODO Auto-generated method stub
2425 protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
2427 // TODO Auto-generated method stub
2431 protected void showConsensusHistogram_actionPerformed(ActionEvent e)
2433 // TODO Auto-generated method stub
2437 protected void showSequenceLogo_actionPerformed(ActionEvent e)
2439 // TODO Auto-generated method stub
2443 protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
2445 // TODO Auto-generated method stub
2449 protected void showGroupConsensus_actionPerformed(ActionEvent e)
2451 // TODO Auto-generated method stub
2455 protected void showGroupConservation_actionPerformed(ActionEvent e)
2457 // TODO Auto-generated method stub
2461 protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
2463 // TODO Auto-generated method stub
2467 protected void showSeqFeaturesHeight_actionPerformed(
2468 ActionEvent actionEvent)
2470 // TODO Auto-generated method stub
2474 protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
2476 // TODO Auto-generated method stub
2480 protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
2482 // TODO Auto-generated method stub
2486 protected void followHighlight_actionPerformed()
2488 // TODO Auto-generated method stub
2492 protected void showNpFeats_actionPerformed(ActionEvent e)
2494 // TODO Auto-generated method stub
2498 protected void showDbRefs_actionPerformed(ActionEvent e)
2500 // TODO Auto-generated method stub
2504 protected void centreColumnLabels_actionPerformed(ActionEvent e)
2508 protected void buildSortByAnnotationScoresMenu()
2512 protected void extractScores_actionPerformed(ActionEvent e)
2516 protected void outputText_actionPerformed(ActionEvent e)
2520 public void addFromFile_actionPerformed(ActionEvent e)
2525 public void addFromText_actionPerformed(ActionEvent e)
2530 public void addFromURL_actionPerformed(ActionEvent e)
2535 public void exportFeatures_actionPerformed(ActionEvent e)
2540 public void exportAnnotations_actionPerformed(ActionEvent e)
2545 protected void htmlMenuItem_actionPerformed(ActionEvent e)
2549 protected void bioJSMenuItem_actionPerformed(ActionEvent e)
2554 protected void closeMenuItem_actionPerformed(boolean b)
2558 protected void redoMenuItem_actionPerformed(ActionEvent e)
2562 protected void undoMenuItem_actionPerformed(ActionEvent e)
2566 protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2570 protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2574 protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
2578 protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
2582 protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
2586 protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
2590 protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
2594 protected void wrapMenuItem_actionPerformed(ActionEvent e)
2598 protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
2602 protected void viewTextMenuItem_actionPerformed(ActionEvent e)
2606 protected void colourTextMenuItem_actionPerformed(ActionEvent e)
2610 protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
2614 protected void overviewMenuItem_actionPerformed(ActionEvent e)
2618 protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
2622 protected void sortIDMenuItem_actionPerformed(ActionEvent e)
2626 protected void sortLengthMenuItem_actionPerformed(ActionEvent e)
2630 protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
2634 protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
2638 protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
2642 protected void PCAMenuItem_actionPerformed(ActionEvent e)
2646 protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)
2650 protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
2654 protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)
2658 protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)
2662 protected void clustalColour_actionPerformed(ActionEvent e)
2666 protected void zappoColour_actionPerformed(ActionEvent e)
2670 protected void taylorColour_actionPerformed(ActionEvent e)
2674 protected void hydrophobicityColour_actionPerformed(ActionEvent e)
2678 protected void helixColour_actionPerformed(ActionEvent e)
2682 protected void strandColour_actionPerformed(ActionEvent e)
2686 protected void turnColour_actionPerformed(ActionEvent e)
2690 protected void buriedColour_actionPerformed(ActionEvent e)
2694 protected void userDefinedColour_actionPerformed(ActionEvent e)
2698 protected void PIDColour_actionPerformed(ActionEvent e)
2702 protected void BLOSUM62Colour_actionPerformed(ActionEvent e)
2706 protected void purinePyrimidineColour_actionPerformed(ActionEvent e)
2710 protected void RNAInteractionColour_actionPerformed(ActionEvent e)
2715 * protected void covariationColour_actionPerformed(ActionEvent e) { }
2718 protected void noColourmenuItem_actionPerformed(ActionEvent e)
2722 protected void conservationMenuItem_actionPerformed(ActionEvent e)
2726 protected void printMenuItem_actionPerformed(ActionEvent e)
2730 protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2734 protected void findMenuItem_actionPerformed(ActionEvent e)
2738 protected void abovePIDThreshold_actionPerformed(ActionEvent e)
2742 public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2746 protected void nucleotideColour_actionPerformed(ActionEvent e)
2750 protected void deleteGroups_actionPerformed(ActionEvent e)
2754 protected void createGroup_actionPerformed(ActionEvent e)
2758 protected void unGroup_actionPerformed(ActionEvent e)
2762 protected void copy_actionPerformed(ActionEvent e)
2766 protected void cut_actionPerformed(ActionEvent e)
2770 protected void delete_actionPerformed(ActionEvent e)
2774 protected void pasteNew_actionPerformed(ActionEvent e)
2778 protected void pasteThis_actionPerformed(ActionEvent e)
2782 protected void applyToAllGroups_actionPerformed(ActionEvent e)
2786 public void createPNG(java.io.File f)
2790 protected void font_actionPerformed(ActionEvent e)
2794 protected void seqLimit_actionPerformed(ActionEvent e)
2798 public void seqDBRef_actionPerformed(ActionEvent e)
2803 public void createEPS(java.io.File f)
2807 public void createSVG(java.io.File f)
2811 protected void loadTreeMenuItem_actionPerformed(ActionEvent e)
2817 * Template method to handle the 'load T-Coffee scores' menu event.
2819 * Subclasses override this method to provide a custom action.
2824 protected void loadScores_actionPerformed(ActionEvent event)
2830 * Template method to handle the 'Color T-Coffee scores' menu event.
2832 * Subclasses override this method to provide a custom action.
2837 protected void tcoffeeColorScheme_actionPerformed(ActionEvent event)
2842 protected void jpred_actionPerformed(ActionEvent e)
2846 protected void scaleAbove_actionPerformed(ActionEvent e)
2850 protected void scaleLeft_actionPerformed(ActionEvent e)
2854 protected void scaleRight_actionPerformed(ActionEvent e)
2858 protected void modifyPID_actionPerformed(ActionEvent e)
2862 protected void modifyConservation_actionPerformed(ActionEvent e)
2866 protected void saveAs_actionPerformed(ActionEvent e)
2870 protected void padGapsMenuitem_actionPerformed(ActionEvent e)
2874 public void vamsasStore_actionPerformed(ActionEvent e)
2879 public void vamsasLoad_actionPerformed(ActionEvent e)
2884 public void showTranslation_actionPerformed(ActionEvent e)
2889 public void featureSettings_actionPerformed(ActionEvent e)
2894 public void fetchSequence_actionPerformed(ActionEvent e)
2899 public void smoothFont_actionPerformed(ActionEvent e)
2904 public void annotationColour_actionPerformed(ActionEvent e)
2909 public void annotationColumn_actionPerformed(ActionEvent e)
2914 public void rnahelicesColour_actionPerformed(ActionEvent e)
2919 public void associatedData_actionPerformed(ActionEvent e)
2924 public void autoCalculate_actionPerformed(ActionEvent e)
2929 public void sortByTreeOption_actionPerformed(ActionEvent e)
2934 public void showAllSeqs_actionPerformed(ActionEvent e)
2939 public void showAllColumns_actionPerformed(ActionEvent e)
2944 public void hideSelSequences_actionPerformed(ActionEvent e)
2949 public void hideSelColumns_actionPerformed(ActionEvent e)
2954 public void hiddenMarkers_actionPerformed(ActionEvent e)
2959 public void findPdbId_actionPerformed(ActionEvent e)
2964 public void enterPdbId_actionPerformed(ActionEvent e)
2969 public void pdbFile_actionPerformed(ActionEvent e)
2974 public void invertColSel_actionPerformed(ActionEvent e)
2979 public void tabSelectionChanged(int sel)
2984 public void tabbedPane_mousePressed(MouseEvent e)
2989 public void tabbedPane_focusGained(FocusEvent e)
2994 public void save_actionPerformed(ActionEvent e)
2999 public void reload_actionPerformed(ActionEvent e)
3004 public void newView_actionPerformed(ActionEvent e)
3009 public void textColour_actionPerformed(ActionEvent e)
3014 public void idRightAlign_actionPerformed(ActionEvent e)
3019 public void expandViews_actionPerformed(ActionEvent e)
3024 public void gatherViews_actionPerformed(ActionEvent e)
3029 public void buildTreeMenu()
3034 public void pageSetup_actionPerformed(ActionEvent e)
3039 public void alignmentProperties()
3044 protected void expand_newalign(ActionEvent e)
3046 // TODO Auto-generated method stub
3050 protected boolean isShowAutoCalculatedAbove()
3052 return showAutoCalculatedAbove;
3055 protected void setShowAutoCalculatedAbove(boolean showAutoCalculatedAbove)
3057 this.showAutoCalculatedAbove = showAutoCalculatedAbove;
3060 protected SequenceAnnotationOrder getAnnotationSortOrder()
3062 return annotationSortOrder;
3065 protected void setAnnotationSortOrder(SequenceAnnotationOrder annotationSortOrder)
3067 this.annotationSortOrder = annotationSortOrder;
3070 public Map<KeyStroke, JMenuItem> getAccelerators()
3072 return this.accelerators;
3076 * Returns the selected index of the tabbed pane, or -1 if none selected
3077 * (including the case where the tabbed pane has not been made visible).
3081 public int getTabIndex()
3083 return tabbedPane.getSelectedIndex();
3086 public JPanel getStatusPanel()
3092 * Sets a reference to the containing split frame. Also makes the 'toggle
3093 * split view' menu item visible and checked.
3097 public void setSplitFrame(SplitContainerI sf)
3099 this.splitFrame = sf;
3102 this.showComplementMenuItem.setVisible(true);
3103 this.showComplementMenuItem.setState(true);
3107 public SplitContainerI getSplitViewContainer()
3109 return this.splitFrame;
3112 protected void showComplement_actionPerformed(boolean state)