source: josm/trunk/src/org/openstreetmap/josm/gui/datatransfer/data/LayerTransferData.java@ 10605

Last change on this file since 10605 was 10605, checked in by Don-vip, 8 years ago

see #12478 - Use ​Swing Copy/Paste instead of CopyAction/PasteAction with custom buffer (layer part: patch by michael2402, modified) - gsoc-core

File size: 1.8 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.datatransfer.data;
3
4import java.awt.datatransfer.DataFlavor;
5import java.util.Arrays;
6import java.util.Collections;
7import java.util.List;
8
9import org.openstreetmap.josm.gui.datatransfer.LayerTransferable;
10import org.openstreetmap.josm.gui.layer.Layer;
11import org.openstreetmap.josm.gui.layer.LayerManager;
12
13/**
14 * This transferable implements a layer transfer.
15 * @author Michael Zangl
16 * @since 10605
17 */
18public class LayerTransferData extends LayerTransferable.Data {
19 /**
20 * This is a data flavor for all layer types
21 */
22 public static final DataFlavor FLAVOR = new DataFlavor(
23 DataFlavor.javaJVMLocalObjectMimeType + ";class=" + LayerTransferData.class.getName(), "Layer");
24
25 /**
26 * The flavors that are supported by this data type.
27 */
28 private static final List<DataFlavor> FLAVORS = Arrays.asList(LayerTransferData.FLAVOR, LayerTransferable.LAYER_DATA);
29
30 private final Layer layer;
31
32 /**
33 * Create a new transfer data for the given layer
34 * @param layerManager The layer manager that the layer is moved in. May be <code>null</code>
35 * @param layer The layer
36 */
37 public LayerTransferData(LayerManager layerManager, Layer layer) {
38 super(layerManager, Collections.singletonList(layer));
39 this.layer = layer;
40 }
41
42 /**
43 * Gets the layer to be transfered.
44 * @return The layer
45 */
46 public Layer getLayer() {
47 return layer;
48 }
49
50 /**
51 * Gets a list of flavors supported by this data.
52 * @return The flavors.
53 */
54 public List<DataFlavor> getSupportedFlavors() {
55 return Collections.unmodifiableList(FLAVORS);
56 }
57
58 @Override
59 public String toString() {
60 return "LayerTransferData [layer=" + layer + ']';
61 }
62}
Note: See TracBrowser for help on using the repository browser.