X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fmodel%2FViewModelModifiable.java;h=b4062288984c71a0620b82262ac25d4c2b398bed;hb=c1231d4a7b5857a4a11efc1dcf132838350c54a1;hp=79304ec329ede5e71ac6c0aa06c395943db26a29;hpb=47ea68ed5c444dd14864412639f6a6fd60ab8a0f;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..b4062288 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 @@ -10,7 +10,16 @@ public class ViewModelModifiable extends ViewModel public String getDefaultComponentName(GUIComponent 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,6 +28,17 @@ 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) {