]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network.ui/src/org/simantics/district/network/ui/function/Functions.java
Dynamic Visualisations view improvements & profile refactoring
[simantics/district.git] / org.simantics.district.network.ui / src / org / simantics / district / network / ui / function / Functions.java
index 89878c5b60c59041986f3a572fec0d96bc558236..14c75030e019d7598bc2e8b08db82302b8af38c1 100644 (file)
@@ -40,6 +40,7 @@ import org.simantics.db.common.request.IndexRoot;
 import org.simantics.db.common.request.ObjectsWithType;
 import org.simantics.db.common.request.ReadRequest;
 import org.simantics.db.common.request.WriteRequest;
+import org.simantics.db.common.request.WriteResultRequest;
 import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.exception.RuntimeDatabaseException;
 import org.simantics.db.exception.ServiceException;
@@ -49,6 +50,7 @@ import org.simantics.db.layer0.variable.Variable;
 import org.simantics.db.layer0.variable.Variables;
 import org.simantics.db.layer0.variable.Variables.Role;
 import org.simantics.db.procedure.Procedure;
+import org.simantics.district.network.DistrictNetworkUtil;
 import org.simantics.district.network.ontology.DistrictNetworkResource;
 import org.simantics.layer0.Layer0;
 import org.simantics.modeling.ModelingResources;
