package jetbrains.mps.workbench.dialogs.project.components.parts.actions;
/*Generated by MPS */
import jetbrains.mps.util.annotation.ToRemove;
import com.intellij.openapi.actionSystem.AnAction;
import javax.swing.Icon;
import com.intellij.openapi.actionSystem.AnActionEvent;
/**
*
* @deprecated action framework of dubious value and of single use (in mps.execution.lib.ui)
*/
@Deprecated
@ToRemove(version = 3.3)
public abstract class BaseValidatedAction extends AnAction {
private Runnable myValidator;
@Deprecated
protected BaseValidatedAction(String text, String description, Icon icon) {
super(text, description, icon);
}
@Override
public final void actionPerformed(AnActionEvent e) {
doPerform(e);
if (myValidator != null) {
myValidator.run();
}
}
public final void setValidator(Runnable validator) {
myValidator = validator;
}
protected abstract void doPerform(AnActionEvent e);
}