package jetbrains.mps.baseLanguage.javadoc.editor;
/*Generated by MPS */
import jetbrains.mps.editor.runtime.descriptor.AbstractEditorBuilder;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.openapi.editor.EditorContext;
import jetbrains.mps.openapi.editor.cells.EditorCell;
import jetbrains.mps.nodeEditor.cells.EditorCell_Constant;
import jetbrains.mps.openapi.editor.style.Style;
import jetbrains.mps.editor.runtime.style.StyleImpl;
import jetbrains.mps.editor.runtime.style.StyleAttributes;
import jetbrains.mps.nodeEditor.cellMenu.CompositeSubstituteInfo;
import jetbrains.mps.nodeEditor.cellMenu.BasicCellContext;
import jetbrains.mps.nodeEditor.cellMenu.SubstituteInfoPartExt;
import jetbrains.mps.nodeEditor.cellMenu.SChildSubstituteInfoPartEx;
import jetbrains.mps.lang.editor.generator.internal.AbstractCellMenuPart_ReplaceNode_CustomNodeConcept;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
import jetbrains.mps.lang.editor.generator.internal.AbstractCellMenuPart_Generic_Item;
import org.jetbrains.mps.openapi.model.SModel;
import jetbrains.mps.smodel.IOperationContext;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations;
import jetbrains.mps.baseLanguage.behavior.IBLDeprecatable__BehaviorDescriptor;
import jetbrains.mps.internal.collections.runtime.ListSequence;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SLinkOperations;
import jetbrains.mps.internal.collections.runtime.IWhereFilter;
/*package*/ class EmptyBlockDocTag_EditorBuilder_a extends AbstractEditorBuilder {
@NotNull
private SNode myNode;
public EmptyBlockDocTag_EditorBuilder_a(@NotNull EditorContext context, @NotNull SNode node) {
super(context);
myNode = node;
}
@NotNull
@Override
public SNode getNode() {
return myNode;
}
/*package*/ EditorCell createCell() {
return createConstant_4ui9jp_a();
}
private EditorCell createConstant_4ui9jp_a() {
EditorCell_Constant editorCell = new EditorCell_Constant(getEditorContext(), myNode, "");
editorCell.setCellId("Constant_4ui9jp_a");
editorCell.setBig(true);
editorCell.setCellContext(getCellFactory().getCellContext());
Style style = new StyleImpl();
style.set(StyleAttributes.EDITABLE, true);
editorCell.getStyle().putAll(style);
DeleteEmptyBlockDocTag.setCellActions(editorCell, myNode, getEditorContext());
editorCell.setDefaultText("");
editorCell.setSubstituteInfo(new CompositeSubstituteInfo(getEditorContext(), new BasicCellContext(myNode), new SubstituteInfoPartExt[]{new EmptyBlockDocTag_EditorBuilder_a.ReplaceWith_AuthorBlockDocTag_cellMenu_4ui9jp_a0a(), new EmptyBlockDocTag_EditorBuilder_a.ReplaceWith_ParameterBlockDocTag_cellMenu_4ui9jp_b0a(), new EmptyBlockDocTag_EditorBuilder_a.ReplaceWith_ReturnBlockDocTag_cellMenu_4ui9jp_c0a(), new EmptyBlockDocTag_EditorBuilder_a.ReplaceWith_SeeBlockDocTag_cellMenu_4ui9jp_d0a(), new EmptyBlockDocTag_EditorBuilder_a.ReplaceWith_VersionBlockDocTag_cellMenu_4ui9jp_e0a(), new EmptyBlockDocTag_EditorBuilder_a.ReplaceWith_SinceBlockDocTag_cellMenu_4ui9jp_f0a(), new EmptyBlockDocTag_EditorBuilder_a.ReplaceWith_ThrowsBlockDocTag_cellMenu_4ui9jp_g0a(), new EmptyBlockDocTag_EditorBuilder_a.EmptyBlockDocTag_generic_cellMenu_4ui9jp_h0a(), new SChildSubstituteInfoPartEx(editorCell)}));
return editorCell;
}
public static class ReplaceWith_AuthorBlockDocTag_cellMenu_4ui9jp_a0a extends AbstractCellMenuPart_ReplaceNode_CustomNodeConcept {
public ReplaceWith_AuthorBlockDocTag_cellMenu_4ui9jp_a0a() {
}
public SAbstractConcept getReplacementConcept() {
return MetaAdapterFactory.getConcept(0xf280165065d5424eL, 0xbb1b463a8781b786L, 0x4a3c146b7faee13eL, "jetbrains.mps.baseLanguage.javadoc.structure.AuthorBlockDocTag");
}
}
public static class ReplaceWith_ParameterBlockDocTag_cellMenu_4ui9jp_b0a extends AbstractCellMenuPart_ReplaceNode_CustomNodeConcept {
public ReplaceWith_ParameterBlockDocTag_cellMenu_4ui9jp_b0a() {
}
public SAbstractConcept getReplacementConcept() {
return MetaAdapterFactory.getConcept(0xf280165065d5424eL, 0xbb1b463a8781b786L, 0x757ba20a4c905f8aL, "jetbrains.mps.baseLanguage.javadoc.structure.ParameterBlockDocTag");
}
}
public static class ReplaceWith_ReturnBlockDocTag_cellMenu_4ui9jp_c0a extends AbstractCellMenuPart_ReplaceNode_CustomNodeConcept {
public ReplaceWith_ReturnBlockDocTag_cellMenu_4ui9jp_c0a() {
}
public SAbstractConcept getReplacementConcept() {
return MetaAdapterFactory.getConcept(0xf280165065d5424eL, 0xbb1b463a8781b786L, 0x514c0f687050918eL, "jetbrains.mps.baseLanguage.javadoc.structure.ReturnBlockDocTag");
}
}
public static class ReplaceWith_SeeBlockDocTag_cellMenu_4ui9jp_d0a extends AbstractCellMenuPart_ReplaceNode_CustomNodeConcept {
public ReplaceWith_SeeBlockDocTag_cellMenu_4ui9jp_d0a() {
}
public SAbstractConcept getReplacementConcept() {
return MetaAdapterFactory.getConcept(0xf280165065d5424eL, 0xbb1b463a8781b786L, 0x1ec532ec252ca3abL, "jetbrains.mps.baseLanguage.javadoc.structure.SeeBlockDocTag");
}
}
public static class ReplaceWith_VersionBlockDocTag_cellMenu_4ui9jp_e0a extends AbstractCellMenuPart_ReplaceNode_CustomNodeConcept {
public ReplaceWith_VersionBlockDocTag_cellMenu_4ui9jp_e0a() {
}
public SAbstractConcept getReplacementConcept() {
return MetaAdapterFactory.getConcept(0xf280165065d5424eL, 0xbb1b463a8781b786L, 0x757ba20a4c87dda0L, "jetbrains.mps.baseLanguage.javadoc.structure.VersionBlockDocTag");
}
}
public static class ReplaceWith_SinceBlockDocTag_cellMenu_4ui9jp_f0a extends AbstractCellMenuPart_ReplaceNode_CustomNodeConcept {
public ReplaceWith_SinceBlockDocTag_cellMenu_4ui9jp_f0a() {
}
public SAbstractConcept getReplacementConcept() {
return MetaAdapterFactory.getConcept(0xf280165065d5424eL, 0xbb1b463a8781b786L, 0x757ba20a4c87ddadL, "jetbrains.mps.baseLanguage.javadoc.structure.SinceBlockDocTag");
}
}
public static class ReplaceWith_ThrowsBlockDocTag_cellMenu_4ui9jp_g0a extends AbstractCellMenuPart_ReplaceNode_CustomNodeConcept {
public ReplaceWith_ThrowsBlockDocTag_cellMenu_4ui9jp_g0a() {
}
public SAbstractConcept getReplacementConcept() {
return MetaAdapterFactory.getConcept(0xf280165065d5424eL, 0xbb1b463a8781b786L, 0x514c0f68704ec270L, "jetbrains.mps.baseLanguage.javadoc.structure.ThrowsBlockDocTag");
}
}
public static class EmptyBlockDocTag_generic_cellMenu_4ui9jp_h0a extends AbstractCellMenuPart_Generic_Item {
public EmptyBlockDocTag_generic_cellMenu_4ui9jp_h0a() {
}
public void handleAction(SNode node, SModel model, IOperationContext operationContext, EditorContext editorContext) {
SNode comment = SNodeOperations.cast(SNodeOperations.getParent(node), MetaAdapterFactory.getConcept(0xf280165065d5424eL, 0xbb1b463a8781b786L, 0x4a3c146b7fae70d3L, "jetbrains.mps.baseLanguage.javadoc.structure.BaseDocComment"));
IBLDeprecatable__BehaviorDescriptor.markDeprecated_id6Va_BJexupi.invoke(SNodeOperations.getNodeAncestor(comment, MetaAdapterFactory.getInterfaceConcept(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11d2ea8a339L, "jetbrains.mps.baseLanguage.structure.IBLDeprecatable"), false, false));
SNodeOperations.deleteNode(node);
editorContext.selectWRTFocusPolicy(ListSequence.fromList(SLinkOperations.getChildren(comment, MetaAdapterFactory.getContainmentLink(0xf280165065d5424eL, 0xbb1b463a8781b786L, 0x4a3c146b7fae70d3L, 0x4ab5c2019ddc99f3L, "tags"))).where(new IWhereFilter<SNode>() {
public boolean accept(SNode it) {
return SNodeOperations.isInstanceOf(it, MetaAdapterFactory.getConcept(0xf280165065d5424eL, 0xbb1b463a8781b786L, 0x757ba20a4c87f964L, "jetbrains.mps.baseLanguage.javadoc.structure.DeprecatedBlockDocTag"));
}
}).first());
}
public String getMatchingText() {
return "@deprecated";
}
}
}