| package com.intellij.codeInspection.ex; |
| |
| import com.intellij.codeInsight.daemon.HighlightDisplayKey; |
| import com.intellij.codeInsight.intention.IntentionAction; |
| import com.intellij.openapi.editor.Editor; |
| import com.intellij.openapi.project.Project; |
| import com.intellij.openapi.util.Computable; |
| import com.intellij.openapi.util.Iconable; |
| import com.intellij.psi.PsiFile; |
| import com.intellij.util.IncorrectOperationException; |
| import org.jetbrains.annotations.NotNull; |
| |
| import javax.swing.*; |
| |
| public class CustomEditInspectionToolsSettingsAction implements IntentionAction, Iconable { |
| private final EditInspectionToolsSettingsAction myEditInspectionToolsSettingsAction; // we delegate due to priority |
| private final Computable<String> myText; |
| |
| public CustomEditInspectionToolsSettingsAction(HighlightDisplayKey displayKey, Computable<String> text) { |
| myEditInspectionToolsSettingsAction = new EditInspectionToolsSettingsAction(displayKey); |
| myText = text; |
| } |
| |
| @NotNull |
| @Override |
| public String getText() { |
| return myText.compute(); |
| } |
| |
| @NotNull |
| @Override |
| public String getFamilyName() { |
| return myEditInspectionToolsSettingsAction.getFamilyName(); |
| } |
| |
| @Override |
| public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) { |
| return myEditInspectionToolsSettingsAction.isAvailable(project, editor, file); |
| } |
| |
| @Override |
| public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException { |
| myEditInspectionToolsSettingsAction.invoke(project, editor, file); |
| } |
| |
| @Override |
| public boolean startInWriteAction() { |
| return myEditInspectionToolsSettingsAction.startInWriteAction(); |
| } |
| |
| @Override |
| public Icon getIcon(@IconFlags int flags) { |
| return myEditInspectionToolsSettingsAction.getIcon(flags); |
| } |
| } |