]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.diagram/src/org/simantics/diagram/flag/FlagSceneGraph.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.diagram / src / org / simantics / diagram / flag / FlagSceneGraph.java
index cd8661350bc14318003cf1683d196be64145f631..3f0587f1d663e3dc4031fa4a278744df6d8dd8cb 100644 (file)
@@ -1,6 +1,7 @@
 package org.simantics.diagram.flag;
 
 import java.awt.Color;
+import java.awt.Font;
 import java.awt.Shape;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Rectangle2D;
@@ -8,6 +9,7 @@ import java.awt.geom.Rectangle2D;
 import org.simantics.databoard.util.Bean;
 import org.simantics.diagram.adapter.FlagTextInfo;
 import org.simantics.diagram.adapter.SVGImageInfo;
+import org.simantics.diagram.elements.SVGNode;
 import org.simantics.diagram.elements.TextNode;
 import org.simantics.g2d.element.ElementUtils;
 import org.simantics.g2d.element.IElement;
@@ -21,7 +23,6 @@ import org.simantics.g2d.utils.Alignment;
 import org.simantics.scenegraph.Node;
 import org.simantics.scenegraph.g2d.G2DParentNode;
 import org.simantics.scenegraph.g2d.nodes.FlagNode;
-import org.simantics.scenegraph.g2d.nodes.SVGNode;
 import org.simantics.ui.colors.Colors;
 import org.simantics.ui.fonts.Fonts;
 import org.simantics.utils.datastructures.hints.IHintContext.Key;
@@ -90,6 +91,8 @@ public class FlagSceneGraph implements SceneGraph {
             Alignment horizAlign = ElementUtils.getHintOrDefault(e, FlagClass.KEY_TEXT_HORIZONTAL_ALIGN, Alignment.LEADING);
             Alignment vertAlign = ElementUtils.getHintOrDefault(e, FlagClass.KEY_TEXT_VERTICAL_ALIGN, Alignment.CENTER);
 
+            Font font  = ElementUtils.getHintOrDefault(e, FlagClass.KEY_FLAG_FONT, FlagNode.DEFAULT_FONT);
+
             ElementUtils.removePossibleNode(e, KEY_VISUAL_SG_NODE);
             e.removeHint(KEY_VISUAL_SG_NODE);
 
@@ -106,7 +109,8 @@ public class FlagSceneGraph implements SceneGraph {
                     (float) beakAngle,
                     textArea,
                     horizAlign.ordinal(),
-                    vertAlign.ordinal());
+                    vertAlign.ordinal(),
+                    font);
             AffineTransform at = ElementUtils.getTransform(e);
             if(at != null) flag.setTransform(at);