package com.baselet.gui.command; import com.baselet.control.HandlerElementMap; import com.baselet.diagram.DiagramHandler; import com.baselet.element.old.element.Relation; /** * only for old deprecated relation; new relation handles linepoint movement in the class-code */ @Deprecated public class OldMoveLinePoint extends Command { private final Relation _relation; private final int _linePointId, _diffx, _diffy; public int getLinePointId() { return _linePointId; } public Relation getRelation() { return _relation; } public int getDiffX() { return _diffx * HandlerElementMap.getHandlerForElement(_relation).getGridSize(); } public int getDiffY() { return _diffy * HandlerElementMap.getHandlerForElement(_relation).getGridSize(); } public OldMoveLinePoint(Relation rel, int i, int diffx, int diffy) { _relation = rel; _linePointId = i; _diffx = diffx / HandlerElementMap.getHandlerForElement(rel).getGridSize(); _diffy = diffy / HandlerElementMap.getHandlerForElement(rel).getGridSize(); } @Override public void execute(DiagramHandler handler) { super.execute(handler); _relation.moveLinePoint(_linePointId, getDiffX(), getDiffY()); } @Override public void undo(DiagramHandler handler) { super.undo(handler); _relation.moveLinePoint(_linePointId, -getDiffX(), -getDiffY()); } @Override public boolean isMergeableTo(Command c) { if (!(c instanceof OldMoveLinePoint)) { return false; } OldMoveLinePoint mlp = (OldMoveLinePoint) c; if (getRelation() != mlp.getRelation()) { return false; } if (getLinePointId() != mlp.getLinePointId()) { return false; } return true; } @Override public Command mergeTo(Command c) { OldMoveLinePoint tmp = (OldMoveLinePoint) c; OldMoveLinePoint ret = new OldMoveLinePoint(getRelation(), getLinePointId(), getDiffX() + tmp.getDiffX(), getDiffY() + tmp.getDiffY()); return ret; } }