diff --git a/app/display/runtime/src/main/java/org/csstudio/display/builder/runtime/script/ScriptUtil.java b/app/display/runtime/src/main/java/org/csstudio/display/builder/runtime/script/ScriptUtil.java index 974a1640f2..38ad56079e 100644 --- a/app/display/runtime/src/main/java/org/csstudio/display/builder/runtime/script/ScriptUtil.java +++ b/app/display/runtime/src/main/java/org/csstudio/display/builder/runtime/script/ScriptUtil.java @@ -24,6 +24,9 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; +import javafx.application.Platform; +import javafx.scene.input.Clipboard; +import javafx.scene.input.ClipboardContent; import org.csstudio.display.builder.model.ChildrenProperty; import org.csstudio.display.builder.model.DisplayModel; import org.csstudio.display.builder.model.Widget; @@ -533,4 +536,24 @@ public static void openWeb(final Widget widget, final String url) throws Excepti done.get(); } + + /** + * Puts a {@link String} on the system clipboard. + *
+ * If called from a Jython script, non-matching content types will trigger an exception in the interpreter.
+ * An {@link IllegalArgumentException} is thrown if provided content string is null. That way
+ * the script may detect the mistake.
+ *