]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.ui/src/org/simantics/ui/dnd/PlaintextTransfer.java
Sync git svn branch with SVN repository r33269.
[simantics/platform.git] / bundles / org.simantics.ui / src / org / simantics / ui / dnd / PlaintextTransfer.java
index b54413a93af4b584ba333a45fb1375972ff4172f..855051ed1f540615fac5e0088ce565c0dbac6b61 100644 (file)
@@ -3,32 +3,38 @@ package org.simantics.ui.dnd;
 import java.awt.datatransfer.DataFlavor;\r
 import java.awt.datatransfer.Transferable;\r
 import java.awt.datatransfer.UnsupportedFlavorException;\r
+import java.io.ByteArrayInputStream;\r
 import java.io.IOException;\r
 \r
 public class PlaintextTransfer implements Transferable {\r
        \r
        final String content;\r
        \r
+       final DataFlavor flavor = DataFlavor.getTextPlainUnicodeFlavor();\r
+       final DataFlavor[] flavors = new DataFlavor[] { flavor };\r
+       final String flavorCharset = flavor.getParameter("charset");\r
+       \r
        public PlaintextTransfer(String content) {\r
                this.content = content;\r
        }\r
 \r
        @Override\r
        public Object getTransferData(DataFlavor arg0) throws UnsupportedFlavorException, IOException {\r
-               if(DataFlavor.getTextPlainUnicodeFlavor().equals(arg0)) {\r
-                       return content;\r
+               if(flavor.equals(arg0)) {\r
+                       byte[] bytes = content.getBytes(flavorCharset);\r
+                       return new ByteArrayInputStream(bytes);\r
                }\r
                return null;\r
        }\r
 \r
        @Override\r
        public DataFlavor[] getTransferDataFlavors() {\r
-               return new DataFlavor[] { DataFlavor.getTextPlainUnicodeFlavor() };\r
+               return flavors;\r
        }\r
 \r
        @Override\r
        public boolean isDataFlavorSupported(DataFlavor arg0) {\r
-               return(DataFlavor.getTextPlainUnicodeFlavor().equals(arg0));\r
+               return flavor.equals(arg0);\r
        }\r
 \r
 }\r