X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FCutAndPasteTransfer.java;h=ed2b9bf832d92af489d0b0d59e932e9b125b8f52;hb=37de9310bec3501cbc6381e0c3dcb282fcaad812;hp=417c509a7dc43242c0ac725b1f3fb80e43a66d72;hpb=dc1ad37588e94cbc9ebbfaab2e9e49407f464310;p=jalview.git diff --git a/src/jalview/gui/CutAndPasteTransfer.java b/src/jalview/gui/CutAndPasteTransfer.java index 417c509..ed2b9bf 100644 --- a/src/jalview/gui/CutAndPasteTransfer.java +++ b/src/jalview/gui/CutAndPasteTransfer.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -23,7 +23,9 @@ package jalview.gui; import jalview.api.AlignViewportI; import jalview.api.AlignmentViewPanel; import jalview.api.ComplexAlignFile; +import jalview.api.FeatureSettingsModelI; import jalview.api.FeaturesDisplayedI; +import jalview.api.FeaturesSourceI; import jalview.bin.Jalview; import jalview.datamodel.AlignmentI; import jalview.datamodel.ColumnSelection; @@ -72,6 +74,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer { SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { textarea.requestFocus(); @@ -124,6 +127,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer textarea.append(text); } + @Override public void save_actionPerformed(ActionEvent e) { JalviewFileChooser chooser = new JalviewFileChooser( @@ -160,6 +164,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer * @param e * DOCUMENT ME! */ + @Override public void copyItem_actionPerformed(ActionEvent e) { textarea.getSelectedText(); @@ -173,6 +178,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer * @param e * DOCUMENT ME! */ + @Override public void pasteMenu_actionPerformed(ActionEvent e) { Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard(); @@ -198,6 +204,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer * @param e * DOCUMENT ME! */ + @Override public void ok_actionPerformed(ActionEvent e) { String text = getText(); @@ -206,7 +213,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer return; } - String format = new IdentifyFile().Identify(text, "Paste"); + String format = new IdentifyFile().identify(text, "Paste"); if (format == null || format.equalsIgnoreCase("EMPTY DATA FILE")) { System.err.println(MessageManager @@ -247,8 +254,19 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer { String title = MessageManager.formatMessage( "label.input_cut_paste_params", new String[] { format }); - if (viewport != null) + FeatureSettingsModelI proxyColourScheme = source + .getFeatureColourScheme(); + + /* + * if the view panel was closed its alignment is nulled + * and this is an orphaned cut and paste window + */ + if (viewport != null && viewport.getAlignment() != null) { + if (proxyColourScheme != null) + { + viewport.applyFeaturesStyle(proxyColourScheme); + } ((AlignViewport) viewport).addAlignment(al, title); } else @@ -282,8 +300,15 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer { af = new AlignFrame(al, AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT); + if (source instanceof FeaturesSourceI) + { + af.getViewport().setShowSequenceFeatures(true); + } + } + if (proxyColourScheme != null) + { + af.getViewport().applyFeaturesStyle(proxyColourScheme); } - af.currentFileFormat = format; Desktop.addInternalFrame(af, title, AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT); @@ -319,6 +344,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer * @param e * DOCUMENT ME! */ + @Override public void cancel_actionPerformed(ActionEvent e) { try @@ -329,9 +355,14 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer } } + @Override public void textarea_mousePressed(MouseEvent e) { - if (SwingUtilities.isRightMouseButton(e)) + /* + * isPopupTrigger is checked in mousePressed on Mac, + * in mouseReleased on Windows + */ + if (e.isPopupTrigger()) { JPopupMenu popup = new JPopupMenu( MessageManager.getString("action.edit")); @@ -339,6 +370,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer MessageManager.getString("action.copy")); item.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { copyItem_actionPerformed(e); @@ -348,6 +380,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer item = new JMenuItem(MessageManager.getString("action.paste")); item.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { pasteMenu_actionPerformed(e);