X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model.editor%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Feditor%2Fhandles%2FComponentHandle.java;fp=net.mograsim.logic.model.editor%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Feditor%2Fhandles%2FComponentHandle.java;h=0000000000000000000000000000000000000000;hb=7d05144c25daa53e60fc9ed9fd503546a86567f8;hp=14868e944ff1b684e5cb6f0da63e27692c3f5dbc;hpb=8bed58cd47f4e53a0a83e066d38864aa6875502f;p=Mograsim.git diff --git a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/ComponentHandle.java b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/ComponentHandle.java deleted file mode 100644 index 14868e94..00000000 --- a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/ComponentHandle.java +++ /dev/null @@ -1,107 +0,0 @@ -package net.mograsim.logic.model.editor.handles; - -import java.util.Optional; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Display; - -import net.haspamelodica.swt.helper.gcs.GeneralGC; -import net.haspamelodica.swt.helper.swtobjectwrappers.Font; -import net.haspamelodica.swt.helper.swtobjectwrappers.Point; -import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; -import net.mograsim.logic.model.editor.Editor.ComponentInfo; -import net.mograsim.logic.model.model.LogicModelModifiable; -import net.mograsim.logic.model.model.components.ModelComponent; -import net.mograsim.logic.model.serializing.IdentifyParams; - -public class ComponentHandle extends Handle -{ - private final LogicModelModifiable model; - public final ModelComponent parent; - private final static double POS_OFFSET = 2.0d; - private final static double LENGTH_OFFSET = POS_OFFSET * 2; - boolean selected = false; - - public ComponentHandle(LogicModelModifiable model, ModelComponent parent) - { - super(4); - this.model = model; - this.parent = parent; - Rectangle bounds = parent.getBounds(); - setSize(bounds.width, bounds.height); - parent.addComponentResizedListener((c) -> - { - Rectangle pBounds = c.getBounds(); - setSize(pBounds.width, pBounds.height); - }); - moveTo(parent.getPosX(), parent.getPosY()); - } - - @Override - protected void moveTo(double x, double y) - { - super.moveTo(x, y); - parent.moveTo(x, y); - } - - @Override - protected void render(GeneralGC gc) - { - if (selected) - { - gc.setLineWidth(2); - gc.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_YELLOW)); - Rectangle bounds = getBounds(); - bounds.x -= POS_OFFSET; - bounds.y -= POS_OFFSET; - bounds.width += LENGTH_OFFSET; - bounds.height += LENGTH_OFFSET; - gc.drawRectangle(bounds); - Font oldFont = gc.getFont(); - gc.setFont(new Font(oldFont.getName(), 5, oldFont.getStyle())); - gc.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLACK)); - gc.drawText(parent.getName(), bounds.x, bounds.y, true); - gc.setFont(oldFont); - } - } - - @Override - public void reqMove(double x, double y) - { - moveTo(x, y); - } - - @Override - public void onSelect() - { - selected = true; - callRedrawListeners(); - } - - @Override - public void onDeselect() - { - selected = false; - callRedrawListeners(); - } - - @Override - public void reqDelete() - { - model.destroyComponent(parent); - } - - @Override - public Optional reqCopy(Point refPoint) - { - IdentifyParams idParams = new IdentifyParams(); - return Optional.of(new ComponentInfo(parent.getPosX() - refPoint.x, parent.getPosY() - refPoint.y, - parent.getIDForSerializing(idParams), parent.getParamsForSerializingJSON(idParams))); - } - - @Override - public HandleType getType() - { - return HandleType.COMPONENT; - } -} \ No newline at end of file