X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model.editor%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Feditor%2Fhandles%2FHandleManager.java;h=7fe6e432db22d829fb412c024fd43cf60a6b3443;hb=3977f16649531ca3ba345c9cd5ec365e0b804783;hp=58e1f6cb94da8f593e97167e873ebb68bf477c82;hpb=e5ba4628b160a373ed5e7bdcd96ae59b7fbc1faa;p=Mograsim.git diff --git a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/HandleManager.java b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/HandleManager.java index 58e1f6cb..7fe6e432 100644 --- a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/HandleManager.java +++ b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/HandleManager.java @@ -17,6 +17,7 @@ import net.mograsim.logic.model.editor.Editor; import net.mograsim.logic.model.editor.states.EditorState; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; import net.mograsim.logic.model.model.wires.GUIWire; import net.mograsim.logic.model.model.wires.MovablePin; import net.mograsim.logic.model.model.wires.Pin; @@ -86,12 +87,12 @@ public class HandleManager ViewModelModifiable model = editor.getSubmodel(); Map compsByName = model.getComponentsByName(); Set comps = new HashSet<>(compsByName.values()); - GUIComponent interfaceComp = compsByName.get("_submodelinterface"); + GUIComponent interfaceComp = compsByName.get(SubmodelComponent.SUBMODEL_INTERFACE_NAME); comps.remove(interfaceComp); registerInterfaceComponent(interfaceComp); comps.forEach(c -> registerComponent(c)); - model.getWires().forEach(w -> registerWire(w)); + model.getWiresByName().values().forEach(w -> registerWire(w)); addHandle(cornerHandle = new CornerHandle(editor.toBeEdited)); } } @@ -342,6 +343,7 @@ public class HandleManager { EditorState entryState = editor.stateManager.getState(); + // TODO: As soon as wires connected to a component being removed also are removed, change priority if (!cornerHandle.click(clicked.x, clicked.y, stateMask, entryState)) if (!click(handlePerPin.values(), clicked, entryState, stateMask)) if (!click(handlePerInterfacePin.values(), clicked, entryState, stateMask))