disables "Start Tests" action if model is running. See #284

This commit is contained in:
hneemann 2019-07-18 07:26:53 +02:00
parent 8b5fe67016
commit ce9f1e387a

View File

@ -134,6 +134,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
private ToolTipAction runToBreakAction; private ToolTipAction runToBreakAction;
private ToolTipAction showMeasurementDialog; private ToolTipAction showMeasurementDialog;
private ToolTipAction showMeasurementGraph; private ToolTipAction showMeasurementGraph;
private ToolTipAction runTests;
private File baseFilename; private File baseFilename;
private File filename; private File filename;
@ -978,7 +979,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
.setToolTip(Lang.get("menu_element_tt")) .setToolTip(Lang.get("menu_element_tt"))
.setEnabledChain(false); .setEnabledChain(false);
ToolTipAction runTests = new ToolTipAction(Lang.get("menu_runTests"), ICON_TEST) { runTests = new ToolTipAction(Lang.get("menu_runTests"), ICON_TEST) {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
startTests(); startTests();
@ -1230,6 +1231,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
showMeasurementDialog.setEnabled(false); showMeasurementDialog.setEnabled(false);
showMeasurementGraph.setEnabled(false); showMeasurementGraph.setEnabled(false);
runToBreakAction.setEnabled(false); runToBreakAction.setEnabled(false);
runTests.setEnabled(true);
// keep errors // keep errors
if (circuitComponent.getHighLightStyle() != Style.ERROR) if (circuitComponent.getHighLightStyle() != Style.ERROR)
circuitComponent.removeHighLighted(); circuitComponent.removeHighLighted();
@ -1244,6 +1246,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
showMeasurementDialog.setEnabled(true); showMeasurementDialog.setEnabled(true);
showMeasurementGraph.setEnabled(true); showMeasurementGraph.setEnabled(true);
stoppedState.getAction().setEnabled(true); stoppedState.getAction().setEnabled(true);
runTests.setEnabled(false);
if (createAndStartModel(false, ModelEvent.MICROSTEP, null)) if (createAndStartModel(false, ModelEvent.MICROSTEP, null))
circuitComponent.setManualChangeObserver(new MicroStepObserver(model)); circuitComponent.setManualChangeObserver(new MicroStepObserver(model));
} }
@ -1251,6 +1254,23 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
stateManager.setActualState(stoppedState); stateManager.setActualState(stoppedState);
} }
private class RunModelState extends State {
@Override
public void enter() {
enter(true, null);
}
void enter(boolean runRealTime, ModelModifier modelModifier) {
super.enter();
stoppedState.getAction().setEnabled(true);
showMeasurementDialog.setEnabled(true);
showMeasurementGraph.setEnabled(true);
runTests.setEnabled(false);
if (createAndStartModel(runRealTime, ModelEvent.STEP, modelModifier))
circuitComponent.setManualChangeObserver(new FullStepObserver(model));
}
}
private void clearModelDescription() { private void clearModelDescription() {
if (model != null) if (model != null)
model.access(() -> model.close()); model.access(() -> model.close());
@ -1671,23 +1691,6 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
} }
} }
private class RunModelState extends State {
@Override
public void enter() {
enter(true, null);
}
void enter(boolean runRealTime, ModelModifier modelModifier) {
super.enter();
stoppedState.getAction().setEnabled(true);
showMeasurementDialog.setEnabled(true);
showMeasurementGraph.setEnabled(true);
if (createAndStartModel(runRealTime, ModelEvent.STEP, modelModifier))
circuitComponent.setManualChangeObserver(new FullStepObserver(model));
}
}
//*********************** //***********************
// remote interface start // remote interface start
//*********************** //***********************