package net.mograsim.logic.ui.serializing;
import java.io.IOException;
-import java.util.Map;
+
+import com.google.gson.JsonElement;
import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent;
*/
public class SubmodelComponentParams
{
- public String type, name;
+ // basic stuff
public double width, height;
public InterfacePinParams[] interfacePins;
- public ComponentCompositionParams composition;
- public Map<String, Object> specialized;
+ public SubmodelParameters submodel;
+
+ // functionality that needs to be expressed in Java code
+ public String outlineRendererSnippetID;
+ public JsonElement outlineRendererParams;
+
+ public String symbolRendererSnippetID;
+ public JsonElement symbolRendererParams;
public static class InterfacePinParams
{
public int logicWidth;
}
- public static class InnerWireParams
- {
- public InnerPinParams pin1, pin2;
- public Point[] path;
- }
-
- public static class InnerPinParams
- {
- public int compId;
- public String pinName;
- }
-
- public static class ComponentCompositionParams
+ public static class SubmodelParameters
{
public double innerScale;
public InnerComponentParams[] subComps;
public static class InnerComponentParams
{
public Point pos;
- public String name;
- public Map<String, Object> params;
+ public String id;
+ public JsonElement params;
+ }
+
+ public static class InnerWireParams
+ {
+ public InnerPinParams pin1, pin2;
+ public Point[] path;
+
+ public static class InnerPinParams
+ {
+ public int compId;
+ public String pinName;
+ }
}
}