From 3756cbca782b12a228887eb68231f6cd9fd2bd59 Mon Sep 17 00:00:00 2001 From: Brandon Date: Mon, 16 Mar 2026 16:36:57 -0700 Subject: [PATCH 1/5] update duration labels when check boxes are clicked --- .../lightsheetmanager/gui/tabs/AcquisitionTab.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java index 33f15cc..2fca852 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java +++ b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java @@ -251,6 +251,7 @@ private void createEventHandlers() { cbxUseMultiplePositions_.registerListener(e -> { final boolean selected = cbxUseMultiplePositions_.isSelected(); model_.acquisitions().settingsBuilder().useMultiplePositions(selected); + model_.acquisitions().updateDurationLabels(); pnlMultiPositions_.setPanelEnabled(selected); }); @@ -258,8 +259,8 @@ private void createEventHandlers() { cbxUseTimePoints_.registerListener(e -> { final boolean selected = cbxUseTimePoints_.isSelected(); model_.acquisitions().settingsBuilder().useTimePoints(selected); + model_.acquisitions().updateDurationLabels(); pnlTimePoints_.setPanelEnabled(selected); - //updateDurationLabels(); }); // use channels @@ -274,7 +275,6 @@ private void createEventHandlers() { cmbAcquisitionModes_.registerListener(e -> model_.acquisitions().settingsBuilder().acquisitionMode(cmbAcquisitionModes_.getSelected())); - // TODO: should timing recalc be part of setting use advanced timing value in model? // switches timing panels based on check box cbxUseAdvancedTiming_.registerListener(e -> { final boolean selected = cbxUseAdvancedTiming_.isSelected(); From 20f58b9fd176248a07c08319e721c8a1550e2d4a Mon Sep 17 00:00:00 2001 From: Brandon Date: Mon, 16 Mar 2026 16:39:31 -0700 Subject: [PATCH 2/5] recompute slice timing for adv timing panel --- .../gui/tabs/acquisition/AdvancedTimingPanel.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/AdvancedTimingPanel.java b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/AdvancedTimingPanel.java index b2b9540..85c97dd 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/AdvancedTimingPanel.java +++ b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/AdvancedTimingPanel.java @@ -133,6 +133,7 @@ private void createEventHandlers() { model_.acquisitions().settingsBuilder() .timingBuilder().delayBeforeLaser(rounded); + model_.acquisitions().updateDurationLabels(); }); spnLaserTriggerDuration_.registerListener(e -> { @@ -145,6 +146,7 @@ private void createEventHandlers() { model_.acquisitions().settingsBuilder() .timingBuilder().laserTriggerDuration(rounded); + model_.acquisitions().updateDurationLabels(); }); spnDelayBeforeCamera_.registerListener(e -> { @@ -157,6 +159,7 @@ private void createEventHandlers() { model_.acquisitions().settingsBuilder() .timingBuilder().delayBeforeCamera(rounded); + model_.acquisitions().updateDurationLabels(); }); spnCameraTriggerDuration_.registerListener(e -> { @@ -169,11 +172,13 @@ private void createEventHandlers() { model_.acquisitions().settingsBuilder() .timingBuilder().cameraTriggerDuration(rounded); + model_.acquisitions().updateDurationLabels(); }); spnCameraExposure_.registerListener(e -> { model_.acquisitions().settingsBuilder() .timingBuilder().cameraExposure(spnCameraExposure_.getDouble()); + model_.acquisitions().updateDurationLabels(); }); cbxAlternateScanDirection_.registerListener(e -> { From 70d05c33c7645b931c6bcbe53f3dbb0d26b426a7 Mon Sep 17 00:00:00 2001 From: Brandon Date: Mon, 16 Mar 2026 16:42:39 -0700 Subject: [PATCH 3/5] rename file --- .../lightsheetmanager/gui/tabs/AcquisitionTab.java | 8 ++++---- .../{SliceSettingsPanel.java => SlicePanel.java} | 6 ++---- 2 files changed, 6 insertions(+), 8 deletions(-) rename src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/{SliceSettingsPanel.java => SlicePanel.java} (96%) diff --git a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java index 2fca852..503ab58 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java +++ b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java @@ -12,7 +12,7 @@ import org.micromanager.lightsheetmanager.gui.tabs.acquisition.CameraPanel; import org.micromanager.lightsheetmanager.gui.tabs.acquisition.PositionPanel; import org.micromanager.lightsheetmanager.gui.tabs.acquisition.SavePanel; -import org.micromanager.lightsheetmanager.gui.tabs.acquisition.SliceSettingsPanel; +import org.micromanager.lightsheetmanager.gui.tabs.acquisition.SlicePanel; import org.micromanager.lightsheetmanager.gui.tabs.acquisition.TimePointsPanel; import org.micromanager.lightsheetmanager.gui.tabs.acquisition.VolumeDurationPanel; import org.micromanager.lightsheetmanager.gui.tabs.acquisition.VolumeSettingsPanel; @@ -67,7 +67,7 @@ public class AcquisitionTab extends Panel implements ListeningPanel { // right panel private VolumeSettingsPanel pnlVolumeSettings_; - private SliceSettingsPanel pnlSliceSettings_; + private SlicePanel pnlSliceSettings_; private AdvancedTimingPanel pnlAdvancedTiming_; private CheckBox cbxUseAdvancedTiming_; @@ -113,7 +113,7 @@ private void createUserInterface() { pnlVolumeSettings_ = new VolumeSettingsPanel(model_); // switch between these two panels - pnlSliceSettings_ = new SliceSettingsPanel(model_); + pnlSliceSettings_ = new SlicePanel(model_); pnlAdvancedTiming_ = new AdvancedTimingPanel(model_); // multiple positions @@ -304,7 +304,7 @@ private void swapTimingSettingsPanels(final boolean useAdvancedTiming) { pnlRight_.repaint(); } - public SliceSettingsPanel getSliceSettingsPanel() { + public SlicePanel getSliceSettingsPanel() { return pnlSliceSettings_; } diff --git a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/SliceSettingsPanel.java b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/SlicePanel.java similarity index 96% rename from src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/SliceSettingsPanel.java rename to src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/SlicePanel.java index ca65a12..3280f15 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/SliceSettingsPanel.java +++ b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/SlicePanel.java @@ -1,9 +1,7 @@ package org.micromanager.lightsheetmanager.gui.tabs.acquisition; import org.micromanager.lightsheetmanager.api.data.CameraMode; -import org.micromanager.lightsheetmanager.api.data.GeometryType; import org.micromanager.lightsheetmanager.api.internal.DefaultSliceSettings; -import org.micromanager.lightsheetmanager.api.internal.DefaultSliceSettingsLS; import org.micromanager.lightsheetmanager.gui.components.CheckBox; import org.micromanager.lightsheetmanager.gui.components.Label; import org.micromanager.lightsheetmanager.gui.components.Panel; @@ -12,7 +10,7 @@ import java.util.Objects; -public class SliceSettingsPanel extends Panel { +public class SlicePanel extends Panel { // regular panel private CheckBox cbxMinimizeSlicePeriod_; @@ -33,7 +31,7 @@ public class SliceSettingsPanel extends Panel { private final LightSheetManager model_; - public SliceSettingsPanel(final LightSheetManager model) { + public SlicePanel(final LightSheetManager model) { super("Slice Settings"); model_ = Objects.requireNonNull(model); createUserInterface(); From f02369a22b4e65f7d6dfbbd5718c217571a450a8 Mon Sep 17 00:00:00 2001 From: Brandon Date: Mon, 16 Mar 2026 16:45:59 -0700 Subject: [PATCH 4/5] rename file --- .../lightsheetmanager/gui/tabs/AcquisitionTab.java | 6 +++--- .../{VolumeSettingsPanel.java => VolumePanel.java} | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) rename src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/{VolumeSettingsPanel.java => VolumePanel.java} (97%) diff --git a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java index 503ab58..4dd7946 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java +++ b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java @@ -15,7 +15,7 @@ import org.micromanager.lightsheetmanager.gui.tabs.acquisition.SlicePanel; import org.micromanager.lightsheetmanager.gui.tabs.acquisition.TimePointsPanel; import org.micromanager.lightsheetmanager.gui.tabs.acquisition.VolumeDurationPanel; -import org.micromanager.lightsheetmanager.gui.tabs.acquisition.VolumeSettingsPanel; +import org.micromanager.lightsheetmanager.gui.tabs.acquisition.VolumePanel; import org.micromanager.lightsheetmanager.gui.tabs.channels.ChannelTablePanel; import org.micromanager.lightsheetmanager.gui.playlist.AcquisitionTableFrame; import org.micromanager.lightsheetmanager.gui.components.Button; @@ -66,7 +66,7 @@ public class AcquisitionTab extends Panel implements ListeningPanel { private ChannelTablePanel pnlChannelTable_; // right panel - private VolumeSettingsPanel pnlVolumeSettings_; + private VolumePanel pnlVolumeSettings_; private SlicePanel pnlSliceSettings_; private AdvancedTimingPanel pnlAdvancedTiming_; private CheckBox cbxUseAdvancedTiming_; @@ -110,7 +110,7 @@ private void createUserInterface() { ); pnlDurations_ = new VolumeDurationPanel(model_); - pnlVolumeSettings_ = new VolumeSettingsPanel(model_); + pnlVolumeSettings_ = new VolumePanel(model_); // switch between these two panels pnlSliceSettings_ = new SlicePanel(model_); diff --git a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/VolumeSettingsPanel.java b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/VolumePanel.java similarity index 97% rename from src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/VolumeSettingsPanel.java rename to src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/VolumePanel.java index fb2bf49..90e9c40 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/VolumeSettingsPanel.java +++ b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/VolumePanel.java @@ -10,7 +10,7 @@ import java.util.Objects; -public class VolumeSettingsPanel extends Panel { +public class VolumePanel extends Panel { private ComboBox cmbNumViews_; private ComboBox cmbFirstView_; @@ -21,7 +21,7 @@ public class VolumeSettingsPanel extends Panel { private final LightSheetManager model_; - public VolumeSettingsPanel(final LightSheetManager model) { + public VolumePanel(final LightSheetManager model) { super("Volume Settings"); model_ = Objects.requireNonNull(model); createUserInterface(); From eb4835c555dbf0b40d9059f7b6378e0fa7ee8d98 Mon Sep 17 00:00:00 2001 From: Brandon Date: Mon, 16 Mar 2026 16:48:19 -0700 Subject: [PATCH 5/5] rename file --- .../lightsheetmanager/gui/tabs/AcquisitionTab.java | 6 +++--- .../{VolumeDurationPanel.java => DurationPanel.java} | 4 ++-- .../model/acquisitions/AcquisitionEngine.java | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) rename src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/{VolumeDurationPanel.java => DurationPanel.java} (92%) diff --git a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java index 4dd7946..36b2250 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java +++ b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/AcquisitionTab.java @@ -14,7 +14,7 @@ import org.micromanager.lightsheetmanager.gui.tabs.acquisition.SavePanel; import org.micromanager.lightsheetmanager.gui.tabs.acquisition.SlicePanel; import org.micromanager.lightsheetmanager.gui.tabs.acquisition.TimePointsPanel; -import org.micromanager.lightsheetmanager.gui.tabs.acquisition.VolumeDurationPanel; +import org.micromanager.lightsheetmanager.gui.tabs.acquisition.DurationPanel; import org.micromanager.lightsheetmanager.gui.tabs.acquisition.VolumePanel; import org.micromanager.lightsheetmanager.gui.tabs.channels.ChannelTablePanel; import org.micromanager.lightsheetmanager.gui.playlist.AcquisitionTableFrame; @@ -45,7 +45,7 @@ public class AcquisitionTab extends Panel implements ListeningPanel { private Button btnRunOverviewAcq_; // durations - private VolumeDurationPanel pnlDurations_; + private DurationPanel pnlDurations_; // time points private TimePointsPanel pnlTimePoints_; @@ -109,7 +109,7 @@ private void createUserInterface() { "[]10[]" ); - pnlDurations_ = new VolumeDurationPanel(model_); + pnlDurations_ = new DurationPanel(model_); pnlVolumeSettings_ = new VolumePanel(model_); // switch between these two panels diff --git a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/VolumeDurationPanel.java b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/DurationPanel.java similarity index 92% rename from src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/VolumeDurationPanel.java rename to src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/DurationPanel.java index c7675c7..cf1925f 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/VolumeDurationPanel.java +++ b/src/main/java/org/micromanager/lightsheetmanager/gui/tabs/acquisition/DurationPanel.java @@ -7,13 +7,13 @@ import javax.swing.JLabel; import java.util.Objects; -public class VolumeDurationPanel extends Panel { +public class DurationPanel extends Panel { private Label lblSliceTimeValue_; private Label lblVolumeTimeValue_; private Label lblTotalTimeValue_; - public VolumeDurationPanel(final LightSheetManager model) { + public DurationPanel(final LightSheetManager model) { super("Durations"); Objects.requireNonNull(model) .acquisitions().setVolumeDurationPanel(this); 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 7da4e45..32e5a93 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngine.java +++ b/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngine.java @@ -18,7 +18,7 @@ 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.VolumeDurationPanel; +import org.micromanager.lightsheetmanager.gui.tabs.acquisition.DurationPanel; import org.micromanager.lightsheetmanager.model.autofocus.AutofocusAdapter; import org.micromanager.lightsheetmanager.model.DataStorage; import org.micromanager.lightsheetmanager.LightSheetManager; @@ -50,7 +50,7 @@ public abstract class AcquisitionEngine implements AcquisitionManager, MMAcquist protected Pipeline curPipeline_; protected long nextWakeTime_ = -1; - protected VolumeDurationPanel pnlVolumeDurations_; + protected DurationPanel pnlVolumeDurations_; // TODO: remove later, hacky method to stop position updater for now protected LightSheetManagerFrame frame_; @@ -84,7 +84,7 @@ public AcquisitionEngine(final LightSheetManager model) { public abstract void updateDurationLabels(); - public void setVolumeDurationPanel(final VolumeDurationPanel panel) { + public void setVolumeDurationPanel(final DurationPanel panel) { pnlVolumeDurations_ = panel; }