package jetbrains.mps.lang.smodel.editor; /*Generated by MPS */ import jetbrains.mps.lang.editor.generator.internal.AbstractCellMenuComponent; import jetbrains.mps.nodeEditor.cellMenu.SubstituteInfoPartExt; import jetbrains.mps.lang.editor.generator.internal.AbstractCellMenuPart_Generic_Group; import java.util.List; import org.jetbrains.mps.openapi.model.SNode; import jetbrains.mps.smodel.IOperationContext; import jetbrains.mps.openapi.editor.EditorContext; import jetbrains.mps.util.IterableUtil; import jetbrains.mps.smodel.ModuleRepositoryFacade; import org.jetbrains.mps.openapi.model.SModel; import jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations; import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory; import jetbrains.mps.util.NameUtil; import jetbrains.mps.smodel.SModelStereotype; import jetbrains.mps.editor.runtime.selection.SelectionUtil; public class ModelReferenceCompletion extends AbstractCellMenuComponent { public ModelReferenceCompletion() { super(new SubstituteInfoPartExt[]{new ModelReferenceCompletion.ModelReferenceExpression_generic_cellMenu_fkcdzz_a0()}); } public static class ModelReferenceExpression_generic_cellMenu_fkcdzz_a0 extends AbstractCellMenuPart_Generic_Group { public ModelReferenceExpression_generic_cellMenu_fkcdzz_a0() { } public List<?> createParameterObjects(SNode node, IOperationContext operationContext, EditorContext editorContext) { return IterableUtil.asList(new ModuleRepositoryFacade(editorContext.getRepository()).getAllModels()); } protected void handleAction(Object parameterObject, SNode node, SModel model, IOperationContext operationContext, EditorContext editorContext) { this.handleAction_impl((SModel) parameterObject, node, model, operationContext, editorContext); } public void handleAction_impl(SModel parameterObject, SNode node, SModel model, IOperationContext operationContext, EditorContext editorContext) { SPropertyOperations.set(node, MetaAdapterFactory.getProperty(0x7866978ea0f04cc7L, 0x81bc4d213d9375e1L, 0x7c3f2da20e92b62L, 0x7c3f2da20e92b66L, "name"), NameUtil.getModelLongName(parameterObject)); SPropertyOperations.set(node, MetaAdapterFactory.getProperty(0x7866978ea0f04cc7L, 0x81bc4d213d9375e1L, 0x7c3f2da20e92b62L, 0x7c3f2da20e93b6fL, "stereotype"), SModelStereotype.getStereotype(parameterObject)); SelectionUtil.selectLabelCellAnSetCaret(editorContext, node, "FQName", -1); } public boolean isReferentPresentation() { return false; } public String getMatchingText(Object parameterObject) { return this.getMatchingText_internal((SModel) parameterObject); } public String getMatchingText_internal(SModel parameterObject) { return parameterObject.getModelName(); } } }