From a52f16bd7c32dd5ff87c776ddabbcd29dbb9585f Mon Sep 17 00:00:00 2001 From: SiboVG Date: Tue, 27 Aug 2024 01:35:23 +0200 Subject: [PATCH] Fix component selection resetting after updating plots --- .../gui/dialogs/componentanalysis/CAPlotPanel.java | 2 +- .../componentanalysis/CAPlotTypeSelector.java | 13 +++++++++++-- .../info/openrocket/swing/gui/plot/PlotPanel.java | 1 - 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/swing/src/main/java/info/openrocket/swing/gui/dialogs/componentanalysis/CAPlotPanel.java b/swing/src/main/java/info/openrocket/swing/gui/dialogs/componentanalysis/CAPlotPanel.java index 40652475a..70b2c1028 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/dialogs/componentanalysis/CAPlotPanel.java +++ b/swing/src/main/java/info/openrocket/swing/gui/dialogs/componentanalysis/CAPlotPanel.java @@ -71,7 +71,7 @@ public class CAPlotPanel extends PlotPanel availableTypes, - List componentsForType, CAPlotConfiguration configuration) { + List componentsForType, CAPlotConfiguration configuration, + RocketComponent selectedComponent) { super(plotIndex, type, unit, position, availableTypes, false); if (componentsForType.isEmpty()) { @@ -26,9 +27,11 @@ public class CAPlotTypeSelector extends PlotTypeSelector(componentsForType.toArray(new RocketComponent[0])); - configuration.setPlotDataComponent(plotIndex, componentsForType.get(0)); + componentSelector.setSelectedItem(selectedComponent); + configuration.setPlotDataComponent(plotIndex, selectedComponent); this.add(componentSelector, "gapright para"); addRemoveButton(); @@ -48,6 +51,12 @@ public class CAPlotTypeSelector extends PlotTypeSelector availableTypes, + List componentsForType, CAPlotConfiguration configuration) { + this(parent, plotIndex, type, unit, position, availableTypes, componentsForType, configuration, null); + } + public void addComponentSelectionListener(ItemListener listener) { componentSelector.addItemListener(listener); } diff --git a/swing/src/main/java/info/openrocket/swing/gui/plot/PlotPanel.java b/swing/src/main/java/info/openrocket/swing/gui/plot/PlotPanel.java index db19478f3..91f41a89a 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/plot/PlotPanel.java +++ b/swing/src/main/java/info/openrocket/swing/gui/plot/PlotPanel.java @@ -212,7 +212,6 @@ public class PlotPanel, // Select new type smartly T type = null; for (T t : typesY) { - boolean used = false; if (configuration.getDomainAxisType().equals(t)) { used = true;