X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fmodel%2Fcomponents%2Fatomic%2FGUISplitter.java;h=4821c919cd59b9078ef3b27125b1fca50b6fbbcc;hb=0a04a4ed66ecebd4254541c4977599f6052c115a;hp=9527279d2a9606dd5f054cb89888865bf92117f4;hpb=c202aac61021b9d12e4ac6495001bcd012cecde0;p=Mograsim.git 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 9527279d..4821c919 100644 --- 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 @@ -5,14 +5,14 @@ import org.eclipse.swt.SWT; import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.core.types.BitVectorFormatter; -import net.mograsim.logic.core.wires.Wire.ReadEnd; +import net.mograsim.logic.core.wires.CoreWire.ReadEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.SplitterAdapter; -import net.mograsim.logic.model.serializing.IdentifierGetter; +import net.mograsim.logic.model.serializing.IdentifyParams; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.preferences.ColorDefinition; import net.mograsim.preferences.ColorManager; @@ -55,10 +55,13 @@ public class GUISplitter extends GUIComponent ColorDefinition c = BitVectorFormatter.formatAsColor(inputEnd); if (c != null) gc.setForeground(ColorManager.current().toColor(c)); + gc.setLineWidth( + Preferences.current().getDouble("net.mograsim.logic.model.linewidth.wire." + (logicWidth == 1 ? "singlebit" : "multibit"))); double inLineY = posY + (logicWidth - 1) * heightPerPin / 2; gc.drawLine(posX, inLineY, posX + width / 2, inLineY); - double outputHeight = posY + (logicWidth - 1) * heightPerPin; - for (int i = 0; i < logicWidth; i++, outputHeight -= 10) + gc.setLineWidth(Preferences.current().getDouble("net.mograsim.logic.model.linewidth.wire.singlebit")); + double outputHeight = posY; + for (int i = 0; i < logicWidth; i++, outputHeight += 10) { c = BitVectorFormatter.formatAsColor(outputEnds[i]); if (c != null) @@ -69,13 +72,21 @@ public class GUISplitter extends GUIComponent int oldLineCap = gc.getLineCap(); int lineJoin = gc.getLineJoin(); // TODO find better "replacement" for JOIN_BEVEL + // TODO it looks weird that the vertical line is thinner than the single multibit wire. gc.setLineCap(lineJoin == SWT.JOIN_MITER ? SWT.CAP_SQUARE : lineJoin == SWT.JOIN_ROUND ? SWT.CAP_ROUND : SWT.CAP_SQUARE); gc.drawLine(posX + width / 2, posY, posX + width / 2, posY + heightPerPin * (logicWidth - 1)); + gc.setLineWidth(Preferences.current().getDouble("net.mograsim.logic.model.linewidth.default")); gc.setLineCap(oldLineCap); } @Override - public Integer getParamsForSerializing(IdentifierGetter idGetter) + public String getIDForSerializing(IdentifyParams idParams) + { + return "GUISplitter"; + } + + @Override + public Integer getParamsForSerializing(IdentifyParams idParams) { return logicWidth; }