X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=LogicUI%2Fsrc%2Fera%2Fmi%2Fgui%2Fcomponents%2FGUIManualSwitch.java;h=bcfa464b9efce00b9797895e1b2f332dd07ec3fa;hb=adb7d3662c194d94015851259cc67e6fd0575feb;hp=c3100ffb94ef257e3cb43db8aafcd20584d0b170;hpb=373b945917f9d573e4b1bd0e97f98b02fb0d9c07;p=Mograsim.git diff --git a/LogicUI/src/era/mi/gui/components/GUIManualSwitch.java b/LogicUI/src/era/mi/gui/components/GUIManualSwitch.java index c3100ffb..bcfa464b 100644 --- a/LogicUI/src/era/mi/gui/components/GUIManualSwitch.java +++ b/LogicUI/src/era/mi/gui/components/GUIManualSwitch.java @@ -1,94 +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.Bit; -import era.mi.logic.components.ManualSwitch; -import era.mi.logic.wires.WireArray; -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 WireArray wa; - private final List connectedWireArrays; - private final List wireArrayConnectionPoints; - - public GUIManualSwitch(WireArray output) - { - super(output); - - this.wa = output; - - List connectedWireArraysModifiable = new ArrayList<>(); - List wireArrayConnectionPointsModifiable = new ArrayList<>(); - - connectedWireArraysModifiable.add(output); - wireArrayConnectionPointsModifiable.add(new Point(20, 7.5)); - - this.connectedWireArrays = Collections.unmodifiableList(connectedWireArraysModifiable); - this.wireArrayConnectionPoints = Collections.unmodifiableList(wireArrayConnectionPointsModifiable); - } - - @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(wa.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 getConnectedWireArraysCount() - { - return connectedWireArrays.size(); - } - - @Override - public WireArray getConnectedWireArray(int connectionIndex) - { - return connectedWireArrays.get(connectionIndex); - } - @Override - public Point getWireArrayConnectionPoint(int connectionI) - { - return wireArrayConnectionPoints.get(connectionI); - } -} \ No newline at end of file +}