gpt4 book ai didi

java - 扩展 GMF 编辑器以进行定制

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

我需要为使用 GMF 创建的编辑器自定义生成的代码。例如,我需要在编辑器中选择节点时添加一个弹出框,我需要在用作编辑器 Canvas 的空白区域中添加文本。我知道这些编辑需要手动完成。有人可以告诉我如何做上述事情吗?或者可能向我指出用于扩展 GMF 编辑器和自定义它们的资源?

最佳答案

有几个选项可用于在选择或悬停时提供弹出窗口。不确定空白处的文字是什么意思......也许你可以澄清这一点。启用弹出栏的最简单方法是在您希望显示弹出栏的编辑部分上安装 org.eclipse.gmf.runtime.diagram.ui.editpolicies.PopupbarEditPolicy。当您的鼠标光标进入图形并且鼠标在图形内保持空闲一秒钟或类似的情况时,此编辑策略会显示一个弹出栏。认为它会在选择形状时显示。请使用 GMF 运行时逻辑示例图编辑器来了解我在说什么。您可以根据自己的喜好定制此编辑策略,然后通过 #createDefaultEditPolicies() 方法安装在适用的编辑部分上。以下是示例:

installEditPolicy(EditPolicyRoles.POPUPBAR_ROLE, new PopupBarEditPolicy());

请参阅 org.eclipse.gmf.runtime.emf.ui.modelingAssistantProviders 以向弹出栏提供操作。 (示例为 org.eclipse.gmf.examples.runtime.diagram.logic/plugin.xml)

如果这太复杂,请尝试子类化 ShapeResizableEditPolicy 并重写 showSelection() 和 hideSelection() 方法以严格添加弹出窗口以供选择。复杂的是,您可能需要覆盖 SelectionEditPolicy 的其他子类,具体取决于 EditPolicy.PRIMARY_DRAG_ROLE 下安装的内容,并且还要小​​心添加弹出图形的图形层。

此外,您可以将 SelectionListener 添加到 GraphicalViewer,然后尝试根据所选内容添加/删除弹出图形,但我不推荐此解决方案。

希望这有帮助。

关于java - 扩展 GMF 编辑器以进行定制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24437351/

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