Update domain type on configuration change
This commit is contained in:
parent
b53f4e4f5a
commit
f392760c0e
@ -13,6 +13,7 @@ import info.openrocket.core.startup.Application;
|
|||||||
import info.openrocket.swing.gui.adaptors.DoubleModel;
|
import info.openrocket.swing.gui.adaptors.DoubleModel;
|
||||||
import info.openrocket.swing.gui.components.EditableSpinner;
|
import info.openrocket.swing.gui.components.EditableSpinner;
|
||||||
import info.openrocket.swing.gui.components.UnitSelector;
|
import info.openrocket.swing.gui.components.UnitSelector;
|
||||||
|
import info.openrocket.swing.gui.plot.PlotPanel;
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@ -35,7 +36,7 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class ComponentAnalysisPlotExportPanel extends JPanel {
|
public class ComponentAnalysisPlotExportPanel extends JPanel implements PlotPanel.PlotConfigurationListener<CAPlotConfiguration> {
|
||||||
private static final Translator trans = Application.getTranslator();
|
private static final Translator trans = Application.getTranslator();
|
||||||
private static final Logger log = LoggerFactory.getLogger(ComponentAnalysisPlotExportPanel.class);
|
private static final Logger log = LoggerFactory.getLogger(ComponentAnalysisPlotExportPanel.class);
|
||||||
|
|
||||||
@ -83,6 +84,7 @@ public class ComponentAnalysisPlotExportPanel extends JPanel {
|
|||||||
//// Plot data
|
//// Plot data
|
||||||
this.plotTab = CAPlotPanel.create(this, types);
|
this.plotTab = CAPlotPanel.create(this, types);
|
||||||
this.tabbedPane.addTab(trans.get("CAPlotExportDialog.tab.Plot"), null, this.plotTab);
|
this.tabbedPane.addTab(trans.get("CAPlotExportDialog.tab.Plot"), null, this.plotTab);
|
||||||
|
this.plotTab.addPlotConfigurationListener(this);
|
||||||
|
|
||||||
//// Export data
|
//// Export data
|
||||||
this.exportTab = CAExportPanel.create(this, types);
|
this.exportTab = CAExportPanel.create(this, types);
|
||||||
@ -322,4 +324,9 @@ public class ComponentAnalysisPlotExportPanel extends JPanel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPlotConfigurationChanged(CAPlotConfiguration newConfiguration) {
|
||||||
|
CADomainDataType type = (CADomainDataType) newConfiguration.getDomainAxisType();
|
||||||
|
this.parameterSelector.setSelectedItem(type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,9 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.event.ItemEvent;
|
import java.awt.event.ItemEvent;
|
||||||
import java.awt.event.ItemListener;
|
import java.awt.event.ItemListener;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class PlotPanel<T extends DataType & Groupable<G>,
|
public class PlotPanel<T extends DataType & Groupable<G>,
|
||||||
B extends DataBranch<T>,
|
B extends DataBranch<T>,
|
||||||
@ -44,13 +46,14 @@ public class PlotPanel<T extends DataType & Groupable<G>,
|
|||||||
private final C[] presetArray;
|
private final C[] presetArray;
|
||||||
|
|
||||||
private C defaultConfiguration;
|
private C defaultConfiguration;
|
||||||
|
private final List<PlotConfigurationListener<C>> configurationListeners = new ArrayList<>();
|
||||||
|
|
||||||
// Data types for the x and y axis + plot configuration
|
// Data types for the x and y axis + plot configuration
|
||||||
protected final T[] typesX;
|
protected final T[] typesX;
|
||||||
protected final T[] typesY;
|
protected final T[] typesY;
|
||||||
protected C configuration;
|
protected C configuration;
|
||||||
|
|
||||||
private final JComboBox<C> configurationSelector;
|
protected final JComboBox<C> configurationSelector;
|
||||||
protected JComboBox<T> domainTypeSelector;
|
protected JComboBox<T> domainTypeSelector;
|
||||||
private UnitSelector domainUnitSelector;
|
private UnitSelector domainUnitSelector;
|
||||||
private final JPanel typeSelectorPanel;
|
private final JPanel typeSelectorPanel;
|
||||||
@ -265,6 +268,10 @@ public class PlotPanel<T extends DataType & Groupable<G>,
|
|||||||
if (modified) {
|
if (modified) {
|
||||||
configuration.setName(CUSTOM);
|
configuration.setName(CUSTOM);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (PlotConfigurationListener<C> listener : configurationListeners) {
|
||||||
|
listener.onPlotConfigurationChanged(configuration);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setDefaultConfiguration(C newConfiguration) {
|
protected void setDefaultConfiguration(C newConfiguration) {
|
||||||
@ -341,4 +348,12 @@ public class PlotPanel<T extends DataType & Groupable<G>,
|
|||||||
updatePlots();
|
updatePlots();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addPlotConfigurationListener(PlotConfigurationListener<C> listener) {
|
||||||
|
this.configurationListeners.add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface PlotConfigurationListener<C extends PlotConfiguration<?, ?>> {
|
||||||
|
void onPlotConfigurationChanged(C newConfiguration);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user