X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.diagram.connection%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Fconnection%2Factions%2FReconnectTerminalAction.java;fp=bundles%2Forg.simantics.diagram.connection%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Fconnection%2Factions%2FReconnectTerminalAction.java;h=8a9f2a1783e761b4bd26aa7f0124e7cc517e36f1;hp=e5987ca068931c00d4dcd4c522dc1d87899a4bdb;hb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;hpb=24e2b34260f219f0d1644ca7a138894980e25b14 diff --git a/bundles/org.simantics.diagram.connection/src/org/simantics/diagram/connection/actions/ReconnectTerminalAction.java b/bundles/org.simantics.diagram.connection/src/org/simantics/diagram/connection/actions/ReconnectTerminalAction.java index e5987ca06..8a9f2a178 100644 --- a/bundles/org.simantics.diagram.connection/src/org/simantics/diagram/connection/actions/ReconnectTerminalAction.java +++ b/bundles/org.simantics.diagram.connection/src/org/simantics/diagram/connection/actions/ReconnectTerminalAction.java @@ -1,61 +1,61 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 Association for Decentralized Information Management in - * Industry THTH ry. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.diagram.connection.actions; - -import gnu.trove.map.hash.THashMap; - -import java.awt.Graphics2D; - -import org.simantics.diagram.connection.RouteGraph; -import org.simantics.diagram.connection.RouteTerminal; -import org.simantics.diagram.connection.rendering.IRouteGraphRenderer; - -public class ReconnectTerminalAction implements IReconnectAction { - - RouteGraph rg; - RouteGraph rgc; - RouteTerminal terminal; - - public ReconnectTerminalAction(RouteGraph rg, RouteGraph rgc, RouteTerminal terminal) { - this.rg = rg; - this.rgc = rgc; - this.terminal = terminal; - } - - @Override - public void render(Graphics2D g, IRouteGraphRenderer renderer, double mouseX, double mouseY) { - THashMap map = new THashMap(); - RouteGraph rgcc = rgc.copy(map); - RouteTerminal t1 = (RouteTerminal)map.get(terminal); - if(rgcc.connectTerminal(t1, mouseX, mouseY, TOLERANCE)) { - renderer.render(g, rgcc); - } - else { - RouteGraph simpleConnection = new RouteGraph(); - t1 = simpleConnection.addTerminal(terminal); - RouteTerminal t2 = simpleConnection.addTerminal(mouseX, mouseY, - mouseX, mouseY, - mouseX, mouseY, 15); - simpleConnection.link(t1, t2); - renderer.render(g, simpleConnection); - - renderer.render(g, rgc); - } - } - - @Override - public void finish(double x, double y) { - if(rgc.connectTerminal(terminal, x, y, TOLERANCE)) - rg.replaceBy(rgc); - } - -} +/******************************************************************************* + * Copyright (c) 2007, 2011 Association for Decentralized Information Management in + * Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.diagram.connection.actions; + +import gnu.trove.map.hash.THashMap; + +import java.awt.Graphics2D; + +import org.simantics.diagram.connection.RouteGraph; +import org.simantics.diagram.connection.RouteTerminal; +import org.simantics.diagram.connection.rendering.IRouteGraphRenderer; + +public class ReconnectTerminalAction implements IReconnectAction { + + RouteGraph rg; + RouteGraph rgc; + RouteTerminal terminal; + + public ReconnectTerminalAction(RouteGraph rg, RouteGraph rgc, RouteTerminal terminal) { + this.rg = rg; + this.rgc = rgc; + this.terminal = terminal; + } + + @Override + public void render(Graphics2D g, IRouteGraphRenderer renderer, double mouseX, double mouseY) { + THashMap map = new THashMap(); + RouteGraph rgcc = rgc.copy(map); + RouteTerminal t1 = (RouteTerminal)map.get(terminal); + if(rgcc.connectTerminal(t1, mouseX, mouseY, TOLERANCE)) { + renderer.render(g, rgcc); + } + else { + RouteGraph simpleConnection = new RouteGraph(); + t1 = simpleConnection.addTerminal(terminal); + RouteTerminal t2 = simpleConnection.addTerminal(mouseX, mouseY, + mouseX, mouseY, + mouseX, mouseY, 15); + simpleConnection.link(t1, t2); + renderer.render(g, simpleConnection); + + renderer.render(g, rgc); + } + } + + @Override + public void finish(double x, double y) { + if(rgc.connectTerminal(terminal, x, y, TOLERANCE)) + rg.replaceBy(rgc); + } + +}