package com.jetbrains.maya; import com.intellij.openapi.Disposable; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.options.SearchableConfigurable; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Disposer; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import javax.swing.*; /** * @author traff */ public class MayaSettingsConfigurable implements SearchableConfigurable, Configurable.NoScroll, Disposable { public static final String CONSOLE_SETTINGS_HELP_REFERENCE = "reference.settings.ssh.terminal"; private MayaSettingsPanel myPanel; private final MayaSettingsProvider mySettingsProvider; private Project myProject; public MayaSettingsConfigurable(Project project) { mySettingsProvider = MayaSettingsProvider.getInstance(project); myProject = project; } @NotNull @Override public String getId() { return "maya"; } @Nls @Override public String getDisplayName() { return "Maya"; } @Override public String getHelpTopic() { return CONSOLE_SETTINGS_HELP_REFERENCE; } @Override public JComponent createComponent() { myPanel = new MayaSettingsPanel(mySettingsProvider); return myPanel.createPanel(); } @Override public boolean isModified() { return myPanel.isModified(); } @Override public void apply() throws ConfigurationException { myPanel.apply(); } @Override public void reset() { myPanel.reset(); } @Override public void disposeUIResources() { Disposer.dispose(this); } @Override public void dispose() { myPanel = null; } }