package jetbrains.mps.baseLanguage.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.AbstractCellProvider; import jetbrains.mps.baseLanguage.closures.runtime._FunctionTypes; import jetbrains.mps.openapi.editor.cells.EditorCell_Collection; import jetbrains.mps.nodeEditor.cells.EditorCell_Constant; import jetbrains.mps.lang.smodel.generator.smodelAdapter.SConceptOperations; import jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations; import org.jetbrains.mps.openapi.language.SConcept; import jetbrains.mps.baseLanguage.behavior.ConceptFunction__BehaviorDescriptor; import jetbrains.mps.editor.runtime.cells.BigCellUtil; /*package*/ class ConceptFunction_InspectorBuilder_a extends AbstractEditorBuilder { @NotNull private SNode myNode; public ConceptFunction_InspectorBuilder_a(@NotNull EditorContext context, @NotNull SNode node) { super(context); myNode = node; } @NotNull @Override public SNode getNode() { return myNode; } /*package*/ EditorCell createCell() { return createCustom_qilpva_a(); } private EditorCell createCustom_qilpva_a() { AbstractCellProvider provider = new _FunctionTypes._return_P0_E0<AbstractCellProvider>() { public AbstractCellProvider invoke() { return new AbstractCellProvider(myNode) { @Override public EditorCell createEditorCell(EditorContext context) { EditorCell_Collection collection = jetbrains.mps.nodeEditor.cells.EditorCell_Collection.createVertical(context, myNode); collection.addEditorCell(new EditorCell_Constant(context, myNode, "Concept function help:")); if (SConceptOperations.shortDescription(SNodeOperations.getConcept(myNode)) != null) { collection.addEditorCell(new EditorCell_Constant(context, myNode, SConceptOperations.shortDescription(SNodeOperations.getConcept(myNode)))); } collection.addEditorCell(new EditorCell_Constant(context, myNode, "")); collection.addEditorCell(new EditorCell_Constant(context, myNode, "Parameter help:")); for (SConcept cfp : ConceptFunction__BehaviorDescriptor.getParameterConcepts_id2xELmDxyi2v.invoke(myNode)) { String alias = SConceptOperations.conceptAlias(cfp); String description = SConceptOperations.shortDescription(cfp); if (description == null) { description = "<no help. use conceptShortDescription concept function property to create one>"; } EditorCell_Constant message = new EditorCell_Constant(context, myNode, alias + " : " + description); collection.addEditorCell(message); } return collection; } }; } }.invoke(); EditorCell editorCell = provider.createEditorCell(getEditorContext()); editorCell.setCellId("Custom_qilpva_a"); EditorCell bigCell = BigCellUtil.findBigCell(editorCell, getNode()); if (bigCell != null) { bigCell.setBig(true); bigCell.setCellContext(getCellFactory().getCellContext()); } return editorCell; } }