package net.mograsim.logic.ui.serializing;
-import java.util.function.Supplier;
+import java.util.Map;
import net.haspamelodica.swt.helper.gcs.GeneralGC;
import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent;
import net.mograsim.logic.ui.model.wires.MovablePin;
import net.mograsim.logic.ui.model.wires.Pin;
+import net.mograsim.logic.ui.serializing.snippets.Renderer;
-public class DeserializedSubmodelComponent extends SubmodelComponent implements DeserializedSubmodelComponentI
+public class DeserializedSubmodelComponent extends SubmodelComponent
{
+ public Renderer outlineRenderer;
+ public Renderer symbolRenderer;
+
public DeserializedSubmodelComponent(ViewModelModifiable model)
{
super(model);
@Override
protected void renderOutline(GeneralGC gc, Rectangle visibleRegion)
{
- // TODO
+ if (outlineRenderer != null)
+ outlineRenderer.render(gc, visibleRegion);
}
@Override
protected void renderSymbol(GeneralGC gc, Rectangle visibleRegion)
{
- // TODO
+ if (symbolRenderer != null)
+ symbolRenderer.render(gc, visibleRegion);
+ }
+
+ public void setOutlineRenderer(Renderer outlineRenderer)
+ {
+ this.outlineRenderer = outlineRenderer;
+ }
+
+ public void setSymbolRenderer(Renderer symbolRenderer)
+ {
+ this.symbolRenderer = symbolRenderer;
}
- @Override
public ViewModelModifiable getSubmodelModifiable()
{
return submodelModifiable;
}
@Override
- public void setIdentifierDelegate(Supplier<String> identifierDelegate)
+ public void setSubmodelScale(double submodelScale)
+ {
+ super.setSubmodelScale(submodelScale);
+ }
+
+ @Override
+ public double getSubmodelScale()
{
- this.identifierDelegate = identifierDelegate;
+ return super.getSubmodelScale();
}
@Override
- public void setSubmodelScale(double submodelScale)
+ public Map<String, MovablePin> getSubmodelMovablePins()
{
- super.setSubmodelScale(submodelScale);
+ return super.getSubmodelMovablePins();
}
@Override
}
@Override
- protected Pin addSubmodelInterface(MovablePin supermodelPin)
+ public Pin addSubmodelInterface(MovablePin supermodelPin)
{
return super.addSubmodelInterface(supermodelPin);
}
+
+ @Override
+ public void removeSubmodelInterface(String name)
+ {
+ super.removeSubmodelInterface(name);
+ }
}
\ No newline at end of file