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(a.getPin(pinA), b.getPin(pinB));
23 public GUIWire connect(WireCrossPoint a, GUIComponent b, String pinB)
25 return connect(a.getPin(), b.getPin(pinB));
28 public GUIWire connect(Pin a, GUIComponent b, String pinB)
30 return connect(a, b.getPin(pinB));
33 public GUIWire connect(GUIComponent a, WireCrossPoint b, String pinA)
35 return connect(a.getPin(pinA), b.getPin());
38 public GUIWire connect(WireCrossPoint a, WireCrossPoint b)
40 return connect(a.getPin(), b.getPin());
43 public GUIWire connect(Pin a, WireCrossPoint b)
45 return connect(a, b.getPin());
48 public GUIWire connect(GUIComponent a, Pin b, String pinA)
50 return connect(a.getPin(pinA), b);
53 public GUIWire connect(WireCrossPoint a, Pin b)
55 return connect(a.getPin(), b);
58 public GUIWire connect(Pin a, Pin b)
60 return new GUIWire(model, a, b);
63 public static ModellingTool createFor(ViewModelModifiable model)
65 return new ModellingTool(model);