]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.district.network/src/org/simantics/district/network/profile/HideStyle.java
Fix district node/edge hiding profiles to work
[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
11 /**
12  * @author Tuukka Lehtonen
13  */
14 public class HideStyle extends StyleBase<Boolean> {
15
16     @Override
17     public Boolean calculateStyle(ReadGraph graph, Resource runtimeDiagram, Resource entry, Resource groupItem) throws DatabaseException {
18         return Boolean.TRUE;
19     }
20
21     @Override
22     public void applyStyleForNode(EvaluationContext observer, INode node, Boolean result) {
23         SingleElementNode n = (SingleElementNode) node;
24         n.setVisible(false);
25         n.setHidden(true);
26     }
27
28     @Override
29     protected void cleanupStyleForNode(EvaluationContext evaluationContext, INode node) {
30         SingleElementNode n = (SingleElementNode) node;
31         n.setVisible(true);
32         n.setHidden(false);
33     }
34
35     @Override
36     public String toString() {
37         return "Hide";
38     }
39
40 }