projects
/
Mograsim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added getters for pin1 and pin2 in GUIWire
[Mograsim.git]
/
LogicUI
/
src
/
era
/
mi
/
gui
/
model
/
wires
/
GUIWire.java
diff --git
a/LogicUI/src/era/mi/gui/model/wires/GUIWire.java
b/LogicUI/src/era/mi/gui/model/wires/GUIWire.java
index
c2f03ee
..
6bcbd1c
100644
(file)
--- a/
LogicUI/src/era/mi/gui/model/wires/GUIWire.java
+++ b/
LogicUI/src/era/mi/gui/model/wires/GUIWire.java
@@
-14,17
+14,21
@@
import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
public class GUIWire
{
private final ViewModel model;
public class GUIWire
{
private final ViewModel model;
+ public final int logicWidth;
private Pin pin1;
private Pin pin2;
private double[] path;
private Pin pin1;
private Pin pin2;
private double[] path;
- private final List<Consumer<? super GUIWire>> wireChangedListeners;
+ private final List<Consumer<? super GUIWire>> wire
Look
ChangedListeners;
private ReadEnd end;
public GUIWire(ViewModel model, Pin pin1, Pin pin2, Point... path)
{
this.model = model;
private ReadEnd end;
public GUIWire(ViewModel model, Pin pin1, Pin pin2, Point... path)
{
this.model = model;
+ this.logicWidth = pin1.logicWidth;
+ if (pin2.logicWidth != pin1.logicWidth)
+ throw new IllegalArgumentException("Can't connect pins of different logic width");
this.path = new double[path.length * 2 + 4];
for (int srcI = 0, dstI = 2; srcI < path.length; srcI++, dstI += 2)
{
this.path = new double[path.length * 2 + 4];
for (int srcI = 0, dstI = 2; srcI < path.length; srcI++, dstI += 2)
{
@@
-35,7
+39,7
@@
public class GUIWire
this.pin1 = pin1;
this.pin2 = pin2;
this.pin1 = pin1;
this.pin2 = pin2;
- wireChangedListeners = new ArrayList<>();
+ wire
Look
ChangedListeners = new ArrayList<>();
pin1.addPinMovedListener(p -> pin1Moved());
pin2.addPinMovedListener(p -> pin2Moved());
pin1.addPinMovedListener(p -> pin1Moved());
pin2.addPinMovedListener(p -> pin2Moved());
@@
-72,15
+76,25
@@
public class GUIWire
public void setLogicModelBinding(ReadEnd end)
{
this.end = end;
public void setLogicModelBinding(ReadEnd end)
{
this.end = end;
- end.addObserver((i, o) -> callWireChangedListeners());
+ end.addObserver((i, o) -> callWireLookChangedListeners());
+ }
+
+ public Pin getPin1()
+ {
+ return pin1;
+ }
+
+ public Pin getPin2()
+ {
+ return pin2;
}
// @formatter:off
}
// @formatter:off
- public void addWire
ChangedListener (Consumer<? super GUIWire> listener) {wire
ChangedListeners.add (listener);}
+ public void addWire
LookChangedListener (Consumer<? super GUIWire> listener) {wireLook
ChangedListeners.add (listener);}
- public void removeWire
ChangedListener(Consumer<? super GUIWire> listener) {wire
ChangedListeners.remove(listener);}
+ public void removeWire
LookChangedListener(Consumer<? super GUIWire> listener) {wireLook
ChangedListeners.remove(listener);}
- private void callWire
ChangedListeners() {wire
ChangedListeners.forEach(l -> l.accept(this));}
+ private void callWire
LookChangedListeners() {wireLook
ChangedListeners.forEach(l -> l.accept(this));}
// @formatter:on
}
\ No newline at end of file
// @formatter:on
}
\ No newline at end of file