package org.jetbrains.plugins.clojure.compiler; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.project.Project; import org.jetbrains.annotations.Nls; import org.jetbrains.plugins.clojure.ClojureIcons; import javax.swing.*; /** * ilyas */ public class ClojureCompilerConfigurable implements Configurable { private JPanel myPanel; private JCheckBox myClojureBeforeCheckBox; private JCheckBox myCompileTaggedCb; private JCheckBox myCopySourcesCb; private ClojureCompilerSettings mySettings; private Project myProject; public ClojureCompilerConfigurable(ClojureCompilerSettings settings, Project project) { myProject = project; mySettings = settings; } @Nls public String getDisplayName() { return "Clojure Compiler"; } public Icon getIcon() { return ClojureIcons.CLOJURE_ICON_16x16; } public String getHelpTopic() { return null; } public JComponent createComponent() { return myPanel; } public boolean isModified() { return mySettings.getState().CLOJURE_BEFORE != myClojureBeforeCheckBox.isSelected() || mySettings.getState().COMPILE_CLOJURE != myCompileTaggedCb.isSelected() || mySettings.getState().COPY_CLJ_SOURCES != myCopySourcesCb.isSelected(); } public void apply() throws ConfigurationException { mySettings.getState().CLOJURE_BEFORE = myClojureBeforeCheckBox.isSelected(); mySettings.getState().COMPILE_CLOJURE = myCompileTaggedCb.isSelected(); mySettings.getState().COPY_CLJ_SOURCES = myCopySourcesCb.isSelected(); } public void reset() { myClojureBeforeCheckBox.setSelected(mySettings.getState().CLOJURE_BEFORE); myCompileTaggedCb.setSelected(mySettings.getState().COMPILE_CLOJURE); myCopySourcesCb.setSelected(mySettings.getState().COPY_CLJ_SOURCES); } public void disposeUIResources() { } }