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.SubmodelComponentSerializer;
10 public class SaveLoadManager
12 private String savePath = null;
13 private Editor editor;
15 public SaveLoadManager(Editor editor)
28 public void openSaveAsDialog()
30 String result[] = DialogManager.openMultiTextDialog("Save as...", "Save", "Cancel", "Path");
38 private void innerSave()
42 SubmodelComponentSerializer.serialize(editor.toBeEdited,c ->
44 if (Editor.identifierPerComponent.containsKey(c))
45 return Editor.identifierPerComponent.get(c);
46 return "class:" + c.getClass().getCanonicalName();
48 } catch (IOException e)
51 System.err.println("Failed to save component!");
56 public static void openLoadDialog() throws IOException
58 String[] result = DialogManager.openMultiTextDialog("Load Component...", "Load", "Cancel", "Path");
61 new Editor((DeserializedSubmodelComponent) SubmodelComponentSerializer.deserialize(new ViewModelModifiable(), result[0]));