1 package net.mograsim.logic.model.serializing;
3 import com.google.gson.JsonElement;
5 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
6 import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
7 import net.mograsim.logic.model.model.wires.PinUsage;
8 import net.mograsim.logic.model.util.Version;
11 * This class contains all the information necessary to create a new {@link SubmodelComponent}
13 public class SubmodelComponentParams extends SerializablePojo
16 public double width, height;
17 public InterfacePinParams[] interfacePins;
18 public double innerScale;
19 public LogicModelParams submodel;
21 // functionality that needs to be expressed in Java code
22 public String symbolRendererSnippetID;
23 public JsonElement symbolRendererParams;
25 public String outlineRendererSnippetID;
26 public JsonElement outlineRendererParams;
28 public String highLevelStateHandlerSnippetID;
29 public JsonElement highLevelStateHandlerParams;
31 public SubmodelComponentParams(Version version)
36 public static class InterfacePinParams
38 public Point location;
40 public int logicWidth;
41 public PinUsage usage;