X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.ui%2Fsrc%2Forg%2Fsimantics%2Fui%2Fdnd%2FPlaintextTransfer.java;h=69d97b08180c4179afb7db28ca3047974427b6a0;hb=9ad477fff4177576f0cf43a4dda14783deabc9e3;hp=b54413a93af4b584ba333a45fb1375972ff4172f;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git 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..69d97b081 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 @@ -1,34 +1,40 @@ -package org.simantics.ui.dnd; - -import java.awt.datatransfer.DataFlavor; -import java.awt.datatransfer.Transferable; -import java.awt.datatransfer.UnsupportedFlavorException; -import java.io.IOException; - -public class PlaintextTransfer implements Transferable { - - final String content; - - public PlaintextTransfer(String content) { - this.content = content; - } - - @Override - public Object getTransferData(DataFlavor arg0) throws UnsupportedFlavorException, IOException { - if(DataFlavor.getTextPlainUnicodeFlavor().equals(arg0)) { - return content; - } - return null; - } - - @Override - public DataFlavor[] getTransferDataFlavors() { - return new DataFlavor[] { DataFlavor.getTextPlainUnicodeFlavor() }; - } - - @Override - public boolean isDataFlavorSupported(DataFlavor arg0) { - return(DataFlavor.getTextPlainUnicodeFlavor().equals(arg0)); - } - -} +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(flavor.equals(arg0)) { + byte[] bytes = content.getBytes(flavorCharset); + return new ByteArrayInputStream(bytes); + } + return null; + } + + @Override + public DataFlavor[] getTransferDataFlavors() { + return flavors; + } + + @Override + public boolean isDataFlavorSupported(DataFlavor arg0) { + return flavor.equals(arg0); + } + +}