1 package net.mograsim.logic.model.editor;
3 import java.io.IOException;
5 import net.mograsim.logic.model.editor.ui.DialogManager;
6 import net.mograsim.logic.model.model.ViewModelModifiable;
7 import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent;
8 import net.mograsim.logic.model.serializing.SubmodelComponentDeserializer;
9 import net.mograsim.logic.model.util.JsonHandler;
11 public class SaveLoadManager
13 private String savePath = null;
14 private Editor editor;
16 public SaveLoadManager(Editor editor)
29 public void openSaveAsDialog()
31 String result[] = DialogManager.openMultiTextDialog("Save as...", "Save", "Cancel", "Path");
39 private void innerSave()
43 JsonHandler.writeJson(editor.toBeEdited.calculateParams(c ->
45 if (Editor.identifierPerComponent.containsKey(c))
46 return Editor.identifierPerComponent.get(c);
47 return "class:" + c.getClass().getCanonicalName();
49 } catch (IOException e)
52 System.err.println("Failed to save component!");
57 public static void openLoadDialog()
59 String[] result = DialogManager.openMultiTextDialog("Load Component...", "Load", "Cancel", "Path");
62 new Editor((DeserializedSubmodelComponent) SubmodelComponentDeserializer
63 .create(new ViewModelModifiable(), result[0]));