X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.maps%2Fsrc%2Forg%2Fsimantics%2Fmaps%2Feclipse%2FMapPainter.java;h=cdf0be15a5236d8a4826da71eb6b4b8f4e1f1cdd;hb=a7a9768802183e04f9d746d8ac0357fd64ad7aa3;hp=00f06dea21839e06859a1908524df132a02948d3;hpb=55f42e7fcc2f6733082ab8c150efe3a2b54ff22b;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.maps/src/org/simantics/maps/eclipse/MapPainter.java b/org.simantics.district.maps/src/org/simantics/maps/eclipse/MapPainter.java index 00f06dea..cdf0be15 100644 --- a/org.simantics.district.maps/src/org/simantics/maps/eclipse/MapPainter.java +++ b/org.simantics.district.maps/src/org/simantics/maps/eclipse/MapPainter.java @@ -11,6 +11,8 @@ *******************************************************************************/ package org.simantics.maps.eclipse; +import java.awt.geom.AffineTransform; + import org.simantics.g2d.canvas.Hints; import org.simantics.g2d.canvas.ICanvasContext; import org.simantics.g2d.canvas.impl.AbstractCanvasParticipant; @@ -60,10 +62,10 @@ public class MapPainter extends AbstractCanvasParticipant { protected MapNode node = null; protected MapScaleNode scaleNode = null; - private int scale; + private AffineTransform transform; - public MapPainter(int scale) { - this.scale = scale; + public MapPainter(AffineTransform transform) { + this.transform = transform; } @Override @@ -95,6 +97,11 @@ public class MapPainter extends AbstractCanvasParticipant { updateNode(); setDirty(); return true; + } else if (e.command.equals( Commands.ENABLE_PAINTING )) { + enablePainting(); + updateNode(); + setDirty(); + return true; } return false; } @@ -102,12 +109,12 @@ public class MapPainter extends AbstractCanvasParticipant { @SGInit public void initSG(G2DParentNode parent) { node = parent.addNode("map", MapNode.class); - node.setScale(scale); + node.setTransform(transform); node.setEnabled(true); node.setZIndex(Integer.MIN_VALUE + 999); // Just under the grid scaleNode = parent.addNode("mapScale", MapScaleNode.class); - scaleNode.setScale(scale); + scaleNode.setTransform(transform); scaleNode.setEnabled(true); scaleNode.setZIndex(Integer.MAX_VALUE - 999); // Just under the grid } @@ -136,4 +143,7 @@ public class MapPainter extends AbstractCanvasParticipant { setHint(KEY_MAP_ENABLED, enabled); } + private void enablePainting() { + setHint(Hints.KEY_DISABLE_PAINTING, false); + } }