package jetbrains.mps.vcs.diff.ui.common;
/*Generated by MPS */
import jetbrains.mps.workbench.action.BaseAction;
import com.intellij.openapi.project.DumbAware;
import javax.swing.Icon;
import com.intellij.icons.AllIcons;
import com.intellij.openapi.diff.DiffRequest;
import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.openapi.diff.DiffTool;
import com.intellij.openapi.actionSystem.AnActionEvent;
import java.util.Map;
import com.intellij.ide.actions.SynchronizeAction;
public class InvokeTextDiffAction extends BaseAction implements DumbAware {
private static final Icon TEXT_ICON = AllIcons.FileTypes.Text;
private DiffRequest myDiffRequest;
private DialogWrapper myDialog;
private DiffTool myDiffTool;
public InvokeTextDiffAction(String title, String description, DialogWrapper dialog, DiffRequest diffRequest, DiffTool diffTool) {
super(title, description, TEXT_ICON);
myDialog = dialog;
myDiffRequest = diffRequest;
myDiffTool = diffTool;
setDisableOnNoProject(false);
setExecuteOutsideCommand(true);
}
@Override
protected void doExecute(AnActionEvent event, Map<String, Object> map) {
if (myDiffTool.canShow(myDiffRequest)) {
myDialog.close(DialogWrapper.NEXT_USER_EXIT_CODE);
new SynchronizeAction().actionPerformed(event);
myDiffTool.show(myDiffRequest);
}
}
}