MPS 中的自定义编辑器
Custom editor in MPS
我在 Jetbrains MPS 中有一个概念,我想为其创建一个自定义编辑器。
概念有child人
对于每个 child,我想显示 child 自己的编辑器,但在它前面有一个“-”。
我不完全确定我正在尝试以正确的方式解决这个问题。
但我的第一次尝试是在 child 节点上循环自定义单元格。
我的问题是我不知道如何找到 child 节点的编辑器单元格:
我的手机提供商:
return new AbstractCellProvider(node) {
@Override
public EditorCell createEditorCell(EditorContext ctx) {
EditorCell_Collection cells = EditorCell_Collection.createVertical(ctx, node);
foreach n in node.elements {
EditorCell_Collection a = EditorCell_Collection.createHorizontal(ctx, node);
EditorCell_Label label = new EditorCell_Constant(ctx, node, "-");
a.addEditorCell(label);
cells.addEditorCell(a);
how to add the child node's editor here?
}
return cells;
}
你真正想要达到的目标是什么?一个例子可能对这里有帮助......
如果没有进一步的上下文(所以我可能会误解你的问题),我认为你可以使用 EditorComponent (https://www.jetbrains.com/help/mps/editor.html#editorcomponentsandeditorcomponentcells) 作为原始编辑器,然后使用“-”常量制作一个编辑器,后跟 EditorComponent 以达到预期效果.
我在 Jetbrains MPS 中有一个概念,我想为其创建一个自定义编辑器。
概念有child人
对于每个 child,我想显示 child 自己的编辑器,但在它前面有一个“-”。
我不完全确定我正在尝试以正确的方式解决这个问题。
但我的第一次尝试是在 child 节点上循环自定义单元格。
我的问题是我不知道如何找到 child 节点的编辑器单元格:
我的手机提供商:
return new AbstractCellProvider(node) {
@Override
public EditorCell createEditorCell(EditorContext ctx) {
EditorCell_Collection cells = EditorCell_Collection.createVertical(ctx, node);
foreach n in node.elements {
EditorCell_Collection a = EditorCell_Collection.createHorizontal(ctx, node);
EditorCell_Label label = new EditorCell_Constant(ctx, node, "-");
a.addEditorCell(label);
cells.addEditorCell(a);
how to add the child node's editor here?
}
return cells;
}
你真正想要达到的目标是什么?一个例子可能对这里有帮助...... 如果没有进一步的上下文(所以我可能会误解你的问题),我认为你可以使用 EditorComponent (https://www.jetbrains.com/help/mps/editor.html#editorcomponentsandeditorcomponentcells) 作为原始编辑器,然后使用“-”常量制作一个编辑器,后跟 EditorComponent 以达到预期效果.