X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.diagram%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Felements%2FTextGridNode.java;h=20d419ef089cb4690046de362a14755d258881e4;hb=b9331aba5aa5157e581e5038ff401c525ac18305;hp=f482890e9f762f724cf1373b56dfa09465e614ad;hpb=13947e594855ffed04acd240208827be13d2b560;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.diagram/src/org/simantics/diagram/elements/TextGridNode.java b/bundles/org.simantics.diagram/src/org/simantics/diagram/elements/TextGridNode.java index f482890e9..20d419ef0 100644 --- a/bundles/org.simantics.diagram/src/org/simantics/diagram/elements/TextGridNode.java +++ b/bundles/org.simantics.diagram/src/org/simantics/diagram/elements/TextGridNode.java @@ -50,7 +50,7 @@ public class TextGridNode extends G2DParentNode implements Decoration { public static class A extends TextNode { - MonitorTextGridResult cache = null; + transient MonitorTextGridResult cache = null; private static final long serialVersionUID = -4519849713591842241L; @@ -138,7 +138,7 @@ public class TextGridNode extends G2DParentNode implements Decoration { } } - private int computeRows() { + public int computeRows() { MaxY maxy = new MaxY(); nodes.forEachKey(maxy); return maxy.max; @@ -245,6 +245,7 @@ public class TextGridNode extends G2DParentNode implements Decoration { } public void removeRow(int y) { + rowIds.remove(y); List row = peekRowCells(y); if (row.isEmpty()) return; @@ -264,13 +265,13 @@ public class TextGridNode extends G2DParentNode implements Decoration { } @Override - public void render(Graphics2D g2d) { - Vec2d delta = getDelta(FACTOR); - if(delta != null) - setTransform(AffineTransform.getTranslateInstance(delta.x, delta.y-2.1*computeRows()*(up ? 1.0 : 0.0))); - else - setTransform(AffineTransform.getTranslateInstance(0, -2.1*computeRows()*(up ? 1.0 : 0.0))); - super.render(g2d); + public void refresh() { + Vec2d delta = getDelta(FACTOR); + if(delta != null) + setTransform(AffineTransform.getTranslateInstance(delta.x, delta.y-2.1*computeRows()*(up ? 1.0 : 0.0))); + else + setTransform(AffineTransform.getTranslateInstance(0, -2.1*computeRows()*(up ? 1.0 : 0.0))); + super.refresh(); } @Override