public EditableSubmodelComponent(ViewModelModifiable model, String label)
{
- super(model, label); //TODO: set name properly
+ super(model, label, null, null); //TODO: set name properly
this.label = label;
setSubmodelScale(0.2);
addSubmodelInterface(new MovablePin(this, "A Pin", 1, 0, 10));
package net.mograsim.logic.model.editor;
+import java.io.IOException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
}
}
- public static void main(String[] args)
+ public static void main(String[] args) throws IOException
{
SaveLoadManager.openLoadDialog();
}
import net.mograsim.logic.model.editor.ui.DialogManager;
import net.mograsim.logic.model.model.ViewModelModifiable;
import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent;
-import net.mograsim.logic.model.serializing.SubmodelComponentDeserializer;
-import net.mograsim.logic.model.util.JsonHandler;
+import net.mograsim.logic.model.serializing.SubmodelComponentSerializer;
public class SaveLoadManager
{
{
try
{
- JsonHandler.writeJson(editor.toBeEdited.calculateParams(c ->
+ SubmodelComponentSerializer.serialize(editor.toBeEdited,c ->
{
if (Editor.identifierPerComponent.containsKey(c))
return Editor.identifierPerComponent.get(c);
return "class:" + c.getClass().getCanonicalName();
- }), savePath);
+ }, savePath);
} catch (IOException e)
{
savePath = null;
}
}
- public static void openLoadDialog()
+ public static void openLoadDialog() throws IOException
{
String[] result = DialogManager.openMultiTextDialog("Load Component...", "Load", "Cancel", "Path");
if(result != null)
{
- new Editor((DeserializedSubmodelComponent) SubmodelComponentDeserializer
- .create(new ViewModelModifiable(), result[0]));
+ new Editor((DeserializedSubmodelComponent) SubmodelComponentSerializer.deserialize(new ViewModelModifiable(), result[0]));
}
}
}
public Optional<ComponentInfo> reqCopy(Point refPoint)
{
return Optional.of(new ComponentInfo(parent.getPosX() - refPoint.x, parent.getPosY() - refPoint.y,
- Editor.getIdentifier(parent), parent.getParams()));
+ Editor.getIdentifier(parent), parent.getParamsForSerializing()));
}
@Override
// canvas
TranslatedGC tgc = new TranslatedGC(gc, 0.0d, 0.0d, 1 / editor.toBeEdited.getSubmodelScale(), false);
- editor.toBeEdited.outlineRenderer.render(tgc, new Rectangle(-offX / zoom, -offY / zoom, gW / zoom, gH / zoom));
+ editor.toBeEdited.getOutlineRenderer().render(tgc, new Rectangle(-offX / zoom, -offY / zoom, gW / zoom, gH / zoom));
handles.forEach(h -> h.render(gc, visibleRegion));
});
this.outlineRenderer = outlineRenderer;
}
+ public Renderer getOutlineRenderer()
+ {
+ return outlineRenderer;
+ }
+
public void setSymbolRenderer(Renderer symbolRenderer)
{
this.symbolRenderer = symbolRenderer;
}
+ public Renderer getSymbolRenderer()
+ {
+ return symbolRenderer;
+ }
+
public void setHighLevelStateHandler(HighLevelStateHandler highLevelStateHandler)
{
this.highLevelStateHandler = highLevelStateHandler;
}
+ public HighLevelStateHandler getHighLevelStateHandler()
+ {
+ return highLevelStateHandler;
+ }
+
public ViewModelModifiable getSubmodelModifiable()
{
return submodelModifiable;