package net.mograsim.logic.model.serializing;
-import java.util.Map;
-
import com.google.gson.JsonElement;
-import net.haspamelodica.swt.helper.gcs.GeneralGC;
-import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
import net.mograsim.logic.model.model.ViewModelModifiable;
import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
import net.mograsim.logic.model.model.wires.MovablePin;
import net.mograsim.logic.model.snippets.HighLevelStateHandler;
import net.mograsim.logic.model.snippets.Renderer;
-//TODO serialize handlers
public class DeserializedSubmodelComponent extends SubmodelComponent
{
/**
*/
public final JsonElement paramsForSerializingOverride;
- private Renderer outlineRenderer;
- private Renderer symbolRenderer;
- private HighLevelStateHandler highLevelStateHandler;
-
public DeserializedSubmodelComponent(ViewModelModifiable model, String name, String idForSerializingOverride,
JsonElement paramsForSerializingOverride)
{
}
@Override
- public void setHighLevelState(String stateID, Object newState)
- {
- highLevelStateHandler.setHighLevelState(stateID, newState);
- }
-
- @Override
- public Object getHighLevelState(String stateID)
- {
- return highLevelStateHandler.getHighLevelState(stateID);
- }
-
- @Override
- protected void renderOutline(GeneralGC gc, Rectangle visibleRegion)
+ public void setSymbolRenderer(Renderer symbolRenderer)
{
- if (outlineRenderer != null)
- outlineRenderer.render(gc, visibleRegion);
+ super.setSymbolRenderer(symbolRenderer);
}
@Override
- protected void renderSymbol(GeneralGC gc, Rectangle visibleRegion)
- {
- if (symbolRenderer != null)
- symbolRenderer.render(gc, visibleRegion);
- }
-
public void setOutlineRenderer(Renderer outlineRenderer)
{
- this.outlineRenderer = outlineRenderer;
+ super.setOutlineRenderer(outlineRenderer);
}
- public void setSymbolRenderer(Renderer symbolRenderer)
- {
- this.symbolRenderer = symbolRenderer;
- }
-
- public void setHighLevelStateHandler(HighLevelStateHandler highLevelStateHandler)
+ @Override
+ public void setHighLevelStateHandler(HighLevelStateHandler handler)
{
- this.highLevelStateHandler = highLevelStateHandler;
+ super.setHighLevelStateHandler(handler);
}
public ViewModelModifiable getSubmodelModifiable()
return submodelModifiable;
}
- @Override
- public double getSubmodelScale()
- {
- return super.getSubmodelScale();
- }
-
@Override
public void setSubmodelScale(double submodelScale)
{
super.setSize(width, height);
}
- @Override
- public Map<String, MovablePin> getSubmodelMovablePins()
- {
- return super.getSubmodelMovablePins();
- }
-
@Override
public Pin addSubmodelInterface(MovablePin supermodelPin)
{
super.removeSubmodelInterface(name);
}
- // TODO static initializer
+ // TODO static initializer?
}
\ No newline at end of file