Fixed Editor duplication of deserialized components
authorDaniel Kirschten <daniel.kirschten@gmx.de>
Wed, 28 Aug 2019 16:08:24 +0000 (18:08 +0200)
committerDaniel Kirschten <daniel.kirschten@gmx.de>
Wed, 28 Aug 2019 16:08:24 +0000 (18:08 +0200)
net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/Editor.java
net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/SaveLoadManager.java

index e327915..e2dee42 100644 (file)
@@ -175,7 +175,9 @@ public final class Editor
 
        public static String getIdentifier(GUIComponent c)
        {
-               return identifierPerComponent.get(c);
+               if (identifierPerComponent.containsKey(c))
+                       return identifierPerComponent.get(c);
+               return "class:" + c.getClass().getCanonicalName();
        }
 
        public void duplicate()
index 6d951af..412313e 100644 (file)
@@ -54,12 +54,7 @@ public class SaveLoadManager
                try
                {
                        IdentifierGetter idGetter = new IdentifierGetter();
-                       idGetter.componentIDs = c ->
-                       {
-                               if (Editor.identifierPerComponent.containsKey(c))
-                                       return Editor.identifierPerComponent.get(c);
-                               return getStandardID(c, IndirectGUIComponentCreator.getStandardComponentIDs(), true);
-                       };
+                       idGetter.componentIDs = c -> getStandardID(c, IndirectGUIComponentCreator.getStandardComponentIDs(), true);
                        idGetter.symbolRendererIDs = h -> getStandardID(h,
                                        SubmodelComponentSnippetSuppliers.symbolRendererSupplier.getStandardSnippetIDs());
                        idGetter.outlineRendererIDs = h -> getStandardID(h,