X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Fparticipants%2FDNPointerInteractor.java;h=c61adba9fa335f7303a75bc223080dd42f4d4fa5;hb=refs%2Fchanges%2F16%2F2616%2F1;hp=ac90af7fb08b79b457231d50958d6be06935aa8d;hpb=00103b12908c5071e641ca2bea2c42030ff67770;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/participants/DNPointerInteractor.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/participants/DNPointerInteractor.java index ac90af7f..c61adba9 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/participants/DNPointerInteractor.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/participants/DNPointerInteractor.java @@ -7,6 +7,7 @@ import java.util.Set; import org.simantics.district.network.ui.adapters.DistrictNetworkEdgeElement; import org.simantics.district.network.ui.adapters.DistrictNetworkVertexElement; +import org.simantics.g2d.canvas.ICanvasContext; import org.simantics.g2d.canvas.ICanvasParticipant; import org.simantics.g2d.diagram.handler.PickRequest.PickSorter; import org.simantics.g2d.diagram.participant.pointertool.PointerInteractor; @@ -21,6 +22,8 @@ import org.simantics.scenegraph.g2d.nodes.SingleElementNode; public class DNPointerInteractor extends PointerInteractor { + private RoutingMode routingMode; + private static class DNPickSorter implements PickSorter { @Override @@ -68,8 +71,12 @@ public class DNPointerInteractor extends PointerInteractor { @EventHandler(priority = 1000) public boolean enterroutingMode(KeyEvent ke) { - if (ke.character == 't' && ke instanceof KeyReleasedEvent) { - getContext().add(new RoutingMode(0)); + if (Character.toLowerCase(ke.character) == 't' && ke instanceof KeyReleasedEvent) { + ICanvasContext canvasContext = getContext(); + if (routingMode == null || routingMode.isRemoved()) { + routingMode = new RoutingMode(0); + canvasContext.add(routingMode); + } } return false; }