import net.haspamelodica.swt.helper.gcs.GeneralGC;
import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
-import net.mograsim.logic.model.model.ViewModelModifiable;
+import net.mograsim.logic.model.model.LogicModelModifiable;
import net.mograsim.logic.model.model.components.ModelComponent;
import net.mograsim.logic.model.model.components.Orientation;
import net.mograsim.logic.model.model.components.OrientationCalculator;
private ModelTriStateBufferParams params;
private OrientationCalculator oc;
- public ModelTriStateBuffer(ViewModelModifiable model, ModelTriStateBufferParams params)
+ public ModelTriStateBuffer(LogicModelModifiable model, ModelTriStateBufferParams params)
{
this(model, params, null);
}
- public ModelTriStateBuffer(ViewModelModifiable model, ModelTriStateBufferParams params, String name)
+ public ModelTriStateBuffer(LogicModelModifiable model, ModelTriStateBufferParams params, String name)
{
- super(model, name);
+ super(model, name, false);
this.params = params;
oc = new OrientationCalculator(params.orientation, width, height);
double hHalf = height / 2;
double hQuar = height / 4;
- this.input = new Pin(this, "IN", params.logicWidth, PinUsage.INPUT, oc.newX(0, hHalf), oc.newY(0, hHalf));
- this.output = new Pin(this, "OUT", params.logicWidth, PinUsage.OUTPUT, oc.newX(width, hHalf), oc.newY(width, hHalf));
- this.enable = new Pin(this, "EN", 1, PinUsage.INPUT, oc.newX(wHalf, hQuar), oc.newY(wHalf, hQuar));
+ this.input = new Pin(model, this, "IN", params.logicWidth, PinUsage.INPUT, oc.newX(0, hHalf), oc.newY(0, hHalf));
+ this.output = new Pin(model, this, "OUT", params.logicWidth, PinUsage.OUTPUT, oc.newX(width, hHalf), oc.newY(width, hHalf));
+ this.enable = new Pin(model, this, "EN", 1, PinUsage.INPUT, oc.newX(wHalf, hQuar), oc.newY(wHalf, hQuar));
this.path = new double[] { oc.newX(0, 0), oc.newY(0, 0), oc.newX(width, hHalf), oc.newY(width, hHalf), oc.newX(0, height),
oc.newY(0, height) };
addPin(input);
addPin(output);
addPin(enable);
+
+ init();
}
public final Pin getInputPin()