X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=LogicUI%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodeladapter%2Fcomponentadapters%2FManualSwitchAdapter.java;fp=LogicUI%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodeladapter%2Fcomponentadapters%2FManualSwitchAdapter.java;h=197cf747fe317eaf6eb33f62d10a5d2018e7ee91;hb=0009789a8df6b8d4562b6e1cbfa75102a7516ea8;hp=0000000000000000000000000000000000000000;hpb=a28f7aa0dab4248e99159c5a647676170cb17a4e;p=Mograsim.git diff --git a/LogicUI/src/net/mograsim/logic/ui/modeladapter/componentadapters/ManualSwitchAdapter.java b/LogicUI/src/net/mograsim/logic/ui/modeladapter/componentadapters/ManualSwitchAdapter.java new file mode 100644 index 00000000..197cf747 --- /dev/null +++ b/LogicUI/src/net/mograsim/logic/ui/modeladapter/componentadapters/ManualSwitchAdapter.java @@ -0,0 +1,31 @@ +package net.mograsim.logic.ui.modeladapter.componentadapters; + +import java.util.Map; + +import net.mograsim.logic.ui.model.components.GUIManualSwitch; +import net.mograsim.logic.ui.model.wires.Pin; +import net.mograsim.logic.ui.modeladapter.LogicModelParameters; +import net.mograsim.logic.core.components.Component; +import net.mograsim.logic.core.components.ManualSwitch; +import net.mograsim.logic.core.timeline.Timeline; +import net.mograsim.logic.core.wires.Wire; +import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; + +public class ManualSwitchAdapter implements ComponentAdapter +{ + @Override + public Class getSupportedClass() + { + return GUIManualSwitch.class; + } + + @Override + public Component createAndLinkComponent(Timeline timeline, LogicModelParameters params, GUIManualSwitch guiComponent, + Map logicWiresPerPin) + { + ReadWriteEnd end = logicWiresPerPin.get(guiComponent.getOutputPin()).createReadWriteEnd(); + ManualSwitch manualSwitch = new ManualSwitch(timeline, end); + guiComponent.setLogicModelBinding(manualSwitch, end); + return manualSwitch; + } +} \ No newline at end of file