📄 inputpluginconnection.java
字号:
/* * DesiredLayerConnection.java * * Created on 31 maggio 2001, 23.41 */package org.joone.edit;import CH.ifa.draw.framework.*;import CH.ifa.draw.figures.*;import java.awt.Color;import org.joone.util.*;import org.joone.io.StreamInputSynapse;public class InputPluginConnection extends LayerConnection { private static final long serialVersionUID = 2487660906025538103L; /** Creates new DesiredLayerConnection */ public InputPluginConnection() { setEndDecoration(null); setStartDecoration(new ArrowTip()); setAttribute("FrameColor", Color.magenta); } /** determines if the two layers can be connected * @param start starting layer * @param end ending layer * @return true if can be connected */ public boolean canConnect(Figure start, Figure end) { boolean retValue; retValue = super.canConnect(start, end); if (!(end instanceof InputPluginLayerFigure)) retValue = false; if (start instanceof InputLayerFigure) { InputLayerFigure ilf = (InputLayerFigure)start; StreamInputSynapse sis = ilf.getInputLayer(); if (sis.getPlugIn() != null) retValue = false; } if (start instanceof InputPluginLayerFigure) { InputPluginLayerFigure ilf = (InputPluginLayerFigure)start; ConverterPlugIn cpi = ilf.getPluginLayer(); if (cpi.getNextPlugIn() != null) retValue = false; } return retValue; } /** handle the connection behaviour * @param start starting layer * @param end ending layer */ public void handleConnect(Figure start, Figure end) { /* source = end and target = start * because the arrow goes from InputPluginLayerFigure to InputLayerFigure */ InputPluginLayerFigure source = (InputPluginLayerFigure)end; ConverterPlugIn myPlugin = source.getPluginLayer(); if (start instanceof InputLayerFigure) { InputLayerFigure target = (InputLayerFigure)start; target.addPreConn(source, myPlugin); source.addPostConn(target); } else { InputPluginLayerFigure target = (InputPluginLayerFigure)start; target.addPreConn(source, myPlugin); source.addPostConn(target); } source.notifyPostConn(); } /** handle the disconnection behaviour * @param start starting layer * @param end ending layer */ public void handleDisconnect(Figure start, Figure end) { /* source = end and target = start * because the arrow goes from InputLayerFigure to TeacherLayerFigure */ if (end == null) return; InputPluginLayerFigure source = (InputPluginLayerFigure)end; if (start instanceof InputPluginLayerFigure) { InputPluginLayerFigure target = (InputPluginLayerFigure)start; source.removePostConn(target); if (target != null) target.removePreConn(source, source.getPluginLayer()); } else { InputLayerFigure target = (InputLayerFigure)start; if (target != null) target.removePreConn(source, source.getPluginLayer()); source.removePostConn(target); } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -