1 package net.mograsim.logic.model.util;
3 import net.mograsim.logic.model.model.ViewModelModifiable;
4 import net.mograsim.logic.model.model.components.GUIComponent;
5 import net.mograsim.logic.model.model.wires.GUIWire;
6 import net.mograsim.logic.model.model.wires.Pin;
7 import net.mograsim.logic.model.model.wires.WireCrossPoint;
9 public class ModellingTool
11 private ViewModelModifiable model;
13 ModellingTool(ViewModelModifiable model)
18 public GUIWire connect(GUIComponent a, GUIComponent b, String pinA, String pinB)
20 return connect(null, a, b, pinA, pinB);
23 public GUIWire connect(WireCrossPoint a, GUIComponent b, String pinB)
25 return connect(null, a, b, pinB);
28 public GUIWire connect(Pin a, GUIComponent b, String pinB)
30 return connect(null, a, b, pinB);
33 public GUIWire connect(GUIComponent a, WireCrossPoint b, String pinA)
35 return connect(null, a, b, pinA);
38 public GUIWire connect(WireCrossPoint a, WireCrossPoint b)
40 return connect(null, a, b);
43 public GUIWire connect(Pin a, WireCrossPoint b)
45 return connect(null, a, b);
48 public GUIWire connect(GUIComponent a, Pin b, String pinA)
50 return connect(null, a, b, pinA);
53 public GUIWire connect(WireCrossPoint a, Pin b)
55 return connect(null, a, b);
58 public GUIWire connect(Pin a, Pin b)
60 return connect(null, a, b);
63 public GUIWire connect(String name, GUIComponent a, GUIComponent b, String pinA, String pinB)
65 return connect(name, a.getPin(pinA), b.getPin(pinB));
68 public GUIWire connect(String name, WireCrossPoint a, GUIComponent b, String pinB)
70 return connect(name, a.getPin(), b.getPin(pinB));
73 public GUIWire connect(String name, Pin a, GUIComponent b, String pinB)
75 return connect(name, a, b.getPin(pinB));
78 public GUIWire connect(String name, GUIComponent a, WireCrossPoint b, String pinA)
80 return connect(name, a.getPin(pinA), b.getPin());
83 public GUIWire connect(String name, WireCrossPoint a, WireCrossPoint b)
85 return connect(name, a.getPin(), b.getPin());
88 public GUIWire connect(String name, Pin a, WireCrossPoint b)
90 return connect(name, a, b.getPin());
93 public GUIWire connect(String name, GUIComponent a, Pin b, String pinA)
95 return connect(name, a.getPin(pinA), b);
98 public GUIWire connect(String name, WireCrossPoint a, Pin b)
100 return connect(name, a.getPin(), b);
103 public GUIWire connect(String name, Pin a, Pin b)
105 return new GUIWire(model, name, a, b);
108 public static ModellingTool createFor(ViewModelModifiable model)
110 return new ModellingTool(model);