Wires connected to a component now get deleted with the component
[Mograsim.git] / net.mograsim.logic.model / src / net / mograsim / logic / model / model / components / submodels / SubmodelComponent.java
index 7eaba80..4a2f46c 100644 (file)
@@ -11,8 +11,8 @@ import net.haspamelodica.swt.helper.gcs.GeneralGC;
 import net.haspamelodica.swt.helper.gcs.TranslatedGC;
 import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
 import net.mograsim.logic.model.LogicUIRenderer;
-import net.mograsim.logic.model.model.ViewModel;
-import net.mograsim.logic.model.model.ViewModelModifiable;
+import net.mograsim.logic.model.model.LogicModel;
+import net.mograsim.logic.model.model.LogicModelModifiable;
 import net.mograsim.logic.model.model.components.ModelComponent;
 import net.mograsim.logic.model.model.wires.MovablePin;
 import net.mograsim.logic.model.model.wires.Pin;
@@ -35,11 +35,11 @@ public abstract class SubmodelComponent extends ModelComponent
        /**
         * A modifiable view of {@link #submodel}.
         */
-       protected final ViewModelModifiable submodelModifiable;
+       protected final LogicModelModifiable submodelModifiable;
        /**
         * The model this {@link SubmodelComponent} consists of.
         */
-       public final ViewModel submodel;
+       public final LogicModel submodel;
        /**
         * The list of all submodel interface pins of this {@link SubmodelComponent} on the submodel side.
         */
@@ -99,10 +99,10 @@ public abstract class SubmodelComponent extends ModelComponent
 
        // creation and destruction
 
-       public SubmodelComponent(ViewModelModifiable model, String name)
+       public SubmodelComponent(LogicModelModifiable model, String name)
        {
                super(model, name);
-               this.submodelModifiable = new ViewModelModifiable();
+               this.submodelModifiable = new LogicModelModifiable();
                this.submodel = submodelModifiable;
                this.submodelPins = new HashMap<>();
                this.submodelMovablePinsUnmodifiable = Collections.unmodifiableMap(submodelPins);
@@ -159,7 +159,7 @@ public abstract class SubmodelComponent extends ModelComponent
                default:
                        throw new IllegalArgumentException("Unknown enum constant: " + supermodelPin.usage);
                }
-               MovablePin submodelPin = new MovablePin(submodelInterface, name, supermodelPin.logicWidth, submodelPinUsage,
+               MovablePin submodelPin = new MovablePin(model, submodelInterface, name, supermodelPin.logicWidth, submodelPinUsage,
                                supermodelPin.getRelX() / submodelScale, supermodelPin.getRelY() / submodelScale);
 
                submodelPin.addPinMovedListener(p ->