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=d5f57c8296efcb157a5665ef9432bf45968643f8;hb=5bce5ae3e438270cddffe7d496f27911fa261ecc;hp=e1d8bd046444ef222ed103563ea0b2de312f110f;hpb=3a11fe68975877a80dc54e6cb4f7b7d333a1b01b;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..d5f57c82 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 @@ -3,16 +3,11 @@ package org.simantics.district.network.profile; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; 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.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 @@ -25,51 +20,17 @@ public class HideStyle extends StyleBase { } @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