// Copyright 2014 Pants project contributors (see CONTRIBUTORS.md).
// Licensed under the Apache License, Version 2.0 (see LICENSE).
package com.twitter.intellij.pants.settings;
import com.intellij.openapi.externalSystem.service.settings.AbstractExternalSystemConfigurable;
import com.intellij.openapi.externalSystem.util.ExternalSystemSettingsControl;
import com.intellij.openapi.project.Project;
import com.twitter.intellij.pants.util.PantsConstants;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class PantsConfigurable extends AbstractExternalSystemConfigurable<PantsProjectSettings, PantsSettingsListener, PantsSettings> {
public PantsConfigurable(@NotNull Project project) {
super(project, PantsConstants.SYSTEM_ID);
}
@NotNull
@Override
protected ExternalSystemSettingsControl<PantsProjectSettings> createProjectSettingsControl(@NotNull PantsProjectSettings settings) {
return new PantsProjectSettingsControl(settings);
}
@Nullable
@Override
protected ExternalSystemSettingsControl<PantsSettings> createSystemSettingsControl(@NotNull PantsSettings settings) {
return new PantsSystemSettingsControl();
}
@NotNull
@Override
protected PantsProjectSettings newProjectSettings() {
return new PantsProjectSettings();
}
@NotNull
@Override
public String getId() {
return "reference.settingsdialog.project.pants";
}
@Nullable
@Override
public String getHelpTopic() {
return null;
}
}