1 package net.mograsim.logic.ui.util;
\r
3 import net.mograsim.logic.ui.model.ViewModelModifiable;
\r
4 import net.mograsim.logic.ui.model.components.GUIComponent;
\r
5 import net.mograsim.logic.ui.model.wires.GUIWire;
\r
6 import net.mograsim.logic.ui.model.wires.Pin;
\r
7 import net.mograsim.logic.ui.model.wires.WireCrossPoint;
\r
9 public class ModellingTool
\r
11 private ViewModelModifiable model;
\r
13 ModellingTool(ViewModelModifiable model)
\r
18 public GUIWire connect(GUIComponent a, GUIComponent b, String pinA, String pinB)
\r
20 return connect(a.getPin(pinA), b.getPin(pinB));
\r
23 public GUIWire connect(WireCrossPoint a, GUIComponent b, String pinB)
\r
25 return connect(a.getPin(), b.getPin(pinB));
\r
28 public GUIWire connect(Pin a, GUIComponent b, String pinB)
\r
30 return connect(a, b.getPin(pinB));
\r
33 public GUIWire connect(GUIComponent a, WireCrossPoint b, String pinA)
\r
35 return connect(a.getPin(pinA), b.getPin());
\r
38 public GUIWire connect(WireCrossPoint a, WireCrossPoint b)
\r
40 return connect(a.getPin(), b.getPin());
\r
43 public GUIWire connect(Pin a, WireCrossPoint b)
\r
45 return connect(a, b.getPin());
\r
48 public GUIWire connect(GUIComponent a, Pin b, String pinA)
\r
50 return connect(a.getPin(pinA), b);
\r
53 public GUIWire connect(WireCrossPoint a, Pin b)
\r
55 return connect(a.getPin(), b);
\r
58 public GUIWire connect(Pin a, Pin b)
\r
60 return new GUIWire(model, a, b);
\r
63 public static ModellingTool createFor(ViewModelModifiable model)
\r
65 return new ModellingTool(model);
\r