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