【问题标题】:Accessing EMF model instance in custom editor dialog在自定义编辑器对话框中访问 EMF 模型实例
【发布时间】:2023-03-31 00:17:01
【问题描述】:

我有一个关于 Eclipse 建模框架的问题。我指定了一个 EMF 模型,并使用 EMF 为其创建了相应的编辑器。现在我想以对话框和向导的形式向这个编辑器添加自定义功能。为此,我在编辑器的 plugin.xml 中定义了上下文菜单组和项目,以允许用户调用这些对话框/向导。在编辑器的演示包中,我为对话框/向导创建了新类。

我现在的问题是,如何在这些对话框/向导中访问用户当前正在处理的模型?例如,将模型的某些部分加载到对话框/向导中并让用户更改它是必需的。

我对此进行了研究,但找不到足够的答案。我遇到了编辑域作为一种可以通过“编辑器”使用的机制。getEditingDomain().getResourceSet().getResources().get(0).getContents().get(0);但是在这里我不知道从哪里获得“编辑器”部分(我猜是编辑器的实例?)。

我很高兴得到一些关于如何进行的提示。

干杯,

埃里克

【问题讨论】:

    标签: model eclipse-plugin eclipse-emf


    【解决方案1】:

    如果您使用的是 JFace,则可以实现 ISelectionChangedListener 以在用户选择模型中的某些内容时触发一个方法。这会将 SelectionChangedEvent 传递给 selectionChanged 方法。从那里,您可以使用 event.getSelection(); 将用户的当前选择作为 ISelection 获取。

    希望这会有所帮助。

    【讨论】:

    • 您好 Weej,谢谢您的建议。如果我理解正确,我将使用 event.getSelection() 方法获取模型的一个(选定的)对象,并将其作为访问模型其他部分的起点?无论如何,难道没有更直接的方式来访问模型实例吗?
    猜你喜欢
    • 2011-04-18
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多