@@ -244,8 +246,8 @@ public class Functions {
         private Resource leftClickVertexMapping;
         //private Resource defaultCRS;
         
-        private Combo compositeMappingCombo;
-        private Combo componentMappingCombo;
+        //private Combo compositeMappingCombo;
+        //private Combo componentMappingCombo;
 
         protected DefaultMappingsDialog(Shell parentShell, Resource configuration) {
             super(parentShell);
@@ -299,7 +301,7 @@ public class Functions {
                         
                         //crsCombo.setItems(crss.keySet().toArray(new String[crss.size()]));
                         
-                        compositeMappingCombo.setItems(composites.keySet().toArray(new String[composites.size()]));
+                        //compositeMappingCombo.setItems(composites.keySet().toArray(new String[composites.size()]));
                         vertexMappingCombo.select(0);
                         rightClickMappingCombo.select(0);
                         leftClickMappingCombo.select(0);
@@ -307,8 +309,8 @@ public class Functions {
                         
                         //crsCombo.select(0);
                         
-                        if (!composites.isEmpty())
-                            compositeMappingCombo.select(0);
+                        //if (!composites.isEmpty())
+                        //    compositeMappingCombo.select(0);
                     }); 
                     
                 }
@@ -388,22 +390,22 @@ public class Functions {
             Label compositeMappingLabel = new Label(cmposite, SWT.NONE);
             compositeMappingLabel.setText("Select composite");
 
-            compositeMappingCombo = new Combo(cmposite, SWT.READ_ONLY | SWT.BORDER);
-            GridDataFactory.fillDefaults().grab(true, false).applyTo(compositeMappingCombo);
-            compositeMappingCombo.addSelectionListener(new SelectionAdapter() {
-                
-                @Override
-                public void widgetSelected(SelectionEvent e) {
-                    super.widgetSelected(e);
-                    recalculateMappapleComponents();
-                }
-            });
-            
-            Label compojnentMappingLabel = new Label(cmposite, SWT.NONE);
-            compojnentMappingLabel.setText("Select component");
+//            compositeMappingCombo = new Combo(cmposite, SWT.READ_ONLY | SWT.BORDER);
+//            GridDataFactory.fillDefaults().grab(true, false).applyTo(compositeMappingCombo);
+//            compositeMappingCombo.addSelectionListener(new SelectionAdapter() {
+//                
+//                @Override
+//                public void widgetSelected(SelectionEvent e) {
+//                    super.widgetSelected(e);
+//                    recalculateMappapleComponents();
+//                }
+//            });
             
-            componentMappingCombo = new Combo(cmposite, SWT.READ_ONLY | SWT.BORDER);
-            GridDataFactory.fillDefaults().grab(true, false).applyTo(componentMappingCombo);
+//            Label compojnentMappingLabel = new Label(cmposite, SWT.NONE);
+//            compojnentMappingLabel.setText("Select component");
+//            
+//            componentMappingCombo = new Combo(cmposite, SWT.READ_ONLY | SWT.BORDER);
+//            GridDataFactory.fillDefaults().grab(true, false).applyTo(componentMappingCombo);
         }
         
         protected void recalculateMappapleComponents() {
@@ -463,38 +465,34 @@ public class Functions {
             procedure.execute(null);
             return;
         }
-        Simantics.getSession().asyncRequest(
-                NewCompositeActionFactory.createCompositeRequest(target, defaultName, compositeType),
-                new Procedure<Resource>() {
-                    @Override
-                    public void execute(Resource composite) {
-                        Simantics.getSession().asyncRequest(new WriteRequest() {
-                            
-                            @Override
-                            public void perform(WriteGraph graph) throws DatabaseException {
-                                DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
-                                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.RightClickDefaultMapping, dialog.getRightClickVertexMapping());
-                                graph.claim(diagram, DN.LeftClickDefaultMapping, dialog.getLeftClickVertexMapping());
-                                graph.claim(diagram, DN.HasSpatialRefSystem, dialog.getCRS());
-                                
-                                // Generated name prefix from composite name
-                                String compositeName = graph.getRelatedValue2(composite, Layer0.getInstance(graph).HasName, Bindings.STRING);
-                                graph.claimLiteral(diagram, Layer0X.getInstance(graph).HasGeneratedNamePrefix, "N" + compositeName.substring(compositeName.length() - 1, compositeName.length()));
-                            }
-                        });
-                        DefaultActions.asyncPerformDefaultAction(Simantics.getSession(), composite, false, false, true);
-                        procedure.execute(composite);
-                    }
-
-                    @Override
-                    public void exception(Throwable t) {
-                        LOGGER.error("Failed to create composite, see exception for details.", t);
-                        procedure.exception(t);
-                    }
-                });
+        Simantics.getSession().asyncRequest(new WriteResultRequest<Resource>() {
+
+            @Override
+            public Resource perform(WriteGraph graph) throws DatabaseException {
+                return DistrictNetworkUtil.createNetworkDiagram(graph, target, compositeType, defaultName, 
+                        dialog.getDefaultEdgeMapping(),
+                        dialog.getDefaultVertexMapping(),
+                        dialog.getRightClickVertexMapping(),
+                        dialog.getLeftClickVertexMapping(),
+                        dialog.getCRS()
+                    );
+            }
+            
+
+        }, new Procedure<Resource>() {
+
+            @Override
+            public void execute(Resource composite) {
+                DefaultActions.asyncPerformDefaultAction(Simantics.getSession(), composite, false, false, true);
+                procedure.execute(composite);
+            }
+
+            @Override
+            public void exception(Throwable t) {
+                LOGGER.error("Failed to create composite, see exception for details.", t);
+                procedure.exception(t);
+            }
+        });
     }
 
     public static Collection<Resource> getDistrictDiagrams(ReadGraph graph) throws DatabaseException {
@@ -512,52 +510,13 @@ public class Functions {
     private static List<String> listInstanceNames(ReadGraph graph, Variable context, Resource type) throws DatabaseException {
         Resource indexRoot = Variables.getIndexRoot(graph, context);
         DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
-        List<Resource> properties = QueryIndexUtils.searchByType(graph, indexRoot, DN.Vertex_ScaleProperty);
+        List<Resource> properties = Collections.emptyList();//QueryIndexUtils.searchByType(graph, indexRoot, DN.Vertex_ScaleProperty);
         return properties.stream()
                 .map(m -> createEnumeratedValue(graph, m))
                 .map(EnumeratedValue::getName)
                 .collect(Collectors.toList());
     }
 
-    @SCLValue(type = "ReadGraph -> Resource -> Variable -> b")
-    public static Object edgeThicknessPropertyEnumerationValues(ReadGraph graph, Resource resource, Variable context) throws DatabaseException {
-        DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
-        return listInstanceNames(graph, context, DN.Edge_ThicknessProperty);
-    }
-    
-    @SCLValue(type = "ReadGraph -> Resource -> Variable -> b")
-    public static Object arrowLengthPropertyEnumerationValues(ReadGraph graph, Resource resource, Variable context) throws DatabaseException {
-        DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
-        return listInstanceNames(graph, context, DN.Edge_ArrowLengthProperty);
-    }
-    
-    @SCLValue(type = "ReadGraph -> Resource -> Variable -> b")
-    public static Object nodeScalePropertyEnumerationValues(ReadGraph graph, Resource resource, Variable context) throws DatabaseException {
-        DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
-        return listInstanceNames(graph, context, DN.Vertex_ScaleProperty);
-    }
-
-    @SCLValue(type = "ReadGraph -> Resource -> Variable -> b")
-    public static Object edgeThicknessPropertyModifier(ReadGraph graph, Resource resource, Variable context) throws DatabaseException {
-        Resource diagram = resolveElement(graph, context);
-        DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
-        return baseMappingModifier(graph, diagram, DN.Diagram_edgeThicknessProperty, DN.Edge_ThicknessProperty, context);
-    }
-
-    @SCLValue(type = "ReadGraph -> Resource -> Variable -> b")
-    public static Object arrowLengthPropertyModifier(ReadGraph graph, Resource resource, Variable context) throws DatabaseException {
-        Resource diagram = resolveElement(graph, context);
-        DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
-        return baseMappingModifier(graph, diagram, DN.Diagram_arrowLengthProperty, DN.Edge_ArrowLengthProperty, context);
-    }
-    
-    @SCLValue(type = "ReadGraph -> Resource -> Variable -> b")
-    public static Object nodeScalePropertyModifier(ReadGraph graph, Resource resource, Variable context) throws DatabaseException {
-        Resource diagram = resolveElement(graph, context);
-        DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
-        return baseMappingModifier(graph, diagram, DN.Diagram_nodeScaleProperty, DN.Vertex_ScaleProperty, context);
-    }
-
     @SCLValue(type = "ReadGraph -> Resource -> Variable -> b")
     public static Function1<Resource, Double> hasDiameterValue(ReadGraph graph, Resource resource, Variable context) throws DatabaseException {
         return directPropertyValueFunction(DistrictNetworkResource.getInstance(graph).Edge_HasDiameter, 0);