X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Feditors%2FSimulationViewEditor.java;h=6b17dcf0a5b64a96bd2b8d736708f919a8291960;hb=1a5a58773f99a1c1fdadc33aa117d6cbc643802e;hp=91a0397971e918bb89a4d0904d80cf3f1d02abd7;hpb=67aacda56e0c89f073a02071a07ea1e3d5551fe7;p=Mograsim.git diff --git a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/editors/SimulationViewEditor.java b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/editors/SimulationViewEditor.java index 91a03979..6b17dcf0 100644 --- a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/editors/SimulationViewEditor.java +++ b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/editors/SimulationViewEditor.java @@ -30,6 +30,7 @@ import net.mograsim.logic.core.LogicObserver; import net.mograsim.logic.core.components.CoreClock; import net.mograsim.logic.model.LogicExecuter; import net.mograsim.logic.model.LogicUICanvas; +import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; import net.mograsim.machine.Machine; import net.mograsim.machine.Memory.MemoryCellModifiedListener; import net.mograsim.machine.mi.AssignableMicroInstructionMemory; @@ -160,7 +161,7 @@ public class SimulationViewEditor extends EditorPart // initialize executer exec = new LogicExecuter(machine.getTimeline()); - updateSpeedFactorFromScale(); + updateSpeedFactorFromInput(simSpeedInput.getValue()); updatePausedState(); exec.startLiveExecution(); } else @@ -189,12 +190,21 @@ public class SimulationViewEditor extends EditorPart { Composite c = new Composite(parent, SWT.NONE); c.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); - c.setLayout(new GridLayout(6, false)); + c.setLayout(new GridLayout(7, false)); resetButton = new Button(c, SWT.PUSH); resetButton.setText("Reset machine"); resetButton.addListener(SWT.Selection, e -> context.getActiveMachine().get().reset()); + // TODO do we want this button in the final product? + Button reloadMachineButton = new Button(c, SWT.PUSH); + reloadMachineButton.setText("Reload machine"); + reloadMachineButton.addListener(SWT.Selection, e -> + { + IndirectModelComponentCreator.clearComponentCache(); + context.setActiveMachine(context.getMachineDefinition().get().createNew()); + }); + sbseButton = new Button(c, SWT.CHECK); pauseButton = new Button(c, SWT.TOGGLE);