1 package net.mograsim.logic.ui.serializing;
5 import net.haspamelodica.swt.helper.gcs.GeneralGC;
6 import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
7 import net.mograsim.logic.ui.model.ViewModelModifiable;
8 import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent;
9 import net.mograsim.logic.ui.model.wires.MovablePin;
10 import net.mograsim.logic.ui.model.wires.Pin;
11 import net.mograsim.logic.ui.serializing.snippets.Renderer;
13 public class DeserializedSubmodelComponent extends SubmodelComponent
15 public Renderer outlineRenderer;
16 public Renderer symbolRenderer;
18 public DeserializedSubmodelComponent(ViewModelModifiable model)
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 double getSubmodelScale()
61 return super.getSubmodelScale();
65 public Map<String, MovablePin> getSubmodelMovablePins()
67 return super.getSubmodelMovablePins();
71 public void setSize(double width, double height)
73 super.setSize(width, height);
77 public Pin addSubmodelInterface(MovablePin supermodelPin)
79 return super.addSubmodelInterface(supermodelPin);
83 public void removeSubmodelInterface(String name)
85 super.removeSubmodelInterface(name);