// Copyright © 2010, Esko Luontola <www.orfjackal.net>
// This software is released under the Apache License 2.0.
// The license text is at http://www.apache.org/licenses/LICENSE-2.0
package net.orfjackal.sbt.plugin.settings;
import com.intellij.openapi.options.*;
import net.orfjackal.sbt.plugin.MessageBundle;
import javax.swing.*;
public class SbtConfigurable implements Configurable {
// org.jetbrains.idea.maven.utils.MavenSettings
// org.jetbrains.idea.maven.project.MavenImportingConfigurable
private final SbtProjectSettingsComponent projectSettings;
private final SbtApplicationSettingsComponent applicationSettings;
private final SbtSettingsForm settingsForm = new SbtSettingsForm();
public SbtConfigurable(SbtProjectSettingsComponent projectSettings, SbtApplicationSettingsComponent applicationSettings) {
this.projectSettings = projectSettings;
this.applicationSettings = applicationSettings;
}
public String getDisplayName() {
return MessageBundle.message("sbt.config.title");
}
public Icon getIcon() {
return null;
}
public String getHelpTopic() {
return null;
}
public JComponent createComponent() {
return settingsForm.createComponent();
}
public boolean isModified() {
return settingsForm.isModified(projectSettings.getState(), applicationSettings.getState());
}
public void apply() throws ConfigurationException {
settingsForm.copyTo(projectSettings.getState(), applicationSettings.getState());
}
public void reset() {
settingsForm.copyFrom(projectSettings.getState(), applicationSettings.getState());
}
public void disposeUIResources() {
}
}