package com.thoughtworks.gauge.settings; import com.intellij.openapi.options.ConfigurationException; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.Nullable; import javax.swing.*; public class GaugeSettings implements com.intellij.openapi.options.Configurable { private GaugeConfig gaugeConfig = new GaugeConfig(); private GaugeSettingsModel model; @Nls @Override public String getDisplayName() { return "Gauge"; } @Nullable @Override public String getHelpTopic() { return null; } @Nullable @Override public JComponent createComponent() { model = GaugeSettingsService.getSettings(); gaugeConfig.setValues(model); return gaugeConfig.getComponent(); } @Override public boolean isModified() { return !model.equals(gaugeConfig.getValues()); } @Override public void apply() throws ConfigurationException { model = gaugeConfig.getValues(); GaugeSettingsService.getService().loadState(model); } @Override public void reset() { gaugeConfig.setValues(model); } }