]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network.ui/src/org/simantics/district/network/ui/adapters/DistrictNetworkVertexElementFactory.java
Some cleaning and fixing of district functionalities
[simantics/district.git] / org.simantics.district.network.ui / src / org / simantics / district / network / ui / adapters / DistrictNetworkVertexElementFactory.java
index 976abd48596ccf177065addfa8ffbc1914e1904e..431beb52d60280de30d44d5bf31c11c5a129a18e 100644 (file)
@@ -1,7 +1,5 @@
 package org.simantics.district.network.ui.adapters;
 
-import java.awt.geom.AffineTransform;
-
 import org.simantics.db.AsyncReadGraph;
 import org.simantics.db.ReadGraph;
 import org.simantics.db.Resource;
@@ -22,13 +20,14 @@ import org.simantics.g2d.element.ElementUtils;
 import org.simantics.g2d.element.IElement;
 import org.simantics.g2d.element.handler.impl.StaticObjectAdapter;
 import org.simantics.g2d.layers.ILayersEditor;
+import org.simantics.maps.MapScalingTransform;
 
 public class DistrictNetworkVertexElementFactory extends SyncElementFactory {
 
     public static final ElementClass CLASS = DistrictNetworkVertexElement.CLASS;
     private DistrictNetworkResource DN;
     private DiagramResource DIA;
-
+    
     public DistrictNetworkVertexElementFactory(ReadGraph graph) {
         this.DN = DistrictNetworkResource.getInstance(graph);
         this.DIA = DiagramResource.getInstance(graph);
@@ -49,11 +48,13 @@ public class DistrictNetworkVertexElementFactory extends SyncElementFactory {
         
         double[] coords = graph.getRelatedValue(vertexResource, DIA.HasLocation);
         DistrictNetworkVertex vertex = new DistrictNetworkVertex(coords);
+        
+        Resource mapping = graph.getSingleObject(vertexResource, DistrictNetworkResource.getInstance(graph).HasMapping);
+        element.setHint(DistrictNetworkAdditionalColor.KEY_DN_MAPPING_RESOURCE, mapping);
         element.setHint(DistrictNetworkVertexElement.KEY_DN_VERTEX, vertex);
         
-        // set element transform based on layer SRS and coords
-        AffineTransform at = new AffineTransform(1, 0, 0, 1, coords[0], coords[1]);
-        ElementUtils.setTransform(element, at);
+        // set scaling transform for vertices
+        ElementUtils.setTransform(element, MapScalingTransform.INSTANCE);
         
         IModifiableSynchronizationContext context = diagram.getHint(SynchronizationHints.CONTEXT);
         GraphLayerManager layerManager = context.get(GraphSynchronizationHints.GRAPH_LAYER_MANAGER);