X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fmodel%2FViewModelModifiable.java;h=7ebde10ea6ea238c1e5374c175eec7d384e78172;hb=93b398d6271a538a2a4c9f4de07a3b4a8a2a7fd4;hp=79304ec329ede5e71ac6c0aa06c395943db26a29;hpb=b5d8c2d71e27350ea7c9314e40df5bb0584271cd;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModelModifiable.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModelModifiable.java index 79304ec3..7ebde10e 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModelModifiable.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModelModifiable.java @@ -2,15 +2,24 @@ package net.mograsim.logic.model.model; import java.util.Set; -import net.mograsim.logic.model.model.components.GUIComponent; -import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.components.ModelComponent; +import net.mograsim.logic.model.model.wires.ModelWire; public class ViewModelModifiable extends ViewModel { - public String getDefaultComponentName(GUIComponent component) + public String getDefaultComponentName(ModelComponent component) { Set componentNames = getComponentsByName().keySet(); - String nameBase = component.getClass().getSimpleName() + '#'; + // TODO get the ID of component + // The following does not work because this method is called in the constructor of DeserializedSubmodelComponent at a time where + // idForSerializingOverride is not yet set +// String componentID = null; +// if (component instanceof DeserializedSubmodelComponent) +// componentID = ((DeserializedSubmodelComponent) component).idForSerializingOverride; +// if (componentID == null) +// componentID = component.getClass().getSimpleName(); + String componentID = component.getClass().getSimpleName(); + String nameBase = componentID + '#'; for (int i = 0;; i++) { String nameCandidate = nameBase + i; @@ -19,27 +28,38 @@ public class ViewModelModifiable extends ViewModel } } + public String getDefaultWireName() + { + Set wireNames = getWiresByName().keySet(); + for (int i = 0;; i++) + { + String nameCandidate = "unnamedWire#" + i; + if (!wireNames.contains(nameCandidate)) + return nameCandidate; + } + } + @Override - public void componentCreated(GUIComponent component) + public void componentCreated(ModelComponent component, Runnable destroyed) { - super.componentCreated(component); + super.componentCreated(component, destroyed); } @Override - public void componentDestroyed(GUIComponent component) + public void destroyComponent(ModelComponent component) { - super.componentDestroyed(component); + super.destroyComponent(component); } @Override - public void wireCreated(GUIWire wire) + public void wireCreated(ModelWire wire, Runnable destroyed) { - super.wireCreated(wire); + super.wireCreated(wire, destroyed); } @Override - public void wireDestroyed(GUIWire wire) + public void destroyWire(ModelWire wire) { - super.wireDestroyed(wire); + super.destroyWire(wire); } } \ No newline at end of file