1 package net.mograsim.logic.model.serializing;
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;
13 public class DeserializedSubmodelComponent extends SubmodelComponent
15 public Renderer outlineRenderer;
16 public Renderer symbolRenderer;
18 public DeserializedSubmodelComponent(ViewModelModifiable model, String name)
24 protected void renderOutline(GeneralGC gc, Rectangle visibleRegion)
26 if (outlineRenderer != null)
27 outlineRenderer.render(gc, visibleRegion);
31 protected void renderSymbol(GeneralGC gc, Rectangle visibleRegion)
33 if (symbolRenderer != null)
34 symbolRenderer.render(gc, visibleRegion);
37 public void setOutlineRenderer(Renderer outlineRenderer)
39 this.outlineRenderer = outlineRenderer;
42 public void setSymbolRenderer(Renderer symbolRenderer)
44 this.symbolRenderer = symbolRenderer;
47 public ViewModelModifiable getSubmodelModifiable()
49 return submodelModifiable;
53 public void setSubmodelScale(double submodelScale)
55 super.setSubmodelScale(submodelScale);
59 public void setSize(double width, double height)
61 super.setSize(width, height);
65 public Pin addSubmodelInterface(MovablePin supermodelPin)
67 return super.addSubmodelInterface(supermodelPin);
71 public double getSubmodelScale()
73 return super.getSubmodelScale();
77 public Map<String, MovablePin> getSubmodelMovablePins()
79 return super.getSubmodelMovablePins();
83 public void removeSubmodelInterface(String name)
85 super.removeSubmodelInterface(name);