From 27e409f74763ec63f931d7afdea78420973d6a37 Mon Sep 17 00:00:00 2001 From: Daniel Kirschten Date: Wed, 5 Jun 2019 12:47:13 +0200 Subject: [PATCH] ViewLogicModelAdapter now uses NandGate for GUINandGate --- .../ui/model/components/GUINandGate.java | 1 - .../modeladapter/ViewLogicModelAdapter.java | 5 +-- .../componentadapters/NandGateAdapter.java | 34 ------------------- 3 files changed, 3 insertions(+), 37 deletions(-) delete mode 100644 net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/NandGateAdapter.java diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUINandGate.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUINandGate.java index 6f1e640a..8078ddbf 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUINandGate.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUINandGate.java @@ -8,6 +8,5 @@ public class GUINandGate extends SimpleRectangularGUIGate { super(model, logicWidth, "&", true); setInputCount(2);// TODO make variable - // TODO } } \ No newline at end of file diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/ViewLogicModelAdapter.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/ViewLogicModelAdapter.java index df3f9766..8c478ae0 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/ViewLogicModelAdapter.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/ViewLogicModelAdapter.java @@ -11,6 +11,7 @@ import java.util.function.Function; import java.util.stream.Collectors; import net.mograsim.logic.core.components.gates.AndGate; +import net.mograsim.logic.core.components.gates.NandGate; import net.mograsim.logic.core.components.gates.NotGate; import net.mograsim.logic.core.components.gates.OrGate; import net.mograsim.logic.core.timeline.Timeline; @@ -19,6 +20,7 @@ import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.ui.model.ViewModel; import net.mograsim.logic.ui.model.components.GUIAndGate; import net.mograsim.logic.ui.model.components.GUIComponent; +import net.mograsim.logic.ui.model.components.GUINandGate; import net.mograsim.logic.ui.model.components.GUINotGate; import net.mograsim.logic.ui.model.components.GUIOrGate; import net.mograsim.logic.ui.model.components.SubmodelComponent; @@ -30,7 +32,6 @@ import net.mograsim.logic.ui.modeladapter.componentadapters.AtomicAm2901NANDBase import net.mograsim.logic.ui.modeladapter.componentadapters.BitDisplayAdapter; import net.mograsim.logic.ui.modeladapter.componentadapters.ComponentAdapter; import net.mograsim.logic.ui.modeladapter.componentadapters.ManualSwitchAdapter; -import net.mograsim.logic.ui.modeladapter.componentadapters.NandGateAdapter; import net.mograsim.logic.ui.modeladapter.componentadapters.SimpleGateAdapter; public class ViewLogicModelAdapter @@ -42,7 +43,7 @@ public class ViewLogicModelAdapter componentAdaptersModifiable.add(new SimpleGateAdapter<>(GUIOrGate.class, OrGate::new)); componentAdaptersModifiable.add(new SimpleGateAdapter<>(GUIAndGate.class, AndGate::new)); componentAdaptersModifiable.add(new SimpleGateAdapter<>(GUINotGate.class, (t, p, o, i) -> new NotGate(t, p, i[0], o))); - componentAdaptersModifiable.add(new NandGateAdapter()); + componentAdaptersModifiable.add(new SimpleGateAdapter<>(GUINandGate.class, NandGate::new)); componentAdaptersModifiable.add(new ManualSwitchAdapter()); componentAdaptersModifiable.add(new BitDisplayAdapter()); componentAdaptersModifiable.add(new AtomicAm2901NANDBasedAdapter()); diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/NandGateAdapter.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/NandGateAdapter.java deleted file mode 100644 index 761689a3..00000000 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/NandGateAdapter.java +++ /dev/null @@ -1,34 +0,0 @@ -package net.mograsim.logic.ui.modeladapter.componentadapters; - -import java.util.Map; - -import net.mograsim.logic.core.components.gates.AndGate; -import net.mograsim.logic.core.components.gates.NotGate; -import net.mograsim.logic.core.timeline.Timeline; -import net.mograsim.logic.core.wires.Wire; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.wires.Pin; -import net.mograsim.logic.ui.modeladapter.LogicModelParameters; - -public class NandGateAdapter implements ComponentAdapter -{ - @Override - public Class getSupportedClass() - { - return GUINandGate.class; - } - - @Override - @SuppressWarnings("unused") // AndGate and NotGate - public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, GUINandGate guiComponent, - Map logicWiresPerPin) - { - Wire i0 = logicWiresPerPin.get(guiComponent.getInputPins().get(0)); - Wire i1 = logicWiresPerPin.get(guiComponent.getInputPins().get(1)); - Wire o = logicWiresPerPin.get(guiComponent.getOutputPin()); - Wire w = new Wire(timeline, guiComponent.getOutputPin().logicWidth, 1); - - new AndGate(timeline, 1, w.createReadWriteEnd(), i0.createReadOnlyEnd(), i1.createReadOnlyEnd()); - new NotGate(timeline, Math.max(1, params.gateProcessTime - 2), w.createReadOnlyEnd(), o.createReadWriteEnd()); - } -} \ No newline at end of file -- 2.17.1