1 package net.mograsim.logic.ui.serializing;
3 import net.haspamelodica.swt.helper.gcs.GeneralGC;
4 import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
5 import net.mograsim.logic.ui.model.ViewModelModifiable;
6 import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent;
7 import net.mograsim.logic.ui.model.wires.MovablePin;
8 import net.mograsim.logic.ui.model.wires.Pin;
9 import net.mograsim.logic.ui.serializing.snippets.Renderer;
11 public class DeserializedSubmodelComponent extends SubmodelComponent
13 public Renderer outlineRenderer;
14 public Renderer symbolRenderer;
16 public DeserializedSubmodelComponent(ViewModelModifiable model)
22 protected void renderOutline(GeneralGC gc, Rectangle visibleRegion)
24 if (outlineRenderer != null)
25 outlineRenderer.render(gc, visibleRegion);
29 protected void renderSymbol(GeneralGC gc, Rectangle visibleRegion)
31 if (symbolRenderer != null)
32 symbolRenderer.render(gc, visibleRegion);
35 public void setOutlineRenderer(Renderer outlineRenderer)
37 this.outlineRenderer = outlineRenderer;
40 public void setSymbolRenderer(Renderer symbolRenderer)
42 this.symbolRenderer = symbolRenderer;
45 public ViewModelModifiable getSubmodelModifiable()
47 return submodelModifiable;
51 public void setSubmodelScale(double submodelScale)
53 super.setSubmodelScale(submodelScale);
57 public void setSize(double width, double height)
59 super.setSize(width, height);
63 protected Pin addSubmodelInterface(MovablePin supermodelPin)
65 return super.addSubmodelInterface(supermodelPin);