import java.util.List;
import era.mi.logic.components.gates.OrGate;
-import era.mi.logic.wires.WireArray;
+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;
public class GUIOrGate extends OrGate implements BasicGUIComponent
{
- private static final String LABEL = "\u22651";//>=1
+ private static final String LABEL = "\u22651";// >=1
- private final int inputCount;
- private final double height;
- private final List<WireArray> connectedWireArrays;
- private final List<Point> wireArrayConnectionPoints;
+ private final int inputCount;
+ private final double height;
+ private final List<ReadEnd> connectedWireEnds;
+ private final List<Point> WireEndConnectionPoints;
- public GUIOrGate(int processTime, WireArray out, WireArray... in)
+ public GUIOrGate(int processTime, ReadWriteEnd out, ReadEnd... in)
{
super(processTime, out, in);
- List<WireArray> connectedWireArraysModifiable = new ArrayList<>();
- List<Point> wireArrayConnectionPointsModifiable = new ArrayList<>();
+ List<ReadEnd> connectedWireEndsModifiable = new ArrayList<>();
+ List<Point> WireEndConnectionPointsModifiable = new ArrayList<>();
this.inputCount = in.length;
this.height = inputCount * 10;
{
- connectedWireArraysModifiable.addAll(Arrays.asList(in));
+ connectedWireEndsModifiable.addAll(Arrays.asList(in));
double inputHeight = 5;
- for(int i = 0; i < inputCount; i ++, inputHeight += 10)
- wireArrayConnectionPointsModifiable.add(new Point(0, inputHeight));
+ for (int i = 0; i < inputCount; i++, inputHeight += 10)
+ WireEndConnectionPointsModifiable.add(new Point(0, inputHeight));
}
- connectedWireArraysModifiable.add(out);
- wireArrayConnectionPointsModifiable.add(new Point(20, height / 2));
+ connectedWireEndsModifiable.add(out);
+ WireEndConnectionPointsModifiable.add(new Point(20, height / 2));
- this.connectedWireArrays = Collections.unmodifiableList(connectedWireArraysModifiable);
- this.wireArrayConnectionPoints = Collections.unmodifiableList(wireArrayConnectionPointsModifiable);
+ this.connectedWireEnds = Collections.unmodifiableList(connectedWireEndsModifiable);
+ this.WireEndConnectionPoints = Collections.unmodifiableList(WireEndConnectionPointsModifiable);
}
@Override
{
return new Rectangle(0, 0, 20, height);
}
+
@Override
public void render(GeneralGC gc)
{
- gc.drawRectangle(0, 0, 17, height);
+ gc.drawRectangle(0, 0, 20, height);
Font oldFont = gc.getFont();
Font labelFont = new Font(oldFont.getName(), 5, oldFont.getStyle());
gc.setFont(labelFont);
Point textExtent = gc.textExtent(LABEL);
- gc.drawText(LABEL, 8.5 - textExtent.x / 2, (height - textExtent.y) / 2, true);
+ gc.drawText(LABEL, 10 - textExtent.x / 2, (height - textExtent.y) / 2, true);
gc.setFont(oldFont);
- gc.drawOval(17, height / 2 - 1.5, 3, 3);
}
@Override
- public int getConnectedWireArraysCount()
+ public int getConnectedWireEndsCount()
{
- return connectedWireArrays.size();
+ return connectedWireEnds.size();
}
+
@Override
- public WireArray getConnectedWireArray(int connectionIndex)
+ public ReadEnd getConnectedWireEnd(int connectionIndex)
{
- return connectedWireArrays.get(connectionIndex);
+ return connectedWireEnds.get(connectionIndex);
}
+
@Override
- public Point getWireArrayConnectionPoint(int connectionI)
+ public Point getWireEndConnectionPoint(int connectionI)
{
- return wireArrayConnectionPoints.get(connectionI);
+ return WireEndConnectionPoints.get(connectionI);
}
}
\ No newline at end of file