import net.mograsim.logic.core.LogicObserver;
import net.mograsim.logic.core.components.CoreBitDisplay;
import net.mograsim.logic.core.types.BitVectorFormatter;
-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.wires.Pin;
import net.mograsim.logic.model.model.wires.PinUsage;
-import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter;
+import net.mograsim.logic.model.modeladapter.LogicCoreAdapter;
import net.mograsim.logic.model.modeladapter.componentadapters.BitDisplayAdapter;
import net.mograsim.logic.model.serializing.IdentifyParams;
import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
private final LogicObserver logicObs;
private CoreBitDisplay bitDisplay;
- public ModelBitDisplay(ViewModelModifiable model, int logicWidth)
+ public ModelBitDisplay(LogicModelModifiable model, int logicWidth)
{
this(model, logicWidth, null);
}
- public ModelBitDisplay(ViewModelModifiable model, int logicWidth, String name)
+ public ModelBitDisplay(LogicModelModifiable model, int logicWidth, String name)
{
- super(model, name);
+ super(model, name, false);
this.logicWidth = logicWidth;
logicObs = (i) -> model.requestRedraw();
setSize(width, height);
- addPin(this.inputPin = new Pin(this, "", logicWidth, PinUsage.INPUT, 0, height / 2));
+ addPin(this.inputPin = new Pin(model, this, "", logicWidth, PinUsage.INPUT, 0, height / 2));
+
+ init();
}
@Override
gc.setFont(oldFont);
}
- public void setLogicModelBinding(CoreBitDisplay bitDisplay)
+ public void setCoreModelBinding(CoreBitDisplay bitDisplay)
{
if (this.bitDisplay != null)
this.bitDisplay.deregisterObserver(logicObs);
bitDisplay.registerObserver(logicObs);
}
- public boolean hasLogicModelBinding()
+ public boolean hasCoreModelBinding()
{
return bitDisplay != null;
}
static
{
- ViewLogicModelAdapter.addComponentAdapter(new BitDisplayAdapter());
+ LogicCoreAdapter.addComponentAdapter(new BitDisplayAdapter());
IndirectModelComponentCreator.setComponentSupplier(ModelBitDisplay.class.getCanonicalName(),
(m, p, n) -> new ModelBitDisplay(m, p.getAsInt(), n));
}