import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
import net.mograsim.logic.core.wires.CoreWire.ReadEnd;
import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd;
-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.modeladapter.ViewLogicModelAdapter;
+import net.mograsim.logic.model.modeladapter.LogicCoreAdapter;
import net.mograsim.logic.model.modeladapter.componentadapters.SimpleRectangularHardcodedModelComponentAdapter;
import net.mograsim.logic.model.serializing.IdentifyParams;
import net.mograsim.logic.model.snippets.HighLevelStateHandler;
// creation and destruction
- public SimpleRectangularHardcodedModelComponent(ViewModelModifiable model, String id, String name, String centerText)
+ public SimpleRectangularHardcodedModelComponent(LogicModelModifiable model, String id, String name, String centerText)
{
- super(model, name);
+ this(model, id, name, centerText, true);
+ }
+
+ public SimpleRectangularHardcodedModelComponent(LogicModelModifiable model, String id, String name, String centerText, boolean callInit)
+ {
+ super(model, name, false);
this.id = id;
this.outlineRenderer = new DefaultOutlineRenderer(this);
CenteredTextParams centeredTextParams = new CenteredTextParams();
recalculate.run();
}
});
+
+ if (callInit)
+ init();
}
// pins
public abstract Object recalculate(Object lastState, Map<String, ReadEnd> readEnds, Map<String, ReadWriteEnd> readWriteEnds);
- // logic model binding
+ // core model binding
- public void setLogicModelBindingAndResetState(AtomicReference<Object> state, Runnable recalculate)
+ public void setCoreModelBindingAndResetState(AtomicReference<Object> state, Runnable recalculate)
{
this.state = state;
this.recalculate = recalculate;
static
{
- ViewLogicModelAdapter.addComponentAdapter(new SimpleRectangularHardcodedModelComponentAdapter());
+ LogicCoreAdapter.addComponentAdapter(new SimpleRectangularHardcodedModelComponentAdapter());
}
}
\ No newline at end of file