Use SWT's FileDialog instead of self-written one
authorDaniel Kirschten <daniel.kirschten@gmx.de>
Mon, 15 Jul 2019 20:00:12 +0000 (22:00 +0200)
committerDaniel Kirschten <daniel.kirschten@gmx.de>
Mon, 15 Jul 2019 20:00:59 +0000 (22:00 +0200)
net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/SaveLoadManager.java

index fa2c8a1..96aad40 100644 (file)
@@ -2,7 +2,10 @@ package net.mograsim.logic.model.editor;
 
 import java.io.IOException;
 
-import net.mograsim.logic.model.editor.ui.DialogManager;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Shell;
+
 import net.mograsim.logic.model.model.ViewModelModifiable;
 import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent;
 import net.mograsim.logic.model.serializing.SubmodelComponentSerializer;
@@ -27,10 +30,15 @@ public class SaveLoadManager
 
        public void openSaveAsDialog()
        {
-               String result[] = DialogManager.openMultiTextDialog("Save as...", "Save", "Cancel", "Path");
+               Shell fdShell = new Shell();
+               FileDialog fd = new FileDialog(fdShell, SWT.SAVE);
+               fd.setText("Save as...");
+               fd.setFilterExtensions(new String[] { "*.json" });
+               String result = fd.open();
+               fdShell.dispose();
                if (result != null)
                {
-                       savePath = result[0];
+                       savePath = result;
                        innerSave();
                }
        }
@@ -56,10 +64,15 @@ public class SaveLoadManager
 
        public static void openLoadDialog() throws IOException
        {
-               String[] result = DialogManager.openMultiTextDialog("Load Component...", "Load", "Cancel", "Path");
+               Shell fdShell = new Shell();
+               FileDialog fd = new FileDialog(fdShell, SWT.OPEN);
+               fd.setText("Load component...");
+               fd.setFilterExtensions(new String[] { "*.json" });
+               String result = fd.open();
+               fdShell.dispose();
                if (result != null)
                {
-                       new Editor((DeserializedSubmodelComponent) SubmodelComponentSerializer.deserialize(new ViewModelModifiable(), result[0]));
+                       new Editor((DeserializedSubmodelComponent) SubmodelComponentSerializer.deserialize(new ViewModelModifiable(), result));
                }
        }
 }