-package org.simantics.ui.dnd;\r
-\r
-import java.awt.datatransfer.Clipboard;\r
-import java.awt.datatransfer.ClipboardOwner;\r
-import java.awt.datatransfer.DataFlavor;\r
-import java.awt.datatransfer.Transferable;\r
-import java.awt.datatransfer.UnsupportedFlavorException;\r
-import java.io.IOException;\r
-import java.util.Collection;\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-public class MultiTransferable implements Transferable, ClipboardOwner {\r
- \r
- Map<DataFlavor, Transferable> transferables = new HashMap<>();\r
- \r
- public MultiTransferable(Transferable ... tr) {\r
- for(Transferable t : tr) {\r
- for(DataFlavor f : t.getTransferDataFlavors()) {\r
- transferables.put(f, t);\r
- }\r
- }\r
- }\r
-\r
- public MultiTransferable(Collection<Transferable> tr) {\r
- for(Transferable t : tr) {\r
- for(DataFlavor f : t.getTransferDataFlavors()) {\r
- transferables.put(f, t);\r
- }\r
- }\r
- }\r
-\r
- @Override\r
- public void lostOwnership(Clipboard arg0, Transferable arg1) {\r
- for(Transferable t : transferables.values())\r
- if(t instanceof ClipboardOwner) ((ClipboardOwner) t).lostOwnership(arg0, arg1);\r
- }\r
-\r
- @Override\r
- public Object getTransferData(DataFlavor arg0) throws UnsupportedFlavorException, IOException {\r
- Transferable t = transferables.get(arg0);\r
- if(t == null) return t;\r
- return t.getTransferData(arg0);\r
- }\r
-\r
- @Override\r
- public DataFlavor[] getTransferDataFlavors() {\r
- return transferables.keySet().toArray(new DataFlavor[transferables.size()]);\r
- }\r
-\r
- @Override\r
- public boolean isDataFlavorSupported(DataFlavor arg0) {\r
- return transferables.containsKey(arg0);\r
- }\r
-\r
- @Override\r
- public String toString() {\r
- return "MultiTransferable " + transferables.toString();\r
- }\r
-\r
-}\r
+package org.simantics.ui.dnd;
+
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.ClipboardOwner;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.Transferable;
+import java.awt.datatransfer.UnsupportedFlavorException;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+public class MultiTransferable implements Transferable, ClipboardOwner {
+
+ Map<DataFlavor, Transferable> transferables = new HashMap<>();
+
+ public MultiTransferable(Transferable ... tr) {
+ for(Transferable t : tr) {
+ for(DataFlavor f : t.getTransferDataFlavors()) {
+ transferables.put(f, t);
+ }
+ }
+ }
+
+ public MultiTransferable(Collection<Transferable> tr) {
+ for(Transferable t : tr) {
+ for(DataFlavor f : t.getTransferDataFlavors()) {
+ transferables.put(f, t);
+ }
+ }
+ }
+
+ @Override
+ public void lostOwnership(Clipboard arg0, Transferable arg1) {
+ for(Transferable t : transferables.values())
+ if(t instanceof ClipboardOwner) ((ClipboardOwner) t).lostOwnership(arg0, arg1);
+ }
+
+ @Override
+ public Object getTransferData(DataFlavor arg0) throws UnsupportedFlavorException, IOException {
+ Transferable t = transferables.get(arg0);
+ if(t == null) return t;
+ return t.getTransferData(arg0);
+ }
+
+ @Override
+ public DataFlavor[] getTransferDataFlavors() {
+ return transferables.keySet().toArray(new DataFlavor[transferables.size()]);
+ }
+
+ @Override
+ public boolean isDataFlavorSupported(DataFlavor arg0) {
+ return transferables.containsKey(arg0);
+ }
+
+ @Override
+ public String toString() {
+ return "MultiTransferable " + transferables.toString();
+ }
+
+}