X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FCutAndPasteTransfer.java;h=c0e59a49b9e126143e217c0f8c4818df09b752ae;hb=57ea736ced3c474a9e8e8bc2de1a15a220384e93;hp=f5a8e1c946139b97a3a2d3a07ec36bd2d81adc8d;hpb=4d7f98a6dd54d9863ba449ec79dcd95d25ed863d;p=jalview.git diff --git a/src/jalview/gui/CutAndPasteTransfer.java b/src/jalview/gui/CutAndPasteTransfer.java index f5a8e1c..c0e59a4 100644 --- a/src/jalview/gui/CutAndPasteTransfer.java +++ b/src/jalview/gui/CutAndPasteTransfer.java @@ -24,6 +24,7 @@ import jalview.api.AlignViewportI; import jalview.api.AlignmentViewPanel; import jalview.api.ComplexAlignFile; import jalview.api.FeaturesDisplayedI; +import jalview.api.FeaturesSourceI; import jalview.bin.Jalview; import jalview.datamodel.AlignmentI; import jalview.datamodel.ColumnSelection; @@ -35,6 +36,7 @@ import jalview.io.IdentifyFile; import jalview.io.JalviewFileChooser; import jalview.io.JalviewFileView; import jalview.jbgui.GCutAndPasteTransfer; +import jalview.json.binding.biojson.v1.ColourSchemeMapper; import jalview.schemes.ColourSchemeI; import jalview.util.MessageManager; @@ -71,6 +73,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer { SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { textarea.requestFocus(); @@ -123,6 +126,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer textarea.append(text); } + @Override public void save_actionPerformed(ActionEvent e) { JalviewFileChooser chooser = new JalviewFileChooser( @@ -159,6 +163,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer * @param e * DOCUMENT ME! */ + @Override public void copyItem_actionPerformed(ActionEvent e) { textarea.getSelectedText(); @@ -172,6 +177,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer * @param e * DOCUMENT ME! */ + @Override public void pasteMenu_actionPerformed(ActionEvent e) { Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard(); @@ -197,6 +203,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer * @param e * DOCUMENT ME! */ + @Override public void ok_actionPerformed(ActionEvent e) { String text = getText(); @@ -205,7 +212,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 @@ -246,7 +253,11 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer { String title = MessageManager.formatMessage( "label.input_cut_paste_params", new String[] { format }); - if (viewport != null) + /* + * 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) { ((AlignViewport) viewport).addAlignment(al, title); } @@ -262,19 +273,29 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer .getHiddenSequences(); boolean showSeqFeatures = ((ComplexAlignFile) source) .isShowSeqFeatures(); - ColourSchemeI cs = ((ComplexAlignFile) source).getColourScheme(); + String colourSchemeName = ((ComplexAlignFile) source) + .getGlobalColourScheme(); FeaturesDisplayedI fd = ((ComplexAlignFile) source) .getDisplayedFeatures(); af = new AlignFrame(al, hiddenSeqs, colSel, AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT); af.getViewport().setShowSequenceFeatures(showSeqFeatures); af.getViewport().setFeaturesDisplayed(fd); - af.changeColour(cs); + ColourSchemeI cs = ColourSchemeMapper.getJalviewColourScheme( + colourSchemeName, al); + if (cs != null) + { + af.changeColour(cs); + } } else { af = new AlignFrame(al, AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT); + if (source instanceof FeaturesSourceI) + { + af.getViewport().setShowSequenceFeatures(true); + } } af.currentFileFormat = format; @@ -312,6 +333,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer * @param e * DOCUMENT ME! */ + @Override public void cancel_actionPerformed(ActionEvent e) { try @@ -322,6 +344,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer } } + @Override public void textarea_mousePressed(MouseEvent e) { if (SwingUtilities.isRightMouseButton(e)) @@ -332,6 +355,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer MessageManager.getString("action.copy")); item.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { copyItem_actionPerformed(e); @@ -341,6 +365,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);