package org.typowriter.intellij.plugins.backgroundchibichara; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.ConfigurationException; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; public class BackgroundChibiCharaConfigurable implements Configurable { private BackgroundChibiCharaApplicationSettings myBackgroundChibiApplicationSeetings; @Nullable private BackgroundChibiCharaSettingsForm form = null; BackgroundChibiCharaConfigurable(BackgroundChibiCharaApplicationSettings settings) { myBackgroundChibiApplicationSeetings = settings; } @Nls @Override public String getDisplayName() { return "BackgroundChibiChara"; } @Nullable @Override public String getHelpTopic() { return null; } @Nullable @Override public JComponent createComponent() { return getForm().getComponent(); } @Override public boolean isModified() { return !myBackgroundChibiApplicationSeetings.getSettings().equals(getForm().getSettings()); } @Override public void apply() throws ConfigurationException { myBackgroundChibiApplicationSeetings.updateSettings(getForm().getSettings()); } @Override public void reset() { getForm().setSettings(myBackgroundChibiApplicationSeetings.getSettings()); } @Override public void disposeUIResources() { form = null; } @NotNull public BackgroundChibiCharaSettingsForm getForm() { if (form == null) { form = new BackgroundChibiCharaSettingsForm(); } return form; } }