X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fprofile%2FHideStyle.java;h=fff5fde556082fd54a9999bf642211f7046ac0b4;hb=refs%2Fchanges%2F54%2F3354%2F1;hp=e1d8bd046444ef222ed103563ea0b2de312f110f;hpb=39fc97fadfc37361c1e937b87cf33f1964688cfa;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network/src/org/simantics/district/network/profile/HideStyle.java b/org.simantics.district.network/src/org/simantics/district/network/profile/HideStyle.java index e1d8bd04..fff5fde5 100644 --- a/org.simantics.district.network/src/org/simantics/district/network/profile/HideStyle.java +++ b/org.simantics.district.network/src/org/simantics/district/network/profile/HideStyle.java @@ -2,17 +2,14 @@ package org.simantics.district.network.profile; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; +import org.simantics.db.common.procedure.adapter.TransientCacheListener; import org.simantics.db.exception.DatabaseException; -import org.simantics.diagram.profile.ProfileKeys; import org.simantics.diagram.profile.StyleBase; -import org.simantics.g2d.diagram.IDiagram; -import org.simantics.g2d.diagram.handler.DataElementMap; -import org.simantics.g2d.element.ElementUtils; -import org.simantics.g2d.element.IElement; +import org.simantics.district.network.visualisations.model.DynamicVisualisation; import org.simantics.scenegraph.INode; import org.simantics.scenegraph.g2d.nodes.SingleElementNode; -import org.simantics.scenegraph.profile.DataNodeMap; import org.simantics.scenegraph.profile.EvaluationContext; +import org.simantics.scenegraph.profile.common.ProfileVariables; /** * @author Tuukka Lehtonen @@ -21,55 +18,25 @@ public class HideStyle extends StyleBase { @Override public Boolean calculateStyle(ReadGraph graph, Resource runtimeDiagram, Resource entry, Resource groupItem) throws DatabaseException { + + DynamicVisualisation dv = graph.syncRequest(new ActiveDynamicVisualisationsRequest(runtimeDiagram), TransientCacheListener.instance()); + + return Boolean.TRUE; } @Override - public void applyStyleForItem(EvaluationContext evaluationContext, DataNodeMap map, Object item, Boolean value) { - INode node = map.getNode(item); - if (node == null) { - evaluationContext.update(); - return; - } - - IDiagram diagram = evaluationContext.getConstant(ProfileKeys.DIAGRAM); - DataElementMap emap = diagram.getDiagramClass().getSingleItem(DataElementMap.class); - IElement element = emap.getElement(diagram, item); - if (element == null) - return; - - hideElements(evaluationContext, diagram, element, node); + public void applyStyleForNode(EvaluationContext evaluationContext, INode node, Boolean result) { + SingleElementNode n = (SingleElementNode) node; + for (INode nn : n.getNodes()) + ProfileVariables.claimNodeProperty(nn, "hidden", true, evaluationContext); } - + @Override - protected void cleanupStyleForItem(EvaluationContext evaluationContext, DataNodeMap map, Object item) { - IDiagram diagram = evaluationContext.getConstant(ProfileKeys.DIAGRAM); - DataElementMap emap = diagram.getDiagramClass().getSingleItem(DataElementMap.class); - - INode node = map.getNode(item); - if (node == null) - return; - IElement element = emap.getElement(diagram, item); - if (element == null) - return; - - showElements(diagram, element, node); - } - - protected void hideElements(EvaluationContext evaluationContext, IDiagram diagram, IElement element, INode node) { - setVisibility(element, node, false); - } - - protected void showElements(IDiagram diagram, IElement element, INode node) { - setVisibility(element, node, true); - } - - protected void setVisibility(IElement element, INode node, boolean visible) { - if (element != null) - ElementUtils.setHidden(element, !visible); - if (node instanceof SingleElementNode) { - ((SingleElementNode) node).setHidden(!visible); - } + protected void cleanupStyleForNode(EvaluationContext evaluationContext, INode node) { + SingleElementNode n = (SingleElementNode) node; + for (INode nn : n.getNodes()) + ProfileVariables.claimNodeProperty(nn, "hidden", false, evaluationContext); } @Override