X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.diagram%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Fadapter%2FElementFactoryUtil.java;h=e8163cd9cc6c903a6779da8b3ae8ccd34161d6b3;hb=ffd2a3a8215264a02b0a59ac04edc314283f6607;hp=89ee666bb21b92e75519a3df2724a674dad938a9;hpb=d0d3598ccf62e2222c319d78cd2b99950cdd6f78;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/ElementFactoryUtil.java b/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/ElementFactoryUtil.java index 89ee666bb..e8163cd9c 100644 --- a/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/ElementFactoryUtil.java +++ b/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/ElementFactoryUtil.java @@ -12,11 +12,13 @@ package org.simantics.diagram.adapter; import java.awt.geom.AffineTransform; +import java.util.Map; import org.simantics.db.AsyncReadGraph; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.common.procedure.adapter.AsyncProcedureAdapter; +import org.simantics.db.common.procedure.adapter.ProcedureAdapter; import org.simantics.db.exception.DatabaseException; import org.simantics.db.procedure.AsyncProcedure; import org.simantics.diagram.stubs.DiagramResource; @@ -30,7 +32,7 @@ import org.simantics.g2d.diagram.DiagramHints; import org.simantics.g2d.diagram.IDiagram; import org.simantics.g2d.element.ElementUtils; import org.simantics.g2d.element.IElement; -import org.simantics.g2d.layers.ILayersEditor; +import org.simantics.g2d.layers.ILayers; import org.simantics.utils.datastructures.hints.IHintContext.Key; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -59,6 +61,15 @@ public class ElementFactoryUtil { procedure.execute(graph, e); } + public static void readParameters(AsyncReadGraph graph, final Resource resource, final IElement e) { + graph.asyncRequest(new ElementParameterRequest(resource), new ProcedureAdapter>() { + @Override + public void execute(Map result) { + ElementUtils.setParameters(e, result); + } + }); + } + public static ISynchronizationContext getContext(IDiagram diagram) { return diagram.getHint(SynchronizationHints.CONTEXT); } @@ -107,7 +118,7 @@ public class ElementFactoryUtil { public static void loadLayersForElement(AsyncReadGraph graph, GraphLayerManager layerManager, IDiagram diagram, IElement e, Resource element, AsyncProcedure callback) { - final ILayersEditor layers = diagram.getHint(DiagramHints.KEY_LAYERS_EDITOR); + final ILayers layers = diagram.getHint(DiagramHints.KEY_LAYERS); if (layers != null) layerManager.loadLayersForElement(graph, layers, e, element, callback); else