package com.jetbrains.actionscript.profiler;
import com.intellij.openapi.options.ConfigurationException;
import com.intellij.openapi.options.SearchableConfigurable;
import com.jetbrains.actionscript.profiler.model.ActionScriptProfileSettings;
import com.jetbrains.actionscript.profiler.ui.ActionScriptProfileSettingsForm;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
/**
* @author: Fedor.Korotkov
*/
public class ActionScriptProfileSettingsConfigurable implements SearchableConfigurable {
private final ActionScriptProfileSettings mySettings = ActionScriptProfileSettings.getInstance();
private ActionScriptProfileSettingsForm mySettingsPane;
public String getDisplayName() {
return ProfilerBundle.message("profile.settings.name");
}
@NotNull
public String getId() {
return "asprofile.settings";
}
public String getHelpTopic() {
return null;
}
public JComponent createComponent() {
if (mySettingsPane == null) {
mySettingsPane = new ActionScriptProfileSettingsForm();
}
reset();
return mySettingsPane.getPanel();
}
public boolean isModified() {
return mySettingsPane != null && mySettingsPane.isModified(mySettings);
}
public void apply() throws ConfigurationException {
if (mySettingsPane != null) {
mySettingsPane.applyEditorTo(mySettings);
}
}
public void reset() {
if (mySettingsPane != null) {
mySettingsPane.resetEditorFrom(mySettings);
}
}
public void disposeUIResources() {
mySettingsPane = null;
}
}