package org.angularjs;
import com.intellij.openapi.options.ConfigurationException;
import com.intellij.openapi.options.SearchableConfigurable;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
/**
* Created by johnlindquist on 9/23/13.
*/
public class AngularJSConfigurationPage implements SearchableConfigurable {
private JCheckBox includeWhitespaceBetweenBracesCheckBox;
private JPanel myPanel;
private JCheckBox enableAutomaticBraceInsertionCheckBox;
@NotNull
@Override
public String getId() {
return "editor.preferences.AngularJS";
}
@Nullable
@Override
public Runnable enableSearch(String option) {
return null;
}
@Nls
@Override
public String getDisplayName() {
return "AngularJS";
}
@Nullable
@Override
public String getHelpTopic() {
return null;
}
@Nullable
@Override
public JComponent createComponent() {
includeWhitespaceBetweenBracesCheckBox.setSelected(AngularJSConfig.object$.getWhiteSpace());
includeWhitespaceBetweenBracesCheckBox.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent itemEvent) {
boolean selected = includeWhitespaceBetweenBracesCheckBox.isSelected();
AngularJSConfig.object$.setWhiteSpace(selected);
}
});
enableAutomaticBraceInsertionCheckBox.setSelected(AngularJSConfig.object$.getBraceEnabled());
enableAutomaticBraceInsertionCheckBox.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent itemEvent) {
boolean selected = enableAutomaticBraceInsertionCheckBox.isSelected();
AngularJSConfig.object$.setBraceEnabled(selected);
}
});
return myPanel;
}
@Override
public boolean isModified() {
return false;
}
@Override
public void apply() throws ConfigurationException {
}
@Override
public void reset() {
}
@Override
public void disposeUIResources() {
}
}