]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.district.network/src/org/simantics/district/network/profile/HideStyle.java
Show dynamic symbols when vertices and/or edges are hidden.
[simantics/district.git] / org.simantics.district.network / src / org / simantics / district / network / profile / HideStyle.java
1 package org.simantics.district.network.profile;
2
3 import org.simantics.db.ReadGraph;
4 import org.simantics.db.Resource;
5 import org.simantics.db.exception.DatabaseException;
6 import org.simantics.diagram.profile.StyleBase;
7 import org.simantics.scenegraph.INode;
8 import org.simantics.scenegraph.g2d.nodes.SingleElementNode;
9 import org.simantics.scenegraph.profile.EvaluationContext;
10 import org.simantics.scenegraph.profile.common.ProfileVariables;
11
12 /**
13  * @author Tuukka Lehtonen
14  */
15 public class HideStyle extends StyleBase<Boolean> {
16
17     @Override
18     public Boolean calculateStyle(ReadGraph graph, Resource runtimeDiagram, Resource entry, Resource groupItem) throws DatabaseException {
19         return Boolean.TRUE;
20     }
21
22     @Override
23     public void applyStyleForNode(EvaluationContext evaluationContext, INode node, Boolean result) {
24         SingleElementNode n = (SingleElementNode) node;
25         for (INode nn : n.getNodes())
26             ProfileVariables.claimNodeProperty(nn, "hidden", true, evaluationContext);
27     }
28     
29     @Override
30     protected void cleanupStyleForNode(EvaluationContext evaluationContext, INode node) {
31         SingleElementNode n = (SingleElementNode) node;
32         for (INode nn : n.getNodes())
33             ProfileVariables.claimNodeProperty(nn, "hidden", false, evaluationContext);
34     }
35
36     @Override
37     public String toString() {
38         return "Hide";
39     }
40
41 }