X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.ui%2Fsrc%2Forg%2Fsimantics%2Fui%2Fdnd%2FPlaintextTransfer.java;h=855051ed1f540615fac5e0088ce565c0dbac6b61;hp=b54413a93af4b584ba333a45fb1375972ff4172f;hb=bf75fd9;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.ui/src/org/simantics/ui/dnd/PlaintextTransfer.java b/bundles/org.simantics.ui/src/org/simantics/ui/dnd/PlaintextTransfer.java index b54413a93..855051ed1 100644 --- a/bundles/org.simantics.ui/src/org/simantics/ui/dnd/PlaintextTransfer.java +++ b/bundles/org.simantics.ui/src/org/simantics/ui/dnd/PlaintextTransfer.java @@ -3,32 +3,38 @@ package org.simantics.ui.dnd; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; +import java.io.ByteArrayInputStream; import java.io.IOException; public class PlaintextTransfer implements Transferable { final String content; + final DataFlavor flavor = DataFlavor.getTextPlainUnicodeFlavor(); + final DataFlavor[] flavors = new DataFlavor[] { flavor }; + final String flavorCharset = flavor.getParameter("charset"); + public PlaintextTransfer(String content) { this.content = content; } @Override public Object getTransferData(DataFlavor arg0) throws UnsupportedFlavorException, IOException { - if(DataFlavor.getTextPlainUnicodeFlavor().equals(arg0)) { - return content; + if(flavor.equals(arg0)) { + byte[] bytes = content.getBytes(flavorCharset); + return new ByteArrayInputStream(bytes); } return null; } @Override public DataFlavor[] getTransferDataFlavors() { - return new DataFlavor[] { DataFlavor.getTextPlainUnicodeFlavor() }; + return flavors; } @Override public boolean isDataFlavorSupported(DataFlavor arg0) { - return(DataFlavor.getTextPlainUnicodeFlavor().equals(arg0)); + return flavor.equals(arg0); } }