inputlayerconnection.java

来自「拥有图形界面的」· Java 代码 · 共 72 行

JAVA
72
字号
/* * InputLayerConnection.java * * Created on 3 aprile 2001, 0.31 */package org.joone.edit;import CH.ifa.draw.framework.*;import org.joone.engine.*;import org.joone.io.*;/** * * @author  pmarrone */public class InputLayerConnection extends org.joone.edit.LayerConnection {        private static final long serialVersionUID = 2021057399294889866L;        /** Creates new InputLayerConnection */    public InputLayerConnection() {        super();    }        public boolean canConnect(Figure start, Figure end) {        boolean retVal;        retVal = (start instanceof InputLayerFigure && end instanceof LayerFigure);        retVal = retVal && !(end instanceof OutputLayerFigure);        retVal = retVal && !(end instanceof InputPluginLayerFigure);        if (retVal) {            InputLayerFigure source = (InputLayerFigure)start;            InputPatternListener ipl = source.getInputLayer();            if (!(end instanceof InputConnectorLayerFigure))                retVal = !ipl.isInputFull();            else {                InputConnectorLayerFigure target = (InputConnectorLayerFigure)end;                InputConnector ic = (InputConnector)target.getInputLayer();                retVal = !ic.isOutputFull();            }                        }        return retVal;    }        /** handle the connection behaviour     * @param start starting layer     * @param end ending layer     */    public void handleConnect(Figure start, Figure end) {        InputLayerFigure source = (InputLayerFigure)start;        LayerFigure target = (LayerFigure)end;        InputPatternListener ipl = source.getInputLayer();        target.addPreConn(source, ipl);        source.addPostConn(target);        source.notifyPostConn();    }        /** handle the disconnection behaviour     * @param start starting layer     * @param end ending layer     */    public void handleDisconnect(Figure start, Figure end) {        InputLayerFigure source = (InputLayerFigure)start;        LayerFigure target = (LayerFigure)end;        if (target != null) {            target.removePreConn(source, source.getInputLayer());        }        if (source != null)            source.removePostConn(target);    }    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?