X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fmodel%2Fwires%2FPin.java;h=5f6504c550335142dd0fc2c3ed94d94963900b6f;hb=ebdf5a12e795656aa71e4bba14fea840205d4c26;hp=d20087330f1811bcb4966258359225e05fe196b6;hpb=ed9c53e1fac04d87ccfd5ab701e2381f18863bab;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/Pin.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/Pin.java index d2008733..5f6504c5 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/Pin.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/Pin.java @@ -2,6 +2,7 @@ package net.mograsim.logic.model.model.wires; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.function.Consumer; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; @@ -19,7 +20,7 @@ public class Pin { // TODO introduce input/output/tristate hints /** - * The {@link GUIComponent} this pin belongs to + * The {@link GUIComponent} this pin belongs to. */ public final GUIComponent component; /** @@ -30,6 +31,11 @@ public class Pin * The logical width of this pin. Denotes how many bits this pin consists of. */ public final int logicWidth; + /** + * How this pin is used by the component it belongs to.
+ * Note that this is only a hint. + */ + public final PinUsage usage; /** * The X position of this pin, relative to its component's location. @@ -50,11 +56,12 @@ public class Pin * * @author Daniel Kirschten */ - public Pin(GUIComponent component, String name, int logicWidth, double relX, double relY) + public Pin(GUIComponent component, String name, int logicWidth, PinUsage usage, double relX, double relY) { this.component = component; this.name = name; this.logicWidth = logicWidth; + this.usage = Objects.requireNonNull(usage); this.relX = relX; this.relY = relY;