1 package net.mograsim.logic.ui.examples;
3 import net.mograsim.logic.ui.SimpleLogicUIStandalone;
4 import net.mograsim.logic.ui.model.ViewModelModifiable;
5 import net.mograsim.logic.ui.model.components.GUIBitDisplay;
6 import net.mograsim.logic.ui.model.components.GUIManualSwitch;
7 import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent;
8 import net.mograsim.logic.ui.model.components.mi.nandbased.GUIhalfadder;
9 import net.mograsim.logic.ui.model.wires.GUIWire;
11 public class SubmodelComponentTestbench
13 public static void main(String[] args)
15 SimpleLogicUIStandalone.executeVisualisation(SubmodelComponentTestbench::createTestbench);
18 @SuppressWarnings("unused") // for GUIWires being created
19 public static void createTestbench(ViewModelModifiable model)
21 SimpleRectangularSubmodelComponent comp = new GUIhalfadder(model);
24 for (int i = 0; i < comp.getInputPins().size(); i++)
26 GUIManualSwitch sw = new GUIManualSwitch(model);
28 new GUIWire(model, comp.getInputPins().get(i), sw.getOutputPin());
30 for (int i = 0; i < comp.getOutputPins().size(); i++)
32 GUIBitDisplay bd = new GUIBitDisplay(model);
33 bd.moveTo(200, 20 * i);
34 new GUIWire(model, comp.getOutputPins().get(i), bd.getInputPin());