1 package net.mograsim.logic.model.editor;
3 import java.io.IOException;
5 import net.mograsim.logic.model.editor.DialogManager.InteractiveDialog;
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 InteractiveDialog d = new InteractiveDialog("Save as...", "Save", "Cancel", "Path");
34 if(InteractiveDialog.InteractiveDialogState.ACCEPTED.equals(d.getState()))
36 savePath = d.getText();
41 private void innerSave()
45 JsonHandler.writeJson(editor.toBeEdited.calculateParams(c ->
47 if (Editor.identifierPerComponent.containsKey(c))
48 return Editor.identifierPerComponent.get(c);
49 return "class:" + c.getClass().getCanonicalName();
51 } catch (IOException e)
54 System.err.println("Failed to save component!");
59 public static void openLoadDialog()
61 InteractiveDialog load = new InteractiveDialog("Load Component...", "Load", "Cancel", "Path");
63 if(InteractiveDialog.InteractiveDialogState.ACCEPTED.equals(load.getState()))
65 new Editor((DeserializedSubmodelComponent) SubmodelComponentDeserializer
66 .create(new ViewModelModifiable(), load.getText()));