The final restructured version for automatic build using maven tycho
[Mograsim.git] / plugins / net.mograsim.logic.model / src / net / mograsim / logic / model / serializing / SubmodelComponentParams.java
1 package net.mograsim.logic.model.serializing;
2
3 import com.google.gson.JsonElement;
4
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;
9
10 /**
11  * This class contains all the information necessary to create a new {@link SubmodelComponent}
12  */
13 public class SubmodelComponentParams extends SerializablePojo
14 {
15         // basic stuff
16         public double width, height;
17         public InterfacePinParams[] interfacePins;
18         public double innerScale;
19         public LogicModelParams submodel;
20
21         // functionality that needs to be expressed in Java code
22         public String symbolRendererSnippetID;
23         public JsonElement symbolRendererParams;
24
25         public String outlineRendererSnippetID;
26         public JsonElement outlineRendererParams;
27
28         public String highLevelStateHandlerSnippetID;
29         public JsonElement highLevelStateHandlerParams;
30
31         public SubmodelComponentParams(Version version)
32         {
33                 super(version);
34         }
35
36         public static class InterfacePinParams
37         {
38                 public Point location;
39                 public String name;
40                 public int logicWidth;
41                 public PinUsage usage;
42         }
43 }