projects
/
Mograsim.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
28fa1dd
)
GUIMerger/Splitter don't crash without logic bindings; made them thinner
author
Daniel Kirschten
<daniel.kirschten@gmx.de>
Sun, 18 Aug 2019 19:39:00 +0000
(21:39 +0200)
committer
Daniel Kirschten
<daniel.kirschten@gmx.de>
Sun, 18 Aug 2019 19:39:00 +0000
(21:39 +0200)
net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIMerger.java
patch
|
blob
|
history
net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUISplitter.java
patch
|
blob
|
history
diff --git
a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIMerger.java
b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIMerger.java
index
287e437
..
40f9ebd
100644
(file)
--- a/
net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIMerger.java
+++ b/
net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIMerger.java
@@
-20,12
+20,12
@@
import net.mograsim.preferences.Preferences;
\r
public class GUIMerger extends GUIComponent
\r
{
\r
\r
public class GUIMerger extends GUIComponent
\r
{
\r
- private static final double width =
2
0;
\r
+ private static final double width =
1
0;
\r
private static final double heightPerPin = 10;
\r
\r
public final int logicWidth;
\r
\r
private static final double heightPerPin = 10;
\r
\r
public final int logicWidth;
\r
\r
- private ReadEnd[] inputEnds;
\r
+ private
final
ReadEnd[] inputEnds;
\r
private ReadEnd outputEnd;
\r
\r
public GUIMerger(ViewModelModifiable model, int logicWidth, String name)
\r
private ReadEnd outputEnd;
\r
\r
public GUIMerger(ViewModelModifiable model, int logicWidth, String name)
\r
@@
-37,6
+37,7
@@
public class GUIMerger extends GUIComponent
for (int i = 0; i < logicWidth; i++, inputHeight += 10)
\r
addPin(new Pin(this, "I" + i, 1, 0, inputHeight));
\r
addPin(new Pin(this, "O", logicWidth, width, logicWidth * heightPerPin / 2));
\r
for (int i = 0; i < logicWidth; i++, inputHeight += 10)
\r
addPin(new Pin(this, "I" + i, 1, 0, inputHeight));
\r
addPin(new Pin(this, "O", logicWidth, width, logicWidth * heightPerPin / 2));
\r
+ inputEnds = new ReadEnd[logicWidth];
\r
}
\r
\r
@Override
\r
}
\r
\r
@Override
\r
@@
-69,7
+70,7
@@
public class GUIMerger extends GUIComponent
\r
public void setLogicModelBinding(ReadEnd[] inputEnds, ReadEnd outputEnd)
\r
{
\r
\r
public void setLogicModelBinding(ReadEnd[] inputEnds, ReadEnd outputEnd)
\r
{
\r
-
this.inputEnds = inputEnds
;
\r
+
System.arraycopy(inputEnds, 0, this.inputEnds, 0, logicWidth)
;
\r
this.outputEnd = outputEnd;
\r
}
\r
\r
this.outputEnd = outputEnd;
\r
}
\r
\r
diff --git
a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUISplitter.java
b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUISplitter.java
index
856eed9
..
06cfe17
100644
(file)
--- a/
net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUISplitter.java
+++ b/
net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUISplitter.java
@@
-20,13
+20,13
@@
import net.mograsim.preferences.Preferences;
\r
public class GUISplitter extends GUIComponent
\r
{
\r
\r
public class GUISplitter extends GUIComponent
\r
{
\r
- private static final double width =
2
0;
\r
+ private static final double width =
1
0;
\r
private static final double heightPerPin = 10;
\r
\r
public final int logicWidth;
\r
\r
private ReadEnd inputEnd;
\r
private static final double heightPerPin = 10;
\r
\r
public final int logicWidth;
\r
\r
private ReadEnd inputEnd;
\r
- private ReadEnd[] outputEnds;
\r
+ private
final
ReadEnd[] outputEnds;
\r
\r
public GUISplitter(ViewModelModifiable model, int logicWidth, String name)
\r
{
\r
\r
public GUISplitter(ViewModelModifiable model, int logicWidth, String name)
\r
{
\r
@@
-37,6
+37,7
@@
public class GUISplitter extends GUIComponent
double outputHeight = 0;
\r
for (int i = 0; i < logicWidth; i++, outputHeight += 10)
\r
addPin(new Pin(this, "O" + i, 1, width, outputHeight));
\r
double outputHeight = 0;
\r
for (int i = 0; i < logicWidth; i++, outputHeight += 10)
\r
addPin(new Pin(this, "O" + i, 1, width, outputHeight));
\r
+ outputEnds = new ReadEnd[logicWidth];
\r
}
\r
\r
@Override
\r
}
\r
\r
@Override
\r
@@
-70,7
+71,7
@@
public class GUISplitter extends GUIComponent
public void setLogicModelBinding(ReadEnd inputEnd, ReadEnd[] outputEnds)
\r
{
\r
this.inputEnd = inputEnd;
\r
public void setLogicModelBinding(ReadEnd inputEnd, ReadEnd[] outputEnds)
\r
{
\r
this.inputEnd = inputEnd;
\r
-
this.outputEnds = outputEnds
;
\r
+
System.arraycopy(outputEnds, 0, this.outputEnds, 0, logicWidth)
;
\r
}
\r
\r
static
\r
}
\r
\r
static
\r