package net.mograsim.logic.model.editor;
+import java.io.IOException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
+import com.google.gson.JsonNull;
+import com.google.gson.JsonParser;
+import com.google.gson.JsonSyntaxException;
import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
import net.mograsim.logic.model.editor.handles.ComponentHandle;
{
saveManager.save();
}
+
+ public void saveAs()
+ {
+ saveManager.openSaveAsDialog();
+ }
public void addComponent(double x, double y)
{
- GUIComponent c = addComponent(gui.getAddListSelected(), new JsonObject());
- selection.clear();
- selection.add(handleManager.getHandle(c));
- moveSelection(x, y);
+ boolean successful = false;
+ JsonElement params = JsonNull.INSTANCE;
+ outer:
+ while(!successful)
+ {
+ String selected = gui.getAddListSelected();
+ try
+ {
+ GUIComponent c = addComponent(selected, params);
+ selection.clear();
+ selection.add(handleManager.getHandle(c));
+ moveSelection(x, y);
+ successful = true;
+ }
+ catch(UnsupportedOperationException | JsonSyntaxException | NumberFormatException e)
+ {
+ String result = DialogManager.openMultiLineTextDialog("Add component", "Create", "Cancel", "Parameters:");
+ if(result == null)
+ break outer;
+ params = new JsonParser().parse(result);
+ }
+ }
}
private GUIComponent addComponent(String identifier, JsonElement params)
}
}
- public static void main(String[] args)
+ public static void main(String[] args) throws IOException
{
SaveLoadManager.openLoadDialog();
}