X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodeladapter%2Fcomponentadapters%2FSimpleGateAdapter.java;h=ab0905313696170ae270b88be7437e707ef8bc26;hb=19ee1a7fdb06a1df65cd7df78fed935124496707;hp=6645fbefaa062fcced89547a15a1742a7b531255;hpb=29948edc1851d17311c50c7eff34070a0dc36ceb;p=Mograsim.git diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/SimpleGateAdapter.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/SimpleGateAdapter.java index 6645fbef..ab090531 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/SimpleGateAdapter.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/SimpleGateAdapter.java @@ -1,6 +1,5 @@ package net.mograsim.logic.ui.modeladapter.componentadapters; -import java.util.List; import java.util.Map; import net.mograsim.logic.core.components.Component; @@ -32,11 +31,14 @@ public class SimpleGateAdapter implements Co @Override public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, G guiComponent, Map logicWiresPerPin) { - ReadWriteEnd out = logicWiresPerPin.get(guiComponent.getOutputPin()).createReadWriteEnd(); - List inputPins = guiComponent.getInputPins(); - ReadEnd[] ins = new ReadEnd[inputPins.size()]; - for (int i = 0; i < inputPins.size(); i++) - ins[i] = logicWiresPerPin.get(inputPins.get(i)).createReadOnlyEnd(); + ReadWriteEnd out = logicWiresPerPin.get(guiComponent.getPin("Y")).createReadWriteEnd(); + + // TODO can we do this prettier? + int inputPinCount = guiComponent.getPins().size() - 1; + ReadEnd[] ins = new ReadEnd[inputPinCount]; + for (int i = 0; i < inputPinCount; i++) + ins[i] = logicWiresPerPin.get(guiComponent.getPin(String.valueOf((char) ('A' + i)))).createReadOnlyEnd(); + constructor.newComponent(timeline, params.gateProcessTime, out, ins); }