package gov.nasa.arc.mct.fastplot.settings.controls; import gov.nasa.arc.mct.fastplot.settings.PlotConfiguration; import gov.nasa.arc.mct.fastplot.settings.PlotSettingsSubPanel; import javax.swing.JCheckBox; public abstract class PlotSettingsCheckBox extends PlotSettingsSubPanel { private static final long serialVersionUID = 5485293797086854968L; private JCheckBox checkbox = new JCheckBox(); private boolean initial = false; public PlotSettingsCheckBox(String text) { checkbox.setText(text); add(checkbox); checkbox.addActionListener(this); } /* (non-Javadoc) * @see gov.nasa.arc.mct.fastplot.settings.PlotSettingsPopulator#reset(gov.nasa.arc.mct.fastplot.settings.PlotSettings) */ @Override public void reset(PlotConfiguration settings, boolean hard) { if (hard) checkbox.setSelected(initial = getFrom(settings)); } /* (non-Javadoc) * @see gov.nasa.arc.mct.fastplot.settings.PlotSettingsSubPanel#isDirty() */ @Override public boolean isDirty() { return initial != checkbox.isSelected(); } /* (non-Javadoc) * @see gov.nasa.arc.mct.fastplot.settings.PlotSettingsSubPanel#isValidated() */ @Override public boolean isValidated() { return true; } public boolean isSelected() { return checkbox.isSelected(); } public abstract boolean getFrom(PlotConfiguration settings); }