]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network.ui/src/org/simantics/district/network/ui/nodes/DistrictNetworkVertexNode.java
Move remaining profiles to visualisations for perf
[simantics/district.git] / org.simantics.district.network.ui / src / org / simantics / district / network / ui / nodes / DistrictNetworkVertexNode.java
index 1639d5712b8abaaf3fc8e542d74d9d9110444a4b..b1bb1468dd63653ee1c423a9653fbc307088bc8e 100644 (file)
@@ -7,6 +7,7 @@ import java.awt.RenderingHints;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
+import java.util.Optional;
 
 import org.simantics.district.network.ui.adapters.DistrictNetworkVertex;
 import org.simantics.maps.MapScalingTransform;
@@ -179,6 +180,10 @@ public class DistrictNetworkVertexNode extends G2DParentNode implements ISelecti
         updateBounds();
     }
 
+    public DistrictNetworkVertex getVertex() {
+        return vertex;
+    }
+
     @Override
     public boolean hover(boolean hover, boolean isConnectionTool) {
         // Only react to hover when the connection tool is active
@@ -241,4 +246,25 @@ public class DistrictNetworkVertexNode extends G2DParentNode implements ISelecti
     public void setHidden(Boolean value) {
         this.hidden = value;
     }
+
+    public void setStaticInformation(Optional<String> staticInformation) {
+        DistrictNetworkStaticInfoNode child = getOrCreateNode(DistrictNetworkStaticInfoNode.NODE_KEY, DistrictNetworkStaticInfoNode.class);
+        Point2D calculatePoint2D = DistrictNetworkNodeUtils.calculatePoint2D(vertex.getPoint(), null);
+        child.setLocation(calculatePoint2D, new Point2D.Double(1.0, 0.0));
+        if (staticInformation.isPresent()) {
+            child.setInfo(staticInformation.get());
+        } else {
+            child.setInfo(null);
+        }
+    }
+    
+    public void setInSimulation(Optional<Boolean> isInSimulation) {
+        if (!isInSimulation.isPresent()) {
+            removeNode(NotInSimulationNode.NODE_NAME);
+        } else {
+            NotInSimulationNode child = getOrCreateNode(NotInSimulationNode.NODE_NAME, NotInSimulationNode.class);
+            child.setZIndex(1000);
+            child.setIsInSimulation(isInSimulation.get());
+        }
+    }
 }