import org.simantics.diagram.handler.ExpandSelectionHandler;
import org.simantics.diagram.handler.SimpleElementTransformHandler;
import org.simantics.diagram.layer.ILayersViewPage;
+import org.simantics.diagram.participant.ConnectionCrossingsParticipant;
import org.simantics.diagram.participant.ContextUtil;
+import org.simantics.diagram.participant.CopyAsSVGParticipant;
import org.simantics.diagram.participant.PointerInteractor2;
import org.simantics.diagram.participant.SGFocusParticipant;
import org.simantics.diagram.query.DiagramRequests;
protected GridSnapAdvisor snapAdvisor;
private RuntimeDiagramManager runtimeDiagramManager;
+ private Resource runtimeDiagramResourceCache;
private HasDiagramSourceListener hasDiagramSourceListener;
/**
*/
protected WorkbenchSelectionProvider selectionProvider;
- public Resource getRuntime() {
+ protected Resource getRuntimeFromManager() {
RuntimeDiagramManager rtdm = runtimeDiagramManager;
return (rtdm == null) ? null : rtdm.getRuntimeDiagram();
}
+ public Resource getRuntime() {
+ if (runtimeDiagramResourceCache != null)
+ return runtimeDiagramResourceCache;
+ runtimeDiagramResourceCache = getRuntimeFromManager();
+ return runtimeDiagramResourceCache;
+ }
+
public ParametrizedRead<IResourceEditorInput, Boolean> getInputValidator() {
return INPUT_VALIDATOR;
}
//ctx.add(new ZoomTransitionParticipant(TransitionFunction.SIGMOID));
//ctx.add(new TooltipParticipant());
ctx.add(new TerminalTooltipParticipant());
+ ctx.add(new ConnectionCrossingsParticipant(getInputResource()));
+ ctx.add(new CopyAsSVGParticipant());
}
protected void addPainterParticipants(ICanvasContext ctx) {