From 0336760e21a3e85a31f28dbf9831a5bac8c93821 Mon Sep 17 00:00:00 2001 From: Joran Deschamps <6367888+jdeschamps@users.noreply.github.com> Date: Tue, 18 Feb 2025 16:34:09 +0100 Subject: [PATCH 1/4] Update PowerMeterPanel to guard against wrong wavelegnth indexing --- .../java/de/embl/rieslab/htsmlm/PowerMeterPanel.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java b/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java index d4f1139..19de5b4 100644 --- a/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java +++ b/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java @@ -77,7 +77,10 @@ public PowerMeterPanel(String label) { comboBox_ = new JComboBox(temp); comboBox_.addActionListener (new ActionListener () { public void actionPerformed(ActionEvent e) { - selectedWavelength_ = comboBox_.getSelectedIndex(); + temp_index = comboBox_.getSelectedIndex(); + if(temp_index != -1){ + selectedWavelength_ = temp_index; + } } }); toggleButton_ = new JToggleButton("Monitor"); @@ -295,13 +298,13 @@ protected double convertPower(double value) { int index = getCurrentWavelength(); double slope, offset; - if(index < slopes.size()) { + if(index >= 0 && index < slopes.size()) { slope = slopes.get(index); } else { slope = 1.; } - if(index < offsets.size()) { + if(index >= 0 && index < offsets.size()) { offset = offsets.get(index); } else { offset = 0.; From 0721d941135376727e16092e8f2b33c1bec13a5a Mon Sep 17 00:00:00 2001 From: Joran Deschamps <6367888+jdeschamps@users.noreply.github.com> Date: Tue, 18 Feb 2025 16:43:00 +0100 Subject: [PATCH 2/4] Make sure an item is selected --- src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java b/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java index 19de5b4..fbead65 100644 --- a/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java +++ b/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java @@ -192,6 +192,10 @@ protected void parameterhasChanged(String parameterName) { DefaultComboBoxModel model = new DefaultComboBoxModel(vals); comboBox_.removeAllItems(); comboBox_.setModel(model); + + if(vals.length > 0){ + comboBox_.setSelectedIndex(0); + } } catch (UnknownUIParameterException e) { e.printStackTrace(); } From 1f87cbce8a03e187d5f303f66bd63a27887d95bb Mon Sep 17 00:00:00 2001 From: Joran Deschamps <6367888+jdeschamps@users.noreply.github.com> Date: Wed, 19 Feb 2025 14:26:36 +0100 Subject: [PATCH 3/4] Update PowerMeterPanel.java Reverse commit --- src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java b/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java index fbead65..19de5b4 100644 --- a/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java +++ b/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java @@ -192,10 +192,6 @@ protected void parameterhasChanged(String parameterName) { DefaultComboBoxModel model = new DefaultComboBoxModel(vals); comboBox_.removeAllItems(); comboBox_.setModel(model); - - if(vals.length > 0){ - comboBox_.setSelectedIndex(0); - } } catch (UnknownUIParameterException e) { e.printStackTrace(); } From cac2d9b72351474b5611027fe8d05dfce4ec13b6 Mon Sep 17 00:00:00 2001 From: Joran Deschamps <6367888+jdeschamps@users.noreply.github.com> Date: Wed, 19 Feb 2025 18:58:31 +0100 Subject: [PATCH 4/4] Fix variable declaration --- src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java b/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java index 19de5b4..3381124 100644 --- a/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java +++ b/src/main/java/de/embl/rieslab/htsmlm/PowerMeterPanel.java @@ -77,7 +77,7 @@ public PowerMeterPanel(String label) { comboBox_ = new JComboBox(temp); comboBox_.addActionListener (new ActionListener () { public void actionPerformed(ActionEvent e) { - temp_index = comboBox_.getSelectedIndex(); + int temp_index = comboBox_.getSelectedIndex(); if(temp_index != -1){ selectedWavelength_ = temp_index; }