X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fmodel%2FViewModelModifiable.java;h=d9dbdc4a1d6a8f73f05019b689458d18152df4bd;hb=a25f554756e1bc9a1f842293aefe60a220d8b950;hp=79304ec329ede5e71ac6c0aa06c395943db26a29;hpb=8b3e82a368d51751f2660e88a1b9fea9dfeb7e02;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..d9dbdc4a 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 code 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) {