From: Daniel Kirschten Date: Sun, 1 Sep 2019 21:34:20 +0000 (+0200) Subject: Merge branch 'fusebug' into development X-Git-Url: https://mograsim.net/gitweb/?a=commitdiff_plain;h=0ab3dafe756a69ff8b1e0137058caf2f5ac564aa;hp=008addc756f2fd3d84838328149156572140c078;p=Mograsim.git Merge branch 'fusebug' into development --- diff --git a/SWTHelper b/SWTHelper index 64cdeb5b..cab99990 160000 --- a/SWTHelper +++ b/SWTHelper @@ -1 +1 @@ -Subproject commit 64cdeb5b8f7ffec96629f3d2e31d969e46058b63 +Subproject commit cab999904f88b362e7641dc9125efef99d1d432b diff --git a/net.mograsim.logic.model.am2900/FusionNotWorkingTestbench.json b/net.mograsim.logic.model.am2900/FusionNotWorkingTestbench.json deleted file mode 100644 index 42aef14b..00000000 --- a/net.mograsim.logic.model.am2900/FusionNotWorkingTestbench.json +++ /dev/null @@ -1,429 +0,0 @@ -{ - "width": 11110.0, - "height": 11110.0, - "interfacePins": [ - { - "location": { - "x": 0.0, - "y": 70.0 - }, - "name": "I", - "logicWidth": 13, - "usage": "INPUT" - } - ], - "innerScale": 1.0, - "submodel": { - "components": [ - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#0", - "pos": { - "x": 150.0, - "y": 60.0 - }, - "params": 13 - }, - { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#0", - "pos": { - "x": 55.0, - "y": 60.0 - }, - "params": 13 - }, - { - "id": "GUIMerger", - "name": "GUIMerger#0", - "pos": { - "x": 100.0, - "y": 10.0 - }, - "params": 13 - }, - { - "id": "GUIMerger", - "name": "GUIMerger#1", - "pos": { - "x": 130.0, - "y": 10.0 - }, - "params": 13 - }, - { - "id": "GUISplitter", - "name": "GUISplitter#0", - "pos": { - "x": 85.0, - "y": 10.0 - }, - "params": 13 - }, - { - "id": "GUISplitter", - "name": "GUISplitter#1", - "pos": { - "x": 115.0, - "y": 10.0 - }, - "params": 13 - } - ], - "wires": [ - { - "pin1": { - "compName": "GUIManualSwitch#0", - "pinName": "" - }, - "pin2": { - "compName": "GUISplitter#0", - "pinName": "I" - }, - "name": "unnamedWire#0", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#0", - "pinName": "O0" - }, - "pin2": { - "compName": "GUIMerger#0", - "pinName": "I0" - }, - "name": "unnamedWire#1", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#0", - "pinName": "O9" - }, - "pin2": { - "compName": "GUIMerger#0", - "pinName": "I9" - }, - "name": "unnamedWire#10", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#0", - "pinName": "O10" - }, - "pin2": { - "compName": "GUIMerger#0", - "pinName": "I10" - }, - "name": "unnamedWire#11", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#0", - "pinName": "I11" - }, - "pin2": { - "compName": "GUISplitter#0", - "pinName": "O11" - }, - "name": "unnamedWire#12", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#0", - "pinName": "O12" - }, - "pin2": { - "compName": "GUIMerger#0", - "pinName": "I12" - }, - "name": "unnamedWire#13", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#0", - "pinName": "O" - }, - "pin2": { - "compName": "GUISplitter#1", - "pinName": "I" - }, - "name": "unnamedWire#14", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#1", - "pinName": "O0" - }, - "pin2": { - "compName": "GUIMerger#1", - "pinName": "I0" - }, - "name": "unnamedWire#15", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#1", - "pinName": "I1" - }, - "pin2": { - "compName": "GUISplitter#1", - "pinName": "O1" - }, - "name": "unnamedWire#16", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#1", - "pinName": "O2" - }, - "pin2": { - "compName": "GUIMerger#1", - "pinName": "I2" - }, - "name": "unnamedWire#17", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#1", - "pinName": "I3" - }, - "pin2": { - "compName": "GUISplitter#1", - "pinName": "O3" - }, - "name": "unnamedWire#18", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#1", - "pinName": "O4" - }, - "pin2": { - "compName": "GUIMerger#1", - "pinName": "I4" - }, - "name": "unnamedWire#19", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#0", - "pinName": "I1" - }, - "pin2": { - "compName": "GUISplitter#0", - "pinName": "O1" - }, - "name": "unnamedWire#2", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#1", - "pinName": "O5" - }, - "pin2": { - "compName": "GUIMerger#1", - "pinName": "I5" - }, - "name": "unnamedWire#20", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#1", - "pinName": "I6" - }, - "pin2": { - "compName": "GUISplitter#1", - "pinName": "O6" - }, - "name": "unnamedWire#21", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#1", - "pinName": "O7" - }, - "pin2": { - "compName": "GUIMerger#1", - "pinName": "I7" - }, - "name": "unnamedWire#22", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#1", - "pinName": "I8" - }, - "pin2": { - "compName": "GUISplitter#1", - "pinName": "O8" - }, - "name": "unnamedWire#23", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#1", - "pinName": "O9" - }, - "pin2": { - "compName": "GUIMerger#1", - "pinName": "I9" - }, - "name": "unnamedWire#24", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#1", - "pinName": "I10" - }, - "pin2": { - "compName": "GUISplitter#1", - "pinName": "O10" - }, - "name": "unnamedWire#25", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#1", - "pinName": "O11" - }, - "pin2": { - "compName": "GUIMerger#1", - "pinName": "I11" - }, - "name": "unnamedWire#26", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#1", - "pinName": "I12" - }, - "pin2": { - "compName": "GUISplitter#1", - "pinName": "O12" - }, - "name": "unnamedWire#27", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#1", - "pinName": "O" - }, - "pin2": { - "compName": "GUIBitDisplay#0", - "pinName": "" - }, - "name": "unnamedWire#28", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#0", - "pinName": "O2" - }, - "pin2": { - "compName": "GUIMerger#0", - "pinName": "I2" - }, - "name": "unnamedWire#3", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#0", - "pinName": "I3" - }, - "pin2": { - "compName": "GUISplitter#0", - "pinName": "O3" - }, - "name": "unnamedWire#4", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#0", - "pinName": "O4" - }, - "pin2": { - "compName": "GUIMerger#0", - "pinName": "I4" - }, - "name": "unnamedWire#5", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#0", - "pinName": "O5" - }, - "pin2": { - "compName": "GUIMerger#0", - "pinName": "I5" - }, - "name": "unnamedWire#6", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#0", - "pinName": "I6" - }, - "pin2": { - "compName": "GUISplitter#0", - "pinName": "O6" - }, - "name": "unnamedWire#7", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#0", - "pinName": "O7" - }, - "pin2": { - "compName": "GUIMerger#0", - "pinName": "I7" - }, - "name": "unnamedWire#8", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#0", - "pinName": "I8" - }, - "pin2": { - "compName": "GUISplitter#0", - "pinName": "O8" - }, - "name": "unnamedWire#9", - "path": [] - } - ], - "version": "0.1.1" - }, - "symbolRendererSnippetID": "default", - "outlineRendererSnippetID": "default", - "highLevelStateHandlerSnippetID": "default", - "version": "0.1.5" -} \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/FusionNotWorkingTestbench.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/FusionNotWorkingTestbench.java deleted file mode 100644 index 6deaf238..00000000 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/FusionNotWorkingTestbench.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.mograsim.logic.model.examples; - -import net.haspamelodica.swt.helper.gcs.GeneralGC; -import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; -import net.mograsim.logic.model.SimpleLogicUIStandalone; -import net.mograsim.logic.model.model.ViewModelModifiable; -import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent; -import net.mograsim.logic.model.serializing.IdentifierGetter; -import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; -import net.mograsim.logic.model.snippets.Renderer; - -public class FusionNotWorkingTestbench -{ - public static void main(String[] args) - { - SimpleLogicUIStandalone.executeVisualisation(FusionNotWorkingTestbench::create); - } - - public static void create(ViewModelModifiable model) - { - // TODO replace with proper ViewModel deserialization - DeserializedSubmodelComponent testbench = (DeserializedSubmodelComponent) IndirectGUIComponentCreator.createComponent(model, - "file:FusionNotWorkingTestbench.json", "testbench"); - testbench.setSize(1000, 1000); - testbench.setOutlineRenderer(new Renderer() - { - @Override - public Object getParamsForSerializing(IdentifierGetter idGetter) - { - return null; - } - - @Override - public void render(GeneralGC gc, Rectangle visibleRegion) - { - // do nothing - } - }); - } - -} \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2901/Am2901Testbench.java b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2901/Am2901Testbench.java index 4a8e389b..1260464b 100644 --- a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2901/Am2901Testbench.java +++ b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2901/Am2901Testbench.java @@ -15,7 +15,6 @@ import net.mograsim.logic.model.model.components.atomic.GUIBitDisplay; import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; import net.mograsim.logic.model.model.components.atomic.GUINotGate; import net.mograsim.logic.model.model.components.atomic.TextComponent; -import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.model.wires.WireCrossPoint; @@ -105,7 +104,7 @@ public class Am2901Testbench public static void beforeRun(VisualisationObjects vis) { - ((SubmodelComponent) vis.model.getComponentsByName().get("testbench")).submodel.getComponentsByName().values().forEach(c -> + vis.model.getComponentsByName().values().forEach(c -> { if (c instanceof GUIManualSwitch) { diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java index ec91151d..e00dbb92 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java @@ -20,6 +20,7 @@ import net.mograsim.preferences.Preferences; public class TextComponent extends GUIComponent { private final String text; + private boolean calculatedSize; public TextComponent(ViewModelModifiable model, String text) { @@ -38,8 +39,12 @@ public class TextComponent extends GUIComponent @Override public void render(GeneralGC gc, Rectangle visibleRegion) { - Point textExtent = gc.textExtent(text); - setSize(textExtent.x, textExtent.y); + if (!calculatedSize) + { + calculatedSize = true; + Point textExtent = gc.textExtent(text); + setSize(textExtent.x, textExtent.y); + } Color textColor = Preferences.current().getColor("net.mograsim.logic.model.color.text"); if (textColor != null) diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelComponent.java index aff42277..621f7217 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelComponent.java @@ -108,8 +108,8 @@ public abstract class SubmodelComponent extends GUIComponent this.submodelInterface = new SubmodelInterface(submodelModifiable, SUBMODEL_INTERFACE_NAME); this.submodelScale = 1; - this.maxVisibleRegionFillRatioForAlpha0 = 0.0; - this.minVisibleRegionFillRatioForAlpha1 = 0.0; + this.maxVisibleRegionFillRatioForAlpha0 = 0.8; + this.minVisibleRegionFillRatioForAlpha1 = 0.9; this.renderer = new LogicUIRenderer(submodelModifiable); Consumer redrawHandlerChangedListener = submodelModifiable::setRedrawHandler;