Merge branch 'development' of
[Mograsim.git] / net.mograsim.logic.model / src / net / mograsim / logic / model / serializing / DeserializedSubmodelComponent.java
1 package net.mograsim.logic.model.serializing;
2
3 import java.util.Map;
4
5 import net.haspamelodica.swt.helper.gcs.GeneralGC;
6 import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
7 import net.mograsim.logic.model.model.ViewModelModifiable;
8 import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
9 import net.mograsim.logic.model.model.wires.MovablePin;
10 import net.mograsim.logic.model.model.wires.Pin;
11 import net.mograsim.logic.model.serializing.snippets.Renderer;
12
13 public class DeserializedSubmodelComponent extends SubmodelComponent
14 {
15         public Renderer outlineRenderer;
16         public Renderer symbolRenderer;
17
18         public DeserializedSubmodelComponent(ViewModelModifiable model, String name)
19         {
20                 super(model, name);
21         }
22
23         @Override
24         protected void renderOutline(GeneralGC gc, Rectangle visibleRegion)
25         {
26                 if (outlineRenderer != null)
27                         outlineRenderer.render(gc, visibleRegion);
28         }
29
30         @Override
31         protected void renderSymbol(GeneralGC gc, Rectangle visibleRegion)
32         {
33                 if (symbolRenderer != null)
34                         symbolRenderer.render(gc, visibleRegion);
35         }
36
37         public void setOutlineRenderer(Renderer outlineRenderer)
38         {
39                 this.outlineRenderer = outlineRenderer;
40         }
41
42         public void setSymbolRenderer(Renderer symbolRenderer)
43         {
44                 this.symbolRenderer = symbolRenderer;
45         }
46
47         public ViewModelModifiable getSubmodelModifiable()
48         {
49                 return submodelModifiable;
50         }
51
52         @Override
53         public void setSubmodelScale(double submodelScale)
54         {
55                 super.setSubmodelScale(submodelScale);
56         }
57
58         @Override
59         public void setSize(double width, double height)
60         {
61                 super.setSize(width, height);
62         }
63
64         @Override
65         public Pin addSubmodelInterface(MovablePin supermodelPin)
66         {
67                 return super.addSubmodelInterface(supermodelPin);
68         }
69
70         @Override
71         public double getSubmodelScale()
72         {
73                 return super.getSubmodelScale();
74         }
75
76         @Override
77         public Map<String, MovablePin> getSubmodelMovablePins()
78         {
79                 return super.getSubmodelMovablePins();
80         }
81
82         @Override
83         public void removeSubmodelInterface(String name)
84         {
85                 super.removeSubmodelInterface(name);
86         }
87 }