X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=LogicUI%2Fsrc%2Fera%2Fmi%2Fgui%2Fcomponents%2FGUIManualSwitch.java;h=bcfa464b9efce00b9797895e1b2f332dd07ec3fa;hb=adb7d3662c194d94015851259cc67e6fd0575feb;hp=7dcb025f792a790dca577becdc7ef7a0ea67766d;hpb=6c67a9ff8361cd9fc082f40e2676f2c8b5911fe4;p=Mograsim.git diff --git a/LogicUI/src/era/mi/gui/components/GUIManualSwitch.java b/LogicUI/src/era/mi/gui/components/GUIManualSwitch.java index 7dcb025f..bcfa464b 100644 --- a/LogicUI/src/era/mi/gui/components/GUIManualSwitch.java +++ b/LogicUI/src/era/mi/gui/components/GUIManualSwitch.java @@ -1,96 +1,6 @@ package era.mi.gui.components; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import era.mi.logic.components.ManualSwitch; -import era.mi.logic.timeline.Timeline; -import era.mi.logic.types.Bit; -import era.mi.logic.wires.Wire.ReadEnd; -import era.mi.logic.wires.Wire.ReadWriteEnd; -import net.haspamelodica.swt.helper.gcs.GeneralGC; -import net.haspamelodica.swt.helper.swtobjectwrappers.Font; -import net.haspamelodica.swt.helper.swtobjectwrappers.Point; -import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; - -public class GUIManualSwitch extends ManualSwitch implements BasicGUIComponent +public class GUIManualSwitch { - private static final Map bitNames; - static - { - Map bitNamesModifiable = new HashMap<>(); - bitNamesModifiable.put(Bit.ONE, "1"); - bitNamesModifiable.put(Bit.ZERO, "0"); - bitNamesModifiable.put(Bit.Z, "Z"); - bitNamesModifiable.put(Bit.U, "U"); - bitNamesModifiable.put(Bit.X, "X"); - bitNames = Collections.unmodifiableMap(bitNamesModifiable); - } - - private final ReadEnd we; - private final List connectedWireEnds; - private final List wireEndConnectionPoints; - - public GUIManualSwitch(Timeline timeline, ReadWriteEnd output) - { - super(timeline, output); - - this.we = output; - - List connectedWireEndsModifiable = new ArrayList<>(); - List wireEndConnectionPointsModifiable = new ArrayList<>(); - - connectedWireEndsModifiable.add(output); - wireEndConnectionPointsModifiable.add(new Point(20, 7.5)); - - this.connectedWireEnds = Collections.unmodifiableList(connectedWireEndsModifiable); - this.wireEndConnectionPoints = Collections.unmodifiableList(wireEndConnectionPointsModifiable); - } - - @Override - public Rectangle getBounds() - { - return new Rectangle(0, 0, 20, 15); - } - - @Override - public void render(GeneralGC gc) - { - gc.drawRectangle(0, 0, 20, 15); - String label = bitNames.get(we.getValue()); - Font oldFont = gc.getFont(); - Font labelFont = new Font(oldFont.getName(), 6, oldFont.getStyle()); - gc.setFont(labelFont); - Point textExtent = gc.textExtent(label); - gc.drawText(label, 10 - textExtent.x / 2, 7.5 - textExtent.y / 2, true); - gc.setFont(oldFont); - } - - @Override - public boolean clicked(double x, double y) - { - toggle(); - return true; - } - - @Override - public int getConnectedWireEndsCount() - { - return connectedWireEnds.size(); - } - - @Override - public ReadEnd getConnectedWireEnd(int connectionIndex) - { - return connectedWireEnds.get(connectionIndex); - } - @Override - public Point getWireEndConnectionPoint(int connectionI) - { - return wireEndConnectionPoints.get(connectionI); - } -} \ No newline at end of file +}