X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGAlignFrame.java;h=5b886b63885858710475e59ec89d73f9f913ac0c;hb=0788111a588187a04dd0d254d70b055274cf2c9d;hp=65c6a5b9befd7e51167093e067f8a696390ebce3;hpb=14ec98716bf86e13337e30eeaa8355b2284a6e4c;p=jalview.git diff --git a/src/jalview/jbgui/GAlignFrame.java b/src/jalview/jbgui/GAlignFrame.java index 65c6a5b..5b886b6 100755 --- a/src/jalview/jbgui/GAlignFrame.java +++ b/src/jalview/jbgui/GAlignFrame.java @@ -20,22 +20,9 @@ */ 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.JvSwingUtils; -import jalview.gui.Preferences; -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; @@ -62,6 +49,18 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.MenuEvent; import javax.swing.event.MenuListener; +import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder; +import jalview.analysis.GeneticCodeI; +import jalview.analysis.GeneticCodes; +import jalview.api.SplitContainerI; +import jalview.bin.Cache; +import jalview.gui.JvSwingUtils; +import jalview.gui.Preferences; +import jalview.io.FileFormats; +import jalview.schemes.ResidueColourScheme; +import jalview.util.MessageManager; +import jalview.util.Platform; + @SuppressWarnings("serial") public class GAlignFrame extends JInternalFrame { @@ -105,6 +104,8 @@ public class GAlignFrame extends JInternalFrame JMenuItem copy = new JMenuItem(); + JMenuItem copyHighlighted = new JMenuItem(); + JMenuItem cut = new JMenuItem(); JMenu pasteMenu = new JMenu(); @@ -177,8 +178,7 @@ public class GAlignFrame extends JInternalFrame protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem(); - protected JTabbedPane tabbedPane = jalview.jbgui.GDesktop - .createTabbedPane(); + protected JTabbedPane tabbedPane = new JTabbedPane(); protected JMenuItem reload = new JMenuItem(); @@ -278,14 +278,16 @@ public class GAlignFrame extends JInternalFrame // FIXME getDefaultToolkit throws an exception in Headless mode KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() - | KeyEvent.SHIFT_MASK, + 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); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -308,7 +310,9 @@ public class GAlignFrame extends JInternalFrame JMenuItem selectAllSequenceMenuItem = new JMenuItem( MessageManager.getString("action.select_all")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -335,7 +339,9 @@ 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); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -371,7 +377,9 @@ public class GAlignFrame extends JInternalFrame JMenuItem remove2LeftMenuItem = new JMenuItem( MessageManager.getString("action.remove_left")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -385,7 +393,9 @@ public class GAlignFrame extends JInternalFrame JMenuItem remove2RightMenuItem = new JMenuItem( MessageManager.getString("action.remove_right")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -399,7 +409,9 @@ 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); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -413,8 +425,8 @@ 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, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx() + | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK, false); al = new ActionListener() { @@ -521,7 +533,9 @@ public class GAlignFrame extends JInternalFrame JMenuItem removeRedundancyMenuItem = new JMenuItem( MessageManager.getString("action.remove_redundancy")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -696,7 +710,9 @@ public class GAlignFrame extends JInternalFrame undoMenuItem.setEnabled(false); undoMenuItem.setText(MessageManager.getString("action.undo")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -710,7 +726,9 @@ public class GAlignFrame extends JInternalFrame redoMenuItem.setEnabled(false); redoMenuItem.setText(MessageManager.getString("action.redo")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -734,7 +752,9 @@ public class GAlignFrame extends JInternalFrame JMenuItem printMenuItem = new JMenuItem( MessageManager.getString("action.print")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -760,7 +780,9 @@ public class GAlignFrame extends JInternalFrame JMenuItem findMenuItem = new JMenuItem( MessageManager.getString("action.find")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.getString("label.find_tip"))); al = new ActionListener() @@ -921,7 +943,9 @@ public class GAlignFrame extends JInternalFrame JMenuItem deleteGroups = new JMenuItem( MessageManager.getString("action.undefine_groups")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -946,7 +970,9 @@ public class GAlignFrame extends JInternalFrame JMenuItem createGroup = new JMenuItem( MessageManager.getString("action.create_group")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -960,8 +986,8 @@ 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, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx() + | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK, false); al = new ActionListener() { @@ -975,7 +1001,9 @@ public class GAlignFrame extends JInternalFrame copy.setText(MessageManager.getString("action.copy")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @@ -989,7 +1017,9 @@ public class GAlignFrame extends JInternalFrame cut.setText(MessageManager.getString("action.cut")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -1015,8 +1045,8 @@ public class GAlignFrame extends JInternalFrame JMenuItem pasteNew = new JMenuItem( MessageManager.getString("label.to_new_alignment")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() - | KeyEvent.SHIFT_MASK, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx() + | jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK, false); al = new ActionListener() { @@ -1031,7 +1061,9 @@ 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); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -1065,7 +1097,7 @@ public class GAlignFrame extends JInternalFrame }); seqLimits.setText( MessageManager.getString("label.show_sequence_limits")); - seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true)); + seqLimits.setState(Cache.getDefault("SHOW_JVSUFFIX", true)); seqLimits.addActionListener(new ActionListener() { @Override @@ -1215,8 +1247,7 @@ public class GAlignFrame extends JInternalFrame .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 @@ -1359,8 +1390,7 @@ public class GAlignFrame extends JInternalFrame }); autoCalculate.setText( MessageManager.getString("label.autocalculate_consensus")); - autoCalculate.setState( - jalview.bin.Cache.getDefault("AUTO_CALC_CONSENSUS", true)); + autoCalculate.setState(Cache.getDefault("AUTO_CALC_CONSENSUS", true)); autoCalculate.addActionListener(new ActionListener() { @Override @@ -1373,8 +1403,7 @@ public class GAlignFrame extends JInternalFrame 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)); + sortByTree.setState(Cache.getDefault("SORT_BY_TREE", false)); sortByTree.addActionListener(new ActionListener() { @Override @@ -1548,8 +1577,8 @@ 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, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx() + | jalview.util.ShortcutKeyMaskExWrapper.ALT_DOWN_MASK, false); al = new ActionListener() { @@ -1612,7 +1641,9 @@ public class GAlignFrame extends JInternalFrame JMenuItem save = new JMenuItem(MessageManager.getString("action.save")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -1637,7 +1668,9 @@ public class GAlignFrame extends JInternalFrame JMenuItem newView = new JMenuItem( MessageManager.getString("action.new_view")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false); + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false); al = new ActionListener() { @Override @@ -1725,6 +1758,26 @@ public class GAlignFrame extends JInternalFrame } }; selectHighlighted.addActionListener(al); + + copyHighlighted = new JMenuItem( + MessageManager.getString("action.copy_highlighted_regions")); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C, + jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx() + + jalview.util.ShortcutKeyMaskExWrapper.SHIFT_DOWN_MASK, + false); + copyHighlighted.setToolTipText( + MessageManager.getString("tooltip.copy_highlighted_regions")); + al = new ActionListener() + { + @Override + public void actionPerformed(ActionEvent actionEvent) + { + copyHighlightedColumns_actionPerformed(actionEvent); + } + }; + addMenuActionAndAccelerator(keyStroke, copyHighlighted, al); + copyHighlighted.addActionListener(al); + JMenu tooltipSettingsMenu = new JMenu( MessageManager.getString("label.sequence_id_tooltip")); JMenu autoAnnMenu = new JMenu( @@ -1775,6 +1828,7 @@ public class GAlignFrame extends JInternalFrame editMenu.add(redoMenuItem); editMenu.add(cut); editMenu.add(copy); + editMenu.add(copyHighlighted); editMenu.add(pasteMenu); editMenu.add(delete); editMenu.addSeparator(); @@ -1920,6 +1974,12 @@ public class GAlignFrame extends JInternalFrame // selectMenu.add(listenToViewSelections); } + protected void copyHighlightedColumns_actionPerformed( + ActionEvent actionEvent) + { + + } + protected void loadVcf_actionPerformed() { } @@ -2097,7 +2157,7 @@ public class GAlignFrame extends JInternalFrame * @param forAlignment * update non-sequence-related annotations */ - protected void setAnnotationsVisibility(boolean visible, + public void setAnnotationsVisibility(boolean visible, boolean forSequences, boolean forAlignment) {