package org.intellij.sonar.configuration.module;
import static org.intellij.sonar.util.UIUtil.makeObj;
import java.util.Collection;
import javax.swing.*;
import com.intellij.openapi.project.Project;
import org.intellij.sonar.configuration.partials.LocalAnalysisScriptView;
import org.intellij.sonar.persistence.LocalAnalysisScript;
import org.intellij.sonar.persistence.LocalAnalysisScripts;
public class ModuleLocalAnalysisScriptView extends LocalAnalysisScriptView {
public ModuleLocalAnalysisScriptView(
JComboBox localAnalysisScriptComboBox,
JButton addLocalAnalysisScriptButton,
JButton editLocalAnalysisScriptButton,
JButton removeLocalAnalysisScriptButton,
Project project
) {
super(
localAnalysisScriptComboBox,
addLocalAnalysisScriptButton,
editLocalAnalysisScriptButton,
removeLocalAnalysisScriptButton,
project
);
}
protected void initComboBox() {
final Collection<LocalAnalysisScript> allScripts = LocalAnalysisScripts.getAll();
myLocalAnalysisScriptComboBox.removeAllItems();
myLocalAnalysisScriptComboBox.addItem(makeObj(LocalAnalysisScripts.PROJECT));
myLocalAnalysisScriptComboBox.addItem(makeObj(LocalAnalysisScripts.NO_LOCAL_ANALYSIS));
for (LocalAnalysisScript script : allScripts) {
myLocalAnalysisScriptComboBox.addItem(makeObj(script.getName()));
}
}
protected boolean editAndRemoveButtonsCanBeEnabled() {
final boolean isNoLocalAnalysis = LocalAnalysisScripts.NO_LOCAL_ANALYSIS.equals(
myLocalAnalysisScriptComboBox.getSelectedItem()
.toString()
);
final boolean isProject = LocalAnalysisScripts.PROJECT.equals(
myLocalAnalysisScriptComboBox.getSelectedItem()
.toString()
);
return !isNoLocalAnalysis && !isProject;
}
}