From: Fabian Stemmler Date: Tue, 24 Sep 2019 14:29:34 +0000 (+0200) Subject: Merge branch 'development' of X-Git-Url: https://mograsim.net/gitweb/?p=Mograsim.git;a=commitdiff_plain;h=4c2b7a2100e55b5e4bf59666b9684d5a996bd0fb Merge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019.git into development Conflicts: plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java --- 4c2b7a2100e55b5e4bf59666b9684d5a996bd0fb diff --cc plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java index b1d07560,cf883d2c..736aab3e --- a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java +++ b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java @@@ -93,37 -93,12 +97,41 @@@ public class LogicUIPart extends ViewPa private void addSimulationControlWidgets(Composite parent) { Composite c = new Composite(parent, SWT.NONE); - c.setLayout(new GridLayout(5, false)); - c.setLayout(new GridLayout(6, false)); ++ c.setLayout(new GridLayout(7, false)); + + MograsimProjectCombo projectCombo = MachineContextSwtTools.createMograsimProjectSelector(c, SWT.NONE); + MachineCombo machineCombo = MachineContextSwtTools.createMachineSelector(c, SWT.NONE); + + Button sbseButton = new Button(c, SWT.CHECK); Button pauseButton = new Button(c, SWT.TOGGLE); + + LogicObserver clockObserver = o -> + { + if (((CoreClock) o).isOn()) + { + exec.pauseLiveExecution(); + Display.getDefault().asyncExec(() -> + { + pauseButton.setSelection(false); + setPauseText(pauseButton, false); + }); + } + }; + + sbseButton.addListener(SWT.Selection, e -> + { + String statusString = "disabled"; + CoreClock cl = m.getClock(); + if (sbseButton.getSelection()) + { + cl.registerObserver(clockObserver); + statusString = "enabled"; + } else + cl.deregisterObserver(clockObserver); + sbseButton.setToolTipText(String.format("Step by step execution: %s", statusString)); + }); + sbseButton.setSelection(false); + pauseButton.setSelection(true); setPauseText(pauseButton, false);