Commented GUIWire
[Mograsim.git] / net.mograsim.logic.ui / src / net / mograsim / logic / ui / model / components / mi / nandbased / GUIandor414.java
1 package net.mograsim.logic.ui.model.components.mi.nandbased;
2
3 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
4 import net.mograsim.logic.ui.model.ViewModelModifiable;
5 import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent;
6 import net.mograsim.logic.ui.model.wires.GUIWire;
7 import net.mograsim.logic.ui.model.wires.Pin;
8
9 public class GUIandor414 extends SimpleRectangularSubmodelComponent
10 {
11         public GUIandor414(ViewModelModifiable model)
12         {
13                 super(model, 1, "GUIandor414");
14                 setSubmodelScale(.4);
15                 setInputPins("C1", "C2", "C3", "C4", "A1", "A2", "A3", "A4", "B");
16                 setOutputPins("Y1", "Y2", "Y3", "Y4");
17                 initSubmodelComponents();
18         }
19
20         @SuppressWarnings("unused") // for GUIWires being created
21         private void initSubmodelComponents()
22         {
23                 Pin C1 = getSubmodelPin("C1");
24                 Pin C2 = getSubmodelPin("C2");
25                 Pin C3 = getSubmodelPin("C3");
26                 Pin C4 = getSubmodelPin("C4");
27                 Pin A1 = getSubmodelPin("A1");
28                 Pin A2 = getSubmodelPin("A2");
29                 Pin A3 = getSubmodelPin("A3");
30                 Pin A4 = getSubmodelPin("A4");
31                 Pin B = getSubmodelPin("B");
32                 Pin Y1 = getSubmodelPin("Y1");
33                 Pin Y2 = getSubmodelPin("Y2");
34                 Pin Y3 = getSubmodelPin("Y3");
35                 Pin Y4 = getSubmodelPin("Y4");
36
37                 GUIand41 and = new GUIand41(submodelModifiable);
38                 GUIor_4 or = new GUIor_4(submodelModifiable);
39
40                 and.moveTo(15, 137.5);
41                 or.moveTo(35, 37.5);
42
43                 new GUIWire(submodelModifiable, A1, and.getPin("A1"), new Point(10, 112.5), new Point(10, 142.5));
44                 new GUIWire(submodelModifiable, A2, and.getPin("A2"), new Point(5, 137.5), new Point(5, 152.5));
45                 new GUIWire(submodelModifiable, A3, and.getPin("A3"), new Point[0]);
46                 new GUIWire(submodelModifiable, A4, and.getPin("A4"), new Point(5, 187.5), new Point(5, 172.5));
47                 new GUIWire(submodelModifiable, B, and.getPin("B"), new Point(10, 212.5), new Point(10, 182.5));
48                 new GUIWire(submodelModifiable, C1, or.getPin("A1"), new Point(10, 12.5), new Point(10, 42.5));
49                 new GUIWire(submodelModifiable, C2, or.getPin("A2"), new Point(5, 37.5), new Point(5, 52.5));
50                 new GUIWire(submodelModifiable, C3, or.getPin("A3"), new Point[0]);
51                 new GUIWire(submodelModifiable, C4, or.getPin("A4"), new Point(5, 87.5), new Point(5, 72.5));
52                 new GUIWire(submodelModifiable, and.getPin("Y1"), or.getPin("B1"), new Point(70, 142.5), new Point(70, 120), new Point(30, 120),
53                                 new Point(30, 82.5));
54                 new GUIWire(submodelModifiable, and.getPin("Y2"), or.getPin("B2"), new Point(65, 152.5), new Point(65, 125), new Point(25, 125),
55                                 new Point(25, 92.5));
56                 new GUIWire(submodelModifiable, and.getPin("Y3"), or.getPin("B3"), new Point(60, 162.5), new Point(60, 130), new Point(20, 130),
57                                 new Point(20, 102.5));
58                 new GUIWire(submodelModifiable, and.getPin("Y4"), or.getPin("B4"), new Point(55, 172.5), new Point(55, 135), new Point(15, 135),
59                                 new Point(15, 112.5));
60                 new GUIWire(submodelModifiable, or.getPin("Y1"), Y1, new Point(75, 42.5), new Point(75, 12.5));
61                 new GUIWire(submodelModifiable, or.getPin("Y2"), Y2, new Point(80, 52.5), new Point(80, 37.5));
62                 new GUIWire(submodelModifiable, or.getPin("Y3"), Y3, new Point[0]);
63                 new GUIWire(submodelModifiable, or.getPin("Y4"), Y4, new Point(80, 72.5), new Point(80, 87.5));
64         }
65 }