197cf747fe317eaf6eb33f62d10a5d2018e7ee91
[Mograsim.git] / LogicUI / src / net / mograsim / logic / ui / modeladapter / componentadapters / ManualSwitchAdapter.java
1 package net.mograsim.logic.ui.modeladapter.componentadapters;
2
3 import java.util.Map;
4
5 import net.mograsim.logic.ui.model.components.GUIManualSwitch;
6 import net.mograsim.logic.ui.model.wires.Pin;
7 import net.mograsim.logic.ui.modeladapter.LogicModelParameters;
8 import net.mograsim.logic.core.components.Component;
9 import net.mograsim.logic.core.components.ManualSwitch;
10 import net.mograsim.logic.core.timeline.Timeline;
11 import net.mograsim.logic.core.wires.Wire;
12 import net.mograsim.logic.core.wires.Wire.ReadWriteEnd;
13
14 public class ManualSwitchAdapter implements ComponentAdapter<GUIManualSwitch>
15 {
16         @Override
17         public Class<GUIManualSwitch> getSupportedClass()
18         {
19                 return GUIManualSwitch.class;
20         }
21
22         @Override
23         public Component createAndLinkComponent(Timeline timeline, LogicModelParameters params, GUIManualSwitch guiComponent,
24                         Map<Pin, Wire> logicWiresPerPin)
25         {
26                 ReadWriteEnd end = logicWiresPerPin.get(guiComponent.getOutputPin()).createReadWriteEnd();
27                 ManualSwitch manualSwitch = new ManualSwitch(timeline, end);
28                 guiComponent.setLogicModelBinding(manualSwitch, end);
29                 return manualSwitch;
30         }
31 }