Wires connected to a component now get deleted with the component
[Mograsim.git] / net.mograsim.machine / src / net / mograsim / machine / standard / memory / ModelMemoryWA.java
index 8da1dbb..f874e46 100644 (file)
@@ -2,12 +2,12 @@ package net.mograsim.machine.standard.memory;
 
 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.LogicModelModifiable;
 import net.mograsim.logic.model.model.components.ModelComponent;
 import net.mograsim.logic.model.model.components.atomic.ModelAndGate;
 import net.mograsim.logic.model.model.wires.Pin;
 import net.mograsim.logic.model.model.wires.PinUsage;
-import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter;
+import net.mograsim.logic.model.modeladapter.LogicCoreAdapter;
 import net.mograsim.logic.model.serializing.IdentifyParams;
 import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
 import net.mograsim.logic.model.snippets.Renderer;
@@ -26,7 +26,7 @@ public class ModelMemoryWA extends ModelComponent
        private Renderer                                                symbolRenderer;
        private Renderer                                                outlineRenderer;
 
-       public ModelMemoryWA(ViewModelModifiable model, MainMemoryDefinition definition, String name)
+       public ModelMemoryWA(LogicModelModifiable model, MainMemoryDefinition definition, String name)
        {
                super(model, name);
                this.definition = definition;
@@ -39,9 +39,9 @@ public class ModelMemoryWA extends ModelComponent
 
                setSize(width, height);
                //TODO check the usages
-               addPin(addrPin = new Pin(this, "A", definition.getMemoryAddressBits(), PinUsage.INPUT, 0, 10));
-               addPin(dataPin = new Pin(this, "D", definition.getCellWidth(), PinUsage.TRISTATE, 0, 30));
-               addPin(rWPin = new Pin(this, "RW", 1, PinUsage.INPUT, 0, 50));
+               addPin(addrPin = new Pin(model, this, "A", definition.getMemoryAddressBits(), PinUsage.INPUT, 0, 10));
+               addPin(dataPin = new Pin(model, this, "D", definition.getCellWidth(), PinUsage.TRISTATE, 0, 30));
+               addPin(rWPin = new Pin(model, this, "RW", 1, PinUsage.INPUT, 0, 50));
        }
 
        public Pin getAddressPin()
@@ -59,7 +59,7 @@ public class ModelMemoryWA extends ModelComponent
                return rWPin;
        }
 
-       public void setLogicModelBinding(WordAddressableMemoryComponent memory)
+       public void setCoreModelBinding(WordAddressableMemoryComponent memory)
        {
                this.memory = memory;
        }
@@ -100,7 +100,7 @@ public class ModelMemoryWA extends ModelComponent
 
        static
        {
-               ViewLogicModelAdapter.addComponentAdapter(new WordAddressableMemoryAdapter());
+               LogicCoreAdapter.addComponentAdapter(new WordAddressableMemoryAdapter());
                IndirectModelComponentCreator.setComponentSupplier(ModelAndGate.class.getCanonicalName(), (m, p, n) ->
                {
                        ModelMemoryWAParams params = JsonHandler.fromJsonTree(p, ModelMemoryWAParams.class);