package jetbrains.mps.baseLanguage.lightweightdsl.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.nodeEditor.cells.EditorCell_Label; import jetbrains.mps.nodeEditor.cells.EditorCell_Constant; import jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations; import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory; import jetbrains.mps.nodeEditor.cellMenu.CompositeSubstituteInfo; import jetbrains.mps.nodeEditor.cellMenu.BasicCellContext; import jetbrains.mps.nodeEditor.cellMenu.SubstituteInfoPartExt; import jetbrains.mps.editor.runtime.cells.BigCellUtil; import jetbrains.mps.openapi.editor.style.Style; import jetbrains.mps.editor.runtime.style.StyleImpl; import jetbrains.mps.baseLanguage.editor.BaseLanguageStyle_StyleSheet.CommentStyleClass; import jetbrains.mps.editor.runtime.style.StyleAttributes; /*package*/ class MemberPlaceholder_EditorBuilder_a extends AbstractEditorBuilder { @NotNull private SNode myNode; public MemberPlaceholder_EditorBuilder_a(@NotNull EditorContext context, @NotNull SNode node) { super(context); myNode = node; } @NotNull @Override public SNode getNode() { return myNode; } /*package*/ EditorCell createCell() { return createCustom_9j55p5_a(); } private EditorCell createCustom_9j55p5_a() { AbstractCellProvider provider = new _FunctionTypes._return_P0_E0<AbstractCellProvider>() { public AbstractCellProvider invoke() { return new AbstractCellProvider(myNode) { public EditorCell createEditorCell(EditorContext context) { EditorCell_Label cell = new EditorCell_Constant(context, myNode, ""); cell.setDefaultText(SPropertyOperations.getString(myNode, MetaAdapterFactory.getProperty(0xc7d5b9dda05f4be2L, 0xbc73f2e16994cc67L, 0x59e9926e840d7db2L, 0x59e9926e840d7db3L, "caption"))); cell.setSelectable(true); cell.setSubstituteInfo(new CompositeSubstituteInfo(getEditorContext(), new BasicCellContext(myNode), new SubstituteInfoPartExt[]{new ClassLikeMemberPlaceholderMenu()})); // this is a dirty hack. TODO remove this code when MPS-22216 is fixed Placeholder2RealObject.setCellActions(cell, myNode, context); return cell; } }; } }.invoke(); EditorCell editorCell = provider.createEditorCell(getEditorContext()); editorCell.setCellId("Custom_9j55p5_a"); EditorCell bigCell = BigCellUtil.findBigCell(editorCell, getNode()); if (bigCell != null) { bigCell.setBig(true); bigCell.setCellContext(getCellFactory().getCellContext()); } Style style = new StyleImpl(); new CommentStyleClass(getEditorContext(), getNode()).apply(style, editorCell); style.set(StyleAttributes.SELECTABLE, true); editorCell.getStyle().putAll(style); return editorCell; } }