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=90baafb5778142cd26a2b2011e79ef68ad542e0f;hb=8bed58cd47f4e53a0a83e066d38864aa6875502f;hp=b6de1acb2724f88b30edaae0819a0d690102ece3;hpb=67806ff9e00d7e86828a3a42ee6b6e7e2bd443da;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 b6de1acb..90baafb5 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 @@ -1,6 +1,5 @@ package net.mograsim.logic.model.editor; -import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Optional; @@ -20,12 +19,11 @@ import net.mograsim.logic.model.editor.handles.PinHandle; import net.mograsim.logic.model.editor.states.StateManager; import net.mograsim.logic.model.editor.ui.DialogManager; import net.mograsim.logic.model.editor.ui.EditorGUI; -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.model.LogicModelModifiable; +import net.mograsim.logic.model.model.components.ModelComponent; +import net.mograsim.logic.model.model.wires.ModelWire; import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent; -import net.mograsim.logic.model.serializing.IdentifyParams; -import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; import net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler; import net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer; import net.mograsim.logic.model.snippets.symbolrenderers.DefaultSymbolRenderer; @@ -36,7 +34,6 @@ public final class Editor final Set copyBuffer = new HashSet<>(); public final DeserializedSubmodelComponent toBeEdited; public final HandleManager handleManager; - final static Map identifierPerComponent = new HashMap<>(); public final EditorGUI gui; public final StateManager stateManager; private final SaveLoadManager saveManager; @@ -56,12 +53,10 @@ public final class Editor saveManager = new SaveLoadManager(this); dialogManager = new DialogManager(gui.shell); - toBeEdited.submodel.addComponentRemovedListener(c -> identifierPerComponent.remove(c)); - gui.open(); } - public ViewModelModifiable getSubmodel() + public LogicModelModifiable getSubmodel() { return toBeEdited.getSubmodelModifiable(); } @@ -127,7 +122,7 @@ public final class Editor selection.clear(); for (ComponentInfo info : copyBuffer) { - GUIComponent comp = addComponent(info.identifier, info.params); + ModelComponent comp = addComponent(info.identifier, info.params); ComponentHandle h = handleManager.getHandle(comp); h.reqMove(info.relX, info.relY); selection.add(h); @@ -154,7 +149,7 @@ public final class Editor String selected = gui.getAddListSelected(); try { - GUIComponent c = addComponent(selected, params); + ModelComponent c = addComponent(selected, params); selection.clear(); selection.add(handleManager.getHandle(c)); moveSelection(x, y); @@ -171,18 +166,9 @@ public final class Editor } } - private GUIComponent addComponent(String identifier, JsonElement params) - { - GUIComponent comp = IndirectGUIComponentCreator.createComponent(toBeEdited.getSubmodelModifiable(), identifier, params); - identifierPerComponent.put(comp, identifier); - return comp; - } - - public static String getIdentifier(GUIComponent c) + private ModelComponent addComponent(String identifier, JsonElement params) { - if (identifierPerComponent.containsKey(c)) - return identifierPerComponent.get(c); - return c.getIDForSerializing(new IdentifyParams()); + return IndirectModelComponentCreator.createComponent(toBeEdited.getSubmodelModifiable(), identifier, params); } public void duplicate() @@ -225,7 +211,7 @@ public final class Editor @SuppressWarnings("unused") public void addWire(PinHandle a, PinHandle b) { - new GUIWire(toBeEdited.getSubmodelModifiable(), a.getPin(), b.getPin(), new Point[0]); + new ModelWire(toBeEdited.getSubmodelModifiable(), a.getPin(), b.getPin(), new Point[0]); } public static enum Snapping @@ -248,7 +234,7 @@ public final class Editor public static void openNewEditor() { - DeserializedSubmodelComponent toBeEdited = new DeserializedSubmodelComponent(new ViewModelModifiable(), null, null, null); + DeserializedSubmodelComponent toBeEdited = new DeserializedSubmodelComponent(new LogicModelModifiable(), null, null, null); toBeEdited.setOutlineRenderer(new DefaultOutlineRenderer(toBeEdited)); toBeEdited.setSymbolRenderer(new DefaultSymbolRenderer(toBeEdited)); toBeEdited.setHighLevelStateHandler(new DefaultHighLevelStateHandler());