X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodeladapter%2FViewLogicModelAdapter.java;h=3f05964eb140d38ee8c09ada39b3c1393b24761c;hb=0cd1108bde5620d8d38001caea12471db3a5e633;hp=6ba81094ea47f4c0bad226a0d2ed3f23ab9e6cc9;hpb=41d70703ef1579e85a0965bd1e09cac4b47d52c1;p=Mograsim.git 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 6ba81094..3f05964e 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 @@ -7,6 +7,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Objects; import java.util.Set; import java.util.function.Function; import java.util.stream.Collectors; @@ -26,6 +27,7 @@ import net.mograsim.logic.ui.model.components.GUIOrGate; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; +import net.mograsim.logic.ui.modeladapter.componentadapters.Am2901NANDBasedAdapter; import net.mograsim.logic.ui.modeladapter.componentadapters.BitDisplayAdapter; import net.mograsim.logic.ui.modeladapter.componentadapters.ComponentAdapter; import net.mograsim.logic.ui.modeladapter.componentadapters.ManualSwitchAdapter; @@ -42,6 +44,7 @@ public class ViewLogicModelAdapter componentAdaptersModifiable.add(new SimpleGateAdapter<>(GUINotGate.class, (t, p, o, i) -> new NotGate(t, p, i[0], o))); componentAdaptersModifiable.add(new ManualSwitchAdapter()); componentAdaptersModifiable.add(new BitDisplayAdapter()); + componentAdaptersModifiable.add(new Am2901NANDBasedAdapter()); // TODO list all "primitive" adapters here componentAdapters = Collections.unmodifiableMap( componentAdaptersModifiable.stream().collect(Collectors.toMap(ComponentAdapter::getSupportedClass, Function.identity()))); @@ -73,7 +76,8 @@ public class ViewLogicModelAdapter // TODO handle complex components List logicComponents = new ArrayList<>(); - logicComponents.addAll(oneToOneComponents.values()); + // null means "no one to one mapping" + oneToOneComponents.values().stream().filter(Objects::nonNull).forEach(logicComponents::add); return timeline; }