]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.district.network.ui/src/org/simantics/district/network/ui/participants/DNPointerInteractor.java
Hide "enabled" column for non-component type tech type tables
[simantics/district.git] / org.simantics.district.network.ui / src / org / simantics / district / network / ui / participants / DNPointerInteractor.java
1 package org.simantics.district.network.ui.participants;
2
3 import java.awt.geom.Point2D;
4 import java.util.Set;
5
6 import org.simantics.g2d.canvas.ICanvasContext;
7 import org.simantics.g2d.canvas.ICanvasParticipant;
8 import org.simantics.g2d.diagram.participant.pointertool.PointerInteractor;
9 import org.simantics.g2d.diagram.participant.pointertool.TerminalUtil.TerminalInfo;
10 import org.simantics.g2d.element.IElement;
11 import org.simantics.scenegraph.g2d.events.EventHandlerReflection.EventHandler;
12 import org.simantics.scenegraph.g2d.events.KeyEvent;
13 import org.simantics.scenegraph.g2d.events.KeyEvent.KeyReleasedEvent;
14
15 public class DNPointerInteractor extends PointerInteractor {
16
17     private RoutingMode routingMode;
18
19     public DNPointerInteractor() {
20         super(new DNPickSorter());
21     }
22
23     @Override
24     protected ICanvasParticipant createConnectTool(TerminalInfo ti, int mouseId, Point2D startCanvasPos) {
25         return super.createConnectTool(ti, mouseId, startCanvasPos);
26     }
27
28     @Override
29     protected ICanvasParticipant createTranslateTool(int mouseId, Point2D startCanvasPos, Point2D curCanvasPos,
30             Set<IElement> elementsToDrag) {
31         return new DNTranslateMode(startCanvasPos, curCanvasPos, mouseId, elementsToDrag);
32     }
33
34     @EventHandler(priority = 1000)
35     public boolean enterroutingMode(KeyEvent ke) {
36         if (Character.toLowerCase(ke.character) == 't' && ke instanceof KeyReleasedEvent) {
37             ICanvasContext canvasContext = getContext();
38             if (routingMode == null || routingMode.isRemoved()) {
39                 routingMode = new RoutingMode(0);
40                 canvasContext.add(routingMode);
41             }
42         }
43         return false;
44     }
45
46     @Override
47     public double getPickDistance() {
48         return 4;
49     }
50 }