From 89eb56df607bd75642b85e584748c648d410fea8 Mon Sep 17 00:00:00 2001 From: Stephane Dallongeville <stephane.dallongeville@pasteur.fr> Date: Tue, 2 Nov 2021 17:03:17 +0100 Subject: [PATCH] Fixed 'Call IJ Plugin' and 'Get Active Image Plus' block (regression) --- .../adufour/blocks/tools/ij/CallIJPlugin.java | 30 ++++++++++++------- .../blocks/tools/ij/GetActiveImagePlus.java | 2 +- .../adufour/protocols/gui/link/DragZone.java | 12 +------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/main/java/plugins/adufour/blocks/tools/ij/CallIJPlugin.java b/src/main/java/plugins/adufour/blocks/tools/ij/CallIJPlugin.java index e9b08f4..c1202ef 100644 --- a/src/main/java/plugins/adufour/blocks/tools/ij/CallIJPlugin.java +++ b/src/main/java/plugins/adufour/blocks/tools/ij/CallIJPlugin.java @@ -12,13 +12,13 @@ import plugins.adufour.vars.lang.VarString; public class CallIJPlugin extends Plugin implements IJBlock { VarImagePlus varIp = new VarImagePlus("Input ImagePlus", null); - + VarString pluginName = new VarString("plug-in name", ""); - + VarString pluginParams = new VarString("parameters", ""); - + VarImagePlus varActiveIP = new VarImagePlus("Output (active) ImagePlus", null); - + @Override public void run() { @@ -26,21 +26,31 @@ public class CallIJPlugin extends Plugin implements IJBlock { ImagePlus imgPlus = varIp.getValue(false); String params = pluginParams.getValue(false); - + if (imgPlus != null) IJ.run(imgPlus, pluginName.getValue(true), params); else IJ.run(pluginName.getValue(true), params); - // Set the output image (if available) with the following priority - ImagePlus output = IJ.getImage(); + ImagePlus output = null; + + try + { + // Set the output image (if available) with the following priority + output = WindowManager.getCurrentImage(); + } + catch (RuntimeException e) + { + // just in case + } + // Default to the current "temporary" image (if any) if (output == null) output = WindowManager.getTempCurrentImage(); // Default to the input image (may have been modified "in-place" if (output == null) output = varIp.getValue(); - + varActiveIP.setValue(output); } catch (RuntimeException e) @@ -48,7 +58,7 @@ public class CallIJPlugin extends Plugin implements IJBlock throw new IcyHandledException(e.getLocalizedMessage()); } } - + @Override public void declareInput(VarList inputMap) { @@ -56,7 +66,7 @@ public class CallIJPlugin extends Plugin implements IJBlock inputMap.add("ImageJ plug-in name", pluginName); inputMap.add("ImageJ plug-in parameters", pluginParams); } - + @Override public void declareOutput(VarList outputMap) { diff --git a/src/main/java/plugins/adufour/blocks/tools/ij/GetActiveImagePlus.java b/src/main/java/plugins/adufour/blocks/tools/ij/GetActiveImagePlus.java index f5fe702..6c1ccd0 100644 --- a/src/main/java/plugins/adufour/blocks/tools/ij/GetActiveImagePlus.java +++ b/src/main/java/plugins/adufour/blocks/tools/ij/GetActiveImagePlus.java @@ -27,7 +27,7 @@ public class GetActiveImagePlus extends Plugin implements IJBlock public void run() { // Set the output image (if available) with the following priority - ImagePlus imgPlus = IJ.getImage(); + ImagePlus imgPlus = WindowManager.getCurrentImage(); // Default to the current "temporary" image (if any) if (imgPlus == null) imgPlus = WindowManager.getTempCurrentImage(); diff --git a/src/main/java/plugins/adufour/protocols/gui/link/DragZone.java b/src/main/java/plugins/adufour/protocols/gui/link/DragZone.java index 5bc1f74..d4c2e1f 100644 --- a/src/main/java/plugins/adufour/protocols/gui/link/DragZone.java +++ b/src/main/java/plugins/adufour/protocols/gui/link/DragZone.java @@ -10,7 +10,6 @@ import java.awt.dnd.InvalidDnDOperationException; import plugins.adufour.blocks.lang.BlockDescriptor; import plugins.adufour.blocks.lang.WorkFlow; import plugins.adufour.vars.lang.Var; -import sun.awt.dnd.SunDragSourceContextPeer; /** * Button defining an area on a panel from where an output variable can be dragged to another panel @@ -56,16 +55,7 @@ public class DragZone<T> extends DragDropZone implements DragGestureListener } catch (final InvalidDnDOperationException idoe) { - try - { - SunDragSourceContextPeer.setDragDropInProgress(false); - } - catch (Throwable t) - { - - } - - DragSource.getDefaultDragSource().startDrag(dge, DragSource.DefaultLinkDrop, transferable, null); + dge.startDrag(DragSource.DefaultLinkDrop, transferable, null); } } } \ No newline at end of file -- GitLab