Restructured serializing / deserializing
[Mograsim.git] / net.mograsim.logic.ui / src / net / mograsim / logic / ui / serializing / DeserializedSubmodelComponent.java
index 48d31e0..2348af6 100644 (file)
@@ -1,16 +1,18 @@
 package net.mograsim.logic.ui.serializing;
 
-import java.util.function.Supplier;
-
 import net.haspamelodica.swt.helper.gcs.GeneralGC;
 import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
 import net.mograsim.logic.ui.model.ViewModelModifiable;
 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);
@@ -19,25 +21,30 @@ public class DeserializedSubmodelComponent extends SubmodelComponent implements
        @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);
        }
 
-       @Override
-       public ViewModelModifiable getSubmodelModifiable()
+       public void setOutlineRenderer(Renderer outlineRenderer)
        {
-               return submodelModifiable;
+               this.outlineRenderer = outlineRenderer;
        }
 
-       @Override
-       public void setIdentifierDelegate(Supplier<String> identifierDelegate)
+       public void setSymbolRenderer(Renderer symbolRenderer)
        {
-               this.identifierDelegate = identifierDelegate;
+               this.symbolRenderer = symbolRenderer;
+       }
+
+       public ViewModelModifiable getSubmodelModifiable()
+       {
+               return submodelModifiable;
        }
 
        @Override