X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.debug.graphical%2Fsrc%2Forg%2Fsimantics%2Fdebug%2Fgraphical%2FDebuggerCanvas.java;h=310d8a0865e824cfc8b0f6e51dd26af1bf41c78b;hp=6430d029beca6185d922dddd3e9a1bc41a4d3bb8;hb=d4361a11a962437b51c72f51e1a913c089e4351e;hpb=d2cdc6934657ae85a4a239270d34e1f366464856;ds=sidebyside diff --git a/bundles/org.simantics.debug.graphical/src/org/simantics/debug/graphical/DebuggerCanvas.java b/bundles/org.simantics.debug.graphical/src/org/simantics/debug/graphical/DebuggerCanvas.java index 6430d029b..310d8a086 100644 --- a/bundles/org.simantics.debug.graphical/src/org/simantics/debug/graphical/DebuggerCanvas.java +++ b/bundles/org.simantics.debug.graphical/src/org/simantics/debug/graphical/DebuggerCanvas.java @@ -214,12 +214,11 @@ public class DebuggerCanvas extends JPanel { transferable.getTransferData(LocalObjectTransferable.FLAVOR); Object obj = LocalObjectTransfer.getTransfer().getObject(); handleDrop(dtde, obj); - - dtde.getDropTargetContext().dropComplete( true ); } else { DataFlavor textFlavor = DataFlavor.selectBestTextFlavor(transferable.getTransferDataFlavors()); if(textFlavor != null) { + // Try to read the textual content of the drop event as a JSON object containing a field named resourceId try(Reader reader = textFlavor.getReaderForText(transferable)) { ObjectMapper mapper = new ObjectMapper(); JsonNode node = mapper.readTree(reader); @@ -235,8 +234,6 @@ public class DebuggerCanvas extends JPanel { } })); handleDrop(dtde, obj); - - dtde.getDropTargetContext().dropComplete( true ); return; } } @@ -255,6 +252,8 @@ public class DebuggerCanvas extends JPanel { double x = canvasPosX+dtde.getLocation().getX()/canvasZoom; double y = canvasPosY+dtde.getLocation().getY()/canvasZoom; handleDrop(x, y, obj); + + dtde.getDropTargetContext().dropComplete( true ); } public void keyPressed(KeyEvent e) {