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
@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