gpt4 book ai didi

java - GEF EditParts 中的直接编辑确认

转载 作者:行者123 更新时间:2023-12-01 14:09:45 24 4
gpt4 key购买 nike

简介:
我编写了一个 Eclipse 插件,其中包含一个使用 GEF 实现的编辑器。 。我的编辑器中有节点和边。节点有名称,我想通过直接编辑来编辑节点的名称。

我将直接编辑策略安装到节点编辑部分:

installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new NodeNameDirectEditPolicy());

直接编辑策略实现直接编辑命令。

问题是:要确认直接编辑,我必须按 STRG + ENTER。如果我只按 ENTER 键,直接编辑就会扩展到新行。有什么办法可以让直接编辑只需按ENTER即可确认吗?不需要多行节点名称。

最佳答案

您应该能够通过在您自己的 TextCellEditor 扩展中扩展 TextCellEditor(Compositeparent, int style) 构造函数来实现它。

然后,在 DirectEditManager 扩展类中调用 createCellEditorOn(Composite composite) 时,让它返回 new YOURTextCellEditor(composite, SWT.SINGLE).

详细地说:

您自己实现 TextCellEditor 的构造函数

public YOURTextCellEditor(Composite parent, int style) {
super(parent, style);
}

createCellEditorOn(Composite composite) 在 DirectEditManager 的实现中`

@Override
protected CellEditor createCellEditorOn(Composite composite) {
return new YOURTextCellEditor(composite, SWT.SINGLE);
}

也许检查您是否使用 SWT.MULTISWT.MULTI|SWT.WRAP 或类似的方法返回 YOURTextCellEditor 的新实例,这使文本单元格编辑器的 SWT 控件成为多行文本小部件(参见 SWT Widgets overview )。

关于java - GEF EditParts 中的直接编辑确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18623608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com