From ee9d52c432d4fd50ddb2de7e5172293b326ce063 Mon Sep 17 00:00:00 2001 From: Sibo Van Gool Date: Sun, 30 Jan 2022 14:12:26 +0100 Subject: [PATCH] [fixes #1088] Fix recovery and separation not selected upon tab change --- .../FlightConfigurationPanel.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/FlightConfigurationPanel.java b/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/FlightConfigurationPanel.java index 132ad0472..75c7dbc2a 100644 --- a/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/FlightConfigurationPanel.java +++ b/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/FlightConfigurationPanel.java @@ -8,6 +8,8 @@ import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JTabbedPane; import javax.swing.SwingUtilities; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import net.miginfocom.swing.MigLayout; import net.sf.openrocket.document.OpenRocketDocument; @@ -141,6 +143,24 @@ public class FlightConfigurationPanel extends JPanel implements StateChangeListe }); this.add(copyConfButton, "wrap"); + tabs.addChangeListener(new ChangeListener() { + @Override + public void stateChanged(ChangeEvent e) { + // Trigger a selection of the motor/recovery/configuration item + switch (tabs.getSelectedIndex()) { + case MOTOR_TAB_INDEX: + motorConfigurationPanel.updateButtonState(); + break; + case RECOVERY_TAB_INDEX: + recoveryConfigurationPanel.updateButtonState(); + break; + case SEPARATION_TAB_INDEX: + separationConfigurationPanel.updateButtonState(); + break; + } + } + }); + updateButtonState(); this.add(tabs, "spanx, grow, wrap rel");