package net.mograsim.logic.model.editor;
-import java.io.IOException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import com.google.gson.JsonSyntaxException;
import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
+import net.mograsim.logic.model.am2900.Am2900Loader;
import net.mograsim.logic.model.editor.handles.ComponentHandle;
import net.mograsim.logic.model.editor.handles.Handle;
import net.mograsim.logic.model.editor.handles.HandleManager;
import net.mograsim.logic.model.model.components.GUIComponent;
import net.mograsim.logic.model.model.wires.GUIWire;
import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent;
+import net.mograsim.logic.model.serializing.IdentifyParams;
import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler;
+import net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer;
+import net.mograsim.logic.model.snippets.symbolrenderers.DefaultSymbolRenderer;
public final class Editor
{
moveSelection(x, y);
successful = true;
}
- catch (@SuppressWarnings("unused") UnsupportedOperationException | JsonSyntaxException | NumberFormatException e)
+ catch (@SuppressWarnings("unused") UnsupportedOperationException | JsonSyntaxException | NumberFormatException
+ | NullPointerException e)
{
String result = DialogManager.openMultiLineTextDialog("Add component", "Create", "Cancel", "Parameters:");
if (result == null)
public static String getIdentifier(GUIComponent c)
{
- return identifierPerComponent.get(c);
+ if (identifierPerComponent.containsKey(c))
+ return identifierPerComponent.get(c);
+ return c.getIDForSerializing(new IdentifyParams());
}
public void duplicate()
}
}
- public static void main(String[] args) throws IOException
+ public static void main(String[] args)
{
- SaveLoadManager.openLoadDialog();
+ Am2900Loader.setup();
+ openNewEditor();
+// SaveLoadManager.openLoadDialog();
+ }
+
+ public static void openNewEditor()
+ {
+ DeserializedSubmodelComponent toBeEdited = new DeserializedSubmodelComponent(new ViewModelModifiable(), null, null, null);
+ toBeEdited.setOutlineRenderer(new DefaultOutlineRenderer(toBeEdited));
+ toBeEdited.setSymbolRenderer(new DefaultSymbolRenderer(toBeEdited));
+ toBeEdited.setHighLevelStateHandler(new DefaultHighLevelStateHandler());
+ new Editor(toBeEdited);
}
public Snapping getSnapping()