From 25ce56a076de2315046332334c4c18e28a0f543e Mon Sep 17 00:00:00 2001 From: SiboVG Date: Fri, 19 Aug 2022 23:50:15 +0200 Subject: [PATCH] [#1592] Update recovery altitude slider state --- .../sf/openrocket/gui/configdialog/ParachuteConfig.java | 8 ++++++++ .../openrocket/gui/configdialog/RecoveryDeviceConfig.java | 2 +- .../sf/openrocket/gui/configdialog/StreamerConfig.java | 8 ++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/swing/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java index 38fdffc3b..126d53d1a 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java @@ -3,6 +3,8 @@ package net.sf.openrocket.gui.configdialog; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; import javax.swing.ComboBoxModel; import javax.swing.JButton; @@ -221,6 +223,12 @@ public class ParachuteConfig extends RecoveryDeviceConfig { // This is the bottom stage: Restrict deployment options. eventCombo.removeItem( DeployEvent.LOWER_STAGE_SEPARATION ); } + eventCombo.addItemListener(new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + updateFields(); + } + }); panel.add(eventCombo, "spanx 3, growx, wrap"); // ... and delay diff --git a/swing/src/net/sf/openrocket/gui/configdialog/RecoveryDeviceConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/RecoveryDeviceConfig.java index e6d969a4f..35adc3bbb 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/RecoveryDeviceConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/RecoveryDeviceConfig.java @@ -28,7 +28,7 @@ public abstract class RecoveryDeviceConfig extends RocketComponentConfig { public void updateFields() { super.updateFields(); - if (altitudeComponents == null) + if (altitudeComponents == null || altitudeComponents.size() == 0) return; boolean enabled = (((RecoveryDevice) component).getDeploymentConfigurations().getDefault().getDeployEvent() == DeployEvent.ALTITUDE); diff --git a/swing/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java index 504c6e712..25f4af3f3 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java @@ -3,6 +3,8 @@ package net.sf.openrocket.gui.configdialog; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; import javax.swing.JButton; import javax.swing.JCheckBox; @@ -204,6 +206,12 @@ public class StreamerConfig extends RecoveryDeviceConfig { // This is the bottom stage. restrict deployment options. eventCombo.removeItem( DeployEvent.LOWER_STAGE_SEPARATION ); } + eventCombo.addItemListener(new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + updateFields(); + } + }); panel.add( eventCombo, "spanx 3, growx, wrap"); // ... and delay