X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model.editor%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Feditor%2FEditor.java;h=2cc13c1581308680a1b20deee7df528964ffd9bc;hb=148a58630b38b30d4d24a21e3f55c357f5b4d0bc;hp=945490cb8fed1e320ec740c660286c75f3a8555e;hpb=878d036669f4aa9d0c332ced43da3a08b94655e9;p=Mograsim.git diff --git a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/Editor.java b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/Editor.java index 945490cb..2cc13c15 100644 --- a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/Editor.java +++ b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/Editor.java @@ -24,6 +24,7 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.wires.GUIWire; import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public final class Editor @@ -175,7 +176,9 @@ public final class Editor public static String getIdentifier(GUIComponent c) { - return identifierPerComponent.get(c); + if (identifierPerComponent.containsKey(c)) + return identifierPerComponent.get(c); + return new IdentifierGetter().componentIDs.apply(c); } public void duplicate() @@ -192,8 +195,8 @@ public final class Editor case OFF: break; case ABSOLUTE: - newP.x -= newP.x % snapX; - newP.y -= newP.y % snapY; + newP.x = (int) (newP.x / snapX + .5) * snapX; + newP.y = (int) (newP.y / snapY + .5) * snapY; break; default: break;