]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.diagram/src/org/simantics/diagram/ui/ElementClassTransferable.java
Logger fixes after merge commit:fdbe8762
[simantics/platform.git] / bundles / org.simantics.diagram / src / org / simantics / diagram / ui / ElementClassTransferable.java
1 /*******************************************************************************\r
2  * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
3  * in Industry THTH ry.\r
4  * All rights reserved. This program and the accompanying materials\r
5  * are made available under the terms of the Eclipse Public License v1.0\r
6  * which accompanies this distribution, and is available at\r
7  * http://www.eclipse.org/legal/epl-v10.html\r
8  *\r
9  * Contributors:\r
10  *     VTT Technical Research Centre of Finland - initial API and implementation\r
11  *******************************************************************************/\r
12 package org.simantics.diagram.ui;\r
13 \r
14 import java.awt.datatransfer.Clipboard;\r
15 import java.awt.datatransfer.ClipboardOwner;\r
16 import java.awt.datatransfer.DataFlavor;\r
17 import java.awt.datatransfer.Transferable;\r
18 import java.awt.datatransfer.UnsupportedFlavorException;\r
19 import java.io.IOException;\r
20 import java.io.Serializable;\r
21 \r
22 public class ElementClassTransferable implements Transferable, ClipboardOwner {\r
23 \r
24         public static final DataFlavor FLAVOR = new DataFlavor( ResourceElementClassTransferData.class, "Element Class" );\r
25 \r
26         public static class ResourceElementClassTransferData implements Serializable {\r
27                 private static final long serialVersionUID = -4990050837054070697L;\r
28                 public String elementClassResourceRandomAccessReference[];      \r
29         }\r
30         \r
31         private ResourceElementClassTransferData data;\r
32 \r
33         /**\r
34          * Creates a <code>Transferable</code> capable of transferring the specified\r
35          * <code>String</code>.\r
36          */\r
37         public ElementClassTransferable(ResourceElementClassTransferData data) {\r
38                 this.data = data;\r
39         }\r
40 \r
41         /**\r
42          * Returns an array of flavors in which this <code>Transferable</code> can\r
43          * provide the data. <code>DataFlavor.stringFlavor</code> is properly\r
44          * supported. Support for <code>DataFlavor.plainTextFlavor</code> is\r
45          * <b>deprecated</b>.\r
46          * \r
47          * @return an array of length two, whose elements are <code>DataFlavor.\r
48          *         stringFlavor</code> and <code>DataFlavor.plainTextFlavor</code>\r
49          */\r
50         public DataFlavor[] getTransferDataFlavors() {\r
51                 return new DataFlavor[] { FLAVOR }; \r
52         }\r
53 \r
54         public boolean isDataFlavorSupported(DataFlavor flavor) {\r
55                 return flavor.equals(FLAVOR);\r
56         }\r
57 \r
58         public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {\r
59                 if (flavor.equals(FLAVOR)) \r
60                         return (ResourceElementClassTransferData) data;\r
61                 throw new UnsupportedFlavorException(flavor);\r
62         }\r
63 \r
64         public void lostOwnership(Clipboard clipboard, Transferable contents) {\r
65         }\r
66 \r
67 }\r