diff --git a/src/main/java/org/micromanager/lightsheetmanager/LightSheetManagerPlugin.java b/src/main/java/org/micromanager/lightsheetmanager/LightSheetManagerPlugin.java index f49b99f..edb58c7 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/LightSheetManagerPlugin.java +++ b/src/main/java/org/micromanager/lightsheetmanager/LightSheetManagerPlugin.java @@ -53,13 +53,14 @@ public void onPluginSelected() { frame_ = new LightSheetManagerFrame(model_, isLoaded); frame_.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - if (isLoaded) { - model_.acquisitions().setFrame(frame_); - } - WindowUtils.registerWindowClosingEvent(frame_, event -> { - model_.positions().stopPolling(); - model_.userSettings().save(); + // no need to clean up for the error ui + if (isLoaded) { + if (model_.positions().isPolling()) { + model_.positions().stopPolling(); + } + model_.userSettings().save(); + } }); WindowUtils.registerWindowClosedEvent(frame_, event -> { diff --git a/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngine.java b/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngine.java index 43aed48..61826ee 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngine.java +++ b/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngine.java @@ -17,7 +17,6 @@ import org.micromanager.lightsheetmanager.LightSheetManagerPlugin; import org.micromanager.lightsheetmanager.api.AcquisitionManager; import org.micromanager.lightsheetmanager.api.internal.ScapeAcquisitionSettings; -import org.micromanager.lightsheetmanager.LightSheetManagerFrame; import org.micromanager.lightsheetmanager.gui.tabs.acquisition.DurationPanel; import org.micromanager.lightsheetmanager.model.autofocus.AutofocusAdapter; import org.micromanager.lightsheetmanager.model.DataStorage; @@ -52,9 +51,6 @@ public abstract class AcquisitionEngine implements AcquisitionManager, MMAcquist protected DurationPanel pnlDuration_; - // TODO: remove later, hacky method to stop position updater for now - protected LightSheetManagerFrame frame_; - protected final LightSheetManager model_; public AcquisitionEngine(final LightSheetManager model) { @@ -88,10 +84,6 @@ public void setDurationPanel(final DurationPanel panel) { pnlDuration_ = Objects.requireNonNull(panel);; } - public void setFrame(final LightSheetManagerFrame frame) { - frame_ = Objects.requireNonNull(frame); - } - /** * Sets the acquisition settings and update the acquisition settings builder with current values. *
diff --git a/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngineScape.java b/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngineScape.java index 1365558..d01462f 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngineScape.java +++ b/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngineScape.java @@ -169,7 +169,7 @@ boolean run() { // if X speed is less than 0.2 mm/s then it probably wasn't restored to correct speed some other time if (origSpeedX_ < 0.2) { - final boolean result = DialogUtils.showYesNoDialog(frame_, "Change Speed", + final boolean result = DialogUtils.showYesNoDialog(null, "Change Speed", "Max speed of X axis is small, perhaps it was not correctly restored after " + "stage scanning previously. Do you want to set it to 1 mm/s now?"); if (result) {