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); } } }