1 package net.mograsim.logic.model.editor;
3 import java.io.IOException;
5 import org.eclipse.swt.SWT;
6 import org.eclipse.swt.widgets.FileDialog;
7 import org.eclipse.swt.widgets.Shell;
9 import net.mograsim.logic.model.model.LogicModelModifiable;
10 import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent;
11 import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
12 import net.mograsim.logic.model.serializing.SubmodelComponentSerializer;
14 public class SaveLoadManager
16 private String savePath = null;
17 private Editor editor;
19 public SaveLoadManager(Editor editor)
32 public void openSaveAsDialog()
34 Shell fdShell = new Shell();
35 FileDialog fd = new FileDialog(fdShell, SWT.SAVE);
36 fd.setText("Save as...");
37 fd.setFilterExtensions(new String[] { "*.json" });
38 String result = fd.open();
47 private void innerSave()
51 SubmodelComponentSerializer.serialize(editor.toBeEdited, savePath);
56 System.err.println("Failed to save component!");
61 public static void openLoadDialog() throws IOException
63 Shell fdShell = new Shell();
64 FileDialog fd = new FileDialog(fdShell, SWT.OPEN);
65 fd.setText("Load component...");
66 fd.setFilterExtensions(new String[] { "*.json" });
67 String result = fd.open();
71 new Editor((DeserializedSubmodelComponent) IndirectModelComponentCreator.createComponent(new LogicModelModifiable(),
72 "jsonfile:" + result));