X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Ffunction%2FFunctions.java;h=0ea5adf7f7638173ba324b27a610bc931c946c33;hb=55f42e7fcc2f6733082ab8c150efe3a2b54ff22b;hp=7ae651342eca629bd3f33266d90da798fc0a0050;hpb=5750b5736279abe0d3e310b2da4fc1be3ffa0004;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/function/Functions.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/function/Functions.java index 7ae65134..0ea5adf7 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/function/Functions.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/function/Functions.java @@ -94,11 +94,19 @@ public class Functions { } public static Map getVertexMappings(ReadGraph graph, Resource resource) throws DatabaseException { - return getNetworkMappingsByType(graph, resource , DistrictNetworkResource.getInstance(graph).Mapping_VertexMapping); + Map second = getNetworkMappingsByType(graph, resource , DistrictNetworkResource.getInstance(graph).Mapping_VertexMapping); + return second; } public static Map getEdgeMappings(ReadGraph graph, Resource resource) throws DatabaseException { - return getNetworkMappingsByType(graph, resource , DistrictNetworkResource.getInstance(graph).Mapping_EdgeMapping); + Map second = getNetworkMappingsByType(graph, resource , DistrictNetworkResource.getInstance(graph).Mapping_EdgeMapping); + return second; + } + + public static Map getCRSs(ReadGraph graph, Resource resource) throws DatabaseException { + Map result = getNetworkMappingsByType(graph, resource, DistrictNetworkResource.getInstance(graph).SpatialRefSystem); + return result; + } public static Map getNetworkMappingsByType(ReadGraph graph, Resource element, Resource mappingType) throws DatabaseException { @@ -196,10 +204,13 @@ public class Functions { private Map vertexMappings = new HashMap<>(); private Map edgeMappings = new HashMap<>(); private Map composites = new HashMap<>(); + private Map crss = new HashMap<>(); private Map> components = new HashMap<>(); private Resource defaultVertexMapping; private Resource defaultEdgeMapping; + private Resource defaultCRS; + private Combo compositeMappingCombo; private Combo componentMappingCombo; @@ -239,14 +250,21 @@ public class Functions { components = getComponents(graph, composites.get(0)); } + crss = getCRSs(graph, configuration); composite.getDisplay().asyncExec(() -> { vertexMappingCombo.setItems(vertexMappings.keySet().toArray(new String[vertexMappings.size()])); edgeMappingCombo.setItems(edgeMappings.keySet().toArray(new String[edgeMappings.size()])); + + crsCombo.setItems(crss.keySet().toArray(new String[crss.size()])); + compositeMappingCombo.setItems(composites.keySet().toArray(new String[composites.size()])); vertexMappingCombo.select(0); edgeMappingCombo.select(0); + + crsCombo.select(0); + if (!composites.isEmpty()) compositeMappingCombo.select(0); }); @@ -379,6 +397,11 @@ public class Functions { protected void computeResult() { defaultVertexMapping = vertexMappings.get(vertexMappingCombo.getItem(vertexMappingCombo.getSelectionIndex())); defaultEdgeMapping = edgeMappings.get(edgeMappingCombo.getItem(edgeMappingCombo.getSelectionIndex())); + defaultCRS = crss.get(crsCombo.getItem(crsCombo.getSelectionIndex())); + } + + public Resource getCRS() { + return defaultCRS; } } @@ -404,6 +427,7 @@ public class Functions { Resource diagram = graph.getSingleObject(composite, ModelingResources.getInstance(graph).CompositeToDiagram); graph.claim(diagram, DN.EdgeDefaultMapping, dialog.getDefaultEdgeMapping()); graph.claim(diagram, DN.VertexDefaultMapping, dialog.getDefaultVertexMapping()); + graph.claim(diagram, DN.HasSpatialRefSystem, dialog.getCRS()); } }); DefaultActions.asyncPerformDefaultAction(Simantics.getSession(), composite, false, false, true);