X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGAlignFrame.java;h=6aaba84b7596d7424cf15feaec4c3b7326879715;hb=a1984b1c8c273ed33c7ce9283039f4027dcae2de;hp=088ddfa2c5362f62262e557e2aa6a3fee8a49365;hpb=b5699e7d9cc2045f623609948ee10a736256abc4;p=jalview.git diff --git a/src/jalview/jbgui/GAlignFrame.java b/src/jalview/jbgui/GAlignFrame.java index 088ddfa..6aaba84 100755 --- a/src/jalview/jbgui/GAlignFrame.java +++ b/src/jalview/jbgui/GAlignFrame.java @@ -21,23 +21,20 @@ package jalview.jbgui; import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder; +import jalview.analysis.GeneticCodeI; +import jalview.analysis.GeneticCodes; import jalview.api.SplitContainerI; import jalview.bin.Cache; -import jalview.gui.Desktop; -import jalview.gui.JvOptionPane; import jalview.gui.JvSwingUtils; import jalview.gui.Preferences; -import jalview.gui.UserDefinedColours; -import jalview.io.FileFormat; -import jalview.schemes.ColourSchemeProperty; -import jalview.schemes.UserColourScheme; +import jalview.io.FileFormats; +import jalview.schemes.ResidueColourScheme; import jalview.util.MessageManager; import jalview.util.Platform; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; -import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusAdapter; @@ -64,19 +61,18 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.MenuEvent; import javax.swing.event.MenuListener; +@SuppressWarnings("serial") public class GAlignFrame extends JInternalFrame { - protected static final String USER_DEFINED_COLOUR_SCHEME = "USER_DEFINED"; - protected JMenuBar alignFrameMenuBar = new JMenuBar(); protected JMenuItem closeMenuItem = new JMenuItem(); - protected JMenu colourMenu = new JMenu(); - - protected JMenu webService = new JMenu(); + public JMenu webService = new JMenu();// BH 2019 was protected, but not + // sufficient for AlignFrame thread run - protected JMenuItem webServiceNoServices; + public JMenuItem webServiceNoServices;// BH 2019 was protected, but not + // sufficient for AlignFrame thread run protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem(); @@ -84,44 +80,12 @@ public class GAlignFrame extends JInternalFrame protected JMenu sortByAnnotScore = new JMenu(); - public JLabel statusBar = new JLabel(); + public JLabel statusBar = new JLabel(); // BH 2019 was protected, but not + // sufficient for + // AlignFrame.printWriter protected JMenu outputTextboxMenu = new JMenu(); - protected JRadioButtonMenuItem textColour; - - protected JRadioButtonMenuItem clustalColour; - - protected JRadioButtonMenuItem zappoColour; - - protected JRadioButtonMenuItem taylorColour; - - protected JRadioButtonMenuItem hydrophobicityColour; - - protected JRadioButtonMenuItem helixColour; - - protected JRadioButtonMenuItem strandColour; - - protected JRadioButtonMenuItem turnColour; - - protected JRadioButtonMenuItem buriedColour; - - protected JRadioButtonMenuItem userDefinedColour; - - protected JRadioButtonMenuItem PIDColour; - - protected JRadioButtonMenuItem BLOSUM62Colour; - - protected JRadioButtonMenuItem nucleotideColour; - - protected JRadioButtonMenuItem purinePyrimidineColour; - - protected JRadioButtonMenuItem RNAInteractionColour; - - // protected JRadioButtonMenuItem covariationColour; - - protected JRadioButtonMenuItem tcoffeeColour; - protected JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem(); protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem(); @@ -132,16 +96,10 @@ public class GAlignFrame extends JInternalFrame protected JMenuItem redoMenuItem = new JMenuItem(); - protected JCheckBoxMenuItem conservationMenuItem; - - JRadioButtonMenuItem noColourmenuItem; - protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem(); protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem(); - protected JCheckBoxMenuItem abovePIDThreshold; - public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem(); JMenuItem copy = new JMenuItem(); @@ -150,8 +108,6 @@ public class GAlignFrame extends JInternalFrame JMenu pasteMenu = new JMenu(); - protected JCheckBoxMenuItem applyToAllGroups; - protected JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem(); protected JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem(); @@ -160,17 +116,27 @@ public class GAlignFrame extends JInternalFrame protected JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem(); - protected JMenuItem modifyPID; + protected JCheckBoxMenuItem applyToAllGroups; + + protected JMenu colourMenu = new JMenu(); + + protected JMenuItem textColour; + + protected JCheckBoxMenuItem conservationMenuItem; protected JMenuItem modifyConservation; - protected JMenuItem annotationColour; + protected JCheckBoxMenuItem abovePIDThreshold; + + protected JMenuItem modifyPID; + + protected JRadioButtonMenuItem annotationColour; protected JMenu sortByTreeMenu = new JMenu(); protected JMenu sort = new JMenu(); - protected JMenu calculateTree = new JMenu(); + protected JMenuItem calculateTree = new JMenuItem(); protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem(); @@ -178,9 +144,7 @@ public class GAlignFrame extends JInternalFrame protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem(); - protected ButtonGroup colours = new ButtonGroup(); - - protected JMenuItem showTranslation = new JMenuItem(); + protected JMenu showTranslation = new JMenu(); protected JMenuItem showReverse = new JMenuItem(); @@ -190,7 +154,7 @@ public class GAlignFrame extends JInternalFrame protected JMenuItem runGroovy = new JMenuItem(); - protected JMenuItem rnahelicesColour; + protected JMenuItem loadVcf; protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem(); @@ -240,11 +204,13 @@ public class GAlignFrame extends JInternalFrame protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem(); + protected JMenuItem openFeatureSettings; + private SequenceAnnotationOrder annotationSortOrder; private boolean showAutoCalculatedAbove = false; - private Map accelerators = new HashMap(); + private Map accelerators = new HashMap<>(); private SplitContainerI splitFrame; @@ -252,11 +218,15 @@ public class GAlignFrame extends JInternalFrame { try { + + // for Web-page embedding using id=align-frame-div + setName("jalview-alignment"); + jbInit(); setJMenuBar(alignFrameMenuBar); // dynamically fill save as menu with available formats - for (String ff : FileFormat.getWritableFormats(true)) + for (String ff : FileFormats.getInstance().getWritableFormats(true)) { JMenuItem item = new JMenuItem(ff); @@ -265,7 +235,7 @@ public class GAlignFrame extends JInternalFrame @Override public void actionPerformed(ActionEvent e) { - outputText_actionPerformed(e); + outputText_actionPerformed(e.getActionCommand()); } }); @@ -276,7 +246,7 @@ public class GAlignFrame extends JInternalFrame System.err.println(e.toString()); } - if (!Platform.isAMac()) + if (Platform.allowMnemonics()) // was "not mac and not JS" { closeMenuItem.setMnemonic('C'); outputTextboxMenu.setMnemonic('T'); @@ -287,205 +257,11 @@ public class GAlignFrame extends JInternalFrame pasteMenu.setMnemonic('P'); reload.setMnemonic('R'); } - - // Map userColourSchemes = UserDefinedColours - // .getUserColourSchemes(); - // if (userColourSchemes != null) - // { - // int insertionPoint = findUserDefinedColourPosition(); - // for (String userColour : userColourSchemes.keySet()) - // { - // final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem( - // userColour); - // radioItem.setName(USER_DEFINED_COLOUR_SCHEME); - // radioItem.addMouseListener(new MouseAdapter() - // { - // @Override - // public void mousePressed(MouseEvent evt) - // { - // if (evt.isPopupTrigger()) // Mac - // { - // offerRemoval(); - // } - // } - // - // @Override - // public void mouseReleased(MouseEvent evt) - // { - // if (evt.isPopupTrigger()) // Windows - // { - // offerRemoval(); - // } - // } - // - // void offerRemoval() - // { - // radioItem.removeActionListener(radioItem.getActionListeners()[0]); - // - // int option = JvOptionPane.showInternalConfirmDialog( - // Desktop.desktop, MessageManager - // .getString("label.remove_from_default_list"), - // MessageManager - // .getString("label.remove_user_defined_colour"), - // JvOptionPane.YES_NO_OPTION); - // if (option == JvOptionPane.YES_OPTION) - // { - // UserDefinedColours.removeColourFromDefaults(radioItem - // .getText()); - // colourMenu.remove(radioItem); - // } - // else - // { - // radioItem.addActionListener(new ActionListener() - // { - // @Override - // public void actionPerformed(ActionEvent evt) - // { - // userDefinedColour_actionPerformed(evt); - // } - // }); - // } - // } - // }); - // radioItem.addActionListener(new ActionListener() - // { - // @Override - // public void actionPerformed(ActionEvent evt) - // { - // userDefinedColour_actionPerformed(evt); - // } - // }); - // colourMenu.insert(radioItem, insertionPoint); - // insertionPoint++; - // colours.add(radioItem); - // } - // } - // - // /* - // * add colours to a ButtonGroup to make their - // * selection mutually exclusive - // */ - // colours.add(noColourmenuItem); - // colours.add(clustalColour); - // colours.add(zappoColour); - // colours.add(taylorColour); - // colours.add(hydrophobicityColour); - // colours.add(helixColour); - // colours.add(strandColour); - // colours.add(turnColour); - // colours.add(buriedColour); - // colours.add(userDefinedColour); - // colours.add(PIDColour); - // colours.add(BLOSUM62Colour); - // colours.add(nucleotideColour); - // colours.add(purinePyrimidineColour); - // // colours.add(covariationColour); - // colours.add(tcoffeeColour); - // colours.add(RNAInteractionColour); - // setColourSelected(Cache.getDefault(Preferences.DEFAULT_COLOUR, "None")); - } - - public void setColourSelected(String defaultColour) - { - - if (defaultColour != null) - { - int index = ColourSchemeProperty - .getColourIndexFromName(defaultColour); - - switch (index) - { - case ColourSchemeProperty.CLUSTAL: - clustalColour.setSelected(true); - - break; - - case ColourSchemeProperty.BLOSUM: - BLOSUM62Colour.setSelected(true); - - break; - - case ColourSchemeProperty.PID: - PIDColour.setSelected(true); - - break; - - case ColourSchemeProperty.ZAPPO: - zappoColour.setSelected(true); - - break; - - case ColourSchemeProperty.TAYLOR: - taylorColour.setSelected(true); - break; - - case ColourSchemeProperty.HYDROPHOBIC: - hydrophobicityColour.setSelected(true); - - break; - - case ColourSchemeProperty.HELIX: - helixColour.setSelected(true); - - break; - - case ColourSchemeProperty.STRAND: - strandColour.setSelected(true); - - break; - - case ColourSchemeProperty.TURN: - turnColour.setSelected(true); - - break; - - case ColourSchemeProperty.BURIED: - buriedColour.setSelected(true); - - break; - - case ColourSchemeProperty.NUCLEOTIDE: - nucleotideColour.setSelected(true); - - break; - - case ColourSchemeProperty.TCOFFEE: - tcoffeeColour.setSelected(true); - break; - - case ColourSchemeProperty.PURINEPYRIMIDINE: - purinePyrimidineColour.setSelected(true); - - break; - - case ColourSchemeProperty.RNAINTERACTION: - RNAInteractionColour.setSelected(true); - - break; - /* - * case ColourSchemeProperty.COVARIATION: - * covariationColour.setSelected(true); - * - * break; - */ - case ColourSchemeProperty.USER_DEFINED: - userDefinedColour.setSelected(true); - - break; - case ColourSchemeProperty.NONE: - default: - noColourmenuItem.setSelected(true); - break; - - } - } - } private void jbInit() throws Exception { initColourMenu(); - buildColourMenu(); JMenuItem saveAs = new JMenuItem( MessageManager.getString("action.save_as")); @@ -494,19 +270,20 @@ public class GAlignFrame extends JInternalFrame @Override public void actionPerformed(ActionEvent e) { - saveAs_actionPerformed(e); + saveAs_actionPerformed(); } }; // FIXME getDefaultToolkit throws an exception in Headless mode - KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask() - | KeyEvent.SHIFT_MASK, false); + KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx() + | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK, + false); addMenuActionAndAccelerator(keyStroke, saveAs, al); closeMenuItem.setText(MessageManager.getString("action.close")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -528,8 +305,8 @@ public class GAlignFrame extends JInternalFrame webService.setText(MessageManager.getString("action.web_service")); JMenuItem selectAllSequenceMenuItem = new JMenuItem( MessageManager.getString("action.select_all")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -555,8 +332,8 @@ public class GAlignFrame extends JInternalFrame JMenuItem invertSequenceMenuItem = new JMenuItem( MessageManager.getString("action.invert_sequence_selection")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -579,8 +356,8 @@ public class GAlignFrame extends JInternalFrame }); JMenuItem expandAlignment = new JMenuItem( MessageManager.getString("action.view_flanking_regions")); - expandAlignment.setToolTipText(MessageManager - .getString("label.view_flanking_regions")); + expandAlignment.setToolTipText( + MessageManager.getString("label.view_flanking_regions")); expandAlignment.addActionListener(new ActionListener() { @Override @@ -591,8 +368,8 @@ public class GAlignFrame extends JInternalFrame }); JMenuItem remove2LeftMenuItem = new JMenuItem( MessageManager.getString("action.remove_left")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -605,8 +382,8 @@ public class GAlignFrame extends JInternalFrame JMenuItem remove2RightMenuItem = new JMenuItem( MessageManager.getString("action.remove_right")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -619,8 +396,8 @@ public class GAlignFrame extends JInternalFrame JMenuItem removeGappedColumnMenuItem = new JMenuItem( MessageManager.getString("action.remove_empty_columns")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -633,9 +410,10 @@ public class GAlignFrame extends JInternalFrame JMenuItem removeAllGapsMenuItem = new JMenuItem( MessageManager.getString("action.remove_all_gaps")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask() - | KeyEvent.SHIFT_MASK, false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx() + | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK, + false); al = new ActionListener() { @Override @@ -686,8 +464,8 @@ public class GAlignFrame extends JInternalFrame viewTextMenuItem_actionPerformed(e); } }); - showNonconservedMenuItem.setText(MessageManager - .getString("label.show_non_conserved")); + showNonconservedMenuItem + .setText(MessageManager.getString("label.show_non_conserved")); showNonconservedMenuItem.setState(false); showNonconservedMenuItem.addActionListener(new ActionListener() { @@ -740,8 +518,8 @@ public class GAlignFrame extends JInternalFrame JMenuItem removeRedundancyMenuItem = new JMenuItem( MessageManager.getString("action.remove_redundancy")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -762,36 +540,6 @@ public class GAlignFrame extends JInternalFrame pairwiseAlignmentMenuItem_actionPerformed(e); } }); - JMenuItem PCAMenuItem = new JMenuItem( - MessageManager.getString("label.principal_component_analysis")); - PCAMenuItem.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - PCAMenuItem_actionPerformed(e); - } - }); - JMenuItem averageDistanceTreeMenuItem = new JMenuItem( - MessageManager.getString("label.average_distance_identity")); - averageDistanceTreeMenuItem.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - averageDistanceTreeMenuItem_actionPerformed(e); - } - }); - JMenuItem neighbourTreeMenuItem = new JMenuItem( - MessageManager.getString("label.neighbour_joining_identity")); - neighbourTreeMenuItem.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - neighbourTreeMenuItem_actionPerformed(e); - } - }); this.getContentPane().setLayout(new BorderLayout()); alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11)); @@ -799,35 +547,14 @@ public class GAlignFrame extends JInternalFrame statusBar.setFont(new java.awt.Font("Verdana", 0, 11)); statusBar.setBorder(BorderFactory.createLineBorder(Color.black)); statusBar.setText(MessageManager.getString("label.status_bar")); - outputTextboxMenu.setText(MessageManager - .getString("label.out_to_textbox")); - + outputTextboxMenu + .setText(MessageManager.getString("label.out_to_textbox")); - JMenuItem avDistanceTreeBlosumMenuItem = new JMenuItem( - MessageManager.getString("label.average_distance_bloslum62")); - avDistanceTreeBlosumMenuItem.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - avTreeBlosumMenuItem_actionPerformed(e); - } - }); - JMenuItem njTreeBlosumMenuItem = new JMenuItem( - MessageManager.getString("label.neighbour_blosum62")); - njTreeBlosumMenuItem.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - njTreeBlosumMenuItem_actionPerformed(e); - } - }); annotationPanelMenuItem.setActionCommand(""); - annotationPanelMenuItem.setText(MessageManager - .getString("label.show_annotations")); - annotationPanelMenuItem.setState(Cache.getDefault("SHOW_ANNOTATIONS", - true)); + annotationPanelMenuItem + .setText(MessageManager.getString("label.show_annotations")); + annotationPanelMenuItem + .setState(Cache.getDefault("SHOW_ANNOTATIONS", true)); annotationPanelMenuItem.addActionListener(new ActionListener() { @Override @@ -836,8 +563,8 @@ public class GAlignFrame extends JInternalFrame annotationPanelMenuItem_actionPerformed(e); } }); - showAllAlAnnotations.setText(MessageManager - .getString("label.show_all_al_annotations")); + showAllAlAnnotations.setText( + MessageManager.getString("label.show_all_al_annotations")); final boolean isAnnotationPanelShown = annotationPanelMenuItem .getState(); showAllAlAnnotations.setEnabled(isAnnotationPanelShown); @@ -849,8 +576,8 @@ public class GAlignFrame extends JInternalFrame showAllAnnotations_actionPerformed(false, true); } }); - hideAllAlAnnotations.setText(MessageManager - .getString("label.hide_all_al_annotations")); + hideAllAlAnnotations.setText( + MessageManager.getString("label.hide_all_al_annotations")); hideAllAlAnnotations.setEnabled(isAnnotationPanelShown); hideAllAlAnnotations.addActionListener(new ActionListener() { @@ -860,8 +587,8 @@ public class GAlignFrame extends JInternalFrame hideAllAnnotations_actionPerformed(false, true); } }); - showAllSeqAnnotations.setText(MessageManager - .getString("label.show_all_seq_annotations")); + showAllSeqAnnotations.setText( + MessageManager.getString("label.show_all_seq_annotations")); showAllSeqAnnotations.setEnabled(isAnnotationPanelShown); showAllSeqAnnotations.addActionListener(new ActionListener() { @@ -871,8 +598,8 @@ public class GAlignFrame extends JInternalFrame showAllAnnotations_actionPerformed(true, false); } }); - hideAllSeqAnnotations.setText(MessageManager - .getString("label.hide_all_seq_annotations")); + hideAllSeqAnnotations.setText( + MessageManager.getString("label.hide_all_seq_annotations")); hideAllSeqAnnotations.setEnabled(isAnnotationPanelShown); hideAllSeqAnnotations.addActionListener(new ActionListener() { @@ -890,8 +617,8 @@ public class GAlignFrame extends JInternalFrame final JCheckBoxMenuItem sortAnnByLabel = new JCheckBoxMenuItem( MessageManager.getString("label.sort_annotations_by_label")); - sortAnnBySequence - .setSelected(sortAnnotationsBy == SequenceAnnotationOrder.SEQUENCE_AND_LABEL); + sortAnnBySequence.setSelected( + sortAnnotationsBy == SequenceAnnotationOrder.SEQUENCE_AND_LABEL); sortAnnBySequence.addActionListener(new ActionListener() { @Override @@ -899,13 +626,14 @@ public class GAlignFrame extends JInternalFrame { boolean newState = sortAnnBySequence.getState(); sortAnnByLabel.setSelected(false); - setAnnotationSortOrder(newState ? SequenceAnnotationOrder.SEQUENCE_AND_LABEL - : SequenceAnnotationOrder.NONE); + setAnnotationSortOrder( + newState ? SequenceAnnotationOrder.SEQUENCE_AND_LABEL + : SequenceAnnotationOrder.NONE); sortAnnotations_actionPerformed(); } }); - sortAnnByLabel - .setSelected(sortAnnotationsBy == SequenceAnnotationOrder.LABEL_AND_SEQUENCE); + sortAnnByLabel.setSelected( + sortAnnotationsBy == SequenceAnnotationOrder.LABEL_AND_SEQUENCE); sortAnnByLabel.addActionListener(new ActionListener() { @Override @@ -913,14 +641,14 @@ public class GAlignFrame extends JInternalFrame { boolean newState = sortAnnByLabel.getState(); sortAnnBySequence.setSelected(false); - setAnnotationSortOrder(newState ? SequenceAnnotationOrder.LABEL_AND_SEQUENCE - : SequenceAnnotationOrder.NONE); + setAnnotationSortOrder( + newState ? SequenceAnnotationOrder.LABEL_AND_SEQUENCE + : SequenceAnnotationOrder.NONE); sortAnnotations_actionPerformed(); } }); colourTextMenuItem = new JCheckBoxMenuItem( - MessageManager - .getString("label.colour_text")); + MessageManager.getString("label.colour_text")); colourTextMenuItem.addActionListener(new ActionListener() { @Override @@ -965,8 +693,8 @@ public class GAlignFrame extends JInternalFrame undoMenuItem.setEnabled(false); undoMenuItem.setText(MessageManager.getString("action.undo")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -979,8 +707,8 @@ public class GAlignFrame extends JInternalFrame redoMenuItem.setEnabled(false); redoMenuItem.setText(MessageManager.getString("action.redo")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -1003,8 +731,8 @@ public class GAlignFrame extends JInternalFrame JMenuItem printMenuItem = new JMenuItem( MessageManager.getString("action.print")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -1029,8 +757,8 @@ public class GAlignFrame extends JInternalFrame JMenuItem findMenuItem = new JMenuItem( MessageManager.getString("action.find")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.getString("label.find_tip"))); al = new ActionListener() @@ -1043,8 +771,8 @@ public class GAlignFrame extends JInternalFrame }; addMenuActionAndAccelerator(keyStroke, findMenuItem, al); - showSeqFeatures.setText(MessageManager - .getString("label.show_sequence_features")); + showSeqFeatures.setText( + MessageManager.getString("label.show_sequence_features")); showSeqFeatures.addActionListener(new ActionListener() { @Override @@ -1059,8 +787,8 @@ public class GAlignFrame extends JInternalFrame * void actionPerformed(ActionEvent actionEvent) { * showSeqFeaturesHeight_actionPerformed(actionEvent); } }); */ - showDbRefsMenuitem.setText(MessageManager - .getString("label.show_database_refs")); + showDbRefsMenuitem + .setText(MessageManager.getString("label.show_database_refs")); showDbRefsMenuitem.addActionListener(new ActionListener() { @@ -1071,8 +799,8 @@ public class GAlignFrame extends JInternalFrame } }); - showNpFeatsMenuitem.setText(MessageManager - .getString("label.show_non_positional_features")); + showNpFeatsMenuitem.setText( + MessageManager.getString("label.show_non_positional_features")); showNpFeatsMenuitem.addActionListener(new ActionListener() { @@ -1083,8 +811,8 @@ public class GAlignFrame extends JInternalFrame } }); - showGroupConservation.setText(MessageManager - .getString("label.group_conservation")); + showGroupConservation + .setText(MessageManager.getString("label.group_conservation")); showGroupConservation.addActionListener(new ActionListener() { @@ -1096,8 +824,8 @@ public class GAlignFrame extends JInternalFrame }); - showGroupConsensus.setText(MessageManager - .getString("label.group_consensus")); + showGroupConsensus + .setText(MessageManager.getString("label.group_consensus")); showGroupConsensus.addActionListener(new ActionListener() { @@ -1108,8 +836,8 @@ public class GAlignFrame extends JInternalFrame } }); - showConsensusHistogram.setText(MessageManager - .getString("label.show_consensus_histogram")); + showConsensusHistogram.setText( + MessageManager.getString("label.show_consensus_histogram")); showConsensusHistogram.addActionListener(new ActionListener() { @@ -1120,8 +848,8 @@ public class GAlignFrame extends JInternalFrame } }); - showSequenceLogo.setText(MessageManager - .getString("label.show_consensus_logo")); + showSequenceLogo + .setText(MessageManager.getString("label.show_consensus_logo")); showSequenceLogo.addActionListener(new ActionListener() { @@ -1132,8 +860,8 @@ public class GAlignFrame extends JInternalFrame } }); - normaliseSequenceLogo.setText(MessageManager - .getString("label.norm_consensus_logo")); + normaliseSequenceLogo + .setText(MessageManager.getString("label.norm_consensus_logo")); normaliseSequenceLogo.addActionListener(new ActionListener() { @@ -1144,8 +872,8 @@ public class GAlignFrame extends JInternalFrame } }); - applyAutoAnnotationSettings.setText(MessageManager - .getString("label.apply_all_groups")); + applyAutoAnnotationSettings + .setText(MessageManager.getString("label.apply_all_groups")); applyAutoAnnotationSettings.setState(false); applyAutoAnnotationSettings.setVisible(true); applyAutoAnnotationSettings.addActionListener(new ActionListener() @@ -1164,8 +892,8 @@ public class GAlignFrame extends JInternalFrame MessageManager.getString("label.show_last")); buttonGroup.add(showAutoFirst); buttonGroup.add(showAutoLast); - final boolean autoFirst = Cache.getDefault( - Preferences.SHOW_AUTOCALC_ABOVE, false); + final boolean autoFirst = Cache + .getDefault(Preferences.SHOW_AUTOCALC_ABOVE, false); showAutoFirst.setSelected(autoFirst); setShowAutoCalculatedAbove(autoFirst); showAutoFirst.addActionListener(new ActionListener() @@ -1190,8 +918,8 @@ public class GAlignFrame extends JInternalFrame JMenuItem deleteGroups = new JMenuItem( MessageManager.getString("action.undefine_groups")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -1214,9 +942,9 @@ public class GAlignFrame extends JInternalFrame }); JMenuItem createGroup = new JMenuItem( - MessageManager.getString("action.create_groups")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + MessageManager.getString("action.create_group")); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -1229,9 +957,10 @@ public class GAlignFrame extends JInternalFrame JMenuItem unGroup = new JMenuItem( MessageManager.getString("action.remove_group")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask() - | KeyEvent.SHIFT_MASK, false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx() + | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK, + false); al = new ActionListener() { @Override @@ -1243,28 +972,28 @@ public class GAlignFrame extends JInternalFrame addMenuActionAndAccelerator(keyStroke, unGroup, al); copy.setText(MessageManager.getString("action.copy")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - copy_actionPerformed(e); + copy_actionPerformed(); } }; addMenuActionAndAccelerator(keyStroke, copy, al); cut.setText(MessageManager.getString("action.cut")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - cut_actionPerformed(e); + cut_actionPerformed(); } }; addMenuActionAndAccelerator(keyStroke, cut, al); @@ -1276,16 +1005,17 @@ public class GAlignFrame extends JInternalFrame @Override public void actionPerformed(ActionEvent e) { - delete_actionPerformed(e); + delete_actionPerformed(); } }); pasteMenu.setText(MessageManager.getString("action.paste")); JMenuItem pasteNew = new JMenuItem( MessageManager.getString("label.to_new_alignment")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask() - | KeyEvent.SHIFT_MASK, false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx() + | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK, + false); al = new ActionListener() { @Override @@ -1298,8 +1028,8 @@ public class GAlignFrame extends JInternalFrame JMenuItem pasteThis = new JMenuItem( MessageManager.getString("label.to_this_alignment")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -1319,8 +1049,8 @@ public class GAlignFrame extends JInternalFrame createPNG(null); } }); - createPNG.setActionCommand(MessageManager - .getString("label.save_png_image")); + createPNG.setActionCommand( + MessageManager.getString("label.save_png_image")); JMenuItem font = new JMenuItem(MessageManager.getString("action.font")); font.addActionListener(new ActionListener() @@ -1331,9 +1061,9 @@ public class GAlignFrame extends JInternalFrame font_actionPerformed(e); } }); - seqLimits.setText(MessageManager - .getString("label.show_sequence_limits")); - seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true)); + seqLimits.setText( + MessageManager.getString("label.show_sequence_limits")); + seqLimits.setState(Cache.getDefault("SHOW_JVSUFFIX", true)); seqLimits.addActionListener(new ActionListener() { @Override @@ -1364,8 +1094,8 @@ public class GAlignFrame extends JInternalFrame JMenuItem loadTreeMenuItem = new JMenuItem( MessageManager.getString("label.load_associated_tree")); - loadTreeMenuItem.setActionCommand(MessageManager - .getString("label.load_tree_for_sequence_set")); + loadTreeMenuItem.setActionCommand( + MessageManager.getString("label.load_tree_for_sequence_set")); loadTreeMenuItem.addActionListener(new ActionListener() { @Override @@ -1409,8 +1139,8 @@ public class GAlignFrame extends JInternalFrame }); centreColumnLabelsMenuItem.setVisible(true); centreColumnLabelsMenuItem.setState(false); - centreColumnLabelsMenuItem.setText(MessageManager - .getString("label.centre_column_labels")); + centreColumnLabelsMenuItem.setText( + MessageManager.getString("label.centre_column_labels")); centreColumnLabelsMenuItem.addActionListener(new ActionListener() { @Override @@ -1421,8 +1151,8 @@ public class GAlignFrame extends JInternalFrame }); followHighlightMenuItem.setVisible(true); followHighlightMenuItem.setState(true); - followHighlightMenuItem.setText(MessageManager - .getString("label.automatic_scrolling")); + followHighlightMenuItem + .setText(MessageManager.getString("label.automatic_scrolling")); followHighlightMenuItem.addActionListener(new ActionListener() { @@ -1442,7 +1172,7 @@ public class GAlignFrame extends JInternalFrame @Override public void menuSelected(MenuEvent e) { - buildTreeMenu(); + buildTreeSortMenu(); } @Override @@ -1455,8 +1185,8 @@ public class GAlignFrame extends JInternalFrame { } }); - sortByAnnotScore.setText(MessageManager - .getString("label.sort_by_score")); + sortByAnnotScore + .setText(MessageManager.getString("label.sort_by_score")); sort.add(sortByAnnotScore); sort.addMenuListener(new javax.swing.event.MenuListener() { @@ -1480,11 +1210,11 @@ public class GAlignFrame extends JInternalFrame sortByAnnotScore.setVisible(false); calculateTree - .setText(MessageManager.getString("action.calculate_tree")); + .setText(MessageManager.getString("action.calculate_tree_pca")); padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps")); - padGapsMenuitem.setState(jalview.bin.Cache - .getDefault("PAD_GAPS", false)); + padGapsMenuitem + .setState(Cache.getDefault("PAD_GAPS", false)); padGapsMenuitem.addActionListener(new ActionListener() { @Override @@ -1504,16 +1234,33 @@ public class GAlignFrame extends JInternalFrame vamsasStore_actionPerformed(e); } }); - showTranslation.setText(MessageManager - .getString("label.translate_cDNA")); - showTranslation.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) + + /* + * Translate as cDNA with sub-menu of translation tables + */ + showTranslation + .setText(MessageManager.getString("label.translate_cDNA")); + boolean first = true; + for (final GeneticCodeI table : GeneticCodes.getInstance() + .getCodeTables()) + { + JMenuItem item = new JMenuItem(table.getId() + " " + table.getName()); + showTranslation.add(item); + item.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + showTranslation_actionPerformed(table); + } + }); + if (first) { - showTranslation_actionPerformed(e); + showTranslation.addSeparator(); } - }); + first = false; + } + showReverse.setText(MessageManager.getString("label.reverse")); showReverse.addActionListener(new ActionListener() { @@ -1523,8 +1270,8 @@ public class GAlignFrame extends JInternalFrame showReverse_actionPerformed(false); } }); - showReverseComplement.setText(MessageManager - .getString("label.reverse_complement")); + showReverseComplement + .setText(MessageManager.getString("label.reverse_complement")); showReverseComplement.addActionListener(new ActionListener() { @Override @@ -1551,8 +1298,8 @@ public class GAlignFrame extends JInternalFrame showProducts.setText(MessageManager.getString("label.get_cross_refs")); runGroovy.setText(MessageManager.getString("label.run_groovy")); - runGroovy.setToolTipText(MessageManager - .getString("label.run_groovy_tip")); + runGroovy.setToolTipText( + MessageManager.getString("label.run_groovy_tip")); runGroovy.addActionListener(new ActionListener() { @Override @@ -1562,7 +1309,7 @@ public class GAlignFrame extends JInternalFrame } }); - JMenuItem openFeatureSettings = new JMenuItem( + openFeatureSettings = new JMenuItem( MessageManager.getString("action.feature_settings")); openFeatureSettings.addActionListener(new ActionListener() { @@ -1572,6 +1319,10 @@ public class GAlignFrame extends JInternalFrame featureSettings_actionPerformed(e); } }); + + /* + * add sub-menu of database we can fetch from + */ JMenuItem fetchSequence = new JMenuItem( MessageManager.getString("label.fetch_sequences")); fetchSequence.addActionListener(new ActionListener() @@ -1579,7 +1330,7 @@ public class GAlignFrame extends JInternalFrame @Override public void actionPerformed(ActionEvent e) { - fetchSequence_actionPerformed(e); + fetchSequence_actionPerformed(); } }); @@ -1593,10 +1344,21 @@ public class GAlignFrame extends JInternalFrame associatedData_actionPerformed(e); } }); - autoCalculate.setText(MessageManager - .getString("label.autocalculate_consensus")); - autoCalculate.setState(jalview.bin.Cache.getDefault( - "AUTO_CALC_CONSENSUS", true)); + loadVcf = new JMenuItem( + MessageManager.getString("label.load_vcf_file")); + loadVcf.setToolTipText(MessageManager.getString("label.load_vcf")); + loadVcf.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + loadVcf_actionPerformed(); + } + }); + autoCalculate.setText( + MessageManager.getString("label.autocalculate_consensus")); + autoCalculate.setState( + Cache.getDefault("AUTO_CALC_CONSENSUS", true)); autoCalculate.addActionListener(new ActionListener() { @Override @@ -1605,14 +1367,12 @@ public class GAlignFrame extends JInternalFrame autoCalculate_actionPerformed(e); } }); - sortByTree.setText(MessageManager - .getString("label.sort_alignment_new_tree")); - sortByTree - .setToolTipText("" - + MessageManager - .getString("label.enable_automatically_sort_alignment_when_open_new_tree")); + sortByTree.setText( + MessageManager.getString("label.sort_alignment_new_tree")); + sortByTree.setToolTipText("" + MessageManager.getString( + "label.enable_automatically_sort_alignment_when_open_new_tree")); sortByTree - .setState(jalview.bin.Cache.getDefault("SORT_BY_TREE", false)); + .setState(Cache.getDefault("SORT_BY_TREE", false)); sortByTree.addActionListener(new ActionListener() { @Override @@ -1622,12 +1382,11 @@ public class GAlignFrame extends JInternalFrame } }); - listenToViewSelections.setText(MessageManager - .getString("label.listen_for_selections")); + listenToViewSelections.setText( + MessageManager.getString("label.listen_for_selections")); listenToViewSelections - .setToolTipText("" - + MessageManager - .getString("label.selections_mirror_selections_made_same_sequences_other_views")); + .setToolTipText("" + MessageManager.getString( + "label.selections_mirror_selections_made_same_sequences_other_views")); listenToViewSelections.setState(false); listenToViewSelections.addActionListener(new ActionListener() { @@ -1693,8 +1452,8 @@ public class GAlignFrame extends JInternalFrame statusPanel.setLayout(new GridLayout()); JMenuItem showAllSeqs = new JMenuItem( MessageManager.getString("label.all_sequences")); - showAllSeqs.setToolTipText(MessageManager - .getString("label.toggle_sequence_visibility")); + showAllSeqs.setToolTipText( + MessageManager.getString("label.toggle_sequence_visibility")); showAllSeqs.addActionListener(new ActionListener() { @Override @@ -1705,8 +1464,8 @@ public class GAlignFrame extends JInternalFrame }); JMenuItem showAllColumns = new JMenuItem( MessageManager.getString("label.all_columns")); - showAllColumns.setToolTipText(MessageManager - .getString("label.toggle_columns_visibility")); + showAllColumns.setToolTipText( + MessageManager.getString("label.toggle_columns_visibility")); showAllColumns.addActionListener(new ActionListener() { @Override @@ -1718,8 +1477,8 @@ public class GAlignFrame extends JInternalFrame JMenu hideMenu = new JMenu(MessageManager.getString("action.hide")); JMenuItem hideSelSequences = new JMenuItem( MessageManager.getString("label.selected_sequences")); - hideSelSequences.setToolTipText(MessageManager - .getString("label.toggle_sequence_visibility")); + hideSelSequences.setToolTipText( + MessageManager.getString("label.toggle_sequence_visibility")); hideSelSequences.addActionListener(new ActionListener() { @Override @@ -1730,8 +1489,8 @@ public class GAlignFrame extends JInternalFrame }); JMenuItem hideSelColumns = new JMenuItem( MessageManager.getString("label.selected_columns")); - hideSelColumns.setToolTipText(MessageManager - .getString("label.toggle_columns_visibility")); + hideSelColumns.setToolTipText( + MessageManager.getString("label.toggle_columns_visibility")); hideSelColumns.addActionListener(new ActionListener() { @Override @@ -1773,8 +1532,8 @@ public class GAlignFrame extends JInternalFrame showAllhidden_actionPerformed(e); } }); - hiddenMarkers.setText(MessageManager - .getString("action.show_hidden_markers")); + hiddenMarkers.setText( + MessageManager.getString("action.show_hidden_markers")); hiddenMarkers.addActionListener(new ActionListener() { @Override @@ -1786,9 +1545,10 @@ public class GAlignFrame extends JInternalFrame JMenuItem invertColSel = new JMenuItem( MessageManager.getString("action.invert_column_selection")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask() - | KeyEvent.ALT_MASK, false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx() + | jalview.util.ShortcutKeyMaskExWrapper.ALT_DOWN_MASK, + false); al = new ActionListener() { @Override @@ -1849,8 +1609,8 @@ public class GAlignFrame extends JInternalFrame }); JMenuItem save = new JMenuItem(MessageManager.getString("action.save")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -1874,8 +1634,8 @@ public class GAlignFrame extends JInternalFrame JMenuItem newView = new JMenuItem( MessageManager.getString("action.new_view")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false); al = new ActionListener() { @Override @@ -1892,8 +1652,9 @@ public class GAlignFrame extends JInternalFrame formatMenu.setText(MessageManager.getString("action.format")); JMenu selectMenu = new JMenu(MessageManager.getString("action.select")); - idRightAlign.setText(MessageManager - .getString("label.right_align_sequence_id")); + + idRightAlign.setText( + MessageManager.getString("label.right_align_sequence_id")); idRightAlign.addActionListener(new ActionListener() { @Override @@ -1951,8 +1712,8 @@ public class GAlignFrame extends JInternalFrame }); JMenuItem selectHighlighted = new JMenuItem( MessageManager.getString("action.select_highlighted_columns")); - selectHighlighted.setToolTipText(MessageManager - .getString("tooltip.select_highlighted_columns")); + selectHighlighted.setToolTipText( + MessageManager.getString("tooltip.select_highlighted_columns")); al = new ActionListener() { @Override @@ -1978,7 +1739,10 @@ public class GAlignFrame extends JInternalFrame alignFrameMenuBar.add(formatMenu); alignFrameMenuBar.add(colourMenu); alignFrameMenuBar.add(calculateMenu); - alignFrameMenuBar.add(webService); + if (!Platform.isJS()) + { + alignFrameMenuBar.add(webService); + } fileMenu.add(fetchSequence); fileMenu.add(addSequenceMenu); @@ -1996,6 +1760,10 @@ public class GAlignFrame extends JInternalFrame fileMenu.add(exportAnnotations); fileMenu.add(loadTreeMenuItem); fileMenu.add(associatedData); + if (!Platform.isJS()) + { + fileMenu.add(loadVcf); + } fileMenu.addSeparator(); fileMenu.add(closeMenuItem); @@ -2071,7 +1839,6 @@ public class GAlignFrame extends JInternalFrame autoAnnMenu.add(showGroupConsensus); annotationsMenu.add(autoAnnMenu); - sort.add(sortIDMenuItem); sort.add(sortLengthMenuItem); sort.add(sortGroupMenuItem); @@ -2081,7 +1848,6 @@ public class GAlignFrame extends JInternalFrame calculateMenu.add(calculateTree); calculateMenu.addSeparator(); calculateMenu.add(pairwiseAlignmentMenuItem); - calculateMenu.add(PCAMenuItem); calculateMenu.addSeparator(); calculateMenu.add(showTranslation); calculateMenu.add(showReverse); @@ -2092,17 +1858,26 @@ public class GAlignFrame extends JInternalFrame calculateMenu.addSeparator(); calculateMenu.add(expandAlignment); calculateMenu.add(extractScores); - calculateMenu.addSeparator(); - calculateMenu.add(runGroovy); + if (!Platform.isJS()) + { + calculateMenu.addSeparator(); + calculateMenu.add(runGroovy); + } webServiceNoServices = new JMenuItem( MessageManager.getString("label.no_services")); webService.add(webServiceNoServices); - exportImageMenu.add(htmlMenuItem); + if (!Platform.isJS()) + { + exportImageMenu.add(htmlMenuItem); + } exportImageMenu.add(epsFile); exportImageMenu.add(createPNG); - exportImageMenu.add(createBioJS); - exportImageMenu.add(createSVG); + if (!Platform.isJS()) + { + exportImageMenu.add(createBioJS); + exportImageMenu.add(createSVG); + } addSequenceMenu.add(addFromFile); addSequenceMenu.add(addFromText); addSequenceMenu.add(addFromURL); @@ -2143,146 +1918,13 @@ public class GAlignFrame extends JInternalFrame // selectMenu.add(listenToViewSelections); } - /** - * Rebuilds the Colour menu, including any user-defined colours which have - * been loaded either on startup or during the session - */ - public void buildColourMenu() - { - colourMenu.removeAll(); - colours = new ButtonGroup(); - - colourMenu.add(applyToAllGroups); - colourMenu.add(textColour); - colourMenu.addSeparator(); - colourMenu.add(noColourmenuItem); - colourMenu.add(clustalColour); - colourMenu.add(BLOSUM62Colour); - colourMenu.add(PIDColour); - colourMenu.add(zappoColour); - colourMenu.add(taylorColour); - colourMenu.add(hydrophobicityColour); - colourMenu.add(helixColour); - colourMenu.add(strandColour); - colourMenu.add(turnColour); - colourMenu.add(buriedColour); - colourMenu.add(nucleotideColour); - colourMenu.add(purinePyrimidineColour); - // colourMenu.add(RNAInteractionColour); - // colourMenu.add(covariationColour); - colourMenu.add(tcoffeeColour); - - /* - * add any user-defined colours - */ - Map userColourSchemes = UserDefinedColours - .getUserColourSchemes(); - if (userColourSchemes != null) - { - for (String userColour : userColourSchemes.keySet()) - { - final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem( - userColour); - radioItem.setName(USER_DEFINED_COLOUR_SCHEME); - radioItem.addMouseListener(new MouseAdapter() - { - @Override - public void mousePressed(MouseEvent evt) - { - if (evt.isPopupTrigger()) // Mac - { - offerRemoval(); - } - } - - @Override - public void mouseReleased(MouseEvent evt) - { - if (evt.isPopupTrigger()) // Windows - { - offerRemoval(); - } - } - - void offerRemoval() - { - radioItem.removeActionListener(radioItem.getActionListeners()[0]); - - int option = JvOptionPane.showInternalConfirmDialog( - Desktop.desktop, MessageManager - .getString("label.remove_from_default_list"), - MessageManager - .getString("label.remove_user_defined_colour"), - JvOptionPane.YES_NO_OPTION); - if (option == JvOptionPane.YES_OPTION) - { - UserDefinedColours.removeColourFromDefaults(radioItem - .getText()); - colourMenu.remove(radioItem); - } - else - { - radioItem.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent evt) - { - userDefinedColour_actionPerformed(evt); - } - }); - } - } - }); - radioItem.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent evt) - { - userDefinedColour_actionPerformed(evt); - } - }); - colourMenu.add(radioItem); - colours.add(radioItem); - } - } - - colourMenu.add(userDefinedColour); - colourMenu.addSeparator(); - colourMenu.add(conservationMenuItem); - colourMenu.add(modifyConservation); - colourMenu.add(abovePIDThreshold); - colourMenu.add(modifyPID); - colourMenu.add(annotationColour); - colourMenu.add(rnahelicesColour); - - /* - * add colours to a ButtonGroup to make their - * selection mutually exclusive - */ - colours.add(noColourmenuItem); - colours.add(clustalColour); - colours.add(zappoColour); - colours.add(taylorColour); - colours.add(hydrophobicityColour); - colours.add(helixColour); - colours.add(strandColour); - colours.add(turnColour); - colours.add(buriedColour); - colours.add(userDefinedColour); - colours.add(PIDColour); - colours.add(BLOSUM62Colour); - colours.add(nucleotideColour); - colours.add(purinePyrimidineColour); - // colours.add(covariationColour); - colours.add(tcoffeeColour); - colours.add(RNAInteractionColour); - setColourSelected(Cache.getDefault(Preferences.DEFAULT_COLOUR, "None")); - + protected void loadVcf_actionPerformed() + { } /** * Constructs the entries on the Colour menu (but does not add them to the - * menu) + * menu). */ protected void initColourMenu() { @@ -2293,12 +1935,12 @@ public class GAlignFrame extends JInternalFrame @Override public void actionPerformed(ActionEvent e) { - applyToAllGroups_actionPerformed(); + applyToAllGroups_actionPerformed(applyToAllGroups.isSelected()); } }); - textColour = new JRadioButtonMenuItem( - MessageManager.getString("action.set_text_colour")); + textColour = new JMenuItem( + MessageManager.getString("label.text_colour")); textColour.addActionListener(new ActionListener() { @Override @@ -2307,168 +1949,6 @@ public class GAlignFrame extends JInternalFrame textColour_actionPerformed(); } }); - clustalColour = new JRadioButtonMenuItem( - MessageManager.getString("label.clustalx")); - clustalColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - clustalColour_actionPerformed(); - } - }); - zappoColour = new JRadioButtonMenuItem( - MessageManager.getString("label.zappo")); - zappoColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - zappoColour_actionPerformed(); - } - }); - taylorColour = new JRadioButtonMenuItem( - MessageManager.getString("label.taylor")); - taylorColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - taylorColour_actionPerformed(); - } - }); - hydrophobicityColour = new JRadioButtonMenuItem( - MessageManager - .getString("label.hydrophobicity")); - hydrophobicityColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - hydrophobicityColour_actionPerformed(); - } - }); - helixColour = new JRadioButtonMenuItem( - MessageManager.getString("label.helix_propensity")); - helixColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - helixColour_actionPerformed(); - } - }); - strandColour = new JRadioButtonMenuItem( - MessageManager - .getString("label.strand_propensity")); - strandColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - strandColour_actionPerformed(); - } - }); - turnColour = new JRadioButtonMenuItem( - MessageManager.getString("label.turn_propensity")); - turnColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - turnColour_actionPerformed(); - } - }); - buriedColour = new JRadioButtonMenuItem( - MessageManager.getString("label.buried_index")); - buriedColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - buriedColour_actionPerformed(); - } - }); - userDefinedColour = new JRadioButtonMenuItem( - MessageManager - .getString("action.user_defined")); - userDefinedColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - userDefinedColour_actionPerformed(e); - } - }); - PIDColour = new JRadioButtonMenuItem( - MessageManager.getString("label.percentage_identity")); - PIDColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - PIDColour_actionPerformed(); - } - }); - BLOSUM62Colour = new JRadioButtonMenuItem( - MessageManager.getString("label.blosum62_score")); - BLOSUM62Colour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - BLOSUM62Colour_actionPerformed(); - } - }); - nucleotideColour = new JRadioButtonMenuItem( - MessageManager.getString("label.nucleotide")); - nucleotideColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - nucleotideColour_actionPerformed(); - } - }); - purinePyrimidineColour = new JRadioButtonMenuItem( - MessageManager.getString("label.purine_pyrimidine")); - purinePyrimidineColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - purinePyrimidineColour_actionPerformed(); - } - }); - - tcoffeeColour = new JRadioButtonMenuItem( - MessageManager.getString("label.tcoffee_scores")); - tcoffeeColour.setEnabled(false); - tcoffeeColour.addActionListener(new ActionListener() - { - - @Override - public void actionPerformed(ActionEvent e) - { - tcoffeeColorScheme_actionPerformed(); - } - }); - - RNAInteractionColour = new JRadioButtonMenuItem("RNA Interaction type"); - RNAInteractionColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - RNAInteractionColour_actionPerformed(); - } - }); - /* - * covariationColour = new JRadioButtonMenuItem("Covariation"); - * covariationColour.addActionListener(new ActionListener() { public void - * actionPerformed(ActionEvent e) { covariationColour_actionPerformed(); } - * }); - */ conservationMenuItem = new JCheckBoxMenuItem( MessageManager.getString("action.by_conservation")); @@ -2477,17 +1957,8 @@ public class GAlignFrame extends JInternalFrame @Override public void actionPerformed(ActionEvent e) { - conservationMenuItem_actionPerformed(); - } - }); - noColourmenuItem = new JRadioButtonMenuItem( - MessageManager.getString("label.none")); - noColourmenuItem.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - noColourmenuItem_actionPerformed(); + conservationMenuItem_actionPerformed( + conservationMenuItem.isSelected()); } }); @@ -2498,7 +1969,7 @@ public class GAlignFrame extends JInternalFrame @Override public void actionPerformed(ActionEvent e) { - abovePIDThreshold_actionPerformed(); + abovePIDThreshold_actionPerformed(abovePIDThreshold.isSelected()); } }); modifyPID = new JMenuItem( @@ -2511,8 +1982,7 @@ public class GAlignFrame extends JInternalFrame modifyPID_actionPerformed(); } }); - modifyConservation = new JMenuItem( - MessageManager + modifyConservation = new JMenuItem(MessageManager .getString("label.modify_conservation_threshold")); modifyConservation.addActionListener(new ActionListener() { @@ -2523,8 +1993,9 @@ public class GAlignFrame extends JInternalFrame } }); - annotationColour = new JMenuItem( + annotationColour = new JRadioButtonMenuItem( MessageManager.getString("action.by_annotation")); + annotationColour.setName(ResidueColourScheme.ANNOTATION_COLOUR); annotationColour.addActionListener(new ActionListener() { @Override @@ -2533,17 +2004,6 @@ public class GAlignFrame extends JInternalFrame annotationColour_actionPerformed(); } }); - - rnahelicesColour = new JMenuItem( - MessageManager.getString("action.by_rna_helixes")); - rnahelicesColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - rnahelicesColour_actionPerformed(); - } - }); } protected void selectHighlightedColumns_actionPerformed( @@ -2755,7 +2215,7 @@ public class GAlignFrame extends JInternalFrame { } - protected void outputText_actionPerformed(ActionEvent e) + protected void outputText_actionPerformed(String formatName) { } @@ -2881,87 +2341,11 @@ public class GAlignFrame extends JInternalFrame { } - protected void PCAMenuItem_actionPerformed(ActionEvent e) - { - } - - protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e) - { - } - protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e) { } - protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e) - { - } - - protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e) - { - } - - protected void clustalColour_actionPerformed() - { - } - - protected void zappoColour_actionPerformed() - { - } - - protected void taylorColour_actionPerformed() - { - } - - protected void hydrophobicityColour_actionPerformed() - { - } - - protected void helixColour_actionPerformed() - { - } - - protected void strandColour_actionPerformed() - { - } - - protected void turnColour_actionPerformed() - { - } - - protected void buriedColour_actionPerformed() - { - } - - protected void userDefinedColour_actionPerformed(ActionEvent e) - { - } - - protected void PIDColour_actionPerformed() - { - } - - protected void BLOSUM62Colour_actionPerformed() - { - } - - protected void purinePyrimidineColour_actionPerformed() - { - } - - protected void RNAInteractionColour_actionPerformed() - { - } - - /* - * protected void covariationColour_actionPerformed() { } - */ - - protected void noColourmenuItem_actionPerformed() - { - } - - protected void conservationMenuItem_actionPerformed() + protected void conservationMenuItem_actionPerformed(boolean selected) { } @@ -2977,7 +2361,7 @@ public class GAlignFrame extends JInternalFrame { } - protected void abovePIDThreshold_actionPerformed() + protected void abovePIDThreshold_actionPerformed(boolean selected) { } @@ -2985,10 +2369,6 @@ public class GAlignFrame extends JInternalFrame { } - protected void nucleotideColour_actionPerformed() - { - } - protected void deleteGroups_actionPerformed(ActionEvent e) { } @@ -3001,15 +2381,15 @@ public class GAlignFrame extends JInternalFrame { } - protected void copy_actionPerformed(ActionEvent e) + protected void copy_actionPerformed() { } - protected void cut_actionPerformed(ActionEvent e) + protected void cut_actionPerformed() { } - protected void delete_actionPerformed(ActionEvent e) + protected void delete_actionPerformed() { } @@ -3021,7 +2401,7 @@ public class GAlignFrame extends JInternalFrame { } - protected void applyToAllGroups_actionPerformed() + protected void applyToAllGroups_actionPerformed(boolean selected) { } @@ -3069,16 +2449,6 @@ public class GAlignFrame extends JInternalFrame } - /** - * Template method to handle the 'Color T-Coffee scores' menu event. - *

- * Subclasses override this method to provide a custom action. - */ - protected void tcoffeeColorScheme_actionPerformed() - { - - } - protected void jpred_actionPerformed(ActionEvent e) { } @@ -3103,7 +2473,7 @@ public class GAlignFrame extends JInternalFrame { } - protected void saveAs_actionPerformed(ActionEvent e) + protected void saveAs_actionPerformed() { } @@ -3121,7 +2491,7 @@ public class GAlignFrame extends JInternalFrame } - public void showTranslation_actionPerformed(ActionEvent e) + public void showTranslation_actionPerformed(GeneticCodeI codeTable) { } @@ -3131,7 +2501,7 @@ public class GAlignFrame extends JInternalFrame } - public void fetchSequence_actionPerformed(ActionEvent e) + public void fetchSequence_actionPerformed() { } @@ -3149,11 +2519,6 @@ public class GAlignFrame extends JInternalFrame { } - public void rnahelicesColour_actionPerformed() - { - - } - public void associatedData_actionPerformed(ActionEvent e) { @@ -3264,7 +2629,7 @@ public class GAlignFrame extends JInternalFrame } - public void buildTreeMenu() + public void buildTreeSortMenu() { }