package jetbrains.mps.ide.actions;
/*Generated by MPS */
import jetbrains.mps.workbench.action.BaseAction;
import javax.swing.Icon;
import org.jetbrains.mps.openapi.model.SNodeReference;
import org.jetbrains.annotations.NotNull;
import com.intellij.openapi.actionSystem.AnActionEvent;
import java.util.Map;
import jetbrains.mps.project.MPSProject;
import jetbrains.mps.openapi.navigation.EditorNavigator;
public class EditGivenNode_Action extends BaseAction {
private static final Icon ICON = null;
private SNodeReference targetNode;
private String text;
public EditGivenNode_Action(SNodeReference targetNode_par, String text_par) {
super("<no caption>", "", ICON);
this.targetNode = targetNode_par;
this.text = text_par;
this.setIsAlwaysVisible(false);
this.setExecuteOutsideCommand(true);
}
@Override
public boolean isDumbAware() {
return true;
}
@Override
public void doUpdate(@NotNull AnActionEvent event, final Map<String, Object> _params) {
event.getPresentation().setText(EditGivenNode_Action.this.text);
}
@Override
protected boolean collectActionData(AnActionEvent event, final Map<String, Object> _params) {
if (!(super.collectActionData(event, _params))) {
return false;
}
{
MPSProject p = event.getData(MPSCommonDataKeys.MPS_PROJECT);
if (p == null) {
return false;
}
}
return true;
}
@Override
public void doExecute(@NotNull final AnActionEvent event, final Map<String, Object> _params) {
new EditorNavigator(event.getData(MPSCommonDataKeys.MPS_PROJECT)).shallFocus(true).shallSelect(true).open(EditGivenNode_Action.this.targetNode);
}
@NotNull
public String getActionId() {
StringBuilder res = new StringBuilder();
res.append(super.getActionId());
res.append("#");
res.append(targetNode_State((SNodeReference) this.targetNode));
res.append("!");
res.append(text_State((String) this.text));
res.append("!");
return res.toString();
}
public static String targetNode_State(SNodeReference object) {
return object.toString();
}
public static String text_State(String object) {
return "";
}
}