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=3b8de909280becba65a9c80090d203f3381d0aa7;hb=562f580d80a1ed1f2b5fabd3bab520b2fa44c4a8;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..3b8de9092 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 @@ -293,7 +294,7 @@ public class TextGridNode extends G2DParentNode implements Decoration { return EventTypes.MouseDragBeginMask | EventTypes.MouseMovedMask | EventTypes.MouseButtonReleasedMask | EventTypes.KeyPressedMask; } - private static boolean isEventDummy(MouseDragBegin e) { + protected static boolean isEventDummy(MouseDragBegin e) { if (e.controlPosition.distance(0, 0) == 0 && e.screenPosition.distance(0, 0) == 0 && e.buttons == 0) { @@ -303,9 +304,9 @@ public class TextGridNode extends G2DParentNode implements Decoration { } } - private boolean dragging = false; - private Point2D dragBegin = null; - private Point2D currentDrag = null; + protected boolean dragging = false; + protected Point2D dragBegin = null; + protected Point2D currentDrag = null; private Function1 translator = null; private static double FACTOR = 1.0;