From 5567c19e0f7ea8aa8ef645422c889a51aeb540f8 Mon Sep 17 00:00:00 2001 From: Tuukka Lehtonen Date: Mon, 28 Nov 2016 19:20:29 +0200 Subject: [PATCH] Fixed bounds calculation for flags and diagram profile monitors. NodeUtil.getLocalElementBounds did not recognize flag table flags from the scene graph. Also TextGridStyle.calculateStyle used wrong method for transform calculation which causes profile monitors to be positioned incorrectly. refs #6837 refs #6812 [PRIVATE-12779] [PRIVATE-8884] Change-Id: I0700b969347a692ed8d4ff8ec0a5d2c3be781fc1 --- .../src/org/simantics/diagram/profile/TextGridStyle.java | 2 +- .../src/org/simantics/scenegraph/utils/NodeUtil.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/bundles/org.simantics.diagram/src/org/simantics/diagram/profile/TextGridStyle.java b/bundles/org.simantics.diagram/src/org/simantics/diagram/profile/TextGridStyle.java index 6657d5a60..cf3d217c9 100644 --- a/bundles/org.simantics.diagram/src/org/simantics/diagram/profile/TextGridStyle.java +++ b/bundles/org.simantics.diagram/src/org/simantics/diagram/profile/TextGridStyle.java @@ -123,7 +123,7 @@ public abstract class TextGridStyle extends StyleBase { String name = getConfigurationComponentNameForElement(graph, element); if (name == null) return null; - AffineTransform transform = DiagramGraphUtil.getAffineTransform(graph, element); + AffineTransform transform = DiagramGraphUtil.getDynamicAffineTransform(graph, runtimeDiagram, element); Vec2d offset = DiagramGraphUtil.getOffset(graph, element); boolean enabled = !DiagramGraphUtil.getProfileMonitorsHidden(graph, element); boolean up = DiagramGraphUtil.getProfileMonitorsUp(graph, element); diff --git a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/utils/NodeUtil.java b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/utils/NodeUtil.java index fb2f485f6..727b98dbc 100644 --- a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/utils/NodeUtil.java +++ b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/utils/NodeUtil.java @@ -978,9 +978,14 @@ public final class NodeUtil { if(node instanceof ConnectionNode) { return getLocalBounds(node); } else if(node instanceof SingleElementNode) { + // For normal symbols INode image = NodeUtil.findChildByPrefix((SingleElementNode)node, "composite_image"); if (image == null) + // For generic text nodes image = NodeUtil.findChildByPrefix((SingleElementNode) node, "text"); + if (image == null) + // For I/O table diagram flags (value of org.simantics.diagram.flag.FlagSceneGraph.VISUAL_ROOT) + image = NodeUtil.findChildByPrefix((SingleElementNode) node, "visual"); if (image == null) image = NodeUtil.getNearestChildByClass((SingleElementNode) node, FlagNode.class); if (image != null) -- 2.43.2