+++ /dev/null
-package net.mograsim.logic.ui.examples;
-
-import net.mograsim.logic.ui.SimpleLogicUIStandalone;
-import net.mograsim.logic.ui.model.ViewModelModifiable;
-import net.mograsim.logic.ui.model.components.GUIBitDisplay;
-import net.mograsim.logic.ui.model.components.GUIManualSwitch;
-import net.mograsim.logic.ui.model.components.TestSubmodelNANDComponent;
-import net.mograsim.logic.ui.model.wires.GUIWire;
-
-public class SubmodelExample
-{
- public static void main(String[] args)
- {
- SimpleLogicUIStandalone.executeVisualisation(SubmodelExample::createSubmodelExample);
- }
-
- @SuppressWarnings("unused") // for GUIWires being created
- public static void createSubmodelExample(ViewModelModifiable model)
- {
- GUIManualSwitch swA = new GUIManualSwitch(model);
- swA.moveTo(0, 0);
- GUIManualSwitch swB = new GUIManualSwitch(model);
- swB.moveTo(0, 25);
- TestSubmodelNANDComponent nand = new TestSubmodelNANDComponent(model);
- nand.moveTo(30, 10);
- GUIBitDisplay bdY = new GUIBitDisplay(model);
- bdY.moveTo(70, 12.5);
-
- new GUIWire(model, swA.getOutputPin(), nand.getPins().get(0));
- new GUIWire(model, swB.getOutputPin(), nand.getPins().get(1));
- new GUIWire(model, nand.getPins().get(2), bdY.getInputPin());
- }
-}
\ No newline at end of file
+++ /dev/null
-package net.mograsim.logic.ui.model.components;
-
-import net.mograsim.logic.ui.model.ViewModelModifiable;
-import net.mograsim.logic.ui.model.wires.GUIWire;
-import net.mograsim.logic.ui.model.wires.Pin;
-
-public class TestSubmodelNANDComponent extends SubmodelComponent
-{
- public TestSubmodelNANDComponent(ViewModelModifiable model)
- {
- super(model, "TestNAND");
- setSize(30, 20);
- setSubmodelScale(.5);
- initSubmodelComponents();
- }
-
- @SuppressWarnings("unused") // for GUIWires being created
- private void initSubmodelComponents()
- {
- Pin A = addSubmodelInterface(1, 0, 5);
- Pin B = addSubmodelInterface(1, 0, 15);
- Pin Y = addSubmodelInterface(1, 30, 10);
-
- GUIAndGate and = new GUIAndGate(submodelModifiable, 1);
- and.moveTo(5, 10);
- GUINotGate not = new GUINotGate(submodelModifiable, 1);
- not.moveTo(30, 15);
-
- new GUIWire(submodelModifiable, A, and.getInputPins().get(0));
- new GUIWire(submodelModifiable, B, and.getInputPins().get(1));
- new GUIWire(submodelModifiable, and.getOutputPin(), not.getInputPins().get(0));
- new GUIWire(submodelModifiable, not.getOutputPin(), Y);
- }
-}
\ No newline at end of file