]> gerrit.simantics Code Review - simantics/platform.git/commitdiff
Merge "(refs #7519) Added old constructor back to ConnectionVisuals."
authorHannu Niemistö <hannu.niemisto@semantum.fi>
Tue, 3 Oct 2017 19:08:37 +0000 (22:08 +0300)
committerGerrit Code Review <gerrit2@www.simantics.org>
Tue, 3 Oct 2017 19:08:37 +0000 (22:08 +0300)
bundles/org.simantics.diagram/scl/Simantics/Diagram/SVGNode.scl
bundles/org.simantics.diagram/src/org/simantics/diagram/elements/EditorStateManager.java
bundles/org.simantics.diagram/src/org/simantics/diagram/elements/SVGMeasurementContext.java
bundles/org.simantics.diagram/src/org/simantics/diagram/elements/SVGNode.java
bundles/org.simantics.selectionview.ui.ontology/graph/SelectionViewUi.pgraph
bundles/org.simantics.selectionview/src/org/simantics/selectionview/SelectionViewUtils.java

index 9c5d43c4f37028b1cc7e160915eb5a76b3ce4d4b..25aa798b1bac82d1b126879245cd84f43f5a824d 100644 (file)
@@ -4,6 +4,7 @@ type BoundingBox = (Double,Double,Double,Double)
 importJava "org.simantics.diagram.elements.SVGMeasurementContext" where
   data SVGMeasurementContext
   getBoundingBox :: SVGMeasurementContext -> String -> <Proc> Maybe BoundingBox
+  modifyText :: SVGMeasurementContext -> String -> String -> <Proc> ()
 
 getBoundingBoxX :: BoundingBox -> Double
 getBoundingBoxX (x,_,_,_) = x
index 1223d8eaffe74fe606d0461d7b122676622736c2..bc01793cd29c1634bb51678aec11b73d8d857d07 100644 (file)
@@ -53,6 +53,7 @@ class EditorStateManager {
                public SVGMeasurementContextImpl(SVGNode node) {
                        this.node = node;
                }
+
                @Override
                public Tuple4 getBoundingBox(String id) {
                        try {
@@ -63,6 +64,11 @@ class EditorStateManager {
                                return null;
                        }
                }
+
+               @Override
+               public void modifyText(String id, String newText) {
+                       node.modifyTextElement(id, newText);
+               }
        }
 
        EditorStateManager(SVGNode node) {
index 19175a83314ca8e34d98f5b186418053ae61398f..70030a561ded7e0d73cc061200850f51159a10f8 100644 (file)
@@ -19,4 +19,5 @@ import org.simantics.scl.runtime.tuple.Tuple4;
  */
 public interface SVGMeasurementContext {
     Tuple4 getBoundingBox(String id);
+    void modifyText(String id, String newText);
 }
index bccba4aa769ad96ebcc47080187846e4e3f2db22..4d654791925080230f51a9b525cc777a1f7760d7 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * Copyright (c) 2007, 2017 Association for Decentralized Information Management
  * in Industry THTH ry.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -28,13 +28,19 @@ import org.simantics.scenegraph.g2d.events.command.CommandEvent;
 import org.simantics.scenegraph.g2d.nodes.SVGNodeAssignment;
 import org.simantics.scenegraph.g2d.nodes.SingleElementNode;
 import org.simantics.scenegraph.utils.NodeUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.kitfox.svg.SVGDiagram;
 import com.kitfox.svg.SVGException;
+import com.kitfox.svg.Text;
+import com.kitfox.svg.Tspan;
 
 @RasterOutputWidget
 public class SVGNode extends org.simantics.scenegraph.g2d.nodes.SVGNode {
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(SVGNode.class);
+
     private static final long serialVersionUID = 4735066193941274186L;
 
     transient EditorStateManager esm  = null;
@@ -150,4 +156,22 @@ public class SVGNode extends org.simantics.scenegraph.g2d.nodes.SVGNode {
         return EventTypes.KeyPressedMask | EventTypes.MouseClickMask | EventTypes.CommandMask;
     }
 
+    public void modifyTextElement(String id, String newText) {
+        Text text = (Text) diagramCache.getElement(id);
+
+        EditorState es = new EditorState();
+        es.base = new EditorStateStatic();
+        es.base.textElementId = text.getId();
+
+        Tspan span = (Tspan)text.getContent().get(0);
+
+        try {
+            span.setText(newText);
+            text.rebuild();
+            diagramCache.updateTime(0);
+        } catch (SVGException e) {
+            LOGGER.error("Failed to update text span element " + id + " with text " + newText, e);
+        }
+    }
+
 }
index 704e7430c417a7541255b2cd8d3e6f3242c9f02e..6f103f4bfa4add2ac8dc422429680556b4e34c71 100644 (file)
@@ -82,7 +82,7 @@ SEL.StandardProperties.BrowseContextStandardChildren <T SEL.StandardProperties.B
         SEL.StandardProperties.BrowseContextStandardChildren.Var : MOD.ModelingBrowseContext.VariablePropertyRule
           MOD.ModelingBrowseContext.VariablePropertyRule.RequireProperty "HasStandardPropertyInfo"
   @L0.assert VP.BrowseContext.HasChildContribution 
-    _ : VP.ChildContribution
+    SEL.StandardProperties.BrowseContextStandardChildren.CatContribution : VP.ChildContribution
       VP.ChildContribution.HasParentNodeType MOD.ModelingBrowseContext.Variable
       VP.ChildContribution.HasChildNodeType SEL.CategoryNode
       VP.ChildContribution.HasRule 
index ce80c9f827f41bfb9e2045432d1ea0e8c514efe2..a455848d4d7ee12bc1eb5523cfea755692881bc2 100644 (file)
@@ -18,7 +18,7 @@ public class SelectionViewUtils {
                SelectionViewResources SEL = SelectionViewResources.getInstance(graph);
                Resource categoryResource = info.getPossibleRepresents(graph);
                
-               if(SEL.CategoryHidden.equals(categoryResource)) {
+               //if(SEL.CategoryHidden.equals(categoryResource)) {
                        
                        Variable property = info.getParent(graph);
                        Variable parent = property.getParent(graph);
@@ -41,7 +41,7 @@ public class SelectionViewUtils {
                        } finally {
                    sclContext.put("graph", oldGraph);
                        }
-               }
+               //}
                
                return null;